Add Get Attribute Value in Action Output Modal 76/114676/1
authorSarah Abouzainah <sabouzainah.ext@orange.com>
Sun, 8 Nov 2020 15:05:20 +0000 (17:05 +0200)
committerSarah Abouzainah <sabouzainah.ext@orange.com>
Sun, 8 Nov 2020 15:08:48 +0000 (17:08 +0200)
Issue-ID: CCSDK-2780

Signed-off-by: Sarah Abouzainah <sabouzainah.ext@orange.com>
Change-Id: If241ccdaa3861c4e7fb6b3320961081c144b1f7b

cds-ui/designer-client/src/app/modules/feature-modules/packages/designer/action-attributes/action-attributes.component.html
cds-ui/designer-client/src/app/modules/feature-modules/packages/designer/designer.component.css
cds-ui/designer-client/src/app/modules/feature-modules/packages/designer/designer.component.html
cds-ui/designer-client/src/assets/img/icon-codeClosed.svg [new file with mode: 0644]
cds-ui/designer-client/src/assets/img/icon-codeOpen.svg [new file with mode: 0644]
cds-ui/designer-client/src/styles.css

index 65703ee..5a5a058 100644 (file)
             <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>
                             <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>
 </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">
                 <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">
                             <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>
                             <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>
                             <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">
                             <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>
 
 <!--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">
                 <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">
                                 <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']
                                 <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>
                                 <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>
                                 <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>
             </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>
 
 <!--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">
 </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">
                         <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">
                                 </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">
                         <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>
             </div>
         </div>
     </div>
-</div>
+</div>
\ No newline at end of file
index 1fee353..fe5f41f 100644 (file)
@@ -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;
index 61cc1b4..81ae1cd 100644 (file)
                                                 (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 (file)
index 0000000..902a653
--- /dev/null
@@ -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 (file)
index 0000000..8b97ed1
--- /dev/null
@@ -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
index 5950c6a..0207371 100644 (file)
@@ -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;