d23628bc7dfeb625f0986fad0ccd5efa702f05e0
[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" readonly [value]="actionName">
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"
161                                        [(ngModel)]="inputOtherType"
162                                        (change)="setInputType(inputOtherType)">
163
164                             </div>
165                         </div>
166                         <div class="form-group row">
167                             <label class="col-form-label col-sm-3 pt-0">Required <span>*</span></label>
168                             <div class="col-sm-9">
169                                 <div class="custom-control custom-radio custom-control-inline">
170                                     <input type="radio" id="customRadioInline1" name="customRadioInline1"
171                                            class="custom-control-input" (click)="setInputRequired(true)">
172                                     <label class="custom-control-label" for="customRadioInline1">True</label>
173                                 </div>
174                                 <div class="custom-control custom-radio custom-control-inline">
175                                     <input type="radio" id="customRadioInline2" name="customRadioInline1"
176                                            class="custom-control-input" (click)="setInputRequired(false)">
177                                     <label class="custom-control-label" for="customRadioInline2">False</label>
178                                 </div>
179                             </div>
180                         </div>
181                     </div>
182                     <!--OUTPUTS Tab-->
183                     <div class="tab-pane fade create-form" id="profile" role="tabpanel" aria-labelledby="profile-tab">
184                         <div class="form-group row">
185                             <label for="inputEmail3" class="col-sm-3 col-form-label">Name <span>*</span></label>
186                             <div class="col-sm-9">
187                                 <input [(ngModel)]="outputActionAttribute.name" type="email" class="form-control"
188                                        id="inputEmail3" placeholder="Attribute name">
189                             </div>
190                         </div>
191                         <div class="form-group row">
192                             <label for="inputPassword3" class="col-sm-3 col-form-label">Description</label>
193                             <div class="col-sm-9">
194                                 <input [(ngModel)]="outputActionAttribute.description" type="text" class="form-control"
195                                        id="inputPassword3" placeholder="Add some description">
196                             </div>
197                         </div>
198                         <div class="form-group row">
199                             <label class="col-form-label col-sm-3 pt-0">Type <span>*</span></label>
200                             <div class="col-sm-9">
201                                 <div class="list-group list-group-horizontal">
202                                     <button type="button" class="list-group-item list-group-item-action"
203                                             (click)="setOutputType('String')">String
204                                     </button>
205                                     <button type="button" class="list-group-item list-group-item-action"
206                                             (click)="setOutputType('Integer')">
207                                         Integer
208                                     </button>
209                                     <button type="button" class="list-group-item list-group-item-action"
210                                             (click)="setOutputType('Boolean')">
211                                         Boolean
212                                     </button>
213                                     <button type="button" class="list-group-item list-group-item-action"
214                                             (click)="setOutputType('List')">
215                                         List
216                                     </button>
217                                     <button type="button" class="list-group-item list-group-item-action"
218                                             (click)="setOutputType('Other')">
219                                         Other
220                                     </button>
221                                 </div>
222                                 <input [hidden]="!isOutputOtherType" type="text" class="form-control mt-2 mb-2"
223                                        id="inputPassword3" placeholder="Add Other type name"
224                                        [(ngModel)]="outputOtherType"
225                                        (change)="setOutputType(outputOtherType)">
226                             </div>
227                         </div>
228                         <div class="form-group row">
229                             <label class="col-form-label col-sm-3 pt-0">Required <span>*</span></label>
230                             <div class="col-sm-9">
231                                 <div class="custom-control custom-radio custom-control-inline">
232                                     <input type="radio" id="customRadioInline3" name="customRadioInline3"
233                                            class="custom-control-input" (click)="setOutputRequired(true)">
234                                     <label class="custom-control-label" for="customRadioInline3">True</label>
235                                 </div>
236                                 <div class="custom-control custom-radio custom-control-inline">
237                                     <input type="radio" id="customRadioInline4" name="customRadioInline3"
238                                            class="custom-control-input">
239                                     <label class="custom-control-label" for="customRadioInline4"
240                                            (click)="setOutputRequired(false)">False</label>
241                                 </div>
242                             </div>
243                         </div>
244                     </div>
245                 </div>
246             </div>
247             <div class="modal-footer">
248                 <button type="button" class="btn btn-secondary" data-dismiss="modal">Cancel</button>
249                 <button type="button" class="btn btn-primary" (click)="submitAttributes()">Submit Attributes</button>
250             </div>
251         </div>
252     </div>
253 </div>
254 <!--Delete Action - Modal-->
255 <div class="modal fade" id="exampleModalScrollable1" tabindex="-1" role="dialog"
256      aria-labelledby="exampleModalScrollableTitle1" aria-hidden="true">
257     <div class="modal-dialog modal-dialog-scrollable" role="document">
258         <div class="modal-content">
259             <div class="modal-header">
260                 <h5 class="modal-title" id="exampleModalScrollableTitle1">
261                     Delete Action</h5>
262                 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
263                     <img src="assets/img/icon-close.svg"/>
264                 </button>
265             </div>
266             <div class="modal-body">
267                 Are you sure you want to delete <b>resource-assignment</b> action?
268             </div>
269             <div class="modal-footer">
270                 <button type="button" class="btn btn-secondary" data-dismiss="modal">Cancel</button>
271                 <button type="button" class="btn btn-primary">Delete</button>
272             </div>
273         </div>
274     </div>
275 </div>
276 <!--Action - Edit Custom Attribute - Modal-->
277 <div class="modal fade" id="exampleModalScrollable2" tabindex="-1" role="dialog"
278      aria-labelledby="exampleModalScrollableTitle2" aria-hidden="true">
279     <div class="modal-dialog modal-dialog-scrollable" role="document">
280         <div class="modal-content">
281             <div class="modal-header">
282                 <h5 class="modal-title" id="exampleModalScrollableTitle2">
283                     Edit Custom Attributes</h5>
284                 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
285                     <img src="assets/img/icon-close.svg"/>
286                 </button>
287             </div>
288             <div class="modal-body createAttributeTabs">
289                 <div class="create-form">
290                     <div class="form-group row">
291                         <label for="inputEmail3" class="col-sm-3 col-form-label">Name <span>*</span></label>
292                         <div class="col-sm-9">
293                             <input type="email" class="form-control" id="inputEmail3" placeholder="Attribute name"
294                                    value="resource-assignment-properties">
295                         </div>
296                     </div>
297                     <div class="form-group row">
298                         <label for="inputPassword3" class="col-sm-3 col-form-label">Description</label>
299                         <div class="col-sm-9">
300                             <input type="text" class="form-control" id="inputPassword3"
301                                    placeholder="Add some description"
302                                    value="Dynamic PropertyDefinition for workflow(resource-assignment).">
303                         </div>
304                     </div>
305                     <div class="form-group row">
306                         <label class="col-form-label col-sm-3 pt-0">Type <span>*</span></label>
307                         <div class="col-sm-9">
308                             <div class="list-group list-group-horizontal">
309                                 <button type="button" class="list-group-item list-group-item-action">String
310                                 </button>
311                                 <button type="button" class="list-group-item list-group-item-action">Integer</button>
312                                 <button type="button" class="list-group-item list-group-item-action">Boolean</button>
313                                 <button type="button" class="list-group-item list-group-item-action">List</button>
314                                 <button type="button" class="list-group-item list-group-item-action active">Other
315                                 </button>
316                             </div>
317                             <input type="text" class="form-control mt-2 mb-2" id="inputPassword3"
318                                    placeholder="Add Other type name" value="dt-resource-assignment-properties">
319                         </div>
320                     </div>
321                     <div class="form-group row">
322                         <label class="col-form-label col-sm-3 pt-0">Required <span>*</span></label>
323                         <div class="col-sm-9">
324                             <div class="custom-control custom-radio custom-control-inline">
325                                 <input type="radio" id="customRadioInline1" name="customRadioInline1"
326                                        class="custom-control-input" checked>
327                                 <label class="custom-control-label" for="customRadioInline1">True</label>
328                             </div>
329                             <div class="custom-control custom-radio custom-control-inline">
330                                 <input type="radio" id="customRadioInline2" name="customRadioInline1"
331                                        class="custom-control-input">
332                                 <label class="custom-control-label" for="customRadioInline2">False</label>
333                             </div>
334                         </div>
335                     </div>
336                 </div>
337                 <div class="modal-footer">
338                     <button type="button" class="btn btn-secondary" data-dismiss="modal">Cancel</button>
339                     <button type="button" class="btn btn-primary">Save</button>
340                 </div>
341             </div>
342         </div>
343     </div>
344 </div>