SmartIT_Extensions/BMC/smart-it-full-helix/views/console/accessible-item-list.html

111 lines
6.6 KiB
HTML

<div ux-id="accessible-item-list">
<div loading-spinner if="state.loadingMoreTickets" centered="true" overlay="true"></div>
<div class="row tc__chunk-section" role="contentinfo" tabindex="0" aria-labelledby="accessibleTicketCount">
<div ng-if="accessibleItemList.length && consoleType !== 'ticket'" class="tc__row-count" id="accessibleTicketCount" aria-live="polite">
{{'console.' + consoleType + '.record.count' | i18n: [criteria.chunkInfo.startIndex + 1, endTicketCount, totalItemsFound]}}
</div>
<div ng-if="accessibleItemList.length && consoleType === 'ticket'" class="tc__row-count" id="accessibleTicketCount" aria-live="polite">
{{'console.' + consoleType + '.records' | i18n: [criteria.chunkInfo.startIndex + 1, endTicketCount]}}
</div>
<button ux-id="fetch-more-prev-tickets" type="button" ng-if="criteria.chunkInfo.startIndex > 0" ng-click="fetchMoreTickets('previous')" type="button" class="btn_secondary tc__chunk-button">
<span ng-class="{'icon-triangle_right': rtlMode, 'icon-triangle_left': !rtlMode}"></span>
<span class="tc__chunk-text">{{ 'console.chunk.previous' | i18n }}</span>
</button>
<button ux-id="fetch-more-next-tickets" ng-if="(criteria.chunkInfo.startIndex + criteria.chunkInfo.chunkSize < totalItemsFound) || exceedChunkSize || showNextButton" ng-click="fetchMoreTickets('next')"
type="button" class="btn_secondary tc__chunk-button">
<span class="tc__chunk-text">{{ 'console.chunk.next' | i18n }}</span>
<span ng-class="{'icon-triangle_left': rtlMode, 'icon-triangle_right': !rtlMode}"></span>
</button>
</div>
<div role="region" ng-if="isMobile" tabindex="0" aria-label="{{'globalNav.' + consoleType | i18n}}" aria-live="polite">
<div ng-if="consoleType === 'ticket'">
<div ux-id="accessible-list_{{$index}}"
ng-repeat="item in accessibleItemList"
ui-sref="{{item.type}}({id: item.id})"
class="grid-mobile__card" tabindex="0">
<div ux-id="grid-col-displayid_{{$index}}" class="grid-mobile-console__link grid-mobile-console__word-wrap">
{{item.displayId}}
<span class="grid-mobile-console__priority" ng-if="item.priority" ng-bind-html="(item.priority | tcMobilePriority: item.type)"></span>
</div>
<div ux-id="grid-col-summary_{{$index}}" class="grid-mobile-console__heading">
{{item.summary || ""}}
</div>
<div ux-id="grid-col-status_{{$index}}" class="grid-mobile-console__status">
{{((item.status && item.status.value) | localizeLabel: 'status': item.type) || ""}}
</div>
<div ux-id="grid-col-assignee_{{$index}}" class="grid-mobile-console__other" ng-if="item.assignee && item.assignee.fullName">
<i class="icon-user"></i>
{{item.assignee.fullName}}
</div>
<div ux-id="grid-col-type_{{$index}}" class="grid-mobile-console__type" ng-if="item.type">
{{item.type | tcCellType}}
</div>
</div>
</div>
<div ng-if="consoleType === 'asset'">
<div ux-id="accessible-list_{{$index}}"
ng-repeat="item in accessibleItemList"
ui-sref="{{item.ticketType}}({assetId: item.reconciliationId, assetClassId: item.classId})"
class="grid-mobile__card grid-mobile__asset-console" tabindex="0">
<div ux-id="grid-col-type_{{$index}}" class="grid-mobile-console__type" ng-if="item.type">
<i class="template-chooser-dropdown-item__icon icon-cube_o"></i> {{(item.type | localizeLabel: 'assetType': 'asset') || ""}}
</div>
<div ux-id="grid-col-name_{{$index}}" class="grid-mobile-console__heading">
{{item.name || ""}}
</div>
<div ux-id="grid-col-product-name_{{$index}}" class="grid-mobile-console__type">
{{(item.product && item.product.name) || ""}}
</div>
<div ux-id="grid-col-manufacturer_{{$index}}" class="grid-mobile-console__type">
{{item.manufacturer || ""}}
</div>
<div ux-id="grid-col-status_{{$index}}" class="grid-mobile-console__status">
{{((item.status && item.status.value) | localizeLabel: 'status': 'asset') || ""}}
</div>
</div>
</div>
</div>
<div class="table-fix-head" role="region" ng-if="!isMobile" tabindex="0" aria-label="{{'globalNav.' + consoleType | i18n}}" aria-live="polite">
<table>
<thead>
<tr>
<th scope="col" ng-if="showSelection">
<input ux-id="select-all-tickets" type="checkbox" ng-model="selectAll" ng-change="selectAllTickets(selectAll)"
title="{{'common.button.select' | i18n}} {{'console.' + consoleType + '.items' | i18n}}"/>
</th>
<th ng-repeat="column in accessibilityGridColumns" ng-if="column.visible" id="{{column.displayName}}" scope="col">
<a ux-id="sort-col_{{$index}}" href ng-click="sortColumn(column.attributeName)">
{{ column.displayName | i18n}}
<i ng-class="{'icon-triangle_up' : column.sortOrder=='ASC', 'icon-triangle_down': column.sortOrder=='DESC'}"></i>
</a>
</th>
<th scope="col">
{{'console.actions.label' | i18n}}
</th>
</tr>
</thead>
<tbody>
<tr ux-id="accessible-list_{{$index}}" ng-repeat="item in accessibleItemList" ng-class="{'tc__cell-selected': item.selected}" tabindex="0">
<td ng-if="showSelection">
<input ux-id="select-ticket_{{$index}}" type="checkbox" ng-model="item.selected" ng-change="selectTicket(item)"
title="{{'common.button.select' | i18n}} {{'common.labels.' + item.type | i18n}} {{item.displayId ? item.displayId : item.articleId}}"/>
</td>
<td ux-id="grid-col_{{$index}}" ng-repeat="column in accessibilityGridColumns" ng-if="column.visible" headers="{{column.displayName}}">
<span ng-if="consoleType === 'ticket' && quickSearchColumns.indexOf(column && (column.field || column.name)) !== -1" ng-bind-html="getColumnData(item, column.field, column.attributeName) | tcCellHighlight: item.highlight"></span>
<span ng-if="!(consoleType === 'ticket' && quickSearchColumns.indexOf(column && (column.field || column.name)) !== -1)">{{ getColumnData(item, column.field, column.attributeName) }}</span>
</td>
<td>
<a ux-id="view-details-asset_{{$index}}" ng-if="item.ticketType === 'asset'" title="{{'common.placeholder.viewDetails' | i18n}}" ui-sref="{{item.ticketType}}({assetId: item.reconciliationId, assetClassId: item.classId})" aria-label="{{item.assetId}} {{'common.placeholder.viewDetails' | i18n}}">
{{'common.placeholder.viewDetails' | i18n}}
</a>
<a ux-id="view-details-noasset_{{$index}}" ng-if="item.ticketType !== 'asset'" title="{{'common.placeholder.viewDetails' | i18n}}" ui-sref="{{item.type}}({id: item.id})" aria-label="{{item.displayId ? item.displayId : item.articleId}} {{'common.placeholder.viewDetails' | i18n}}">
{{'common.placeholder.viewDetails' | i18n}}
</a>
</td>
</tr>
</tbody>
</table>
</div>
</div>