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 <button class="action-button save" (click)="editBluePrint()" [disabled]="!isSaveEnabled">
26 <i class="icon-save-sm" aria-hidden="true"></i>
29 <button data-target="#discardChangesModal" data-toggle="modal" class="action-button"
30 [disabled]="!isSaveEnabled">
31 <i class="icon-discard-sm" aria-hidden="true"></i>
32 <span>Discard Changes</span>
36 <button class="action-button">
37 <i class="icon-clone-sm" aria-hidden="true"></i>
41 <a href="#" class="action-button">
42 <i class="icon-archive-sm" aria-hidden="true"></i>
46 <a class="action-button"
47 (click)="downloadPackage(viewedPackage.artifactName,viewedPackage.artifactVersion)">
48 <i class="icon-download" aria-hidden="true"></i>
52 <a data-target="#removePackageModal" data-toggle="modal" class="action-button">
53 <i class="icon-delete-sm" aria-hidden="true"></i>
58 <div class="card creat-card view-package-container">
60 <div class="col-1 text-center"><i class="package-type-icon icon-topologyView-active"></i></div>
62 <div class="row mb-4">
63 <div class="col-12 package-name deployed">
64 {{viewedPackage.artifactName}}
65 <img src="/assets/img/icon-deploy-inactive.svg" class="deply-status-icon">
66 <span class="package-version">v{{viewedPackage.artifactVersion}}</span>
68 <div class="col-12 package-description">
69 Last modified {{ viewedPackage.createdDate | date:'short' }} By
70 {{viewedPackage.updatedBy ? viewedPackage.updatedBy.split('<')[0] : ""}}
73 <div class="row package-auth-info">
75 <p><b>Author Name</b></p>
76 <span> {{viewedPackage.updatedBy ? viewedPackage.updatedBy.split('<')[0] : ""}}</span>
78 <!--<div class="col-4">
79 <p><b>Author Email</b></p>
80 <span>shaaban.eltanany.ext@orange.com</span>
83 <p><b>Contributions</b></p>
84 <ul class="package-contributers">
86 <button type="button" class="border-fade" data-toggle="tooltip"
87 data-placement="bottom" title="User name">
88 <img src="/assets/img/img-user1.jpeg">
92 <button type="button" data-toggle="tooltip" data-placement="bottom"
94 <img src="/assets/img/img-user2.jpg">
98 <button type="button" data-toggle="tooltip" data-placement="bottom"
100 <img src="/assets/img/img-user3.jpg">
104 <a href="">5 contributors</a>
110 <div class="col-2 package-view-button">
111 <!-- <button class="btn btn-sm btn-primary mb-2" (click)="goToDesignerMode()">Designer
114 <!-- Button trigger modal - 1st Action -->
116 <button type="button" class="btn btn-sm btn-primary mb-2" data-toggle="modal"
117 data-target="#exampleModalLong">
118 <i class="icon-topologyView-active"></i> Designer Mode
120 <!-- Designer Modal -->
121 <div class="modal fade createActionModal" id="exampleModalLong" tabindex="-1" role="dialog"
122 aria-labelledby="exampleModalLongTitle" aria-hidden="true">
123 <div class="modal-dialog" role="document">
124 <div class="modal-content">
125 <div class="modal-header">
126 <h5 class="modal-title" id="exampleModalLongTitle"></h5>
127 <button type="button" class="close" data-dismiss="modal" aria-label="Close"
129 <i class="icon-action-close"></i>
132 <div class="modal-body">
133 <div id="carouselExampleIndicators" class="carousel slide"
134 data-ride="carousel" data-interval="false">
135 <div class="carousel-inner">
137 <div class="carousel-item active">
138 <h3 class="mainHead">Create an action</h3>
139 <h1>How would you like to get started?</h1>
142 <div class="col-3 d-flex">
144 data-target="#carouselExampleIndicators"
146 <div class="card actionType custom">
147 <div class="card-body">
149 <p>Start with your own settings</p>
151 data-target="#carouselExampleIndicators"
152 data-slide-to="1" class="btn">
159 <!--Default Action-->
160 <div class="col-3 d-flex">
162 data-target="#carouselExampleIndicators"
164 <div class="card actionType default">
165 <div class="card-body">
167 <p>Explore preset actions from CDS
170 data-target="#carouselExampleIndicators"
171 data-slide-to="2" class="btn">
179 <div class="col-3 d-flex">
181 data-target="#carouselExampleIndicators"
183 <div class="card actionType recent">
184 <div class="card-body">
186 <p>Re-use recent actions of your
190 data-target="#carouselExampleIndicators"
191 data-slide-to="3" class="btn">
199 <div class="col-3 d-flex">
201 data-target="#carouselExampleIndicators"
203 <div class="card actionType import">
204 <div class="card-body">
206 <p>Import your own action files</p>
208 data-target="#carouselExampleIndicators"
209 data-slide-to="4" class="btn">
218 <div class="col text-center">
219 <button class="btn skip-btn"
220 (click)="goToDesignerMode(viewedPackage.id)">
227 <!--Custom Action Form-->
228 <div class="carousel-item">
229 <button data-target="#carouselExampleIndicators"
230 data-slide-to="0" title="Back" class="btn back"><i
231 class="icon-action-back"></i></button>
232 <h1>Create Custom Action</h1>
233 <div class="form-group text-center">
234 <input type="text" [(ngModel)]="customActionName"
235 class="form-control customAction"
236 placeholder="Type Action Name" autofocus>
237 <button type="button"
238 (click)="goToDesignerMode(viewedPackage.id)"
239 class="btn submit">Start
244 <!--Default Actions Form-->
245 <div class="carousel-item">
246 <button data-target="#carouselExampleIndicators"
247 data-slide-to="0" title="Back" class="btn back"><i
248 class="icon-action-back"></i></button>
249 <h1>Choose Action(s) from CDS Default Package </h1>
250 <div class="actionFormWrapper">
251 <div class="row mb-3">
252 <div class="col sort-packages">
253 <label class="actionlabel">Version</label>
254 <div class="dropdown" style="width: 90px">
255 <input class="dropdown-toggle" type="text">
256 <div class="dropdown-text">1.6.2</div>
257 <ul class="dropdown-content">
268 <input type="text" class="form-control searchInput"
269 placeholder="Search">
272 <div class="row actionsListScroll">
274 <div class="actionName">
275 <div class="custom-control custom-checkbox">
276 <input type="checkbox"
277 class="custom-control-input"
278 id="customControlValidation1"
280 <label class="custom-control-label"
281 for="customControlValidation1">config-assign</label>
286 <div class="actionName">
287 <div class="custom-control custom-checkbox">
288 <input type="checkbox"
289 class="custom-control-input"
290 id="customControlValidation2"
292 <label class="custom-control-label"
293 for="customControlValidation2">config-assign-test</label>
298 <div class="actionName">
299 <div class="custom-control custom-checkbox">
300 <input type="checkbox"
301 class="custom-control-input"
302 id="customControlValidation3"
304 <label class="custom-control-label"
305 for="customControlValidation3">config-deploy</label>
310 <div class="actionName">
311 <div class="custom-control custom-checkbox">
312 <input type="checkbox"
313 class="custom-control-input"
314 id="customControlValidation4"
316 <label class="custom-control-label"
317 for="customControlValidation4">config-modify</label>
322 <div class="actionName">
323 <div class="custom-control custom-checkbox">
324 <input type="checkbox"
325 class="custom-control-input"
326 id="customControlValidation5"
328 <label class="custom-control-label"
329 for="customControlValidation5">config-assign1</label>
334 <div class="actionName">
335 <div class="custom-control custom-checkbox">
336 <input type="checkbox"
337 class="custom-control-input"
338 id="customControlValidation5"
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"
352 <label class="custom-control-label"
353 for="customControlValidation5">config-assign1</label>
358 <div class="actionName">
359 <div class="custom-control custom-checkbox">
360 <input type="checkbox"
361 class="custom-control-input"
362 id="customControlValidation5"
364 <label class="custom-control-label"
365 for="customControlValidation5">config-assign1</label>
370 <div class="actionName">
371 <div class="custom-control custom-checkbox">
372 <input type="checkbox"
373 class="custom-control-input"
374 id="customControlValidation5"
376 <label class="custom-control-label"
377 for="customControlValidation5">config-assign1</label>
382 <div class="actionName">
383 <div class="custom-control custom-checkbox">
384 <input type="checkbox"
385 class="custom-control-input"
386 id="customControlValidation5"
388 <label class="custom-control-label"
389 for="customControlValidation5">config-assign1</label>
394 <div class="actionName">
395 <div class="custom-control custom-checkbox">
396 <input type="checkbox"
397 class="custom-control-input"
398 id="customControlValidation5"
400 <label class="custom-control-label"
401 for="customControlValidation5">config-assign1</label>
407 <div class="col text-center">
408 <p class="selectedActions">0 selected</p>
409 <button type="button"
410 (click)="goToDesignerMode(viewedPackage.id)"
411 class="btn submit">Start
417 <!--Recent Actions Form-->
418 <div class="carousel-item">
419 <button data-target="#carouselExampleIndicators"
420 data-slide-to="0" title="Back" class="btn back"><i
421 class="icon-action-back"></i></button>
422 <h1>Choose Action(s) from Recent Packages</h1>
423 <div class="actionFormWrapper">
424 <div class="row mb-3">
425 <div class="col sort-packages">
426 <label class="actionlabel">Package
428 <div class="dropdown">
429 <input class="dropdown-toggle" type="text">
430 <div class="dropdown-text">CDS (v 1.0.0)
432 <ul class="dropdown-content">
434 <a>Test Package (v 1.1.8)</a>
437 <a>Test Package (v 1.1.8)</a>
440 <a>Test Package (v 1.1.8)</a>
443 <a>Test Package (v 1.1.8)</a>
449 <input type="text" class="form-control searchInput"
450 placeholder="Search">
453 <div class="row actionsListScroll">
455 <div class="actionName">
456 <div class="custom-control custom-checkbox">
457 <input type="checkbox"
458 class="custom-control-input"
459 id="customControlValidation1"
461 <label class="custom-control-label"
462 for="customControlValidation1">config-assign</label>
467 <div class="actionName">
468 <div class="custom-control custom-checkbox">
469 <input type="checkbox"
470 class="custom-control-input"
471 id="customControlValidation2"
473 <label class="custom-control-label"
474 for="customControlValidation2">config-assign-test</label>
479 <div class="actionName">
480 <div class="custom-control custom-checkbox">
481 <input type="checkbox"
482 class="custom-control-input"
483 id="customControlValidation3"
485 <label class="custom-control-label"
486 for="customControlValidation3">config-deploy</label>
491 <div class="actionName">
492 <div class="custom-control custom-checkbox">
493 <input type="checkbox"
494 class="custom-control-input"
495 id="customControlValidation4"
497 <label class="custom-control-label"
498 for="customControlValidation4">config-modify</label>
503 <div class="actionName">
504 <div class="custom-control custom-checkbox">
505 <input type="checkbox"
506 class="custom-control-input"
507 id="customControlValidation5"
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"
521 <label class="custom-control-label"
522 for="customControlValidation5">config-assign1</label>
527 <div class="actionName">
528 <div class="custom-control custom-checkbox">
529 <input type="checkbox"
530 class="custom-control-input"
531 id="customControlValidation5"
533 <label class="custom-control-label"
534 for="customControlValidation5">config-assign1</label>
539 <div class="actionName">
540 <div class="custom-control custom-checkbox">
541 <input type="checkbox"
542 class="custom-control-input"
543 id="customControlValidation5"
545 <label class="custom-control-label"
546 for="customControlValidation5">config-assign1</label>
551 <div class="actionName">
552 <div class="custom-control custom-checkbox">
553 <input type="checkbox"
554 class="custom-control-input"
555 id="customControlValidation5"
557 <label class="custom-control-label"
558 for="customControlValidation5">config-assign1</label>
563 <div class="actionName">
564 <div class="custom-control custom-checkbox">
565 <input type="checkbox"
566 class="custom-control-input"
567 id="customControlValidation5"
569 <label class="custom-control-label"
570 for="customControlValidation5">config-assign1</label>
575 <div class="actionName">
576 <div class="custom-control custom-checkbox">
577 <input type="checkbox"
578 class="custom-control-input"
579 id="customControlValidation5"
581 <label class="custom-control-label"
582 for="customControlValidation5">config-assign1</label>
588 <div class="col text-center">
589 <p class="selectedActions">0 selected</p>
590 <button type="button"
591 class="btn submit">Start
597 <!--Import Actions Form-->
598 <div class="carousel-item">
599 <button data-target="#carouselExampleIndicators"
600 data-slide-to="0" title="Back" class="btn back"><i
601 class="icon-action-back"></i></button>
602 <h1>Import Action(s)</h1>
603 <div class="actionFormWrapper">
606 <ngx-file-drop accept=".json"
607 dropZoneLabel="Drop files here"
608 (onFileDrop)="dropped($event)"
609 (onFileOver)="fileOver($event)"
610 (onFileLeave)="fileLeave($event)">
611 <ng-template ngx-file-drop-content-tmp
612 let-openFileSelector="openFileSelector">
613 <div class="folder-upload">
615 src="assets/img/folder-upload.svg"/>
617 <div class="folder-upload-text">
620 <div class="folder-upload-text">or
621 <button type="button"
622 class="btn btn-sm btn-primary"
623 (click)="openFileSelector()">
628 <div class="folder-upload-type">
634 <div class="upload-table">
635 <table class="table">
638 *ngFor="let item of uploadedFiles; let i=index">
640 src="assets/img/icon-file-code.svg"/>
642 <th>{{ item.name }}</th>
643 <th width="40" class="text-right">
645 src="assets/img/icon-remove-file.svg"/>
654 <div class="col text-center">
655 <button type="button"
656 class="btn submit mt-4">Import
668 <button type="button" class="btn btn-sm mb-2 btn-enrich" data-toggle="modal"
669 data-target="#enrichModal">
670 <i class="icon-enrich" aria-hidden="true"></i> Manual Enrich
674 <button class="btn btn-sm btn-deploy" (click)="deployCurrentPackage()"><i
675 class="fa fa-play-circle"></i> Deploy
685 <div class="nav nav-tabs " id="nav-tab" role="tablist">
686 <a [classList]="metadataClasses" id="nav-metadata-tab" data-toggle="tab"
687 href="#nav-metadata" role="tab" aria-controls="nav-metadata" aria-selected="true"
688 autofocus #nameit (focusout)="saveMetaData()">METADATA</a>
689 <a class="nav-item nav-link" id="nav-template-tab" data-toggle="tab" href="#nav-template"
690 role="tab" aria-controls="nav-template" aria-selected="false">TEMPLATE & MAPPING</a>
691 <a class="nav-item nav-link" id="nav-scripts-tab" data-toggle="tab" href="#nav-scripts"
692 role="tab" aria-controls="nav-scripts" aria-selected="false">SCRIPTS</a>
693 <a class="nav-item nav-link" id="nav-imports-tab" data-toggle="tab" href="#nav-imports"
694 role="tab" aria-controls="nav-imports" aria-selected="false">DEFINITIONS</a>
695 <a class="nav-item nav-link" id="nav-authentication-tab" data-toggle="tab"
696 href="#nav-authentication" role="tab" aria-controls="nav-authentication"
697 aria-selected="false">EXTERNAL SYSTEM AUTHENTICATION PROPERTIES</a>
702 <div class="row mt-4">
704 <div class="tab-content" id="nav-tabContent">
705 <div class="tab-pane fade show active" id="nav-metadata" role="tabpanel"
706 aria-labelledby="nav-metadata-tab" (click)="clickEvent()">
707 <app-metadata-tab></app-metadata-tab>
709 <div class="tab-pane fade" id="nav-template" role="tabpanel"
710 aria-labelledby="nav-template-tab">
711 <app-template-mapping></app-template-mapping>
713 <div class="tab-pane fade" id="nav-scripts" role="tabpanel"
714 aria-labelledby="nav-scripts-tab">
715 <app-scripts-tab></app-scripts-tab>
717 <div class="tab-pane fade" id="nav-imports" role="tabpanel"
718 aria-labelledby="nav-imports-tab">
719 <app-imports-tab></app-imports-tab>
722 <div class="tab-pane fade" id="nav-authentication" role="tabpanel"
723 aria-labelledby="nav-authentication-tab">
724 <div class="card creat-card">
725 <div class="editor-container">
726 <app-dsl-definitions-tab></app-dsl-definitions-tab>
738 <!-- Enrich Modal -->
739 <div class="modal fade enrichModal" id="enrichModal" tabindex="-1" role="dialog" aria-labelledby="enrichModalLabel"
741 <div class="modal-dialog" role="document">
742 <div class="modal-content">
743 <div class="modal-header">
744 <h5 class="modal-title" id="enrichModalLabel">Manual Enrich</h5>
745 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
746 <img src="assets/img/icon-close.svg"/>
749 <div class="modal-body">
750 <ul class="defintionsNote">
751 <li><b>To do manual enrichment: </b></li>
752 <li>1. Copy and paste "workflows" and "node_templates"</li>
753 <li>2. Press <b>Enrich</b> button</li>
755 <ace-editor [(text)]="vlbDefinition.topology_template.content" [mode]="'javascript'"
756 [autoUpdateContent]="true"
757 [durationBeforeCallback]="1000" (textChanged)="textChanged($event)" [theme]="'eclipse'"
759 style="height:300px;">
762 <div class="modal-footer">
763 <button type="button" class="btn btn-secondary" data-dismiss="modal">Cancel</button>
764 <button type="button" data-dismiss="modal" class="btn btn-primary btn-enrich"
765 (click)="enrichBluePrint()">Enrich
771 <!-- Delete Modal -->
772 <div class="modal fade" id="removePackageModal" tabindex="-1" role="dialog" aria-labelledby="removePackageModalLabel"
774 <div class="modal-dialog" role="document">
775 <div class="modal-content">
776 <div class="modal-header">
777 <h5 class="modal-title" id="removePackageModalLabel">Delete Script</h5>
778 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
779 <i class="icon-action-close"></i>
782 <div class="modal-body">
783 <p>Are you sure you want to delete this package?</p>
785 <div class="modal-footer">
786 <button type="button" class="btn btn-secondary" data-dismiss="modal">Cancel</button>
787 <button type="button" (click)="deletePackage()" data-dismiss="modal"
788 class="btn btn-primary">Delete
795 <div class="modal fade" id="discardChangesModal" tabindex="-1" role="dialog" aria-labelledby="discardChangesModalLabel"
797 <div class="modal-dialog" role="document">
798 <div class="modal-content">
799 <div class="modal-header">
800 <h5 class="modal-title" id="discardChangesModalLabel">Discard Changes</h5>
801 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
802 <i class="icon-action-close"></i>
805 <div class="modal-body">
806 <p>Are you sure you want to discard the changes?</p>
808 <div class="modal-footer">
809 <button type="button" class="btn btn-secondary" data-dismiss="modal">Cancel</button>
810 <button type="button" (click)="discardChanges()" data-dismiss="modal"
811 class="btn btn-primary">Discard Changes