Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
PERFORMA_REPLICA
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Muhammad Usman
PERFORMA_REPLICA
Commits
5acafeab
Commit
5acafeab
authored
Nov 26, 2019
by
Ali Arshad
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
CR fix for messages duplicate code.
Fixed sorting issue.
parent
30b6d65e
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
228 additions
and
627 deletions
+228
-627
edit-workflow-template.component.html
...t-workflow-template/edit-workflow-template.component.html
+222
-623
edit-workflow-template.component.ts
...dit-workflow-template/edit-workflow-template.component.ts
+5
-4
constants.ts
frontend/angular/src/app/constants.ts
+1
-0
No files found.
frontend/angular/src/app/components/edit-workflow-template/edit-workflow-template.component.html
View file @
5acafeab
...
...
@@ -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>
</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>
</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>
frontend/angular/src/app/components/edit-workflow-template/edit-workflow-template.component.ts
View file @
5acafeab
...
...
@@ -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
();
...
...
frontend/angular/src/app/constants.ts
View file @
5acafeab
...
...
@@ -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'
};
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment