63cf4bd6cf9a7f6f38ba3c946addf7f7ebc6fffc
[ccsdk/cds.git] / cds-ui / designer-client / src / app / modules / feature-modules / packages / designer / action-attributes / action-attributes.component.html
1 <div class="scrollWrapper">
2     <div class="row m-0">
3         <div class="col">
4             <div class="form-group">
5                 <label for="exampleInputEmail1">Action Name</label>
6                 <input type="text" class="form-control" placeholder="Action Name" value="resource-assignment">
7             </div>
8         </div>
9     </div>
10     <!--Add Attribute-->
11     <div class="row m-b add-attribute">
12         <div class="col">
13             <h5>Add Attribute</h5>
14             <div class="row">
15                 <div class="col pr-0 text-center">
16                     <button type="button" data-toggle="modal" data-target="#exampleModalScrollable"
17                         class="btn btn-secondary"><i class="icon-custom-attribute" type="button"
18                             aria-hidden="true"></i></button>
19                     <span>Custom Attribute</span>
20                 </div>
21                 <div class="col text-center">
22                     <button type="button" class="btn btn-secondary"><i class="icon-function-attribute" type="button"
23                             aria-hidden="true"></i></button>
24                     <span>Function Attribute</span>
25                 </div>
26             </div>
27         </div>
28     </div>
29     <!--INPUTS-->
30     <div class="accordion" id="accordionExample">
31         <div class="card">
32             <div class="card-header" id="headingOne">
33                 <h2 class="mb-0">
34                     <button class="btn btn-link" type="button" data-toggle="collapse" data-target="#collapseOne"
35                         aria-expanded="true" aria-controls="collapseOne">
36                         Inputs
37                     </button>
38                 </h2>
39             </div>
40             <div id="collapseOne" class="collapse show" aria-labelledby="headingOne" data-parent="#accordionExample">
41                 <div class="card-body action-attributes">
42                     <div class="row">
43                         <div class="col">
44                             <div class="form-group" *ngFor="let input of inputs">
45                                 <label for="exampleFormControlTextarea1">{{input.name}}
46                                     <i [hidden]="!input.required" class="icon-required-star" type="button"
47                                         aria-hidden="true"></i>
48                                     <i [hidden]="input.required" type="button" aria-hidden="true"></i>
49                                 </label>
50                                 <div class="attributeOptions">
51                                     <a data-toggle="modal" data-target="#exampleModalScrollable2"
52                                         class="accordion-delete editAttribute" tooltip="Edit Attribute"
53                                         placement="bottom"><i class="icon-edit"></i></a>
54                                     <a class="accordion-delete deleteAttribute" tooltip="Delete Attribute"
55                                         placement="bottom"><i class="icon-delete-sm"></i></a>
56                                 </div>
57                             </div>
58                         </div>
59                     </div>
60                 </div>
61             </div>
62         </div>
63     </div>
64     <!--OUTPUTS-->
65     <div class="accordion" id="accordionExample1">
66         <div class="card">
67             <div class="card-header" id="headingOne">
68                 <h2 class="mb-0">
69                     <button class="btn btn-link" type="button" data-toggle="collapse" data-target="#collapseTwo"
70                         aria-expanded="true" aria-controls="collapseTwo">
71                         Outputs
72                     </button>
73                 </h2>
74             </div>
75
76             <div id="collapseTwo" class="collapse show" aria-labelledby="headingOne" data-parent="#accordionExample1">
77                 <div class="card-body">
78                     <div class="row">
79                         <div class="col">
80                             <div class="form-group" *ngFor="let output of outputs">
81                                 <label for="exampleFormControlTextarea1">{{output.name}}
82                                     <i [hidden]="output.required" class="icon-required-star" type="button"
83                                         aria-hidden="true"></i>
84                                     <i [hidden]="!output.required" class="optional-attribute" type="button"
85                                         aria-hidden="true"></i>
86
87                                 </label>
88                             </div>
89                         </div>
90                     </div>
91                 </div>
92             </div>
93         </div>
94     </div>
95 </div>
96 <!--Action - Add Custom Attribute - Modal-->
97 <div class="modal fade" id="exampleModalScrollable" tabindex="-1" role="dialog"
98     aria-labelledby="exampleModalScrollableTitle" aria-hidden="true">
99     <div class="modal-dialog  modal-dialog-scrollable" role="document">
100         <div class="modal-content">
101             <div class="modal-header">
102                 <h5 class="modal-title" id="exampleModalScrollableTitle">
103                     Add Custom Attributes</h5>
104                 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
105                     <img src="assets/img/icon-close.svg" />
106                 </button>
107             </div>
108             <div class="modal-body createAttributeTabs">
109                 <!--Action - Inputs & Outputs Attribute-->
110                 <ul class="nav nav-tabs" id="myTab" role="tablist">
111                     <li class="nav-item">
112                         <a class="nav-link active" id="home-tab" data-toggle="tab" href="#home" role="tab"
113                             aria-controls="home" aria-selected="true">Inputs</a>
114                     </li>
115                     <li class="nav-item">
116                         <a class="nav-link" id="profile-tab" data-toggle="tab" href="#profile" role="tab"
117                             aria-controls="profile" aria-selected="false">Outputs</a>
118                     </li>
119                 </ul>
120                 <div class="tab-content" id="myTabContent">
121                     <!--INPUTS Tab-->
122                     <div class="tab-pane fade show active create-form" id="home" role="tabpanel"
123                         aria-labelledby="home-tab">
124                         <div class="form-group row">
125                             <label for="inputEmail3" class="col-sm-3 col-form-label">Name <span>*</span></label>
126                             <div class="col-sm-9">
127                                 <input [(ngModel)]="inputActionAttribute.name" type="email" class="form-control"
128                                     id="inputEmail3" placeholder="Attribute name">
129                             </div>
130                         </div>
131                         <div class="form-group row">
132                             <label for="inputPassword3" class="col-sm-3 col-form-label">Description</label>
133                             <div class="col-sm-9">
134                                 <input [(ngModel)]="inputActionAttribute.description" type="text" class="form-control"
135                                     id="inputPassword3" placeholder="Add some description">
136                             </div>
137                         </div>
138                         <div class="form-group row">
139                             <label class="col-form-label col-sm-3 pt-0">Type <span>*</span></label>
140                             <div class="col-sm-9">
141                                 <div class="list-group list-group-horizontal">
142                                     <button type="button" class="list-group-item list-group-item-action"
143                                         (click)="setInputType('String')">
144                                         String
145                                     </button>
146                                     <button type="button" class="list-group-item list-group-item-action"
147                                         (click)="setInputType('Integer')">Integer
148                                     </button>
149                                     <button type="button" class="list-group-item list-group-item-action"
150                                         (click)="setInputType('Boolean')">Boolean
151                                     </button>
152                                     <button type="button" class="list-group-item list-group-item-action"
153                                         (click)="setInputType('List')">List
154                                     </button>
155                                     <button type="button" class="list-group-item list-group-item-action"
156                                         (click)="setInputType('Other')">Other
157                                     </button>
158                                 </div>
159                                 <input [hidden]="!isInputOtherType" type="text" class="form-control mt-2 mb-2"
160                                     id="inputPassword4" placeholder="Add Other type name" [(ngModel)]="inputOtherType"
161                                     (change)="setInputType(inputOtherType)">
162
163                             </div>
164                         </div>
165                         <div class="form-group row">
166                             <label class="col-form-label col-sm-3 pt-0">Required <span>*</span></label>
167                             <div class="col-sm-9">
168                                 <div class="custom-control custom-radio custom-control-inline">
169                                     <input type="radio" id="customRadioInline1" name="customRadioInline1"
170                                         class="custom-control-input" (click)="setInputRequired(true)">
171                                     <label class="custom-control-label" for="customRadioInline1">True</label>
172                                 </div>
173                                 <div class="custom-control custom-radio custom-control-inline">
174                                     <input type="radio" id="customRadioInline2" name="customRadioInline1"
175                                         class="custom-control-input" (click)="setInputRequired(false)">
176                                     <label class="custom-control-label" for="customRadioInline2">False</label>
177                                 </div>
178                             </div>
179                         </div>
180                     </div>
181                     <!--OUTPUTS Tab-->
182                     <div class="tab-pane fade create-form" id="profile" role="tabpanel" aria-labelledby="profile-tab">
183                         <div class="form-group row">
184                             <label for="inputEmail3" class="col-sm-3 col-form-label">Name <span>*</span></label>
185                             <div class="col-sm-9">
186                                 <input [(ngModel)]="outputActionAttribute.name" type="email" class="form-control"
187                                     id="inputEmail3" placeholder="Attribute name">
188                             </div>
189                         </div>
190                         <div class="form-group row">
191                             <label for="inputPassword3" class="col-sm-3 col-form-label">Description</label>
192                             <div class="col-sm-9">
193                                 <input [(ngModel)]="outputActionAttribute.description" type="text" class="form-control"
194                                     id="inputPassword3" placeholder="Add some description">
195                             </div>
196                         </div>
197                         <div class="form-group row">
198                             <label class="col-form-label col-sm-3 pt-0">Type <span>*</span></label>
199                             <div class="col-sm-9">
200                                 <div class="list-group list-group-horizontal">
201                                     <button type="button" class="list-group-item list-group-item-action">String</button>
202                                     <button type="button" class="list-group-item list-group-item-action"
203                                         (click)="setOutputType('Integer')">
204                                         Integer
205                                     </button>
206                                     <button type="button" class="list-group-item list-group-item-action"
207                                         (click)="setOutputType('Boolean')">
208                                         Boolean
209                                     </button>
210                                     <button type="button" class="list-group-item list-group-item-action"
211                                         (click)="setOutputType('List')">
212                                         List
213                                     </button>
214                                     <button type="button" class="list-group-item list-group-item-action"
215                                         (click)="setOutputType('Other')">
216                                         Other
217                                     </button>
218                                 </div>
219                                 <input [hidden]="!isOutputOtherType" type="text" class="form-control mt-2 mb-2"
220                                     id="inputPassword3" placeholder="Add Other type name" [(ngModel)]="outputOtherType"
221                                     (change)="setOutputType(outputOtherType)">
222                             </div>
223                         </div>
224                         <div class="form-group row">
225                             <label class="col-form-label col-sm-3 pt-0">Required <span>*</span></label>
226                             <div class="col-sm-9">
227                                 <div class="custom-control custom-radio custom-control-inline">
228                                     <input type="radio" id="customRadioInline1" name="customRadioInline1"
229                                         class="custom-control-input" (click)="setOutputRequired(true)">
230                                     <label class="custom-control-label" for="customRadioInline1">True</label>
231                                 </div>
232                                 <div class="custom-control custom-radio custom-control-inline">
233                                     <input type="radio" id="customRadioInline2" name="customRadioInline1"
234                                         class="custom-control-input">
235                                     <label class="custom-control-label" for="customRadioInline2"
236                                         (click)="setOutputRequired(false)">False</label>
237                                 </div>
238                             </div>
239                         </div>
240                     </div>
241                 </div>
242             </div>
243             <div class="modal-footer">
244                 <button type="button" class="btn btn-secondary" data-dismiss="modal">Cancel</button>
245                 <button type="button" class="btn btn-primary" (click)="submitAttributes()">Submit Attributes</button>
246             </div>
247         </div>
248     </div>
249 </div>
250 <!--Delete Action - Modal-->
251 <div class="modal fade" id="exampleModalScrollable1" tabindex="-1" role="dialog"
252     aria-labelledby="exampleModalScrollableTitle1" aria-hidden="true">
253     <div class="modal-dialog modal-dialog-scrollable" role="document">
254         <div class="modal-content">
255             <div class="modal-header">
256                 <h5 class="modal-title" id="exampleModalScrollableTitle1">
257                     Delete Action</h5>
258                 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
259                     <img src="assets/img/icon-close.svg" />
260                 </button>
261             </div>
262             <div class="modal-body">
263                 Are you sure you want to delete <b>resource-assignment</b> action?
264             </div>
265             <div class="modal-footer">
266                 <button type="button" class="btn btn-secondary" data-dismiss="modal">Cancel</button>
267                 <button type="button" class="btn btn-primary">Delete</button>
268             </div>
269         </div>
270     </div>
271 </div>
272 <!--Action - Edit Custom Attribute - Modal-->
273 <div class="modal fade" id="exampleModalScrollable2" tabindex="-1" role="dialog"
274     aria-labelledby="exampleModalScrollableTitle2" aria-hidden="true">
275     <div class="modal-dialog modal-dialog-scrollable" role="document">
276         <div class="modal-content">
277             <div class="modal-header">
278                 <h5 class="modal-title" id="exampleModalScrollableTitle2">
279                     Edit Custom Attributes</h5>
280                 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
281                     <img src="assets/img/icon-close.svg" />
282                 </button>
283             </div>
284             <div class="modal-body createAttributeTabs">
285                 <div class="create-form">
286                     <div class="form-group row">
287                         <label for="inputEmail3" class="col-sm-3 col-form-label">Name <span>*</span></label>
288                         <div class="col-sm-9">
289                             <input type="email" class="form-control" id="inputEmail3" placeholder="Attribute name"
290                                 value="resource-assignment-properties">
291                         </div>
292                     </div>
293                     <div class="form-group row">
294                         <label for="inputPassword3" class="col-sm-3 col-form-label">Description</label>
295                         <div class="col-sm-9">
296                             <input type="text" class="form-control" id="inputPassword3"
297                                 placeholder="Add some description"
298                                 value="Dynamic PropertyDefinition for workflow(resource-assignment).">
299                         </div>
300                     </div>
301                     <div class="form-group row">
302                         <label class="col-form-label col-sm-3 pt-0">Type <span>*</span></label>
303                         <div class="col-sm-9">
304                             <div class="list-group list-group-horizontal">
305                                 <button type="button" class="list-group-item list-group-item-action">String
306                                 </button>
307                                 <button type="button" class="list-group-item list-group-item-action">Integer</button>
308                                 <button type="button" class="list-group-item list-group-item-action">Boolean</button>
309                                 <button type="button" class="list-group-item list-group-item-action">List</button>
310                                 <button type="button" class="list-group-item list-group-item-action active">Other
311                                 </button>
312                             </div>
313                             <input type="text" class="form-control mt-2 mb-2" id="inputPassword3"
314                                 placeholder="Add Other type name" value="dt-resource-assignment-properties">
315                         </div>
316                     </div>
317                     <div class="form-group row">
318                         <label class="col-form-label col-sm-3 pt-0">Required <span>*</span></label>
319                         <div class="col-sm-9">
320                             <div class="custom-control custom-radio custom-control-inline">
321                                 <input type="radio" id="customRadioInline1" name="customRadioInline1"
322                                     class="custom-control-input" checked>
323                                 <label class="custom-control-label" for="customRadioInline1">True</label>
324                             </div>
325                             <div class="custom-control custom-radio custom-control-inline">
326                                 <input type="radio" id="customRadioInline2" name="customRadioInline1"
327                                     class="custom-control-input">
328                                 <label class="custom-control-label" for="customRadioInline2">False</label>
329                             </div>
330                         </div>
331                     </div>
332                 </div>
333                 <div class="modal-footer">
334                     <button type="button" class="btn btn-secondary" data-dismiss="modal">Cancel</button>
335                     <button type="button" class="btn btn-primary">Save</button>
336                 </div>
337             </div>
338         </div>
339     </div>
340 </div>