151 lines
7.5 KiB
HTML
151 lines
7.5 KiB
HTML
<div role="dialog" aria-labelledby="modalLabel">
|
|
<span class="modal-content__508-hidden-span">{{'common.labels.508BeginContent' | i18n}}</span>
|
|
|
|
<div class="action-blade__header">
|
|
<h2 id="modalLabel" class="action-blade__title">{{'common.labels.approvalList' | i18n}}</h2>
|
|
</div>
|
|
<div class="action-blade__body">
|
|
<div loading-spinner if="state.loadingApprovers" centered="true" overlay="true"></div>
|
|
<tabset justified="true">
|
|
<tab heading="{{'common.labels.open.withCounter' | i18n:(openList.singleApprovers.length+openList.multipleApprovers.length || 0)}}" class="tab-pane-overflowed">
|
|
<div class="action-blade__body_action-panel dropdown" ng-if="addApproverAllowed">
|
|
<button type="button" class="btn_no-fill dropdown-toggle"
|
|
aria-label="{{'approval.labels.addApprover' | i18n}}" aria-haspopup="true" aria-expanded="false">
|
|
<i class="icon-plus"></i>
|
|
<span>{{'approval.labels.addApprover' | i18n}}</span>
|
|
<i class="navigation-bar__item-drop-pin_small"></i>
|
|
</button>
|
|
<ul class="dropdown-menu">
|
|
<li>
|
|
<div class="dropdown-item" role="menuitem" ng-click="enableSearchApprover()" tabindex="0">{{'approval.labels.addApprover' | i18n}}</div>
|
|
</li>
|
|
<li>
|
|
<div class="dropdown-item" role="menuitem" ng-click="enableSearchApprovalGroup()" tabindex="0">{{'approval.labels.addApprovalGroup' | i18n}}</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div ng-if="showSearchApprover" class="action-blade__body_action-panel">
|
|
<div class="action-blade__body_action-panel-search-section">
|
|
<input type="text"
|
|
title="{{ 'create.ticket.affected.customer' | i18n }}"
|
|
class="custom-input"
|
|
ng-model="approver.model"
|
|
role="combobox"
|
|
typeahead-min-length="3"
|
|
typeahead-template-url="views/create/custom-add-user-dropdown.html"
|
|
typeahead-wait-ms="500"
|
|
typeahead-loading="state.loadingApproverSearch"
|
|
typeahead="user as user.firstName + ' ' + user.lastName for user in getApproverByText($viewValue)"
|
|
placeholder="{{ 'search.filter.optionName.searchApprover' | i18n }}"
|
|
auto-focus>
|
|
<div class="select-custom-dropdown__spinner-container">
|
|
<loading-spinner if="state.loadingApproverSearch" inline="true"></loading-spinner>
|
|
</div>
|
|
</div>
|
|
<div class="action-blade__body_action-panel-button">
|
|
<button type="button" class="btn_primary" ng-click="addApprover()" ng-disabled="!approverSelected" aria-label="{{'approval.labels.addApprover' | i18n}}">{{'common.button.add' | i18n}}</button>
|
|
</div>
|
|
</div>
|
|
<div ng-if="showSearchApprovalGroup" class="action-blade__body_action-panel">
|
|
<div class="action-blade__body_action-panel-input-section">
|
|
<div class="assign-filter col-xs-4">
|
|
<label class="label_control-wrap">
|
|
<span class="label__text">
|
|
{{'assignBlade.filter.company' | i18n}}
|
|
</span>
|
|
<selection selection-items="companies"
|
|
selected-item="assigneeCompany"
|
|
selection-callback="selectCompany(item)"
|
|
title-text="{{'assignBlade.filter.company' | i18n}}"
|
|
label="name"
|
|
value="name"
|
|
selection-filter="true"
|
|
selection-filter-placeholder-text="assignBlade.searchCompany"
|
|
typeahead-mode="state.tooManyCompanies"
|
|
typeahead-details="company as company.name for company in getList($viewValue)"
|
|
typeahead-get-list="getApproverSupportCompaniesByName(name)"
|
|
loading-flag="state.loadingCompanies"
|
|
autofocus>
|
|
</selection>
|
|
</label>
|
|
</div>
|
|
|
|
<div class="assign-filter col-xs-4">
|
|
<label class="label_control-wrap">
|
|
<span class="label__text">
|
|
{{'assignBlade.filter.organization' | i18n}}
|
|
</span>
|
|
<selection selection-items="organizations"
|
|
selected-item="assigneeOrganization"
|
|
selection-callback="selectOrganization(item)"
|
|
title-text="{{'assignBlade.filter.organization' | i18n}}"
|
|
label="name"
|
|
value="name"
|
|
selection-filter="true"
|
|
selection-filter-placeholder-text="assignBlade.searchOrganization"
|
|
typeahead-mode="state.tooManyOrganizations"
|
|
typeahead-details="org as org.name for org in getList($viewValue)"
|
|
typeahead-get-list="getApproverSupportOrganizationsByName(name)"
|
|
loading-flag="state.loadingOrganizations">
|
|
</selection>
|
|
</label>
|
|
</div>
|
|
|
|
<div class="assign-filter assign-filter_right-most col-xs-4">
|
|
<label class="label_control-wrap">
|
|
<span class="label__text">
|
|
{{'assignBlade.filter.group' | i18n}}
|
|
</span>
|
|
<selection selection-items="groups"
|
|
selected-item="assigneeGroup"
|
|
selection-callback="selectGroup(item)"
|
|
title-text="{{'assignBlade.filter.group' | i18n}}"
|
|
label="name"
|
|
value="id"
|
|
selection-filter="true"
|
|
selection-filter-placeholder-text="assignBlade.searchGroup"
|
|
typeahead-mode="state.tooManySupportGroups"
|
|
typeahead-details="group as group.name for group in getList($viewValue)"
|
|
typeahead-get-list="getApproverSupportGroupsByName(name)"
|
|
loading-flag="state.loadingGroups">
|
|
</selection>
|
|
</label>
|
|
</div>
|
|
</div>
|
|
<div class="action-blade__body_action-panel-button">
|
|
<button type="button" class="btn_primary" ng-click="addApprovalGroup()" ng-disabled="!assigneeGroup" aria-label="{{'approval.labels.addApprovalGroup' | i18n}}">{{'common.button.add' | i18n}}</button>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="service-request__approvals-tab" role="region" aria-label="{{'common.region.selectionList' | i18n}}">
|
|
<div ng-repeat="group in openList.multipleApprovers">
|
|
<span class="service-request__approvals-group-label">{{'approval.labels.oneShouldApprove' | i18n:('ticket.type.' + ticketType | i18n)}}</span>
|
|
<div class="service-request__approvals-list" ng-class="{'service-request__approvals-list__last': $last}" ng-repeat="approval in group">
|
|
<ng-include src="'views/approval/approval-list-item.html'"></ng-include>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<span class="service-request__approvals-group-label" ng-if="openList.singleApprovers.length">{{'approval.labels.allShouldApprove' | i18n:('ticket.type.' + ticketType | i18n)}}</span>
|
|
<div class="service-request__approvals-list" ng-class="{'service-request__approvals-list__last': $last}" ng-repeat="approval in openList.singleApprovers">
|
|
<ng-include src="'views/approval/approval-list-item.html'"></ng-include>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</tab>
|
|
<tab heading="{{'common.labels.closed.withCounter' | i18n:(closedList.length || 0)}}" active="showClosedTabDefault">
|
|
<div class="service-request__approvals-tab" role="region" aria-label="{{'common.region.selectionList' | i18n}}">
|
|
<div class="service-request__approvals-list" ng-class="{'service-request__approvals-list__last': $last}" ng-repeat="approval in closedList">
|
|
<ng-include src="'views/approval/approval-list-item.html'"></ng-include>
|
|
</div>
|
|
</div>
|
|
</tab>
|
|
</tabset>
|
|
</div>
|
|
<div class="action-blade__footer clearfix" role="region" aria-label="{{'common.region.action' | i18n}}">
|
|
<div class="action-blade__button-container">
|
|
<button type="button" class="btn_primary" ng-click="$dismiss()">{{'common.button.close' | i18n}}</button>
|
|
</div>
|
|
</div>
|
|
<span class="modal-content__508-hidden-span">{{'common.labels.508EndContent' | i18n}}</span>
|
|
</div>
|