SmartIT_Extensions/BMC/smart-it-full-helix/views/change/dates.html

608 lines
48 KiB
HTML

<div class="create-change-wizard__active-content">
<form class="create-change-wizard__dates-form" name="{{tabIds.wizard.dates}}">
<table class="create-change-wizard__dates-content">
<tr>
<td class="dates-column">
<div class="create-change-wizard__dates_container">
<div class="row create-change-wizard__dates_header">
<div class="col-xs-1">
<i class="create-change-wizard__scheduled_header_marker"></i>
</div>
<div class="col-xs-11 ticket__name" ng-class="{'required' : isFieldRequired('scheduledStartDate') || isFieldRequired('scheduledEndDate')}"
potentially-required-field
field-name="scheduledStartDate"
entity="draftTicket"
potentially-required-field
field-name="scheduledEndDate"
entity="draftTicket">
{{'create.change.wizard.dates.scheduled' | i18n}}
</div>
</div>
<div class="row ticket-date__form_invalid" ng-if="dates.scheduledStartDate.$invalid || dates.scheduledEndDate.$invalid">
<div class="col-xs-1">
</div>
<div class="col-xs-11">
<i class="icon-exclamation_triangle"
ng-if="(dates.scheduledStartDate.$invalid && dates.scheduledStartDate.$dirty) || (dates.scheduledEndDate.$invalid && dates.scheduledEndDate.$dirty)"></i>
<span ng-if="dates.scheduledStartDate.$invalid && dates.scheduledStartDate.$dirty">{{'create.ticket.invalid.scheduled-start-date'|i18n}}</span>
<span ng-if="dates.scheduledEndDate.$invalid && dates.scheduledEndDate.$dirty">{{'create.ticket.invalid.scheduled-end-date'|i18n}}</span>
</div>
</div>
<div class="row">
<div class="col-xs-1">
</div>
<div class="col-xs-5">
<div class="create-change-wizard__date">
<label>
<input type="text"
required
title="{{'common.label.date' | i18n}}"
class="form-control"
name="scheduledStartDate"
datepicker-popup="mediumDate"
ng-model="context.scheduledStartDate"
placeholder="{{'create.change.wizard.dates.startDate' | i18n}}"
is-open="context.scheduledStartDatePicker.open"
show-button-bar="false"
ng-click="openDatePicker(context.scheduledStartDatePicker, $event)"
ng-enter="openDatePicker(context.scheduledStartDatePicker)"
datepicker-options="datePickerOptions"
aria-label="{{'create.ticket.scheduled.start.date' | i18n}}"
ng-disabled="validator.scheduledStartDateDisabled(context, editMode) || !isFieldEditable('scheduledStartDate')"
ng-change="updateDateTime('scheduled')"
ng-if="isFieldRequired('scheduledStartDate')" auto-focus />
<input type="text"
potentially-required-field
field-name="scheduledStartDate"
entity="context"
title="{{'common.label.date' | i18n}}"
class="form-control"
name="scheduledStartDate"
datepicker-popup="mediumDate"
ng-model="context.scheduledStartDate"
placeholder="{{'create.change.wizard.dates.startDate' | i18n}}"
is-open="context.scheduledStartDatePicker.open"
show-button-bar="false"
ng-click="openDatePicker(context.scheduledStartDatePicker, $event)"
ng-enter="openDatePicker(context.scheduledStartDatePicker)"
datepicker-options="datePickerOptions"
aria-label="{{'create.ticket.scheduled.start.date' | i18n}}"
ng-disabled="validator.scheduledStartDateDisabled(context, editMode) || !isFieldEditable('scheduledStartDate')"
ng-change="updateDateTime('scheduled')"
ng-if="!isFieldRequired('scheduledStartDate')" auto-focus />
<i class="icon-calendar create-change-wizard__date-icon"></i>
</label>
</div>
</div>
<div class="col-xs-5">
<div class="create-change-wizard__date">
<label>
<input type="text"
required
title="{{'common.label.date' | i18n}}"
class="form-control"
name="scheduledEndDate"
datepicker-popup="mediumDate"
ng-model="context.scheduledEndDate"
min-date="context.scheduledStartDate"
init-date="context.scheduledStartDate"
placeholder="{{'create.change.wizard.dates.endDate' | i18n}}"
is-open="context.scheduledEndDatePicker.open"
show-button-bar="false"
ng-click="openDatePicker(context.scheduledEndDatePicker, $event)"
ng-enter="openDatePicker(context.scheduledEndDatePicker)"
datepicker-options="datePickerOptions"
aria-label="{{'create.ticket.scheduled.end.date' | i18n}}"
ng-disabled="validator.scheduledEndDateDisabled(context, editMode) || !isFieldEditable('scheduledEndDate')"
ng-change="updateDateTime('scheduled')"
ng-if="isFieldRequired('scheduledEndDate')"/>
<input type="text"
potentially-required-field
field-name="scheduledEndDate"
entity="context"
title="{{'common.label.date' | i18n}}"
class="form-control"
name="scheduledEndDate"
datepicker-popup="mediumDate"
ng-model="context.scheduledEndDate"
min-date="context.scheduledStartDate"
init-date="context.scheduledStartDate"
placeholder="{{'create.change.wizard.dates.endDate' | i18n}}"
is-open="context.scheduledEndDatePicker.open"
show-button-bar="false"
ng-click="openDatePicker(context.scheduledEndDatePicker, $event)"
ng-enter="openDatePicker(context.scheduledEndDatePicker)"
datepicker-options="datePickerOptions"
aria-label="{{'create.ticket.scheduled.end.date' | i18n}}"
ng-disabled="validator.scheduledEndDateDisabled(context, editMode) || !isFieldEditable('scheduledEndDate')"
ng-change="updateDateTime('scheduled')"
ng-if="!isFieldRequired('scheduledEndDate')"/>
<i class="icon-calendar create-change-wizard__date-icon"></i>
</label>
</div>
</div>
</div>
<div class="row">
<div class="col-xs-1">
</div>
<div class="col-xs-5">
<div class="create-change-wizard__time">
<label>
<div class="dropdown timepicker">
<div class="dropdown-toggle">
<input class="form-control custom-field__time-input create-change-wizard__time_disabled"
type="text" value="{{ context.scheduledStartDate | date: 'shortTime' }}"
ng-disabled="validator.scheduledStartTimeDisabled(context, editMode) || !isFieldEditable('scheduledStartDate')"
title="{{'common.label.time' | i18n}}" aria-label="scheduled start time"
placeholder="{{'create.change.wizard.dates.selectTime' | i18n}}" readonly="readonly"/>
<i class="icon-clock_o create-change-wizard__time-icon"></i>
</div>
<div class="dropdown-menu" prevent-click-event ng-if="context.scheduledStartDate"
ng-hide="validator.scheduledStartTimeDisabled(context, editMode)">
<timepicker ng-model="context.scheduledStartDate"
ng-change="updateDateTime('scheduled')"
show-meridian="showMeridian"
default-hours="12"
default-minutes="0">
</timepicker>
</div>
</div>
</label>
</div>
</div>
<div class="col-xs-5">
<div class="create-change-wizard__time">
<label>
<div class="dropdown timepicker">
<div class="dropdown-toggle">
<input class="form-control custom-field__time-input create-change-wizard__time_disabled"
type="text" value="{{ context.scheduledEndDate | date: 'shortTime' }}"
ng-disabled="validator.scheduledEndTimeDisabled(context, editMode) || !isFieldEditable('scheduledEndDate')"
title="{{'common.label.time' | i18n}}" aria-label="scheduled end time"
placeholder="{{'create.change.wizard.dates.selectTime' | i18n}}" readonly="readonly"/>
<i class="icon-clock_o create-change-wizard__time-icon"></i>
</div>
<div class="dropdown-menu" prevent-click-event ng-if="context.scheduledEndDate"
ng-hide="validator.scheduledEndTimeDisabled(context, editMode)">
<timepicker ng-model="context.scheduledEndDate"
ng-change="updateDateTime('scheduled')"
show-meridian="showMeridian"
default-hours="12"
default-minutes="0">
</timepicker>
</div>
</div>
</label>
</div>
</div>
</div>
<div class="row create-change-wizard__dates_header">
<div class="col-xs-1">
<i class="create-change-wizard__actual_header_marker"></i>
</div>
<div class="col-xs-11 ticket__name" ng-class="{'required' : isFieldRequired('actualStartDate') || isFieldRequired('actualEndDate')}"
potentially-required-field
field-name="actualStartDate"
entity="draftTicket"
potentially-required-field
field-name="actualEndDate"
entity="draftTicket">
{{'create.change.wizard.dates.actual' | i18n}}
</div>
</div>
<div class="row ticket-date__form_invalid" ng-if="dates.actualStartDate.$invalid || dates.actualEndDate.$invalid">
<div class="col-xs-1">
</div>
<div class="col-xs-11">
<i class="icon-exclamation_triangle"
ng-if="(dates.actualStartDate.$invalid && dates.actualStartDate.$dirty) || (dates.actualEndDate.$invalid && dates.actualEndDate.$dirty)"></i>
<span ng-if="dates.actualStartDate.$invalid && dates.actualStartDate.$dirty">{{'create.ticket.invalid.actual-start-date'|i18n}}</span>
<span ng-if="dates.actualEndDate.$invalid && dates.actualEndDate.$dirty">{{'create.ticket.invalid.actual-end-date'|i18n}}</span>
</div>
</div>
<div class="row">
<div class="col-xs-1">
</div>
<div class="col-xs-5">
<div class="create-change-wizard__date">
<label>
<input type="text"
required
title="{{'common.label.date' | i18n}}"
class="form-control"
name="actualStartDate"
datepicker-popup="mediumDate"
ng-model="context.actualStartDate"
placeholder="{{'create.change.wizard.dates.startDate' | i18n}}"
is-open="context.actualStartDatePicker.open"
show-button-bar="false"
ng-click="openDatePicker(context.actualStartDatePicker, $event)"
ng-enter="openDatePicker(context.actualStartDatePicker)"
datepicker-options="datePickerOptions"
aria-label="{{'create.ticket.actual.start.date' | i18n}}"
ng-disabled="validator.actualStartDateDisabled(context, editMode) || !isFieldEditable('actualStartDate')"
ng-change="updateDateTime('actual')"
ng-if="isFieldRequired('actualStartDate')"/>
<input type="text"
potentially-required-field
field-name="actualStartDate"
entity="context"
title="{{'common.label.date' | i18n}}"
class="form-control"
name="actualStartDate"
datepicker-popup="mediumDate"
ng-model="context.actualStartDate"
placeholder="{{'create.change.wizard.dates.startDate' | i18n}}"
is-open="context.actualStartDatePicker.open"
show-button-bar="false"
ng-click="openDatePicker(context.actualStartDatePicker, $event)"
ng-enter="openDatePicker(context.actualStartDatePicker)"
datepicker-options="datePickerOptions"
aria-label="{{'create.ticket.actual.start.date' | i18n}}"
ng-disabled="validator.actualStartDateDisabled(context, editMode) || !isFieldEditable('actualStartDate')"
ng-change="updateDateTime('actual')"
ng-if="!isFieldRequired('actualStartDate')"/>
<i class="icon-calendar create-change-wizard__date-icon"></i>
</label>
</div>
</div>
<div class="col-xs-5">
<div class="create-change-wizard__date">
<label>
<input type="text"
required
title="{{'common.label.date' | i18n}}"
class="form-control"
name="actualEndDate"
datepicker-popup="mediumDate"
ng-model="context.actualEndDate"
min-date="context.actualStartDate"
init-date="context.actualStartDate"
placeholder="{{'create.change.wizard.dates.endDate' | i18n}}"
is-open="context.actualEndDatePicker.open"
show-button-bar="false"
ng-click="openDatePicker(context.actualEndDatePicker, $event)"
ng-enter="openDatePicker(context.actualEndDatePicker)"
datepicker-options="datePickerOptions"
aria-label="{{'create.ticket.actual.end.date' | i18n}}"
ng-disabled="validator.actualEndDateDisabled(context, editMode) || !isFieldEditable('actualEndDate')"
ng-change="updateDateTime('actual')"
ng-if="isFieldRequired('actualEndDate')"/>
<input type="text"
potentially-required-field
field-name="actualEndDate"
entity="context"
title="{{'common.label.date' | i18n}}"
class="form-control"
name="actualEndDate"
datepicker-popup="mediumDate"
ng-model="context.actualEndDate"
min-date="context.actualStartDate"
init-date="context.actualStartDate"
placeholder="{{'create.change.wizard.dates.endDate' | i18n}}"
is-open="context.actualEndDatePicker.open"
show-button-bar="false"
ng-click="openDatePicker(context.actualEndDatePicker, $event)"
ng-enter="openDatePicker(context.actualEndDatePicker)"
datepicker-options="datePickerOptions"
aria-label="{{'create.ticket.actual.end.date' | i18n}}"
ng-disabled="validator.actualEndDateDisabled(context, editMode) || !isFieldEditable('actualEndDate')"
ng-change="updateDateTime('actual')"
ng-if="!isFieldRequired('actualEndDate')"/>
<i class="icon-calendar create-change-wizard__date-icon"></i>
</label>
</div>
</div>
</div>
<div class="row">
<div class="col-xs-1">
</div>
<div class="col-xs-5">
<div class="create-change-wizard__time">
<label>
<div class="dropdown timepicker">
<div class="dropdown-toggle">
<input class="form-control custom-field__time-input create-change-wizard__time_disabled"
type="text" value="{{ context.actualStartDate | date: 'shortTime' }}"
placeholder="{{'create.change.wizard.dates.selectTime' | i18n}}"
ng-disabled="validator.actualStartTimeDisabled(context, editMode) || !isFieldEditable('actualStartDate')"
title="{{'common.label.time' | i18n}}" aria-label="actual start time" readonly="readonly"/>
<i class="icon-clock_o create-change-wizard__time-icon"></i>
</div>
<div class="dropdown-menu" prevent-click-event ng-if="context.actualStartDate"
ng-hide="validator.actualStartTimeDisabled(context, editMode)">
<timepicker ng-model="context.actualStartDate"
ng-change="updateDateTime('actual')"
show-meridian="showMeridian"
default-hours="12"
default-minutes="0">
</timepicker>
</div>
</div>
</label>
</div>
</div>
<div class="col-xs-5">
<div class="create-change-wizard__time">
<label>
<div class="dropdown timepicker">
<div class="dropdown-toggle">
<input class="form-control custom-field__time-input create-change-wizard__time_disabled"
type="text" value="{{ context.actualEndDate | date: 'shortTime' }}"
placeholder="{{'create.change.wizard.dates.selectTime' | i18n}}"
ng-disabled="validator.actualEndTimeDisabled(context, editMode) || !isFieldEditable('actualEndDate')"
title="{{'common.label.time' | i18n}}" aria-label="actual end time" readonly="readonly"/>
<i class="icon-clock_o create-change-wizard__time-icon"></i>
</div>
<div class="dropdown-menu" prevent-click-event ng-if="context.actualEndDate"
ng-hide="validator.actualEndTimeDisabled(context, editMode)">
<timepicker ng-model="context.actualEndDate"
ng-change="updateDateTime('actual')"
show-meridian="showMeridian"
default-hours="12"
default-minutes="0">
</timepicker>
</div>
</div>
</label>
</div>
</div>
</div>
<div class="row create-change-wizard__dates_header" ng-if="!useTargetDateCheckboxVisible()">
<div class="col-xs-1">
<i class="create-change-wizard__target_header_marker"></i>
</div>
<div class="col-xs-11 ticket__name">
{{'create.change.wizard.dates.target.header' | i18n}}
</div>
</div>
<div class="row create-change-wizard__target_header_content" ng-if="useTargetDateCheckboxVisible()">
<div ng-class="{'dropdown-item_selected': context.useTargetDate, 'dropdown-item': !context.useTargetDate}"
ng-click="useTargetDateDisabled() || toggleUseTargetDate()"
ng-enter="useTargetDateDisabled() || toggleUseTargetDate()"
ng-disabled="useTargetDateDisabled() || !isFieldEditable('targetDate')"
aria-checked="{{!!context.useTargetDate}}"
title="{{'create.change.wizard.dates.target' | i18n}}"
tabindex="0"
role="menuitemcheckbox">
{{'create.change.wizard.dates.target' | i18n}}
</div>
</div>
<div class="row ticket-date__form_invalid" ng-if="targetDateErrorMessageVisible()">
<div class="col-xs-1">
</div>
<div class="col-xs-11">
<i class="icon-exclamation_triangle"></i>
<span ng-if="dates.targetDate.$invalid">{{'create.ticket.invalid.target-date'|i18n}}</span>
</div>
</div>
<div class="row" ng-show="targetDateFieldVisible()">
<div class="col-xs-1">
<i class="create-change-wizard__target_header_marker" ng-if="useTargetDateCheckboxVisible()"></i>
</div>
<div class="col-xs-5">
<div class="create-change-wizard__date">
<label>
<input type="text"
title="{{'common.label.date' | i18n}}"
class="form-control"
name="targetDate"
datepicker-popup="mediumDate"
ng-model="context.targetDate"
min-date="currentDate"
init-date="currentDate"
placeholder="{{'create.change.wizard.dates.selectDate' | i18n}}"
is-open="context.targetDatePicker.open"
show-button-bar="false"
ng-click="openDatePicker(context.targetDatePicker, $event)"
ng-enter="openDatePicker(context.targetDatePicker)"
datepicker-options="datePickerOptions"
aria-label="{{'create.ticket.target.date' | i18n}}"
ng-disabled="validator.targetDateDisabled(context, editMode) || !isFieldEditable('targetDate')"
ng-change="updateTargetDateTime()"/>
<i class="icon-calendar create-change-wizard__date-icon"></i>
</label>
</div>
</div>
<div class="col-xs-5">
<div class="create-change-wizard__time">
<label>
<div class="dropdown timepicker">
<div class="dropdown-toggle">
<input class="form-control custom-field__time-input create-change-wizard__time_disabled"
type="text" value="{{ context.targetDate | date: 'shortTime' }}"
placeholder="{{'create.change.wizard.dates.selectTime' | i18n}}"
ng-disabled="validator.targetTimeDisabled(context, editMode) || !isFieldEditable('targetDate')"
title="{{'common.label.time' | i18n}}" aria-label="target time" readonly="readonly"/>
<i class="icon-clock_o create-change-wizard__time-icon"></i>
</div>
<div class="dropdown-menu" prevent-click-event ng-if="context.targetDate"
ng-hide="validator.targetTimeDisabled(context, editMode)">
<timepicker ng-model="context.targetDate"
ng-change="updateTargetDateTime()"
show-meridian="showMeridian"
default-hours="12"
default-minutes="0">
</timepicker>
</div>
</div>
</label>
</div>
</div>
</div>
<div class="change__edit-update-collisions" ng-show="!editMode && collisionStates.shouldRefreshCollisions">
<span>{{'create.change.wizard.dates.update.collisions' | i18n}}</span>
<button ng-click="editDatesView()" ng-enter="editDatesView()" class="btn_secondary" tabindex="0">
{{'collision.update.schedule' | i18n }}
</button>
</div>
<div class="change__edit-update-collisions" ng-show="editMode && collisionStates.saveDatesAndUpdate">
<button ng-click="saveDates()" ng-enter="saveDates()" class="btn_secondary">
{{'edit.dates.save.schedule' | i18n}}
</button>
</div>
<div class="row create-ticket__section-separator"></div>
<div loading-spinner if="state.loadingCollisions" centered="true" overlay="true"></div>
<div ng-if="collisionsCopy.changeList.length > 0">
<div class="row create-change-wizard__target_header">
<label class="label_control-wrap">
<div class="col-xs-1">
<div class="create-change-wizard__dates_collisions">{{collisionsCopy.changeList.length}}</div>
</div>
<div class="col-xs-11" ng-show="!editMode">
<h6>{{collisionsCopy.totalUnaddressedCount === 1 ? 'create.change.wizard.dates.collisions.singular' : 'create.change.wizard.dates.collisions.plural' | i18n:(collisionsCopy.totalUnaddressedCount)}}</h6>
</div>
<div class="col-xs-11" ng-show="editMode">
<h6>{{collisionsCopy.totalUnaddressedCount === 1 ? 'edit.dates.collisions.singular' : 'edit.dates.collisions.plural' | i18n:(collisionsCopy.totalUnaddressedCount)}}</h6>
</div>
</label>
</div>
<div class="row" ng-show="!collisionStates.editCollisionStatus || (collisionStates.editCollisionStatus && disableCollisionManagement)">
<div class="create-change-wizard__dates-change-header col-sm-12">
<label>
<div class="col-sm-11 create-change-wizard__dates-change-icon">
{{'create.change.wizard.dates.changeRequestId' | i18n}}
</div>
<div class="col-sm-1 create-change-wizard__dates-change-icon"><i class="{{asc ? 'icon-triangle_down' : 'icon-triangle_up'}}" ng-click="asc = !asc" ng-enter="asc = !asc" tabindex="0"></i></div>
</label>
</div>
</div>
<div class="row" ng-show="collisionStates.editCollisionStatus && !disableCollisionManagement">
<div class="create-change-wizard__dates-change-header col-sm-7">
<label>
<div class="col-xs-10">
<div class="{{changeFlag ? 'dropdown-item_selected' : 'dropdown-item'}}" role="menuitemcheckbox" aria-checked="" ng-click="selectAllChanges(changeFlag)" ng-enter="selectAllChanges(changeFlag)" tabindex="0">
{{'create.change.wizard.dates.changeRequestId' | i18n}}
</div>
</div>
<div class="col-xs-2 create-change-wizard__dates-change-icon"><i class="{{asc ? 'icon-triangle_down' : 'icon-triangle_up'}}" ng-click="asc = !asc" ng-enter="asc = !asc" tabindex="0"></i></div>
</label>
</div>
<div class="col-sm-5 create-change-wizard__dates-change-mark-selected" align="center">
<div class="dropdown-input dropdown" tabindex="0">
<button class="dropdown-input__button btn_primary dropdown-toggle" aria-haspopup="true" aria-expanded="false" ng-disabled="collisionsSelected === 0">
{{'create.change.wizard.dates.markSelected' | i18n}}</button>
<ul class="dropdown-menu">
<li ng-repeat="item in collisionStatuses">
<div ng-click="markStatus(item)" ng-enter="markStatus(item)" class="dropdown-item" role="menuitem" tabindex="0">
{{item.label}}
</div>
</li>
</ul>
</div>
</div>
</div>
<div class="row">
<table class="create-change-wizard__dates-change-table">
<tbody>
<tr ng-repeat="changeItem in (collisionsCopy.changeList | orderBy:'displayId':asc)">
<td>
<div class="col-sm-12 create-change-wizard__dates-dropdown-item">
<div class="col-sm-1"><i class="{{changeItem.show ? 'icon-angle_up' : 'icon-angle_down'}} create-change-wizard__dates-dropdown-chevron" ng-click="changeItem.show = !changeItem.show" ng-enter="changeItem.show = !changeItem.show" tabindex="0" ></i></div>
<div class="col-sm-10">
<div ng-if="collisionStates.editCollisionStatus && !disableCollisionManagement" class="{{changeItem.selected ? 'dropdown-item_selected' : 'dropdown-item'}}" role="menuitemcheckbox" aria-checked="" ng-click="selectChange(changeItem)" ng-enter="selectChange(changeItem)" title={{changeItem.displayId}} tabindex="0">
{{changeItem.displayId}}
<label>{{changeItem.ciCount === 1 ? 'collision.labels.collisionCI.singular' : 'collision.labels.collisionCI.plural' | i18n:(changeItem.ciCount)}}</label><label ng-if="(changeItem.configurationItems.length - changeItem.ciCount) > 0">{{'collision.labels.addressed' | i18n:(changeItem.configurationItems.length - changeItem.ciCount)}}</label>
</div>
<div ng-if="!collisionStates.editCollisionStatus || (collisionStates.editCollisionStatus && disableCollisionManagement)" title={{changeItem.displayId}} tabindex="0">
{{changeItem.displayId}}
<label>{{changeItem.ciCount === 1 ? 'collision.labels.collisionCI.singular' : 'collision.labels.collisionCI.plural' | i18n:(changeItem.ciCount)}}</label><label ng-if="(changeItem.configurationItems.length - changeItem.ciCount) > 0">{{'collision.labels.addressed' | i18n:(changeItem.configurationItems.length - changeItem.ciCount)}}</label>
</div>
</div>
<div class="col-sm-1">
<div class="create-change-wizard__dates_collisions-weekend" ng-if="!showWeekends && changeItem.fallsOnWeekend">
<span class="icon-exclamation_triangle" tooltip-placement="top" tooltip="{{'collision.warning.weekend' | i18n}}" aria-label="{{'collision.warning.weekend' | i18n}}"></span>
</div>
</div>
</div>
<div ng-show="changeItem.show">
<div class="col-sm-12 create-change-wizard__dates-dropdown-item" ng-repeat="ci in (changeItem.configurationItems | orderBy:'name':asc) ">
<div class="col-sm-1">
</div>
<div ng-if="!collisionStates.editCollisionStatus || (collisionStates.editCollisionStatus && disableCollisionManagement)" class="col-sm-11">
<div class="row">
<div class="col-sm-8" title={{ci.name}} tabindex="0">
{{ci.name}}
</div>
<div class="col-sm-4" >
<div class="create-change-wizard__dates-rationale-label" ng-if="ci.status">
<span>{{ci.status.name | localizeLabel: 'collisionStatus':'change'}}</span>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-8" ng-if="ci.rationale"><label>{{ci.rationale}}</label></div>
<div class="pull-right">
<div><a href="#/person/{{ci.rationaleUser.loginId | escape}}">{{ci.rationaleUser.fullName}}</a></div>
</div>
</div>
</div>
<div ng-if="collisionStates.editCollisionStatus && !disableCollisionManagement" class="col-sm-11">
<div class="row">
<div class="col-sm-8 {{ci.selected ? 'dropdown-item_selected' : 'dropdown-item'}}" role="menuitemcheckbox" ng-click="selectCIs(ci, changeItem)" ng-enter="selectCIs(ci, changeItem)" aria-checked="" title={{ci.name}} tabindex="0">
{{ci.name}}
</div>
<div class="col-sm-4" >
<div class="create-change-wizard__dates-rationale-label" ng-if="ci.status">
<span>
{{ci.status.name | localizeLabel: 'collisionStatus':'change'}}
</span>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-8" ng-if="ci.rationale"><label>{{ci.rationale}}</label></div>
<div class="pull-right"><a href="#/person/{{ci.rationaleUser.loginId | escape}}">{{ci.rationaleUser.fullName}}</a></div>
</div>
</div>
</div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<div class="row" ng-if="editMode">
<div class="col-md-12">
<a class="collision-banner__send-email-link" ng-click="showEmailForm()" ng-if="collisionsCopy.count === 1" ng-enter="showEmailForm()" tabindex="0">
<span class="icon-envelope"></span> &nbsp;{{'collision.sendEmail.label.singular' |i18n }}
</a>
<a class="collision-banner__send-email-link" ng-click="showEmailForm()" ng-if="collisionsCopy.count > 1" ng-enter="showEmailForm()" tabindex="0">
<span class="icon-envelope"></span> &nbsp;{{'collision.sendEmail.label.plural' |i18n:collisionsCopy.count}}
</a>
</div>
</div>
</div>
<div class="col-sm-12">
<div ng-repeat="datesPanel in datesCustomFields[0].panels">
<custom-field-area ticket="context"
metadata="metadata"
ng-if="panelChildrenCount(datesPanel.name) > 0"
panel-id="{{screenLayout.name}}.{{datesPanel.name}}"
stacked="true"
edit-mode="editMode"
is-new="isNew"
class="editable-content-section-block"
update-is-handled-by-parent="true">
</custom-field-area>
</div>
</div>
</div>
</td>
<td class="calendar-column">
<div class="create-change-wizard__calendar_container"
ng-class="{'create-change-wizard__calendar_container_expanded': expanded}">
<div ui-view></div>
</div>
</td>
</tr>
</table>
</form>
</div>