Commit 5acafeab by Ali Arshad

CR fix for messages duplicate code.

Fixed sorting issue.
parent 30b6d65e
......@@ -161,221 +161,7 @@
<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 Pre Stage 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 mb-10">
<div class="col-md-3">
<label>&nbsp;</label>
<p-multiSelect [(ngModel)]="message.ApplicantSources"
[disabled]="showLoader"
[filter]="false"
[options]="applicantSources"
[panelStyle]="{minWidth:'12em'}"
class="form-control"
name="applicantSources{{message.ObjectID}}"
optionLabel="Description">
</p-multiSelect>
</div>
<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-1">
<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-3">
<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-1 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>
<ng-container *ngTemplateOutlet="messageTemplate; context:{stage: stage}"></ng-container>
<!-- End messaging section -->
</div>
</p-panel>
......@@ -424,213 +210,7 @@
<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>
<ng-container *ngTemplateOutlet="messageTemplate; context:{stage: stage}"></ng-container>
<!-- End messaging section -->
</div>
</p-panel>
......@@ -649,207 +229,7 @@
</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>
<ng-container *ngTemplateOutlet="messageTemplate; context:{stage: stage}"></ng-container>
<!-- End messaging section -->
</div>
</p-panel>
......@@ -933,3 +313,222 @@
<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">
<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 Pre Stage 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 mb-10">
<div class="col-md-3" *ngIf="stage.StageType.IsPreStage">
<label>&nbsp;</label>
<p-multiSelect [(ngModel)]="message.ApplicantSources"
[disabled]="showLoader"
[filter]="false"
[options]="applicantSources"
[panelStyle]="{minWidth:'12em'}"
class="form-control"
name="applicantSources{{message.ObjectID}}"
optionLabel="Description">
</p-multiSelect>
</div>
<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-1">
<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-3">
<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-1 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>
</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