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