95 lines
5.4 KiB
HTML
95 lines
5.4 KiB
HTML
<div ux-id="create-release-template" class="create-release__content-template">
|
|
<div loading-spinner if="state.templatesLoading" centered="true" overlay="true"></div>
|
|
|
|
<div class="release-template__search">
|
|
<div ux-id="company-dropdown" class="release-template__input-field">
|
|
<label class="label_control-wrap">
|
|
<span class="label_text">{{ 'common.label.company' | 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 ux-id="template-search" class="create-release__input-container" ng-if="draftTicket.company">
|
|
<input type="text"
|
|
title="{{'create.release.template.search' | i18n}}"
|
|
class="release-template__search-input"
|
|
ng-model="template.search"
|
|
ng-enter="getRecommendedTemplates(template.search)"
|
|
role="combobox"
|
|
autocomplete="off"
|
|
typeahead-min-length="3"
|
|
typeahead-focus-first=false
|
|
typeahead="template as template for template in getTemplateList($viewValue)"
|
|
typeahead-on-select="getRecommendedTemplates($item)"
|
|
placeholder="{{'create.release.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 ux-id="template-clear" 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="clearTemplateSearch()" ng-enter="clearTemplateSearch()">
|
|
</i>
|
|
</div>
|
|
|
|
<div ux-id="search-results" class="release-template__search-results" ng-if="template.showSearchResults">
|
|
<div class="release-template__list-header" ng-if="template.list.length==0">{{'create.release.template.noMatch' | i18n : template.search}}</div>
|
|
<div class="release-template__list-header" ng-if="template.list.length">{{'create.release.template.searchResults' | i18n : template.list.length}}</div>
|
|
<div class="release-template__list" ng-if="template.list.length">
|
|
<div ux-id="searched-template_{{$index}}" class='create-release__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)">
|
|
|
|
<div ux-id="template-checked" 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"></div>
|
|
<div ux-id="template-checked" class="list-item_use icon-check" ng-click="template.selected = ''" ng-enter="template.selected = ''" ng-if="item.id == template.selected.id" tabindex="0"></div>
|
|
<div ux-id="template-icon" class="list-item_icon icon-file_template_o"></div>
|
|
<div class="template-item__information">
|
|
<div ux-id="name" class="nowrap-line">{{item.name}}</div>
|
|
<div ux-id="template-type">{{'create.release.template.releaseType' | i18n : (item.releaseType | localizeLabel: 'releaseType': 'release')}}</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div ux-id="last-used-templates" ng-if="showRecentTemplates && !template.showSearchResults && (lastUsedTemplates | filter:{forCompany:draftTicket.company.name}).length">
|
|
<div class="change-template__list-header">{{'create.release.template.recentlyUsed' | i18n}}</div>
|
|
<div class="change-template__list">
|
|
<div loading-spinner if="state.lastUsedTemplatesLoading" centered="true"></div>
|
|
<div ux-id="searched-template_{{$index}}" class='create-change__template-item' tabindex=0
|
|
ng-repeat="item in currentRecentlyUsedTemplates" ng-click="template.preview = item" ng-enter="template.preview = item">
|
|
<div ux-id="template-checked" 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 ux-id="template-checked" 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 ux-id="template-icon" class="list-item_icon icon-file_template_o"></div>
|
|
<div class="template-item__information">
|
|
<div ux-id="name" class="nowrap-line">{{item.name}}</div>
|
|
<div ux-id="template-type">{{'create.release.template.releaseType' | i18n : (item.releaseType | localizeLabel: 'releaseType': 'release')}}</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div ux-id="release-template-preview" class="release-template__preview">
|
|
<div class="release-template__empty-preview" ng-if="!template.preview">{{'create.release.template.preview' | i18n}}</div>
|
|
<preview-ticket-template template="template.preview"></preview-ticket-template>
|
|
</div>
|
|
|
|
</div>
|
|
</div> |