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

130 lines
7.6 KiB
HTML

<!--Ticket header section-->
<div ng-class="{'highlight-section':!ticket.summary}" class="title-bar__section col-md-12" aria-label="{{'ticket.region.header' | i18n}}" role="region" tabindex="0">
<div class="ticket__basic-info">
<!--First Row-->
<div ng-if="!editMode">
<div ng-if="!ticket.summary" class="ticket__required-field">
<i class="icon-exclamation_triangle"></i> {{'ticket.notification.draft.missingTitle' | i18n}}
</div>
<div class="title-bar__summary" ng-if="isFullVersion" title="{{summaryField.value}}" ng-bind-html="summaryField.value | securelinky:'_blank'"></div>
<div class="title-bar__summary" ng-if="!isFullVersion" title="{{summaryField.value}}">
<a class="ticket__summary" href="#/{{ticket.type}}/{{ticket.id}}">{{summaryField.value}}</a>
</div>
</div>
<div ng-if="editMode">
<label class="label_control-wrap">
<span id="titleLabel" class="label__text"
potentially-required-field
field-name="summary"
itsm-required="{{summaryField.ootb}}"
entity="ticket">
{{'common.labels.title' | i18n}}
</span>
<input type="text" class="edit-header__title form-control" ng-change="onSummaryChange()" ng-model="summaryField.value"
title=" " potentially-required-field
field-name="summary"
itsm-required="{{summaryField.ootb}}"
ng-disabled="!isSummaryEditable"
entity="ticket" maxlength="{{summaryField.maxLength}}" aria-labelledby="titleLabel">
<character-limit-message field="summaryField.value" limit="{{summaryField.maxLength}}"></character-limit-message>
</label>
</div>
<!--Second Row-->
<div class="pull-left row col-md-12" ng-class="{'title-bar__display': !editMode}">
<div class="title-bar__display-id" ng-if="!editMode">
<div class="ticket__icon">
<span class="{{iconClass()}}"></span>
</div>
<div class="title-bar__display-id-label">{{'ticket.type.' + ticket.type | i18n}} </div>
</div>
<!--configurable section-->
<div ng-if="titleBarPanelId" ng-class="(editMode) ? 'col-md-12 row' : ''" class="title-bar__configuration-section">
<custom-field-area ticket="ticket"
metadata="metadata"
panel-id="{{titleBarPanelId}}"
stacked="true"
class="editable-content-section-block {{editMode ? '' : 'title-bar__configuration-section-custom-area'}}"
update-is-handled-by-parent="true"
is-title-bar="true">
</custom-field-area>
</div>
</div>
<!--Third Row-->
<div ng-if="!editMode" class="title-bar__information-section">
<div class="pull-left">
<div class="title-bar__lastupdated">{{'ticket.list.lastUpdated' | i18n : (ticket.modifiedDate | humanizedAbsoluteDateFormat)}}</div>
</div>
<div class="pull-right" ng-if="!isFullVersion">
<a class="ticket__name-link" aria-label="{{ fullDetailsText }}"
href="#/{{ticket.type}}/{{ticket.id}}">{{ fullDetailsText }}</a>
</div>
<div class="ticket-controls" ng-if="isFullVersion">
<div class="profile-action-bar__item" ng-if="!isDraft && ticket.accessMappings.assigneeSelfAssignmentAllowed">
<button type="button" class="btn_link" ng-disabled="!isAssignToMeEnabled()" ng-click="ticketActions.assignToMe($event)"
title="{{'common.labels.assignToMe' | i18n}}" aria-label="{{'common.labels.assignToMe' | i18n}}" tabindex="0">
<i class="icon-user_plus"></i>
</button>
</div>
<div class="profile-action-bar__item dropdown" ng-if="!isDraft">
<i class="icon-share dropdown-toggle" title="{{'controls.action.share' | i18n}}" aria-label="{{'controls.action.share' | i18n}}" tabindex="0"></i>
<ul class="profile-action-bar__item-menu dropdown-menu">
<li>
<div class="dropdown-item" ng-click="ticketActions.share()" tabindex="0" role="menuitem">
{{'action.ticket.email' | i18n: ('common.labels.' + ticket.type | i18n) }}
</div>
</li>
<li ng-if='chatModel.connected'>
<a class="dropdown-item profile-action-bar__item-menu_start-chat" tabindex="0" role="menuitem">
{{'chat.startFromTicket.headerMenu' | i18n: ('common.labels.' + ticket.type | i18n) }}
</a>
</li>
</ul>
</div>
<div class="profile-action-bar__item" ng-if="!isDraft" role="link" tabindex="0" ng-click="toggleFollowingFlag()" ng-enter="toggleFollowingFlag()"
title="{{(ticket.following? 'controls.action.unfollow' : 'controls.action.follow') | i18n}}"
aria-label="{{(ticket.following? 'controls.action.unfollow' : 'controls.action.follow') | i18n}}">
<i class="{{ticket.following? 'icon-star' : 'icon-star_o'}}"></i>
</div>
<div title="{{'controls.action.print' | i18n}}" class="profile-action-bar__item"
aria-label="{{'controls.action.print' | i18n}}" role="link" tabindex="0"
ng-click="ticketActions.showPrintDialog($event)" ng-enter="ticketActions.showPrintDialog($event)">
<i class="{{'icon-printer'}}"></i>
</div>
<div class="profile-action-bar__item" ng-if="!isDraft" role="link" tabindex="0" ng-click="refreshTicket()" ng-enter="refreshTicket()"
title="{{'common.labels.refresh' | i18n}}"
aria-label="{{'common.labels.refresh' | i18n}}">
<i class="icon-refresh"></i>
</div>
<div class="profile-action-bar__item" ng-if="ticket.type == 'change' && ticketActions.copyChangeAllowed()" role="link" tabindex="0" ng-click="copyChangeTicket()" ng-enter="copyChangeTicket()"
title="{{'copychange.form.title' | i18n}}"
aria-label="{{'copychange.form.title' | i18n}}">
<i class="icon-files_copy_o"></i>
</div>
<div ng-class="{'profile-action-bar__item': true, 'profile-action-bar__item_text' : !userModel.isAccessibleUser}"
ng-if="!isDraft && (ticket.status.value == 'Cancelled' || ticket.status.value == 'Closed') && !ticket.reopenedDate && ticket.accessMappings.reopenActionAllowed">
<button type="button" title="{{'action.incident.reopen.tooltip' | i18n}}" ng-click="ticketActions.confirmAction('reopen')" class="btn_link font-size-l">
{{'controls.action.reopen' | i18n}}
</button>
</div>
<div ng-class="{'profile-action-bar__item': true, 'profile-action-bar__item_text' : !userModel.isAccessibleUser}"
ng-if="ticket.type==='change' && (ticket.accessMappings.restartActionAllowed && ticket.status.value=='Rejected') ||
(ticket.accessMappings.restartActionAllowed && ticket.status.value=='Cancelled') ||
ticket.accessMappings.resumeActionAllowed">
<button type="button" ng-if="ticket.accessMappings.restartActionAllowed && ticket.status.value=='Rejected'"
title="{{'action.change.restart.tooltip.rejected' | i18n : (ticket.previousStatus.value | localizeLabel: 'status':'change')}}" ng-click="ticketActions.applyAction('restart')" class="font-size-l btn_link">
{{'controls.action.restart' | i18n}}
</button>
<button type="button" ng-if="ticket.accessMappings.restartActionAllowed && ticket.status.value=='Cancelled'"
title="{{'action.change.restart.tooltip.cancelled' | i18n}}" ng-click="ticketActions.applyAction('restart')" class="font-size-l btn_link">
{{'controls.action.restart' | i18n}}
</button>
<button type="button" ng-if="ticket.accessMappings.resumeActionAllowed"
title="{{'action.change.resume.tooltip' | i18n : (ticket.previousStatus.value | localizeLabel: 'status':'change')}}" ng-click="ticketActions.applyAction('resume')" class="font-size-l btn_link">
{{'controls.action.resume' | i18n}}
</button>
</div>
<launch-actions-dropdown ng-if="!isDraft" ng-hide="hideMoreActionsButton" hide-dropdown="hideMoreActionsButton" class="profile-action-bar__item profile-action-bar__item_text" context="ticket" drop-down-options="moreDropDownOptions"></launch-actions-dropdown>
</div>
</div>
</div>
</div>