Commit 262ab871 by GD-A-150752

code-refactor

parent d70d9155
...@@ -2,7 +2,12 @@ ...@@ -2,7 +2,12 @@
<app-error-message></app-error-message> <app-error-message></app-error-message>
<form #form="ngForm"> <form #form="ngForm">
<div class="ui-g ui-fluid"> <div class="ui-g ui-fluid">
<div class="ui-g-10 listing-title pt-0 pb-0">{{editMode ? "Edit" : "Add"}} Workflow Template</div> <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">
</a>
{{editMode ? "Edit" : "Add"}} Message Template
</div>
</div> </div>
<div class="ui-g form-group"> <div class="ui-g form-group">
<div class="ui-g-12 ui-md-12"> <div class="ui-g-12 ui-md-12">
...@@ -40,28 +45,24 @@ ...@@ -40,28 +45,24 @@
</app-select-2> </app-select-2>
</div> </div>
</div> </div>
<div class="form-group row"> <div class="form-group row h-80">
<div class="col-md-offset-6 col-md-6" *ngIf="contentPlaceholderOptions.length"> <div class="col-md-offset-6 col-md-6" *ngIf="contentPlaceholderOptions.length">
<label>Placeholder for Content</label> <label>Placeholder for Content</label>
<app-select-2 [data]="contentPlaceholderOptions" [value]="0" <app-select-2 [data]="contentPlaceholderOptions" [value]="0"
fieldLabel="Description" fieldLabel="Description"
(valChange)="addPlaceholderInMessageContent($event)"> (valChange)="addPlaceholderInMessageContent($event)">
</app-select-2> </app-select-2>
</div>
</div>
<p-overlayPanel #contentLinkModal> <p-overlayPanel #contentLinkModal>
<label class="ui-g-12" style="padding-left: 0;">Please enter anchor text</label> <label class="ui-g-12" style="padding-left: 0;">Please enter anchor text</label>
<input pInputText name="contentLinkModal" type="text" class="ui-g-12" <input pInputText name="contentLinkModal" type="text" class="ui-g-12"
style="font-size:15px !important;height:25px !important;margin-bottom: 20px;" style="font-size:15px !important;height:25px !important;margin-bottom: 20px;"
[(ngModel)]="this.linkText" [(ngModel)]="this.linkText"
id="contentLinkModal"> id="contentLinkModal">
<p-button class="ui-button-success" <button class="btn btn-primary add-more-btn" (click)="addAnchorText(true)">Add</button>
(click)="addAnchorText(true)">Add <button class="btn btn-primary add-more-btn" (click)="addAnchorText(false)">Cancel</button>
</p-button>
<p-button class="ui-button-danger"
(click)="addAnchorText(false)">Cancel
</p-button>
</p-overlayPanel> </p-overlayPanel>
</div>
</div>
<div class="form-group row"> <div class="form-group row">
<div class="col-md-12"> <div class="col-md-12">
<label>Message Content</label> <label>Message Content</label>
......
...@@ -42,10 +42,10 @@ export class EditMessageTemplateComponent extends BaseComponent implements OnIni ...@@ -42,10 +42,10 @@ export class EditMessageTemplateComponent extends BaseComponent implements OnIni
contentCursorPoint; contentCursorPoint;
temporaryMessageContent = ''; temporaryMessageContent = '';
linkText = ''; linkText = '';
showLoader = false;
editMode = false;
options = {minimumResultsForSearch: Infinity}; options = {minimumResultsForSearch: Infinity};
templateTypeId = 0; templateTypeId = 0;
showLoader = false;
editMode = false;
constructor( constructor(
private router: Router, private router: Router,
...@@ -67,28 +67,23 @@ export class EditMessageTemplateComponent extends BaseComponent implements OnIni ...@@ -67,28 +67,23 @@ export class EditMessageTemplateComponent extends BaseComponent implements OnIni
this.utilsService.resetCounter(); this.utilsService.resetCounter();
this.getPlaceholderOptions(); this.getPlaceholderOptions();
if (!this.adminPortalLayoutService.userData) { if (this.adminPortalLayoutService.userData) {
this.subscriptions.push(this.adminPortalLayoutService.userDataUpdated this.initComponent();
} else {
this.subscriptions.push(this.adminPortalLayoutService.userDataUpdated.first()
.subscribe( .subscribe(
() => { () => {
this.startComponent(); this.initComponent();
} }
)); ));
} }
this.startComponent();
} }
startComponent(): void { initComponent(): void {
setTimeout(() => { setTimeout(() => {
this.subscriptions.push(this.appService.getMessageTemplateTypeEnum() this.subscriptions.push(this.appService.getMessageTemplateTypeEnum()
.subscribe( .subscribe(
data => { data => {
if (this.alreadyExists()) {
return;
}
this.messageTemplateTypes = data; this.messageTemplateTypes = data;
this.subscriptions.push(this.activatedRoute.params this.subscriptions.push(this.activatedRoute.params
...@@ -108,6 +103,7 @@ export class EditMessageTemplateComponent extends BaseComponent implements OnIni ...@@ -108,6 +103,7 @@ export class EditMessageTemplateComponent extends BaseComponent implements OnIni
this.utilsService.createObject(this.messageTemplate, this.createdObjs); this.utilsService.createObject(this.messageTemplate, this.createdObjs);
this.setInputListener(); this.setInputListener();
this.showLoader = false; this.showLoader = false;
} }
...@@ -147,9 +143,11 @@ export class EditMessageTemplateComponent extends BaseComponent implements OnIni ...@@ -147,9 +143,11 @@ export class EditMessageTemplateComponent extends BaseComponent implements OnIni
if (editElement) { if (editElement) {
const editor = editElement.getElementsByClassName('ql-editor'); const editor = editElement.getElementsByClassName('ql-editor');
if (editor[0]) { if (editor[0]) {
editor[0].classList.add('form-control'); editor[0].classList.add('form-control');
} }
['keyup', 'click'].forEach(event => { ['keyup', 'click'].forEach(event => {
editElement.addEventListener(event, () => { editElement.addEventListener(event, () => {
this.contentCursorPoint = this.messageContentEditor.getQuill() this.contentCursorPoint = this.messageContentEditor.getQuill()
...@@ -208,11 +206,11 @@ export class EditMessageTemplateComponent extends BaseComponent implements OnIni ...@@ -208,11 +206,11 @@ export class EditMessageTemplateComponent extends BaseComponent implements OnIni
addPlaceholderInMessageContent($event): void { addPlaceholderInMessageContent($event): void {
if (!$event.data[0]) { if (!$event) {
return; return;
} }
this.contentPlaceholder = $event.data[0]; this.contentPlaceholder = $event;
if (!this.contentPlaceholder || !this.contentPlaceholder.Value) { if (!this.contentPlaceholder || !this.contentPlaceholder.Value) {
return; return;
...@@ -224,13 +222,15 @@ export class EditMessageTemplateComponent extends BaseComponent implements OnIni ...@@ -224,13 +222,15 @@ export class EditMessageTemplateComponent extends BaseComponent implements OnIni
if (this.emailTemplateType()) { if (this.emailTemplateType()) {
if (this.contentPlaceholder.IsLink) { if (this.contentPlaceholder.IsLink) {
this.contentLinkModal.toggle($event); const event = new Event('build');
this.contentLinkModal.toggle(event, this.messageContentEditor.getQuill());
} else { } else {
this.messageContentEditor.getQuill() this.messageContentEditor.getQuill()
.insertText(this.contentCursorPoint, this.contentPlaceholder.Placeholder); .insertText(this.contentCursorPoint, this.contentPlaceholder.Placeholder);
} }
} else { } else {
const textarea: HTMLTextAreaElement = document.getElementById('messageContentTxtAreaId') as HTMLTextAreaElement; const textarea: HTMLTextAreaElement = document.getElementById('messageContentTxtAreaId') as HTMLTextAreaElement;
this.setValueAndFocus(textarea, 'messageContentTxtArea', this.contentPlaceholder.Placeholder); this.setValueAndFocus(textarea, 'messageContentTxtArea', this.contentPlaceholder.Placeholder);
} }
...@@ -248,11 +248,11 @@ export class EditMessageTemplateComponent extends BaseComponent implements OnIni ...@@ -248,11 +248,11 @@ export class EditMessageTemplateComponent extends BaseComponent implements OnIni
storeMessageContent($event): void { storeMessageContent($event): void {
if (!$event.data[0]) { if (!$event) {
return; return;
} }
this.messageTemplate.TemplateType = $event.data[0]; this.messageTemplate.TemplateType = $event;
if (this.messageTemplate.MessageContent !== undefined) { if (this.messageTemplate.MessageContent !== undefined) {
if (this.messageTemplate.TemplateType.Description === 'SMS') { if (this.messageTemplate.TemplateType.Description === 'SMS') {
...@@ -278,7 +278,7 @@ export class EditMessageTemplateComponent extends BaseComponent implements OnIni ...@@ -278,7 +278,7 @@ export class EditMessageTemplateComponent extends BaseComponent implements OnIni
} }
addPlaceholderInSubject($event): void { addPlaceholderInSubject($event): void {
this.subjectPlaceholder = $event.data[0]; this.subjectPlaceholder = $event;
if (this.emailTemplateType() && this.subjectPlaceholder && this.subjectPlaceholder.Value) { if (this.emailTemplateType() && this.subjectPlaceholder && this.subjectPlaceholder.Value) {
const input: HTMLInputElement = document.getElementById('subjectInputId') as HTMLInputElement; const input: HTMLInputElement = document.getElementById('subjectInputId') as HTMLInputElement;
this.setValueAndFocus(input, 'subjectInput', this.subjectPlaceholder.Placeholder); this.setValueAndFocus(input, 'subjectInput', this.subjectPlaceholder.Placeholder);
...@@ -362,15 +362,18 @@ export class EditMessageTemplateComponent extends BaseComponent implements OnIni ...@@ -362,15 +362,18 @@ export class EditMessageTemplateComponent extends BaseComponent implements OnIni
if (this.templateCreationFromWorkflow()) { if (this.templateCreationFromWorkflow()) {
let id = this.messageTemplate.ObjectID; let id = this.messageTemplate.ObjectID;
if (data.created[id]) { if (data.created[id]) {
id = data.created[id]; id = data.created[id];
} }
this.closeModal.emit(id); this.closeModal.emit(id);
} else if (this.templateUpdateFromWorkflow()) { } else if (this.templateUpdateFromWorkflow()) {
this.closeModal.emit(this.messageTemplate.ObjectID); this.closeModal.emit(this.messageTemplate.ObjectID);
} else { } else {
this.router.navigate(['/admin/list-message-templates']); this.router.navigate(['/admin/list-message-templates']);
} }
}, },
error => { error => {
this.showLoader = false; this.showLoader = false;
...@@ -421,8 +424,12 @@ export class EditMessageTemplateComponent extends BaseComponent implements OnIni ...@@ -421,8 +424,12 @@ export class EditMessageTemplateComponent extends BaseComponent implements OnIni
const start = element.selectionStart; const start = element.selectionStart;
const end = element.selectionEnd; const end = element.selectionEnd;
element.value = `${element.value.substring(0, start)}${placeholder}${element.value.substring(end)}`; element.value = `${element.value.substring(0, start)}${placeholder}${element.value.substring(end)}`;
this.focusField(elementId); this.focusField(elementId);
element.selectionEnd = end + placeholder.length;
setTimeout(() => {
element.selectionStart = element.selectionEnd = end + placeholder.length;
}, 0);
} }
focusField(elementId: string): void { focusField(elementId: string): void {
...@@ -439,9 +446,5 @@ export class EditMessageTemplateComponent extends BaseComponent implements OnIni ...@@ -439,9 +446,5 @@ export class EditMessageTemplateComponent extends BaseComponent implements OnIni
}, 0); }, 0);
} }
alreadyExists(): boolean {
return Object.keys(this.createdObjs).length > 0 || Object.keys(this.updatedObjs).length > 0;
}
// tslint:disable-next-line:max-file-line-count // tslint:disable-next-line:max-file-line-count
} }
...@@ -41,24 +41,21 @@ export class ListMessageTemplateComponent extends BaseComponent implements OnIni ...@@ -41,24 +41,21 @@ export class ListMessageTemplateComponent extends BaseComponent implements OnIni
new SorterModel('Alphabetical (Z-A)', false) new SorterModel('Alphabetical (Z-A)', false)
]; ];
this.showLoader = true; this.showLoader = true;
this.processing = true;
this.startComponent(); if (this.adminPortalLayoutService.userData) {
this.subscriptions.push(this.adminPortalLayoutService.userDataUpdated this.initComponent();
} else {
this.subscriptions.push(
this.adminPortalLayoutService.userDataUpdated.first()
.subscribe( .subscribe(
() => { () => this.initComponent()
this.startComponent(); )
} );
));
} }
startComponent(): void {
if (!this.processing) {
return;
} }
this.processing = false; initComponent(): void {
const sharedMsgParams = { const sharedMsgParams = {
OnlyGlobalTemplate: true OnlyGlobalTemplate: true
}; };
...@@ -76,8 +73,10 @@ export class ListMessageTemplateComponent extends BaseComponent implements OnIni ...@@ -76,8 +73,10 @@ export class ListMessageTemplateComponent extends BaseComponent implements OnIni
this.myTemplates = response[0].filter(message => message.HiringTeam === this.myTemplates = response[0].filter(message => message.HiringTeam ===
this.adminPortalLayoutService.getHiringTeamID().ObjectID); this.adminPortalLayoutService.getHiringTeamID().ObjectID);
this.sharedTemplates = response[1]; this.sharedTemplates = response[1];
this.sortSpecificTemplate('myTemplates'); this.sortSpecificTemplate('myTemplates');
this.sortSpecificTemplate('sharedTemplates'); this.sortSpecificTemplate('sharedTemplates');
this.showLoader = false; this.showLoader = false;
} }
) )
...@@ -90,17 +89,17 @@ export class ListMessageTemplateComponent extends BaseComponent implements OnIni ...@@ -90,17 +89,17 @@ export class ListMessageTemplateComponent extends BaseComponent implements OnIni
} }
sortMessageTemplates($event): void { sortMessageTemplates($event): void {
if (!$event.data[0]) {
if (!$event) {
return; return;
} }
const sort = $event.data[0];
this.showLoader = true; this.showLoader = true;
this.myTemplates = this.utilsService.sort(this.myTemplates, this.myTemplates = this.utilsService.sort(this.myTemplates,
['TemplateName'], [sort.ascending ? 1 : -1], false); ['TemplateName'], [$event.ascending ? 1 : -1], false);
this.sharedTemplates = this.utilsService.sort(this.sharedTemplates, this.sharedTemplates = this.utilsService.sort(this.sharedTemplates,
['TemplateName'], [sort.ascending ? 1 : -1], false); ['TemplateName'], [$event.ascending ? 1 : -1], false);
this.showLoader = false; this.showLoader = false;
} }
onRowSelect(data: MessageTemplateModel): void { onRowSelect(data: MessageTemplateModel): void {
......
...@@ -21,7 +21,6 @@ export class ListWorkFlowsComponent extends BaseComponent implements OnInit { ...@@ -21,7 +21,6 @@ export class ListWorkFlowsComponent extends BaseComponent implements OnInit {
sharedTemplates: Array<WorkflowTemplateModel> = []; sharedTemplates: Array<WorkflowTemplateModel> = [];
sortOptions: Array<SorterModel>; sortOptions: Array<SorterModel>;
showLoader = false; showLoader = false;
processing = false;
constructor( constructor(
private router: Router, private router: Router,
...@@ -38,24 +37,21 @@ export class ListWorkFlowsComponent extends BaseComponent implements OnInit { ...@@ -38,24 +37,21 @@ export class ListWorkFlowsComponent extends BaseComponent implements OnInit {
new SorterModel('Alphabetical (Z-A)', false) new SorterModel('Alphabetical (Z-A)', false)
]; ];
this.showLoader = true; this.showLoader = true;
this.processing = true;
this.startComponent(); if (this.adminPortalLayoutService.userData) {
this.subscriptions.push(this.adminPortalLayoutService.userDataUpdated this.initComponent();
} else {
this.subscriptions.push(
this.adminPortalLayoutService.userDataUpdated.first()
.subscribe( .subscribe(
() => { () => this.initComponent()
this.startComponent(); )
} );
));
} }
startComponent(): void {
if (!this.processing) {
return;
} }
this.processing = false; initComponent(): void {
const sharedParams = { const sharedParams = {
OnlyGlobalTemplates: true OnlyGlobalTemplates: true
}; };
...@@ -72,12 +68,11 @@ export class ListWorkFlowsComponent extends BaseComponent implements OnInit { ...@@ -72,12 +68,11 @@ export class ListWorkFlowsComponent extends BaseComponent implements OnInit {
(response: [Array<WorkflowTemplateModel>, Array<WorkflowTemplateModel>]) => { (response: [Array<WorkflowTemplateModel>, Array<WorkflowTemplateModel>]) => {
this.myTemplates = response[0].filter(wf => wf.HiringTeam === this.myTemplates = response[0].filter(wf => wf.HiringTeam ===
this.adminPortalLayoutService.getHiringTeamID().ObjectID); this.adminPortalLayoutService.getHiringTeamID().ObjectID);
this.sortSpecificTemplate('myTemplates');
this.sharedTemplates = response[1]; this.sharedTemplates = response[1];
this.sortSpecificTemplate('myTemplates');
this.sortSpecificTemplate('sharedTemplates'); this.sortSpecificTemplate('sharedTemplates');
const val = this.myTemplates.map(m => m.ObjectID)
.join(',');
console.log(val);
this.showLoader = false; this.showLoader = false;
}, },
error => { error => {
...@@ -94,17 +89,17 @@ export class ListWorkFlowsComponent extends BaseComponent implements OnInit { ...@@ -94,17 +89,17 @@ export class ListWorkFlowsComponent extends BaseComponent implements OnInit {
} }
sortWorkFlowTemplates($event): void { sortWorkFlowTemplates($event): void {
if (!$event.data[0]) {
if (!$event) {
return; return;
} }
const sort = $event.data[0];
this.showLoader = true; this.showLoader = true;
this.myTemplates = this.utilsService.sort(this.myTemplates, this.myTemplates = this.utilsService.sort(this.myTemplates,
['TemplateName'], [sort.ascending ? 1 : -1], false); ['TemplateName'], [$event.ascending ? 1 : -1], false);
this.sharedTemplates = this.utilsService.sort(this.sharedTemplates, this.sharedTemplates = this.utilsService.sort(this.sharedTemplates,
['TemplateName'], [sort.ascending ? 1 : -1], false); ['TemplateName'], [$event.ascending ? 1 : -1], false);
this.showLoader = false; this.showLoader = false;
} }
onRowSelect(data: WorkflowTemplateModel): void { onRowSelect(data: WorkflowTemplateModel): void {
......
...@@ -148,7 +148,7 @@ ...@@ -148,7 +148,7 @@
.ui-inputswitch { .ui-inputswitch {
height: 20px !important; height: 20px !important;
width: 40px !important !important; width: 40px !important;
border-color: #667281 !important; border-color: #667281 !important;
background-color: #667281 !important; background-color: #667281 !important;
border-radius: 34px !important; border-radius: 34px !important;
...@@ -201,3 +201,7 @@ ...@@ -201,3 +201,7 @@
} }
} }
} }
.h-80 {
height: 80px;
}
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