23adaef463fdaaa014218ddadf667886efd2a530
[ccsdk/cds.git] /
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" (click)="clearFormInputs()"><i class="icon-custom-attribute" type="button"
18                                                          aria-hidden="true" ></i></button>
19                     <span>Create Custom</span>
20                 </div>
21                 <div class="col text-center">
22                     <button (click)="printSomethings()" [disabled]="!isFunctionAttributeActive" type="button"
23                             data-toggle="modal" data-target="#exampleModalScrollable3" class="btn btn-secondary"><i
24                             class="icon-function-attribute" type="button" aria-hidden="true"></i></button>
25                     <span>Import From Function</span>
26                 </div>
27             </div>
28         </div>
29     </div>
30     <!--INPUTS-->
31     <div class="accordion" id="accordionExample">
32         <div class="card">
33             <div class="card-header" id="headingOne">
34                 <h2 class="mb-0">
35                     <button class="btn btn-link" type="button" data-toggle="collapse" data-target="#collapseOne"
36                             aria-expanded="true" aria-controls="collapseOne">
37                         Inputs
38                     </button>
39                 </h2>
40             </div>
41             <div id="collapseOne" class="collapse show" aria-labelledby="headingOne" data-parent="#accordionExample">
42                 <div class="card-body action-attributes">
43                     <div class="row">
44                         <div class="col">
45                             <div class="form-group" *ngFor="let input of inputs">
46                                 <label >{{input.name}}
47                                     <i [hidden]="!input.required" class="icon-required-star" type="button"
48                                        aria-hidden="true"></i>
49                                     <i [hidden]="input.required" class="icon-required-star optional-attribute"
50                                        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" tooltip="Edit Attribute"
55                                        placement="bottom" (click)="editAttribute(input)"><i class="icon-edit"></i></a>
56                                     <a class="accordion-delete deleteAttribute" tooltip="Delete Attribute"
57                                        placement="bottom"><i class="icon-delete-sm"></i></a>
58                                 </div>
59                             </div>
60                         </div>
61                     </div>
62                 </div>
63             </div>
64         </div>
65     </div>
66     <!--OUTPUTS-->
67     <div class="accordion" id="accordionExample1">
68         <div class="card">
69             <div class="card-header" id="headingOne">
70                 <h2 class="mb-0">
71                     <button class="btn btn-link" type="button" data-toggle="collapse" data-target="#collapseTwo"
72                             aria-expanded="true" aria-controls="collapseTwo">
73                         Outputs
74                     </button>
75                 </h2>
76             </div>
77
78             <div id="collapseTwo" class="collapse show" aria-labelledby="headingOne" data-parent="#accordionExample1">
79                 <div class="card-body">
80                     <div class="row">
81                         <div class="col">
82                             <div class="form-group" *ngFor="let output of outputs">
83                                 <label >{{output.name}}
84                                     <i [hidden]="!output.required" class="icon-required-star" type="button"
85                                        aria-hidden="true"></i>
86                                     <i [hidden]="output.required" class="icon-required-star optional-attribute"
87                                        type="button" aria-hidden="true"></i>
88
89                                 </label>
90                                 <div class="attributeOptions">
91                                     <a data-toggle="modal" data-target="#exampleModalScrollable2"
92                                        class="accordion-delete editAttribute" tooltip="Edit Attribute"
93                                        placement="bottom" (click)="editAttribute(output)"><i class="icon-edit"></i></a>
94                                     <a class="accordion-delete deleteAttribute" tooltip="Delete Attribute"
95                                        placement="bottom"><i class="icon-delete-sm"></i></a>
96                                 </div>
97                             </div>
98                         </div>
99                     </div>
100                 </div>
101             </div>
102         </div>
103     </div>
104 </div>
105 <!--Action - Add Custom Attribute - Modal-->
106 <div class="modal fade" id="exampleModalScrollable" tabindex="-1" role="dialog"
107      aria-labelledby="exampleModalScrollableTitle" aria-hidden="true">
108     <div class="modal-dialog  modal-dialog-scrollable" role="document">
109         <div class="modal-content">
110             <div class="modal-header">
111                 <h5 class="modal-title" id="exampleModalScrollableTitle">
112                     Add Custom Attributes</h5>
113                 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
114                     <img src="assets/img/icon-close.svg"/>
115                 </button>
116             </div>
117             <div class="modal-body createAttributeTabs">
118                 <!--Action - Inputs & Outputs Attribute-->
119                 <ul class="nav nav-tabs" id="myTab" role="tablist">
120                     <li class="nav-item">
121                         <a class="nav-link active" id="home-tab" data-toggle="tab" href="#home" role="tab"
122                            aria-controls="home" aria-selected="true">Inputs</a>
123                     </li>
124                     <li class="nav-item">
125                         <a class="nav-link" id="profile-tab" data-toggle="tab" href="#profile" role="tab"
126                            aria-controls="profile" aria-selected="false">Outputs</a>
127                     </li>
128                 </ul>
129                 <div class="tab-content" id="myTabContent">
130                     <!--INPUTS Tab-->
131                     <div class="tab-pane fade show active create-form" id="home" role="tabpanel"
132                          aria-labelledby="home-tab">
133                         <div class="form-group row">
134                             <label for="inputEmail3" class="col-sm-3 col-form-label">Name <span>*</span></label>
135                             <div class="col-sm-9">
136                                 <input [(ngModel)]="inputActionAttribute.name" type="email" class="form-control"
137                                        id="inputEmail3" placeholder="Attribute name">
138                             </div>
139                         </div>
140                         <div class="form-group row">
141                             <label for="inputPassword3" class="col-sm-3 col-form-label">Description</label>
142                             <div class="col-sm-9">
143                                 <input [(ngModel)]="inputActionAttribute.description" type="text" class="form-control"
144                                        id="inputPassword3" placeholder="Add some description">
145                             </div>
146                         </div>
147                         <div class="form-group row">
148                             <label class="col-form-label col-sm-3 pt-0">Type <span>*</span></label>
149                             <div class="col-sm-9">
150                                 <div class="list-group list-group-horizontal">
151                                     <button type="button" class="list-group-item list-group-item-action"
152                                             (click)="setInputType('string')">
153                                         String
154                                     </button>
155                                     <button type="button" class="list-group-item list-group-item-action"
156                                             (click)="setInputType('integer')">Integer
157                                     </button>
158                                     <button type="button" class="list-group-item list-group-item-action"
159                                             (click)="setInputType('boolean')">Boolean
160                                     </button>
161                                     <button type="button" class="list-group-item list-group-item-action"
162                                             (click)="setInputType('list')">List
163                                     </button>
164                                     <button type="button" class="list-group-item list-group-item-action"
165                                             (click)="setInputType('Other')">Other
166                                     </button>
167                                 </div>
168                                 <input [hidden]="!isInputOtherType" type="text" class="form-control mt-2 mb-2"
169                                        id="inputPassword4" placeholder="Add Other type name"
170                                        [(ngModel)]="inputOtherType"
171                                        (change)="setInputType(inputOtherType)">
172
173                             </div>
174                         </div>
175                         <div class="form-group row">
176                             <label class="col-form-label col-sm-3 pt-0">Required <span>*</span></label>
177                             <div class="col-sm-9">
178                                 <div class="custom-control custom-radio custom-control-inline">
179                                     <input type="radio" id="customRadioInline1" name="customRadioInline1"
180                                            class="custom-control-input" (click)="setInputRequired(true)">
181                                     <label class="custom-control-label" for="customRadioInline1">True</label>
182                                 </div>
183                                 <div class="custom-control custom-radio custom-control-inline">
184                                     <input type="radio" id="customRadioInline2" name="customRadioInline1"
185                                            class="custom-control-input" (click)="setInputRequired(false)">
186                                     <label class="custom-control-label" for="customRadioInline2">False</label>
187                                 </div>
188                             </div>
189                         </div>
190                     </div>
191                     <!--OUTPUTS Tab-->
192                     <div class="tab-pane fade create-form" id="profile" role="tabpanel" aria-labelledby="profile-tab">
193                         <div class="form-group row">
194                             <label for="inputEmail3" class="col-sm-3 col-form-label">Name <span>*</span></label>
195                             <div class="col-sm-9">
196                                 <input [(ngModel)]="outputActionAttribute.name" type="email" class="form-control"
197                                        id="inputEmail3" placeholder="Attribute name">
198                             </div>
199                         </div>
200                         <div class="form-group row">
201                             <label for="inputPassword3" class="col-sm-3 col-form-label">Description</label>
202                             <div class="col-sm-9">
203                                 <input [(ngModel)]="outputActionAttribute.description" type="text" class="form-control"
204                                        id="inputPassword3" placeholder="Add some description">
205                             </div>
206                         </div>
207                         <div class="form-group row">
208                             <label class="col-form-label col-sm-3 pt-0">Required <span>*</span></label>
209                             <div class="col-sm-9">
210                                 <div class="custom-control custom-radio custom-control-inline">
211                                     <input type="radio" id="customRadioInline3" name="customRadioInline3"
212                                            class="custom-control-input" (click)="setOutputRequired(true)">
213                                     <label class="custom-control-label" for="customRadioInline3">True</label>
214                                 </div>
215                                 <div class="custom-control custom-radio custom-control-inline">
216                                     <input type="radio" id="customRadioInline4" name="customRadioInline3"
217                                            class="custom-control-input">
218                                     <label class="custom-control-label" for="customRadioInline4"
219                                            (click)="setOutputRequired(false)">False</label>
220                                 </div>
221                             </div>
222                         </div>
223                         <div class="form-group row">
224                             <label class="col-form-label col-sm-3 pt-0">Type <span>*</span></label>
225                             <div class="col-sm-9">
226                                 <div class="list-group list-group-horizontal">
227                                     <button type="button" class="list-group-item list-group-item-action"
228                                             (click)="setOutputType('string')">String
229                                     </button>
230                                     <button type="button" class="list-group-item list-group-item-action"
231                                             (click)="setOutputType('integer')">
232                                         Integer
233                                     </button>
234                                     <button type="button" class="list-group-item list-group-item-action"
235                                             (click)="setOutputType('boolean')">
236                                         Boolean
237                                     </button>
238                                     <button type="button" class="list-group-item list-group-item-action"
239                                             (click)="setOutputType('list')">
240                                         List
241                                     </button>
242                                     <button type="button" class="list-group-item list-group-item-action"
243                                             (click)="setOutputType('Other')">
244                                         Other
245                                     </button>
246                                 </div>
247                                 <input [hidden]="!isOutputOtherType" type="text" class="form-control mt-2 mb-2"
248                                        id="inputPassword3" placeholder="Add Other type name"
249                                        [(ngModel)]="outputOtherType"
250                                        (change)="setOutputType(outputOtherType)">
251                             </div>
252                         </div>
253                         <!--Get Attribute Value-->
254                         <div class="form-group row mb-0">
255                             <label class="col-form-label col pt-0">
256                                 Value <span class="notation">(get_attribute)</span>
257                             </label>
258                         </div>
259                         <div class="form-group row">
260                             <div class="col">
261                                 <input type="email" class="form-control" id="inputEmail3" placeholder="Attributes">
262                                 <div class="container">
263                                     <!-- <div *ngFor="let tempInput of steps">{{tempInput}}</div>-->
264                                 </div>
265                             </div>
266                         </div>
267
268
269                         <section class="carousel" aria-label="Gallery">
270
271                             <ol class="carousel__viewport">
272                                 <!--Function-->
273                                 <li id="carousel__slide1" tabindex="0" class="carousel__slide">
274                                     <b class="listBoxTitle">1. Choose Function Name</b>
275                                     <div class="list-group addedFunctionsList" id="list-tab" role="tablist">
276                                         <input type="text" class="form-control input-search-controller"
277                                                placeholder="Functions">
278                                         <div class="scrollWrapper" *ngFor="let step of steps">
279                                             <a class="list-group-item list-group-item-action active" id="list-home-list"
280                                                data-toggle="list" href="#list-home" role="tab" aria-controls="home">
281                                                 <i class="icon-resource_resolution mr-1" aria-hidden="true"></i>
282                                                 {{step}} <i class="icon-next_arrow" aria-hidden="true" (click)="getAttributesAndOutputs(
283                                                                     this.designerState.template.workflows[actionName]['steps'][step]['target']
284                                                                     )"></i></a>
285                                         </div>
286                                     </div>
287                                 </li>
288                                 <!--Attribute-->
289                                 <li id="carousel__slide2" tabindex="1" class="carousel__slide">
290                                     <b class="listBoxTitle">2. Choose Attribute Name</b>
291                                     <div class="tab-content nestedAttributes mt-0 p-0" id="nav-tabContent">
292                                         <input type="text" class="form-control input-search-controller"
293                                                placeholder="Attributes">
294                                         <div class="tab-pane fade show active" id="list-home" role="tabpanel"
295                                              aria-labelledby="list-home-list">
296                                             <div class="scrollWrapper">
297                                                 <div *ngIf="suggestedAttributes.length>0"
298                                                      class="btn-group btn-group-toggle" data-toggle="buttons">
299                                                     <label class="btn btn-secondary"
300                                                            *ngFor="let suggestedAttribute of suggestedAttributes"
301                                                            [id]="suggestedAttribute"
302                                                            (click)="addTempOutputAttr(suggestedAttribute)">
303                                                         <input type="radio" name="options"
304                                                                [id]="suggestedAttribute+'.,.'"
305                                                                autocomplete="off" [checked]="suggestedAttributes[0].includes(suggestedAttribute)">
306                                                         {{suggestedAttribute}}
307                                                     </label>
308
309                                                 </div>
310                                                 <div *ngIf="suggestedAttributes.length == 0">
311                                                     <p class="noAttributes">No Attributes Available</p>
312                                                 </div>
313                                             </div>
314                                         </div>
315                                     </div>
316                                 </li>
317                                 <!--Artifact-->
318                                 <li id="carousel__slide3" [hidden]="isNotComponentResourceResolution" tabindex="2"
319                                     class="carousel__slide">
320                                     <b class="listBoxTitle">3. Choose Artifact Name</b>
321                                     <div class="tab-content nestedAttributes mt-0 p-0" id="nav-tabContent">
322                                         <input type="text" class="form-control input-search-controller"
323                                                placeholder="Attributes">
324                                         <div class="tab-pane fade show active" id="list-home" role="tabpanel"
325                                              aria-labelledby="list-home-list">
326                                             <div class="scrollWrapper">
327                                                 <div *ngIf="currentArtifacts.length>0"
328                                                      class="btn-group btn-group-toggle" data-toggle="buttons">
329                                                     <label class="btn btn-secondary"
330                                                            *ngFor="let suggestedArtifact of currentArtifacts"
331                                                            (click)="addArtifactFile(suggestedArtifact)">
332                                                         <input type="radio" name="options" [id]="suggestedArtifact"
333                                                                autocomplete="off"
334                                                                (click)="addArtifactFile(suggestedArtifact)"
335                                                                [checked]="currentArtifacts[0].includes(suggestedArtifact)"
336                                                         >
337                                                         {{suggestedArtifact}}
338                                                     </label>
339
340                                                 </div>
341                                                 <div *ngIf="currentArtifacts.length == 0">
342                                                     <p class="noAttributes">No Artifacts Available</p>
343                                                 </div>
344                                             </div>
345                                         </div>
346                                     </div>
347                                 </li>
348                                 <!--Parameter-->
349                                 <li id="carousel__slide4"
350                                     [hidden]="isParametersHidden" tabindex="3"
351                                     class="carousel__slide">
352                                     <b class="listBoxTitle">4. Choose Parameter Name</b>
353                                     <div class="tab-content nestedAttributes mt-0 p-0" id="nav-tabContent">
354                                         <input type="text" class="form-control input-search-controller"
355                                                placeholder="Attributes">
356                                         <div class="tab-pane fade show active" id="list-home" role="tabpanel"
357                                              aria-labelledby="list-home-list">
358                                             <div class="scrollWrapper">
359                                                 <div *ngIf="suggestedMappingParameters.length>0"
360                                                      class="btn-group btn-group-toggle" data-toggle="buttons">
361                                                     <label class="btn btn-secondary"
362                                                            *ngFor="let suggestedMappingParameter of suggestedMappingParameters"
363                                                            (click)="addSuggestedMappingParameter(suggestedMappingParameter)">
364                                                            <!--[class]="suggestedMappingParameters[0].includes(suggestedMappingParameter)?'btn btn-secondary active':'btn btn-secondary'">
365                                                        --> <input type="radio" name="options" [id]="suggestedMappingParameter"
366                                                                autocomplete="off"
367                                                                (click)="addSuggestedMappingParameter(suggestedMappingParameter)"
368                                                                [checked]="suggestedMappingParameters[0].includes(suggestedMappingParameter)"
369
370                                                         >
371                                                         {{suggestedMappingParameter}}
372                                                     </label>
373
374                                                 </div>
375                                                 <div *ngIf="suggestedMappingParameters.length == 0">
376                                                     <p class="noAttributes">No Attributes Available</p>
377                                                 </div>
378                                             </div>
379                                         </div>
380                                     </div>
381                                 </li>
382                             </ol>
383                             <aside class="carousel__navigation">
384                                 <ol class="carousel__navigation-list">
385                                     <li class="carousel__navigation-item">
386                                         <a href="#carousel__slide1" class="carousel__navigation-button">Functions</a>
387                                     </li>
388                                     <li class="carousel__navigation-item">
389                                         <a href="#carousel__slide2" class="carousel__navigation-button">Attributes</a>
390                                     </li>
391                                     <li class="carousel__navigation-item" [hidden]="isNotComponentResourceResolution">
392                                         <a href="#carousel__slide3" class="carousel__navigation-button">Artifacts</a>
393                                     </li>
394                                     <li class="carousel__navigation-item"
395                                         [hidden]="isParametersHidden">
396                                         <a href="#carousel__slide4"
397                                            class="carousel__navigation-button">Parameters</a>
398                                     </li>
399                                 </ol>
400                             </aside>
401                         </section>
402                     </div>
403                 </div>
404             </div>
405             <div class="modal-footer">
406                 <button type="button" class="btn btn-secondary" data-dismiss="modal">Cancel</button>
407                 <button type="button" class="btn btn-primary" (click)="submitAttributes()">Submit Attributes</button>
408             </div>
409         </div>
410     </div>
411 </div>
412
413 <!--Action - Add Attribute From Function - Modal-->
414 <div class="modal fade" id="exampleModalScrollable3" tabindex="-1" role="dialog"
415      aria-labelledby="exampleModalScrollableTitle3" aria-hidden="true">
416     <div class="modal-dialog  modal-dialog-scrollable" role="document">
417         <div class="modal-content">
418             <div class="modal-header">
419                 <h5 class="modal-title" id="exampleModalScrollableTitle3">
420                     Add Attributes from Function</h5>
421                 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
422                     <img src="assets/img/icon-close.svg"/>
423                 </button>
424             </div>
425             <div class="modal-body createAttributeTabs">
426                 <!--Action - Inputs & Outputs Attribute-->
427                 <ul class="nav nav-tabs" id="myTab" role="tablist">
428                     <li class="nav-item">
429                         <a class="nav-link active" id="home-tab" data-toggle="tab" href="#input" role="tab"
430                            aria-controls="home" aria-selected="true" >Inputs</a>
431                     </li>
432                     <li class="nav-item">
433                         <a class="nav-link" id="profile-tab" data-toggle="tab" href="#output" role="tab"
434                            aria-controls="profile" aria-selected="false" >Outputs</a>
435                     </li>
436                 </ul>
437                 <div class="tab-content border-0 mt-2" id="myTabContent">
438                     <!--INPUTS Tab-->
439                     <div class="tab-pane fade show active create-form" id="input" role="tabpanel"
440                          aria-labelledby="input-tab">
441                         <div class="form-group row">
442                             <div class="col">
443                                 <input type="email" class="form-control" id="inputEmail3" placeholder="Attributes">
444                                 <div class="container">
445                                     <div *ngFor="let tempInput of tempInputs">{{tempInput}}</div>
446                                 </div>
447                             </div>
448                         </div>
449
450                         <div class="row">
451                             <div class="col-6">
452                                 <b class="listBoxTitle">1. Choose Function Name</b>
453                                 <div class="list-group addedFunctionsList" id="list-tab" role="tablist">
454                                     <input type="text" class="form-control input-search-controller"
455                                            placeholder="Functions">
456                                     <div class="scrollWrapper" *ngFor="let step of steps">
457                                         <a class="list-group-item list-group-item-action active" id="list-home-list"
458                                            data-toggle="list" href="#list-home" role="tab" aria-controls="home"><i
459                                                 class="icon-resource_resolution mr-1" aria-hidden="true"></i>
460                                             {{step}} <i class="icon-next_arrow" aria-hidden="true" (click)="setInputAndOutputs(
461                                             this.designerState.template.workflows[actionName]['steps'][step]['target']
462                                             )"></i></a>
463                                     </div>
464                                 </div>
465                             </div>
466                             <div class="col-6">
467                                 <b class="listBoxTitle">2. Choose Input Attribute Name</b>
468                                 <div class="tab-content nestedAttributes mt-0 p-0" id="nav-tabContent">
469                                     <input type="text" class="form-control input-search-controller"
470                                            placeholder="Attributes">
471                                     <div class="tab-pane fade show active" id="list-home" role="tabpanel"
472                                          aria-labelledby="list-home-list">
473                                         <div class="scrollWrapper">
474                                             <div *ngIf="suggestedInputs.length>0" class="btn-group btn-group-toggle"
475                                                  data-toggle="buttons">
476                                                 <label class="btn btn-secondary active"
477                                                        *ngFor="let suggestedInput of suggestedInputs"
478                                                        (click)="addTempInput(suggestedInput)">
479                                                     <input type="radio" name="options" [id]="suggestedInput"
480                                                            autocomplete="off" (click)="addTempInput(suggestedInput)">
481                                                     {{suggestedInput}}
482                                                 </label>
483                                             </div>
484                                             <div *ngIf="suggestedInputs.length == 0">
485                                                 <p class="noAttributes">No Attributes Available</p>
486                                             </div>
487                                         </div>
488                                     </div>
489                                 </div>
490                             </div>
491                         </div>
492                     </div>
493                     <!--OUTPUTS Tab-->
494                     <div class="tab-pane fade create-form" id="output" role="tabpanel" aria-labelledby="output-tab">
495                         <div class="form-group row">
496                             <div class="col">
497                                 <input type="email" class="form-control" id="inputEmail3" placeholder="Attributes">
498                                 <div class="container">
499                                     <div *ngFor="let tempOutput of tempOutputs">{{tempOutput}}</div>
500                                 </div>
501                             </div>
502                         </div>
503
504                         <div class="row">
505                             <div class="col-6">
506                                 <b class="listBoxTitle">1. Choose Function Name</b>
507                                 <div class="list-group addedFunctionsList" id="list-tab" role="tablist">
508                                     <input type="text" class="form-control input-search-controller"
509                                            placeholder="Functions">
510                                     <div class="scrollWrapper" *ngFor="let step of steps">
511                                         <a class="list-group-item list-group-item-action active" id="list-home-list"
512                                            data-toggle="list" href="#list-home" role="tab" aria-controls="home"><i
513                                                 class="icon-resource_resolution mr-1" aria-hidden="true"></i>
514                                             {{step}} <i class="icon-next_arrow" aria-hidden="true" (click)="setInputAndOutputs(
515                                             this.designerState.template.workflows[actionName]['steps'][step]['target']
516                                             )"></i></a>
517                                     </div>
518                                 </div>
519                             </div>
520                             <div class="col-6">
521                                 <b class="listBoxTitle">2. Choose output Attribute Name</b>
522                                 <div class="tab-content nestedAttributes mt-0 p-0" id="nav-tabContent">
523                                     <input type="text" class="form-control input-search-controller"
524                                            placeholder="Attributes">
525                                     <div class="tab-pane fade show active" id="list-home" role="tabpanel"
526                                          aria-labelledby="list-home-list">
527                                         <div class="scrollWrapper">
528                                             <div *ngIf="suggestedOutputs.length > 0" class="btn-group btn-group-toggle"
529                                                  data-toggle="buttons">
530                                                 <label class="btn btn-secondary active"
531                                                        *ngFor="let suggestedOutput of suggestedOutputs">
532                                                     <input type="radio" name="options" [id]="suggestedOutput"
533                                                            autocomplete="off"
534                                                            (dblclick)="addTempOutput(suggestedOutput)">
535                                                     {{suggestedOutput}}
536                                                 </label>
537
538                                             </div>
539                                             <div *ngIf="suggestedOutputs.length == 0">
540                                                 <p class="noAttributes">No Attributes Available</p>
541                                             </div>
542                                         </div>
543                                     </div>
544                                 </div>
545                             </div>
546                         </div>
547                     </div>
548                 </div>
549             </div>
550             <div class="modal-footer">
551                 <button type="button" class="btn btn-secondary" data-dismiss="modal">Cancel</button>
552                 <button type="button" class="btn btn-primary" (click)="submitTempAttributes()">Submit
553                     Attributes
554                 </button>
555             </div>
556         </div>
557     </div>
558 </div>
559
560 <!--Delete Action - Modal-->
561 <div class="modal fade" id="exampleModalScrollable1" tabindex="-1" role="dialog"
562      aria-labelledby="exampleModalScrollableTitle1" aria-hidden="true">
563     <div class="modal-dialog modal-dialog-scrollable" role="document">
564         <div class="modal-content">
565             <div class="modal-header">
566                 <h5 class="modal-title" id="exampleModalScrollableTitle1">
567                     Delete Action</h5>
568                 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
569                     <img src="assets/img/icon-close.svg"/>
570                 </button>
571             </div>
572             <div class="modal-body">
573                 Are you sure you want to delete <b>resource-assignment</b> action?
574             </div>
575             <div class="modal-footer">
576                 <button type="button" class="btn btn-secondary" data-dismiss="modal">Cancel</button>
577                 <button type="button" class="btn btn-primary">Delete</button>
578             </div>
579         </div>
580     </div>
581 </div>
582 <!--Action - Edit Custom Attribute - Modal-->
583 <div class="modal fade" id="exampleModalScrollable2" tabindex="-1" role="dialog"
584      aria-labelledby="exampleModalScrollableTitle2" aria-hidden="true">
585     <div class="modal-dialog modal-dialog-scrollable" role="document">
586         <div class="modal-content">
587             <div class="modal-header">
588                 <h5 class="modal-title" id="exampleModalScrollableTitle2">
589                     Edit Custom Attributes</h5>
590                 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
591                     <img src="assets/img/icon-close.svg"/>
592                 </button>
593             </div>
594             <div class="modal-body createAttributeTabs">
595                 <div class="create-form">
596                     <div class="form-group row">
597                         <label for="inputEmail3" class="col-sm-3 col-form-label">Name <span>*</span></label>
598                         <div class="col-sm-9">
599                             <input type="email" class="form-control" id="inputEmail3" placeholder="Attribute name"
600                                    value="resource-assignment-properties">
601                         </div>
602                     </div>
603                     <div class="form-group row">
604                         <label for="inputPassword3" class="col-sm-3 col-form-label">Description</label>
605                         <div class="col-sm-9">
606                             <input type="text" class="form-control" id="inputPassword3"
607                                    placeholder="Add some description"
608                                    value="Dynamic PropertyDefinition for workflow(resource-assignment).">
609                         </div>
610                     </div>
611                     <div class="form-group row">
612                         <label class="col-form-label col-sm-3 pt-0">Type <span>*</span></label>
613                         <div class="col-sm-9">
614                             <div class="list-group list-group-horizontal">
615                                 <button type="button" class="list-group-item list-group-item-action">String
616                                 </button>
617                                 <button type="button" class="list-group-item list-group-item-action">Integer</button>
618                                 <button type="button" class="list-group-item list-group-item-action">Boolean</button>
619                                 <button type="button" class="list-group-item list-group-item-action">List</button>
620                                 <button type="button" class="list-group-item list-group-item-action active">Other
621                                 </button>
622                             </div>
623                             <input type="text" class="form-control mt-2 mb-2" id="inputPassword3"
624                                    placeholder="Add Other type name" value="dt-resource-assignment-properties">
625                         </div>
626                     </div>
627                     <div class="form-group row">
628                         <label class="col-form-label col-sm-3 pt-0">Required <span>*</span></label>
629                         <div class="col-sm-9">
630                             <div class="custom-control custom-radio custom-control-inline">
631                                 <input type="radio" id="customRadioInline1" name="customRadioInline1"
632                                        class="custom-control-input" checked>
633                                 <label class="custom-control-label" for="customRadioInline1">True</label>
634                             </div>
635                             <div class="custom-control custom-radio custom-control-inline">
636                                 <input type="radio" id="customRadioInline2" name="customRadioInline1"
637                                        class="custom-control-input">
638                                 <label class="custom-control-label" for="customRadioInline2">False</label>
639                             </div>
640                         </div>
641                     </div>
642                 </div>
643                 <div class="modal-footer">
644                     <button type="button" class="btn btn-secondary" data-dismiss="modal">Cancel</button>
645                     <button type="button" class="btn btn-primary">Save</button>
646                 </div>
647             </div>
648         </div>
649     </div>
650 </div>