aboutsummaryrefslogtreecommitdiffstats
path: root/cds-ui
diff options
context:
space:
mode:
authorSarah Abouzainah <sabouzainah.ext@orange.com>2020-11-08 17:05:20 +0200
committerSarah Abouzainah <sabouzainah.ext@orange.com>2020-11-08 17:08:48 +0200
commit01d15fc40570a5ff64dfe6a77ee0458889780a6d (patch)
treede672d5906acc51455e54620112ae340b149e41c /cds-ui
parentfac42ccc0046183b5cab827caf05f0b540839965 (diff)
Add Get Attribute Value in Action Output Modal
Issue-ID: CCSDK-2780 Signed-off-by: Sarah Abouzainah <sabouzainah.ext@orange.com> Change-Id: If241ccdaa3861c4e7fb6b3320961081c144b1f7b
Diffstat (limited to 'cds-ui')
-rw-r--r--cds-ui/designer-client/src/app/modules/feature-modules/packages/designer/action-attributes/action-attributes.component.html236
-rw-r--r--cds-ui/designer-client/src/app/modules/feature-modules/packages/designer/designer.component.css66
-rw-r--r--cds-ui/designer-client/src/app/modules/feature-modules/packages/designer/designer.component.html2
-rw-r--r--cds-ui/designer-client/src/assets/img/icon-codeClosed.svg11
-rw-r--r--cds-ui/designer-client/src/assets/img/icon-codeOpen.svg11
-rw-r--r--cds-ui/designer-client/src/styles.css13
6 files changed, 258 insertions, 81 deletions
diff --git a/cds-ui/designer-client/src/app/modules/feature-modules/packages/designer/action-attributes/action-attributes.component.html b/cds-ui/designer-client/src/app/modules/feature-modules/packages/designer/action-attributes/action-attributes.component.html
index 65703ee2c..5a5a05855 100644
--- a/cds-ui/designer-client/src/app/modules/feature-modules/packages/designer/action-attributes/action-attributes.component.html
+++ b/cds-ui/designer-client/src/app/modules/feature-modules/packages/designer/action-attributes/action-attributes.component.html
@@ -14,15 +14,15 @@
<div class="row">
<div class="col pr-0 text-center">
<button type="button" data-toggle="modal" data-target="#exampleModalScrollable"
- class="btn btn-secondary"><i class="icon-custom-attribute" type="button"
- aria-hidden="true"></i></button>
- <span>Custom Attribute</span>
+ class="btn btn-secondary"><i class="icon-custom-attribute" type="button"
+ aria-hidden="true"></i></button>
+ <span>Create Custom</span>
</div>
<div class="col text-center">
<button (click)="printSomethings()" [disabled]="!isFunctionAttributeActive" type="button"
- data-toggle="modal" data-target="#exampleModalScrollable3" class="btn btn-secondary"><i
+ data-toggle="modal" data-target="#exampleModalScrollable3" class="btn btn-secondary"><i
class="icon-function-attribute" type="button" aria-hidden="true"></i></button>
- <span>Function Attribute</span>
+ <span>Import From Function</span>
</div>
</div>
</div>
@@ -33,7 +33,7 @@
<div class="card-header" id="headingOne">
<h2 class="mb-0">
<button class="btn btn-link" type="button" data-toggle="collapse" data-target="#collapseOne"
- aria-expanded="true" aria-controls="collapseOne">
+ aria-expanded="true" aria-controls="collapseOne">
Inputs
</button>
</h2>
@@ -45,16 +45,16 @@
<div class="form-group" *ngFor="let input of inputs">
<label for="exampleFormControlTextarea1">{{input.name}}
<i [hidden]="!input.required" class="icon-required-star" type="button"
- aria-hidden="true"></i>
+ aria-hidden="true"></i>
<i [hidden]="input.required" class="icon-required-star optional-attribute"
- type="button" aria-hidden="true"></i>
+ type="button" aria-hidden="true"></i>
</label>
<div class="attributeOptions">
<a data-toggle="modal" data-target="#exampleModalScrollable2"
- class="accordion-delete editAttribute" tooltip="Edit Attribute"
- placement="bottom"><i class="icon-edit"></i></a>
+ class="accordion-delete editAttribute" tooltip="Edit Attribute"
+ placement="bottom"><i class="icon-edit"></i></a>
<a class="accordion-delete deleteAttribute" tooltip="Delete Attribute"
- placement="bottom"><i class="icon-delete-sm"></i></a>
+ placement="bottom"><i class="icon-delete-sm"></i></a>
</div>
</div>
</div>
@@ -69,7 +69,7 @@
<div class="card-header" id="headingOne">
<h2 class="mb-0">
<button class="btn btn-link" type="button" data-toggle="collapse" data-target="#collapseTwo"
- aria-expanded="true" aria-controls="collapseTwo">
+ aria-expanded="true" aria-controls="collapseTwo">
Outputs
</button>
</h2>
@@ -82,9 +82,9 @@
<div class="form-group" *ngFor="let output of outputs">
<label for="exampleFormControlTextarea1">{{output.name}}
<i [hidden]="!output.required" class="icon-required-star" type="button"
- aria-hidden="true"></i>
+ aria-hidden="true"></i>
<i [hidden]="output.required" class="icon-required-star optional-attribute"
- type="button" aria-hidden="true"></i>
+ type="button" aria-hidden="true"></i>
</label>
</div>
@@ -97,14 +97,14 @@
</div>
<!--Action - Add Custom Attribute - Modal-->
<div class="modal fade" id="exampleModalScrollable" tabindex="-1" role="dialog"
- aria-labelledby="exampleModalScrollableTitle" aria-hidden="true">
+ aria-labelledby="exampleModalScrollableTitle" aria-hidden="true">
<div class="modal-dialog modal-dialog-scrollable" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalScrollableTitle">
Add Custom Attributes</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
- <img src="assets/img/icon-close.svg"/>
+ <img src="assets/img/icon-close.svg" />
</button>
</div>
<div class="modal-body createAttributeTabs">
@@ -112,29 +112,29 @@
<ul class="nav nav-tabs" id="myTab" role="tablist">
<li class="nav-item">
<a class="nav-link active" id="home-tab" data-toggle="tab" href="#home" role="tab"
- aria-controls="home" aria-selected="true">Inputs</a>
+ aria-controls="home" aria-selected="true">Inputs</a>
</li>
<li class="nav-item">
<a class="nav-link" id="profile-tab" data-toggle="tab" href="#profile" role="tab"
- aria-controls="profile" aria-selected="false">Outputs</a>
+ aria-controls="profile" aria-selected="false">Outputs</a>
</li>
</ul>
<div class="tab-content" id="myTabContent">
<!--INPUTS Tab-->
<div class="tab-pane fade show active create-form" id="home" role="tabpanel"
- aria-labelledby="home-tab">
+ aria-labelledby="home-tab">
<div class="form-group row">
<label for="inputEmail3" class="col-sm-3 col-form-label">Name <span>*</span></label>
<div class="col-sm-9">
<input [(ngModel)]="inputActionAttribute.name" type="email" class="form-control"
- id="inputEmail3" placeholder="Attribute name">
+ id="inputEmail3" placeholder="Attribute name">
</div>
</div>
<div class="form-group row">
<label for="inputPassword3" class="col-sm-3 col-form-label">Description</label>
<div class="col-sm-9">
<input [(ngModel)]="inputActionAttribute.description" type="text" class="form-control"
- id="inputPassword3" placeholder="Add some description">
+ id="inputPassword3" placeholder="Add some description">
</div>
</div>
<div class="form-group row">
@@ -142,26 +142,25 @@
<div class="col-sm-9">
<div class="list-group list-group-horizontal">
<button type="button" class="list-group-item list-group-item-action"
- (click)="setInputType('String')">
+ (click)="setInputType('String')">
String
</button>
<button type="button" class="list-group-item list-group-item-action"
- (click)="setInputType('Integer')">Integer
+ (click)="setInputType('Integer')">Integer
</button>
<button type="button" class="list-group-item list-group-item-action"
- (click)="setInputType('Boolean')">Boolean
+ (click)="setInputType('Boolean')">Boolean
</button>
<button type="button" class="list-group-item list-group-item-action"
- (click)="setInputType('List')">List
+ (click)="setInputType('List')">List
</button>
<button type="button" class="list-group-item list-group-item-action"
- (click)="setInputType('Other')">Other
+ (click)="setInputType('Other')">Other
</button>
</div>
<input [hidden]="!isInputOtherType" type="text" class="form-control mt-2 mb-2"
- id="inputPassword4" placeholder="Add Other type name"
- [(ngModel)]="inputOtherType"
- (change)="setInputType(inputOtherType)">
+ id="inputPassword4" placeholder="Add Other type name" [(ngModel)]="inputOtherType"
+ (change)="setInputType(inputOtherType)">
</div>
</div>
@@ -170,12 +169,12 @@
<div class="col-sm-9">
<div class="custom-control custom-radio custom-control-inline">
<input type="radio" id="customRadioInline1" name="customRadioInline1"
- class="custom-control-input" (click)="setInputRequired(true)">
+ class="custom-control-input" (click)="setInputRequired(true)">
<label class="custom-control-label" for="customRadioInline1">True</label>
</div>
<div class="custom-control custom-radio custom-control-inline">
<input type="radio" id="customRadioInline2" name="customRadioInline1"
- class="custom-control-input" (click)="setInputRequired(false)">
+ class="custom-control-input" (click)="setInputRequired(false)">
<label class="custom-control-label" for="customRadioInline2">False</label>
</div>
</div>
@@ -187,14 +186,14 @@
<label for="inputEmail3" class="col-sm-3 col-form-label">Name <span>*</span></label>
<div class="col-sm-9">
<input [(ngModel)]="outputActionAttribute.name" type="email" class="form-control"
- id="inputEmail3" placeholder="Attribute name">
+ id="inputEmail3" placeholder="Attribute name">
</div>
</div>
<div class="form-group row">
<label for="inputPassword3" class="col-sm-3 col-form-label">Description</label>
<div class="col-sm-9">
<input [(ngModel)]="outputActionAttribute.description" type="text" class="form-control"
- id="inputPassword3" placeholder="Add some description">
+ id="inputPassword3" placeholder="Add some description">
</div>
</div>
<div class="form-group row">
@@ -202,44 +201,122 @@
<div class="col-sm-9">
<div class="list-group list-group-horizontal">
<button type="button" class="list-group-item list-group-item-action"
- (click)="setOutputType('String')">String
+ (click)="setOutputType('String')">String
</button>
<button type="button" class="list-group-item list-group-item-action"
- (click)="setOutputType('Integer')">
+ (click)="setOutputType('Integer')">
Integer
</button>
<button type="button" class="list-group-item list-group-item-action"
- (click)="setOutputType('Boolean')">
+ (click)="setOutputType('Boolean')">
Boolean
</button>
<button type="button" class="list-group-item list-group-item-action"
- (click)="setOutputType('List')">
+ (click)="setOutputType('List')">
List
</button>
<button type="button" class="list-group-item list-group-item-action"
- (click)="setOutputType('Other')">
+ (click)="setOutputType('Other')">
Other
</button>
</div>
<input [hidden]="!isOutputOtherType" type="text" class="form-control mt-2 mb-2"
- id="inputPassword3" placeholder="Add Other type name"
- [(ngModel)]="outputOtherType"
- (change)="setOutputType(outputOtherType)">
+ id="inputPassword3" placeholder="Add Other type name" [(ngModel)]="outputOtherType"
+ (change)="setOutputType(outputOtherType)">
</div>
</div>
+ <!--Get Attribute Value-->
+ <div class="form-group row mb-0">
+ <label class="col-form-label col pt-0">
+ Value <span class="notation">(get_attribute)</span>
+ </label>
+ </div>
+ <div class="form-group row">
+ <div class="col">
+ <input type="email" class="form-control" id="inputEmail3" placeholder="Attributes">
+ <div class="container">
+ <div *ngFor="let tempInput of tempInputs">{{tempInput}}</div>
+ </div>
+ </div>
+ </div>
+ <div class="row mb-4">
+ <div class="col-6">
+ <b class="listBoxTitle">1. Choose Function Name</b>
+ <div class="list-group addedFunctionsList" id="list-tab" role="tablist">
+ <input type="text" class="form-control input-search-controller"
+ placeholder="Functions">
+ <div class="scrollWrapper" *ngFor="let step of steps">
+ <a class="list-group-item list-group-item-action active" id="list-home-list"
+ data-toggle="list" href="#list-home" role="tab" aria-controls="home"><i
+ class="icon-resource_resolution mr-1" aria-hidden="true"></i>
+ {{step}} <i class="icon-next_arrow" aria-hidden="true" (click)="setInputAndOutputs(
+ this.designerState.template.workflows[actionName]['steps'][step]['target']
+ )"></i></a>
+ </div>
+ </div>
+ </div>
+ <div class="col-6">
+ <b class="listBoxTitle">2. Choose Input Attribute Name</b>
+ <div class="tab-content nestedAttributes mt-0 p-0" id="nav-tabContent">
+ <input type="text" class="form-control input-search-controller"
+ placeholder="Attributes">
+ <div class="tab-pane fade show active" id="list-home" role="tabpanel"
+ aria-labelledby="list-home-list">
+ <div class="scrollWrapper">
+ <div *ngIf="suggestedInputs.length>0" class="btn-group btn-group-toggle"
+ data-toggle="buttons">
+ <label class="btn btn-secondary active"
+ *ngFor="let suggestedInput of suggestedInputs"
+ (click)="addTempInput(suggestedInput)">
+ <input type="radio" name="options" [id]="suggestedInput"
+ autocomplete="off" (click)="addTempInput(suggestedInput)">
+ {{suggestedInput}}
+
+
+ </label>
+
+ </div>
+ <div *ngIf="suggestedInputs.length == 0">
+ <p class="noAttributes">No Attributes Available</p>
+ <!--Attribute Details
+ <div class="nav-item dropdown helpMenu">
+ <input class="dropdown-toggle" type="text">
+ <div class="dropdown-text"><i class="icon-info" aria-hidden="true"></i></div>
+ <ul class="dropdown-content">
+ <li>
+ <i class="icon-get_started" aria-hidden="true"></i>
+ <p>
+ <input id="clicker3" type="checkbox" />
+ <label for="clicker">
+ Getting Started
+ <span>Quick steps to help you get started</span>
+ </label>
+ </p>
+ </li>
+ </ul>
+ </div>
+ -->
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <!---->
+
<div class="form-group row">
<label class="col-form-label col-sm-3 pt-0">Required <span>*</span></label>
<div class="col-sm-9">
<div class="custom-control custom-radio custom-control-inline">
<input type="radio" id="customRadioInline3" name="customRadioInline3"
- class="custom-control-input" (click)="setOutputRequired(true)">
+ class="custom-control-input" (click)="setOutputRequired(true)">
<label class="custom-control-label" for="customRadioInline3">True</label>
</div>
<div class="custom-control custom-radio custom-control-inline">
<input type="radio" id="customRadioInline4" name="customRadioInline3"
- class="custom-control-input">
+ class="custom-control-input">
<label class="custom-control-label" for="customRadioInline4"
- (click)="setOutputRequired(false)">False</label>
+ (click)="setOutputRequired(false)">False</label>
</div>
</div>
</div>
@@ -256,14 +333,14 @@
<!--Action - Add Attribute From Function - Modal-->
<div class="modal fade" id="exampleModalScrollable3" tabindex="-1" role="dialog"
- aria-labelledby="exampleModalScrollableTitle3" aria-hidden="true">
+ aria-labelledby="exampleModalScrollableTitle3" aria-hidden="true">
<div class="modal-dialog modal-dialog-scrollable" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalScrollableTitle3">
Add Attributes from Function</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
- <img src="assets/img/icon-close.svg"/>
+ <img src="assets/img/icon-close.svg" />
</button>
</div>
<div class="modal-body createAttributeTabs">
@@ -271,17 +348,17 @@
<ul class="nav nav-tabs" id="myTab" role="tablist">
<li class="nav-item">
<a class="nav-link active" id="home-tab" data-toggle="tab" href="#input" role="tab"
- aria-controls="home" aria-selected="true">Inputs</a>
+ aria-controls="home" aria-selected="true">Inputs</a>
</li>
<li class="nav-item">
<a class="nav-link" id="profile-tab" data-toggle="tab" href="#output" role="tab"
- aria-controls="profile" aria-selected="false">Outputs</a>
+ aria-controls="profile" aria-selected="false">Outputs</a>
</li>
</ul>
<div class="tab-content border-0 mt-2" id="myTabContent">
<!--INPUTS Tab-->
<div class="tab-pane fade show active create-form" id="input" role="tabpanel"
- aria-labelledby="input-tab">
+ aria-labelledby="input-tab">
<div class="form-group row">
<div class="col">
<input type="email" class="form-control" id="inputEmail3" placeholder="Attributes">
@@ -296,10 +373,10 @@
<b class="listBoxTitle">1. Choose Function Name</b>
<div class="list-group addedFunctionsList" id="list-tab" role="tablist">
<input type="text" class="form-control input-search-controller"
- placeholder="Functions">
+ placeholder="Functions">
<div class="scrollWrapper" *ngFor="let step of steps">
<a class="list-group-item list-group-item-action active" id="list-home-list"
- data-toggle="list" href="#list-home" role="tab" aria-controls="home"><i
+ data-toggle="list" href="#list-home" role="tab" aria-controls="home"><i
class="icon-resource_resolution mr-1" aria-hidden="true"></i>
{{step}} <i class="icon-next_arrow" aria-hidden="true" (click)="setInputAndOutputs(
this.designerState.template.workflows[actionName]['steps'][step]['target']
@@ -311,17 +388,18 @@
<b class="listBoxTitle">2. Choose Input Attribute Name</b>
<div class="tab-content nestedAttributes mt-0 p-0" id="nav-tabContent">
<input type="text" class="form-control input-search-controller"
- placeholder="Attributes">
+ placeholder="Attributes">
<div class="tab-pane fade show active" id="list-home" role="tabpanel"
- aria-labelledby="list-home-list">
+ aria-labelledby="list-home-list">
<div class="scrollWrapper">
<div *ngIf="suggestedInputs.length>0" class="btn-group btn-group-toggle"
- data-toggle="buttons">
+ data-toggle="buttons">
<label class="btn btn-secondary active"
- *ngFor="let suggestedInput of suggestedInputs" (click)="addTempInput(suggestedInput)">
+ *ngFor="let suggestedInput of suggestedInputs"
+ (click)="addTempInput(suggestedInput)">
<input type="radio" name="options" [id]="suggestedInput"
- autocomplete="off"
- (click)="addTempInput(suggestedInput)"> {{suggestedInput}}
+ autocomplete="off" (click)="addTempInput(suggestedInput)">
+ {{suggestedInput}}
</label>
</div>
<div *ngIf="suggestedInputs.length == 0">you don't have data</div>
@@ -347,13 +425,12 @@
<b class="listBoxTitle">1. Choose Function Name</b>
<div class="list-group addedFunctionsList" id="list-tab" role="tablist">
<input type="text" class="form-control input-search-controller"
- placeholder="Functions">
+ placeholder="Functions">
<div class="scrollWrapper" *ngFor="let step of steps">
<a class="list-group-item list-group-item-action active" id="list-home-list"
- data-toggle="list" href="#list-home" role="tab" aria-controls="home"><i
+ data-toggle="list" href="#list-home" role="tab" aria-controls="home"><i
class="icon-resource_resolution mr-1" aria-hidden="true"></i>
- {{step}} <i class="icon-next_arrow" aria-hidden="true"
- (click)="setInputAndOutputs(
+ {{step}} <i class="icon-next_arrow" aria-hidden="true" (click)="setInputAndOutputs(
this.designerState.template.workflows[actionName]['steps'][step]['target']
)"></i></a>
</div>
@@ -363,17 +440,17 @@
<b class="listBoxTitle">2. Choose output Attribute Name</b>
<div class="tab-content nestedAttributes mt-0 p-0" id="nav-tabContent">
<input type="text" class="form-control input-search-controller"
- placeholder="Attributes">
+ placeholder="Attributes">
<div class="tab-pane fade show active" id="list-home" role="tabpanel"
- aria-labelledby="list-home-list">
+ aria-labelledby="list-home-list">
<div class="scrollWrapper">
<div *ngIf="suggestedOutputs.length > 0" class="btn-group btn-group-toggle"
- data-toggle="buttons">
+ data-toggle="buttons">
<label class="btn btn-secondary active"
- *ngFor="let suggestedOutput of suggestedOutputs">
+ *ngFor="let suggestedOutput of suggestedOutputs">
<input type="radio" name="options" [id]="suggestedOutput"
- autocomplete="off"
- (dblclick)="addTempOutput(suggestedOutput)"> {{suggestedOutput}}
+ autocomplete="off" (dblclick)="addTempOutput(suggestedOutput)">
+ {{suggestedOutput}}
</label>
</div>
@@ -388,7 +465,8 @@
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Cancel</button>
- <button type="button" class="btn btn-primary" (click)="submitTempAttributes()">Submit Attributes</button>
+ <button type="button" class="btn btn-primary" (click)="submitTempAttributes()">Submit
+ Attributes</button>
</div>
</div>
</div>
@@ -396,14 +474,14 @@
<!--Delete Action - Modal-->
<div class="modal fade" id="exampleModalScrollable1" tabindex="-1" role="dialog"
- aria-labelledby="exampleModalScrollableTitle1" aria-hidden="true">
+ aria-labelledby="exampleModalScrollableTitle1" aria-hidden="true">
<div class="modal-dialog modal-dialog-scrollable" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalScrollableTitle1">
Delete Action</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
- <img src="assets/img/icon-close.svg"/>
+ <img src="assets/img/icon-close.svg" />
</button>
</div>
<div class="modal-body">
@@ -418,14 +496,14 @@
</div>
<!--Action - Edit Custom Attribute - Modal-->
<div class="modal fade" id="exampleModalScrollable2" tabindex="-1" role="dialog"
- aria-labelledby="exampleModalScrollableTitle2" aria-hidden="true">
+ aria-labelledby="exampleModalScrollableTitle2" aria-hidden="true">
<div class="modal-dialog modal-dialog-scrollable" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalScrollableTitle2">
Edit Custom Attributes</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
- <img src="assets/img/icon-close.svg"/>
+ <img src="assets/img/icon-close.svg" />
</button>
</div>
<div class="modal-body createAttributeTabs">
@@ -434,15 +512,15 @@
<label for="inputEmail3" class="col-sm-3 col-form-label">Name <span>*</span></label>
<div class="col-sm-9">
<input type="email" class="form-control" id="inputEmail3" placeholder="Attribute name"
- value="resource-assignment-properties">
+ value="resource-assignment-properties">
</div>
</div>
<div class="form-group row">
<label for="inputPassword3" class="col-sm-3 col-form-label">Description</label>
<div class="col-sm-9">
<input type="text" class="form-control" id="inputPassword3"
- placeholder="Add some description"
- value="Dynamic PropertyDefinition for workflow(resource-assignment).">
+ placeholder="Add some description"
+ value="Dynamic PropertyDefinition for workflow(resource-assignment).">
</div>
</div>
<div class="form-group row">
@@ -458,7 +536,7 @@
</button>
</div>
<input type="text" class="form-control mt-2 mb-2" id="inputPassword3"
- placeholder="Add Other type name" value="dt-resource-assignment-properties">
+ placeholder="Add Other type name" value="dt-resource-assignment-properties">
</div>
</div>
<div class="form-group row">
@@ -466,12 +544,12 @@
<div class="col-sm-9">
<div class="custom-control custom-radio custom-control-inline">
<input type="radio" id="customRadioInline1" name="customRadioInline1"
- class="custom-control-input" checked>
+ class="custom-control-input" checked>
<label class="custom-control-label" for="customRadioInline1">True</label>
</div>
<div class="custom-control custom-radio custom-control-inline">
<input type="radio" id="customRadioInline2" name="customRadioInline1"
- class="custom-control-input">
+ class="custom-control-input">
<label class="custom-control-label" for="customRadioInline2">False</label>
</div>
</div>
@@ -484,4 +562,4 @@
</div>
</div>
</div>
-</div>
+</div> \ No newline at end of file
diff --git a/cds-ui/designer-client/src/app/modules/feature-modules/packages/designer/designer.component.css b/cds-ui/designer-client/src/app/modules/feature-modules/packages/designer/designer.component.css
index 1fee353e3..fe5f41f41 100644
--- a/cds-ui/designer-client/src/app/modules/feature-modules/packages/designer/designer.component.css
+++ b/cds-ui/designer-client/src/app/modules/feature-modules/packages/designer/designer.component.css
@@ -272,6 +272,10 @@ button.rotate{
left: 0;
height: 95%;
} */
+/* .ng-sidebar__content.ng-sidebar__content--animate{
+ padding-top: 70px !important;
+} */
+
.functionsList tspan{
/* width:30px !important; */
font: normal 13px sans-serif;
@@ -337,6 +341,45 @@ p.compType-4{
margin: 0 auto;
background: red;
}
+.actionSubList{
+ margin:0 0 0 4px; /* indentation */
+ padding:0;
+ list-style:none;
+ position:relative;
+}
+.actionSubList:before {
+ content: "";
+ display: block;
+ width: 0;
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ border-left: 1px solid #C1CDDD;
+}
+.actionSubList li{
+ margin: 0;
+ padding: 0 1.5em; /* indentation + .5em */
+ line-height: 32px;
+ position: relative;
+}
+.actionSubList li::before{
+ content: "";
+ display: block;
+ width: 10px; /* same with indentation */
+ height: 0;
+ border-top: 1px solid #C1CDDD;
+ margin-top: -1px; /* border top width */
+ position: absolute;
+ top: 16px; /* (line-height/2) */
+ left: 0;
+}
+.actionSubList li:last-child:before {
+ background: #F4F9FE; /* same with body background */
+ height: auto;
+ top: 16px; /* (line-height/2) */
+ bottom: 0;
+}
.controllerSidebar{
width: 320px;
@@ -400,7 +443,10 @@ p.compType-4{
font-weight: bold;
/* outline: 0 !important; */
float: left;
-
+}
+.actionsList li:hover,
+.actionsList li label:hover{
+ cursor: pointer;
}
.new-action,
.new-action:hover{
@@ -674,6 +720,9 @@ p.compType-4{
background-color: #1B3E6F;
color: #fff !important;
}
+.add-attribute .btn i{
+ font-weight: bold;
+}
.attributesContainer h1{
margin-bottom: 10px;
padding: 12px 0 12px 15px;
@@ -802,6 +851,7 @@ p.compType-4{
height: 60px;
}
.icon-required-star{
+ margin-left: 2px;
font-size: 10px;
}
.optional-attribute::before{
@@ -1109,9 +1159,13 @@ ul.editor{
padding: 18px 24px !important;
font-size: 14px;
}
+
.createAttributeTabs .nav-link{
padding-top: 0 !important;
}
+.createAttributeTabs .nav-item a{
+ color: #C3CDDB !important;
+}
.createAttributeTabs .nav-item a,
.createAttributeTabs .nav-item a.active{
border-radius: 0 !important;
@@ -1137,6 +1191,11 @@ ul.editor{
font-size: 11px;
line-height: 29px;
}
+.createAttributeTabs .notation{
+ margin-left: 3px;
+ color: #C3CDDB !important;
+ font-weight: normal;
+}
.addedFunctionsList,
.nestedAttributes{
background: #F4F9FE;
@@ -1162,6 +1221,11 @@ ul.editor{
.create-form .nestedAttributes .input-search-controller:focus{
background-color: #fff !important;
}
+.nestedAttributes .noAttributes{
+ margin: 12px;
+ font-weight: bold;
+ font-size: 12px;
+}
.addedFunctionsList .list-group-item{
margin-bottom: 0;
padding-left: 10px;
diff --git a/cds-ui/designer-client/src/app/modules/feature-modules/packages/designer/designer.component.html b/cds-ui/designer-client/src/app/modules/feature-modules/packages/designer/designer.component.html
index 61cc1b453..81ae1cd1d 100644
--- a/cds-ui/designer-client/src/app/modules/feature-modules/packages/designer/designer.component.html
+++ b/cds-ui/designer-client/src/app/modules/feature-modules/packages/designer/designer.component.html
@@ -222,7 +222,7 @@
(click)="openActionAttributes(customActionName)"></i>
{{customActionName}} </label>
- <ul *ngIf="customActionName.includes(this.currentActionName)">
+ <ul *ngIf="customActionName.includes(this.currentActionName)" class="actionSubList">
<li [attr.for]="customActionName" *ngFor="let currentFunction of steps">
<span
(click)="openFunctionAttributes(currentFunction)">{{currentFunction}}</span>
diff --git a/cds-ui/designer-client/src/assets/img/icon-codeClosed.svg b/cds-ui/designer-client/src/assets/img/icon-codeClosed.svg
new file mode 100644
index 000000000..902a653fd
--- /dev/null
+++ b/cds-ui/designer-client/src/assets/img/icon-codeClosed.svg
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="108px" height="214px" viewBox="0 0 108 214" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <!-- Generator: Sketch 61.2 (89653) - https://sketch.com -->
+ <title>down-arrow0</title>
+ <desc>Created with Sketch.</desc>
+ <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+ <g id="down-arrow0" transform="translate(54.000000, 106.500000) rotate(-90.000000) translate(-54.000000, -106.500000) translate(-53.000000, 53.000000)" fill="#1B3E6F" fill-rule="nonzero">
+ <polygon id="Path" points="0 0.333 106.667 107 213.333 0.333"></polygon>
+ </g>
+ </g>
+</svg> \ No newline at end of file
diff --git a/cds-ui/designer-client/src/assets/img/icon-codeOpen.svg b/cds-ui/designer-client/src/assets/img/icon-codeOpen.svg
new file mode 100644
index 000000000..8b97ed186
--- /dev/null
+++ b/cds-ui/designer-client/src/assets/img/icon-codeOpen.svg
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="214px" height="107px" viewBox="0 0 214 107" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <!-- Generator: Sketch 61.2 (89653) - https://sketch.com -->
+ <title>Path</title>
+ <desc>Created with Sketch.</desc>
+ <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+ <g id="down-arrow0" fill="#1B3E6F" fill-rule="nonzero">
+ <polygon id="Path" points="0 0.333 106.667 107 213.333 0.333"></polygon>
+ </g>
+ </g>
+</svg> \ No newline at end of file
diff --git a/cds-ui/designer-client/src/styles.css b/cds-ui/designer-client/src/styles.css
index 5950c6a99..0207371db 100644
--- a/cds-ui/designer-client/src/styles.css
+++ b/cds-ui/designer-client/src/styles.css
@@ -2981,6 +2981,19 @@ animation: glowing 1500ms infinite;
.ace-tm .ace_marker-layer .ace_active-line{
background: #F4F9FE !important;
}
+.ace_dark .ace_fold-widget,
+.ace_dark .ace_fold-widget.ace_closed{
+ background-position: center center !important;
+ background-size: 7px;
+ background-repeat: no-repeat !important;
+}
+.ace_dark .ace_fold-widget{
+ background-image: url(/assets/img/icon-codeOpen.svg) !important;
+}
+.ace_dark .ace_fold-widget.ace_closed{
+ background-image: url(/assets/img/icon-codeClosed.svg) !important;
+ background-size: 4px;
+}
/* -------- end of ace editor style -------- */
.breadcrumb-header{
padding: 0px;