Sync Integ to Master
[sdc.git] / catalog-ui / src / app / view-models / workspace / tabs / distribution / distribution-view.html
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">
7             <input type="text"
8                    style="width: auto;"
9                    class="search-text"
10                    data-tests-id="searchTextbox"
11                    placeholder="Search"
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>
16         </div>
17         <div class="sprite-new refresh-btn" data-tests-id="refreshButton" data-ng-click="initDistributions()" sdc-smart-tooltip=""
18              title="Refresh"></div>
19     </div>
20
21
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">
24             <ul>
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}"
32                              ></div>
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>
38                                 </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>
42                                 </div>
43                                 <div class="title-section item-3">
44                                     <div class="title">Time[UTC]:</div>
45                                     <div
46                                         data-ng-bind="item.dateFormat"></div>
47                                 </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>
51                                 </div>
52                                 <div>
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>
56                                 </div>
57                             </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>
63
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>
66
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>
78                             </div>
79                         </div>
80                     </div>
81
82                     <ul data-ng-if="item.showDetails && item.distributionComponents.length"
83                         class="w-sdc-distribute-components-block disable-hover">
84
85                         <li data-ng-repeat="(omfComponentID,omfComponentList) in ::item.distributionComponents | orderBy: '-timestamp' | filter:searchBind | groupBy:'omfComponentID' "
86                             class="disable-hover"
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"
93                                      ></div>
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>
96                                     </div>
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>
112                                 </div>
113                             </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>
124                                         </div>
125
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)"
133                                                      ></div>
134                                                 {{urlList[0].omfComponentID}}
135                                             </div>
136                                             <div class="w-sdc-distribute-cell item-2" sdc-smart-tooltip>
137                                                 {{urlList[0].displayUrl}}
138                                             </div>
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>
143                                             </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>
146                                             </div>
147                                             <div class="w-sdc-distribute-cell item-5"  sdc-smart-tooltip>
148                                                 {{urlList[0].status}}
149                                             </div>
150                                         </div>
151
152
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">
159                                                         <span
160                                                             data-ng-bind="distributionComponent.timestamp | date: 'MM/dd/yyyy h:mma':'UTC'"
161                                                             class="disable-hover"></span>
162                                                         <span
163                                                             class="disable-hover">{{distributionComponent.status}}</span>
164                                                            <span
165                                                                class="disable-hover reason" data-ng-if="distributionComponent.status == 'NOT_NOTIFIED'">Reason: Component has determined artifact is not needed.</span>
166                                                           <span
167                                                               class="disable-hover reason" data-ng-if="distributionComponent.errorReason">Reason: {{distributionComponent.errorReason}}</span>
168                                                     </li>
169                                                 </ul>
170                                             </div>
171                                         </div>
172                                     </div>
173                                 </div>
174                             </div>
175                         </li>
176                     </ul>
177                 </li>
178             </ul>
179         </div>
180
181     </perfect-scrollbar>
182 </div>