111 lines
6.6 KiB
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> |