1 <app-header></app-header>
3 <div class="new-wrapper">
4 <div class="container-fluid main-container">
5 <header class="page-title">
8 <ul class="breadcrumb-header">
9 <li><a routerLink="/packages">CBA Packages</a></li>
10 <i class="fa fa-angle-right ml-2 mr-2"></i>
11 <li>{{viewedPackage.artifactName}}</li>
20 <div class="container-fluid body-container">
22 <div class="container">
23 <div class="creat-action-container">
25 <a class="action-button save" (click)="editBluePrint()">
26 <i class="icon-save-sm" aria-hidden="true"></i>
29 <a href="#" class="action-button" (click)="goBacktoDashboard()">
30 <i class="icon-discard-sm" aria-hidden="true"></i>
31 <span>Discard Changes</span>
35 <a href="#" class="action-button">
36 <i class="icon-clone-sm" aria-hidden="true"></i>
40 <a href="#" class="action-button">
41 <i class="icon-archive-sm" aria-hidden="true"></i>
45 <a class="action-button"
46 (click)="downloadPackage(viewedPackage.artifactName,viewedPackage.artifactVersion)">
47 <i class="icon-download" aria-hidden="true"></i>
51 <a data-target="#removePackageModal" data-toggle="modal" class="action-button">
52 <i class="icon-delete-sm" aria-hidden="true"></i>
57 <div class="card creat-card view-package-container">
59 <div class="col-1 text-center"><i class="package-type-icon icon-topologyView-active"></i></div>
61 <div class="row mb-4">
62 <div class="col-12 package-name deployed">
63 {{viewedPackage.artifactName}}
64 <img src="/assets/img/icon-deploy-inactive.svg" class="deply-status-icon">
65 <span class="package-version">v{{viewedPackage.artifactVersion}}</span>
67 <div class="col-12 package-description">
68 Last modified {{ viewedPackage.createdDate | date:'short' }} By
69 {{viewedPackage.updatedBy}}
72 <div class="row package-auth-info">
74 <p><b>Author Name</b></p>
75 <span>Shaaban Ebrahim</span>
78 <p><b>Author Email</b></p>
79 <span>shaaban.eltanany.ext@orange.com</span>
82 <p><b>Contributions</b></p>
83 <ul class="package-contributers">
85 <button type="button" class="border-fade" data-toggle="tooltip"
86 data-placement="bottom" title="User name">
87 <img src="/assets/img/img-user1.jpeg">
91 <button type="button" data-toggle="tooltip" data-placement="bottom"
93 <img src="/assets/img/img-user2.jpg">
97 <button type="button" data-toggle="tooltip" data-placement="bottom"
99 <img src="/assets/img/img-user3.jpg">
103 <a href="">5 contributors</a>
109 <div class="col-2 package-view-button">
110 <!-- <button class="btn btn-sm btn-primary mb-2" (click)="goToDesignerMode()">Designer
113 <!-- Button trigger modal - 1st Action -->
115 <button type="button" class="btn btn-sm btn-primary mb-2" data-toggle="modal"
116 data-target="#exampleModalLong">
117 <i class="icon-topologyView-active"></i> Designer Mode
119 <!-- Designer Modal -->
120 <div class="modal fade createActionModal" id="exampleModalLong" tabindex="-1" role="dialog"
121 aria-labelledby="exampleModalLongTitle" aria-hidden="true">
122 <div class="modal-dialog" role="document">
123 <div class="modal-content">
124 <div class="modal-header">
125 <h5 class="modal-title" id="exampleModalLongTitle"></h5>
126 <button type="button" class="close" data-dismiss="modal" aria-label="Close"
128 <i class="icon-action-close"></i>
131 <div class="modal-body">
132 <div id="carouselExampleIndicators" class="carousel slide"
133 data-ride="carousel" data-interval="false">
134 <div class="carousel-inner">
136 <div class="carousel-item active">
137 <h3 class="mainHead">Create an action</h3>
138 <h1>How would you like to get started?</h1>
141 <div class="col-3 d-flex">
143 data-target="#carouselExampleIndicators"
145 <div class="card actionType custom">
146 <div class="card-body">
148 <p>Start with your own settings</p>
150 data-target="#carouselExampleIndicators"
151 data-slide-to="1" class="btn">
158 <!--Default Action-->
159 <div class="col-3 d-flex">
161 data-target="#carouselExampleIndicators"
163 <div class="card actionType default">
164 <div class="card-body">
166 <p>Explore preset actions from CDS
169 data-target="#carouselExampleIndicators"
170 data-slide-to="2" class="btn">
178 <div class="col-3 d-flex">
180 data-target="#carouselExampleIndicators"
182 <div class="card actionType recent">
183 <div class="card-body">
185 <p>Re-use recent actions of your
189 data-target="#carouselExampleIndicators"
190 data-slide-to="3" class="btn">
198 <div class="col-3 d-flex">
200 data-target="#carouselExampleIndicators"
202 <div class="card actionType import">
203 <div class="card-body">
205 <p>Import your own action files</p>
207 data-target="#carouselExampleIndicators"
208 data-slide-to="4" class="btn">
216 <div class="col text-center">
217 <button class="btn skip-btn"
218 (click)="goToDesignerMode(viewedPackage.id)">Skip
219 to Designer Canvas</button>
223 <!--Custom Action Form-->
224 <div class="carousel-item">
225 <button data-target="#carouselExampleIndicators"
226 data-slide-to="0" title="Back" class="btn back"><i
227 class="icon-action-back"></i></button>
228 <h1>Create Custom Action</h1>
229 <div class="form-group text-center">
230 <input type="text" [(ngModel)]="customActionName"
231 class="form-control customAction"
232 placeholder="Type Action Name" autofocus>
233 <button type="button"
234 (click)="goToDesignerMode(viewedPackage.id)"
235 class="btn submit">Start</button>
239 <!--Default Actions Form-->
240 <div class="carousel-item">
241 <button data-target="#carouselExampleIndicators"
242 data-slide-to="0" title="Back" class="btn back"><i
243 class="icon-action-back"></i></button>
244 <h1>Choose Action(s) from CDS Default Package </h1>
245 <div class="actionFormWrapper">
246 <div class="row mb-3">
247 <div class="col sort-packages">
248 <label class="actionlabel">Version</label>
249 <div class="dropdown" style="width: 90px">
250 <input class="dropdown-toggle" type="text">
251 <div class="dropdown-text">1.6.2</div>
252 <ul class="dropdown-content">
263 <input type="text" class="form-control searchInput"
264 placeholder="Search">
267 <div class="row actionsListScroll">
269 <div class="actionName">
270 <div class="custom-control custom-checkbox">
271 <input type="checkbox"
272 class="custom-control-input"
273 id="customControlValidation1" required>
274 <label class="custom-control-label"
275 for="customControlValidation1">config-assign</label>
280 <div class="actionName">
281 <div class="custom-control custom-checkbox">
282 <input type="checkbox"
283 class="custom-control-input"
284 id="customControlValidation2" required>
285 <label class="custom-control-label"
286 for="customControlValidation2">config-assign-test</label>
291 <div class="actionName">
292 <div class="custom-control custom-checkbox">
293 <input type="checkbox"
294 class="custom-control-input"
295 id="customControlValidation3" required>
296 <label class="custom-control-label"
297 for="customControlValidation3">config-deploy</label>
302 <div class="actionName">
303 <div class="custom-control custom-checkbox">
304 <input type="checkbox"
305 class="custom-control-input"
306 id="customControlValidation4" required>
307 <label class="custom-control-label"
308 for="customControlValidation4">config-modify</label>
313 <div class="actionName">
314 <div class="custom-control custom-checkbox">
315 <input type="checkbox"
316 class="custom-control-input"
317 id="customControlValidation5" required>
318 <label class="custom-control-label"
319 for="customControlValidation5">config-assign1</label>
324 <div class="actionName">
325 <div class="custom-control custom-checkbox">
326 <input type="checkbox"
327 class="custom-control-input"
328 id="customControlValidation5" required>
329 <label class="custom-control-label"
330 for="customControlValidation5">config-assign1</label>
335 <div class="actionName">
336 <div class="custom-control custom-checkbox">
337 <input type="checkbox"
338 class="custom-control-input"
339 id="customControlValidation5" required>
340 <label class="custom-control-label"
341 for="customControlValidation5">config-assign1</label>
346 <div class="actionName">
347 <div class="custom-control custom-checkbox">
348 <input type="checkbox"
349 class="custom-control-input"
350 id="customControlValidation5" required>
351 <label class="custom-control-label"
352 for="customControlValidation5">config-assign1</label>
357 <div class="actionName">
358 <div class="custom-control custom-checkbox">
359 <input type="checkbox"
360 class="custom-control-input"
361 id="customControlValidation5" required>
362 <label class="custom-control-label"
363 for="customControlValidation5">config-assign1</label>
368 <div class="actionName">
369 <div class="custom-control custom-checkbox">
370 <input type="checkbox"
371 class="custom-control-input"
372 id="customControlValidation5" required>
373 <label class="custom-control-label"
374 for="customControlValidation5">config-assign1</label>
379 <div class="actionName">
380 <div class="custom-control custom-checkbox">
381 <input type="checkbox"
382 class="custom-control-input"
383 id="customControlValidation5" required>
384 <label class="custom-control-label"
385 for="customControlValidation5">config-assign1</label>
391 <div class="col text-center">
392 <p class="selectedActions">0 selected</p>
393 <button type="button"
394 (click)="goToDesignerMode(viewedPackage.id)"
395 class="btn submit">Start</button>
400 <!--Recent Actions Form-->
401 <div class="carousel-item">
402 <button data-target="#carouselExampleIndicators"
403 data-slide-to="0" title="Back" class="btn back"><i
404 class="icon-action-back"></i></button>
405 <h1>Choose Action(s) from Recent Packages</h1>
406 <div class="actionFormWrapper">
407 <div class="row mb-3">
408 <div class="col sort-packages">
409 <label class="actionlabel">Package
411 <div class="dropdown">
412 <input class="dropdown-toggle" type="text">
413 <div class="dropdown-text">CDS (v 1.0.0)
415 <ul class="dropdown-content">
417 <a>Test Package (v 1.1.8)</a>
420 <a>Test Package (v 1.1.8)</a>
423 <a>Test Package (v 1.1.8)</a>
426 <a>Test Package (v 1.1.8)</a>
432 <input type="text" class="form-control searchInput"
433 placeholder="Search">
436 <div class="row actionsListScroll">
438 <div class="actionName">
439 <div class="custom-control custom-checkbox">
440 <input type="checkbox"
441 class="custom-control-input"
442 id="customControlValidation1" required>
443 <label class="custom-control-label"
444 for="customControlValidation1">config-assign</label>
449 <div class="actionName">
450 <div class="custom-control custom-checkbox">
451 <input type="checkbox"
452 class="custom-control-input"
453 id="customControlValidation2" required>
454 <label class="custom-control-label"
455 for="customControlValidation2">config-assign-test</label>
460 <div class="actionName">
461 <div class="custom-control custom-checkbox">
462 <input type="checkbox"
463 class="custom-control-input"
464 id="customControlValidation3" required>
465 <label class="custom-control-label"
466 for="customControlValidation3">config-deploy</label>
471 <div class="actionName">
472 <div class="custom-control custom-checkbox">
473 <input type="checkbox"
474 class="custom-control-input"
475 id="customControlValidation4" required>
476 <label class="custom-control-label"
477 for="customControlValidation4">config-modify</label>
482 <div class="actionName">
483 <div class="custom-control custom-checkbox">
484 <input type="checkbox"
485 class="custom-control-input"
486 id="customControlValidation5" required>
487 <label class="custom-control-label"
488 for="customControlValidation5">config-assign1</label>
493 <div class="actionName">
494 <div class="custom-control custom-checkbox">
495 <input type="checkbox"
496 class="custom-control-input"
497 id="customControlValidation5" required>
498 <label class="custom-control-label"
499 for="customControlValidation5">config-assign1</label>
504 <div class="actionName">
505 <div class="custom-control custom-checkbox">
506 <input type="checkbox"
507 class="custom-control-input"
508 id="customControlValidation5" required>
509 <label class="custom-control-label"
510 for="customControlValidation5">config-assign1</label>
515 <div class="actionName">
516 <div class="custom-control custom-checkbox">
517 <input type="checkbox"
518 class="custom-control-input"
519 id="customControlValidation5" required>
520 <label class="custom-control-label"
521 for="customControlValidation5">config-assign1</label>
526 <div class="actionName">
527 <div class="custom-control custom-checkbox">
528 <input type="checkbox"
529 class="custom-control-input"
530 id="customControlValidation5" required>
531 <label class="custom-control-label"
532 for="customControlValidation5">config-assign1</label>
537 <div class="actionName">
538 <div class="custom-control custom-checkbox">
539 <input type="checkbox"
540 class="custom-control-input"
541 id="customControlValidation5" required>
542 <label class="custom-control-label"
543 for="customControlValidation5">config-assign1</label>
548 <div class="actionName">
549 <div class="custom-control custom-checkbox">
550 <input type="checkbox"
551 class="custom-control-input"
552 id="customControlValidation5" required>
553 <label class="custom-control-label"
554 for="customControlValidation5">config-assign1</label>
560 <div class="col text-center">
561 <p class="selectedActions">0 selected</p>
562 <button type="button"
563 class="btn submit">Start</button>
568 <!--Import Actions Form-->
569 <div class="carousel-item">
570 <button data-target="#carouselExampleIndicators"
571 data-slide-to="0" title="Back" class="btn back"><i
572 class="icon-action-back"></i></button>
573 <h1>Import Action(s)</h1>
574 <div class="actionFormWrapper">
577 <ngx-file-drop accept=".json"
578 dropZoneLabel="Drop files here"
579 (onFileDrop)="dropped($event)"
580 (onFileOver)="fileOver($event)"
581 (onFileLeave)="fileLeave($event)">
582 <ng-template ngx-file-drop-content-tmp
583 let-openFileSelector="openFileSelector">
584 <div class="folder-upload">
586 src="assets/img/folder-upload.svg" />
588 <div class="folder-upload-text">
591 <div class="folder-upload-text">or
592 <button type="button"
593 class="btn btn-sm btn-primary"
594 (click)="openFileSelector()">Browse
598 <div class="folder-upload-type">
603 <div class="upload-table">
604 <table class="table">
607 *ngFor="let item of uploadedFiles; let i=index">
609 src="assets/img/icon-file-code.svg" />
611 <th>{{ item.name }}</th>
612 <th width="40" class="text-right">
614 src="assets/img/icon-remove-file.svg" />
623 <div class="col text-center">
624 <button type="button"
625 class="btn submit mt-4">Import</button>
636 <button type="button" class="btn btn-sm mb-2 btn-enrich" data-toggle="modal"
637 data-target="#enrichModal" >
638 <i class="icon-enrich" aria-hidden="true"></i> Manual Enrich
642 <button class="btn btn-sm btn-deploy" (click)="deployCurrentPackage()"><i
643 class="fa fa-play-circle"></i> Deploy
653 <div class="nav nav-tabs " id="nav-tab" role="tablist">
654 <a class="nav-item nav-link active complete" id="nav-metadata-tab" data-toggle="tab"
655 href="#nav-metadata" role="tab" aria-controls="nav-metadata" aria-selected="true"
656 autofocus #nameit (focusout)="saveMetaData()">METADATA</a>
657 <a class="nav-item nav-link" id="nav-template-tab" data-toggle="tab" href="#nav-template"
658 role="tab" aria-controls="nav-template" aria-selected="false">TEMPLATE & MAPPING</a>
659 <a class="nav-item nav-link" id="nav-scripts-tab" data-toggle="tab" href="#nav-scripts"
660 role="tab" aria-controls="nav-scripts" aria-selected="false">SCRIPTS</a>
661 <a class="nav-item nav-link" id="nav-imports-tab" data-toggle="tab" href="#nav-imports"
662 role="tab" aria-controls="nav-imports" aria-selected="false">DEFINITIONS</a>
663 <a class="nav-item nav-link" id="nav-authentication-tab" data-toggle="tab"
664 href="#nav-authentication" role="tab" aria-controls="nav-authentication"
665 aria-selected="false">EXTERNAL SYSTEM AUTHENTICATION PROPERTIES</a>
670 <div class="row mt-4">
672 <div class="tab-content" id="nav-tabContent">
673 <div class="tab-pane fade show active" id="nav-metadata" role="tabpanel"
674 aria-labelledby="nav-metadata-tab">
675 <app-metadata-tab></app-metadata-tab>
677 <div class="tab-pane fade" id="nav-template" role="tabpanel"
678 aria-labelledby="nav-template-tab">
679 <app-template-mapping></app-template-mapping>
681 <div class="tab-pane fade" id="nav-scripts" role="tabpanel"
682 aria-labelledby="nav-scripts-tab">
683 <app-scripts-tab></app-scripts-tab>
685 <div class="tab-pane fade" id="nav-imports" role="tabpanel"
686 aria-labelledby="nav-imports-tab">
687 <app-imports-tab></app-imports-tab>
690 <div class="tab-pane fade" id="nav-authentication" role="tabpanel"
691 aria-labelledby="nav-authentication-tab">
692 <div class="card creat-card">
693 <div class="editor-container">
694 <app-dsl-definitions-tab></app-dsl-definitions-tab>
706 <!-- Enrich Modal -->
707 <div class="modal fade enrichModal" id="enrichModal" tabindex="-1" role="dialog" aria-labelledby="enrichModalLabel"
709 <div class="modal-dialog" role="document">
710 <div class="modal-content">
711 <div class="modal-header">
712 <h5 class="modal-title" id="enrichModalLabel">Manual Enrich</h5>
713 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
714 <img src="assets/img/icon-close.svg" />
717 <div class="modal-body">
718 <ul class="defintionsNote">
719 <li><b>To do manual enrichment: </b></li>
720 <li>1. Copy and paste "workflows" and "node_templates"</li>
721 <li>2. Press <b>Enrich</b> button</li>
723 <ace-editor [(text)]="vlbDefinition.topology_template.content" [mode]="'javascript'" [autoUpdateContent]="true"
724 [durationBeforeCallback]="1000" (textChanged)="textChanged($event)" [theme]="'eclipse'" #editor
725 style="height:300px;">
728 <div class="modal-footer">
729 <button type="button" class="btn btn-secondary" data-dismiss="modal">Cancel</button>
730 <button type="button" data-dismiss="modal" class="btn btn-primary btn-enrich" (click)="enrichBluePrint()">Enrich</button>
735 <!-- Delete Modal -->
736 <div class="modal fade" id="removePackageModal" tabindex="-1" role="dialog" aria-labelledby="removePackageModalLabel"
738 <div class="modal-dialog" role="document">
739 <div class="modal-content">
740 <div class="modal-header">
741 <h5 class="modal-title" id="removePackageModalLabel">Delete Script</h5>
742 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
743 <i class="icon-action-close"></i>
746 <div class="modal-body">
747 <p>Are you sure you want to delete this package?</p>
749 <div class="modal-footer">
750 <button type="button" class="btn btn-secondary" data-dismiss="modal">Cancel</button>
751 <button type="button" (click)="deletePackage()" data-dismiss="modal"
752 class="btn btn-primary">Delete</button>