118 lines
7.3 KiB
HTML
118 lines
7.3 KiB
HTML
<div role="dialog" aria-labelledby="modalLabel">
|
|
<span class="modal-content__508-hidden-span">{{'common.labels.508BeginContent' | i18n}}</span>
|
|
<div class="action-blade__header_no-shadow">
|
|
<h2 id="modalLabel" class="action-blade__title">{{'ticket.linkBlade.title' | i18n}}</h2>
|
|
</div>
|
|
<div class="action-blade__body">
|
|
<div loading-spinner if="state.processing" overlay="true" centered="true"></div>
|
|
<div class="link__action-blade">
|
|
<div class="link-blade__header clearfix" role="region" aria-label="{{'common.region.search' | i18n}}">
|
|
<div class="col-xs-4">
|
|
<label class="label_control-wrap">
|
|
<span class="label__text required__label control-label_align" data-required="{{'common.label.required.bracketed' | i18n}}">
|
|
{{'ticket.linkBlade.label.itemType' | i18n}}
|
|
</span>
|
|
<selection selection-items="linkOptions"
|
|
selected-item="selected.linkOption"
|
|
selection-callback="selectLinkOption(item)"
|
|
title-text="{{'ticket.linkBlade.label.itemType' | i18n}}"
|
|
label="type"
|
|
value="type"
|
|
aria-required="true"
|
|
autofocus
|
|
i18n-prefix="ticket.type.">
|
|
</selection>
|
|
</label>
|
|
</div>
|
|
<div class="col-xs-6">
|
|
<form ng-submit="searchEntities()">
|
|
<label class="control-label assign-search-label control-label_align"> </label>
|
|
<input type="text" title="{{'common.placeholder.search' | i18n}}" class="assign-search" ng-disabled="!selected.linkOption.type" ng-model="selected.searchText" placeholder="{{'common.placeholder.search' | i18n}}"/>
|
|
</form>
|
|
<div class="link-blade__filter">
|
|
<search-filter ng-if="selected.linkOption.type=='outage' && ticketType == 'change'" config="searchConfig" selected-filters="selected.advancedFilters" label="ticket.linkBlade.advancedSearchFilter" hide-pills="true"></search-filter>
|
|
</div>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<label class="control-label full-width control-label_align"> </label>
|
|
<button type="button" class="small-btn_secondary" ng-click="searchEntities()">{{'search.placeholder' | i18n}}</button>
|
|
</div>
|
|
<div class="link-blade__selected-items-notification">
|
|
<span ng-if="!selected.entities.length" title="{{'ticket.linkBlade.actionRequired' | i18n}}">{{'ticket.linkBlade.actionRequired' | i18n}}</span>
|
|
<span ng-if="selected.entities.length"><span class="font-semibold">{{selected.entities.length}}</span> {{(selected.entities.length == 1 ? 'common.selectedItem' : 'common.selectedItems') | i18n}}</span>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="link-blade__suggested-items-tooltip" ng-if="state.showSuggestedItemsTooltip">
|
|
<span>{{'ticket.linkBlade.suggestedOutages' | i18n}}</span>
|
|
<span href="#" tooltip-placement="top" tooltip="{{'ticket.linkBlade.suggestedOutagesTooltip' | i18n}}" class="icon-question_circle" tabindex="0" aria-label="{{'ticket.linkBlade.suggestedOutagesTooltip' | i18n}}"></span>
|
|
</div>
|
|
|
|
<div class="link-blade__body" ng-if="state.searching || availableEntities !== null" role="region" aria-label="{{'common.region.selectionList' | i18n}}">
|
|
<div loading-spinner if="state.searching" overlay="true" centered="true"></div>
|
|
|
|
<div class='link-blade__no-tems' ng-if="availableEntities.length == 0">
|
|
{{'ticket.linkBlade.noItemsFound' | i18n}}
|
|
</div>
|
|
<div class="link-blade__item clearfix" ng-repeat="entity in availableEntities" tabindex="0">
|
|
<div class="link-blade__item-check">
|
|
<input type="checkbox" ng-model="entity.isSelected" ng-change="selectEntity(entity)"
|
|
ng-disabled="isEntityDisabled(entity)" />
|
|
</div>
|
|
<div class="link-blade__item-icon" ng-if="selected.linkOption.type != 'outage'" ng-class="'icon-'+ entity.type + entity.subType" ></div>
|
|
<div class="link-blade__item-icon" ng-if="selected.linkOption.type == 'outage'"
|
|
ng-class="{'icon-flag resource-slice__outage-status_current': entity.status.value === 'Current Unavailability',
|
|
'icon-calendar resource-slice__outage-status_scheduled': entity.status.value === 'Scheduled'}" ></div>
|
|
|
|
<div class="link-blade__item-details" ng-if="selected.linkOption.type!='outage'">
|
|
<div ng-if="entity.type != 'asset'">
|
|
<label ng-bind-html="entity.displayId | highlightSearchResult : selected.searchText"></label>
|
|
</div>
|
|
<span class="link-blade__item-details-asset-type" ng-if="entity.additionalInformation.assetType">{{entity.additionalInformation.assetType | localizeLabel : 'assetType' : 'asset'}}<br/></span>
|
|
<span class="font-semibold" ng-bind-html="entity.title | highlightSearchResult : selected.searchText"></span><br/>
|
|
<label>{{'ticket.status' | i18n}}:</label> {{entity.additionalInformation.status.value | localizeLabel: 'status':entity.type}}<br/>
|
|
</div>
|
|
|
|
<div class="link-blade__item-details" ng-if="selected.linkOption.type == 'outage'">
|
|
<div class="link-blade__item-details_row">
|
|
<label ng-bind-html="entity.outageTypeName | highlightSearchResult : selected.searchText | localizeLabel : 'type' : 'outage'"></label>
|
|
<span class="align-right">{{entity.scheduledStartDateHumanized +" - "+ entity.scheduledEndDateHumanized}}</span>
|
|
</div>
|
|
<div class="link-blade__item-details_row">
|
|
<a ng-click="" href="" class="font-semibold" ng-bind-html="entity.desc | highlightSearchResult : selected.searchText"></a>
|
|
<span class="align-right">{{('resourceSlice.relatedCIs.label' | i18n) + ': '+ entity.affectedAsset.name}}</span>
|
|
</div>
|
|
<div class="link-blade__item-details_row">
|
|
<label>{{('ticket.status' | i18n) +": " +(entity.status.value | localizeLabel: 'status':entity.type)}}</label>
|
|
</div>
|
|
</div>
|
|
<div class="link-blade__item-notification" ng-if="entity.affectedAsset.isRelatedToCR">
|
|
<span class="icon-exclamation_triangle"></span>
|
|
<span class="link-blade__item-notification-text">{{'ticket.linkBlade.ciRelationWithOutageNotification' | i18n:('ticket.type.' + ticketType | i18n)}}</span>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="action-blade__footer clearfix" role="region" aria-label="{{'common.region.action' | i18n}}">
|
|
<div class="link-blade__relationship-type" tabindex="0">
|
|
<label class="label_control-wrap">
|
|
<span class="label__text">{{'ticket.linkBlade.relationshipType' | i18n}}</span>
|
|
<selection selection-items="selected.linkOption.relations"
|
|
selected-item="selected.relation"
|
|
selection-callback="selectRelation(item)"
|
|
title-text="{{'ticket.linkBlade.relationshipType' | i18n}}"
|
|
aria-required="true"
|
|
i18n-prefix="common.relationship.type."
|
|
disabled-selection="state.processing">
|
|
</selection>
|
|
</label>
|
|
</div>
|
|
<div class="action-blade__button-container">
|
|
<button type="submit" class="btn_primary" ng-disabled="(!selected.entities.length || !selected.relation) || state.processing" ng-click="link()">{{'common.button.save' | i18n}}</button>
|
|
<button type="button" class="btn_secondary" ng-disabled="state.processing" ng-click="close()" >{{'common.button.cancel' | i18n}}</button>
|
|
</div>
|
|
</div>
|
|
<span class="modal-content__508-hidden-span">{{'common.labels.508EndContent' | i18n}}</span>
|
|
</div> |