Commit 5acafeab by Ali Arshad

CR fix for messages duplicate code.

Fixed sorting issue.
parent 30b6d65e
......@@ -161,6 +161,161 @@
<ng-container *ngTemplateOutlet="stepsTemplate; context:{stage: stage}"></ng-container>
<!-- End steps section -->
<!-- Start messaging section -->
<ng-container *ngTemplateOutlet="messageTemplate; context:{stage: stage}"></ng-container>
<!-- End messaging section -->
</div>
</p-panel>
</div>
</div>
<!-- End Pre stages -->
<div class="ui-g ui-fluid">
<div class="ui-g-6 text-right">
<h3>Stages</h3>
</div>
<div class="ui-g-3 ui-g-offset-3">
<button (click)="addStage()" [disabled]="showLoader" class="btn btn-primary add-more-btn"
tabindex="11">Add Stage
</button>
</div>
</div>
<div (dndDrop)="onDrop($event, genericStages, 000)"
class="ui-g ui-fluid" dndDropzone>
<div [hidden]="draggingId !== 000" dndPlaceholderRef
style="background: #CCCCCC; border: 1px dashed #000; width: 100%; height: 53px"></div>
<div (dndEnd)="onDragEnd($event)"
(dndStart)="onDragStart(stage, genericStages, 000)"
*ngFor="let stage of genericStages"
[dndDraggable]="stage"
class="ui-g-12 ui-md-12"
dndEffectAllowed="copy"
toggler="header">
<p-panel [toggleable]="true" #panel [collapsed]="true" toggler="header">
<p-header>
<span (click)="toggleInput($event, 'StageName'+stage.SortOrder, true)"
*ngIf="showLabel('StageName'+stage.SortOrder)"
class="ui-panel-title">
{{getStageHeader(stage)}}
</span>
<input (blur)="toggleInput($event, 'StageName'+stage.SortOrder, false)"
*ngIf="!showLabel('StageName'+stage.SortOrder)"
[(ngModel)]="stage.Name" [disabled]="showLoader"
class="form-control panel-header-input"
id="StageName{{stage.SortOrder}}Id"
name="StageName{{stage.SortOrder}}"
pInputText required/>
</p-header>
<div class="ui-g form-group" *ngIf="!panel.collapsed">
<!-- Start steps section -->
<ng-container *ngTemplateOutlet="stepsTemplate; context:{stage: stage}"></ng-container>
<!-- End steps section -->
<!-- Start messaging section -->
<ng-container *ngTemplateOutlet="messageTemplate; context:{stage: stage}"></ng-container>
<!-- End messaging section -->
</div>
</p-panel>
</div>
<div class="ui-g-12 ui-md-12"></div>
</div>
<div class="ui-g ui-fluid">
<div class="ui-g-12">
<!-- Start Post Stages -->
<p-panel *ngFor="let stage of postStages" [toggleable]="true" toggler="header"
[collapsed]="true" class="postStage">
<p-header>
<span class="ui-panel-title">
{{getStageHeader(stage)}}
</span>
</p-header>
<div class="ui-g form-group">
<!-- Start messaging section -->
<ng-container *ngTemplateOutlet="messageTemplate; context:{stage: stage}"></ng-container>
<!-- End messaging section -->
</div>
</p-panel>
<!-- End Post Stages -->
</div>
</div>
<div class="ui-g ui-fluid">
<div class="ui-g-12 ui-md-12">
<div class="text-center form-group">
<button [disabled]="showLoader" class="btn btn-primary largeBtn greyBtn"
routerLink="/admin/list-workflow-templates"
type="button"
value="Cancel">Cancel
</button>
<button (click)="saveWorkflowTemplate()" *ngIf="showSaveBtn()" [disabled]="showLoader"
class="btn btn-primary largeBtn"
type="button" value="Save">
Save
</button>
<button (click)="saveWorkflowTemplate(true)" *ngIf="showSaveCopyBtn()"
[disabled]="showLoader"
class="btn btn-primary largeBtn"
type="button" value="Save As a Copy">
Save As a Copy
</button>
</div>
</div>
</div>
</div>
</div>
</form>
<p-progressSpinner *ngIf="showLoader"></p-progressSpinner>
</div>
<p-confirmDialog header="Confirmation" key="RemoveRow" autoZIndex="false" baseZIndex="12000"
icon="pi pi-exclamation-triangle" appendTo="body">
</p-confirmDialog>
<ng-template #stepsTemplate let-stage="stage">
<div class="ui-g-12 ui-md-12">
<div class="form-group row">
<div class="col-md-6">
<h3>Steps</h3>
</div>
<div *ngIf="stepTypes && stepTypes.length" class="col-md-offset-2 col-md-4">
<app-select-2 (valChange)="addStep($event, stage)" [data]="stepTypes"
[value]="stepTypes[0]"
fieldLabel="Description">
</app-select-2>
</div>
</div>
<div *ngIf="stage.Steps.length===0">
No steps added...
</div>
<div (dndDrop)="onDrop($event, stage.Steps, stage.ObjectID)"
[class.disable-drop]="draggingId!=null && draggingId !== stage.ObjectID"
dndDropzone>
<div [hidden]="draggingId !== stage.ObjectID" dndPlaceholderRef
style="background: #CCCCCC; border: 1px dashed #000; width: 50%; height: 53px"></div>
<div *ngFor="let step of stage.Steps" class="ui-g">
<div (dndEnd)="onDragEnd($event)"
(dndStart)="onDragStart(step, stage.Steps, stage.ObjectID)"
[dndDraggable]="step"
class="ui-g-6"
dndEffectAllowed="copy">
<div class="ui-g">
<div class="col-md-8 interactive">
<h4>{{step.StepType.Description}}</h4>
</div>
<div class="col-md-4">
<button (click)="removeStep(step, stage)"
[disabled]="showLoader" icon="ui-icon-close"
pButton
type="button"></button>
</div>
</div>
</div>
</div>
</div>
<hr/>
</div>
</ng-template>
<ng-template let-stage="stage" #messageTemplate>
<div class="ui-g-12 ui-md-12">
<div class="form-group row">
<div class="ui-g-12 ui-md-6">
......@@ -197,7 +352,7 @@
<div *ngFor="let message of stage.WorkFlowMessages" class="form-group row">
<div *ngIf="stage.UseMessaging && !message.IsWithdrawalMessage"
class="col-lg-12 col-md-12 mb-10">
<div class="col-md-3">
<div class="col-md-3" *ngIf="stage.StageType.IsPreStage">
<label>&nbsp;</label>
<p-multiSelect [(ngModel)]="message.ApplicantSources"
[disabled]="showLoader"
......@@ -376,560 +531,4 @@
<!-- End displaying messages -->
<hr/>
</div>
<!-- End messaging section -->
</div>
</p-panel>
</div>
</div>
<!-- End Pre stages -->
<div class="ui-g ui-fluid">
<div class="ui-g-6 text-right">
<h3>Stages</h3>
</div>
<div class="ui-g-3 ui-g-offset-3">
<button (click)="addStage()" [disabled]="showLoader" class="btn btn-primary add-more-btn"
tabindex="11">Add Stage
</button>
</div>
</div>
<div (dndDrop)="onDrop($event, genericStages, 000)"
class="ui-g ui-fluid" dndDropzone>
<div [hidden]="draggingId !== 000" dndPlaceholderRef
style="background: #CCCCCC; border: 1px dashed #000; width: 100%; height: 53px"></div>
<div (dndEnd)="onDragEnd($event)"
(dndStart)="onDragStart(stage, genericStages, 000)"
*ngFor="let stage of genericStages"
[dndDraggable]="stage"
class="ui-g-12 ui-md-12"
dndEffectAllowed="copy"
toggler="header">
<p-panel [toggleable]="true" #panel [collapsed]="true" toggler="header">
<p-header>
<span (click)="toggleInput($event, 'StageName'+stage.SortOrder, true)"
*ngIf="showLabel('StageName'+stage.SortOrder)"
class="ui-panel-title">
{{getStageHeader(stage)}}
</span>
<input (blur)="toggleInput($event, 'StageName'+stage.SortOrder, false)"
*ngIf="!showLabel('StageName'+stage.SortOrder)"
[(ngModel)]="stage.Name" [disabled]="showLoader"
class="form-control panel-header-input"
id="StageName{{stage.SortOrder}}Id"
name="StageName{{stage.SortOrder}}"
pInputText required/>
</p-header>
<div class="ui-g form-group" *ngIf="!panel.collapsed">
<!-- Start steps section -->
<ng-container *ngTemplateOutlet="stepsTemplate; context:{stage: stage}"></ng-container>
<!-- End steps section -->
<!-- Start messaging section -->
<div class="ui-g-12 ui-md-12">
<div class="form-group row">
<div class="ui-g-12 ui-md-6">
<label> Automatically progress to next stage</label>
</div>
<div class="ui-g-12 ui-md-4">
<p-inputSwitch [(ngModel)]="stage.AutoProgress" [disabled]="showLoader"
name="AutoProgress{{stage.ObjectID}}">
</p-inputSwitch>
</div>
</div>
<div class="form-group row">
<div class="ui-g-12 ui-md-6">
<label> Use messaging</label>
</div>
<div class="ui-g-12 ui-md-4">
<p-inputSwitch [(ngModel)]="stage.UseMessaging" [disabled]="showLoader"
name="UseMessaging{{stage.ObjectID}}">
</p-inputSwitch>
</div>
</div>
<p-panel [collapsed]="!stage.UseMessaging" [toggleable]="stage.UseMessaging"
header="{{stageMessagesCount(stage)}}" toggler="header" class="messaging">
<div class="form-group row">
<div class="col-md-offset-9 col-md-3">
<button (click)="addMessage(stage)" *ngIf="stage.UseMessaging"
[disabled]="showLoader"
class="btn btn-primary add-more-btn" tabindex="11">Add
Message
</button>
</div>
</div>
<!-- Display Messages here -->
<div *ngFor="let message of stage.WorkFlowMessages" class="form-group row">
<div *ngIf="stage.UseMessaging && !message.IsWithdrawalMessage"
class="col-lg-12 col-md-12">
<div class="col-md-2">
<label>After</label>
<p-inputMask (change)="generateDelayString(message)"
(onBlur)="toggleInput($event, 'Delay'+message.ObjectID, false)"
(onFocus)="toggleInput($event, 'Delay'+message.ObjectID, true)"
*ngIf="!showLabel('Delay'+message.ObjectID) || !message.Delay"
[(ngModel)]="message.Delay"
[disabled]="showLoader"
[id]="'Delay'+message.ObjectID"
class="form-control"
mask="9?9:99:99"
name="Delay{{message.ObjectID}}">
</p-inputMask>
<div (click)="toggleInput($event, 'Delay'+message.ObjectID, true)"
*ngIf="showLabel('Delay'+message.ObjectID) && message.Delay">
<label>{{message.DelayString}}</label>
</div>
</div>
<div class="col-md-2">
<label for="Variance{{message.ObjectID}}">+/-</label>
<input [(ngModel)]="message.Variance"
[disabled]="showLoader"
(change)="generateVarianceString(message)"
(blur)="toggleInput($event, 'Variance'+message.ObjectID, false)"
(focusin)="toggleInput($event, 'Variance'+message.ObjectID, true)"
class="form-control" id="Variance{{message.ObjectID}}"
*ngIf="!showLabel('Variance'+message.ObjectID) || !message.Variance"
name="Variance{{message.ObjectID}}" type="text">
<div
(click)="toggleInput($event, 'Variance'+message.ObjectID, true)"
*ngIf="showLabel('Variance'+message.ObjectID) && message.Variance">
<label>{{message.VarianceString}}</label>
</div>
</div>
<div class="col-md-2">
<label>Business Hours only</label>
<p-checkbox [(ngModel)]="message.BusinessHoursOnly"
binary="true"
name="BusinessHoursOnly{{message.ObjectID}}">
</p-checkbox>
</div>
<div class="col-md-4">
<label>Send</label>
<p-dropdown (onChange)="showMessageTemplateDialog($event, message)"
[(ngModel)]="message.MessageTemplate"
[autoDisplayFirst]="false"
[options]="messageTemplates"
filter="true"
name="messageTemplate{{message.ObjectID}}"
optionLabel="TemplateName">
<ng-template let-message pTemplate="selectedItem">
<i class="{{getMessageClass(message.value)}}"></i>
<span
class="dropdown-text">{{message.label}}</span>
</ng-template>
<ng-template let-selectedMsg pTemplate="item">
<div class="ui-helper-clearfix"
style="position: relative;height: 25px;">
<i class="{{getMessageClass(selectedMsg.value)}}"></i>
<div
class="dropdown-text">{{selectedMsg.label}}</div>
</div>
</ng-template>
</p-dropdown>
</div>
<div class="col-md-2 text-center">
<button (click)="configureMessageTemplate(message)"
[disabled]="showLoader" icon="ui-icon-settings"
pButton
type="button"></button>
<button (click)="removeMessage(message, stage)"
*ngIf="!message.IsWithdrawalMessage" [disabled]="showLoader"
icon="ui-icon-close"
pButton
type="button"></button>
</div>
</div>
</div>
<div *ngFor="let message of stage.WorkFlowMessages" class="form-group row">
<div *ngIf="stage.UseMessaging && message.IsWithdrawalMessage"
class="col-lg-12 col-md-12">
<h4>Withdrawal Process</h4>
</div>
<div *ngIf="stage.UseMessaging && message.IsWithdrawalMessage"
class="col-lg-12 col-md-12 mb-10">
<div class="col-md-2">
<label>After</label>
<p-inputMask (change)="generateDelayString(message)"
(onBlur)="toggleInput($event, 'Delay'+message.ObjectID, false)"
(onFocus)="toggleInput($event, 'Delay'+message.ObjectID, true)"
*ngIf="!showLabel('Delay'+message.ObjectID) || !message.Delay"
[(ngModel)]="message.Delay"
[disabled]="showLoader"
[id]="'Delay'+message.ObjectID"
class="form-control"
mask="9?9:99:99"
name="Delay{{message.ObjectID}}">
</p-inputMask>
<div (click)="toggleInput($event, 'Delay'+message.ObjectID, true)"
*ngIf="showLabel('Delay'+message.ObjectID) && message.Delay">
<label>{{message.DelayString}}</label>
</div>
</div>
<div class="col-md-2">
<label for="Variance{{message.ObjectID}}">+/-</label>
<input [(ngModel)]="message.Variance"
[disabled]="showLoader"
(change)="generateVarianceString(message)"
(blur)="toggleInput($event, 'Variance'+message.ObjectID, false)"
(focusin)="toggleInput($event, 'Variance'+message.ObjectID, true)"
class="form-control" id="Variance{{message.ObjectID}}"
*ngIf="!showLabel('Variance'+message.ObjectID) || !message.Variance"
name="Variance{{message.ObjectID}}" type="text">
<div
(click)="toggleInput($event, 'Variance'+message.ObjectID, true)"
*ngIf="showLabel('Variance'+message.ObjectID) && message.Variance">
<label>{{message.VarianceString}}</label>
</div>
</div>
<div class="col-md-2">
<label title="Business Hours only" class="mb-0">Business Hours
only</label>
<p-checkbox [(ngModel)]="message.BusinessHoursOnly"
binary="true"
name="BusinessHoursOnly{{message.ObjectID}}">
</p-checkbox>
</div>
<div class="col-md-4">
<label>Send</label>
<p-dropdown (onChange)="showMessageTemplateDialog($event, message)"
[(ngModel)]="message.MessageTemplate"
[autoDisplayFirst]="false"
[options]="messageTemplates"
filter="true"
name="messageTemplate{{message.ObjectID}}"
optionLabel="TemplateName">
<ng-template let-message pTemplate="selectedItem">
<i class="{{getMessageClass(message.value)}}"></i>
<span
class="dropdown-text">{{message.label}}</span>
</ng-template>
<ng-template let-selectedMsg pTemplate="item">
<div class="ui-helper-clearfix"
style="position: relative;height: 25px;">
<i class="{{getMessageClass(selectedMsg.value)}}"></i>
<div
class="dropdown-text">{{selectedMsg.label}}</div>
</div>
</ng-template>
</p-dropdown>
</div>
<div class="col-md-2 text-center">
<button (click)="configureMessageTemplate(message)"
[disabled]="showLoader" icon="ui-icon-settings"
pButton
type="button">
</button>
</div>
</div>
</div>
</p-panel>
<!-- End displaying messages -->
<hr/>
<div class="form-group row">
<div class="ui-g-12 ui-md-6">
<button (click)="removeStage(stage)" [disabled]="showLoader"
class="btn btn-primary add-more-btn">Remove Stage
</button>
</div>
</div>
</div>
<!-- End messaging section -->
</div>
</p-panel>
</div>
<div class="ui-g-12 ui-md-12"></div>
</div>
<div class="ui-g ui-fluid">
<div class="ui-g-12">
<!-- Start Post Stages -->
<p-panel *ngFor="let stage of postStages" [toggleable]="true" toggler="header"
[collapsed]="true" class="postStage">
<p-header>
<span class="ui-panel-title">
{{getStageHeader(stage)}}
</span>
</p-header>
<div class="ui-g form-group">
<!-- Start messaging section -->
<div class="ui-g-12 ui-md-12">
<div class="form-group row">
<div class="ui-g-12 ui-md-6">
<label> Automatically progress to next stage</label>
</div>
<div class="ui-g-12 ui-md-4">
<p-inputSwitch [(ngModel)]="stage.AutoProgress" [disabled]="showLoader"
name="AutoProgress{{stage.ObjectID}}">
</p-inputSwitch>
</div>
</div>
<div class="form-group row">
<div class="ui-g-12 ui-md-6">
<label> Use messaging</label>
</div>
<div class="ui-g-12 ui-md-4">
<p-inputSwitch [(ngModel)]="stage.UseMessaging" [disabled]="showLoader"
name="UseMessaging{{stage.ObjectID}}">
</p-inputSwitch>
</div>
</div>
<p-panel [collapsed]="!stage.UseMessaging" [toggleable]="stage.UseMessaging"
header="{{stageMessagesCount(stage)}}" toggler="header" class="messaging">
<div class="form-group row">
<div class="col-md-offset-9 col-md-3">
<button (click)="addMessage(stage)" *ngIf="stage.UseMessaging"
[disabled]="showLoader"
class="btn btn-primary add-more-btn" tabindex="11">Add
Message
</button>
</div>
</div>
<!-- Display Messages here -->
<div *ngFor="let message of stage.WorkFlowMessages" class="form-group row">
<div *ngIf="stage.UseMessaging && !message.IsWithdrawalMessage"
class="col-lg-12 col-md-12">
<div class="col-md-2">
<label>After</label>
<p-inputMask (change)="generateDelayString(message)"
(onBlur)="toggleInput($event, 'Delay'+message.ObjectID, false)"
(onFocus)="toggleInput($event, 'Delay'+message.ObjectID, true)"
*ngIf="!showLabel('Delay'+message.ObjectID) || !message.Delay"
[(ngModel)]="message.Delay"
[disabled]="showLoader"
class="form-control"
id="Delay{{message.ObjectID}}"
mask="9?9:99:99"
name="Delay{{message.ObjectID}}">
</p-inputMask>
<div (click)="toggleInput($event, 'Delay'+message.ObjectID, true)"
*ngIf="showLabel('Delay'+message.ObjectID, message) && message.Delay">
<label>{{message.DelayString}}</label>
</div>
</div>
<div class="col-md-2">
<label for="Variance{{message.ObjectID}}">+/-</label>
<input [(ngModel)]="message.Variance"
[disabled]="showLoader"
(change)="generateVarianceString(message)"
(blur)="toggleInput($event, 'Variance'+message.ObjectID, false)"
(focusin)="toggleInput($event, 'Variance'+message.ObjectID, true)"
class="form-control" id="Variance{{message.ObjectID}}"
*ngIf="!showLabel('Variance'+message.ObjectID) || !message.Variance"
name="Variance{{message.ObjectID}}" type="text">
<div
(click)="toggleInput($event, 'Variance'+message.ObjectID, true)"
*ngIf="showLabel('Variance'+message.ObjectID) && message.Variance">
<label>{{message.VarianceString}}</label>
</div>
</div>
<div class="col-md-2">
<label>Business Hours only</label>
<p-checkbox [(ngModel)]="message.BusinessHoursOnly"
binary="true"
name="BusinessHoursOnly{{message.ObjectID}}">
</p-checkbox>
</div>
<div class="col-md-4">
<label>Send</label>
<p-dropdown (onChange)="showMessageTemplateDialog($event, message)"
[(ngModel)]="message.MessageTemplate"
[autoDisplayFirst]="false"
[options]="messageTemplates"
filter="true"
name="messageTemplate{{message.ObjectID}}"
optionLabel="TemplateName">
<ng-template let-message pTemplate="selectedItem">
<i class="{{getMessageClass(message.value)}}"></i>
<span
class="dropdown-text">{{message.label}}</span>
</ng-template>
<ng-template let-selectedMsg pTemplate="item">
<div class="ui-helper-clearfix"
style="position: relative;height: 25px;">
<i class="{{getMessageClass(selectedMsg.value)}}"></i>
<div
class="dropdown-text">{{selectedMsg.label}}</div>
</div>
</ng-template>
</p-dropdown>
</div>
<div class="col-md-2 text-center">
<button (click)="configureMessageTemplate(message)"
[disabled]="showLoader" icon="ui-icon-settings"
pButton
type="button"></button>
<button (click)="removeMessage(message, stage)"
*ngIf="!message.IsWithdrawalMessage" [disabled]="showLoader"
icon="ui-icon-close"
pButton
type="button"></button>
</div>
</div>
</div>
<div *ngFor="let message of stage.WorkFlowMessages" class="form-group ui-g">
<div *ngIf="stage.UseMessaging && message.IsWithdrawalMessage"
class="ui-g-offset-0 ui-g-10">
<h4>Withdrawal Process</h4>
</div>
<div *ngIf="stage.UseMessaging && message.IsWithdrawalMessage"
class="ui-g-12 mb-10">
<div class="col-md-2">
<label>After</label>
<p-inputMask (change)="generateDelayString(message)"
(onBlur)="toggleInput($event, 'Delay'+message.ObjectID, false)"
(onFocus)="toggleInput($event, 'Delay'+message.ObjectID, true)"
*ngIf="!showLabel('Delay'+message.ObjectID) || !message.Delay"
[(ngModel)]="message.Delay"
[disabled]="showLoader"
[id]="'Delay'+message.ObjectID"
class="form-control"
mask="9?9:99:99"
name="Delay{{message.ObjectID}}">
</p-inputMask>
<div (click)="toggleInput($event, 'Delay'+message.ObjectID, true)"
*ngIf="showLabel('Delay'+message.ObjectID) && message.Delay">
<label>{{message.DelayString}}</label>
</div>
</div>
<div class="col-md-2">
<label for="Variance{{message.ObjectID}}">+/-</label>
<input [(ngModel)]="message.Variance"
[disabled]="showLoader"
(change)="generateVarianceString(message)"
(blur)="toggleInput($event, 'Variance'+message.ObjectID, false)"
(focusin)="toggleInput($event, 'Variance'+message.ObjectID, true)"
class="form-control" id="Variance{{message.ObjectID}}"
*ngIf="!showLabel('Variance'+message.ObjectID) || !message.Variance"
name="Variance{{message.ObjectID}}" type="text">
<div
(click)="toggleInput($event, 'Variance'+message.ObjectID, true)"
*ngIf="showLabel('Variance'+message.ObjectID) && message.Variance">
<label>{{message.VarianceString}}</label>
</div>
</div>
<div class="col-md-2">
<label title="Business Hours only" class="mb-0">Business Hours
only</label>
<p-checkbox [(ngModel)]="message.BusinessHoursOnly"
binary="true"
name="BusinessHoursOnly{{message.ObjectID}}">
</p-checkbox>
</div>
<div class="col-md-4">
<label>Send</label>
<p-dropdown (onChange)="showMessageTemplateDialog($event, message)"
[(ngModel)]="message.MessageTemplate"
[autoDisplayFirst]="false"
[options]="messageTemplates"
filter="true"
name="messageTemplate{{message.ObjectID}}"
optionLabel="TemplateName">
<ng-template let-message pTemplate="selectedItem">
<i class="{{getMessageClass(message.value)}}"></i>
<span
class="dropdown-text">{{message.label}}</span>
</ng-template>
<ng-template let-selectedMsg pTemplate="item">
<div class="ui-helper-clearfix"
style="position: relative;height: 25px;">
<i class="{{getMessageClass(selectedMsg.value)}}"></i>
<div
class="dropdown-text">{{selectedMsg.label}}</div>
</div>
</ng-template>
</p-dropdown>
</div>
<div class="col-md-2 text-center">
<button (click)="configureMessageTemplate(message)"
[disabled]="showLoader" icon="ui-icon-settings"
pButton
type="button">
</button>
</div>
</div>
</div>
</p-panel>
<!-- End displaying messages -->
<hr/>
</div>
<!-- End messaging section -->
</div>
</p-panel>
<!-- End Post Stages -->
</div>
</div>
<div class="ui-g ui-fluid">
<div class="ui-g-12 ui-md-12">
<div class="text-center form-group">
<button [disabled]="showLoader" class="btn btn-primary largeBtn greyBtn"
routerLink="/admin/list-workflow-templates"
type="button"
value="Cancel">Cancel
</button>
<button (click)="saveWorkflowTemplate()" *ngIf="showSaveBtn()" [disabled]="showLoader"
class="btn btn-primary largeBtn"
type="button" value="Save">
Save
</button>
<button (click)="saveWorkflowTemplate(true)" *ngIf="showSaveCopyBtn()"
[disabled]="showLoader"
class="btn btn-primary largeBtn"
type="button" value="Save As a Copy">
Save As a Copy
</button>
</div>
</div>
</div>
</div>
</div>
</form>
<p-progressSpinner *ngIf="showLoader"></p-progressSpinner>
</div>
<p-confirmDialog header="Confirmation" key="RemoveRow" autoZIndex="false" baseZIndex="12000"
icon="pi pi-exclamation-triangle" appendTo="body">
</p-confirmDialog>
<ng-template #stepsTemplate let-stage="stage">
<div class="ui-g-12 ui-md-12">
<div class="form-group row">
<div class="col-md-6">
<h3>Steps</h3>
</div>
<div *ngIf="stepTypes && stepTypes.length" class="col-md-offset-2 col-md-4">
<app-select-2 (valChange)="addStep($event, stage)" [data]="stepTypes"
[value]="stepTypes[0]"
fieldLabel="Description">
</app-select-2>
</div>
</div>
<div *ngIf="stage.Steps.length===0">
No steps added...
</div>
<div (dndDrop)="onDrop($event, stage.Steps, stage.ObjectID)"
[class.disable-drop]="draggingId!=null && draggingId !== stage.ObjectID"
dndDropzone>
<div [hidden]="draggingId !== stage.ObjectID" dndPlaceholderRef
style="background: #CCCCCC; border: 1px dashed #000; width: 50%; height: 53px"></div>
<div *ngFor="let step of stage.Steps" class="ui-g">
<div (dndEnd)="onDragEnd($event)"
(dndStart)="onDragStart(step, stage.Steps, stage.ObjectID)"
[dndDraggable]="step"
class="ui-g-6"
dndEffectAllowed="copy">
<div class="ui-g">
<div class="col-md-8 interactive">
<h4>{{step.StepType.Description}}</h4>
</div>
<div class="col-md-4">
<button (click)="removeStep(step, stage)"
[disabled]="showLoader" icon="ui-icon-close"
pButton
type="button"></button>
</div>
</div>
</div>
</div>
</div>
<hr/>
</div>
</ng-template>
......@@ -164,12 +164,14 @@ export class EditWorkflowTemplateComponent extends BaseComponent implements OnIn
}
reOrderStages(): void {
this.workflow.WorkFlowStages = this.utilsService.sort(this.workflow.WorkFlowStages, ['SortOrder'], [-1]);
this.workflow.WorkFlowStages = this.utilsService.sort(this.workflow.WorkFlowStages, ['SortOrder'], [1]);
this.filterStages();
}
reOrderSteps(): void {
this.workflow.WorkFlowStages = this.utilsService.sort(this.workflow.WorkFlowStages, ['SortOrder'], [-1]);
this.workflow.WorkFlowStages.forEach(stage => {
stage.Steps = this.utilsService.sort(stage.Steps, ['SortOrder'], [1]);
});
}
isGeneric(stage: WorkflowStageModel): boolean {
......@@ -509,7 +511,6 @@ export class EditWorkflowTemplateComponent extends BaseComponent implements OnIn
this.utilsService.addObjsToJSONByObjectID(this.updatedObjs, stage.WorkFlowMessages);
this.utilsService.addObjsToJSONByObjectID(this.updatedObjs, stage.Steps);
});
this.reOrderStages();
......@@ -531,7 +532,7 @@ export class EditWorkflowTemplateComponent extends BaseComponent implements OnIn
saveWorkflowTemplate(saveCopy = false): void {
this.utilsService.clearErrorMessages();
const service = `svc/${saveCopy ? SERVICES.SAVE_MESSAGE_AS_COPY : SERVICES.SAVE}`;
const service = `svc/${saveCopy ? SERVICES.SAVE_WORKFLOW_AS_COPY : SERVICES.SAVE}`;
if (this.form.invalid) {
this.utilsService.showAllErrorMessages();
......
......@@ -14,6 +14,7 @@ export const SERVICES = {
MESSAGE_TEMPLATES: 'MessageTemplates',
WORKFLOW_TEMPLATES: 'WorkFlowTemplates',
SAVE_MESSAGE_AS_COPY: 'SaveMessageAsCopy',
SAVE_WORKFLOW_AS_COPY: 'SaveWorkflowAsCopy',
SAVE: 'Save'
};
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment