Commit 720edbff by GD-A-150752

list-message-templates

parent 689650cd
...@@ -115,7 +115,7 @@ export class EditMessageTemplateComponent implements OnInit, OnDestroy { ...@@ -115,7 +115,7 @@ export class EditMessageTemplateComponent implements OnInit, OnDestroy {
let idToNavigate = this.messageTemplate.ObjectID; let idToNavigate = this.messageTemplate.ObjectID;
if (data["created"][idToNavigate]) { if (data["created"][idToNavigate]) {
idToNavigate = data["created"][idToNavigate]; idToNavigate = data["created"][idToNavigate];
this.router.navigate(["/edit-message-template", idToNavigate]); this.router.navigate(["/admin/edit-message-template", idToNavigate]);
return; return;
} }
this.getMessageTemplateByID(idToNavigate); this.getMessageTemplateByID(idToNavigate);
...@@ -136,4 +136,4 @@ export class EditMessageTemplateComponent implements OnInit, OnDestroy { ...@@ -136,4 +136,4 @@ export class EditMessageTemplateComponent implements OnInit, OnDestroy {
ngOnDestroy(){ ngOnDestroy(){
this.utilsService.unsubscribeSubscriptions(this.subscriptions); this.utilsService.unsubscribeSubscriptions(this.subscriptions);
} }
} }
\ No newline at end of file
...@@ -19,7 +19,8 @@ ...@@ -19,7 +19,8 @@
"testTsconfig": "tsconfig.spec.json", "testTsconfig": "tsconfig.spec.json",
"prefix": "app", "prefix": "app",
"styles": [ "styles": [
"styles.scss" "styles.scss",
"assets/css/custom.scss"
], ],
"scripts": [ "scripts": [
"../node_modules/jquery/dist/jquery.js", "../node_modules/jquery/dist/jquery.js",
......
import { NgModule } from '@angular/core'; import { NgModule } from '@angular/core';
import { FormBuilder } from '@angular/forms'; import { FormBuilder } from '@angular/forms';
import { Select2Module } from 'ng2-select2'; import { Select2Component, Select2Module } from 'ng2-select2';
import { BsDropdownModule } from 'ngx-bootstrap/dropdown'; import { BsDropdownModule } from 'ngx-bootstrap/dropdown';
import { ModalModule } from 'ngx-bootstrap/modal'; import { ModalModule } from 'ngx-bootstrap/modal';
import { DeviceDetectorModule } from 'ngx-device-detector'; import { DeviceDetectorModule } from 'ngx-device-detector';
...@@ -17,10 +17,10 @@ import { EditWorkflowTemplateComponent } from './components/edit-workflow-templa ...@@ -17,10 +17,10 @@ import { EditWorkflowTemplateComponent } from './components/edit-workflow-templa
import { EditWorkflowTemplateService } from './components/edit-workflow-template/edit-workflow-template.service'; import { EditWorkflowTemplateService } from './components/edit-workflow-template/edit-workflow-template.service';
import { ListMessageTemplateComponent } from './components/list-message-template/list-message-template.component'; import { ListMessageTemplateComponent } from './components/list-message-template/list-message-template.component';
import { ListWorkFlowsComponent } from './components/list-work-flows/list-work-flows.component'; import { ListWorkFlowsComponent } from './components/list-work-flows/list-work-flows.component';
import { SelectTwoComponent } from './components/select-2/select-2.component';
import { FullLayoutComponent } from './oneit/components/full-layout/full-layout.component'; import { FullLayoutComponent } from './oneit/components/full-layout/full-layout.component';
import { OneITModule } from './oneit/oneit.module'; import { OneITModule } from './oneit/oneit.module';
@NgModule({ @NgModule({
imports: [ imports: [
AppRoutingModule, AppRoutingModule,
...@@ -38,7 +38,8 @@ import { OneITModule } from './oneit/oneit.module'; ...@@ -38,7 +38,8 @@ import { OneITModule } from './oneit/oneit.module';
EditMessageTemplateComponent, EditMessageTemplateComponent,
ListMessageTemplateComponent, ListMessageTemplateComponent,
ListWorkFlowsComponent, ListWorkFlowsComponent,
EditWorkflowTemplateComponent EditWorkflowTemplateComponent,
SelectTwoComponent
], ],
providers: [ providers: [
FormBuilder, FormBuilder,
......
...@@ -10,8 +10,6 @@ import { UtilsService } from './oneit/services/utils.service'; ...@@ -10,8 +10,6 @@ import { UtilsService } from './oneit/services/utils.service';
export class AppService { export class AppService {
HiringTeam = 'ID:37952977';
constructor( constructor(
private enumService: EnumService, private enumService: EnumService,
private searchService: SearchService, private searchService: SearchService,
......
...@@ -9,7 +9,7 @@ export class AdminPortalLayoutService { ...@@ -9,7 +9,7 @@ export class AdminPortalLayoutService {
userDataUpdated = new Subject<any>(); userDataUpdated = new Subject<any>();
userData: any; userData: any;
constructor( constructor(
private apiService: ApiService, private apiService: ApiService,
private utilsService: UtilsService private utilsService: UtilsService
...@@ -53,6 +53,6 @@ export class AdminPortalLayoutService { ...@@ -53,6 +53,6 @@ export class AdminPortalLayoutService {
} }
getHiringTeamID() { getHiringTeamID() {
return this.userData ? this.userData.selectedTeam : null; return this.userData ? this.userData.SelectedTeam : null;
} }
} }
...@@ -6,14 +6,15 @@ export class BaseComponent implements OnDestroy { ...@@ -6,14 +6,15 @@ export class BaseComponent implements OnDestroy {
isLoading = false; isLoading = false;
subscriptions: Array<Subscription> = []; subscriptions: Array<Subscription> = [];
hiringTeam: string;
constructor( constructor(
protected utilService: UtilsService protected baseUtilsService: UtilsService
) { ) {
} }
ngOnDestroy(): void { ngOnDestroy(): void {
this.utilService.unsubscribeSubscriptions(this.subscriptions); this.baseUtilsService.unsubscribeSubscriptions(this.subscriptions);
} }
} }
...@@ -9,11 +9,7 @@ ...@@ -9,11 +9,7 @@
</div> </div>
</div> </div>
<div class="ui-g form-group"> <div class="ui-g form-group">
<div class="ui-g-12 ui-md-3"> <div class="ui-g-12 ui-md-12">
<img data-elementID="image_sidePanel" title="sidePanel"
src="assets/images/SelectPanel_MessageFlow.png"/>
</div>
<div class="ui-g-12 ui-md-9">
<div class="ui-g form-group"> <div class="ui-g form-group">
<div class="ui-g-12 ui-md-4 s-a-center"> <div class="ui-g-12 ui-md-4 s-a-center">
<label>Message Template</label> <label>Message Template</label>
...@@ -110,7 +106,7 @@ ...@@ -110,7 +106,7 @@
<div class="ui-g form-group"> <div class="ui-g form-group">
<div class="ui-g-12 ui-md-3 ui-fluid"> <div class="ui-g-12 ui-md-3 ui-fluid">
<p-button label="Cancel" [disabled]="showLoader" <p-button label="Cancel" [disabled]="showLoader"
routerLink="/edit-message-template"></p-button> routerLink="/admin/list-message-templates"></p-button>
</div> </div>
<div class="ui-g-12 ui-md-3 ui-fluid"> <div class="ui-g-12 ui-md-3 ui-fluid">
<p-button *ngIf="showSaveBtn()" label="Save" [disabled]="showLoader" <p-button *ngIf="showSaveBtn()" label="Save" [disabled]="showLoader"
......
...@@ -11,6 +11,7 @@ import { PlaceholderOptionsEnum } from '../../models/placeholderOptions.enum'; ...@@ -11,6 +11,7 @@ import { PlaceholderOptionsEnum } from '../../models/placeholderOptions.enum';
import { TemplateTypeEnum } from '../../models/templateType.enum'; import { TemplateTypeEnum } from '../../models/templateType.enum';
import { SaveService } from '../../oneit/services/save.service'; import { SaveService } from '../../oneit/services/save.service';
import { UtilsService } from '../../oneit/services/utils.service'; 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 { BaseComponent } from '../base/base.component';
import { EditMessageTemplateService } from './edit-message-template.service'; import { EditMessageTemplateService } from './edit-message-template.service';
...@@ -47,7 +48,8 @@ export class EditMessageTemplateComponent extends BaseComponent implements OnIni ...@@ -47,7 +48,8 @@ export class EditMessageTemplateComponent extends BaseComponent implements OnIni
private utilsService: UtilsService, private utilsService: UtilsService,
private saveService: SaveService, private saveService: SaveService,
private appService: AppService, private appService: AppService,
private editMessageTemplateService: EditMessageTemplateService private editMessageTemplateService: EditMessageTemplateService,
private adminPortalLayoutService: AdminPortalLayoutService
) { ) {
super(utilsService); super(utilsService);
} }
...@@ -56,9 +58,22 @@ export class EditMessageTemplateComponent extends BaseComponent implements OnIni ...@@ -56,9 +58,22 @@ export class EditMessageTemplateComponent extends BaseComponent implements OnIni
this.createdObjs = {}; this.createdObjs = {};
this.updatedObjs = {}; this.updatedObjs = {};
this.deletedObjs = {}; this.deletedObjs = {};
this.utilsService.resetCounter();
this.showLoader = true; this.showLoader = true;
this.utilsService.resetCounter();
this.getPlaceholderOptions(); this.getPlaceholderOptions();
if (!this.adminPortalLayoutService.userData) {
this.subscriptions.push(this.adminPortalLayoutService.userDataUpdated
.subscribe(
() => {
this.startComponent();
}
));
}
this.startComponent();
}
startComponent(): void {
setTimeout(() => { setTimeout(() => {
this.subscriptions.push(this.appService.getMessageTemplateTypeEnum() this.subscriptions.push(this.appService.getMessageTemplateTypeEnum()
.subscribe( .subscribe(
...@@ -67,19 +82,23 @@ export class EditMessageTemplateComponent extends BaseComponent implements OnIni ...@@ -67,19 +82,23 @@ export class EditMessageTemplateComponent extends BaseComponent implements OnIni
this.subscriptions.push(this.activatedRoute.params this.subscriptions.push(this.activatedRoute.params
.subscribe( .subscribe(
(params: Params) => { (params: Params) => {
if (params.id && params.id !== '0') { if (params.id && params.id !== '0') {
this.editMode = true; this.editMode = true;
this.getMessageTemplateByID(params.id); this.getMessageTemplateByID(params.id);
} else { } else {
// TODO: Hardcoded for now this.messageTemplate.HiringTeam = this.adminPortalLayoutService.getHiringTeamID().ObjectID;
this.messageTemplate.HiringTeam = this.appService.HiringTeam;
if (this.messageTemplateTypes) { if (this.messageTemplateTypes) {
this.messageTemplate.TemplateType = this.messageTemplateTypes[0]; this.messageTemplate.TemplateType = this.messageTemplateTypes[0];
} }
this.utilsService.createObject(this.messageTemplate, this.createdObjs); this.utilsService.createObject(this.messageTemplate, this.createdObjs);
this.setInputListener(); this.setInputListener();
this.showLoader = false; this.showLoader = false;
} }
} }
)); ));
}, },
...@@ -93,7 +112,8 @@ export class EditMessageTemplateComponent extends BaseComponent implements OnIni ...@@ -93,7 +112,8 @@ export class EditMessageTemplateComponent extends BaseComponent implements OnIni
showSaveBtn(): boolean { showSaveBtn(): boolean {
return this.messageTemplate && this.messageTemplate.ObjectID ? return this.messageTemplate && this.messageTemplate.ObjectID ?
(this.messageTemplate.HiringTeam === this.appService.HiringTeam) : false; (this.messageTemplate.HiringTeam === this.adminPortalLayoutService.getHiringTeamID().ObjectID ||
!this.editMode) : false;
} }
showSaveCopyBtn(): boolean { showSaveCopyBtn(): boolean {
...@@ -118,8 +138,8 @@ export class EditMessageTemplateComponent extends BaseComponent implements OnIni ...@@ -118,8 +138,8 @@ export class EditMessageTemplateComponent extends BaseComponent implements OnIni
} }
} else { } else {
editElement = document.getElementById('messageContentTxtAreaId'); editElement = document.getElementById('messageContentTxtAreaId');
if (editElement) { if (editElement) {
['keyup', 'click'].forEach(event => { ['keyup', 'click'].forEach(event => {
editElement.addEventListener(event, () => { editElement.addEventListener(event, () => {
...@@ -134,6 +154,7 @@ export class EditMessageTemplateComponent extends BaseComponent implements OnIni ...@@ -134,6 +154,7 @@ export class EditMessageTemplateComponent extends BaseComponent implements OnIni
} }
addAnchorText(show: boolean): void { addAnchorText(show: boolean): void {
if (show) { if (show) {
const delta = { const delta = {
ops: [ ops: [
...@@ -146,6 +167,7 @@ export class EditMessageTemplateComponent extends BaseComponent implements OnIni ...@@ -146,6 +167,7 @@ export class EditMessageTemplateComponent extends BaseComponent implements OnIni
} else { } else {
this.linkText = ''; this.linkText = '';
} }
} }
addPlaceholderInMessageContent($event): void { addPlaceholderInMessageContent($event): void {
...@@ -212,6 +234,7 @@ export class EditMessageTemplateComponent extends BaseComponent implements OnIni ...@@ -212,6 +234,7 @@ export class EditMessageTemplateComponent extends BaseComponent implements OnIni
} }
getCursorPos(input): number { getCursorPos(input): number {
if ('selectionStart' in input && document.activeElement === input) { if ('selectionStart' in input && document.activeElement === input) {
return input.selectionStart; return input.selectionStart;
} }
...@@ -220,11 +243,11 @@ export class EditMessageTemplateComponent extends BaseComponent implements OnIni ...@@ -220,11 +243,11 @@ export class EditMessageTemplateComponent extends BaseComponent implements OnIni
} }
getMessageTemplateByID(id): void { getMessageTemplateByID(id): void {
this.showLoader = true; this.showLoader = true;
this.createdObjs = {}; this.createdObjs = {};
this.updatedObjs = {}; this.updatedObjs = {};
this.deletedObjs = {}; this.deletedObjs = {};
this.utilsService.resetCounter(); this.utilsService.resetCounter();
this.utilsService.clearErrorMessages(); this.utilsService.clearErrorMessages();
...@@ -256,7 +279,7 @@ export class EditMessageTemplateComponent extends BaseComponent implements OnIni ...@@ -256,7 +279,7 @@ export class EditMessageTemplateComponent extends BaseComponent implements OnIni
.subscribe( .subscribe(
() => { () => {
this.utilsService.handleSuccess(); this.utilsService.handleSuccess();
this.router.navigate(['/list-message-templates']); this.router.navigate(['/admin/list-message-templates']);
}, },
error => { error => {
this.showLoader = false; this.showLoader = false;
......
...@@ -53,7 +53,7 @@ ...@@ -53,7 +53,7 @@
<div class="ui-g-12 ui-md-2"> <div class="ui-g-12 ui-md-2">
<label>Header Text</label> <label>Header Text</label>
</div> </div>
<div class="ui-g-12 ui-md-4 ui-fluid"> <div class="ui-g-12 ui-md-10 ui-fluid">
<input [(ngModel)]="workflow.VerificationHeaderText" <input [(ngModel)]="workflow.VerificationHeaderText"
name="VerificationHeaderText" name="VerificationHeaderText"
fieldLabel="Verification Header Text" type="text" pInputText fieldLabel="Verification Header Text" type="text" pInputText
...@@ -63,35 +63,43 @@ ...@@ -63,35 +63,43 @@
<h4>Application</h4> <h4>Application</h4>
<hr/> <hr/>
<div class="ui-g form-group"> <div class="ui-g form-group">
<div class="ui-g-12 ui-md-2"> <div class="ui-g-12 ui-md-6">
<label> Capture CV </label> <div class="ui-g-12 ui-md-4">
</div> <label> Capture CV </label>
<div class="ui-g-12 ui-md-4"> </div>
<p-inputSwitch [(ngModel)]="workflow.CaptureCV" name="CaptureCV"> <div class="ui-g-12 ui-md-2">
</p-inputSwitch> <p-inputSwitch [(ngModel)]="workflow.CaptureCV" name="CaptureCV">
</div> </p-inputSwitch>
<div class="ui-g-12 ui-md-2"> </div>
<label> Mandatory </label>
</div> </div>
<div class="ui-g-12 ui-md-4"> <div *ngIf="workflow.CaptureCV" class="ui-g-12 ui-md-6">
<p-inputSwitch [(ngModel)]="workflow.IsCVMandatory" name="CaptureCV"> <div class="ui-g-12 ui-md-4">
</p-inputSwitch> <label> Mandatory </label>
</div>
<div class="ui-g-12 ui-md-2">
<p-inputSwitch [(ngModel)]="workflow.IsCVMandatory" name="CaptureCV">
</p-inputSwitch>
</div>
</div> </div>
</div> </div>
<div class="ui-g form-group"> <div class="ui-g form-group">
<div class="ui-g-12 ui-md-2"> <div class="ui-g-12 ui-md-6">
<label>Capture Cover Letter</label> <div class="ui-g-12 ui-md-4">
</div> <label>Capture Cover Letter</label>
<div class="ui-g-12 ui-md-4"> </div>
<p-inputSwitch [(ngModel)]="workflow.CaptureCL" name="CaptureCV"> <div class="ui-g-12 ui-md-2">
</p-inputSwitch> <p-inputSwitch [(ngModel)]="workflow.CaptureCL" name="CaptureCV">
</div> </p-inputSwitch>
<div class="ui-g-12 ui-md-2"> </div>
<label> Mandatory </label>
</div> </div>
<div class="ui-g-12 ui-md-4"> <div *ngIf="workflow.CaptureCL" class="ui-g-12 ui-md-6">
<p-inputSwitch [(ngModel)]="workflow.IsCLMandatory" name="CaptureCV"> <div class="ui-g-12 ui-md-4">
</p-inputSwitch> <label> Mandatory </label>
</div>
<div class="ui-g-12 ui-md-2">
<p-inputSwitch [(ngModel)]="workflow.IsCLMandatory" name="CaptureCV">
</p-inputSwitch>
</div>
</div> </div>
</div> </div>
<div class="ui-g form-group"> <div class="ui-g form-group">
...@@ -116,37 +124,61 @@ ...@@ -116,37 +124,61 @@
</p-dropdown> </p-dropdown>
</div> </div>
</div> </div>
</div> <div class="ui-g form-group">
</div> <div class="ui-g-12 ui-md-6">
</p-panel> <div class="ui-g-12 ui-md-4">
</div> <label>Header Text for Thank You page</label>
</div> </div>
<div class="ui-g form-group"> <div class="ui-g-12 ui-md-8 ui-fluid">
<div class="ui-g-12 ui-md-12"> <input [(ngModel)]="workflow.ThankYouHeaderText"
<div class="ui-g form-group"> name="ThankYouHeaderText"
<div class="ui-g-12 ui-md-12"> fieldLabel="Header Text for Thank You page" type="text" pInputText
<div class="ui-g-12 card card-w-title"> class="ui-inputtext"/>
</div>
</div>
<div class="ui-g-12 ui-md-6">
<div class="ui-g-12 ui-md-4">
<label>Secondary Text</label>
</div>
<div class="ui-g-12 ui-md-8 ui-fluid">
<input [(ngModel)]="workflow.ThankYouSecondaryText"
name="ThankYouSecondaryText"
fieldLabel="Secondary Text" type="text"
pInputText class="ui-inputtext"/>
</div>
</div>
</div>
<h4>Job Outline Page</h4>
<hr/>
<div class="ui-g form-group"> <div class="ui-g form-group">
<div class="ui-g-12 ui-md-2"> <div class="ui-g-12 ui-md-2">
<label>Header Text for Thank You page</label> <label>Button Text</label>
</div> </div>
<div class="ui-g-12 ui-md-4 ui-fluid"> <div class="ui-g-12 ui-md-4 ui-fluid">
<input [(ngModel)]="workflowTemplate.HeaderTextforThankYoupage" <input [(ngModel)]="workflow.JobOutlineButtonText"
name="HeaderTextforThankYoupage{{workflowTemplate.ObjectID}}" name="JobOutlineButtonText"
fieldLabel="Header Text for Thank You page" type="text" pInputText fieldLabel="Job Outline Button Text" type="text" pInputText
class="ui-inputtext"> class="ui-inputtext"/>
</div> </div>
</div>
<div class="ui-g form-group">
<div class="ui-g-12 ui-md-2"> <div class="ui-g-12 ui-md-2">
<label>Secondary Text</label> <h4>Steps</h4>
</div> </div>
<div class="ui-g-12 ui-md-4 ui-fluid"> <div class="ui-g-12 ui-md-4 ui-fluid">
<input [(ngModel)]="workflowTemplate.SecondaryText"
name="SecondaryText{{workflowTemplate.ObjectID}}"
fieldLabel="Secondary Text" type="text"
pInputText class="ui-inputtext">
</div> </div>
</div> </div>
<hr/>
</div> </div>
</div>
</p-panel>
</div>
</div>
<div class="ui-g form-group">
<div class="ui-g-12 ui-md-12">
<div class="ui-g form-group">
<div class="ui-g-12 ui-md-12">
<div class="ui-g-12 card card-w-title"> <div class="ui-g-12 card card-w-title">
<h4>Job Outline Page</h4> <h4>Job Outline Page</h4>
<div class="ui-g form-group"> <div class="ui-g form-group">
......
...@@ -2,7 +2,6 @@ import { Component, OnInit, ViewChild } from '@angular/core'; ...@@ -2,7 +2,6 @@ import { Component, OnInit, ViewChild } from '@angular/core';
import { NgForm } from '@angular/forms'; import { NgForm } from '@angular/forms';
import { ActivatedRoute, Params, Router } from '@angular/router'; import { ActivatedRoute, Params, Router } from '@angular/router';
import { Subscription } from 'rxjs/Subscription'; import { Subscription } from 'rxjs/Subscription';
import { AppService } from '../../app.service'; import { AppService } from '../../app.service';
import { ResponseActionEnum } from '../../models/responseAction.enum'; import { ResponseActionEnum } from '../../models/responseAction.enum';
import { StageTypeEnum } from '../../models/stageType.enum'; import { StageTypeEnum } from '../../models/stageType.enum';
...@@ -11,9 +10,8 @@ import { WorkflowTemplateModel } from '../../models/workflowTemplate.model'; ...@@ -11,9 +10,8 @@ import { WorkflowTemplateModel } from '../../models/workflowTemplate.model';
import { SaveService } from '../../oneit/services/save.service'; import { SaveService } from '../../oneit/services/save.service';
import { UtilsService } from '../../oneit/services/utils.service'; import { UtilsService } from '../../oneit/services/utils.service';
import { BaseComponent } from '../base/base.component'; import { BaseComponent } from '../base/base.component';
import { EditWorkflowTemplateService } from './edit-workflow-template.service';
import { WorkflowTemplate } from './edit-workflow-template.model'; import { WorkflowTemplate } from './edit-workflow-template.model';
import { EditWorkflowTemplateService } from './edit-workflow-template.service';
@Component({ @Component({
selector: 'app-edit-workflow-template', selector: 'app-edit-workflow-template',
...@@ -39,10 +37,6 @@ export class EditWorkflowTemplateComponent extends BaseComponent implements OnIn ...@@ -39,10 +37,6 @@ export class EditWorkflowTemplateComponent extends BaseComponent implements OnIn
s: Array<any> = []; s: Array<any> = [];
messagetemplates: Array<any> = []; messagetemplates: Array<any> = [];
messagetemplate_withdraws: Array<any> = []; messagetemplate_withdraws: Array<any> = [];
Capture_CVs = [];
Mandatory_CVs = [];
Capture_Cover_Letters = [];
Mandatory_cover_letters = [];
Automatically_progress_to_next_stages = []; Automatically_progress_to_next_stages = [];
Use_messagings = []; Use_messagings = [];
...@@ -77,6 +71,7 @@ export class EditWorkflowTemplateComponent extends BaseComponent implements OnIn ...@@ -77,6 +71,7 @@ export class EditWorkflowTemplateComponent extends BaseComponent implements OnIn
} else { } else {
this.utilsService.createObject(this.workflow, this.createdObjs); this.utilsService.createObject(this.workflow, this.createdObjs);
this.setDefaults(); this.setDefaults();
this.showLogs();
this.showLoader = false; this.showLoader = false;
} }
} }
...@@ -259,4 +254,8 @@ export class EditWorkflowTemplateComponent extends BaseComponent implements OnIn ...@@ -259,4 +254,8 @@ export class EditWorkflowTemplateComponent extends BaseComponent implements OnIn
); );
} }
} }
showLogs(): void {
console.log(this.workflow);
}
} }
<form #form="ngForm"> <form #form="ngForm">
<div class="ui-g ui-fluid"> <div class="ui-g ui-fluid mt-80">
<div class="ui-g-12 nopad"> <div class="ui-g-12">
<p-toolbar> <div class="ui-g-2 listing-title">Messages</div>
<div class="ui-toolbar-group-left"> <div class="ui-g-3 pull-right">
Messages <a routerLink="/admin/edit-message-template" class="add-more-btn">Add Message Template</a>
</div> </div>
<div class="ui-toolbar-group-right actionBtn"> </div>
<button pButton type="button" routerLink="/edit-message-template" label="Add Message Template" <div class="ui-g-12 pt-0 pb-0">
icon="ui-icon-"></button> <div class="ui-g-4 pull-right">
<div class="ui-g-4"><label class="order-label">Sort By</label></div>
<div class="ui-g-8">
<app-select-2 [data]="sortOptions" [value]="sortSelected" fieldLabel="description"
(valChange)="sortMessageTemplates($event)">
</app-select-2>
</div> </div>
</p-toolbar> </div>
</div> </div>
</div> </div>
<div class="ui-g form-group"> <div class="ui-g form-group pt-0">
<div class="ui-g-12 ui-md-3"> <div class="ui-g-12 ui-md-12 pt-0">
<img data-elementID="image_sidePanel" title="sidePanel" <h3>My Templates</h3>
src="assets/images/SelectPanel_MessageFlow.png"/>
</div>
<div class="ui-g-12 ui-md-9">
<div class="ui-g-offset-3 pull-right">
<label>Sort By</label>
<p-dropdown [options]="sortOptions" name="sort" [(ngModel)]="sortSelected"
(onClick)="sortMessageTemplates()"
(onShow)="setDefaultSorter()"
(onHide)="allowSort = false"
optionLabel="description">
</p-dropdown>
</div>
<h1>My Templates</h1>
<hr/> <hr/>
<div *ngFor="let message of myTemplates" class="messageTemplate"> <div *ngFor="let message of myTemplates" class="messageTemplate">
<div class="messageRow"> <div class="messageRow">
...@@ -46,7 +38,7 @@ ...@@ -46,7 +38,7 @@
</div> </div>
</div> </div>
</div> </div>
<h1>Shared Templates</h1> <h3>Shared Templates</h3>
<hr/> <hr/>
<div *ngFor="let message of sharedTemplates" class="messageTemplate"> <div *ngFor="let message of sharedTemplates" class="messageTemplate">
<div class="messageRow"> <div class="messageRow">
......
...@@ -14,6 +14,8 @@ ...@@ -14,6 +14,8 @@
.templateName { .templateName {
width: 95%; width: 95%;
align-self: center; align-self: center;
text-overflow: ellipsis;
word-break: break-all;
span { span {
cursor: pointer; cursor: pointer;
......
...@@ -21,7 +21,6 @@ export class ListMessageTemplateComponent extends BaseComponent implements OnIni ...@@ -21,7 +21,6 @@ export class ListMessageTemplateComponent extends BaseComponent implements OnIni
sharedTemplates: Array<MessageTemplateModel> = []; sharedTemplates: Array<MessageTemplateModel> = [];
sortOptions: Array<SorterModel>; sortOptions: Array<SorterModel>;
sortSelected: SorterModel; sortSelected: SorterModel;
allowSort: boolean;
showLoader = false; showLoader = false;
constructor( constructor(
...@@ -39,7 +38,6 @@ export class ListMessageTemplateComponent extends BaseComponent implements OnIni ...@@ -39,7 +38,6 @@ export class ListMessageTemplateComponent extends BaseComponent implements OnIni
new SorterModel('Alphabetical (A-Z)', true), new SorterModel('Alphabetical (A-Z)', true),
new SorterModel('Alphabetical (Z-A)', false) new SorterModel('Alphabetical (Z-A)', false)
]; ];
// this.sortSelected = new SorterModel('Alphabetical (A-Z)', true);
this.showLoader = true; this.showLoader = true;
const sharedMsgParams = { const sharedMsgParams = {
OnlyGlobalTemplate: true OnlyGlobalTemplate: true
...@@ -47,25 +45,27 @@ export class ListMessageTemplateComponent extends BaseComponent implements OnIni ...@@ -47,25 +45,27 @@ export class ListMessageTemplateComponent extends BaseComponent implements OnIni
const myMsgParams = { const myMsgParams = {
OnlyGlobalTemplate: false OnlyGlobalTemplate: false
}; };
this.subscriptions.push( this.subscriptions.push(
this.appService.getSearchListing(SERVICES.MESSAGE_TEMPLATES, 'All', myMsgParams, [], SEARCH.MESSAGE_TEMPLATE) this.appService.getSearchListing(SERVICES.MESSAGE_TEMPLATES, 'All', myMsgParams, [], SEARCH.MESSAGE_TEMPLATE)
.subscribe( .subscribe(
messages => { messages => {
this.myTemplates = messages; this.myTemplates = messages;
this.sortSpecificTemplate('myTemplates');
}, },
error => { error => {
this.showLoader = false; this.showLoader = false;
this.utilsService.handleError(error); this.utilsService.handleError(error);
} }
) )
) );
;
this.subscriptions.push( this.subscriptions.push(
this.appService this.appService
.getSearchListing(SERVICES.MESSAGE_TEMPLATES, 'All', sharedMsgParams, [], SEARCH.MESSAGE_TEMPLATE) .getSearchListing(SERVICES.MESSAGE_TEMPLATES, 'All', sharedMsgParams, [], SEARCH.MESSAGE_TEMPLATE)
.subscribe( .subscribe(
messages => { messages => {
this.sharedTemplates = messages; this.sharedTemplates = messages;
this.sortSpecificTemplate('sharedTemplates');
}, },
error => { error => {
this.showLoader = false; this.showLoader = false;
...@@ -76,31 +76,26 @@ export class ListMessageTemplateComponent extends BaseComponent implements OnIni ...@@ -76,31 +76,26 @@ export class ListMessageTemplateComponent extends BaseComponent implements OnIni
setTimeout(() => (this.showLoader = false), 0); setTimeout(() => (this.showLoader = false), 0);
} }
sortMessageTemplates(): void { sortSpecificTemplate(arrayName: string): void {
this[arrayName] = this.utilsService.sort(this[arrayName],
if (this.allowSort) { ['TemplateName'], [this.sortOptions[0].ascending ? 1 : -1], false);
this.showLoader = true;
this.myTemplates = this.utilsService.sort(this.myTemplates,
['TemplateName'], [this.sortSelected.ascending ? 1 : -1], false);
this.sharedTemplates = this.utilsService.sort(this.sharedTemplates,
['TemplateName'], [this.sortSelected.ascending ? 1 : -1], false);
this.allowSort = false;
this.showLoader = false;
}
} }
setDefaultSorter(): void { sortMessageTemplates($event): void {
if (!$event.data[0]) {
if (!this.sortSelected) { return;
this.sortSelected = new SorterModel('Alphabetical (A-Z)', true);
} }
const sort = $event.data[0];
this.showLoader = true;
this.myTemplates = this.utilsService.sort(this.myTemplates,
['TemplateName'], [sort.ascending ? 1 : -1], false);
this.sharedTemplates = this.utilsService.sort(this.sharedTemplates,
['TemplateName'], [sort.ascending ? 1 : -1], false);
this.showLoader = false;
this.allowSort = true;
} }
onRowSelect(data: MessageTemplateModel): void { onRowSelect(data: MessageTemplateModel): void {
this.showLoader = true; this.router.navigate(['/admin/edit-message-template', data.ObjectID]);
this.router.navigate(['/edit-message-template', data.ObjectID]);
} }
} }
<form #form="ngForm"> <form #form="ngForm">
<div class="ui-g ui-fluid"> <div class="ui-g ui-fluid mt-80">
<div class="ui-g-12 nopad"> <div class="ui-g-12">
<p-toolbar> <div class="ui-g-2 listing-title">Workflows</div>
<div class="ui-toolbar-group-left"> <div class="ui-g-3 pull-right">
Workflows <a routerLink="/admin/edit-workflow-template" class="add-more-btn">Add Workflow Template</a>
</div> </div>
<div class="ui-toolbar-group-right actionBtn">
<button pButton type="button" routerLink="/edit-workflow-template" label="Add Workflow Template"
icon="ui-icon-"></button>
</div>
</p-toolbar>
</div>
</div>
<div class="ui-g form-group">
<div class="ui-g-12 ui-md-3">
<img data-elementID="image_sidePanel" title="sidePanel"
src="assets/images/SelectPanel_MessageFlow.png"/>
</div> </div>
<div class="ui-g-12 ui-md-9"> <div class="ui-g-12">
<div class="ui-g form-group"> <div class="ui-g-4 pull-right">
<div class="ui-g-12 ui-md-7"> <div class="ui-g-4"><label class="order-label">Sort By</label></div>
</div> <div class="ui-g-8">
<div class="ui-g-12 ui-md-2">
<label> Order By </label>
</div>
<div class="ui-g-12 ui-md-3 ui-fluid">
<p-dropdown [options]="sortOptions" name="sort" [(ngModel)]="sortSelected" <p-dropdown [options]="sortOptions" name="sort" [(ngModel)]="sortSelected"
(onChange)="sortWorkFlowTemplates()" (onChange)="sortWorkFlowTemplates()"
optionLabel="description"> optionLabel="description">
</p-dropdown> </p-dropdown>
</div> </div>
</div> </div>
</div>
</div>
<div class="ui-g form-group">
<div class="ui-g-12 ui-md-12 pt-0">
<div class="ui-g-12 card card-w-title"> <div class="ui-g-12 card card-w-title">
<h4>My Templates</h4> <h4>My Templates</h4>
<div *ngFor="let workflow of myTemplates" class="ui-g form-group"> <div *ngFor="let workflow of myTemplates" class="ui-g form-group">
......
import { Component, OnInit } from '@angular/core'; import { Component, OnInit } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router'; import { Router } from '@angular/router';
import { Subscription } from 'rxjs/Subscription'; import { Subscription } from 'rxjs/Subscription';
import { AppService } from '../../app.service'; import { AppService } from '../../app.service';
import { SEARCH, SERVICES } from '../../constants'; import { SEARCH, SERVICES } from '../../constants';
import { SorterModel } from '../../models/sorterModel'; import { SorterModel } from '../../models/sorterModel';
import { WorkflowTemplateModel } from '../../models/workflowTemplate.model'; import { WorkflowTemplateModel } from '../../models/workflowTemplate.model';
import { SearchService } from '../../oneit/services/search.service';
import { UtilsService } from '../../oneit/services/utils.service'; import { UtilsService } from '../../oneit/services/utils.service';
import { BaseComponent } from '../base/base.component'; import { BaseComponent } from '../base/base.component';
...@@ -24,9 +23,7 @@ export class ListWorkFlowsComponent extends BaseComponent implements OnInit { ...@@ -24,9 +23,7 @@ export class ListWorkFlowsComponent extends BaseComponent implements OnInit {
constructor( constructor(
private router: Router, private router: Router,
private activatedRoute: ActivatedRoute,
private utilsService: UtilsService, private utilsService: UtilsService,
private searchService: SearchService,
private appService: AppService private appService: AppService
) { ) {
super(utilsService); super(utilsService);
...@@ -80,7 +77,6 @@ export class ListWorkFlowsComponent extends BaseComponent implements OnInit { ...@@ -80,7 +77,6 @@ export class ListWorkFlowsComponent extends BaseComponent implements OnInit {
} }
onRowSelect(data: WorkflowTemplateModel): void { onRowSelect(data: WorkflowTemplateModel): void {
this.showLoader = true; this.router.navigate(['/admin/edit-workflow-template', data.ObjectID]);
this.router.navigate(['/edit-workflow-template', data.ObjectID]);
} }
} }
<div class="header-select custom-dropdown w-100">
<select2 [data]="data" [value]="selectedData" (valueChanged)="valChange.emit($event)"
[options]="options">
</select2>
</div>
.custom-dropdown {
margin: 0;
::ng-deep {
.select2-container {
width: 100% !important;
}
}
}
import { Component, EventEmitter, Input, Output } from '@angular/core';
@Component({
selector: 'app-select-2',
templateUrl: './select-2.component.html',
styleUrls: ['./select-2.component.scss']
})
export class SelectTwoComponent {
@Input() data: Array<any>;
@Input() fieldLabel: string;
@Input() value: any;
selectedData: string;
options: {};
// tslint:disable-next-line:prefer-output-readonly
@Output() valChange: EventEmitter<any> = new EventEmitter<any>();
// tslint:disable-next-line:no-empty
constructor() {
}
ngOnInit(): void {
this.data.map(elem => {
elem.id = elem.ObjectID;
elem.text = elem[this.fieldLabel];
return elem;
});
this.selectedData = this.data[0] ? this.data[0].ObjectID : '';
this.options = {minimumResultsForSearch: Infinity};
}
}
export class SorterModel { export class SorterModel {
static count;
description; description;
ascending; ascending;
ObjectID;
constructor(des: string, sort: boolean) { constructor(des: string, sort: boolean) {
this.ObjectID = SorterModel.count++;
this.description = des; this.description = des;
this.ascending = sort; this.ascending = sort;
} }
} }
SorterModel.count = 0;
.listing-title {
color: #1a2531;
font-size: 28px;
font-weight: 300;
}
.pt-0 {
padding-top: 0 !important;
}
.pb-0 {
padding-bottom: 0 !important;
}
.mt-80 {
margin-top: 80px;
}
.w-100 {
width: 100% !important;
}
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