1 <div class="w-sdc-distribution-view">
2 <div class="w-sdc-distribution-view-header">
3 <div class="w-sdc-distribution-view-title">DISTRIBUTION <span data-ng-bind="'[' + distributions.length +']'"
4 class="blue-font"></span></div>
5 <div class="header-spacer"></div>
6 <div class="top-search">
10 data-tests-id="searchTextbox"
12 data-ng-model="searchBind"
13 data-tests-id="main-menu-input-search"
14 ng-model-options="{ debounce: 500 }"/>
15 <span class="w-sdc-search-icon magnification"></span>
17 <div class="sprite-new refresh-btn" data-tests-id="refreshButton" data-ng-click="initDistributions()" sdc-smart-tooltip=""
18 title="Refresh"></div>
22 <perfect-scrollbar include-padding="true" class="w-sdc-distribution-view-content">
23 <div class="w-sdc-distribution-view-content-section" data-tests-id="ditributionTable">
25 <li data-ng-repeat="item in distributions | orderBy: '-timestamp' | filter:searchBind"
26 data-ng-init="item.dateFormat = ( item.timestamp | stringToDateFilter | date: 'MM/dd/yyyy h:mma':'UTC' )"
27 class="w-sdc-distribute-parent-block" data-tests-id="record_{{$index}}" data-ng-class="{'extends': item.showDetails}">
28 <div class="w-sdc-distribute-row w-sdc-distribute-row-extends"
29 data-ng-class="{'extends': item.showDetails && item.distributionComponents.length}">
30 <div class="w-sdc-distribution-arrow-btn" data-tests-id="ShowRecordButton_{{$index}}" data-ng-click="showComponents(item); item.showDetails=!item.showDetails"
31 data-ng-class="{'extends': item.showDetails}"
33 <div class="w-sdc-distribute-row-content">
34 <div class="w-sdc-distribute-content">
35 <div class="title-section item-1">
36 <div class="title">Distribution ID</div>
37 <div data-ng-bind="item.distributionID"></div>
39 <div class="title-section item-2">
40 <div class="title" translate="DISTRIBUTION_VIEW_TITLE_USER_ID"></div>
41 <div data-ng-bind="item.userId"></div>
43 <div class="title-section item-3">
44 <div class="title">Time[UTC]:</div>
46 data-ng-bind="item.dateFormat"></div>
48 <div class="title-section item-4">
49 <span class="sprite-new status-icon" data-ng-class="item.deployementStatus"></span>
50 <span class="sprite-new" data-ng-bind="item.deployementStatus"></span>
53 <div class="sprite-new distribution-bth item-5"
54 data-ng-class="{'disable':item.deployementStatus==='Deployed'}"
55 data-ng-click="(item.deployementStatus==='Deployed') || markAsDeployed(item)"></div>
58 <div class="w-sdc-distribute-status-block" data-ng-if="item.statusCount">
59 <div class="status-item-1">Total Artifacts:<span data-ng-bind="(item.statusCount.NOT_NOTIFIED || 0) + (item.statusCount.NOTIFIED || 0) "
60 class="blue-font" data-tests-id="totalArtifacts_{{$index}}"></span></div>
61 <div class="status-item-2 " ><sapn class="link" data-ng-click="openDisributionStatusModal(item,'NOTIFIED')">Notified:</sapn><span
62 data-ng-bind="item.statusCount.NOTIFIED || 0" class="blue-font" data-tests-id="notified_{{$index}}"></span></div>
64 <div class="status-item-3 link" ><sapn class="link" data-ng-click="openDisributionStatusModal(item,'DOWNLOAD_OK')">Downloaded:</sapn><span
65 data-ng-bind="item.statusCount.DOWNLOAD_OK || 0" class="blue-font" data-tests-id="downloaded_{{$index}}"></span></div>
67 <div class="status-item-4 link"><sapn class="link" data-ng-click="openDisributionStatusModal(item,'DEPLOY_OK')">Deployed:</sapn><span
68 data-ng-bind="item.statusCount.DEPLOY_OK || 0" class="blue-font" data-tests-id="deployed_{{$index}}" ></span><span
69 data-ng-class="{'deployed':(item.statusCount.DEPLOY_OK > 0)}"></span></div>
70 <div class="status-item-5 link" ><sapn class="link" data-ng-click="openDisributionStatusModal(item,'NOT_NOTIFIED')">Not Notified:</sapn><span
71 data-ng-bind="item.statusCount.NOT_NOTIFIED || 0" class="blue-font" data-tests-id="NotNotified_{{$index}}"></span></div>
72 <div class="status-item-6"><sapn class="link" data-ng-click="openDisributionStatusModal(item,'DEPLOY_ERROR')" >Deploy Errors:</sapn><span
73 data-ng-bind="item.statusCount.DEPLOY_ERROR || 0" class="red-font "></span><span
74 data-ng-class="{'error':(item.statusCount.DEPLOY_ERROR > 0)}" data-tests-id="errors_{{$index}}"></span></div>
75 <div class="status-item-7"><sapn class="link" data-ng-click="openDisributionStatusModal(item,'DOWNLOAD_ERROR')" >Download Errors:</sapn><span
76 data-ng-bind="item.statusCount.DOWNLOAD_ERROR || 0" class="red-font "></span><span
77 data-ng-class="{'error':(item.statusCount.DOWNLOAD_ERROR > 0)}" data-tests-id="errors_{{$index}}"></span></div>
82 <ul data-ng-if="item.showDetails && item.distributionComponents.length"
83 class="w-sdc-distribute-components-block disable-hover">
85 <li data-ng-repeat="(omfComponentID,omfComponentList) in ::item.distributionComponents | orderBy: '-timestamp' | filter:searchBind | groupBy:'omfComponentID' "
87 data-ng-init="statusCount = getStatusCount(omfComponentList);">
88 <div class="w-sdc-distribute-row omf-component-row w-sdc-distribute-row-extends"
89 data-ng-class="{'extends': omfComponentListExtends}">
90 <div class="w-sdc-distribution-arrow-btn" data-ng-click="omfComponentListExtends=!omfComponentListExtends"
91 ng-class="{'extends': omfComponentListExtends}"
92 data-ng-init="omfComponentListExtends=false"
94 <div class="w-sdc-distribute-status-block">
95 <div class="status-item-1">{{omfComponentID}} <span class="blue-font">{{(statusCount.NOT_NOTIFIED || 0) + (statusCount.NOTIFIED || 0) }}</span>
97 <div class="status-item-2">Notified:<span data-ng-bind="statusCount.NOTIFIED || 0"
98 class="blue-font"></span></div>
99 <div class="status-item-3">Downloaded:<span
100 data-ng-bind="statusCount.DOWNLOAD_OK || 0" class="blue-font"></span></div>
101 <div class="status-item-4">Deployed:<span data-ng-bind="statusCount.DEPLOY_OK || 0"
102 class="blue-font"></span><span
103 data-ng-class="{'deployed':(statusCount.DEPLOY_OK > 0)}"></span></div>
104 <div class="status-item-5">Not Notified:<span
105 data-ng-bind="statusCount.NOT_NOTIFIED || 0" class="blue-font"></span></div>
106 <div class="status-item-6">Deploy Errors:<span
107 data-ng-bind="statusCount.DEPLOY_ERROR || 0" class="red-font"></span><span
108 data-ng-class="{'error':(statusCount.DEPLOY_ERROR > 0)}"></span></div>
109 <div class="status-item-7">Download Errors:<span
110 data-ng-bind="statusCount.DOWNLOAD_ERROR || 0" class="red-font"></span><span
111 data-ng-class="{'error':(statusCount.DOWNLOAD_ERROR > 0)}"></span></div>
114 <div data-ng-if="omfComponentListExtends"
115 class="w-sdc-distribute-omfComponent-block disable-hover">
116 <div class="w-sdc-distribute-row-extends disable-hover">
117 <div class="disable-hover">
118 <div class="w-sdc-distribute-row omfComponent-table-head">
119 <div class="title item-1">Component ID</div>
120 <div class="title item-2">Artifact Name</div>
121 <div class="title item-3">URL</div>
122 <div class="title item-4">Time(UTC)</div>
123 <div class="title item-5">Status</div>
126 <div class="w-sdc-distribute-row omfComponent-table-row"
127 data-ng-repeat-start="(url,urlList) in ::omfComponentList | orderBy: '-timestamp' | groupBy:'url'"
128 data-ng-class="urlListExtends?'extends row-{{$index}}':'row-{{$index}}'">
129 <div class="w-sdc-distribute-cell item-1" sdc-smart-tooltip>
130 <div class="w-sdc-distribution-arrow-btn" data-ng-click="urlListExtends=!urlListExtends"
131 data-ng-class="{'extends': urlListExtends}"
132 data-ng-init="urlListListExtends=false;urlList[0].displayUrl=getUrlName(urlList[0].url)"
134 {{urlList[0].omfComponentID}}
136 <div class="w-sdc-distribute-cell item-2" sdc-smart-tooltip>
137 {{urlList[0].displayUrl}}
139 <div class="w-sdc-distribute-cell item-3 disable-hover">
140 <div sdc-smart-tooltip class="distribution-url">{{urlList[0].url}}</div>
141 <div sdc-smart-tooltip title="Copy url" clipboard text="urlList[0].url"
142 class="sprite-new link-btn copy-link disable-hover"></div>
144 <div class="w-sdc-distribute-cell item-4"><span
145 data-ng-bind="urlList[0].timestamp | date: 'MM/dd/yyyy h:mma':'UTC'"></span>
147 <div class="w-sdc-distribute-cell item-5" sdc-smart-tooltip>
148 {{urlList[0].status}}
153 <div data-ng-repeat-end data-ng-if="urlListExtends" class="disable-hover" >
154 <div class="w-sdc-distribute-row extends disable-hover">
155 <ul data-ng-if="urlListExtends"
156 class="w-sdc-distribute-url-block disable-hover">
157 <li data-ng-repeat="distributionComponent in ::urlList | orderBy: '-timestamp'"
158 class="disable-hover">
160 data-ng-bind="distributionComponent.timestamp | date: 'MM/dd/yyyy h:mma':'UTC'"
161 class="disable-hover"></span>
163 class="disable-hover">{{distributionComponent.status}}</span>
165 class="disable-hover reason" data-ng-if="distributionComponent.status == 'NOT_NOTIFIED'">Reason: Component has determined artifact is not needed.</span>
167 class="disable-hover reason" data-ng-if="distributionComponent.errorReason">Reason: {{distributionComponent.errorReason}}</span>