175 lines
8.5 KiB
HTML
175 lines
8.5 KiB
HTML
<div loading-spinner if="state.processing" overlay="true" centered="true"></div>
|
|
<div class="action-blade__assign-header clearfix" ng-class="{'hide-filters' : assignee.autoAssign}" role="region" aria-label="{{label}}">
|
|
<div class="action-blade__auto-assign">
|
|
<label class="label_control-wrap">
|
|
<input autofocus auto-focus class="auto-assign__checkbox" type="checkbox" ng-model="assignee.autoAssign"/>
|
|
<div class="auto-assign__text">{{ 'create.incident.auto.assign' | i18n }}</div>
|
|
</label>
|
|
|
|
<label class="action-blade__assign-me" ng-show="!assignee.autoAssign && conditions.showAssignToMe">
|
|
<input class="auto-assign__checkbox" type="checkbox" ng-model="assignToMe" ng-change="selectAssignToMe()"/>
|
|
<div class="auto-assign__text">{{ 'common.labels.assignToMe' | i18n }}</div>
|
|
</label>
|
|
</div>
|
|
|
|
<div class="assign-filter col-xs-4" ng-if="!assignee.autoAssign">
|
|
<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"
|
|
show-chunking-tooltip="true"
|
|
typeahead-mode="state.tooManyCompanies"
|
|
typeahead-details="company as company.name for company in getList($viewValue)"
|
|
typeahead-get-list="getCompaniesByName(name)">
|
|
</selection>
|
|
</label>
|
|
</div>
|
|
|
|
<div class="assign-filter col-xs-4" ng-if="!assignee.autoAssign">
|
|
<label class="label_control-wrap">
|
|
<span class="label__text">
|
|
{{'assignBlade.filter.organization' | i18n}}
|
|
</span>
|
|
<selection selection-items="assignment.organizations"
|
|
selected-item="assigneeOrganization"
|
|
selection-callback="selectOrganization(item)"
|
|
title-text="{{'assignBlade.filter.organization' | i18n}}"
|
|
label="name"
|
|
value="name"
|
|
duplicate-key="companyName"
|
|
selection-filter="true"
|
|
selection-filter-placeholder-text="assignBlade.searchOrganization"
|
|
show-chunking-tooltip="true"
|
|
typeahead-mode="state.tooManyOrganizations"
|
|
typeahead-details="org as org.name for org in getList($viewValue)"
|
|
typeahead-get-list="getSupportOrganizationsByTextAndCompany(name)">
|
|
</selection>
|
|
</label>
|
|
</div>
|
|
|
|
<div class="assign-filter assign-filter_right-most col-xs-4" ng-if="!assignee.autoAssign">
|
|
<label class="label_control-wrap">
|
|
<span class="label__text">
|
|
{{'assignBlade.filter.group' | i18n}}
|
|
</span>
|
|
<selection selection-items="assignment.groups"
|
|
selected-item="assignee.group"
|
|
selection-callback="selectGroup(item)"
|
|
title-text="{{'assignBlade.filter.group' | i18n}}"
|
|
label="name"
|
|
value="id"
|
|
duplicate-key="companyName"
|
|
selection-filter="true"
|
|
selection-filter-placeholder-text="assignBlade.searchGroup"
|
|
show-chunking-tooltip="true"
|
|
typeahead-mode="state.tooManySupportGroups"
|
|
typeahead-details="group as group.name for group in getList($viewValue)"
|
|
typeahead-get-list="getSupportGroupsForCompanyAndOrgByName(name)"
|
|
loading-flag="groupsLoading">
|
|
</selection>
|
|
</label>
|
|
</div>
|
|
|
|
<div class="assign-filter col-xs-12" ng-if="!assignee.autoAssign">
|
|
<label class="label_control-wrap">
|
|
<span class="label__text">
|
|
{{'assignBlade.filter.search' | i18n}}
|
|
</span>
|
|
<div class="relative-position">
|
|
<input title="{{'assignBlade.searchAssignee' | i18n}}"
|
|
class="assign-search"
|
|
type="text"
|
|
ng-model="search.text"
|
|
ng-change="onSearchTextChanged()"
|
|
ng-enter="onSearchTextChanged()"
|
|
ng-disabled="assignToMe"
|
|
placeholder="{{'assignBlade.searchAssignee' | i18n}}"/>
|
|
|
|
<i class="icon-cross item-input__delete-btn" tabindex=0 role="link"
|
|
title="{{'common.button.clear' | i18n}}"
|
|
ng-if="search.text && !state.processing"
|
|
focus-input-on-clear
|
|
ng-click="clearSearchText();" ng-enter="clearSearchText();">
|
|
</i>
|
|
</div>
|
|
</label>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="ntt-auto-assign_action-blade__assign-list" ng-if="!assignee.autoAssign" role="region" aria-label="{{'common.region.selectionList' | i18n}}">
|
|
<div ng-if="!assignee.group.persons.length && !state.tooManySupportPeople && (assignee.group.id == 'All' || !assignment.groups.length)" class="action-blade__assign-list-label">
|
|
{{'assignBlade.supportPerson.noMatch.label' | i18n}}
|
|
</div>
|
|
<div ng-if="!search.text && state.tooManySupportPeople" class="action-blade__assign-list-label">
|
|
{{'common.labels.tooManyToDisplay' | i18n}}
|
|
</div>
|
|
<div ng-if="assignee.group.name && assignee.group.id != 'All' && conditions.showAssignToGroup" class="{{assignee.isGroup ? 'assign-list__item_selected' : 'assign-list__item'}} clearfix" ng-click="assignToGroup()" tabindex="0" ng-enter="assignToGroup()">
|
|
<div class="col-sm-2 assign-list__user-pic">
|
|
<div class = "icon-users_circle"></div>
|
|
</div>
|
|
<div class="col-sm-10">
|
|
<div class="nowrap-line assign-list__person-field-name">{{'assignBlade.assignToGroup' | i18n}}</div>
|
|
<div class="nowrap-line">{{assignee.group.companyName}} > {{assignee.group.organization}} > {{assignee.group.name}}</div>
|
|
<div class="nowrap-line assign-list__person-field-label">{{'assignBlade.assignToGroup.description' | i18n}}</div>
|
|
</div>
|
|
</div>
|
|
<div ng-repeat="person in assignee.group.persons | filter : searchUser">
|
|
<div ng-if="person.type == 'parent' || !person.type || person.type == 'person'"
|
|
class="{{person.loginId == assignee.person.loginId && person.supportGroupId == assignee.person.supportGroupId && person.type != 'parent' ? 'assign-list__item_selected' : 'assign-list__item'}} clearfix
|
|
{{person.type == 'parent' ? 'assign-list__item_parent' : ''}} {{$last ? 'assign-list__item_last' : ''}}"
|
|
ng-click="assignToPerson(person)" ng-enter="assignToPerson(person)" tabindex="0">
|
|
|
|
<div class="col-sm-2 assign-list__user-pic">
|
|
<img alt="{{person.fullName}}" class="assign-list__user-avatar" imgplaceholder="user"
|
|
thumbnail-img="{{'data:' + person.thumbnailMime + ';base64,' + person.thumbnail}}" />
|
|
</div>
|
|
<div class="col-sm-10">
|
|
<div ng-if="person.type == 'parent'">
|
|
<div class="col-sm-6 assign-list__item-parent-label">
|
|
<div class="nowrap-line assign-list__person-field-name">{{person.fullName}}</div>
|
|
</div>
|
|
<div class="col-sm-6 assign-list__user-support-group">
|
|
<div class="nowrap-line assign-list__item-parent-icon">
|
|
<span ng-class="selectedParent.id != person.id ? 'icon-triangle_right' : 'icon-triangle_down'"></span>
|
|
<span>{{'assignBlade.supportPerson.multipleSupportGroup' | i18n: person.numOfChildren}}</span>
|
|
</div>
|
|
</div>
|
|
<div class="col-sm-12 assign-list__item-parent-label">
|
|
<span class="assign-list__person-field-label">{{'foundation.label.department' | i18n}}: </span>
|
|
<span>{{person.department}}</span>
|
|
</div>
|
|
</div>
|
|
<div ng-if="person.type != 'parent'">
|
|
<div class="nowrap-line assign-list__person-field-name">{{person.fullName}}</div>
|
|
<div class="nowrap-line">{{person.company.name}} > {{person.supportOrganization}} > {{person.supportGroup}}</div>
|
|
<div class="nowrap-line">
|
|
<span class="assign-list__person-field-label">{{'foundation.label.department' | i18n}}: </span>
|
|
<span>{{person.department}}</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div ng-if="person.type == 'child'" ng-hide="selectedParent.id != person.id"
|
|
class="{{person.loginId == assignee.person.loginId && person.supportGroupId == assignee.person.supportGroupId ? 'assign-list__item_selected' : 'assign-list__item'}} assign-list__item-child clearfix
|
|
{{$last ? 'assign-list__item_last' : ''}}"
|
|
ng-click="assignToPerson(person)" ng-enter="assignToPerson(person)" tabindex="0">
|
|
|
|
<div class="nowrap-line assign-list__person-field-name">{{person.fullName}}</div>
|
|
<div class="nowrap-line">{{person.company.name}} > {{person.supportOrganization}} > {{person.supportGroup}}</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div ng-if="assignee.group.id != 'All' && (search.text.length > 2 || !state.tooManySupportPeople) && (assignment.groups.length || state.tooManySupportGroups)" class="action-blade__assign-list-label">
|
|
<span>{{'assignBlade.supportPerson.notFound.label' | i18n}} </span>
|
|
<button type="button" class="btn_no-fill action-blade__assign-list-all-btn" ng-click="setGroupToAll()">{{'assignBlade.supportPerson.notFound.button' | i18n}}</button>
|
|
</div>
|
|
</div> |