d08ada98d04e8bbaba91442a521167536d166dbe
[ccsdk/cds.git] /
1 <h6 class="create-title">CREATE</h6>
2 <div class="card creat-card">
3     <div class="single-line-model">
4         <label class="label-name">Name
5             <span _ngcontent-uew-c3="">*</span>
6         </label>
7
8         <div class="label-input">
9             <input type="input" [(ngModel)]="fileName" placeholder="Topology name.vLB.CDS">
10         </div>
11     </div>
12 </div>
13
14 <div class="template-mapping-accordion">
15     <div id="accordion">
16         <div class="card">
17             <div class="card-header" id="headingOne">
18                 <h5 class="mb-0 d-flex justify-content-between">
19                     <button class="btn btn-link" data-toggle="collapse" data-target="#collapseOne" aria-expanded="true"
20                         aria-controls="collapseOne">
21                         1. Create Template
22                     </button>
23
24                 </h5>
25             </div>
26
27             <div id="collapseOne" class="collapse show" aria-labelledby="headingOne" data-parent="#accordion">
28                 <div class="card-body">
29                     <div class="single-line">
30                         <label class="label-name">Template Type</label>
31                         <div class="label-input">
32                             <label name="trst" (click)="allowedExt=['.vtl']">
33                                 <input class="form-check-input" [(ngModel)]="templateExt" type="radio"
34                                     name="exampleRadios" id="exampleRadios1" value=Velcoity>
35                                 <span>
36                                     Velcoity
37                                 </span>
38                             </label>
39                             <label name="trst" (click)="allowedExt=['.j2','.jinja2']">
40                                 <input class="form-check-input" [(ngModel)]="templateExt" type="radio"
41                                     name="exampleRadios" id="exampleRadios1" value=Jinja>
42
43                                 <span>
44                                     Jinja
45                                 </span>
46                             </label>
47                             <label name="trst" (click)="allowedExt=['.kt']">
48                                 <input class="form-check-input" [(ngModel)]="templateExt" type="radio"
49                                     name="exampleRadios" id="exampleRadios1" value=Kotlin>
50
51                                 <span>
52                                     Kotlin
53                                 </span>
54                             </label>
55                         </div>
56                     </div>
57                     <div class="create-template-import">Use the editor to add parameters or you can also <a href="#"
58                             data-toggle="modal" data-target="#exampleModal">Import
59                             File</a></div>
60                     <div class="editor-container">
61                         <app-source-editor (textChange)="textChanges($event,templateInfo.fileName)"
62                             [(text)]="templateFileContent"></app-source-editor>
63                     </div>
64                 </div>
65             </div>
66         </div>
67         <div class="card">
68             <div class="card-header" id="headingTwo">
69                 <h5 class="mb-0">
70                     <button class="btn btn-link collapsed" data-toggle="collapse" data-target="#collapseTwo"
71                         aria-expanded="false" aria-controls="collapseTwo">
72                         2. Manage Mapping
73                     </button>
74                 </h5>
75             </div>
76             <div id="collapseTwo" class="collapse" aria-labelledby="headingTwo" data-parent="#accordion">
77                 <div class="card-body">
78                     <h6 class="text-center">Select a source to load config parameters</h6>
79                     <div class="text-center">
80                         <a href="#" (click)="getMappingTableFromTemplate($event)" class="mapping-source-load">
81                             <i class="icon-current-template"></i>
82                             <br />
83                             <span>Use Current Template Instance</span>
84                         </a>
85                         <a href="#" (click)="allowedExt=['.csv']" data-toggle="modal" data-target="#exampleModal"
86                             class="mapping-source-load">
87                             <i class="icon-Upload-attribute"></i>
88                             <br />
89                             <div>Upload attribute list</div>
90                             <div class="source-load-note">(Should be comma delimited file)</div>
91                         </a>
92                         <!-- <a href="#" class="mapping-source-load">
93                             <i class="icon-import-cds"></i>
94                         <br/>
95                             <span>Import from SDC Model</span>
96                         </a> -->
97                     </div>
98
99                     <div class="table-container">
100
101
102                     </div>
103                 </div>
104                 <div id="mapping-table" [hidden]="resourceDictionaryRes?.length == 0" class="mx-4 my-2">
105                     <table datatable [dtOptions]="dtOptions" [dtTrigger]="dtTrigger" class="row-border hover">
106                         <thead>
107                             <tr>
108                                 <th>Required</th>
109                                 <th>Parameter Name</th>
110                                 <th>Dictionary Name</th>
111                                 <th>Dictionary Source</th>
112                                 <th>Dependancies</th>
113                                 <th>Default</th>
114                                 <th>Data Type</th>
115                                 <th>Entry Schema</th>
116                             </tr>
117                         </thead>
118                         <tbody>
119                             <tr *ngFor="let dict of resourceDictionaryRes">
120                                 <td>{{ dict.definition?.property?.required }}</td>
121                                 <td>{{ dict.name }}</td>
122                                 <td>{{ dict.name }}</td>
123                                 <td>
124                                     <select class="custom-select">
125                                         <option *ngFor="let val of dict.definition.sources | keyvalue">{{val.key}}
126                                         </option>
127
128                                     </select>
129                                 </td>
130                                 <td>
131                                     <select class="custom-select">
132                                         <option
133                                             *ngFor="let val of dict?.definition?.sources?.sdnc?.properties['key-dependencies'] ">
134                                             {{val}}</option>
135
136                                     </select>
137                                     <!-- {{ dict.definition.sources }} -->
138                                 </td>
139                                 <td>{{ dict.definition?.property?.default }}</td>
140                                 <td>{{ dict.dataType }}</td>
141                                 <td>{{ dict.entrySchema }}</td>
142                             </tr>
143                         </tbody>
144                     </table>
145                 </div>
146
147
148             </div>
149
150
151         </div>
152         <div class="template-mapping-action">
153             <button class="btn btn-sm btn-outline-secondary">Cancel</button>
154             <button (click)="saveToStore()" class="btn btn-sm btn-primary">Finish</button>
155         </div>
156     </div>
157 </div>
158
159
160 <div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel"
161     aria-hidden="true">
162     <div class="modal-dialog" role="document">
163         <div class="modal-content">
164             <div class="modal-header">
165                 <h5 class="modal-title" id="exampleModalLabel">Import File</h5>
166                 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
167                     <span aria-hidden="true">&times;</span>
168                 </button>
169             </div>
170             <div class="modal-body">
171                 <ngx-file-drop [accept]="allowedExt" dropZoneLabel="Drop files here" (onFileDrop)="dropped($event)"
172                     (onFileOver)="fileOver($event)" (onFileLeave)="fileLeave($event)">
173                     <ng-template ngx-file-drop-content-tmp let-openFileSelector="openFileSelector">
174                         <div class="folder-upload">
175                             <img src="assets/img/folder-upload.svg" />
176                         </div>
177                         <div class="folder-upload-text">
178                             Drag & Drop file
179                         </div>
180                         <div class="folder-upload-text">or
181                             <button type="button" class="btn btn-sm btn-primary" (click)="openFileSelector()">Browse
182                                 Files
183                             </button>
184                         </div>
185                         <div class="folder-upload-type">Allowed file type: json</div>
186                     </ng-template>
187                 </ngx-file-drop>
188                 <div class="upload-table" *ngFor="let item of uploadedFiles; let i=index">
189                     <table class="table">
190                         <thead>
191                             <tr>
192                                 <th>Name : {{ item.name }}</th>
193                             </tr>
194                         </thead>
195                     </table>
196                 </div>
197             </div>
198
199             <div class="modal-footer">
200                 <button type="button" class="btn btn-sm btn-secondary" data-dismiss="modal"
201                     (click)="resetTheUploadedFiles()">Cancel
202                 </button>
203                 <button type="button" class="btn btn-sm btn-primary" data-dismiss="modal"
204                     (click)="uploadFile();openListView()">
205                     Import
206                 </button>
207             </div>
208         </div>
209     </div>
210 </div>