SmartIT_Extensions/BMC/smart-it-full/views/layout-configuration/status-bar-component/status-bar.html

127 lines
9.0 KiB
HTML

<div class="status-bar__section" ng-class="{'status-bar__section-edit': $parent.editMode, 'status-bar__section-new' : fieldLengthForSm6 || fieldLengthForSm4}" aria-label="{{'ticket.region.status' | i18n}}" role="region" tabindex="0">
<div ng-hide="!accessible">
<div ng-if="!$parent.editMode">
<div class="status-bar__status" ng-if="selected.status.label"
aria-label="{{'ticket.region.status' | i18n}} {{ selected.status.value }}">
<div class="status-bar__status-value" ng-click=" !isEditable || editTicketStatus()"
ng-enter="!isEditable || editTicketStatus()" tabindex="0">
{{ selected.status.label }} <i class="icon-angle_down"></i>
</div>
</div>
<div class="status-bar__sla" ng-if="!$parent.editMode && !$parent.isNew && !ticket.SLA.slaProgressBarValid" >
<sla-reach-time sla="ticket.SLA"></sla-reach-time>
</div>
<div ng-if="!$parent.editMode && !$parent.isNew" class="ticket-status-section__sla-box clearfix">
<div class="sla-progress-bar__wrapper">
<sla-progress-bar ticket="ticket" class="sla-progress-bar" ng-if="ticket.SLA.slaProgressBarValid"></sla-progress-bar>
</div>
<div ng-if="ticket.SLA.slaProgressBarValid">
<sla-reach-time sla="ticket.SLA"></sla-reach-time>
</div>
</div>
<div class="status-bar__status-reason" ng-if="selected.statusReason.label"
aria-label="{{'ticket.region.status.reason' | i18n}} {{ ticket.status.reason | localizeLabel: 'status':'incident' }}">
<label class="status-bar__label">{{'ticket.statusReason' | i18n}}:</label>
<div class="status-bar__status-reason-value">
{{ selected.statusReason.label }}
</div>
</div>
<div class="status-bar__info-resolution" ng-if="selected.resolutionNote !== ''">
<label class="status-bar__label">{{'ticket.resolutionNote' | i18n}}:</label>
<div class="status-bar__resolution-note-value" ng-bind-html="selected.expanded ? (selected.resolutionNote | mention) : ((selected.resolutionNote | mention) | characters : 110)"></div>
<button type="button" class="btn_link status-bar-resolution-note__more-link" ng-if="(selected.resolutionNote | mention) | isTextTruncated:null:110" ng-click="loadMore()">
{{ (selected.expanded ? 'timeline.message.showLess' :'timeline.message.showMore') | i18n}}
<i ng-class="{'icon-angle_up' : selected.expanded, 'icon-angle_down': !selected.expanded}"></i>
</button>
</div>
</div>
<div class="row" ng-if="$parent.editMode" ng-hide="statusField.isHidden">
<div class="{{fieldLengthForSm6 ? 'col-sm-12 status-bar__item' : (fieldLengthForSm4 ? 'col-sm-12 status-bar__item' : 'col-sm-4')}} update-status__dropdown">
<label class="label_control-wrap">
<span class="label__text" ng-class="{'required__label': statusField.isRequired}"
data-required="{{'common.label.required.bracketed' | i18n}}">
{{'ticket.status' | i18n}}
</span>
<selection selection-items="availableStatuses"
selected-item="selected.status"
selection-callback="changeStatus(item)"
title-text="{{'common.labels.' + ticket.type | i18n}} {{'ticket.status' | i18n}}"
aria-required="statusField.isRequired"
required="statusField.isRequired"
disabled-selection="statusField.isReadOnly || isStatusDisabled()"
label="label"
value="label">
</selection>
</label>
</div>
<div class="col-sm-4 col-md-2 ticket__status-buttons btn_group-container" ng-if="ticket.type === 'change' && !(statusField.isReadOnly || selected.isDisabled || !ticket.accessMappings.statusEditAllowed || !isEditable || !isCopyChange)">
<div class="btn-group" role="group" aria-label="button group">
<button type="button" class="btn small-btn_secondary small-btn_navigation icon-angle_left" ng-click="switchState('prev', ticket.type)"
ng-disabled="checkStatusSwitcherIsDisabled('prev', ticket.type) || !ticket.accessMappings.statusEditAllowed">
<span class="sr-only">{{"common.labels.prev" | i18n}}</span>
</button>
<button type="button" class="btn small-btn_secondary small-btn_navigation icon-angle_right" ng-click="switchState('next', ticket.type)"
ng-disabled="checkStatusSwitcherIsDisabled('next', ticket.type) || !ticket.accessMappings.statusEditAllowed">
<span class="sr-only">{{"common.labels.next" | i18n}}</span>
</button>
</div>
</div>
<div class="{{fieldLengthForSm6 ? 'col-sm-12 status-bar__item' : (fieldLengthForSm4 ? 'col-sm-12 status-bar__item' : 'col-sm-4 update-status-reason_section')}}">
<div ng-if="selected.status.statusReasons.length">
<label class="label_control-wrap">
<span class="label__text"
ng-class="{'required__label': isFieldRequired('statusReason')}"
data-required="{{'common.label.required.bracketed' | i18n}}">
{{'ticket.region.status.reason' | i18n}}
</span>
<selection selection-items="selected.status.statusReasons"
selected-item="selected.statusReason"
selection-callback="changeStatusReason(item)"
title-text="{{'ticket.region.status.reason' | i18n}}"
aria-required="isFieldRequired('statusReason')"
required="isFieldRequired('statusReason')"
show-clear="!isFieldRequired('statusReason')"
clear-callback="clearStatusReason(item)"
disabled-selection="statusField.isReadOnly || isStatusReasonDisabled()"
label="label"
value="label">
</selection>
</label>
</div>
</div>
<div class="col-sm-12 status-bar__error" ng-if="fixScheduledDates">
<div>{{'change.detail.status.scheduledForApproval.scheduledDatedError' | i18n}}</div>
</div>
</div>
<div ng-hide="statusField.isHidden" ng-if="$parent.editMode && selected.status.name && needResolutionNote()"
class="{{fieldLengthForSm6 ? 'status-bar__item row' : (fieldLengthForSm4 ? 'status-bar__item row' : 'col-sm-4')}} update-status-note__section">
<div class="col-sm-12 update-status__section">
<label class="label_control-wrap">
<span ng-if="selected.status.name === 'Resolved' || selected.status.name === 'Closed'"class="label__text required__label"
data-required="{{'common.label.required.bracketed' | i18n}}">
{{'ticket.resolutionNote' | i18n}}
</span>
<span ng-if="selected.status.name !== 'Resolved' && selected.status.name !== 'Closed'" class="label__text required__label">
{{'ticket.resolutionNote' | i18n}}
</span>
<textarea ng-if="selected.status.name === 'Resolved' || selected.status.name === 'Closed'"
title="{{'ticket.placeholder.statusResolution' | i18n}}" class="textarea full-width"
ng-model="selected.resolutionNote" rows="3" ng-required="'true'" aria-required="true"
placeholder="{{'ticket.placeholder.statusResolution' | i18n}}" ng-change="changeResolutionNote()"
ng-disabled="statusField.isReadOnly || isResolutionDisabled()">
</textarea>
<textarea ng-if="selected.status.name !== 'Resolved' && selected.status.name !== 'Closed'"
title="{{'ticket.placeholder.statusResolution' | i18n}}" class="textarea full-width"
ng-model="selected.resolutionNote" rows="3" aria-required="true"
placeholder="{{'ticket.placeholder.statusResolution' | i18n}}" ng-change="changeResolutionNote()"
ng-disabled="statusField.isReadOnly || isResolutionDisabled()">
</textarea>
</label>
</div>
</div>
</div>
</div>