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" [(ngModel)]="inputOtherType"
163 (change)="setInputType(inputOtherType)">
167 <div class="form-group row">
168 <label class="col-form-label col-sm-3 pt-0">Required <span>*</span></label>
169 <div class="col-sm-9">
170 <div class="custom-control custom-radio custom-control-inline">
171 <input type="radio" id="customRadioInline1" name="customRadioInline1"
172 class="custom-control-input" (click)="setInputRequired(true)">
173 <label class="custom-control-label" for="customRadioInline1">True</label>
175 <div class="custom-control custom-radio custom-control-inline">
176 <input type="radio" id="customRadioInline2" name="customRadioInline1"
177 class="custom-control-input" (click)="setInputRequired(false)">
178 <label class="custom-control-label" for="customRadioInline2">False</label>
184 <div class="tab-pane fade create-form" id="profile" role="tabpanel" aria-labelledby="profile-tab">
185 <div class="form-group row">
186 <label for="inputEmail3" class="col-sm-3 col-form-label">Name <span>*</span></label>
187 <div class="col-sm-9">
188 <input [(ngModel)]="outputActionAttribute.name" type="email" class="form-control"
189 id="inputEmail3" placeholder="Attribute name">
192 <div class="form-group row">
193 <label for="inputPassword3" class="col-sm-3 col-form-label">Description</label>
194 <div class="col-sm-9">
195 <input [(ngModel)]="outputActionAttribute.description" type="text" class="form-control"
196 id="inputPassword3" placeholder="Add some description">
199 <div class="form-group row">
200 <label class="col-form-label col-sm-3 pt-0">Required <span>*</span></label>
201 <div class="col-sm-9">
202 <div class="custom-control custom-radio custom-control-inline">
203 <input type="radio" id="customRadioInline3" name="customRadioInline3"
204 class="custom-control-input" (click)="setOutputRequired(true)">
205 <label class="custom-control-label" for="customRadioInline3">True</label>
207 <div class="custom-control custom-radio custom-control-inline">
208 <input type="radio" id="customRadioInline4" name="customRadioInline3"
209 class="custom-control-input">
210 <label class="custom-control-label" for="customRadioInline4"
211 (click)="setOutputRequired(false)">False</label>
215 <div class="form-group row">
216 <label class="col-form-label col-sm-3 pt-0">Type <span>*</span></label>
217 <div class="col-sm-9">
218 <div class="list-group list-group-horizontal">
219 <button type="button" class="list-group-item list-group-item-action"
220 (click)="setOutputType('String')">String
222 <button type="button" class="list-group-item list-group-item-action"
223 (click)="setOutputType('Integer')">
226 <button type="button" class="list-group-item list-group-item-action"
227 (click)="setOutputType('Boolean')">
230 <button type="button" class="list-group-item list-group-item-action"
231 (click)="setOutputType('List')">
234 <button type="button" class="list-group-item list-group-item-action"
235 (click)="setOutputType('Other')">
239 <input [hidden]="!isOutputOtherType" type="text" class="form-control mt-2 mb-2"
240 id="inputPassword3" placeholder="Add Other type name" [(ngModel)]="outputOtherType"
241 (change)="setOutputType(outputOtherType)">
244 <!--Get Attribute Value-->
245 <div class="form-group row mb-0">
246 <label class="col-form-label col pt-0">
247 Value <span class="notation">(get_attribute)</span>
250 <div class="form-group row">
252 <input type="email" class="form-control" id="inputEmail3" placeholder="Attributes">
253 <div class="container">
254 <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">
281 <a href="#carousel__slide4" class="carousel__prev">Parmeters</a>
282 <a href="#carousel__slide2" class="carousel__next">Attributes</a>
286 <li id="carousel__slide2" tabindex="0" class="carousel__slide">
287 <b class="listBoxTitle">2. Choose Attribute Name</b>
288 <div class="tab-content nestedAttributes mt-0 p-0" id="nav-tabContent">
289 <input type="text" class="form-control input-search-controller"
290 placeholder="Attributes">
291 <div class="tab-pane fade show active" id="list-home" role="tabpanel"
292 aria-labelledby="list-home-list">
293 <div class="scrollWrapper">
294 <div *ngIf="suggestedAttributes.length>0"
295 class="btn-group btn-group-toggle" data-toggle="buttons">
296 <label class="btn btn-secondary active"
297 *ngFor="let suggestedAttribute of suggestedAttributes"
298 (click)="addTempOutputAttr(suggestedAttribute)">
299 <input type="radio" name="options" [id]="suggestedAttribute"
301 (click)="addTempOutputAttr(suggestedAttribute)">
302 {{suggestedAttribute}}
306 <div *ngIf="suggestedAttributes.length == 0">
307 <p class="noAttributes">No Attributes Available</p>
308 <!--Attribute Details
309 <div class="nav-item dropdown helpMenu">
310 <input class="dropdown-toggle" type="text">
311 <div class="dropdown-text"><i class="icon-info" aria-hidden="true"></i></div>
312 <ul class="dropdown-content">
314 <i class="icon-get_started" aria-hidden="true"></i>
316 <input id="clicker3" type="checkbox" />
317 <label for="clicker">
319 <span>Quick steps to help you get started</span>
330 <div class="carousel__snapper"></div>
331 <a href="#carousel__slide1" class="carousel__prev">Functions</a>
332 <a href="#carousel__slide3" class="carousel__next">Artifacts</a>
335 <li id="carousel__slide3" tabindex="0" class="carousel__slide">
336 <b class="listBoxTitle">3. Choose Artifact Name</b>
337 <div class="tab-content nestedAttributes mt-0 p-0" id="nav-tabContent">
338 <input type="text" class="form-control input-search-controller"
339 placeholder="Attributes">
340 <div class="tab-pane fade show active" id="list-home" role="tabpanel"
341 aria-labelledby="list-home-list">
342 <div class="scrollWrapper">
343 <div *ngIf="suggestedAttributes.length>0"
344 class="btn-group btn-group-toggle" data-toggle="buttons">
345 <label class="btn btn-secondary active"
346 *ngFor="let suggestedAttribute of suggestedAttributes"
347 (click)="addTempOutputAttr(suggestedAttribute)">
348 <input type="radio" name="options" [id]="suggestedAttribute"
350 (click)="addTempOutputAttr(suggestedAttribute)">
351 {{suggestedAttribute}}
355 <div *ngIf="suggestedAttributes.length == 0">
356 <p class="noAttributes">No Attributes Available</p>
361 <div class="carousel__snapper"></div>
362 <a href="#carousel__slide2" class="carousel__prev">Attributes</a>
363 <a href="#carousel__slide4" class="carousel__next">Parmeters</a>
366 <li id="carousel__slide4" tabindex="0" class="carousel__slide">
367 <b class="listBoxTitle">4. Choose Parameter Name</b>
368 <div class="tab-content nestedAttributes mt-0 p-0" id="nav-tabContent">
369 <input type="text" class="form-control input-search-controller"
370 placeholder="Attributes">
371 <div class="tab-pane fade show active" id="list-home" role="tabpanel"
372 aria-labelledby="list-home-list">
373 <div class="scrollWrapper">
374 <div *ngIf="suggestedAttributes.length>0"
375 class="btn-group btn-group-toggle" data-toggle="buttons">
376 <label class="btn btn-secondary active"
377 *ngFor="let suggestedAttribute of suggestedAttributes"
378 (click)="addTempOutputAttr(suggestedAttribute)">
379 <input type="radio" name="options" [id]="suggestedAttribute"
381 (click)="addTempOutputAttr(suggestedAttribute)">
382 {{suggestedAttribute}}
386 <div *ngIf="suggestedAttributes.length == 0">
387 <p class="noAttributes">No Attributes Available</p>
392 <div class="carousel__snapper"></div>
393 <a href="#carousel__slide3" class="carousel__prev">Artifacts</a>
394 <a href="#carousel__slide1" class="carousel__next">Functions</a>
397 <aside class="carousel__navigation">
398 <ol class="carousel__navigation-list">
399 <li class="carousel__navigation-item">
400 <a href="#carousel__slide1" class="carousel__navigation-button">Functions</a>
402 <li class="carousel__navigation-item">
403 <a href="#carousel__slide2" class="carousel__navigation-button">Attributes</a>
405 <li class="carousel__navigation-item">
406 <a href="#carousel__slide3" class="carousel__navigation-button">Artifacts</a>
408 <li class="carousel__navigation-item">
409 <a href="#carousel__slide4" class="carousel__navigation-button">Parameters</a>
417 <div class="modal-footer">
418 <button type="button" class="btn btn-secondary" data-dismiss="modal">Cancel</button>
419 <button type="button" class="btn btn-primary" (click)="submitAttributes()">Submit Attributes</button>
425 <!--Action - Add Attribute From Function - Modal-->
426 <div class="modal fade" id="exampleModalScrollable3" tabindex="-1" role="dialog"
427 aria-labelledby="exampleModalScrollableTitle3" aria-hidden="true">
428 <div class="modal-dialog modal-dialog-scrollable" role="document">
429 <div class="modal-content">
430 <div class="modal-header">
431 <h5 class="modal-title" id="exampleModalScrollableTitle3">
432 Add Attributes from Function</h5>
433 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
434 <img src="assets/img/icon-close.svg" />
437 <div class="modal-body createAttributeTabs">
438 <!--Action - Inputs & Outputs Attribute-->
439 <ul class="nav nav-tabs" id="myTab" role="tablist">
440 <li class="nav-item">
441 <a class="nav-link active" id="home-tab" data-toggle="tab" href="#input" role="tab"
442 aria-controls="home" aria-selected="true">Inputs</a>
444 <li class="nav-item">
445 <a class="nav-link" id="profile-tab" data-toggle="tab" href="#output" role="tab"
446 aria-controls="profile" aria-selected="false">Outputs</a>
449 <div class="tab-content border-0 mt-2" id="myTabContent">
451 <div class="tab-pane fade show active create-form" id="input" role="tabpanel"
452 aria-labelledby="input-tab">
453 <div class="form-group row">
455 <input type="email" class="form-control" id="inputEmail3" placeholder="Attributes">
456 <div class="container">
457 <div *ngFor="let tempInput of tempInputs">{{tempInput}}</div>
464 <b class="listBoxTitle">1. Choose Function Name</b>
465 <div class="list-group addedFunctionsList" id="list-tab" role="tablist">
466 <input type="text" class="form-control input-search-controller"
467 placeholder="Functions">
468 <div class="scrollWrapper" *ngFor="let step of steps">
469 <a class="list-group-item list-group-item-action active" id="list-home-list"
470 data-toggle="list" href="#list-home" role="tab" aria-controls="home"><i
471 class="icon-resource_resolution mr-1" aria-hidden="true"></i>
472 {{step}} <i class="icon-next_arrow" aria-hidden="true" (click)="setInputAndOutputs(
473 this.designerState.template.workflows[actionName]['steps'][step]['target']
479 <b class="listBoxTitle">2. Choose Input Attribute Name</b>
480 <div class="tab-content nestedAttributes mt-0 p-0" id="nav-tabContent">
481 <input type="text" class="form-control input-search-controller"
482 placeholder="Attributes">
483 <div class="tab-pane fade show active" id="list-home" role="tabpanel"
484 aria-labelledby="list-home-list">
485 <div class="scrollWrapper">
486 <div *ngIf="suggestedInputs.length>0" class="btn-group btn-group-toggle"
487 data-toggle="buttons">
488 <label class="btn btn-secondary active"
489 *ngFor="let suggestedInput of suggestedInputs"
490 (click)="addTempInput(suggestedInput)">
491 <input type="radio" name="options" [id]="suggestedInput"
492 autocomplete="off" (click)="addTempInput(suggestedInput)">
496 <div *ngIf="suggestedInputs.length == 0">
497 <p class="noAttributes">No Attributes Available</p>
506 <div class="tab-pane fade create-form" id="output" role="tabpanel" aria-labelledby="output-tab">
507 <div class="form-group row">
509 <input type="email" class="form-control" id="inputEmail3" placeholder="Attributes">
510 <div class="container">
511 <div *ngFor="let tempOutput of tempOutputs">{{tempOutput}}</div>
518 <b class="listBoxTitle">1. Choose Function Name</b>
519 <div class="list-group addedFunctionsList" id="list-tab" role="tablist">
520 <input type="text" class="form-control input-search-controller"
521 placeholder="Functions">
522 <div class="scrollWrapper" *ngFor="let step of steps">
523 <a class="list-group-item list-group-item-action active" id="list-home-list"
524 data-toggle="list" href="#list-home" role="tab" aria-controls="home"><i
525 class="icon-resource_resolution mr-1" aria-hidden="true"></i>
526 {{step}} <i class="icon-next_arrow" aria-hidden="true" (click)="setInputAndOutputs(
527 this.designerState.template.workflows[actionName]['steps'][step]['target']
533 <b class="listBoxTitle">2. Choose output Attribute Name</b>
534 <div class="tab-content nestedAttributes mt-0 p-0" id="nav-tabContent">
535 <input type="text" class="form-control input-search-controller"
536 placeholder="Attributes">
537 <div class="tab-pane fade show active" id="list-home" role="tabpanel"
538 aria-labelledby="list-home-list">
539 <div class="scrollWrapper">
540 <div *ngIf="suggestedOutputs.length > 0" class="btn-group btn-group-toggle"
541 data-toggle="buttons">
542 <label class="btn btn-secondary active"
543 *ngFor="let suggestedOutput of suggestedOutputs">
544 <input type="radio" name="options" [id]="suggestedOutput"
545 autocomplete="off" (dblclick)="addTempOutput(suggestedOutput)">
550 <div *ngIf="suggestedOutputs.length == 0">
551 <p class="noAttributes">No Attributes Available</p>
561 <div class="modal-footer">
562 <button type="button" class="btn btn-secondary" data-dismiss="modal">Cancel</button>
563 <button type="button" class="btn btn-primary" (click)="submitTempAttributes()">Submit
570 <!--Delete Action - Modal-->
571 <div class="modal fade" id="exampleModalScrollable1" tabindex="-1" role="dialog"
572 aria-labelledby="exampleModalScrollableTitle1" aria-hidden="true">
573 <div class="modal-dialog modal-dialog-scrollable" role="document">
574 <div class="modal-content">
575 <div class="modal-header">
576 <h5 class="modal-title" id="exampleModalScrollableTitle1">
578 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
579 <img src="assets/img/icon-close.svg" />
582 <div class="modal-body">
583 Are you sure you want to delete <b>resource-assignment</b> action?
585 <div class="modal-footer">
586 <button type="button" class="btn btn-secondary" data-dismiss="modal">Cancel</button>
587 <button type="button" class="btn btn-primary">Delete</button>
592 <!--Action - Edit Custom Attribute - Modal-->
593 <div class="modal fade" id="exampleModalScrollable2" tabindex="-1" role="dialog"
594 aria-labelledby="exampleModalScrollableTitle2" aria-hidden="true">
595 <div class="modal-dialog modal-dialog-scrollable" role="document">
596 <div class="modal-content">
597 <div class="modal-header">
598 <h5 class="modal-title" id="exampleModalScrollableTitle2">
599 Edit Custom Attributes</h5>
600 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
601 <img src="assets/img/icon-close.svg" />
604 <div class="modal-body createAttributeTabs">
605 <div class="create-form">
606 <div class="form-group row">
607 <label for="inputEmail3" class="col-sm-3 col-form-label">Name <span>*</span></label>
608 <div class="col-sm-9">
609 <input type="email" class="form-control" id="inputEmail3" placeholder="Attribute name"
610 value="resource-assignment-properties">
613 <div class="form-group row">
614 <label for="inputPassword3" class="col-sm-3 col-form-label">Description</label>
615 <div class="col-sm-9">
616 <input type="text" class="form-control" id="inputPassword3"
617 placeholder="Add some description"
618 value="Dynamic PropertyDefinition for workflow(resource-assignment).">
621 <div class="form-group row">
622 <label class="col-form-label col-sm-3 pt-0">Type <span>*</span></label>
623 <div class="col-sm-9">
624 <div class="list-group list-group-horizontal">
625 <button type="button" class="list-group-item list-group-item-action">String
627 <button type="button" class="list-group-item list-group-item-action">Integer</button>
628 <button type="button" class="list-group-item list-group-item-action">Boolean</button>
629 <button type="button" class="list-group-item list-group-item-action">List</button>
630 <button type="button" class="list-group-item list-group-item-action active">Other
633 <input type="text" class="form-control mt-2 mb-2" id="inputPassword3"
634 placeholder="Add Other type name" value="dt-resource-assignment-properties">
637 <div class="form-group row">
638 <label class="col-form-label col-sm-3 pt-0">Required <span>*</span></label>
639 <div class="col-sm-9">
640 <div class="custom-control custom-radio custom-control-inline">
641 <input type="radio" id="customRadioInline1" name="customRadioInline1"
642 class="custom-control-input" checked>
643 <label class="custom-control-label" for="customRadioInline1">True</label>
645 <div class="custom-control custom-radio custom-control-inline">
646 <input type="radio" id="customRadioInline2" name="customRadioInline1"
647 class="custom-control-input">
648 <label class="custom-control-label" for="customRadioInline2">False</label>
653 <div class="modal-footer">
654 <button type="button" class="btn btn-secondary" data-dismiss="modal">Cancel</button>
655 <button type="button" class="btn btn-primary">Save</button>