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" 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 >{{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" (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>
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 >{{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>
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>
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"/>
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>
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>
129 <div class="tab-content" id="myTabContent">
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">
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">
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')">
155 <button type="button" class="list-group-item list-group-item-action"
156 (click)="setInputType('Integer')">Integer
158 <button type="button" class="list-group-item list-group-item-action"
159 (click)="setInputType('Boolean')">Boolean
161 <button type="button" class="list-group-item list-group-item-action"
162 (click)="setInputType('List')">List
164 <button type="button" class="list-group-item list-group-item-action"
165 (click)="setInputType('Other')">Other
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)">
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>
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>
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">
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">
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>
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>
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
230 <button type="button" class="list-group-item list-group-item-action"
231 (click)="setOutputType('Integer')">
234 <button type="button" class="list-group-item list-group-item-action"
235 (click)="setOutputType('Boolean')">
238 <button type="button" class="list-group-item list-group-item-action"
239 (click)="setOutputType('List')">
242 <button type="button" class="list-group-item list-group-item-action"
243 (click)="setOutputType('Other')">
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)">
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>
259 <div class="form-group row">
261 <input type="email" class="form-control" id="inputEmail3" placeholder="Attributes">
262 <div class="container">
263 <!-- <div *ngFor="let tempInput of steps">{{tempInput}}</div>-->
269 <section class="carousel" aria-label="Gallery">
271 <ol class="carousel__viewport">
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']
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}}
310 <div *ngIf="suggestedAttributes.length == 0">
311 <p class="noAttributes">No Attributes Available</p>
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"
334 (click)="addArtifactFile(suggestedArtifact)"
335 [checked]="currentArtifacts[0].includes(suggestedArtifact)"
337 {{suggestedArtifact}}
341 <div *ngIf="currentArtifacts.length == 0">
342 <p class="noAttributes">No Artifacts Available</p>
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"
367 (click)="addSuggestedMappingParameter(suggestedMappingParameter)"
368 [checked]="suggestedMappingParameters[0].includes(suggestedMappingParameter)"
371 {{suggestedMappingParameter}}
375 <div *ngIf="suggestedMappingParameters.length == 0">
376 <p class="noAttributes">No Attributes Available</p>
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>
388 <li class="carousel__navigation-item">
389 <a href="#carousel__slide2" class="carousel__navigation-button">Attributes</a>
391 <li class="carousel__navigation-item" [hidden]="isNotComponentResourceResolution">
392 <a href="#carousel__slide3" class="carousel__navigation-button">Artifacts</a>
394 <li class="carousel__navigation-item"
395 [hidden]="isParametersHidden">
396 <a href="#carousel__slide4"
397 class="carousel__navigation-button">Parameters</a>
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>
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"/>
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>
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>
437 <div class="tab-content border-0 mt-2" id="myTabContent">
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">
443 <input type="email" class="form-control" id="inputEmail3" placeholder="Attributes">
444 <div class="container">
445 <div *ngFor="let tempInput of tempInputs">{{tempInput}}</div>
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']
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)">
484 <div *ngIf="suggestedInputs.length == 0">
485 <p class="noAttributes">No Attributes Available</p>
494 <div class="tab-pane fade create-form" id="output" role="tabpanel" aria-labelledby="output-tab">
495 <div class="form-group row">
497 <input type="email" class="form-control" id="inputEmail3" placeholder="Attributes">
498 <div class="container">
499 <div *ngFor="let tempOutput of tempOutputs">{{tempOutput}}</div>
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']
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"
534 (dblclick)="addTempOutput(suggestedOutput)">
539 <div *ngIf="suggestedOutputs.length == 0">
540 <p class="noAttributes">No Attributes Available</p>
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
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">
568 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
569 <img src="assets/img/icon-close.svg"/>
572 <div class="modal-body">
573 Are you sure you want to delete <b>resource-assignment</b> action?
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>
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"/>
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">
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).">
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
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
623 <input type="text" class="form-control mt-2 mb-2" id="inputPassword3"
624 placeholder="Add Other type name" value="dt-resource-assignment-properties">
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>
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>
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>