SmartIT_Extensions/BMC/smart-it-full/views/common/edit-summary-directive.html

109 lines
6.0 KiB
HTML

<div class="editable-summary">
<label class="label_control-wrap">
<span class="label__text"
ng-if="editMode || $parent.isNew"
potentially-required-field
field-name="desc"
itsm-required="{{data.itsmRequired}}"
entity="ticket"
ng-class="{'required__label': (data && data.isRequired) || (summaryField && summaryField.isRequired)}"
data-required="{{'common.label.required.bracketed' | i18n}}">
{{label || ('common.label.desc' | i18n)}}
</span>
<span class="label__text" ng-if="!editMode && !$parent.isNew && !data.hideLabel">
{{label || ('common.label.desc' | i18n)}}
</span>
<div class="ticket-summary__content"
ng-class="{
'no-border': !$parent.isNew && ((context === 'draft' || context === 'detail') && !editMode),
'dropable-area': !!dropable,
'ng-invalid-required': (!descCopy && (data && data.isRequired) || (summaryField && summaryField.isRequired))
}">
<div class="ticket-summary__content_scroll-area-holder" >
<textarea type="text"
potentially-required-field
field-name="desc"
itsm-required="{{data.itsmRequired}}"
entity="ticket"
class="content"
ng-class="{content_less: summaryCollapsed()}"
name="desc"
ng-model="descCopy"
id="edit-summary-content-text"
placeholder="{{textplaceholder}}"
aria-label="{{label || ('common.label.desc' | i18n)}} {{textplaceholder}} {{descCopy}} "
ng-hide="!$parent.isNew && ((context !== 'create' && !editMode) || isLocked)"
ng-required="(data && data.isRequired) || (summaryField && summaryField.isRequired) || isDescRequired"
ng-change="onTicketDescriptionChange()"
ng-focus="textAreaIsFocused = true"
ng-blur="textAreaIsFocused = false"
ng-keydown="$event.stopPropagation()"
ng-keyup="$event.stopPropagation()"
ng-disabled="!isEditable || (data && data.isReadOnly) || (summaryField && summaryField.isReadOnly)">
</textarea>
<div class="content ticket__field-multi-line-value field-hide--print"
ng-bind-html="descCopy | securelinky:'_blank'"
ng-class="{content_less: viewSummaryCollapsed()}"
ng-disabled="editMode && (!isEditable || (data && data.isReadOnly) || (summaryField && summaryField.isReadOnly))"
ng-hide="$parent.isNew || ((context === 'create' || editMode) && !isLocked)">
</div>
<div class="content ticket__field-multi-line-value--print"
ng-bind-html="descCopy">
</div>
</div>
<!--Dropable attachments layout -->
<div class="drop-zone" ng-if="dropable" file-drop-target max-files="{{attachmentLimit}}"
ng-class="{'with-attachment': ((attachments && attachments.length > 0) || textAreaIsFocused || state.descriptionChanged)}">
<div class="drop-zone__highlight">
<div ng-class="{'drop-zone__tip-inline': attachments && attachments.length >= 1,'drop-zone__tip': !attachments || attachments.length == 0}">
<div class="icon-drag_and_drop"></div>
<div>{{'common.labels.dropZone' | i18n}}</div>
<div>
<label class="ticket-summary__alternative-attach-tool" ng-if="showAttachment"
ng-class="{'disabled': attachments.length>=attachmentLimit}" aria-label="{{'common.labels.selectAttach' | i18n}}" tabindex="0">
<span ng-if="!(attachments && attachments.length > 0)">{{'common.labels.or' | i18n}}</span>
<input type="file" name="file" tabindex="0" ie-activate-by-enter onchange="angular.element(this).scope().handleFileChange(this)"
ng-disabled="(data && data.isReadOnly) || !isEditable || attachments.length>=attachmentLimit"
class="attach-tool__file-input" />
<span ng-if="(attachments && attachments.length > 0)">{{'common.labels.or' | i18n}}</span>
{{'common.labels.selectAttach' | i18n}}
</label>
</div>
</div>
<div class="attached-files" ng-class="{'file__drop-target' : dropable} " ng-if="attachments && attachments.length > 0">
<div ng-include="'views/common/feed-attachments.html'"></div>
</div>
</div>
</div>
<!-- Dropable attachments end-->
<div class="attached-files" ng-class="{'file__drop-target' : dropable} " ng-if="attachments && attachments.length > 0 && !dropable">
<div ng-include="'views/common/feed-attachments.html'"></div>
</div>
<div ng-if="!$parent.isNew && ((context === 'draft' || context === 'detail') && !editMode)">
<div class="ticket-summary__more-attachment" ng-if="showMoreVisible() && attachmentsCountOverLimit()">
+ {{attachmentsCountOverLimit()}} {{'list.more'|i18n}}
</div>
<div class="ticket-summary__show-more-less">
<button type="button" class="btn_link" ng-if="showMoreVisible()" ng-click="toggleSummary(); $event.preventDefault()">{{'resourceSlice.showMoreItemsLink.label' | i18n}}</button>
<button type="button" class="btn_link" ng-if="showLessVisible()" ng-click="toggleSummary()">{{'resourceSlice.showLessItemsLink.label' | i18n}}</button>
</div>
</div>
</div>
</label>
<character-limit-message ng-if="descLimit" field="$parent.descCopy" limit="{{descLimit}}"></character-limit-message>
<div ng-if="($parent.isNew || editMode || showAttachmentIcon) && !dropable">
<label class="ticket-summary__attach-tool" ng-if="showAttachment">
<input type="file" name="file" onchange="angular.element(this).scope().handleFileChange(this)" class="attach-tool__file-input"
ng-disabled="(data && data.isReadOnly) || !isEditable || attachments.length>=attachmentLimit" ie-activate-by-enter/>
<i title="{{'common.labels.attach' | i18n}}" class="icon-paperclip ticket-summary__icon"
ng-class="{'disabled': (data && data.isReadOnly) || !isEditable || attachments.length>=attachmentLimit}"></i>
</label>
<div class="timeline-note__message" ng-if="attachmentLimit && attachments.length >= attachmentLimit">
<div>{{'timeline.note.max.attachments'| i18n:(attachmentLimit || '')}}</div>
</div>
</div>
</div>