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>
8 <div class="label-input">
9 <input type="input" [(ngModel)]="fileName" placeholder="Template name" name="templateName" autofocus
15 <div class="template-mapping-accordion">
16 <div class="accordion" id="accordion">
18 <div class="card-header" id="headingOne">
19 <h5 class="mb-0 d-flex justify-content-between">
20 <button class="btn btn-link" data-toggle="collapse" data-target="#collapseOne" aria-expanded="true"
21 aria-controls="collapseOne">
22 1. Template <span class="accordian-title">{{currentTemplate?.fileName?.split('/')[1]}}</span>
28 <div id="collapseOne" class="collapse show" aria-labelledby="headingOne" data-parent="#accordion">
29 <div class="card-body">
30 <div class="single-line">
31 <label class="label-name">Template Type</label>
32 <div class="label-input">
33 <label name="trst" (click)="allowedExt=['.vtl']">
34 <input class="form-check-input" [(ngModel)]="templateExt" type="radio"
35 name="exampleRadios" id="exampleRadios1" value=Velcoity>
40 <label name="trst" (click)="allowedExt=['.j2','.jinja2']">
41 <input class="form-check-input" [(ngModel)]="templateExt" type="radio"
42 name="exampleRadios" id="exampleRadios1" value=Jinja>
48 <label name="trst" (click)="allowedExt=['.kt']">
49 <input class="form-check-input" [(ngModel)]="templateExt" type="radio"
50 name="exampleRadios" id="exampleRadios1" value=Kotlin>
58 <div class="create-template-import">Use the editor to add parameters or you can also
59 <a href="#" data-toggle="modal" (click)="allowedExt=[getFileExtension()]"
60 data-target="#templateModal"><b>Import
62 <div class="editor-container mb-4">
63 <app-source-editor (textChange)="textChanges($event,templateInfo.fileName)"
64 [(text)]="templateFileContent"></app-source-editor>
70 <div class="card-header" id="headingTwo">
72 <button class="btn btn-link collapsed" data-toggle="collapse" data-target="#collapseTwo"
73 aria-expanded="false" aria-controls="collapseTwo">
74 2. Manage Mapping <span
75 class="accordian-title">{{currentMapping?.fileName?.split('/')[1]}}</span>
79 <div id="collapseTwo" class="collapse" aria-labelledby="headingTwo" data-parent="#accordion">
80 <div class="card-body">
81 <p class="text-center"><b>Select a source to load config parameters</b></p>
82 <div class="text-center">
83 <button [disabled]="!(variables?.length>0 && templateFileContent?.trim()?.length > 0)"
84 (click)="getMappingTableFromTemplate($event)" class="mapping-source-load" [ngClass]="variables?.length>0 && templateFileContent?.trim()?.length > 0
85 ?'hover-enable':'hover-disable'">
86 <i class="icon-use-attributes"></i>
88 <span>Use Current Template Instance</span>
90 <a href="#" (click)="allowedExt=['.csv']" data-toggle="modal" data-target="#templateModal"
91 class="mapping-source-load">
92 <i class="icon-upload-attributes"></i>
94 <div>Upload Attributes List</div>
95 <div class="source-load-note">(Should be comma delimited file)</div>
97 <!-- <a href="#" class="mapping-source-load">
98 <i class="icon-import-cds"></i>
100 <span>Import from SDC Model</span>
104 <div class="table-container">
109 <div id="mapping-table" [hidden]="resourceDictionaryRes?.length == 0" class="mx-4 my-2">
110 <table datatable [dtOptions]="dtOptions" [dtTrigger]="dtTrigger" class="row-border hover">
114 <th>Parameter Name</th>
115 <th>Dictionary Name</th>
116 <th>Dictionary Source</th>
117 <th>Dependancies</th>
120 <th>Entry Schema</th>
124 <tr *ngFor="let dict of resourceDictionaryRes">
126 <img *ngIf="dict.definition?.property?.required"
127 src="/assets/img/icon-required-yes.svg">
128 <img *ngIf="!dict.definition?.property?.required"
129 src="/assets/img/icon-required-no.svg">
131 <td>{{ dict.name }}</td>
132 <td>{{ dict.name }}</td>
134 <select class="custom-select" (click)="selectSource(dict,$event)">
135 <option *ngFor="let val of dict.definition.sources | keyvalue">
136 {{initMap(dict.name,val)}}
142 <!-- <select class="custom-select">
143 <option *ngFor="let val of getKeys(dependancies)">
144 {{ getValue(dict.name)}}</option>
147 <input type="text" class="form-control" [ngModel]="getValue(dict.name)">
148 <!-- {{ dict.definition.sources }} -->
150 <td>{{ dict.definition?.property?.default }}</td>
151 <td>{{ dict.definition?.property?.type }}</td>
152 <td>{{ dict.definition?.property['entry_schema'] }}</td>
158 <div id="mapping-table" [hidden]="mappingRes?.length == 0" class="mx-4 my-2">
159 <table datatable [dtOptions]="dtOptions" [dtTrigger]="resTableDtTrigger" class="row-border hover">
163 <th>Parameter Name</th>
164 <th>Dictionary Name</th>
165 <th>Dictionary Source</th>
166 <th>Dependancies</th>
169 <th>Entry Schema</th>
173 <tr *ngFor="let dict of mappingRes">
175 <img *ngIf="dict.definition?.property?.required"
176 src="/assets/img/icon-required-yes.svg">
177 <img *ngIf="!dict.definition?.property?.required"
178 src="/assets/img/icon-required-no.svg">
180 <td>{{ dict['name'] }}</td>
181 <td>{{ dict['name'] }}</td>
183 <input type="text" class="form-control" [value]="dict['dictionary-source']"
188 <input type="text" class="form-control" [value]="dict['dependencies']" disabled>
189 <!-- {{ dict.definition.sources }} -->
191 <td>{{ dict['property']['default'] }}</td>
192 <td>{{ dict['property']['type'] }}</td>
193 <td>{{ dict['property']['entry_schema'] }}</td>
204 <div class="template-mapping-action">
205 <button (click)="cancel()" [disabled]="fileName?.length <=0"
206 class="btn btn-outline-secondary">Cancel</button>
207 <button (click)="saveToStore()" [disabled]="fileName?.length <=0" class="btn btn-primary">Submit</button>
213 <div class="modal fade" id="templateModal" tabindex="-1" role="dialog" aria-labelledby="templateModalLabel"
215 <div class="modal-dialog" role="document">
216 <div class="modal-content">
217 <div class="modal-header">
218 <h5 class="modal-title" id="templateModalLabel">Import File</h5>
219 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
220 <img src="assets/img/icon-close.svg" />
223 <div class="modal-body">
224 <ngx-file-drop [multiple]="false" [accept]="allowedExt" dropZoneLabel="Drop files here"
225 (onFileDrop)="dropped($event)" (onFileOver)="fileOver($event)" (onFileLeave)="fileLeave($event)">
226 <ng-template ngx-file-drop-content-tmp let-openFileSelector="openFileSelector">
227 <div class="folder-upload">
228 <img src="assets/img/folder-upload.svg" />
230 <div class="folder-upload-text">
233 <div class="folder-upload-text">or
234 <button type="button" class="btn btn-sm btn-primary" (click)="openFileSelector()">Browse
238 <div class="folder-upload-type">Allowed file type:
243 <div class="upload-table">
244 <table class="table">
246 <tr *ngFor="let item of uploadedFiles; let i=index">
247 <th width="40"><img src="assets/img/icon-file-code.svg" /></th>
248 <th>{{ item.name }}</th>
249 <th width="40" class="text-right"><img src="assets/img/icon-remove-file.svg" /></th>
256 <div class="modal-footer">
257 <button type="button" class="btn btn-sm btn-secondary" data-dismiss="modal"
258 (click)="resetTheUploadedFiles()">Cancel
261 <button (click)="uploadFile();openListView()" class="btn btn-sm btn-primary" data-dismiss="modal"