6782998db4301dc0ce132e3d03082ff3978071de
[ccsdk/cds.git] /
1 <div class="import-container-all">
2     <div class="mb-4">
3         <!--Create Script File-->
4     <button type="button" data-target="#createScriptsModal" data-toggle="modal" class="btn mb-2 mr-2 create-script-button"><i class="fa fa-plus"></i> <span></span>Create Script
5     </button>
6         <span tourAnchor="st-scriptsImport" class="import-container-span">Or you can also <a data-target="#scriptsModal"
7                 data-toggle="modal" (click)="resetTheUploadedFiles()" href="#"><b>Import File</b></a></span>
8     </div>
9
10     <!---->
11     <div class="accordion">
12         <!-- <div class="card creat-card">
13             <div class="single-line">
14                 <label class="label-name">File</label>
15             </div>
16         </div> -->
17         <div *ngFor="let file of scriptsFiles | keyvalue; let mapIndex = index" id="accordion-script">
18
19             <div class="card">
20                 <div [id]="'head-script-'+mapIndex" class="card-header">
21                     <h5 class="mb-0 d-flex justify-content-between">
22                         <button (click)="changeDivShow(mapIndex)" aria-expanded="false" class="btn btn-link collapsed"
23                             data-toggle="collapse">
24                             <i class="icon-file-code"></i> {{file.key}}
25                         </button>
26                         <a data-toggle="modal" (click)="initDelete(file)" data-target="#exampleModal"
27                             class="accordion-delete"><i class="icon-delete-sm"></i></a>
28                         <!-- <a (click)="removeFile(file.key,mapIndex)" data-toggle="modal" data-target="#exampleModal" class="accordion-delete"><i
29                                     class="icon-delete-sm"></i></a> -->
30                         <!-- Delete Modal -->
31                         <div class="modal fade" id="exampleModal" tabindex="-1" role="dialog"
32                             aria-labelledby="exampleModalLabel" aria-hidden="true">
33                             <div class="modal-dialog" role="document">
34                                 <div class="modal-content">
35                                     <div class="modal-header">
36                                         <h5 class="modal-title" id="exampleModalLabel">Delete Script</h5>
37                                         <button type="button" class="close" data-dismiss="modal" aria-label="Close">
38                                             <img src="assets/img/icon-close.svg" />
39                                         </button>
40                                     </div>
41                                     <div class="modal-body">
42                                         <p>Are you sure you want to delete script file
43                                             <span>{{fileToDelete?.key?.split('/')[2]}}</span>?
44                                         </p>
45                                     </div>
46                                     <div class="modal-footer">
47                                         <button type="button" class="btn btn-secondary" data-dismiss="modal">Cancel
48                                         </button>
49                                         <button type="button" (click)="removeFile(fileToDelete?.key,0)"
50                                             data-dismiss="modal" class="btn btn-danger">Delete
51                                         </button>
52                                     </div>
53                                 </div>
54                             </div>
55                         </div>
56
57
58                     </h5>
59                 </div>
60                 <div [attr.aria-labelledby]="'head-script-'+mapIndex" [id]="'id-script-'+mapIndex" class="collapse"
61                     data-parent="#accordion-script">
62                     <div class="card-body">
63                         <ace-editor [(text)]="file.value" (textChange)="textChanges($event,file.key)" [mode]="'kotlin'"
64                             [autoUpdateContent]="true" [durationBeforeCallback]="5000" [theme]="'eclipse'" #editor
65                             style="height:300px;">
66                         </ace-editor>
67                     </div>
68                 </div>
69             </div>
70
71         </div>
72     </div>
73
74 </div>
75
76 <div aria-hidden="true" aria-labelledby="scriptsModalLabel" class="modal fade" id="scriptsModal" role="dialog"
77     tabindex="-1">
78     <div class="modal-dialog" role="document">
79         <div class="modal-content">
80             <div class="modal-header">
81                 <h5 class="modal-title" id="scriptsModalLabel">Import File</h5>
82                 <button aria-label="Close" class="close" data-dismiss="modal" type="button">
83                     <img src="assets/img/icon-close.svg" />
84                 </button>
85             </div>
86             <div class="modal-body">
87                 <ngx-file-drop accept=".kt,.py" (onFileDrop)="dropped($event)" (onFileLeave)="fileLeave($event)"
88                     (onFileOver)="fileOver($event)" dropZoneLabel="Drop files here">
89                     <ng-template let-openFileSelector="openFileSelector" ngx-file-drop-content-tmp>
90                         <div class="folder-upload">
91                             <img src="assets/img/folder-upload.svg" />
92                         </div>
93                         <div class="folder-upload-text">
94                             Drag & Drop file
95                         </div>
96                         <div class="folder-upload-text">or
97                             <button (click)="openFileSelector()" class="btn btn-sm btn-primary" type="button">Browse
98                                 Files
99                             </button>
100                         </div>
101                         <div class="folder-upload-type">Allowed file type: Kotlin(kt), Python(py)</div>
102                     </ng-template>
103                 </ngx-file-drop>
104                 <div class="upload-table">
105                     <table class="table">
106                         <thead>
107                             <tr *ngFor="let item of uploadedFiles; let i=index">
108                                 <th width="40"><img src="assets/img/icon-file-code.svg" /></th>
109                                 <th>{{ item.name }}</th>
110                                 <th (click)="removeInitFile(i)" width="40" class="text-right"><img
111                                         src="assets/img/icon-remove-file.svg" /></th>
112                             </tr>
113                         </thead>
114                     </table>
115                 </div>
116             </div>
117             <div class="modal-footer">
118                 <button (click)="resetTheUploadedFiles()" class="btn btn-sm btn-secondary" data-dismiss="modal"
119                     type="button">Cancel
120                 </button>
121                 <button (click)="setFilesToStore()" class="btn btn-sm btn-primary" [disabled]="uploadedFiles?.length<=0"
122                     data-dismiss="modal" type="button">
123                     Import
124                 </button>
125             </div>
126         </div>
127     </div>
128 </div>
129
130 <!-- create script modal -->
131 <div aria-hidden="true" aria-labelledby="createScriptsModalLabel" class="modal fade" id="createScriptsModal"
132     role="dialog" tabindex="-1">
133     <div class="modal-dialog" style="max-width: 60%" role="document">
134         <div class="modal-content">
135             <div class="modal-header">
136                 <h5 class="modal-title" id="createScriptsModalLabel">Create Script File</h5>
137                 <button aria-label="Close" class="close" data-dismiss="modal" type="button">
138                     <img src="assets/img/icon-close.svg" />
139                 </button>
140             </div>
141             <div class="modal-body">
142                 <div class="single-line-model">
143                     <label class="label-name">File Name
144                         <span _ngcontent-uew-c3="">*</span>
145                     </label>
146                     <div class="label-input">
147                         <input type="input" [(ngModel)]="currentFileName" placeholder="script name" name="scriptName"
148                             autofocus [autofocus]="true">
149                     </div>
150                     <div class="single-line-model">
151                         <label class="label-name">Script Type</label>
152                         <div class="label-input" (change)="changeExtension()">
153                             <label name="trst" id="kt" class="pl-0">
154                                 <input class="form-check-input" [(ngModel)]="scriptExtension" type="radio"
155                                     name="exampleRadios1" id="kt" value=kotlin>
156                                 <span>
157                                     Kotlin
158                                 </span>
159                             </label>
160                             <label name="trst" id="py">
161                                 <input class="form-check-input" [(ngModel)]="scriptExtension" type="radio"
162                                     name="exampleRadios2" id="py" value=python>
163                                 <span>
164                                     Jython
165                                 </span>
166                             </label>
167                             <label id="ansible">
168                                 <input class="form-check-input" [(ngModel)]="scriptExtension" type="radio"
169                                     name="exampleRadios3" id="ansible" value=ansible>
170                                 <span>
171                                     Ansible
172                                 </span>
173                             </label>
174                         </div>
175                     </div>
176                 </div>
177                 <div id="id-script">
178                     <ace-editor [(text)]="currentFileContent" [mode]="currentExtension" [autoUpdateContent]="true"
179                         [durationBeforeCallback]="500" [theme]="'eclipse'" #editor style="height:300px;">
180                     </ace-editor>
181                 </div>
182                 <div class="row template-mapping-action mb-0">
183                     <div class="col text-right">
184
185                     </div>
186                 </div>
187                 <!-- </div>
188                 </div> -->
189                 <!-- <div class="upload-table">
190                     <table class="table">
191                         <thead>
192                             <tr *ngFor="let item of uploadedFiles; let i=index">
193                                 <th width="40"><img src="assets/img/icon-file-code.svg" /></th>
194                                 <th>{{ item.name }}</th>
195                                 <th (click)="removeInitFile(i)" width="40" class="text-right"><img
196                                         src="assets/img/icon-remove-file.svg" /></th>
197                             </tr>
198                         </thead>
199                     </table>
200                 </div> -->
201             </div>
202             <div class="modal-footer">
203                 <button (click)="resetTheUploadedFiles()" class="btn btn-sm btn-secondary" data-dismiss="modal"
204                     type="button">Cancel
205                 </button>
206                 <button (click)="textCurrentChanges()" data-dismiss="modal" [disabled]="currentFileName?.length == 0 ||
207                                 this.currentFileContent?.length == 0" title="Save script file"
208                     class="btn btn-sm btn-primary">Create Script
209                 </button>
210             </div>
211         </div>
212     </div>
213 </div>