1 <sdc-modal modal="modalOnboarding" class="w-sdc-modal-onboarding w-sdc-classic-top-line-modal" buttons="footerButtons" header="Import VF" show-close-button="true">
2 <info-tooltip class="general-info-button" info-message-translate="ON_BOARDING_GENERAL_INFO "></info-tooltip>
3 <div class="title-wrapper">
5 <p class="sub-title">Select one of the software product component below:</p>
8 <div class="top-search">
12 data-ng-model="search.filterTerm"
13 data-tests-id="onboarding-search"
14 ng-model-options="{ debounce: 300 }" />
15 <span class="w-sdc-search-icon magnification"></span>
19 <div class="table-container-flex">
20 <div class="table" data-ng-class="{'view-mode': isViewMode()}">
22 <!-- Table headers -->
23 <div class="head flex-container">
24 <div class="table-header head-row hand flex-item" ng-repeat="header in tableHeadersList track by $index" data-ng-click="sort(header.property)" data-tests-id="{{header.title}}">{{header.title}}
25 <span data-ng-show="sortBy === header.property" class="table-header-sort-arrow" data-ng-class="{'down': reverse, 'up':!reverse}"> </span>
31 <perfect-scrollbar suppress-scroll-x="true" scroll-y-margin-offset="0" include-padding="true" class="scrollbar-container" id="onboarding-modal-scrollbar-container">
33 <!-- In case the component list is empty -->
34 <div data-ng-if="!componentsList || componentsList.length===0" class="no-row-text">
35 There are no software product component to display
38 <div infinite-scroll-disabled='allItemsDisplayed' infinite-scroll="increaseNumItemsToDisplay()" infinite-scroll-container="'#onboarding-modal-scrollbar-container'">
40 <!-- Loop on components list -->
41 <div data-ng-repeat-start="component in componentsList | filter: search | orderBy:sortBy:reverse | limitTo:numberOfItemsToDisplay track by $index"
42 class="flex-container data-row"
43 data-ng-class="{'selected': component.packageId === selectedComponent.packageId}"
44 data-ng-click="doSelectComponent(component);"
45 data-tests-id="csar-row"
49 <div class="table-col-general flex-item" sdc-smart-tooltip>
50 <span class="sprite table-arrow" data-ng-class="{'opened': component.packageId === selectedComponent.packageId}" data-tests-id="{{component.name}}"></span>
55 <div class="table-col-general flex-item" data-tests-id="{{component.vendorName}}" sdc-smart-tooltip>
56 {{component.vendorName}}
60 <div class="table-col-general flex-item" sdc-smart-tooltip>
61 {{component.categories[0].name}} {{component.categories[0].subcategories[0].name}}
65 <div class="table-col-general flex-item" sdc-smart-tooltip>
66 {{component.csarVersion}}
69 <!-- Import And Update -->
70 <div class="table-col-general flex-item" sdc-smart-tooltip></div>
74 <div data-ng-repeat-end="" data-ng-if="component.packageId === selectedComponent.packageId" class="item-opened">
76 <div class="item-opened-description">
77 <div class="item-opened-description-title">VSP Description:</div>
78 {{component.description}}
81 <div class="item-opened-metadata1">
82 <div data-ng-if="isCsarComponentExists===true">
83 <div class="item-opened-metadata-title">VF'S Meta Data:</div>
84 <div><span class="th">Name:</span> {{componentFromServer.name}}</div>
85 <div><span class="th">Lifecycle:</span> {{componentFromServer.lifecycleState}}</div>
86 <div><span class="th">Creator:</span> {{componentFromServer.creatorFullName}}</div>
90 <div class="item-opened-metadata2">
91 <div data-ng-if="isCsarComponentExists===true">
92 <div class="item-opened-metadata-title"> </div>
93 <div><span class="th">UUID:</span> {{componentFromServer.uuid}}</div>
94 <div><span class="th">Version:</span> {{componentFromServer.version}}</div>
95 <div><span class="th">Modifier:</span> {{componentFromServer.lastUpdaterFullName}}</div>
96 <div data-ng-if="componentFromServer.lifecycleState==='NOT_CERTIFIED_CHECKOUT' && componentFromServer.lastUpdaterUserId !== user.userId">
97 <span class="note">Designers cannot update a VSP if the VF is checked out by another user.</span>
99 <div data-ng-if="componentFromServer.lifecycleState==='READY_FOR_CERTIFICATION'">
100 <span class="note">Designers cannot update a VSP if the VF is in Ready for testing state.</span>
105 <div class="item-opened-metadata3">
106 <info-tooltip class="info-button" info-message-translate="{{isCsarComponentExists?'ON_BOARDING_UPDATE_INFO':'ON_BOARDING_IMPORT_INFO'}}" direction="left"></info-tooltip>
109 <div class="item-opened-icon">
110 <span data-ng-if="isCsarComponentExists!==true"
111 class="sprite-new import-file-btn"
112 data-ng-click="doImportCsar()"
113 uib-tooltip="Import VSP"
114 tooltip-class="uib-custom-tooltip"
115 tooltip-placement="bottom"
116 data-tests-id="import-csar"></span>
118 <span data-ng-if="isCsarComponentExists===true"
119 class="sprite-new refresh-file-btn"
120 uib-tooltip="Update VSP"
121 tooltip-class="uib-custom-tooltip"
122 tooltip-placement="bottom"
123 data-ng-class="{'disabled': (componentFromServer.lifecycleState==='NOT_CERTIFIED_CHECKOUT' && componentFromServer.lastUpdaterUserId!==user.userId) || componentFromServer.lifecycleState==='READY_FOR_CERTIFICATION'}"
124 data-ng-click="doUpdateCsar()"
125 data-tests-id="update-csar"></span>
127 <span data-ng-click="downloadCsar(component.packageId)"
128 class="sprite-new download-file-btn hand"
129 uib-tooltip="Download VSP"
130 tooltip-class="uib-custom-tooltip"
131 tooltip-placement="bottom"
132 data-tests-id="download-csar"></span>
134 <loader data-display="isLoading" relative="true" size="small"></loader>
139 </div><!-- End table body -->
140 </div><!-- End table -->
141 </div><!-- End table-container-flex -->
142 <div class="w-sdc-modal-footer classic"></div>