SmartIT_Extensions/BMC/smart-it-full/views/common/assignee-chooser-directive....

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>