111 lines
8.9 KiB
HTML
111 lines
8.9 KiB
HTML
<div class="custom-area" ng-class="{'row': ticket.ticketType !== 'asset'}">
|
|
<div loading-spinner ng-if="state.isDataLoading" centered="true" overlay="true"></div>
|
|
|
|
<div class="custom-area__title col-md-12" ng-if="(isDynamicArea || isAdditionalInfoPanel) && !editMode && !state.isDataLoading">
|
|
<span class="label__text">
|
|
{{(isAdditionalInfoPanel ? 'customArea.header.additionalInfo' : 'customArea.header.dynamicFields') | i18n }}
|
|
</span>
|
|
</div>
|
|
|
|
<div class="col-md-12 custom-area__message" ng-if="(isAdditionalInfoPanel || isDynamicArea) && !hasVisibleFields() && !state.isDataLoading">
|
|
{{ 'customArea.message.emptySection' | i18n }}
|
|
</div>
|
|
|
|
<div ng-if="!state.isDataLoading" data-field-id="{{field.name}}"
|
|
ng-repeat="field in visibleFields"
|
|
class="custom-field {{isDynamicArea || field.isDynamicSelectionField() ? ((ticket.ticketType === 'incident' || ticket.ticketType === 'change' || ticket.ticketType === 'workorder' || ticket.ticketType === 'task') ? 'col-md-6 full-width' : 'col-md-6') : (!stacked ? ticket.ticketType === 'asset' ? 'col-md-3':'col-md-4' : 'col-md-12')}}"
|
|
ng-class="{'group-custom-field': field.isGroupField(), 'hide-top-bottom-margin': (!editMode && ((!field.isGroupField() && !field.ootb && !field.value && field.value !== 0) || (field.isGroupField() && !field.hasValuesInMembers())))}" ng-hide="field.isHidden || !field.accessible">
|
|
<div ng-class="{'custom-field-inline': fieldActionMapping[field.name].action}" ng-hide="$index > ((isCollapsed && stacked) ? fieldsCountToShow - 1 : getVisibleFields().length)">
|
|
|
|
<affected-asset ng-if="field.isAffectedAsset()" data="field" is-editable="isEditable(field)" ticket-type = "ticket.ticketType" ticket = "ticket"></affected-asset>
|
|
|
|
<person-name ng-if="field.isPersonName()" data="field" context="ticket" is-new="isNew" is-editable="isEditable(field)"></person-name>
|
|
|
|
<person-site ng-if="field.isPersonSite()" data="field" is-editable="isEditable(field)"></person-site>
|
|
|
|
<edit-summary ng-if="field.isDescription()" ticket="ticket" context="isDraft ? 'draft' : 'detail'" attachment="true"
|
|
class="editable-content-section-block" update-is-handled-by-parent="true" data="field" is-new="isNew"
|
|
edit-mode="editMode" is-editable="isEditable(field)">
|
|
</edit-summary>
|
|
|
|
<category-company ng-if="field.isCategoryCompany()" data="field" context="ticket" allow-location-company-edit="true" is-editable="isEditable(field)"></category-company>
|
|
|
|
<category-item ng-if="field.isCategoryField()" data="field" context="ticket" is-editable="isEditable(field)"></category-item>
|
|
|
|
<priority ng-if="field.isPriority()" data="field" ticket="ticket" is-editable="isEditable(field)"></priority>
|
|
|
|
<status-bar ng-if="field.isStatus()" data="field" ticket="ticket" metadata="metadata" is-editable="isEditable(field)"></status-bar>
|
|
|
|
<phone-field ng-if="field.isPhoneField()" data="field" is-editable="isEditable(field)"></phone-field>
|
|
|
|
<email-field ng-if="field.isEmailField()" data="field" ticket="ticket" is-editable="isEditable(field)"></email-field>
|
|
|
|
<ticket-type ng-if="field.isTicketType()" data="field" context="ticket" metadata="metadata" is-new="isNew" is-editable="isEditable(field)"></ticket-type>
|
|
|
|
<change-class ng-if="field.isChangeClassWidget()" data="field" metadata="metadata" is-editable="isEditable(field)" is-new="isNew"></change-class>
|
|
|
|
<ticket-risk ng-if="field.isTicketRisk()" data="field" context="ticket" metadata="metadata" is-new="isNew" is-editable="isEditable(field)"></ticket-risk>
|
|
|
|
<poi-location ng-if="field.isPOILocation()" data="field" ticket="ticket" is-new="isNew" is-editable="isEditable(field)"></poi-location>
|
|
|
|
<organization-field ng-if="field.isOrganizationField()" data="field" is-editable="isEditable(field)"></organization-field>
|
|
|
|
<person-location-map ng-if="field.isPersonLocationMap()" data="field"></person-location-map>
|
|
|
|
<support-group-field ng-if="field.isSupportGroupField()" data="field" is-editable="isEditable(field)"></support-group-field>
|
|
|
|
<ticket-template ng-if="field.isTicketTemplate() && ticket.parentName != 'problem' && ticket.parentName != 'knownerror'" data="field" context="ticket" metadata="metadata" is-editable="isEditable(field)"></ticket-template>
|
|
|
|
<date-widget ng-if="field.isTicketDate()" data="field" is-editable="isEditable(field)" context="ticket" is-dates-panel="isDatesPanel" edit-mode = "editMode"></date-widget>
|
|
|
|
<location-custom-field ng-if="field.isChangeLocation()" data="field" context="ticket" is-editable="isEditable(field)"></location-custom-field>
|
|
|
|
<impacted-areas-widget ng-if="field.isImpactedAreas() && !ticket.fromCopyChange" is-new="isNew" data="field" ticket="ticket"></impacted-areas-widget>
|
|
|
|
<task-phase ng-if="field.isTaskPhaseWidget() && ticket.showPhaseSelector" data="field" metadata="metadata" is-editable="isEditable(field)" is-new="isNew" ticket="ticket"></task-phase>
|
|
|
|
<character-custom-field ng-if="field.isTextField() && showField(field)" data="field" is-editable="isEditable(field)" char-limit="field.maxLength ? field.maxLength : field.charLimit" is-hide-label="hideLabelInTitleBar"></character-custom-field>{{showTaskPhaseTextField}}
|
|
|
|
<checkbox-custom-field ng-if="field.isCheckboxField()" data="field" is-editable="isEditable(field)" is-hide-label="hideLabelInTitleBar"></checkbox-custom-field>
|
|
|
|
<date-custom-field ng-if="field.hasDateDataType()" data="field" is-editable="isEditable(field)" is-hide-label="hideLabelInTitleBar"></date-custom-field>
|
|
|
|
<date-time-custom-field ng-if="field.hasDateTimeDataType()" data="field" is-editable="isEditable(field)" is-hide-label="hideLabelInTitleBar"></date-time-custom-field>
|
|
|
|
<number-custom-field ng-if="field.isNumberField()" data="field" is-editable="isEditable(field)" is-hide-label="hideLabelInTitleBar"></number-custom-field>
|
|
|
|
<textarea-custom-field ng-if="field.isTextareaField()" data="field" is-editable="isEditable(field)" char-limit="field.maxLength ? field.maxLength : field.charLimit" is-hide-label="hideLabelInTitleBar"></textarea-custom-field>
|
|
|
|
<time-custom-field ng-if="field.hasTimeDataType()" data="field" is-editable="isEditable(field)" is-hide-label="hideLabelInTitleBar"></time-custom-field>
|
|
|
|
<menu-custom-field ng-if="field.isMenuField()" data="field" context="ticket" is-editable="isEditable(field)" get-field-value="getDependantCustomFieldValue" is-new="isNew" is-hide-label="hideLabelInTitleBar"></menu-custom-field>
|
|
|
|
<group-custom-field ng-if="field.isGroupField()" data="field" context="ticket" get-field-value="getDependantCustomFieldValue" is-new="isNew" is-hide-label="hideLabelInTitleBar"></group-custom-field>
|
|
|
|
<static-selection-custom-field ng-if="field.isDropdownField() || field.isRadioField()" data="field" context="ticket" is-editable="isEditable(field)" is-hide-label="hideLabelInTitleBar"></static-selection-custom-field>
|
|
|
|
</div>
|
|
|
|
<div ng-if="!isNew && (!editMode && field.value || editMode) && (!isTitleBar || editMode) && (fieldActionMapping[field.name] && !field.isHidden) && (fieldActionMapping[field.name].action.mode == 'both')"
|
|
class="custom-field-inline">
|
|
<field-actions-dropdown context="ticket" action="fieldActionMapping[field.name].action" icon="fieldActionMapping[field.name].iconName" class="field-actions-dropdown"></field-actions-dropdown>
|
|
</div>
|
|
|
|
<div ng-if="!isNew && !isTitleBar && (fieldActionMapping[field.name] && !field.isHidden) && (fieldActionMapping[field.name].action.mode == 'view' && !editMode && field.value)"
|
|
class="custom-field-inline">
|
|
<field-actions-dropdown context="ticket" action="fieldActionMapping[field.name].action" icon="fieldActionMapping[field.name].iconName" class="field-actions-dropdown"></field-actions-dropdown>
|
|
</div>
|
|
|
|
<div ng-if="!isNew && (fieldActionMapping[field.name]) && (fieldActionMapping[field.name].action.mode == 'edit' && editMode)"
|
|
class="custom-field-inline">
|
|
<field-actions-dropdown context="ticket" action="fieldActionMapping[field.name].action" icon="fieldActionMapping[field.name].iconName" class="field-actions-dropdown"></field-actions-dropdown>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="custom-area__toggle-link col-md-12" ng-click="isCollapsed = !isCollapsed" ng-enter="isCollapsed = !isCollapsed"
|
|
ng-show="getVisibleFields().length > fieldsCountToShow && stacked && !state.isDataLoading" tabindex="0">
|
|
<span>{{ isCollapsed ? ('customArea.showMore' | i18n) : ('customArea.showLess' | i18n) }} </span>
|
|
<span ng-class="isCollapsed ? 'icon-triangle_down' : 'icon-triangle_up'"></span>
|
|
</div>
|
|
</div> |