SmartIT_Extensions/BMC/smart-it-full/views/resource/rs-ka-search.html

143 lines
7.7 KiB
HTML

<div role="dialog" aria-labelledby="modalLabel">
<span class="modal-content__508-hidden-span">{{'common.labels.508BeginContent' | i18n}}</span>
<div loading-spinner if="state.processing" overlay="true" centered="true"></div>
<div class="search-resource__body">
<div class="search-resource__search-container">
<button type="button" class="small-btn_secondary search-resource__create-back-button" ng-click="toggleSearchKa()">
<i class="btn__icon-left icon-angle_left"></i>{{'resource.search.back.button' | i18n}} <!--todo: change icon-arrow to icon-angle after fonts update-->
</button>
<div class="relative-position search-resource__search-inputContainer">
<input title="{{'resource.search.search.label' | i18n}}"
class="search-resource__search-input"
type="text"
ng-model="articlePlaceholder.summary"
ng-enter="searchArticle()"
auto-focus
placeholder="{{'resource.search.search.label' | i18n}}"/>
<i class="icon-cross item-input__delete-btn" tabindex=0 role="link"
title="{{'common.button.clear' | i18n}}" ng-if="articlePlaceholder.summary"
focus-input-on-clear ng-click="clearSearch()" ng-enter="clearSearch()">
</i>
</div>
</div>
<button type="button" class="search-resource__option-button" ng-click="toggleOptions()">
<span ng-class="state.optionIsCollapsed ? 'icon-triangle_right' : 'icon-triangle_down'"></span>
<span class="search-resource__option-button-label">{{ state.optionIsCollapsed ? ('resource.search.ShowAdvancedOptions' | i18n) : ('resource.search.HideAdvancedOptions' | i18n) }}</span>
</button>
<!-- todo: enable pop out if it is in scope
<button class="search-resource__option-button pull-right">{{'common.labels.popOut' | i18n}} <span class="icon-pop_up"></span></button>
-->
<div class="search-resource__option-display" collapse="state.optionIsCollapsed">
<categories-editor
ng-if="articlePlaceholder.allCategories"
entity="articlePlaceholder"
categories="articlePlaceholder.allCategories"
multiple="true"
hide-label="true"
hide-recommendations="true">
</categories-editor>
<selection selection-items="availableSources"
selected-item="sourceOptions"
selection-callback="changeSourceOption(item)"
show-clear="true"
placeholder-text="{{'resource.search.option.source' | i18n}}"
label="label"
value="name">
</selection>
<selection selection-items="availableStatuses"
selected-item="statusOptions"
selection-callback="changeStatusOption(item)"
show-clear="true"
placeholder-text="{{'resource.search.option.status' | i18n}}"
label="label"
value="name">
</selection>
<button type="submit" class="btn_secondary" ng-click="searchArticle()" ng-disabled="!articlePlaceholder.summary.length">{{'search.placeholder' | i18n}}</button>
</div>
<div class="search-resource__search-result">
<div class="rs-group__searching" ng-if="state.searching">
<div loading-spinner if="true"></div>
<span class="rs-group__searching-label">{{'resourceSlice.search.label' | i18n}}</span>
</div>
<div class="search-resource__search-result-label" ng-if="!((searchResults && searchResults.length) || state.searching || state.searchNotFound)">{{'resource.search.searchResult.label' | i18n}}</div>
<div class="search-resource__search-result-label" ng-if="state.searchNotFound">{{'person.details.knowledgeArticles.noArticlesFound' | i18n}}</div>
<div ng-if="searchResults && searchResults.length">
<h3 class="rs-group__header" tabindex="0">{{'common.labels.knowledge' | i18n}} ({{searchResults.length}})</h3>
<div class="rs-group__filter dropdown">
<button type="button" class="btn_link dropdown-toggle" aria-label="{{'list.show' | i18n}} {{selectedSortOption.name}}">
{{'resourceSlice.knowledgeSortOption.' + selectedSortOption.name | i18n}}
<i class="icon-angle_down resource-slice__arrow-down"></i>
</button>
<ul class="dropdown-menu pull-right">
<li ng-repeat="option in sortOptions">
<div class="dropdown-item" ng-click="setSortOption(option)" role="menuitem" tabindex="0">
{{'resourceSlice.knowledgeSortOption.' + option.name | i18n}}
</div>
</li>
</ul>
</div>
<div class="rs-group__list">
<div class="rs-group-list-item clearfix" role="listitem" tabindex="0" ng-repeat="resource in searchResults | limitTo: itemsLimit">
<div class="rs-group-list-item__icon-container">
<i class="rs-group-list-item__icon_action {{isResourceRelated(resource) ? 'icon-pin_circle' : 'icon-circle_thin_o'}}" ng-if="context.accessMappings.relationsEditAllowed"
ng-keydown="handleKeydown($event, resource)" ng-click="toggleRelation(resource)" ng-enter="toggleRelation(resource)"
aria-label="{{(isResourceRelated(resource) ? 'common.button.unselect' : 'common.button.select') | i18n}} {{'common.label.resource' | i18n}}" role="button" tabindex="0">
</i>
<i class="rs-group-list-item__icon icon-lightbulb_o" ng-if="!resource.isDecisionTree()"></i>
<i class="rs-group-list-item__icon rs-group-list-item__icon-medium-font icon-decision-tree" ng-if="resource.isDecisionTree()"></i>
</div>
<div class="rs-group-list-item__info" tabindex="0" ng-click="setPreviewItem(resource)" ng-enter="setPreviewItem(resource)">
<div class="rs-group-list-item__title">{{resource.displayId}}</div>
<!--Limit to is 350 for smaller title to avoid performance issues-->
<div data-ellipsis data-ellipsis-separator="" data-ellipsis-separator-reg="titleRegExp" data-ng-bind="(resource.title || resource.desc) | removeSearchTags | limitTo: 350" title="{{(resource.title || resource.desc) | removeSearchTags}}" class="rs-group-list-item__kba-description {{resource.visited ? 'rs-group-list-item__visited' : 'rs-group-list-item__description'}}"></div>
<div class="rs-group-list-item__date row">
<div class="col-sm-6">{{'common.labels.status' | i18n}}: {{localizedStatus(resource.additionalInformation.status.value || resource.realObject.status.value)}}</div>
<div class="col-sm-6">
<span>{{'common.labels.version' | i18n }} {{resource.additionalInformation.version || resource.realObject.version}} - </span>
<span>{{(resource.getLastModifyDate() | date: mediumDate) || ('common.labels.unknown' | i18n)}}</span>
</div>
</div>
<div class="rs-group-list-item__rating" ng-if="resource.getRating() >= 0">
<i class="icon-thumbs_up"></i>
<span class="rs-group-list-item__ka-property_likes">{{resource.getRating()}}%</span>
<span ng-if="resource.getNumberOfViews() !== -1">
<i class="icon-eye"></i>
<span class="rs-group-list-item__ka-property_views">{{resource.getNumberOfViews()}} {{'resourceSlice.viewCount.label' | i18n}}</span>
</span>
<div class="rs-group-list-item__ka-property" ng-if="resource.getNumberOfLinkedItems() !== -1">
<i class="icon-link"></i>
<span class="rs-group-list-item__ka-property_links">{{resource.getNumberOfLinkedItems()}} {{'resourceSlice.linkedItems.label' | i18n}}</span>
</div>
</div>
<i class="icon-angle_right rs-group-list-item__preview-icon"></i>
</div>
</div>
<show-more-less limit="itemsLimit" size="{{searchResults.length}}" chunk-size="15"></show-more-less>
</div>
</div>
</div>
<div ng-if="state.canCreateKnowledge">
<div class="search-resource__create-new-label">{{'resource.search.notFindingResource.label' | i18n}}</div>
<button type="button" class="btn_primary" ng-click="createNewArticle()">{{'resource.search.createNew.button' | i18n}}</button>
</div>
</div>
<span class="modal-content__508-hidden-span">{{'common.labels.508EndContent' | i18n}}</span>
</div>