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" (click)="clearFormInputs()"><i class="icon-custom-attribute"
18 type="button" 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 action-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 class="tooltipHTML">{{input.name}}
47 <span class="tooltiptext">
50 <span>function_name</span>
51 <span>attribute_name</span>
52 <span>artifact_name</span>
53 <span>parameter_name</span>
55 <i [hidden]="!input.required" class="icon-required-star" type="button"
56 aria-hidden="true"></i>
57 <i [hidden]="input.required" class="icon-required-star optional-attribute"
58 type="button" aria-hidden="true"></i>
60 <div class="attributeOptions">
61 <a data-toggle="modal" data-target="#exampleModalScrollable2"
62 class="accordion-delete editAttribute" tooltip="Edit Attribute"
63 placement="bottom" (click)="editAttribute(input)"><i class="icon-edit"></i></a>
64 <a class="accordion-delete deleteAttribute" tooltip="Delete Attribute"
65 placement="bottom"><i class="icon-delete-sm"></i></a>
75 <div class="accordion action-accordion" id="accordionExample1">
77 <div class="card-header" id="headingOne">
79 <button class="btn btn-link" type="button" data-toggle="collapse" data-target="#collapseTwo"
80 aria-expanded="true" aria-controls="collapseTwo">
86 <div id="collapseTwo" class="collapse show" aria-labelledby="headingOne" data-parent="#accordionExample1">
87 <div class="card-body">
90 <div class="form-group" *ngFor="let output of outputs">
91 <label class="tooltipHTML">{{output.name}}
92 <span class="tooltiptext">
95 <span>function_name</span>
96 <span>attribute_name</span>
97 <span>artifact_name</span>
98 <span>parameter_name</span>
100 <i [hidden]="!output.required" class="icon-required-star" type="button"
101 aria-hidden="true"></i>
102 <i [hidden]="output.required" class="icon-required-star optional-attribute"
103 type="button" aria-hidden="true"></i>
106 <div class="attributeOptions">
107 <a data-toggle="modal" data-target="#exampleModalScrollable2"
108 class="accordion-delete editAttribute" tooltip="Edit Attribute"
109 placement="bottom" (click)="editAttribute(output)"><i class="icon-edit"></i></a>
110 <a class="accordion-delete deleteAttribute" tooltip="Delete Attribute"
111 placement="bottom"><i class="icon-delete-sm"></i></a>
121 <!--Action - Add Custom Attribute - Modal-->
122 <div class="modal fade" id="exampleModalScrollable" tabindex="-1" role="dialog"
123 aria-labelledby="exampleModalScrollableTitle" aria-hidden="true">
124 <div class="modal-dialog modal-dialog-scrollable" role="document">
125 <div class="modal-content">
126 <div class="modal-header">
127 <h5 class="modal-title" id="exampleModalScrollableTitle">
128 Add Custom Attributes</h5>
129 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
130 <img src="assets/img/icon-close.svg"/>
133 <div class="modal-body createAttributeTabs">
134 <!--Action - Inputs & Outputs Attribute-->
135 <ul class="nav nav-tabs" id="myTab" role="tablist">
136 <li class="nav-item">
137 <a class="nav-link active" id="home-tab" data-toggle="tab" href="#home" role="tab"
138 aria-controls="home" aria-selected="true">Inputs</a>
140 <li class="nav-item">
141 <a class="nav-link" id="profile-tab" data-toggle="tab" href="#profile" role="tab"
142 aria-controls="profile" aria-selected="false">Outputs</a>
145 <div class="tab-content" id="myTabContent">
147 <div class="tab-pane fade show active create-form" id="home" role="tabpanel"
148 aria-labelledby="home-tab">
149 <div class="form-group row">
150 <label for="inputEmail3" class="col-sm-3 col-form-label">Name <span>*</span></label>
151 <div class="col-sm-9">
152 <input [(ngModel)]="inputActionAttribute.name" type="email" class="form-control"
153 id="inputEmail3" placeholder="Attribute name">
156 <div class="form-group row">
157 <label for="inputPassword3" class="col-sm-3 col-form-label">Description</label>
158 <div class="col-sm-9">
159 <input [(ngModel)]="inputActionAttribute.description" type="text" class="form-control"
160 id="inputPassword3" placeholder="Add some description">
163 <div class="form-group row">
164 <label class="col-form-label col-sm-3 pt-0">Type <span>*</span></label>
165 <div class="col-sm-9">
166 <div class="list-group list-group-horizontal">
167 <button type="button" class="list-group-item list-group-item-action"
168 (click)="setInputType('string')">
171 <button type="button" class="list-group-item list-group-item-action"
172 (click)="setInputType('integer')">Integer
174 <button type="button" class="list-group-item list-group-item-action"
175 (click)="setInputType('boolean')">Boolean
177 <button type="button" class="list-group-item list-group-item-action"
178 (click)="setInputType('list')">List
180 <button type="button" class="list-group-item list-group-item-action"
181 (click)="setInputType('Other')">Other
184 <input [hidden]="!isInputOtherType" type="text" class="form-control mt-2 mb-2"
185 id="inputPassword4" placeholder="Add Other type name"
186 [(ngModel)]="inputOtherType"
187 (change)="setInputType(inputOtherType)">
191 <div class="form-group row">
192 <label class="col-form-label col-sm-3 pt-0">Required <span>*</span></label>
193 <div class="col-sm-9">
194 <div class="custom-control custom-radio custom-control-inline">
195 <input type="radio" id="customRadioInline1" name="customRadioInline1"
196 class="custom-control-input" (click)="setInputRequired(true)">
197 <label class="custom-control-label" for="customRadioInline1">True</label>
199 <div class="custom-control custom-radio custom-control-inline">
200 <input type="radio" id="customRadioInline2" name="customRadioInline1"
201 class="custom-control-input" (click)="setInputRequired(false)">
202 <label class="custom-control-label" for="customRadioInline2">False</label>
208 <div class="tab-pane fade create-form" id="profile" role="tabpanel" aria-labelledby="profile-tab">
209 <div class="form-group row">
210 <label for="inputEmail3" class="col-sm-3 col-form-label">Name <span>*</span></label>
211 <div class="col-sm-9">
212 <input [(ngModel)]="outputActionAttribute.name" type="email" class="form-control"
213 id="inputEmail3" placeholder="Attribute name">
216 <div class="form-group row">
217 <label for="inputPassword3" class="col-sm-3 col-form-label">Description</label>
218 <div class="col-sm-9">
219 <input [(ngModel)]="outputActionAttribute.description" type="text" class="form-control"
220 id="inputPassword3" placeholder="Add some description">
223 <div class="form-group row">
224 <label class="col-form-label col-sm-3 pt-0">Required <span>*</span></label>
225 <div class="col-sm-9">
226 <div class="custom-control custom-radio custom-control-inline">
227 <input type="radio" id="customRadioInline3" name="customRadioInline3"
228 class="custom-control-input" (click)="setOutputRequired(true)">
229 <label class="custom-control-label" for="customRadioInline3">True</label>
231 <div class="custom-control custom-radio custom-control-inline">
232 <input type="radio" id="customRadioInline4" name="customRadioInline3"
233 class="custom-control-input">
234 <label class="custom-control-label" for="customRadioInline4"
235 (click)="setOutputRequired(false)">False</label>
239 <div class="form-group row">
240 <label class="col-form-label col-sm-3 pt-0">Type <span>*</span></label>
241 <div class="col-sm-9">
242 <div class="list-group list-group-horizontal">
243 <button type="button" class="list-group-item list-group-item-action"
244 (click)="setOutputType('string')">String
246 <button type="button" class="list-group-item list-group-item-action"
247 (click)="setOutputType('integer')">
250 <button type="button" class="list-group-item list-group-item-action"
251 (click)="setOutputType('boolean')">
254 <button type="button" class="list-group-item list-group-item-action"
255 (click)="setOutputType('list')">
258 <button type="button" class="list-group-item list-group-item-action"
259 (click)="setOutputType('Other')">
263 <input [hidden]="!isOutputOtherType" type="text" class="form-control mt-2 mb-2"
264 id="inputPassword3" placeholder="Add Other type name"
265 [(ngModel)]="outputOtherType"
266 (change)="setOutputType(outputOtherType)">
269 <!--Get Attribute Value-->
270 <div class="form-group row mb-0">
271 <label class="col-form-label col pt-0">
272 Value <span class="notation">(get_attribute)</span>
275 <div class="form-group row">
277 <input type="email" class="form-control" id="inputEmail3" placeholder="Attributes">
278 <div class="container p-0">
279 <!-- <div *ngFor="let tempInput of steps" class="selectedWrapper">{{tempInput}}</div> -->
285 <section class="carousel" aria-label="Gallery">
287 <ol class="carousel__viewport">
289 <li id="carousel__slide1" tabindex="0" class="carousel__slide">
290 <b class="listBoxTitle">1. Choose Function Name</b>
291 <div class="list-group addedFunctionsList" id="list-tab" role="tablist">
292 <input type="text" class="form-control input-search-controller"
293 placeholder="Functions">
294 <div class="scrollWrapper" *ngFor="let step of steps">
295 <a class="list-group-item list-group-item-action active" id="list-home-list"
296 data-toggle="list" href="#list-home" role="tab" aria-controls="home">
297 <i class="icon-resource_resolution mr-1" aria-hidden="true"></i>
298 {{step}} <i class="icon-next_arrow" aria-hidden="true" (click)="getAttributesAndOutputs(
299 this.designerState.template.workflows[actionName]['steps'][step]['target']
305 <li id="carousel__slide2" tabindex="1" class="carousel__slide">
306 <b class="listBoxTitle">2. Choose Attribute Name</b>
307 <div class="tab-content nestedAttributes mt-0 p-0" id="nav-tabContent">
308 <input type="text" class="form-control input-search-controller"
309 placeholder="Attributes">
310 <div class="tab-pane fade show active" id="list-home" role="tabpanel"
311 aria-labelledby="list-home-list">
312 <div class="scrollWrapper">
313 <div *ngIf="suggestedAttributes.length>0"
314 class="btn-group btn-group-toggle" data-toggle="buttons">
315 <label class="btn tooltipHTML tooltipGetAtt"
316 *ngFor="let suggestedAttribute of suggestedAttributes"
317 [id]="suggestedAttribute"
318 (click)="addTempOutputAttr(suggestedAttribute)">
319 <span class="tooltiptext">
322 <input type="radio" name="options"
323 [id]="suggestedAttribute+'.,.'"
324 autocomplete="off" [checked]="suggestedAttributes[0].includes(suggestedAttribute)">
325 {{suggestedAttribute}}
326 <i class="icon-required-star" type="button"
327 aria-hidden="true"></i>
331 <div *ngIf="suggestedAttributes.length == 0">
332 <p class="noAttributes">No Attributes Available</p>
339 <li id="carousel__slide3" [hidden]="isNotComponentResourceResolution" tabindex="2"
340 class="carousel__slide">
341 <b class="listBoxTitle">3. Choose Artifact Name</b>
342 <div class="tab-content nestedAttributes mt-0 p-0" id="nav-tabContent">
343 <input type="text" class="form-control input-search-controller"
344 placeholder="Attributes">
345 <div class="tab-pane fade show active" id="list-home" role="tabpanel"
346 aria-labelledby="list-home-list">
347 <div class="scrollWrapper">
348 <div *ngIf="currentArtifacts.length>0"
349 class="btn-group btn-group-toggle" data-toggle="buttons">
350 <label class="btn btn-secondary"
351 *ngFor="let suggestedArtifact of currentArtifacts"
352 (click)="addArtifactFile(suggestedArtifact)">
353 <input type="radio" name="options" [id]="suggestedArtifact"
355 (click)="addArtifactFile(suggestedArtifact)"
356 [checked]="currentArtifacts[0].includes(suggestedArtifact)"
358 {{suggestedArtifact}}
362 <div *ngIf="currentArtifacts.length == 0">
363 <p class="noAttributes">No Artifacts Available</p>
370 <li id="carousel__slide4"
371 [hidden]="isParametersHidden" tabindex="3"
372 class="carousel__slide">
373 <b class="listBoxTitle">4. Choose Parameter Name</b>
374 <div class="tab-content nestedAttributes mt-0 p-0" id="nav-tabContent">
375 <input type="text" class="form-control input-search-controller"
376 placeholder="Attributes">
377 <div class="tab-pane fade show active" id="list-home" role="tabpanel"
378 aria-labelledby="list-home-list">
379 <div class="scrollWrapper">
380 <div *ngIf="suggestedMappingParameters.length>0"
381 class="btn-group btn-group-toggle" data-toggle="buttons">
382 <label class="btn btn-secondary"
383 *ngFor="let suggestedMappingParameter of suggestedMappingParameters"
384 (click)="addSuggestedMappingParameter(suggestedMappingParameter)">
385 <!--[class]="suggestedMappingParameters[0].includes(suggestedMappingParameter)?'btn btn-secondary active':'btn btn-secondary'">
386 --> <input type="radio" name="options" [id]="suggestedMappingParameter"
388 (click)="addSuggestedMappingParameter(suggestedMappingParameter)"
389 [checked]="suggestedMappingParameters[0].includes(suggestedMappingParameter)"
392 {{suggestedMappingParameter}}
396 <div *ngIf="suggestedMappingParameters.length == 0">
397 <p class="noAttributes">No Attributes Available</p>
404 <aside class="carousel__navigation">
405 <ol class="carousel__navigation-list">
406 <li class="carousel__navigation-item">
407 <a href="#carousel__slide1" class="carousel__navigation-button">Functions</a>
409 <li class="carousel__navigation-item">
410 <a href="#carousel__slide2" class="carousel__navigation-button">Attributes</a>
412 <li class="carousel__navigation-item" [hidden]="isNotComponentResourceResolution">
413 <a href="#carousel__slide3" class="carousel__navigation-button">Artifacts</a>
415 <li class="carousel__navigation-item"
416 [hidden]="isParametersHidden">
417 <a href="#carousel__slide4"
418 class="carousel__navigation-button">Parameters</a>
426 <div class="modal-footer">
427 <button type="button" class="btn btn-secondary" data-dismiss="modal">Cancel</button>
428 <button type="button" class="btn btn-primary" (click)="submitAttributes()">Submit Attributes</button>
434 <!--Action - Add Attribute From Function - Modal-->
435 <div class="modal fade" id="exampleModalScrollable3" tabindex="-1" role="dialog"
436 aria-labelledby="exampleModalScrollableTitle3" aria-hidden="true">
437 <div class="modal-dialog modal-dialog-scrollable" role="document">
438 <div class="modal-content">
439 <div class="modal-header">
440 <h5 class="modal-title" id="exampleModalScrollableTitle3">
441 Add Attributes from Function</h5>
442 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
443 <img src="assets/img/icon-close.svg"/>
446 <div class="modal-body createAttributeTabs">
447 <!--Action - Inputs & Outputs Attribute-->
448 <ul class="nav nav-tabs" id="myTab" role="tablist">
449 <li class="nav-item">
450 <a class="nav-link active" id="home-tab" data-toggle="tab" href="#input" role="tab"
451 aria-controls="home" aria-selected="true" >Inputs</a>
453 <li class="nav-item">
454 <a class="nav-link" id="profile-tab" data-toggle="tab" href="#output" role="tab"
455 aria-controls="profile" aria-selected="false" >Outputs</a>
458 <div class="tab-content border-0" id="myTabContent">
460 <div class="tab-pane fade show active create-form" id="input" role="tabpanel"
461 aria-labelledby="input-tab">
462 <div class="form-group row">
464 <!--<input type="email" class="form-control" id="inputEmail3" placeholder="Attributes">-->
465 <div class="container p-0">
466 <label>Selected Attributes</label>
467 <div *ngFor="let tempInput of tempInputs" class="selectedWrapper">{{tempInput}}
475 <b class="listBoxTitle">1. Choose Function Name</b>
476 <div class="list-group addedFunctionsList" id="list-tab" role="tablist">
477 <input type="text" class="form-control input-search-controller"
478 placeholder="Functions">
479 <div class="scrollWrapper" *ngFor="let step of steps">
480 <a class="list-group-item list-group-item-action active" id="list-home-list"
481 data-toggle="list" href="#list-home" role="tab" aria-controls="home"><i
482 class="icon-resource_resolution mr-1" aria-hidden="true"></i>
483 {{step}} <i class="icon-next_arrow" aria-hidden="true" (click)="setInputAndOutputs(
484 this.designerState.template.workflows[actionName]['steps'][step]['target']
490 <b class="listBoxTitle">2. Choose Input Attribute Name</b>
491 <div class="tab-content nestedAttributes mt-0 p-0" id="nav-tabContent">
492 <input type="text" class="form-control input-search-controller"
493 placeholder="Attributes">
494 <div class="tab-pane fade show active" id="list-home" role="tabpanel"
495 aria-labelledby="list-home-list">
496 <div class="scrollWrapper">
497 <div *ngIf="suggestedInputs.length>0" class="btn-group btn-group-toggle"
498 data-toggle="buttons">
499 <label class="btn tooltipHTML tooltipGetAtt active"
500 *ngFor="let suggestedInput of suggestedInputs"
501 (click)="addTempInput(suggestedInput)">
502 <span class="tooltiptext">
505 <input type="radio" name="options" [id]="suggestedInput"
506 autocomplete="off" (click)="addTempInput(suggestedInput)">
508 <i class="icon-required-star" type="button"
509 aria-hidden="true"></i>
512 <div *ngIf="suggestedInputs.length == 0">
513 <p class="noAttributes">No Attributes Available</p>
522 <div class="tab-pane fade create-form" id="output" role="tabpanel" aria-labelledby="output-tab">
523 <div class="form-group row">
525 <input type="email" class="form-control" id="inputEmail3" placeholder="Attributes">
526 <div class="container p-0">
527 <div *ngFor="let tempOutput of tempOutputs" class="selectedWrapper">{{tempOutput}}
535 <b class="listBoxTitle">1. Choose Function Name</b>
536 <div class="list-group addedFunctionsList" id="list-tab" role="tablist">
537 <input type="text" class="form-control input-search-controller"
538 placeholder="Functions">
539 <div class="scrollWrapper" *ngFor="let step of steps">
540 <a class="list-group-item list-group-item-action active" id="list-home-list"
541 data-toggle="list" href="#list-home" role="tab" aria-controls="home"><i
542 class="icon-resource_resolution mr-1" aria-hidden="true"></i>
543 {{step}} <i class="icon-next_arrow" aria-hidden="true" (click)="setInputAndOutputs(
544 this.designerState.template.workflows[actionName]['steps'][step]['target']
550 <b class="listBoxTitle">2. Choose output Attribute Name</b>
551 <div class="tab-content nestedAttributes mt-0 p-0" id="nav-tabContent">
552 <input type="text" class="form-control input-search-controller"
553 placeholder="Attributes">
554 <div class="tab-pane fade show active" id="list-home" role="tabpanel"
555 aria-labelledby="list-home-list">
556 <div class="scrollWrapper">
557 <div *ngIf="suggestedOutputs.length > 0" class="btn-group btn-group-toggle"
558 data-toggle="buttons">
559 <label class="btn tooltipHTML tooltipGetAtt active"
560 *ngFor="let suggestedOutput of suggestedOutputs">
561 <span class="tooltiptext">
564 <input type="radio" name="options" [id]="suggestedOutput"
566 (dblclick)="addTempOutput(suggestedOutput)">
568 <i class="icon-required-star" type="button"
569 aria-hidden="true"></i>
573 <div *ngIf="suggestedOutputs.length == 0">
574 <p class="noAttributes">No Attributes Available</p>
584 <div class="modal-footer">
585 <button type="button" class="btn btn-secondary" data-dismiss="modal">Cancel</button>
586 <button type="button" class="btn btn-primary" (click)="submitTempAttributes()">Submit
594 <!--Delete Action - Modal-->
595 <div class="modal fade" id="exampleModalScrollable1" tabindex="-1" role="dialog"
596 aria-labelledby="exampleModalScrollableTitle1" aria-hidden="true">
597 <div class="modal-dialog modal-dialog-scrollable" role="document">
598 <div class="modal-content">
599 <div class="modal-header">
600 <h5 class="modal-title" id="exampleModalScrollableTitle1">
602 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
603 <img src="assets/img/icon-close.svg"/>
606 <div class="modal-body">
607 Are you sure you want to delete <b>resource-assignment</b> action?
609 <div class="modal-footer">
610 <button type="button" class="btn btn-secondary" data-dismiss="modal">Cancel</button>
611 <button type="button" class="btn btn-primary">Delete</button>
616 <!--Action - Edit Custom Attribute - Modal-->
617 <div class="modal fade" id="exampleModalScrollable2" tabindex="-1" role="dialog"
618 aria-labelledby="exampleModalScrollableTitle2" aria-hidden="true">
619 <div class="modal-dialog modal-dialog-scrollable" role="document">
620 <div class="modal-content">
621 <div class="modal-header">
622 <h5 class="modal-title" id="exampleModalScrollableTitle2">
623 Edit Custom Attributes</h5>
624 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
625 <img src="assets/img/icon-close.svg"/>
628 <div class="modal-body createAttributeTabs">
629 <div class="create-form">
630 <div class="form-group row">
631 <label for="inputEmail3" class="col-sm-3 col-form-label">Name <span>*</span></label>
632 <div class="col-sm-9">
633 <input type="email" class="form-control" id="inputEmail3" placeholder="Attribute name"
634 value="resource-assignment-properties">
637 <div class="form-group row">
638 <label for="inputPassword3" class="col-sm-3 col-form-label">Description</label>
639 <div class="col-sm-9">
640 <input type="text" class="form-control" id="inputPassword3"
641 placeholder="Add some description"
642 value="Dynamic PropertyDefinition for workflow(resource-assignment).">
645 <div class="form-group row">
646 <label class="col-form-label col-sm-3 pt-0">Type <span>*</span></label>
647 <div class="col-sm-9">
648 <div class="list-group list-group-horizontal">
649 <button type="button" class="list-group-item list-group-item-action">String
651 <button type="button" class="list-group-item list-group-item-action">Integer</button>
652 <button type="button" class="list-group-item list-group-item-action">Boolean</button>
653 <button type="button" class="list-group-item list-group-item-action">List</button>
654 <button type="button" class="list-group-item list-group-item-action active">Other
657 <input type="text" class="form-control mt-2 mb-2" id="inputPassword3"
658 placeholder="Add Other type name" value="dt-resource-assignment-properties">
661 <div class="form-group row">
662 <label class="col-form-label col-sm-3 pt-0">Required <span>*</span></label>
663 <div class="col-sm-9">
664 <div class="custom-control custom-radio custom-control-inline">
665 <input type="radio" id="customRadioInline1" name="customRadioInline1"
666 class="custom-control-input" checked>
667 <label class="custom-control-label" for="customRadioInline1">True</label>
669 <div class="custom-control custom-radio custom-control-inline">
670 <input type="radio" id="customRadioInline2" name="customRadioInline1"
671 class="custom-control-input">
672 <label class="custom-control-label" for="customRadioInline2">False</label>
677 <div class="modal-footer">
678 <button type="button" class="btn btn-secondary" data-dismiss="modal">Cancel</button>
679 <button type="button" class="btn btn-primary">Save</button>