1 <app-header></app-header>
3 <div class="new-wrapper">
4 <div class="container-fluid main-container">
5 <header class="page-title" style="padding: 16px 30px 12px;">
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>
14 <div class="col profile-help">
15 <nav class="navbar navbar-expand-lg navbar-light">
16 <ul class="navbar-nav ml-auto">
17 <!-- <li class="nav-item help-btn">
18 <a class="nav-link mr-2" href="https://wiki.onap.org/display/DW/CDS+Designer+Guide" target="_blank"
19 [delay]="300" tooltip="Help" placement="bottom"><i class="icon-info" aria-hidden="true"></i></a>
22 <div class="nav-item dropdown helpMenu">
23 <input class="dropdown-toggle" type="text">
24 <div class="dropdown-text"><i class="icon-info" aria-hidden="true"></i></div>
25 <ul class="dropdown-content">
27 <i class="icon-get_started" aria-hidden="true"></i>
29 <input id="clicker3" type="checkbox" />
32 <span>Quick steps to help you get started</span>
37 <i class="icon-get_started" aria-hidden="true"></i>
39 <input id="clicker3" [checked]="startTour" type="checkbox" />
42 <span>Quick steps to help you get started</span>
47 <a href="https://wiki.onap.org/display/DW/CDS+Designer+Guide" target="_blank">
48 <i class="icon-user_guide" aria-hidden="true"></i>
51 <span>CDS Designer's User Guide</span>
58 <div class="nav-item dropdown userMenu">
59 <input class="dropdown-toggle" type="text">
60 <div class="dropdown-text"><img src="../assets/img/img-user.jpeg" align="right"></div>
61 <ul class="dropdown-content">
63 <a href="#">Username</a>
66 <a href="#">Settings</a>
69 <a href="#">Projects</a>
72 <a href="#">Log out</a>
84 <div class="container-fluid body-container">
86 <div class="container">
87 <div class="creat-action-container">
89 <button class="action-button save" (click)="editBluePrint()" [disabled]="!isSaveEnabled">
90 <i class="icon-save-sm" aria-hidden="true"></i>
93 <button data-target="#discardChangesModal" data-toggle="modal" class="action-button"
94 [disabled]="!isSaveEnabled">
95 <i class="icon-discard-sm" aria-hidden="true"></i>
96 <span>Discard Changes</span>
100 <button class="action-button">
101 <i class="icon-clone-sm" aria-hidden="true"></i>
105 <a href="#" class="action-button">
106 <i class="icon-archive-sm" aria-hidden="true"></i>
110 <a class="action-button"
111 (click)="downloadPackage(viewedPackage.artifactName,viewedPackage.artifactVersion)">
112 <i class="icon-download" aria-hidden="true"></i>
113 <span>Download</span>
116 <a data-target="#removePackageModal" data-toggle="modal" class="action-button delete">
117 <i class="icon-delete-sm" aria-hidden="true"></i>
122 <div class="card creat-card view-package-container">
124 <div class="col-1 text-center"><i class="package-type-icon icon-topologyView-active"></i></div>
126 <div class="row mb-4">
127 <div class="col-12 package-name deployed">
128 {{viewedPackage.artifactName}}
129 <img src="/assets/img/icon-deploy-inactive.svg" class="deply-status-icon">
130 <span class="package-version">v{{viewedPackage.artifactVersion}}</span>
132 <div class="col-12 package-description">
133 Last modified {{ viewedPackage.createdDate | date:'short' }} By
134 {{viewedPackage.updatedBy ? viewedPackage.updatedBy.split('<')[0] : ""}}
137 <div class="row package-auth-info">
139 <p><b>Author Name</b></p>
141 {{viewedPackage.updatedBy ? viewedPackage.updatedBy.split('<')[0] : ""}}</span>
143 <!--<div class="col-4">
144 <p><b>Author Email</b></p>
145 <span>shaaban.eltanany.ext@orange.com</span>
148 <p><b>Contributions</b></p>
149 <ul class="package-contributers">
151 <button type="button" class="border-fade" data-toggle="tooltip"
152 data-placement="bottom" title="User name">
153 <img src="/assets/img/img-user1.jpeg">
157 <button type="button" data-toggle="tooltip" data-placement="bottom"
159 <img src="/assets/img/img-user2.jpg">
163 <button type="button" data-toggle="tooltip" data-placement="bottom"
165 <img src="/assets/img/img-user3.jpg">
169 <a href="">5 contributors</a>
175 <div class="col-2 package-view-button">
176 <!-- <button class="btn btn-sm btn-primary mb-2" (click)="goToDesignerMode()">Designer
179 <!-- Button trigger modal - 1st Action -->
181 <button (click)="checkSkipTypesOfAction()" type="button" class="btn btn-sm btn-primary mb-2"
182 data-toggle="modal" [attr.data-target]="dataTarget">
183 <i class="icon-topologyView-active"></i> Designer Mode
185 <!-- Designer Modal -->
186 <div class="modal fade createActionModal" id="exampleModalLong" tabindex="-1" role="dialog"
187 aria-labelledby="exampleModalLongTitle" aria-hidden="true">
188 <div class="modal-dialog" role="document">
189 <div class="modal-content">
190 <div class="modal-header">
191 <h5 class="modal-title" id="exampleModalLongTitle"></h5>
192 <button type="button" class="close" data-dismiss="modal" aria-label="Close"
194 <i class="icon-action-close"></i>
197 <div class="modal-body">
198 <div id="carouselExampleIndicators" class="carousel slide"
199 data-ride="carousel" data-interval="false">
200 <div class="carousel-inner">
202 <div class="carousel-item active">
203 <h3 class="mainHead">Create an action</h3>
204 <h1>How would you like to get started?</h1>
207 <div class="col-3 d-flex">
209 data-target="#carouselExampleIndicators"
211 <div class="card actionType custom">
212 <div class="card-body">
214 <p>Start with your own settings</p>
216 data-target="#carouselExampleIndicators"
217 data-slide-to="1" class="btn">
224 <!--Default Action-->
225 <div class="col-3 d-flex">
227 data-target="#carouselExampleIndicators"
229 <div class="card actionType default">
230 <div class="card-body">
232 <p>Explore preset actions from CDS
235 data-target="#carouselExampleIndicators"
236 data-slide-to="2" class="btn">
244 <div class="col-3 d-flex">
246 data-target="#carouselExampleIndicators"
248 <div class="card actionType recent">
249 <div class="card-body">
251 <p>Re-use recent actions of your
255 data-target="#carouselExampleIndicators"
256 data-slide-to="3" class="btn">
264 <div class="col-3 d-flex">
266 data-target="#carouselExampleIndicators"
268 <div class="card actionType import">
269 <div class="card-body">
271 <p>Import your own action files</p>
273 data-target="#carouselExampleIndicators"
274 data-slide-to="4" class="btn">
283 <div class="col text-center">
284 <button class="btn skip-btn" data-dismiss="modal"
285 (click)="goToDesignerMode(viewedPackage.id)">
292 <!--Custom Action Form-->
293 <div class="carousel-item">
294 <button data-target="#carouselExampleIndicators"
295 data-slide-to="0" title="Back" class="btn back"><i
296 class="icon-action-back"></i></button>
297 <h1>Create Custom Action</h1>
298 <div class="form-group text-center">
299 <input type="text" [(ngModel)]="customActionName"
300 class="form-control customAction"
301 placeholder="Type Action Name" autofocus>
302 <button type="button" data-dismiss="modal"
303 (click)="goToDesignerMode(viewedPackage.id)"
304 class="btn submit">Start
309 <!--Default Actions Form-->
310 <div class="carousel-item">
311 <button data-target="#carouselExampleIndicators"
312 data-slide-to="0" title="Back" class="btn back"><i
313 class="icon-action-back"></i></button>
314 <h1>Choose Action(s) from CDS Default Package </h1>
315 <div class="actionFormWrapper">
316 <div class="row mb-3">
317 <div class="col sort-packages">
318 <label class="actionlabel">Version</label>
319 <div class="dropdown" style="width: 90px">
320 <input class="dropdown-toggle" type="text">
321 <div class="dropdown-text">1.6.2</div>
322 <ul class="dropdown-content">
333 <input type="text" class="form-control searchInput"
334 placeholder="Search">
337 <div class="row actionsListScroll">
339 <div class="actionName">
340 <div class="custom-control custom-checkbox">
341 <input type="checkbox"
342 class="custom-control-input"
343 id="customControlValidation1" required>
344 <label class="custom-control-label"
345 for="customControlValidation1">config-assign</label>
350 <div class="actionName">
351 <div class="custom-control custom-checkbox">
352 <input type="checkbox"
353 class="custom-control-input"
354 id="customControlValidation2" required>
355 <label class="custom-control-label"
356 for="customControlValidation2">config-assign-test</label>
361 <div class="actionName">
362 <div class="custom-control custom-checkbox">
363 <input type="checkbox"
364 class="custom-control-input"
365 id="customControlValidation3" required>
366 <label class="custom-control-label"
367 for="customControlValidation3">config-deploy</label>
372 <div class="actionName">
373 <div class="custom-control custom-checkbox">
374 <input type="checkbox"
375 class="custom-control-input"
376 id="customControlValidation4" required>
377 <label class="custom-control-label"
378 for="customControlValidation4">config-modify</label>
383 <div class="actionName">
384 <div class="custom-control custom-checkbox">
385 <input type="checkbox"
386 class="custom-control-input"
387 id="customControlValidation5" required>
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" required>
399 <label class="custom-control-label"
400 for="customControlValidation5">config-assign1</label>
405 <div class="actionName">
406 <div class="custom-control custom-checkbox">
407 <input type="checkbox"
408 class="custom-control-input"
409 id="customControlValidation5" required>
410 <label class="custom-control-label"
411 for="customControlValidation5">config-assign1</label>
416 <div class="actionName">
417 <div class="custom-control custom-checkbox">
418 <input type="checkbox"
419 class="custom-control-input"
420 id="customControlValidation5" required>
421 <label class="custom-control-label"
422 for="customControlValidation5">config-assign1</label>
427 <div class="actionName">
428 <div class="custom-control custom-checkbox">
429 <input type="checkbox"
430 class="custom-control-input"
431 id="customControlValidation5" required>
432 <label class="custom-control-label"
433 for="customControlValidation5">config-assign1</label>
438 <div class="actionName">
439 <div class="custom-control custom-checkbox">
440 <input type="checkbox"
441 class="custom-control-input"
442 id="customControlValidation5" required>
443 <label class="custom-control-label"
444 for="customControlValidation5">config-assign1</label>
449 <div class="actionName">
450 <div class="custom-control custom-checkbox">
451 <input type="checkbox"
452 class="custom-control-input"
453 id="customControlValidation5" required>
454 <label class="custom-control-label"
455 for="customControlValidation5">config-assign1</label>
461 <div class="col text-center">
462 <p class="selectedActions">0 selected</p>
463 <button type="button" data-dismiss="modal"
464 (click)="goToDesignerMode(viewedPackage.id)"
465 class="btn submit">Start
471 <!--Recent Actions Form-->
472 <div class="carousel-item">
473 <button data-target="#carouselExampleIndicators"
474 data-slide-to="0" title="Back" class="btn back"><i
475 class="icon-action-back"></i></button>
476 <h1>Choose Action(s) from Recent Packages</h1>
477 <div class="actionFormWrapper">
478 <div class="row mb-3">
479 <div class="col sort-packages">
480 <label class="actionlabel">Package
482 <div class="dropdown">
483 <input class="dropdown-toggle" type="text">
484 <div class="dropdown-text">CDS (v 1.0.0)
486 <ul class="dropdown-content">
488 <a>Test Package (v 1.1.8)</a>
491 <a>Test Package (v 1.1.8)</a>
494 <a>Test Package (v 1.1.8)</a>
497 <a>Test Package (v 1.1.8)</a>
503 <input type="text" class="form-control searchInput"
504 placeholder="Search">
507 <div class="row actionsListScroll">
509 <div class="actionName">
510 <div class="custom-control custom-checkbox">
511 <input type="checkbox"
512 class="custom-control-input"
513 id="customControlValidation1" required>
514 <label class="custom-control-label"
515 for="customControlValidation1">config-assign</label>
520 <div class="actionName">
521 <div class="custom-control custom-checkbox">
522 <input type="checkbox"
523 class="custom-control-input"
524 id="customControlValidation2" required>
525 <label class="custom-control-label"
526 for="customControlValidation2">config-assign-test</label>
531 <div class="actionName">
532 <div class="custom-control custom-checkbox">
533 <input type="checkbox"
534 class="custom-control-input"
535 id="customControlValidation3" required>
536 <label class="custom-control-label"
537 for="customControlValidation3">config-deploy</label>
542 <div class="actionName">
543 <div class="custom-control custom-checkbox">
544 <input type="checkbox"
545 class="custom-control-input"
546 id="customControlValidation4" required>
547 <label class="custom-control-label"
548 for="customControlValidation4">config-modify</label>
553 <div class="actionName">
554 <div class="custom-control custom-checkbox">
555 <input type="checkbox"
556 class="custom-control-input"
557 id="customControlValidation5" required>
558 <label class="custom-control-label"
559 for="customControlValidation5">config-assign1</label>
564 <div class="actionName">
565 <div class="custom-control custom-checkbox">
566 <input type="checkbox"
567 class="custom-control-input"
568 id="customControlValidation5" required>
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" required>
580 <label class="custom-control-label"
581 for="customControlValidation5">config-assign1</label>
586 <div class="actionName">
587 <div class="custom-control custom-checkbox">
588 <input type="checkbox"
589 class="custom-control-input"
590 id="customControlValidation5" required>
591 <label class="custom-control-label"
592 for="customControlValidation5">config-assign1</label>
597 <div class="actionName">
598 <div class="custom-control custom-checkbox">
599 <input type="checkbox"
600 class="custom-control-input"
601 id="customControlValidation5" required>
602 <label class="custom-control-label"
603 for="customControlValidation5">config-assign1</label>
608 <div class="actionName">
609 <div class="custom-control custom-checkbox">
610 <input type="checkbox"
611 class="custom-control-input"
612 id="customControlValidation5" required>
613 <label class="custom-control-label"
614 for="customControlValidation5">config-assign1</label>
619 <div class="actionName">
620 <div class="custom-control custom-checkbox">
621 <input type="checkbox"
622 class="custom-control-input"
623 id="customControlValidation5" required>
624 <label class="custom-control-label"
625 for="customControlValidation5">config-assign1</label>
631 <div class="col text-center">
632 <p class="selectedActions">0 selected</p>
633 <button type="button" class="btn submit">Start
639 <!--Import Actions Form-->
640 <div class="carousel-item">
641 <button data-target="#carouselExampleIndicators"
642 data-slide-to="0" title="Back" class="btn back"><i
643 class="icon-action-back"></i></button>
644 <h1>Import Action(s)</h1>
645 <div class="actionFormWrapper">
648 <ngx-file-drop accept=".json"
649 dropZoneLabel="Drop files here"
650 (onFileDrop)="dropped($event)"
651 (onFileOver)="fileOver($event)"
652 (onFileLeave)="fileLeave($event)">
653 <ng-template ngx-file-drop-content-tmp
654 let-openFileSelector="openFileSelector">
655 <div class="folder-upload">
657 src="assets/img/folder-upload.svg" />
659 <div class="folder-upload-text">
662 <div class="folder-upload-text">or
663 <button type="button"
664 class="btn btn-sm btn-primary"
665 (click)="openFileSelector()">
670 <div class="folder-upload-type">
676 <div class="upload-table">
677 <table class="table">
680 *ngFor="let item of uploadedFiles; let i=index">
682 src="assets/img/icon-file-code.svg" />
684 <th>{{ item.name }}</th>
685 <th width="40" class="text-right">
687 src="assets/img/icon-remove-file.svg" />
696 <div class="col text-center">
697 <button type="button" class="btn submit mt-4">Import
709 <button type="button" class="btn btn-sm mb-2 btn-enrich" data-toggle="modal"
710 data-target="#enrichModal">
711 <i class="icon-enrich" aria-hidden="true"></i> Manual Enrich
715 <button class="btn btn-sm btn-deploy" (click)="deployCurrentPackage()"><i
716 class="fa fa-play-circle"></i> Deploy
726 <div class="nav nav-tabs " id="nav-tab" role="tablist">
727 <a [classList]="metadataClasses" id="nav-metadata-tab" data-toggle="tab"
728 href="#nav-metadata" role="tab" aria-controls="nav-metadata" aria-selected="true"
729 autofocus #nameit (focusout)="saveMetaData()">METADATA</a>
730 <a class="nav-item nav-link" id="nav-template-tab" data-toggle="tab" href="#nav-template"
731 role="tab" aria-controls="nav-template" aria-selected="false">TEMPLATE & MAPPING</a>
732 <a class="nav-item nav-link" id="nav-scripts-tab" data-toggle="tab" href="#nav-scripts"
733 role="tab" aria-controls="nav-scripts" aria-selected="false">SCRIPTS</a>
734 <a class="nav-item nav-link" id="nav-imports-tab" data-toggle="tab" href="#nav-imports"
735 role="tab" aria-controls="nav-imports" aria-selected="false">DEFINITIONS</a>
736 <a class="nav-item nav-link" id="nav-authentication-tab" data-toggle="tab"
737 href="#nav-authentication" role="tab" aria-controls="nav-authentication"
738 aria-selected="false">EXTERNAL SYSTEM AUTHENTICATION PROPERTIES</a>
743 <div class="row mt-4">
745 <div class="tab-content" id="nav-tabContent" (change)="clickEvent()">
746 <div class="tab-pane fade show active" id="nav-metadata" role="tabpanel"
747 aria-labelledby="nav-metadata-tab">
748 <app-metadata-tab></app-metadata-tab>
750 <div class="tab-pane fade" id="nav-template" role="tabpanel"
751 aria-labelledby="nav-template-tab">
752 <app-template-mapping></app-template-mapping>
754 <div class="tab-pane fade" id="nav-scripts" role="tabpanel"
755 aria-labelledby="nav-scripts-tab">
756 <app-scripts-tab></app-scripts-tab>
758 <div class="tab-pane fade" id="nav-imports" role="tabpanel"
759 aria-labelledby="nav-imports-tab">
760 <app-imports-tab></app-imports-tab>
763 <div class="tab-pane fade" id="nav-authentication" role="tabpanel"
764 aria-labelledby="nav-authentication-tab">
765 <div class="card creat-card">
766 <div class="editor-container">
767 <app-dsl-definitions-tab></app-dsl-definitions-tab>
779 <!-- Enrich Modal -->
780 <div class="modal fade enrichModal" id="enrichModal" tabindex="-1" role="dialog" aria-labelledby="enrichModalLabel"
782 <div class="modal-dialog" role="document">
783 <div class="modal-content">
784 <div class="modal-header">
785 <h5 class="modal-title" id="enrichModalLabel">Manual Enrich</h5>
786 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
787 <img src="assets/img/icon-close.svg" />
790 <div class="modal-body">
791 <ul class="defintionsNote">
792 <li><b>To do manual enrichment: </b></li>
793 <li>1. Copy and paste "workflows" and "node_templates"</li>
794 <li>2. Press <b>Enrich</b> button</li>
796 <ace-editor [(text)]="vlbDefinition.topology_template.content" [mode]="'javascript'"
797 [autoUpdateContent]="true" [durationBeforeCallback]="1000" (textChanged)="textChanged($event)"
798 [theme]="'eclipse'" #editor style="height:300px;">
801 <div class="modal-footer">
802 <button type="button" class="btn btn-secondary" data-dismiss="modal">Cancel</button>
803 <button type="button" data-dismiss="modal" class="btn btn-primary btn-enrich"
804 (click)="enrichBluePrint()">Enrich
810 <!-- Delete Modal -->
811 <div class="modal fade" id="removePackageModal" tabindex="-1" role="dialog" aria-labelledby="removePackageModalLabel"
813 <div class="modal-dialog" role="document">
814 <div class="modal-content">
815 <div class="modal-header">
816 <h5 class="modal-title" id="removePackageModalLabel">Delete Script</h5>
817 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
818 <i class="icon-action-close"></i>
821 <div class="modal-body">
822 <p>Are you sure you want to delete this package?</p>
824 <div class="modal-footer">
825 <button type="button" class="btn btn-secondary" data-dismiss="modal">Cancel</button>
826 <button type="button" (click)="deletePackage()" data-dismiss="modal" class="btn btn-primary">Delete
833 <div class="modal fade" id="discardChangesModal" tabindex="-1" role="dialog" aria-labelledby="discardChangesModalLabel"
835 <div class="modal-dialog" role="document">
836 <div class="modal-content">
837 <div class="modal-header">
838 <h5 class="modal-title" id="discardChangesModalLabel">Discard Changes</h5>
839 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
840 <i class="icon-action-close"></i>
843 <div class="modal-body">
844 <p>Are you sure you want to discard the changes?</p>
846 <div class="modal-footer">
847 <button type="button" class="btn btn-secondary" data-dismiss="modal">Cancel</button>
848 <button type="button" (click)="discardChanges()" data-dismiss="modal" class="btn btn-primary">Discard