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
6db877d0
Commit
6db877d0
authored
Nov 25, 2019
by
GD-A-150752
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
bug-fixes
parent
86c3a28a
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
170 additions
and
109 deletions
+170
-109
edit-message-template.component.html
...dit-message-template/edit-message-template.component.html
+1
-1
edit-workflow-template.component.html
...t-workflow-template/edit-workflow-template.component.html
+101
-87
edit-workflow-template.component.scss
...t-workflow-template/edit-workflow-template.component.scss
+8
-1
edit-workflow-template.component.ts
...dit-workflow-template/edit-workflow-template.component.ts
+40
-20
custom.scss
frontend/angular/src/assets/css/custom.scss
+20
-0
No files found.
frontend/angular/src/app/components/edit-message-template/edit-message-template.component.html
View file @
6db877d0
...
...
@@ -4,7 +4,7 @@
<div
class=
"ui-g ui-fluid"
>
<div
class=
"page-title mb-0"
>
<a
[
routerLink
]="['/
admin
/
list-message-templates
']"
class=
"arrow-btn-blue ml-0"
>
<img
src=
"
/
assets/images/arrow-left-prev_blue.svg"
>
<img
src=
"assets/images/arrow-left-prev_blue.svg"
>
</a>
{{editMode ? "Edit" : "Add"}} Message Template
</div>
...
...
frontend/angular/src/app/components/edit-workflow-template/edit-workflow-template.component.html
View file @
6db877d0
...
...
@@ -7,7 +7,7 @@
<div
class=
"ui-g-12"
>
<div
class=
"page-title mb-0"
>
<a
[
routerLink
]="['/
admin
/
list-workflow-templates
']"
class=
"arrow-btn-blue ml-0"
>
<img
src=
"
/
assets/images/arrow-left-prev_blue.svg"
>
<img
src=
"assets/images/arrow-left-prev_blue.svg"
>
</a>
{{editMode ? "Edit" : "Add"}} Workflow Template
</div>
...
...
@@ -32,7 +32,7 @@
<div
class=
"ui-g ui-fluid"
>
<div
class=
"ui-g-12 ui-md-12"
>
<p-panel
*
ngFor=
"let stage of preStages"
[
toggleable
]="
true
"
toggler=
"header"
>
toggler=
"header"
[
collapsed
]="
true
"
>
<p-header>
<span
class=
"ui-panel-title"
>
{{getStageHeader(stage)}}
...
...
@@ -44,7 +44,8 @@
</div>
<div
class=
"form-group ui-g-12"
>
<label
for=
"LandingButtonText"
>
Button Text
</label>
<input
[(
ngModel
)]="
workflow
.
LandingButtonText
"
[
disabled
]="
showLoader
"
class=
"form-control"
<input
[(
ngModel
)]="
workflow
.
LandingButtonText
"
[
disabled
]="
showLoader
"
class=
"form-control"
fieldLabel=
"Landing Button Text"
id=
"LandingButtonText"
name=
"LandingButtonText"
required
...
...
@@ -55,7 +56,8 @@
</div>
<div
class=
"form-group ui-g-12"
>
<label
for=
"VerificationHeaderText"
>
Header Text
</label>
<input
[(
ngModel
)]="
workflow
.
VerificationHeaderText
"
[
disabled
]="
showLoader
"
class=
"form-control"
<input
[(
ngModel
)]="
workflow
.
VerificationHeaderText
"
[
disabled
]="
showLoader
"
class=
"form-control"
fieldLabel=
"Verification Header Text"
id=
"VerificationHeaderText"
name=
"VerificationHeaderText"
required
...
...
@@ -64,51 +66,44 @@
<div
class=
"work-belonging ui-g-12 mb-0"
>
<span
class=
"calcField"
>
Application
</span>
</div>
<div
class=
"
criteria_section
ui-g-12"
>
<
fieldset
>
<
legend
>
<
span
class=
"calcField"
>
Capture CV
</span
>
<div
class=
"
form-group
ui-g-12"
>
<
div
class=
"ui-g"
>
<
div
class=
"ui-g-6"
>
<
label
for=
"CaptureCV"
>
Capture CV
</label
>
<p-inputSwitch
[(
ngModel
)]="
workflow
.
CaptureCV
"
[
disabled
]="
showLoader
"
name=
"CaptureCV"
>
name=
"CaptureCV"
id=
"CaptureCV"
>
</p-inputSwitch>
</legend>
<div
*
ngIf=
"workflow.CaptureCV"
class=
"ui-g-12 ui-md-6"
>
<div
class=
"ui-g-12 ui-md-4"
>
<label>
Mandatory
</label>
</div>
<div
class=
"ui-g-12 ui-md-2"
>
<div
class=
"ui-g-6"
*
ngIf=
"workflow.CaptureCV"
>
<label
for=
"ThankYouSecondaryText"
>
Mandatory
</label>
<p-inputSwitch
[(
ngModel
)]="
workflow
.
IsCVMandatory
"
[
disabled
]="
showLoader
"
name
=
"IsCVMandatory"
>
name=
"IsCVMandatory"
id
=
"IsCVMandatory"
>
</p-inputSwitch>
</div>
</div>
</fieldset>
</div>
<div
class=
"
criteria_section
ui-g-12"
>
<
fieldset
>
<
legend
>
<
span
class=
"calcField"
>
Capture Cover Letter
</span
>
<div
class=
"
form-group
ui-g-12"
>
<
div
class=
"ui-g"
>
<
div
class=
"ui-g-6"
>
<
label
for=
"CaptureCL"
>
Capture Cover Letter
</label
>
<p-inputSwitch
[(
ngModel
)]="
workflow
.
CaptureCL
"
[
disabled
]="
showLoader
"
name=
"CaptureCL"
>
name=
"CaptureCL"
id=
"CaptureCL"
>
</p-inputSwitch>
</legend>
<div
*
ngIf=
"workflow.CaptureCL"
class=
"ui-g-12 ui-md-6"
>
<div
class=
"ui-g-12 ui-md-4"
>
<label>
Mandatory
</label>
</div>
<div
class=
"ui-g-12 ui-md-2"
>
<div
class=
"ui-g-6"
*
ngIf=
"workflow.CaptureCL"
>
<label
for=
"IsCLMandatory"
>
Mandatory
</label>
<p-inputSwitch
[(
ngModel
)]="
workflow
.
IsCLMandatory
"
[
disabled
]="
showLoader
"
name
=
"IsCLMandatory"
>
name=
"IsCLMandatory"
id
=
"IsCLMandatory"
>
</p-inputSwitch>
</div>
</div>
</fieldset>
</div>
<div
class=
"form-group ui-g-12"
>
<label
for=
"VerificationHeaderText"
>
Button Text
</label>
<input
[(
ngModel
)]="
workflow
.
ApplicationButtonText
"
[
disabled
]="
showLoader
"
class=
"form-control"
<input
[(
ngModel
)]="
workflow
.
ApplicationButtonText
"
[
disabled
]="
showLoader
"
class=
"form-control"
fieldLabel=
"Application Button Text"
name=
"ApplicationButtonText"
required
...
...
@@ -154,7 +149,8 @@
<label
for=
"JobOutlineButtonText"
>
Button Text
</label>
<input
[(
ngModel
)]="
workflow
.
JobOutlineButtonText
"
[
disabled
]="
showLoader
"
class=
"form-control"
fieldLabel=
"Job Outline Button Text"
id=
"JobOutlineButtonText"
name=
"JobOutlineButtonText"
fieldLabel=
"Job Outline Button Text"
id=
"JobOutlineButtonText"
name=
"JobOutlineButtonText"
required
tabindex=
"10"
type=
"text"
>
</div>
...
...
@@ -178,8 +174,10 @@
</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>
[
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
)"
...
...
@@ -187,11 +185,12 @@
class=
"ui-g-6"
dndEffectAllowed=
"copy"
>
<div
class=
"ui-g"
>
<div
class=
"col-md-8"
>
<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"
<button
(
click
)="
removeStep
(
step
,
stage
)"
[
disabled
]="
showLoader
"
icon=
"ui-icon-close"
pButton
type=
"button"
></button>
</div>
...
...
@@ -225,7 +224,7 @@
</div>
</div>
<p-panel
[
collapsed
]="!
stage
.
UseMessaging
"
[
toggleable
]="
stage
.
UseMessaging
"
header=
"{{stageMessagesCount(stage)}}"
>
header=
"{{stageMessagesCount(stage)}}"
class=
"messaging"
>
<div
class=
"form-group row"
>
<div
class=
"col-md-offset-9 col-md-3"
>
<button
(
click
)="
addMessage
(
stage
)"
*
ngIf=
"stage.UseMessaging"
...
...
@@ -241,7 +240,7 @@
<h3>
Withdrawal Process
</h3>
</div>
<div
*
ngIf=
"stage.UseMessaging"
class=
"col-lg-12 col-md-12 mb-10"
>
<div
class=
"col-md-
4
"
>
<div
class=
"col-md-
3
"
>
<label>
</label>
<p-multiSelect
[(
ngModel
)]="
message
.
ApplicantSources
"
[
disabled
]="
showLoader
"
...
...
@@ -253,10 +252,11 @@
optionLabel=
"Description"
>
</p-multiSelect>
</div>
<div
class=
"col-md-
4
"
>
<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
)"
(
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
"
...
...
@@ -270,25 +270,25 @@
<label>
{{message.DelayString}}
</label>
</div>
</div>
<div
class=
"col-md-
4
"
>
<div
class=
"col-md-
1
"
>
<label
for=
"Variance{{message.ObjectID}}"
>
+/-
</label>
<input
[(
ngModel
)]="
message
.
Variance
"
[
disabled
]="
showLoader
"
class=
"form-control"
id=
"Variance{{message.ObjectID}}"
name=
"Variance{{message.ObjectID}}"
type=
"text"
>
</div>
</div>
<div
class=
"col-lg-12 col-md-12 flex-center"
>
<div
class=
"col-md-4"
>
<label
class=
"mb-0"
>
Business Hours only
</label>
<div
class=
"col-md-1"
>
<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-
6
"
>
<div
class=
"col-md-
4
"
>
<label>
Send
</label>
<p-dropdown
[(
ngModel
)]="
message
.
MessageTemplate
"
[
options
]="
messageTemplates
"
<p-dropdown
[(
ngModel
)]="
message
.
MessageTemplate
"
[
options
]="
messageTemplates
"
filter=
"true"
name=
"messageTemplate{{message.ObjectID}}"
optionLabel=
"TemplateName"
>
...
...
@@ -306,12 +306,15 @@
</ng-template>
</p-dropdown>
</div>
<div
class=
"col-md-2 text-center"
>
<button
(
click
)="
configureMessageTemplate
(
message
)"
[
disabled
]="
showLoader
"
icon=
"ui-icon-settings"
<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"
<button
(
click
)="
removeMessage
(
message
,
stage
)"
*
ngIf=
"!message.IsWithdrawalMessage"
[
disabled
]="
showLoader
"
icon=
"ui-icon-close"
pButton
type=
"button"
>
</button>
</div>
...
...
@@ -340,20 +343,20 @@
</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
[
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"
>
toggler=
"header"
>
<p-panel
[
toggleable
]="
true
"
#
panel
>
<p-panel
[
toggleable
]="
true
"
#
panel
[
collapsed
]="
true
"
>
<p-header>
<span
(
click
)="
toggleInput
($
event
,
'
StageName
'+
stage
.
SortOrder
,
true
)"
*
ngIf=
"showLabel('StageName'+stage.SortOrder)"
<span
(
click
)="
toggleInput
($
event
,
'
StageName
'+
stage
.
SortOrder
,
true
)"
*
ngIf=
"showLabel('StageName'+stage.SortOrder)"
class=
"ui-panel-title"
>
{{getStageHeader(stage)}}
</span>
...
...
@@ -383,8 +386,10 @@
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>
[
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
)"
...
...
@@ -392,11 +397,12 @@
class=
"ui-g-6"
dndEffectAllowed=
"copy"
>
<div
class=
"ui-g"
>
<div
class=
"col-md-8"
>
<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"
<button
(
click
)="
removeStep
(
step
,
stage
)"
[
disabled
]="
showLoader
"
icon=
"ui-icon-close"
pButton
type=
"button"
></button>
</div>
...
...
@@ -430,7 +436,7 @@
</div>
</div>
<p-panel
[
collapsed
]="!
stage
.
UseMessaging
"
[
toggleable
]="
stage
.
UseMessaging
"
header=
"{{stageMessagesCount(stage)}}"
>
header=
"{{stageMessagesCount(stage)}}"
class=
"messaging"
>
<div
class=
"form-group row"
>
<div
class=
"col-md-offset-9 col-md-3"
>
<button
(
click
)="
addMessage
(
stage
)"
*
ngIf=
"stage.UseMessaging"
...
...
@@ -448,10 +454,11 @@
<h3>
Withdrawal Process
</h3>
</div>
<div
*
ngIf=
"stage.UseMessaging"
class=
"col-lg-12 col-md-12"
>
<div
class=
"col-md-
4
"
>
<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
)"
(
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
"
...
...
@@ -465,25 +472,24 @@
<label>
{{message.DelayString}}
</label>
</div>
</div>
<div
class=
"col-md-
4
"
>
<div
class=
"col-md-
2
"
>
<label
for=
"Variance{{message.ObjectID}}"
>
+/-
</label>
<input
[(
ngModel
)]="
message
.
Variance
"
[
disabled
]="
showLoader
"
[
id
]="'
Variance
'+
message
.
ObjectID
"
class=
"form-control"
name=
"Variance{{message.ObjectID}}"
type=
"text"
>
</div>
<div
class=
"col-md-
4
"
>
<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>
<div
*
ngIf=
"stage.UseMessaging"
class=
"col-lg-12 col-md-12"
>
<div
class=
"col-md-8"
>
<div
class=
"col-md-5"
>
<label>
Send
</label>
<p-dropdown
(
onChange
)="
showMessageTemplateDialog
($
event
,
message
)"
[(
ngModel
)]="
message
.
MessageTemplate
"
<p-dropdown
(
onChange
)="
showMessageTemplateDialog
($
event
,
message
)"
[(
ngModel
)]="
message
.
MessageTemplate
"
[
autoDisplayFirst
]="
false
"
[
options
]="
messageTemplates
"
filter=
"true"
...
...
@@ -504,18 +510,19 @@
</ng-template>
</p-dropdown>
</div>
<div
class=
"col-md-4 text-center"
>
<button
(
click
)="
configureMessageTemplate
(
message
)"
[
disabled
]="
showLoader
"
icon=
"ui-icon-settings"
<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
"
<button
(
click
)="
removeMessage
(
message
,
stage
)"
*
ngIf=
"!message.IsWithdrawalMessage"
[
disabled
]="
showLoader
"
icon=
"ui-icon-close"
pButton
type=
"button"
></button>
</div>
</div>
</div>
</p-panel>
<!-- End displaying messages -->
<hr/>
...
...
@@ -536,7 +543,8 @@
<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"
>
<p-panel
*
ngFor=
"let stage of postStages"
[
toggleable
]="
true
"
toggler=
"header"
[
collapsed
]="
true
"
>
<p-header>
<span
class=
"ui-panel-title"
>
{{getStageHeader(stage)}}
...
...
@@ -566,7 +574,7 @@
</div>
</div>
<p-panel
[
collapsed
]="!
stage
.
UseMessaging
"
[
toggleable
]="
stage
.
UseMessaging
"
header=
"{{stageMessagesCount(stage)}}"
>
header=
"{{stageMessagesCount(stage)}}"
class=
"messaging"
>
<div
class=
"form-group row"
>
<div
class=
"col-md-offset-9 col-md-3"
>
<button
(
click
)="
addMessage
(
stage
)"
*
ngIf=
"stage.UseMessaging"
...
...
@@ -582,10 +590,11 @@
<h3>
Withdrawal Process
</h3>
</div>
<div
*
ngIf=
"stage.UseMessaging"
class=
"col-lg-12 col-md-12"
>
<div
class=
"col-md-
4
"
>
<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
)"
(
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
"
...
...
@@ -599,25 +608,24 @@
<label>
{{message.DelayString}}
</label>
</div>
</div>
<div
class=
"col-md-
4
"
>
<div
class=
"col-md-
2
"
>
<label
for=
"Variance{{message.ObjectID}}"
>
+/-
</label>
<input
[(
ngModel
)]="
message
.
Variance
"
[
disabled
]="
showLoader
"
[
id
]="'
Variance
'+
message
.
ObjectID
"
class=
"form-control"
name=
"Variance{{message.ObjectID}}"
type=
"text"
>
</div>
<div
class=
"col-md-
4
"
>
<div
class=
"col-md-
5
"
>
<label>
Business Hours only
</label>
<p-checkbox
[(
ngModel
)]="
message
.
BusinessHoursOnly
"
binary=
"true"
name=
"BusinessHoursOnly{{message.ObjectID}}"
>
</p-checkbox>
</div>
</div>
<div
*
ngIf=
"stage.UseMessaging"
class=
"col-lg-12 col-md-12"
>
<div
class=
"col-md-8"
>
<div
class=
"col-md-5"
>
<label>
Send
</label>
<p-dropdown
[(
ngModel
)]="
message
.
MessageTemplate
"
[
options
]="
messageTemplates
"
<p-dropdown
[(
ngModel
)]="
message
.
MessageTemplate
"
[
options
]="
messageTemplates
"
filter=
"true"
name=
"messageTemplate{{message.ObjectID}}"
optionLabel=
"TemplateName"
>
...
...
@@ -635,11 +643,14 @@
</ng-template>
</p-dropdown>
</div>
<div
class=
"col-md-4 text-center"
>
<button
(
click
)="
configureMessageTemplate
(
message
)"
[
disabled
]="
showLoader
"
icon=
"ui-icon-settings"
<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"
<button
(
click
)="
removeMessage
(
message
,
stage
)"
*
ngIf=
"!message.IsWithdrawalMessage"
[
disabled
]="
showLoader
"
icon=
"ui-icon-close"
pButton
type=
"button"
></button>
</div>
...
...
@@ -658,15 +669,18 @@
<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-message-templates"
<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"
<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
"
<button
(
click
)="
saveWorkflowTemplate
(
true
)"
*
ngIf=
"showSaveCopyBtn()"
[
disabled
]="
showLoader
"
class=
"btn btn-primary largeBtn"
type=
"button"
value=
"Save As a Copy"
>
Save As a Copy
...
...
frontend/angular/src/app/components/edit-workflow-template/edit-workflow-template.component.scss
View file @
6db877d0
...
...
@@ -69,16 +69,23 @@ p-inputMask {
}
.ml-0
{
margin-left
:
0
px
;
margin-left
:
0
;
}
.templateName
{
font-size
:
24px
;
}
.interactive
{
cursor
:
pointer
;
}
label
{
font-family
:
"Usual-Regular"
;
font-weight
:
300
;
text-overflow
:
ellipsis
;
overflow
:
hidden
;
white-space
:
nowrap
;
}
.calcField
{
...
...
frontend/angular/src/app/components/edit-workflow-template/edit-workflow-template.component.ts
View file @
6db877d0
import
{
Component
,
OnInit
,
ViewChild
}
from
'@angular/core'
;
import
{
NgForm
}
from
'@angular/forms'
;
import
{
ActivatedRoute
,
Params
,
Router
}
from
'@angular/router'
;
import
{
DndDropEvent
}
from
'ngx-drag-drop'
;
import
{
ConfirmationService
}
from
'primeng/api'
;
import
{
Dialog
}
from
'primeng/dialog'
;
import
{
combineLatest
}
from
'rxjs/observable/combineLatest'
;
...
...
@@ -21,7 +22,6 @@ import { UtilsService } from '../../oneit/services/utils.service';
import
{
AdminPortalLayoutService
}
from
'../admin-portal/admin-portal-layout/admin-portal-layout.service'
;
import
{
BaseComponent
}
from
'../base/base.component'
;
import
{
EditWorkflowTemplateService
}
from
'./edit-workflow-template.service'
;
import
{
DndDropEvent
}
from
"ngx-drag-drop"
;
@
Component
({
selector
:
'app-edit-workflow-template'
,
...
...
@@ -51,6 +51,8 @@ export class EditWorkflowTemplateComponent extends BaseComponent implements OnIn
showLoader
=
false
;
editMode
=
false
;
displayNewMessageTemplate
=
false
;
draggingItem
:
any
=
null
;
draggingId
=
null
;
selectedTemplateID
=
null
;
selectedMessageTemplate
=
null
;
// object id of type WorkflowMessageModel
...
...
@@ -154,6 +156,12 @@ export class EditWorkflowTemplateComponent extends BaseComponent implements OnIn
this
.
filterStages
();
}
reOrderSteps
():
void
{
this
.
workflow
.
WorkFlowStages
.
forEach
(
stage
=>
{
stage
.
Steps
.
sort
((
a
,
b
)
=>
a
.
SortOrder
<
b
.
SortOrder
?
-
1
:
a
.
SortOrder
>
b
.
SortOrder
?
1
:
0
);
});
}
isGeneric
(
stage
:
WorkflowStageModel
):
boolean
{
return
!
stage
.
StageType
.
IsPostStage
&&
!
stage
.
StageType
.
IsPreStage
;
}
...
...
@@ -174,8 +182,11 @@ export class EditWorkflowTemplateComponent extends BaseComponent implements OnIn
}
showSaveCopyBtn
():
boolean
{
return
this
.
workflow
&&
this
.
workflow
.
ObjectID
?
(
!!
this
.
workflow
.
HiringTeam
)
:
false
;
if
(
this
.
workflow
&&
this
.
workflow
.
ObjectID
)
{
return
this
.
workflow
.
HiringTeam
===
null
;
}
return
false
;
}
getStageHeader
(
stage
:
WorkflowStageModel
):
string
{
...
...
@@ -188,11 +199,11 @@ export class EditWorkflowTemplateComponent extends BaseComponent implements OnIn
filteredStages
(
isPreStage
:
boolean
,
isPostStage
:
boolean
):
Array
<
WorkflowStageModel
>
{
if
(
isPreStage
)
{
return
this
.
workflow
.
WorkFlowStages
.
filter
(
stage
=>
stage
.
StageType
.
IsPreStage
)
return
this
.
workflow
.
WorkFlowStages
.
filter
(
stage
=>
stage
.
StageType
.
IsPreStage
)
;
}
else
if
(
isPostStage
)
{
return
this
.
workflow
.
WorkFlowStages
.
filter
(
stage
=>
stage
.
StageType
.
IsPostStage
)
return
this
.
workflow
.
WorkFlowStages
.
filter
(
stage
=>
stage
.
StageType
.
IsPostStage
)
;
}
else
{
return
this
.
workflow
.
WorkFlowStages
.
filter
(
stage
=>
!
stage
.
StageType
.
IsPreStage
&&
!
stage
.
StageType
.
IsPostStage
)
return
this
.
workflow
.
WorkFlowStages
.
filter
(
stage
=>
!
stage
.
StageType
.
IsPreStage
&&
!
stage
.
StageType
.
IsPostStage
)
;
}
}
...
...
@@ -236,6 +247,11 @@ export class EditWorkflowTemplateComponent extends BaseComponent implements OnIn
}
generateDelayString
(
message
:
WorkflowMessageModel
):
void
{
if
(
!
message
.
Delay
)
{
return
;
}
const
delay
=
message
.
Delay
.
replace
(
/_/g
,
''
)
.
split
(
':'
);
...
...
@@ -355,11 +371,20 @@ export class EditWorkflowTemplateComponent extends BaseComponent implements OnIn
}
removeStep
(
step
:
WorkflowStepModel
,
stage
:
WorkflowStageModel
):
void
{
this
.
confirmationService
.
confirm
({
message
:
'Are you sure you want to delete this record?'
,
header
:
'Delete Confirmation'
,
icon
:
'fa fa-trash'
,
key
:
'RemoveRow'
,
accept
:
()
=>
{
const
stepType
=
step
.
StepType
;
this
.
utilsService
.
removeMultiRefObject
(
step
,
stage
,
'Steps'
,
this
.
createdObjs
,
this
.
updatedObjs
,
this
.
deletedObjs
);
this
.
reAssignStepOrders
(
stage
);
this
.
addStepType
(
stepType
);
}
});
}
removeStepType
(
step
:
StepTypeEnum
):
void
{
this
.
stepTypes
.
splice
(
this
.
stepTypes
.
findIndex
(
elem
=>
elem
.
Value
===
step
.
Value
),
1
);
...
...
@@ -458,19 +483,18 @@ export class EditWorkflowTemplateComponent extends BaseComponent implements OnIn
this
.
utilsService
.
addObjsToJSONByObjectID
(
this
.
updatedObjs
,
this
.
workflow
.
WorkFlowStages
);
this
.
workflow
.
WorkFlowStages
=
this
.
workflow
.
WorkFlowStages
||
[];
this
.
workflow
.
WorkFlowStages
.
forEach
(
stage
=>
{
this
.
updatedObjs
[
stage
.
ObjectID
]
=
stage
this
.
updatedObjs
[
stage
.
ObjectID
]
=
stage
;
stage
.
Steps
=
stage
.
Steps
||
[];
stage
.
WorkFlowMessages
=
stage
.
WorkFlowMessages
||
[];
stage
.
WorkFlowMessages
.
forEach
(
msg
=>
{
this
.
generateDelayString
(
msg
)
this
.
generateDelayString
(
msg
);
});
stage
.
Steps
.
forEach
(
step
=>
{
this
.
removeStepType
(
step
.
StepType
);
})
});
this
.
utilsService
.
addObjsToJSONByObjectID
(
this
.
updatedObjs
,
stage
.
WorkFlowMessages
);
this
.
utilsService
.
addObjsToJSONByObjectID
(
this
.
updatedObjs
,
stage
.
Steps
);
...
...
@@ -478,6 +502,7 @@ export class EditWorkflowTemplateComponent extends BaseComponent implements OnIn
});
this
.
reOrderStages
();
this
.
reOrderSteps
();
this
.
showLoader
=
false
;
},
error
=>
{
...
...
@@ -516,15 +541,11 @@ export class EditWorkflowTemplateComponent extends BaseComponent implements OnIn
}
}
onDragStart
(
item
,
list
,
listId
):
void
{
this
.
draggingItem
=
list
.
find
(
listItem
=>
listItem
.
ObjectID
===
item
.
ObjectID
);
this
.
draggingId
=
listId
;
}
draggingItem
:
any
=
null
;
draggingId
=
null
;
onDragEnd
(
event
):
void
{
setTimeout
(()
=>
{
this
.
draggingItem
=
null
;
...
...
@@ -532,13 +553,13 @@ export class EditWorkflowTemplateComponent extends BaseComponent implements OnIn
});
}
onDrop
(
event
:
DndDropEvent
,
list
?:
any
[]
,
draggingId
?:
any
):
void
{
onDrop
(
event
:
DndDropEvent
,
list
?:
Array
<
any
>
,
draggingId
?:
any
):
void
{
if
(
draggingId
!==
this
.
draggingId
)
{
return
;
}
let
index
=
event
.
index
;
if
(
typeof
index
===
"undefined"
)
{
if
(
typeof
index
===
'undefined'
)
{
index
=
list
.
length
;
}
...
...
@@ -553,10 +574,9 @@ export class EditWorkflowTemplateComponent extends BaseComponent implements OnIn
list
.
splice
(
index
,
0
,
this
.
draggingItem
);
}
list
.
forEach
((
item
,
index
)
=>
{
item
.
SortOrder
=
index
;
})
list
.
forEach
((
item
,
i
)
=>
{
item
.
SortOrder
=
i
;
});
}
// tslint:disable-next-line:max-file-line-count
...
...
frontend/angular/src/assets/css/custom.scss
View file @
6db877d0
...
...
@@ -108,6 +108,16 @@
/* End listing of message and workflow template styling */
/* Panel Styling */
.messaging
{
.ui-panel
{
.ui-panel-content
{
padding-left
:
0
!
important
;
padding-right
:
0
!
important
;
}
}
}
.ui-panel
{
margin-right
:
auto
;
margin-left
:
auto
;
...
...
@@ -202,6 +212,16 @@
}
}
/* End styling select button*/
.ui-multiselect
{
border-bottom
:
0
!
important
;
}
.dropdown-text
{
width
:
75%
!
important
;
}
.h-80
{
height
:
80px
;
}
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