398 lines
22 KiB
HTML
398 lines
22 KiB
HTML
<div loading-spinner if="state.dataIsLoading" centered="true" overlay="true"></div>
|
|
<div ux-id="ka-metadata" class="ka-metadata__main-section_view clearfix" role="region" ng-if="!editMode">
|
|
<div ux-id="visibility-details" class="ka-metadata__section" ng-if="article.articleVisibilityGroup.length">
|
|
<div ux-id="field-label" class="label__text">
|
|
{{ 'create.knowledge.visibility' | i18n }}
|
|
</div>
|
|
<div>
|
|
<span ux-id="field-value_{{$index}}" ng-repeat="visibility in article.articleVisibilityGroup">{{visibility | parseVisibilityGroups}}
|
|
{{$last ? '' : ', '}}
|
|
</span>
|
|
</div>
|
|
</div>
|
|
|
|
<div ux-id="publish-details" class="ka-metadata__section clearfix">
|
|
<div ux-id="field-label" class="label__text">
|
|
{{ 'create.knowledge.visibility.internalUse' | i18n }}
|
|
</div>
|
|
<div ux-id="field-value">
|
|
{{article.internalUse ? 'common.labels.no' : 'common.labels.yes' | i18n}}
|
|
</div>
|
|
</div>
|
|
|
|
<div class="ka-metadata__section clearfix">
|
|
<div class="ka-metadata__ca-section-item" ng-if="article.author">
|
|
<div class="app__person-avatar pull-left">
|
|
<img alt="{{article.author.fullName}}" class="app__person-avatar_small" imgplaceholder="user"
|
|
user-availability="article.author" thumbnail-img="{{article.author.thumbnail}}" />
|
|
</div>
|
|
<div class="ka__author-name">
|
|
<div class="ka-metadata__label-small">{{'create.knowledge.author' | i18n}}</div>
|
|
<span ng-if="article.author.loginId" class="ticket__field-value">
|
|
<a ux-id="ka-metadata-author" aria-label="{{'create.knowledge.author' | i18n}} {{article.author.fullName}}"
|
|
href="#/person/{{article.author.loginId | escape}}">{{article.author.fullName}}</a>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
<div class="ka-metadata__ca-section-item" ng-if="article.language">
|
|
<div class="ka-metadata__label-small">{{'common.labels.language' | i18n}}</div>
|
|
<span>{{ article.language | localizeLabel: 'language':'knowledge' }}</span>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="clearfix ka-metadata__section" ng-if="article.assignee">
|
|
<div class="app__person-avatar pull-left">
|
|
<img class="app__person-avatar_small" ng-if="article.assignee.loginId" alt="{{article.assignee.fullName}}" user-availability="article.assignee" imgplaceholder="user"
|
|
thumbnail-img="{{'data:' + article.assignee.thumbnailMime + ';base64,' + article.assignee.thumbnail}}" />
|
|
<span ng-if="!article.assignee.loginId" class="ka-metadata-assignment__none icon-question_circle"></span>
|
|
</div>
|
|
<div class="ka__author-name">
|
|
<div class="ka-metadata__label-small">{{'common.labels.assignedTo' | i18n}}</div>
|
|
<span ng-if="!article.assignee.loginId" class="ticket__field-value">{{'common.label.noneYet' | i18n }}</span>
|
|
<span ng-if="article.assignee.loginId" class="ticket__field-value">
|
|
<a ux-id="ka-metadata-assignee-link" aria-label="{{'common.labels.assignee' | i18n}} {{article.assignee.fullName}}"
|
|
href="#/person/{{article.assignee.loginId | escape}}">{{article.assignee.fullName}}</a>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="ka-metadata__section clearfix" ng-if="article.accessMappings.detailsEditAllowed !== undefined && article.nextReviewDate && article.status.value === 'Published'">
|
|
<div class="label__text">
|
|
{{ 'create.knowledge.nextReviewDate' | i18n }}
|
|
</div>
|
|
<div>
|
|
{{article.nextReviewDate ? (article.nextReviewDate | datePreConfigTimezone:'mediumDate') : ''}}
|
|
</div>
|
|
</div>
|
|
|
|
<div ux-id="company-details" class="ka-metadata__section">
|
|
<span ux-id="field-label" class="label__text">
|
|
{{'create.knowledge.company' | i18n}}
|
|
</span>
|
|
|
|
<div ux-id="company-values" class="relative-position">
|
|
{{article.company.name === 'All' ? 'ka.company.all' : article.company.name | i18n}} ({{'ka.company.primary' | i18n}})
|
|
<span ux-id="field-value_{{$index}}" ng-repeat="company in article.additionalCategoriesCompanies">, {{company.name}}</span>
|
|
</div>
|
|
</div>
|
|
|
|
<div ux-id="keywords-details" class="ka-metadata__section" ng-if="article.tags && article.tags.length">
|
|
<div ux-id="field-label" class="label__text">
|
|
{{'create.knowledge.keywords' | i18n}}
|
|
</div>
|
|
<div>
|
|
<span ux-id="field-value_{{$index}}" class="ka-metadata-tag-panel__keyword" ng-repeat="tag in article.tags track by $index">
|
|
{{tag}}{{$last ? '' : ', '}}
|
|
</span>
|
|
</div>
|
|
</div>
|
|
|
|
<div ux-id="site-details" class="ka-metadata__section" ng-if="article.allSites.length">
|
|
<span ux-id="field-label" class="label__text">
|
|
{{'common.label.site' | i18n}}
|
|
</span>
|
|
|
|
<div class="relative-position">
|
|
<span ux-id="field-value_{{$index}}" ng-repeat="site in article.allSites">{{site.name ? site.name : site.siteGroup ? site.siteGroup : site.region}} {{site.primary ? '(' + ('common.labels.primary' | i18n) + ')' : ''}}{{$last ? '' : ', '}}</span>
|
|
</div>
|
|
</div>
|
|
|
|
<div ux-id="organization-department-details" class="ka-metadata__section" ng-if="article.allOrganizations.length">
|
|
<span ux-id="field-label" class="label__text">
|
|
{{'create.knowledge.organization.department' | i18n}}
|
|
</span>
|
|
|
|
<div class="relative-position">
|
|
<span ux-id="field-value_{{$index}}" ng-repeat="organization in article.allOrganizations">{{organization.department ? organization.department : organization.organization}} {{organization.primary ? '(' + ('common.labels.primary' | i18n) + ')' : ''}}{{$last ? '' : ', '}}</span>
|
|
</div>
|
|
</div>
|
|
|
|
<div ux-id="business-service-details" class="ka-metadata__section" ng-if="article.allServices.length">
|
|
<span ux-id="field-label" class="label__text">
|
|
{{'create.knowledge.business.service' | i18n}}
|
|
</span>
|
|
|
|
<div class="relative-position">
|
|
<span ux-id="field-value_{{$index}}" ng-repeat="service in article.allServices">{{service.name}} {{service.primary ? '(' + ('common.labels.primary' | i18n) + ')' : ''}}{{$last ? '' : ', '}}</span>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="ka-metadata__categories">
|
|
<div ux-id="field_{{::category.name}}" class="categories-section__subcategory" ng-repeat="category in article.categoriesControls">
|
|
<span ux-id="category-label" class="label__text" ng-if="(article.categoriesSet | filter: {name: category.name}).length">{{category.label}}</span>
|
|
<div ux-id="ka-metadata-category_{{$index}}">
|
|
<div ux-id="category-value_{{$index}}" ng-repeat="categoryTag in (article.categoriesSet | filter: {name: category.name})">
|
|
{{(categoryTag | serializeCategory) || ('categorization.noneSet' | i18n)}}{{categoryTag.primary ? ' (' + ('common.labels.primary' | i18n) + ')' : ''}}{{$last ? '' : ','}}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<form class="ka-metadata__main-section clearfix" role="region" ng-if="editMode">
|
|
<ka-visibility-directive article="article" company="userCompany"></ka-visibility-directive>
|
|
<!-- author and language -->
|
|
<div class="ka-metadata__ca-section clearfix">
|
|
<div ux-id="ka-author" class="ka-metadata__ca-section-item">
|
|
<label class="label_control-wrap">
|
|
<span class="label__text">
|
|
{{'create.knowledge.author' | i18n}}
|
|
</span>
|
|
|
|
<div class="relative-position">
|
|
<input type="text"
|
|
title="{{'create.knowledge.author' | i18n}}"
|
|
class="text-input full-width"
|
|
ng-model="article.author.fullName"
|
|
required
|
|
ng-disabled="true"
|
|
placeholder="{{ 'create.knowledge.author.placeholder' | i18n }}">
|
|
</div>
|
|
</label>
|
|
</div>
|
|
<div ux-id="ka-language" class="ka-metadata__ca-section-item">
|
|
<label class="label_control-wrap">
|
|
<span class="label__text">
|
|
{{'common.labels.language' | i18n}}
|
|
</span>
|
|
|
|
<div class="relative-position">
|
|
<selection selection-items="languages"
|
|
selected-item="state.selectedLanguage"
|
|
disabled-selection="!article.accessMappings.detailsEditAllowed"
|
|
title-text="{{'common.labels.language' | i18n}}"
|
|
label="label"
|
|
value="name"
|
|
selection-callback="selectLanguage(item)"
|
|
update-selected-item=true
|
|
show-clear=true>
|
|
</selection>
|
|
</div>
|
|
</label>
|
|
</div>
|
|
</div>
|
|
<!-- assignee -->
|
|
<div ux-id="field_assignee" class="ka-metadata__section col-xs-12">
|
|
<span ux-id="assignee-label" class="label__text">{{ 'create.ticket.assignee' | i18n }}</span>
|
|
|
|
<div>
|
|
<div ux-id="auto-assign-text" class="auto-assign__text" ng-if="article.autoAssign">
|
|
{{ 'create.ticket.auto.assign' | i18n }}
|
|
</div>
|
|
<div class="ka-metadata__assignment" ng-if="!article.autoAssign">
|
|
<img ux-id="avatar" ng-if="article.assignee.loginId" alt="{{article.assignee.fullName}}" class="ticket-assignee__thumbnail" imgplaceholder="user"
|
|
thumbnail-img="{{'data:' + article.assignee.thumbnailMime + ';base64,' + article.assignee.thumbnail}}" />
|
|
<span ng-if="!article.assignee.loginId" class="ticket-assignee__none icon-question_circle"></span>
|
|
|
|
<div class="ticket-assignee__info" tabindex="0">
|
|
<div ux-id="assigneeLabel" class="ticket__label-small">{{'common.labels.assignedTo' | i18n }}:</div>
|
|
<span ux-id="assignee-name" ng-if="!article.assignee.loginId" class="ticket__field-value">{{'common.label.noneYet' | i18n }}</span>
|
|
<span ux-id="assignee-name" ng-if="article.assignee.loginId" class="ticket__field-value">{{article.assignee.fullName}}</span>
|
|
</div>
|
|
|
|
<div class="ticket-assignee__support-group" tabindex="0">
|
|
<div ux-id="support-group-label" class="ticket__label-small">{{'common.labels.supportGroup' | i18n}}:</div>
|
|
<span ux-id="support-group-name" class="ticket__field-value">{{ article.assigneeGroup.name || ('common.label.noneYet' | i18n ) }}</span>
|
|
</div>
|
|
</div>
|
|
<div ux-id="assign-me-btn" class="ticket-incident-assignee__action" ng-if="article.accessMappings.assigneeEditAllowed && article.assignee.loginId !== loggedInUserId"
|
|
ng-click="assignToMe($event, 'ticketassignee')" ng-enter="assignToMe($event, 'ticketassignee')">
|
|
<i class="icon-user_plus"></i>
|
|
<a aria-label="{{'common.labels.assignToMe' | i18n}}" tabindex="0">
|
|
{{'common.labels.assignToMe' | i18n }}
|
|
</a>
|
|
</div>
|
|
<button ux-id="change-assign-btn" type="button" class="ka-metadata__change_assignment-btn ka-metadata__assignment-btn" ng-click="assign($event)" ng-if="article.accessMappings.assigneeEditAllowed"
|
|
aria-label="{{'common.button.change' | i18n}} {{'common.labels.assignee' | i18n}}">
|
|
{{'common.button.change' | i18n}}
|
|
</button>
|
|
</div>
|
|
</div>
|
|
<!-- Next Review Date -->
|
|
<div class="col-xs-12 ka-metadata__section" ng-if="article.accessMappings.detailsEditAllowed !== undefined && article.status.value === 'Published'">
|
|
<label class="label_control-wrap">
|
|
<span class="label__text">
|
|
{{'create.knowledge.nextReviewDate' | i18n}}
|
|
</span>
|
|
<div class="custom-field__date ka-metadata__reviewdate">
|
|
<input ux-id="ka-metadata-open-next-review-date" type="text"
|
|
class="form-control"
|
|
datepicker-options="{'showWeeks': false}"
|
|
datepicker-popup="mediumDate"
|
|
aria-required="true"
|
|
aria-labelledby="nextReviewDateLabel"
|
|
ng-model="article.nextReviewDate"
|
|
is-open="reviewDate.opened"
|
|
show-button-bar="false"
|
|
min-date="currentDate"
|
|
ng-click="openNextReviewDate($event)"
|
|
ng-disabled="!article.accessMappings.detailsEditAllowed"/>
|
|
<i class="icon-calendar custom-field__date-icon"></i>
|
|
</div>
|
|
</label>
|
|
</div>
|
|
<!-- keywords -->
|
|
<div ux-id="ka-keyword" class="col-xs-12 ka-metadata__section" ng-if="article.accessMappings.detailsEditAllowed || article.tags.length">
|
|
<label class="label_control-wrap">
|
|
<span class="label__text">
|
|
{{'create.knowledge.keywords' | i18n}}
|
|
</span>
|
|
|
|
<div ng-class="{'tag-section': true, 'tag-section_disabled': !article.accessMappings.detailsEditAllowed}" ng-if="article.tags.length">
|
|
<div class="tag_removable" ng-repeat="tag in article.tags track by $index">
|
|
{{tag}}
|
|
<i ux-id="ka-metadata-remove-tag_{{$index}}" ng-show="article.accessMappings.keywordsEditAllowed" class="icon-cross tag__remove" ng-click="removeTag(tag, article.tags)" ng-enter="removeTag(tag, article.tags)"
|
|
title="{{'common.button.remove' | i18n}} {{'common.labels.keyword'| i18n}} {{tag}}" role="link" tabindex="0"></i>
|
|
</div>
|
|
</div>
|
|
|
|
<input ng-show="article.accessMappings.keywordsEditAllowed" type="text"
|
|
ng-if="article.accessMappings.detailsEditAllowed"
|
|
title="{{'create.knowledge.keywords' | i18n}}: {{ 'create.knowledge.keywords.placeholder' | i18n }}"
|
|
class="text-input full-width"
|
|
ng-model="state.tag"
|
|
role="textbox"
|
|
ng-enter="addKeyword();"
|
|
placeholder="">
|
|
|
|
<div ng-show="article.accessMappings.keywordsEditAllowed" class="ka-metadata__input-description">{{ 'create.knowledge.keywords.placeholder' | i18n }}</div>
|
|
</label>
|
|
</div>
|
|
<!-- company -->
|
|
<div ux-id="ka-company" class="ka-metadata__section col-xs-12" ng-if="article.accessMappings.companyEditAllowed || article.allCompanies.length">
|
|
<label class="label_control-wrap" for="ka-metadata__company" aria-label="{{'create.knowledge.company' | i18n}}">
|
|
<span class="label__text">
|
|
{{'create.knowledge.company' | i18n}}
|
|
</span>
|
|
</label>
|
|
<div ng-class="{'tag-section': true, 'tag-section_disabled': !article.accessMappings.companyEditAllowed}" ng-if="article.allCompanies.length">
|
|
<div ux-id="ka-metadata-company_{{$index}}" ng-class="{tag: true, tag_removable: !company.primary, 'tag__potential-primary': article.accessMappings.companyEditAllowed}"
|
|
ng-repeat="company in article.allCompanies" ng-click="article.accessMappings.companyEditAllowed && setPrimaryCompany(company)"
|
|
ng-enter="article.accessMappings.companyEditAllowed && setPrimaryCompany(company)" tabindex="0">
|
|
<span ux-id="company-name" class="tag__name" aria-label="{{'create.knowledge.company' | i18n}} {{company.name == 'All' ? ('ka.company.all' | i18n) : company.name }}">{{company.name == 'All' ? ('ka.company.all' | i18n) : company.name }}</span>
|
|
<span ux-id="primary-company" class="tag__primary" ng-if="company.primary">{{"ka.company.primary" | i18n}}</span>
|
|
<i ux-id="ka-metadata-remove-primarycompany" class="icon-cross tag__remove" ng-click="removeCompany(company, $event)" ng-enter="removeCompany(company, $event)" ng-if="!company.primary"
|
|
title="{{'common.button.remove' | i18n}} {{'common.label.company'| i18n}} {{company.name}}" role="link" tabindex="0"></i>
|
|
</div>
|
|
</div>
|
|
<div class="relative-position" ng-if="article.accessMappings.companyEditAllowed">
|
|
<selection input-id="ka-metadata__company"
|
|
selection-items="availiableCompanies"
|
|
selected-item=""
|
|
selection-callback="addCompany(item)"
|
|
title-text="{{'create.knowledge.company.placeholder' | i18n}}"
|
|
label="name"
|
|
value="name"
|
|
update-selected-item=false,
|
|
disabled-selection="!availiableCompanies.length && !state.tooManyCompanies"
|
|
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>
|
|
</div>
|
|
</div>
|
|
<!-- sites -->
|
|
<div ux-id="ka-site" class="col-xs-12 ka-metadata__section" ng-if="article.accessMappings.detailsEditAllowed || article.allSites.length">
|
|
<label class="label_control-wrap" for="foundation-selector__site">
|
|
<span class="label__text">
|
|
{{'common.label.site' | i18n}}
|
|
</span>
|
|
</label>
|
|
<div ng-class="{'tag-section': true, 'tag-section_disabled': !article.accessMappings.detailsEditAllowed}" ng-if="article.allSites.length">
|
|
<div ux-id="ka-metadata-set-primarytag_{{$index}}" ng-repeat="site in article.allSites" ng-click="article.accessMappings.detailsEditAllowed && setPrimaryTag(site, article.allSites)"
|
|
ng-enter="article.accessMappings.detailsEditAllowed && setPrimaryTag(site, article.allSites)" tabindex="0"
|
|
ng-class="{tag_removable: true, 'tag__potential-primary': site.companyName === state.primaryCompany.name}">
|
|
<span class="tag__name">{{buildSiteTag(site)}}</span>
|
|
<span class="tag__primary" ng-if="site.primary">{{("common.labels.primary" | i18n).toUpperCase()}}</span>
|
|
<i ux-id="ka-metadata-remove-primarytag" class="icon-cross tag__remove" ng-click="removeTag(site, article.allSites)" ng-enter="removeTag(site, article.allSites)"
|
|
title="{{'common.button.remove' | i18n}} {{'common.label.site'| i18n}} {{buildSiteTag(site)}}" role="link" tabindex="0"></i>
|
|
</div>
|
|
</div>
|
|
<foundation-selector ng-if="article.accessMappings.detailsEditAllowed" type="site" multiple="true" use-chunking="false"
|
|
typeahead-mode="true" options="foundationOptions.site" selected-foundations="article.allSites" inline="true" is-full-width="true"></foundation-selector>
|
|
</div>
|
|
<!-- organisation/department -->
|
|
<div ux-id="organization-department" class="col-xs-12 ka-metadata__section" ng-if="article.accessMappings.detailsEditAllowed || article.allOrganizations.length">
|
|
<label class="label_control-wrap" for="foundation-selector__organization">
|
|
<span class="label__text">
|
|
{{'create.knowledge.organization.department' | i18n}}
|
|
</span>
|
|
</label>
|
|
|
|
<div ng-class="{'tag-section': true, 'tag-section_disabled': !article.accessMappings.detailsEditAllowed}" ng-if="article.allOrganizations.length">
|
|
<div ux-id="ka-metadata-all-organization_{{$index}}" ng-repeat="organization in article.allOrganizations" ng-click="article.accessMappings.detailsEditAllowed && setPrimaryTag(organization, article.allOrganizations)"
|
|
ng-enter="article.accessMappings.detailsEditAllowed && setPrimaryTag(organization, article.allOrganizations)" tabindex="0"
|
|
ng-class="{tag_removable: true, 'tag__potential-primary': organization.companyName === state.primaryCompany.name}">
|
|
<span class="tag__name">{{buildOrganizationTag(organization)}}</span>
|
|
<span class="tag__primary" ng-if="organization.primary">{{("common.labels.primary" | i18n).toUpperCase()}}</span>
|
|
<i ux-id="ka-metadata-remove-organization" class="icon-cross tag__remove" ng-click="removeTag(organization, article.allOrganizations)" ng-enter="removeTag(organization, article.allOrganizations)"
|
|
title="{{'common.button.remove' | i18n}} {{'common.label.organization'| i18n}} {{buildOrganizationTag(organization)}}" role="link" tabindex="0"></i>
|
|
</div>
|
|
</div>
|
|
<foundation-selector ng-if="article.accessMappings.detailsEditAllowed" type="organization" multiple="true" use-chunking="false" typeahead-mode="true"
|
|
options="foundationOptions.organization" selected-foundations="article.allOrganizations" inline="true" is-full-width="true"></foundation-selector>
|
|
</div>
|
|
<!-- business service -->
|
|
<div ux-id="field_impactedService" class="col-xs-12 ka-metadata__section" ng-if="article.accessMappings.detailsEditAllowed || article.allServices.length">
|
|
<label class="label_control-wrap" for="ka-metadata__business-service">
|
|
<span class="label__text">
|
|
{{'create.knowledge.business.service' | i18n}}
|
|
</span>
|
|
</label>
|
|
<div ng-class="{'tag-section': true, 'tag-section_disabled': !article.accessMappings.detailsEditAllowed}" ng-if="article.allServices.length">
|
|
<div ux-id="ka-metadata-all-services_{{$index}}" class="tag_removable tag__potential-primary" ng-repeat="service in article.allServices"
|
|
ng-click="article.accessMappings.detailsEditAllowed && ((service.company.name === 'All') || service.company.name === state.primaryCompany.name) && setPrimaryBusinessService(service, article.allServices);"
|
|
ng-enter="article.accessMappings.detailsEditAllowed && ((service.company.name === 'All') || service.company.name === state.primaryCompany.name) && setPrimaryBusinessService(service);" tabindex="0">
|
|
<span class="tag__name">{{service.name}}</span>
|
|
<span class="tag__primary" ng-if="service.primary">{{("common.labels.primary" | i18n).toUpperCase()}}</span>
|
|
<i ux-id="ka-metadata-remove-service" class="icon-cross tag__remove" ng-click="removeTag(service, article.allServices)" ng-enter="removeTag(service, article.allServices)"
|
|
title="{{'common.button.remove' | i18n}} {{'common.labels.service'| i18n}} {{service.name}}" role="link" tabindex="0"></i>
|
|
</div>
|
|
</div>
|
|
<div class="ka-metadata__business-service" ng-if="article.accessMappings.detailsEditAllowed">
|
|
<input ux-id="ka-metadata-service-state" type="text"
|
|
title="{{'create.knowledge.business.service' | i18n}}"
|
|
class="text-input full-width"
|
|
id="ka-metadata__business-service"
|
|
ng-model="state.service"
|
|
role="combobox"
|
|
autocomplete="off"
|
|
placeholder="{{ 'create.knowledge.business.service.placeholder' | i18n }}"
|
|
typeahead-min-length="3"
|
|
typeahead-template-url="views/create/custom-add-asset-dropdown.html"
|
|
typeahead="service as service.name for service in getServicesByText($viewValue, '%')"
|
|
typeahead-on-select="addTag($item, article.allServices, state.service); state.service = ''"
|
|
typeahead-loading="state.loadService"
|
|
typeahead-wait-ms="500"
|
|
ng-blur="onServiceFocusBlur()"
|
|
uib-tooltip="{{'search.category.exceedsChunkSize' | i18n}}"
|
|
tooltip-is-open="state.isTooltipOpenService"
|
|
tooltip-enable="state.exceedsChunkSizeService"
|
|
tooltip-trigger="'none'"
|
|
tooltip-placement="auto">
|
|
<div class="select-custom-dropdown__spinner-container">
|
|
<loading-spinner if="state.loadService" inline="true"></loading-spinner>
|
|
</div>
|
|
<i ux-id="ka-metadata-clear-service" class="icon-cross item-input__delete-btn" tabindex=0 role="link"
|
|
title="{{'common.button.clear' | i18n}} {{'common.labels.service' | i18n }}" ng-if="state.service && !state.loadService"
|
|
focus-input-on-clear ng-click="state.service = ''" ng-enter="state.service = ''">
|
|
</i>
|
|
</div>
|
|
</div>
|
|
<!-- operationa/product categories -->
|
|
<div class="ka-metadata__categories col-xs-12" ng-show="article.categoriesControls">
|
|
<categories-editor edit-disabled="!article.accessMappings.categorizationEditAllowed"
|
|
entity="article"
|
|
categories="article.categoriesControls"
|
|
update-is-handled-by-parent="false"
|
|
class="editable-content-section-block category-editor__center"
|
|
multiple="true"
|
|
categories-set="article.categoriesSet"
|
|
company="state.primaryCompany">
|
|
</categories-editor>
|
|
</div>
|
|
</form>
|