1 <div class="scrollWrapper">
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">
11 <div class="row m-b add-attribute">
13 <h5>Add Attribute</h5>
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>Create Custom</span>
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>
31 <div class="accordion" id="accordionExample">
33 <div class="card-header" id="headingOne">
35 <button class="btn btn-link" type="button" data-toggle="collapse" data-target="#collapseOne"
36 aria-expanded="true" aria-controls="collapseOne">
41 <div id="collapseOne" class="collapse show" aria-labelledby="headingOne" data-parent="#accordionExample">
42 <div class="card-body action-attributes">
45 <div class="form-group" *ngFor="let input of inputs">
46 <label for="exampleFormControlTextarea1">{{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>
52 <div class="attributeOptions">
53 <a data-toggle="modal" data-target="#exampleModalScrollable2"
54 class="accordion-delete editAttribute" tooltip="Edit Attribute"
55 placement="bottom"><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>
67 <div class="accordion" id="accordionExample1">
69 <div class="card-header" id="headingOne">
71 <button class="btn btn-link" type="button" data-toggle="collapse" data-target="#collapseTwo"
72 aria-expanded="true" aria-controls="collapseTwo">
78 <div id="collapseTwo" class="collapse show" aria-labelledby="headingOne" data-parent="#accordionExample1">
79 <div class="card-body">
82 <div class="form-group" *ngFor="let output of outputs">
83 <label for="exampleFormControlTextarea1">{{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>
98 <!--Action - Add Custom Attribute - Modal-->
99 <div class="modal fade" id="exampleModalScrollable" tabindex="-1" role="dialog"
100 aria-labelledby="exampleModalScrollableTitle" aria-hidden="true">
101 <div class="modal-dialog modal-dialog-scrollable" role="document">
102 <div class="modal-content">
103 <div class="modal-header">
104 <h5 class="modal-title" id="exampleModalScrollableTitle">
105 Add Custom Attributes</h5>
106 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
107 <img src="assets/img/icon-close.svg"/>
110 <div class="modal-body createAttributeTabs">
111 <!--Action - Inputs & Outputs Attribute-->
112 <ul class="nav nav-tabs" id="myTab" role="tablist">
113 <li class="nav-item">
114 <a class="nav-link active" id="home-tab" data-toggle="tab" href="#home" role="tab"
115 aria-controls="home" aria-selected="true">Inputs</a>
117 <li class="nav-item">
118 <a class="nav-link" id="profile-tab" data-toggle="tab" href="#profile" role="tab"
119 aria-controls="profile" aria-selected="false">Outputs</a>
122 <div class="tab-content" id="myTabContent">
124 <div class="tab-pane fade show active create-form" id="home" role="tabpanel"
125 aria-labelledby="home-tab">
126 <div class="form-group row">
127 <label for="inputEmail3" class="col-sm-3 col-form-label">Name <span>*</span></label>
128 <div class="col-sm-9">
129 <input [(ngModel)]="inputActionAttribute.name" type="email" class="form-control"
130 id="inputEmail3" placeholder="Attribute name">
133 <div class="form-group row">
134 <label for="inputPassword3" class="col-sm-3 col-form-label">Description</label>
135 <div class="col-sm-9">
136 <input [(ngModel)]="inputActionAttribute.description" type="text" class="form-control"
137 id="inputPassword3" placeholder="Add some description">
140 <div class="form-group row">
141 <label class="col-form-label col-sm-3 pt-0">Type <span>*</span></label>
142 <div class="col-sm-9">
143 <div class="list-group list-group-horizontal">
144 <button type="button" class="list-group-item list-group-item-action"
145 (click)="setInputType('String')">
148 <button type="button" class="list-group-item list-group-item-action"
149 (click)="setInputType('Integer')">Integer
151 <button type="button" class="list-group-item list-group-item-action"
152 (click)="setInputType('Boolean')">Boolean
154 <button type="button" class="list-group-item list-group-item-action"
155 (click)="setInputType('List')">List
157 <button type="button" class="list-group-item list-group-item-action"
158 (click)="setInputType('Other')">Other
161 <input [hidden]="!isInputOtherType" type="text" class="form-control mt-2 mb-2"
162 id="inputPassword4" placeholder="Add Other type name"
163 [(ngModel)]="inputOtherType"
164 (change)="setInputType(inputOtherType)">
168 <div class="form-group row">
169 <label class="col-form-label col-sm-3 pt-0">Required <span>*</span></label>
170 <div class="col-sm-9">
171 <div class="custom-control custom-radio custom-control-inline">
172 <input type="radio" id="customRadioInline1" name="customRadioInline1"
173 class="custom-control-input" (click)="setInputRequired(true)">
174 <label class="custom-control-label" for="customRadioInline1">True</label>
176 <div class="custom-control custom-radio custom-control-inline">
177 <input type="radio" id="customRadioInline2" name="customRadioInline1"
178 class="custom-control-input" (click)="setInputRequired(false)">
179 <label class="custom-control-label" for="customRadioInline2">False</label>
185 <div class="tab-pane fade create-form" id="profile" role="tabpanel" aria-labelledby="profile-tab">
186 <div class="form-group row">
187 <label for="inputEmail3" class="col-sm-3 col-form-label">Name <span>*</span></label>
188 <div class="col-sm-9">
189 <input [(ngModel)]="outputActionAttribute.name" type="email" class="form-control"
190 id="inputEmail3" placeholder="Attribute name">
193 <div class="form-group row">
194 <label for="inputPassword3" class="col-sm-3 col-form-label">Description</label>
195 <div class="col-sm-9">
196 <input [(ngModel)]="outputActionAttribute.description" type="text" class="form-control"
197 id="inputPassword3" placeholder="Add some description">
200 <div class="form-group row">
201 <label class="col-form-label col-sm-3 pt-0">Required <span>*</span></label>
202 <div class="col-sm-9">
203 <div class="custom-control custom-radio custom-control-inline">
204 <input type="radio" id="customRadioInline3" name="customRadioInline3"
205 class="custom-control-input" (click)="setOutputRequired(true)">
206 <label class="custom-control-label" for="customRadioInline3">True</label>
208 <div class="custom-control custom-radio custom-control-inline">
209 <input type="radio" id="customRadioInline4" name="customRadioInline3"
210 class="custom-control-input">
211 <label class="custom-control-label" for="customRadioInline4"
212 (click)="setOutputRequired(false)">False</label>
216 <div class="form-group row">
217 <label class="col-form-label col-sm-3 pt-0">Type <span>*</span></label>
218 <div class="col-sm-9">
219 <div class="list-group list-group-horizontal">
220 <button type="button" class="list-group-item list-group-item-action"
221 (click)="setOutputType('String')">String
223 <button type="button" class="list-group-item list-group-item-action"
224 (click)="setOutputType('Integer')">
227 <button type="button" class="list-group-item list-group-item-action"
228 (click)="setOutputType('Boolean')">
231 <button type="button" class="list-group-item list-group-item-action"
232 (click)="setOutputType('List')">
235 <button type="button" class="list-group-item list-group-item-action"
236 (click)="setOutputType('Other')">
240 <input [hidden]="!isOutputOtherType" type="text" class="form-control mt-2 mb-2"
241 id="inputPassword3" placeholder="Add Other type name"
242 [(ngModel)]="outputOtherType"
243 (change)="setOutputType(outputOtherType)">
246 <!--Get Attribute Value-->
247 <div class="form-group row mb-0">
248 <label class="col-form-label col pt-0">
249 Value <span class="notation">(get_attribute)</span>
252 <div class="form-group row">
254 <input type="email" class="form-control" id="inputEmail3" placeholder="Attributes">
255 <div class="container">
256 <!-- <div *ngFor="let tempInput of steps">{{tempInput}}</div>-->
262 <section class="carousel" aria-label="Gallery">
264 <ol class="carousel__viewport">
266 <li id="carousel__slide1" tabindex="0" class="carousel__slide">
267 <b class="listBoxTitle">1. Choose Function Name</b>
268 <div class="list-group addedFunctionsList" id="list-tab" role="tablist">
269 <input type="text" class="form-control input-search-controller"
270 placeholder="Functions">
271 <div class="scrollWrapper" *ngFor="let step of steps">
272 <a class="list-group-item list-group-item-action active" id="list-home-list"
273 data-toggle="list" href="#list-home" role="tab" aria-controls="home">
274 <i class="icon-resource_resolution mr-1" aria-hidden="true"></i>
275 {{step}} <i class="icon-next_arrow" aria-hidden="true" (click)="getAttributesAndOutputs(
276 this.designerState.template.workflows[actionName]['steps'][step]['target']
280 <div class="carousel__snapper" [hidden]="!isNotComponentResourceResolution">
281 <a href="#carousel__slide4" [hidden]="isParametersHidden"
282 class="carousel__prev">Parameters</a>
283 <a href="#carousel__slide2" class="carousel__next">Attributes</a>
287 <li id="carousel__slide2" tabindex="1" class="carousel__slide">
288 <b class="listBoxTitle">2. Choose Attribute Name</b>
289 <div class="tab-content nestedAttributes mt-0 p-0" id="nav-tabContent">
290 <input type="text" class="form-control input-search-controller"
291 placeholder="Attributes">
292 <div class="tab-pane fade show active" id="list-home" role="tabpanel"
293 aria-labelledby="list-home-list">
294 <div class="scrollWrapper">
295 <div *ngIf="suggestedAttributes.length>0"
296 class="btn-group btn-group-toggle" data-toggle="buttons">
297 <label class="btn btn-secondary active"
298 *ngFor="let suggestedAttribute of suggestedAttributes"
299 [id]="suggestedAttribute"
300 (click)="addTempOutputAttr(suggestedAttribute)">
301 <input type="radio" name="options"
302 [id]="suggestedAttribute+'.,.'"
304 {{suggestedAttribute}}
308 <div *ngIf="suggestedAttributes.length == 0">
309 <p class="noAttributes">No Attributes Available</p>
314 <div class="carousel__snapper"></div>
315 <a href="#carousel__slide1" class="carousel__prev">Functions</a>
316 <a href="#carousel__slide3" [hidden]="!isNotComponentResourceResolution"
317 class="carousel__next">Artifacts</a>
321 <li id="carousel__slide3" [hidden]="isNotComponentResourceResolution" tabindex="2"
322 class="carousel__slide">
323 <b class="listBoxTitle">3. Choose Artifact Name</b>
324 <div class="tab-content nestedAttributes mt-0 p-0" id="nav-tabContent">
325 <input type="text" class="form-control input-search-controller"
326 placeholder="Attributes">
327 <div class="tab-pane fade show active" id="list-home" role="tabpanel"
328 aria-labelledby="list-home-list">
329 <div class="scrollWrapper">
330 <div *ngIf="currentArtifacts.length>0"
331 class="btn-group btn-group-toggle" data-toggle="buttons">
332 <label class="btn btn-secondary active"
333 *ngFor="let suggestedArtifact of currentArtifacts"
334 (click)="addArtifactFile(suggestedArtifact)">
335 <input type="radio" name="options" [id]="suggestedArtifact"
337 (click)="addTempOutputAttr(suggestedArtifact)">
338 {{suggestedArtifact}}
342 <div *ngIf="currentArtifacts.length == 0">
343 <p class="noAttributes">No Artifacts Available</p>
348 <div class="carousel__snapper" [hidden]="!isNotComponentResourceResolution">
349 <a href="#carousel__slide2" class="carousel__prev">Attributes</a>
350 <a href="#carousel__slide4" [hidden]="isParametersHidden"
351 class="carousel__next">Parmeters</a>
355 <li id="carousel__slide4"
356 [hidden]="isParametersHidden" tabindex="3"
357 class="carousel__slide">
358 <b class="listBoxTitle">4. Choose Parameter Name</b>
359 <div class="tab-content nestedAttributes mt-0 p-0" id="nav-tabContent">
360 <input type="text" class="form-control input-search-controller"
361 placeholder="Attributes">
362 <div class="tab-pane fade show active" id="list-home" role="tabpanel"
363 aria-labelledby="list-home-list">
364 <div class="scrollWrapper">
365 <div *ngIf="suggestedAttributes.length>0"
366 class="btn-group btn-group-toggle" data-toggle="buttons">
367 <label class="btn btn-secondary active"
368 *ngFor="let suggestedAttribute of suggestedAttributes"
369 (click)="addTempOutputAttr(suggestedAttribute)">
370 <input type="radio" name="options" [id]="suggestedAttribute"
372 (click)="addTempOutputAttr(suggestedAttribute)">
373 {{suggestedAttribute}}
377 <div *ngIf="suggestedAttributes.length == 0">
378 <p class="noAttributes">No Attributes Available</p>
383 <div class="carousel__snapper"></div>
384 <a href="#carousel__slide3" [hidden]="isNotComponentResourceResolution"
385 class="carousel__prev">Artifacts</a>
386 <a href="#carousel__slide1" class="carousel__next">Functions</a>
390 <aside class="carousel__navigation">
391 <ol class="carousel__navigation-list">
392 <li class="carousel__navigation-item">
393 <a href="#carousel__slide1" class="carousel__navigation-button">Functions</a>
395 <li class="carousel__navigation-item">
396 <a href="#carousel__slide2" class="carousel__navigation-button">Attributes</a>
398 <li class="carousel__navigation-item" [hidden]="isNotComponentResourceResolution">
399 <a href="#carousel__slide3" class="carousel__navigation-button">Artifacts</a>
401 <li class="carousel__navigation-item"
402 [hidden]="isParametersHidden">
403 <a href="#carousel__slide4"
404 class="carousel__navigation-button">Parameters</a>
412 <div class="modal-footer">
413 <button type="button" class="btn btn-secondary" data-dismiss="modal">Cancel</button>
414 <button type="button" class="btn btn-primary" (click)="submitAttributes()">Submit Attributes</button>
420 <!--Action - Add Attribute From Function - Modal-->
421 <div class="modal fade" id="exampleModalScrollable3" tabindex="-1" role="dialog"
422 aria-labelledby="exampleModalScrollableTitle3" aria-hidden="true">
423 <div class="modal-dialog modal-dialog-scrollable" role="document">
424 <div class="modal-content">
425 <div class="modal-header">
426 <h5 class="modal-title" id="exampleModalScrollableTitle3">
427 Add Attributes from Function</h5>
428 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
429 <img src="assets/img/icon-close.svg"/>
432 <div class="modal-body createAttributeTabs">
433 <!--Action - Inputs & Outputs Attribute-->
434 <ul class="nav nav-tabs" id="myTab" role="tablist">
435 <li class="nav-item">
436 <a class="nav-link active" id="home-tab" data-toggle="tab" href="#input" role="tab"
437 aria-controls="home" aria-selected="true">Inputs</a>
439 <li class="nav-item">
440 <a class="nav-link" id="profile-tab" data-toggle="tab" href="#output" role="tab"
441 aria-controls="profile" aria-selected="false">Outputs</a>
444 <div class="tab-content border-0 mt-2" id="myTabContent">
446 <div class="tab-pane fade show active create-form" id="input" role="tabpanel"
447 aria-labelledby="input-tab">
448 <div class="form-group row">
450 <input type="email" class="form-control" id="inputEmail3" placeholder="Attributes">
451 <div class="container">
452 <div *ngFor="let tempInput of tempInputs">{{tempInput}}</div>
459 <b class="listBoxTitle">1. Choose Function Name</b>
460 <div class="list-group addedFunctionsList" id="list-tab" role="tablist">
461 <input type="text" class="form-control input-search-controller"
462 placeholder="Functions">
463 <div class="scrollWrapper" *ngFor="let step of steps">
464 <a class="list-group-item list-group-item-action active" id="list-home-list"
465 data-toggle="list" href="#list-home" role="tab" aria-controls="home"><i
466 class="icon-resource_resolution mr-1" aria-hidden="true"></i>
467 {{step}} <i class="icon-next_arrow" aria-hidden="true" (click)="setInputAndOutputs(
468 this.designerState.template.workflows[actionName]['steps'][step]['target']
474 <b class="listBoxTitle">2. Choose Input Attribute Name</b>
475 <div class="tab-content nestedAttributes mt-0 p-0" id="nav-tabContent">
476 <input type="text" class="form-control input-search-controller"
477 placeholder="Attributes">
478 <div class="tab-pane fade show active" id="list-home" role="tabpanel"
479 aria-labelledby="list-home-list">
480 <div class="scrollWrapper">
481 <div *ngIf="suggestedInputs.length>0" class="btn-group btn-group-toggle"
482 data-toggle="buttons">
483 <label class="btn btn-secondary active"
484 *ngFor="let suggestedInput of suggestedInputs"
485 (click)="addTempInput(suggestedInput)">
486 <input type="radio" name="options" [id]="suggestedInput"
487 autocomplete="off" (click)="addTempInput(suggestedInput)">
491 <div *ngIf="suggestedInputs.length == 0">
492 <p class="noAttributes">No Attributes Available</p>
501 <div class="tab-pane fade create-form" id="output" role="tabpanel" aria-labelledby="output-tab">
502 <div class="form-group row">
504 <input type="email" class="form-control" id="inputEmail3" placeholder="Attributes">
505 <div class="container">
506 <div *ngFor="let tempOutput of tempOutputs">{{tempOutput}}</div>
513 <b class="listBoxTitle">1. Choose Function Name</b>
514 <div class="list-group addedFunctionsList" id="list-tab" role="tablist">
515 <input type="text" class="form-control input-search-controller"
516 placeholder="Functions">
517 <div class="scrollWrapper" *ngFor="let step of steps">
518 <a class="list-group-item list-group-item-action active" id="list-home-list"
519 data-toggle="list" href="#list-home" role="tab" aria-controls="home"><i
520 class="icon-resource_resolution mr-1" aria-hidden="true"></i>
521 {{step}} <i class="icon-next_arrow" aria-hidden="true" (click)="setInputAndOutputs(
522 this.designerState.template.workflows[actionName]['steps'][step]['target']
528 <b class="listBoxTitle">2. Choose output Attribute Name</b>
529 <div class="tab-content nestedAttributes mt-0 p-0" id="nav-tabContent">
530 <input type="text" class="form-control input-search-controller"
531 placeholder="Attributes">
532 <div class="tab-pane fade show active" id="list-home" role="tabpanel"
533 aria-labelledby="list-home-list">
534 <div class="scrollWrapper">
535 <div *ngIf="suggestedOutputs.length > 0" class="btn-group btn-group-toggle"
536 data-toggle="buttons">
537 <label class="btn btn-secondary active"
538 *ngFor="let suggestedOutput of suggestedOutputs">
539 <input type="radio" name="options" [id]="suggestedOutput"
541 (dblclick)="addTempOutput(suggestedOutput)">
546 <div *ngIf="suggestedOutputs.length == 0">
547 <p class="noAttributes">No Attributes Available</p>
557 <div class="modal-footer">
558 <button type="button" class="btn btn-secondary" data-dismiss="modal">Cancel</button>
559 <button type="button" class="btn btn-primary" (click)="submitTempAttributes()">Submit
567 <!--Delete Action - Modal-->
568 <div class="modal fade" id="exampleModalScrollable1" tabindex="-1" role="dialog"
569 aria-labelledby="exampleModalScrollableTitle1" aria-hidden="true">
570 <div class="modal-dialog modal-dialog-scrollable" role="document">
571 <div class="modal-content">
572 <div class="modal-header">
573 <h5 class="modal-title" id="exampleModalScrollableTitle1">
575 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
576 <img src="assets/img/icon-close.svg"/>
579 <div class="modal-body">
580 Are you sure you want to delete <b>resource-assignment</b> action?
582 <div class="modal-footer">
583 <button type="button" class="btn btn-secondary" data-dismiss="modal">Cancel</button>
584 <button type="button" class="btn btn-primary">Delete</button>
589 <!--Action - Edit Custom Attribute - Modal-->
590 <div class="modal fade" id="exampleModalScrollable2" tabindex="-1" role="dialog"
591 aria-labelledby="exampleModalScrollableTitle2" aria-hidden="true">
592 <div class="modal-dialog modal-dialog-scrollable" role="document">
593 <div class="modal-content">
594 <div class="modal-header">
595 <h5 class="modal-title" id="exampleModalScrollableTitle2">
596 Edit Custom Attributes</h5>
597 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
598 <img src="assets/img/icon-close.svg"/>
601 <div class="modal-body createAttributeTabs">
602 <div class="create-form">
603 <div class="form-group row">
604 <label for="inputEmail3" class="col-sm-3 col-form-label">Name <span>*</span></label>
605 <div class="col-sm-9">
606 <input type="email" class="form-control" id="inputEmail3" placeholder="Attribute name"
607 value="resource-assignment-properties">
610 <div class="form-group row">
611 <label for="inputPassword3" class="col-sm-3 col-form-label">Description</label>
612 <div class="col-sm-9">
613 <input type="text" class="form-control" id="inputPassword3"
614 placeholder="Add some description"
615 value="Dynamic PropertyDefinition for workflow(resource-assignment).">
618 <div class="form-group row">
619 <label class="col-form-label col-sm-3 pt-0">Type <span>*</span></label>
620 <div class="col-sm-9">
621 <div class="list-group list-group-horizontal">
622 <button type="button" class="list-group-item list-group-item-action">String
624 <button type="button" class="list-group-item list-group-item-action">Integer</button>
625 <button type="button" class="list-group-item list-group-item-action">Boolean</button>
626 <button type="button" class="list-group-item list-group-item-action">List</button>
627 <button type="button" class="list-group-item list-group-item-action active">Other
630 <input type="text" class="form-control mt-2 mb-2" id="inputPassword3"
631 placeholder="Add Other type name" value="dt-resource-assignment-properties">
634 <div class="form-group row">
635 <label class="col-form-label col-sm-3 pt-0">Required <span>*</span></label>
636 <div class="col-sm-9">
637 <div class="custom-control custom-radio custom-control-inline">
638 <input type="radio" id="customRadioInline1" name="customRadioInline1"
639 class="custom-control-input" checked>
640 <label class="custom-control-label" for="customRadioInline1">True</label>
642 <div class="custom-control custom-radio custom-control-inline">
643 <input type="radio" id="customRadioInline2" name="customRadioInline1"
644 class="custom-control-input">
645 <label class="custom-control-label" for="customRadioInline2">False</label>
650 <div class="modal-footer">
651 <button type="button" class="btn btn-secondary" data-dismiss="modal">Cancel</button>
652 <button type="button" class="btn btn-primary">Save</button>