115 lines
6.9 KiB
HTML
115 lines
6.9 KiB
HTML
<div class="create-change__content-template" xmlns="http://www.w3.org/1999/html">
|
|
<div loading-spinner if="state.templatesLoading" centered="true" overlay="true"></div>
|
|
<div class="change-template__search">
|
|
<div class="change-template__input-field">
|
|
<label class="label_control-wrap">
|
|
<span class="label_text">{{ 'create.change.locationCompany' | i18n }}</span>
|
|
<selection
|
|
selection-items="selections.companies"
|
|
selected-item="draftTicket.company"
|
|
selection-callback="setCompany(item)"
|
|
title-text=""
|
|
label="name"
|
|
value="name"
|
|
update-selected-item="true" auto-focus
|
|
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)"
|
|
show-clear=true>
|
|
</selection>
|
|
</label>
|
|
</div>
|
|
<div class="change-template__input-field">
|
|
<label class="label_control-wrap">
|
|
<span class="label_text">{{ 'create.change.requestedFor' | i18n }}</span>
|
|
<input type="text"
|
|
aria-required="true"
|
|
title="{{ 'create.change.requestedFor' | i18n }}"
|
|
class="custom-input"
|
|
ng-model="draftTicket.customer"
|
|
ng-blur="onInputFocusBlur(); validateRequestedFor()"
|
|
role="combobox"
|
|
typeahead-min-length="3"
|
|
typeahead-template-url="views/create/custom-add-user-dropdown.html"
|
|
typeahead="customer as customer.firstName + ' ' + customer.lastName for customer in getListPersons('person', $viewValue)"
|
|
placeholder="{{ 'create.change.requestedFor.placeholder' | i18n }}"
|
|
set-focus="focusElement"
|
|
typeahead-on-select="setChangeLocation()"
|
|
uib-tooltip="{{'search.category.exceedsChunkSize' | i18n}}"
|
|
tooltip-is-open="$parent.$parent.isTooltipOpenRequestedFor"
|
|
tooltip-enable="$parent.$parent.exceedsChunkSizeRequestedFor"
|
|
tooltip-trigger="'none'"
|
|
tooltip-placement="top" />
|
|
</label>
|
|
<div loading-spinner if="state.searchingPersons" inline="true"></div>
|
|
<i class="icon-cross item-input__delete-btn" tabindex=0 role="link"
|
|
title="{{'common.button.clear' | i18n}} {{ 'create.change.requestedFor' | i18n }}" ng-if="draftTicket.customer && !state.searchingPersons"
|
|
focus-input-on-clear ng-click="clearRequestedFor()" ng-enter="clearRequestedFor()">
|
|
</i>
|
|
</div>
|
|
<div class="create-change__input-container" ng-if="draftTicket.company">
|
|
<input type="text"
|
|
title="{{'create.change.template.search' | i18n}}"
|
|
class="change-template__search-input"
|
|
ng-model="template.search"
|
|
ng-enter="getRecommendedTemplates(template.search)"
|
|
role="combobox"
|
|
typeahead-min-length="3"
|
|
typeahead-focus-first=false
|
|
typeahead="template as template for template in getTemplateList($viewValue)"
|
|
typeahead-on-select="getRecommendedTemplates($item)"
|
|
placeholder="{{'create.change.template.search' | i18n}}"
|
|
ng-blur="onInputFocusBlur()"
|
|
uib-tooltip="{{'search.category.exceedsChunkSize' | i18n}}"
|
|
tooltip-is-open="state.isTooltipOpenTemplates"
|
|
tooltip-enable="state.exceedsChunkSizeTemplates"
|
|
tooltip-trigger="'none'"
|
|
tooltip-placement="top">
|
|
<i class="icon-cross item-input__delete-btn" tabindex=0 role="link"
|
|
title="{{'common.button.clear' | i18n}}" ng-if="template.search"
|
|
focus-input-on-clear ng-click="clear()" ng-enter="clear()">
|
|
</i>
|
|
</div>
|
|
<div class="change-template__search-results" ng-if="template.showSearchResults">
|
|
<div class="change-template__list-header" ng-if="template.list.length==0">{{'create.change.template.noMatch' | i18n : template.search}}</div>
|
|
<div class="change-template__list-header" ng-if="template.list.length">{{'create.change.template.searchResults' | i18n : template.list.length}}</div>
|
|
<div class="change-template__list" ng-if="template.list.length">
|
|
<div class='create-change__template-item' tabindex=0
|
|
ng-repeat="item in template.list" ng-click="template.preview = item" ng-enter="template.preview = item" ng-keydown="$parent.handleKeyDown($event, item)"
|
|
role="link">
|
|
|
|
<div class="list-item_use icon-circle_thin_o" ng-click="template.selected = item" ng-enter="template.selected = item" ng-if="item.id != template.selected.id" tabindex="0" role="button"></div>
|
|
<div class="list-item_use icon-check" ng-click="template.selected = ''" ng-enter="template.selected = ''" ng-if="item.id == template.selected.id" tabindex="0" role="button"></div>
|
|
<div class="list-item_icon icon-file_template_o"></div>
|
|
<div class="template-item__information">
|
|
<div class="nowrap-line">{{item.name}}</div>
|
|
<div ng-class="{'priority-high': (item.templateObject.timing == 'Emergency' || item.templateObject.timing == 'Expedited')}">{{'create.change.template.timing' | i18n : (item.templateObject.timing | localizeLabel: 'timing': 'change')}}</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div ng-if="!template.showSearchResults && (lastUsedTemplates | filter:{forCompany:draftTicket.company.name}).length">
|
|
<div class="change-template__list-header">{{'create.change.template.recentlyUsed' | i18n}}</div>
|
|
<div class="change-template__list">
|
|
<div loading-spinner if="state.lastUsedTemplatesLoading" centered="true"></div>
|
|
<div class='create-change__template-item' tabindex=0
|
|
ng-repeat="item in currentRecentlyUsedTemplates" ng-click="template.preview = item" ng-enter="template.preview = item" role="link">
|
|
<div class="list-item_use icon-circle_thin_o" ng-click="template.selected = item" ng-enter="template.selected = item" ng-if="item.id != template.selected.id" tabindex="0" role="button"></div>
|
|
<div class="list-item_use icon-check" ng-click="template.selected = ''" ng-enter="template.selected = ''" ng-if="item.id == template.selected.id" tabindex="0" role="button"></div>
|
|
<div class="list-item_icon icon-file_template_o"></div>
|
|
<div class="template-item__information">
|
|
<div class="nowrap-line">{{item.name}}</div>
|
|
<div ng-class="{'priority-high': (item.templateObject.timing == 'Emergency' || item.templateObject.timing == 'Expedited')}">{{'create.change.template.timing' | i18n : (item.templateObject.timing | localizeLabel: 'timing': 'change')}}</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="change-template__preview">
|
|
<div class="change-template__empty-preview" ng-if="!template.preview">{{'create.change.template.preview' | i18n}}</div>
|
|
<preview-ticket-template template="template.preview"></preview-ticket-template>
|
|
</div>
|
|
</div> |