Commit 40b0bd84 by GD-A-150752

list-work-flows

parent 5fe5b779
...@@ -10,6 +10,8 @@ import { EditMessageTemplateComponent } from './components/edit-message-template ...@@ -10,6 +10,8 @@ import { EditMessageTemplateComponent } from './components/edit-message-template
import { EditMessageTemplateService } from './components/edit-message-template/edit-message-template.service'; import { EditMessageTemplateService } from './components/edit-message-template/edit-message-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 { ListMessageTemplateService } from './components/list-message-template/list-message-template.service'; import { ListMessageTemplateService } from './components/list-message-template/list-message-template.service';
import { ListWorkFlowsComponent } from './components/list-work-flows/list-work-flows.component';
import { ListWorkFlowsService } from './components/list-work-flows/list-work-flows.service';
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';
...@@ -25,14 +27,16 @@ import { OneITModule } from './oneit/oneit.module'; ...@@ -25,14 +27,16 @@ import { OneITModule } from './oneit/oneit.module';
AppComponent, AppComponent,
FullLayoutComponent, FullLayoutComponent,
EditMessageTemplateComponent, EditMessageTemplateComponent,
ListMessageTemplateComponent ListMessageTemplateComponent,
ListWorkFlowsComponent
], ],
providers: [ providers: [
FormBuilder, FormBuilder,
ConfirmationService, ConfirmationService,
AppService, AppService,
EditMessageTemplateService, EditMessageTemplateService,
ListMessageTemplateService ListMessageTemplateService,
ListWorkFlowsService
], ],
bootstrap: [AppComponent] bootstrap: [AppComponent]
}) })
......
...@@ -2,6 +2,7 @@ import { NgModule } from '@angular/core'; ...@@ -2,6 +2,7 @@ import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router'; import { RouterModule, Routes } from '@angular/router';
import { EditMessageTemplateComponent } from './components/edit-message-template/edit-message-template.component'; import { EditMessageTemplateComponent } from './components/edit-message-template/edit-message-template.component';
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 { AccessDeniedComponent } from './oneit/components/access-denied/access-denied.component'; import { AccessDeniedComponent } from './oneit/components/access-denied/access-denied.component';
import { FullLayoutComponent } from './oneit/components/full-layout/full-layout.component'; import { FullLayoutComponent } from './oneit/components/full-layout/full-layout.component';
...@@ -55,6 +56,11 @@ export const routes: Routes = [ ...@@ -55,6 +56,11 @@ export const routes: Routes = [
path: 'list-message-template', path: 'list-message-template',
component: ListMessageTemplateComponent, component: ListMessageTemplateComponent,
canActivate: [AuthGuard] canActivate: [AuthGuard]
},
{
path: 'list-work-flows',
component: ListWorkFlowsComponent,
canActivate: [AuthGuard]
} }
] ]
} }
......
...@@ -13,7 +13,11 @@ ...@@ -13,7 +13,11 @@
</div> </div>
</div> </div>
<div class="ui-g form-group"> <div class="ui-g form-group">
<div class="ui-g-12"> <div class="ui-g-12 ui-md-3">
<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-offset-3 pull-right"> <div class="ui-g-offset-3 pull-right">
<label>Sort By</label> <label>Sort By</label>
<p-dropdown [options]="sortOptions" name="sort" [(ngModel)]="sortSelected" (onChange)="sortMessageTemplates()" <p-dropdown [options]="sortOptions" name="sort" [(ngModel)]="sortSelected" (onChange)="sortMessageTemplates()"
...@@ -22,7 +26,7 @@ ...@@ -22,7 +26,7 @@
</div> </div>
<h1>My Templates</h1> <h1>My Templates</h1>
<hr/> <hr/>
<div *ngFor="let message of myMessageTemplates" class="messageTemplate"> <div *ngFor="let message of myTemplates" class="messageTemplate">
<div class="messageRow"> <div class="messageRow">
<div class="templateName"> <div class="templateName">
<span (click)="onRowSelect(message)">{{message.TemplateName}}</span> <span (click)="onRowSelect(message)">{{message.TemplateName}}</span>
...@@ -32,9 +36,16 @@ ...@@ -32,9 +36,16 @@
</button> </button>
</div> </div>
</div> </div>
<div *ngIf="myTemplates.length === 0" class="messageTemplate">
<div class="messageRow">
<div class="templateName">
<span>No records found.</span>
</div>
</div>
</div>
<h1>Shared Templates</h1> <h1>Shared Templates</h1>
<hr/> <hr/>
<div *ngFor="let message of sharedMessageTemplates" class="messageTemplate"> <div *ngFor="let message of sharedTemplates" class="messageTemplate">
<div class="messageRow"> <div class="messageRow">
<div class="templateName"> <div class="templateName">
<span (click)="onRowSelect(message)">{{message.TemplateName}}</span> <span (click)="onRowSelect(message)">{{message.TemplateName}}</span>
...@@ -44,6 +55,13 @@ ...@@ -44,6 +55,13 @@
</button> </button>
</div> </div>
</div> </div>
<div *ngIf="sharedTemplates.length === 0" class="messageTemplate">
<div class="messageRow">
<div class="templateName">
<span>No records found.</span>
</div>
</div>
</div>
</div> </div>
</div> </div>
<p-progressSpinner *ngIf="showLoader"></p-progressSpinner> <p-progressSpinner *ngIf="showLoader"></p-progressSpinner>
......
...@@ -2,6 +2,7 @@ import { Component, OnInit } from '@angular/core'; ...@@ -2,6 +2,7 @@ import { Component, OnInit } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router'; import { ActivatedRoute, Router } from '@angular/router';
import { Subscription } from 'rxjs/Subscription'; import { Subscription } from 'rxjs/Subscription';
import { MessageTemplateModel } from '../../models/messageTemplateModel'; import { MessageTemplateModel } from '../../models/messageTemplateModel';
import { SorterModel } from '../../models/sorterModel';
import { BaseComponent } from '../base/base.component'; import { BaseComponent } from '../base/base.component';
...@@ -18,11 +19,11 @@ import { ListMessageTemplateService } from './list-message-template.service'; ...@@ -18,11 +19,11 @@ import { ListMessageTemplateService } from './list-message-template.service';
export class ListMessageTemplateComponent extends BaseComponent implements OnInit { export class ListMessageTemplateComponent extends BaseComponent implements OnInit {
subscriptions: Array<Subscription> = []; subscriptions: Array<Subscription> = [];
myMessageTemplates: Array<MessageTemplateModel> = []; myTemplates: Array<MessageTemplateModel> = [];
sharedMessageTemplates: Array<MessageTemplateModel> = []; sharedTemplates: Array<MessageTemplateModel> = [];
sortOptions: Array<SorterModel>;
sortSelected: SorterModel;
showLoader = false; showLoader = false;
sortOptions: Array<SorterClass>;
sortSelected: SorterClass;
constructor( constructor(
private router: Router, private router: Router,
...@@ -37,8 +38,8 @@ export class ListMessageTemplateComponent extends BaseComponent implements OnIni ...@@ -37,8 +38,8 @@ export class ListMessageTemplateComponent extends BaseComponent implements OnIni
ngOnInit(): void { ngOnInit(): void {
this.sortOptions = [ this.sortOptions = [
new SorterClass('Alphabetical (A-Z)', true), new SorterModel('Alphabetical (A-Z)', true),
new SorterClass('Alphabetical (Z-A)', false) new SorterModel('Alphabetical (Z-A)', false)
]; ];
this.showLoader = true; this.showLoader = true;
const sharedMsgParams = { const sharedMsgParams = {
...@@ -52,7 +53,7 @@ export class ListMessageTemplateComponent extends BaseComponent implements OnIni ...@@ -52,7 +53,7 @@ export class ListMessageTemplateComponent extends BaseComponent implements OnIni
.getMessageTemplates(myMsgParams, []) .getMessageTemplates(myMsgParams, [])
.subscribe( .subscribe(
messages => { messages => {
this.myMessageTemplates = messages; this.myTemplates = messages;
}, },
error => { error => {
this.showLoader = false; this.showLoader = false;
...@@ -65,7 +66,7 @@ export class ListMessageTemplateComponent extends BaseComponent implements OnIni ...@@ -65,7 +66,7 @@ export class ListMessageTemplateComponent extends BaseComponent implements OnIni
.getMessageTemplates(sharedMsgParams, []) .getMessageTemplates(sharedMsgParams, [])
.subscribe( .subscribe(
messages => { messages => {
this.sharedMessageTemplates = messages; this.sharedTemplates = messages;
}, },
error => { error => {
this.showLoader = false; this.showLoader = false;
...@@ -78,30 +79,15 @@ export class ListMessageTemplateComponent extends BaseComponent implements OnIni ...@@ -78,30 +79,15 @@ export class ListMessageTemplateComponent extends BaseComponent implements OnIni
sortMessageTemplates(): void { sortMessageTemplates(): void {
this.showLoader = true; this.showLoader = true;
this.myTemplates = this.utilsService.sort(this.myTemplates,
if (this.sortSelected.ascending) { ['TemplateName'], [this.sortSelected.ascending ? 1 : -1], false);
this.myMessageTemplates = this.utilsService.sort(this.myMessageTemplates, ['TemplateName'], [1], false); this.sharedTemplates = this.utilsService.sort(this.sharedTemplates,
this.sharedMessageTemplates = this.utilsService.sort(this.sharedMessageTemplates, ['TemplateName'], [1], false); ['TemplateName'], [this.sortSelected.ascending ? 1 : -1], false);
} else {
this.myMessageTemplates = this.utilsService.sort(this.myMessageTemplates, ['TemplateName'], [-1], false);
this.sharedMessageTemplates = this.utilsService.sort(this.sharedMessageTemplates, ['TemplateName'], [-1], false);
}
this.showLoader = false; this.showLoader = false;
} }
onRowSelect(data): void { onRowSelect(data: MessageTemplateModel): void {
this.showLoader = true; this.showLoader = true;
this.router.navigate(['/edit-message-template', data.ObjectID]); this.router.navigate(['/edit-message-template', data.ObjectID]);
} }
} }
export class SorterClass {
description;
ascending;
constructor(des: string, sort: boolean) {
this.description = des;
this.ascending = sort;
}
}
<form #form="ngForm">
<div class="ui-g ui-fluid">
<div class="ui-g-12 nopad">
<p-toolbar>
<div class="ui-toolbar-group-left">
Workflows
</div>
<div class="ui-toolbar-group-right actionBtn">
<button pButton type="button" routerLink="/edit-work-flow" 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 class="ui-g-12 ui-md-9">
<div class="ui-g form-group">
<div class="ui-g-12 ui-md-7">
</div>
<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"
(onChange)="sortWorkFlowTemplates()"
optionLabel="description">
</p-dropdown>
</div>
</div>
<div class="ui-g-12 card card-w-title">
<h4>My Templates</h4>
<div *ngFor="let workflow of myTemplates" 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-1">
<label> </label>
</div>
<div class="ui-g-12 ui-md-8">
<label>{{workflow.TemplateName}}</label><br/>
</div>
<div class="ui-g-12 ui-md-3 ui-fluid">
<button pButton type="button" icon="ui-icon-edit" title="Edit"
(click)="onRowSelect(workflow)" [disabled]="showLoader">
</button>
</div>
</div>
</div>
</div>
<div *ngIf="myTemplates.length === 0" 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-1">
<label> </label>
</div>
<div class="ui-g-12 ui-md-8">
<label>No records found.</label><br/>
</div>
</div>
</div>
</div>
</div>
<div class="ui-g-12 card card-w-title">
<h4>Shared Templates</h4>
<div *ngFor="let workflow of sharedTemplates" 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-1">
<label> </label>
</div>
<div class="ui-g-12 ui-md-8">
<label>{{workflow.TemplateName}}</label><br/>
</div>
<div class="ui-g-12 ui-md-3 ui-fluid">
<button pButton type="button" icon="ui-icon-edit" title="Edit"
(click)="onRowSelect(workflow)" [disabled]="showLoader">
</button>
</div>
</div>
</div>
</div>
<div *ngIf="sharedTemplates.length === 0" 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-1">
<label> </label>
</div>
<div class="ui-g-12 ui-md-8">
<label>No records found.</label><br/>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p-progressSpinner *ngIf="showLoader"></p-progressSpinner>
</form>
import { Component, OnInit } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router';
import { Subscription } from 'rxjs/Subscription';
import { AppService } from '../../app.service';
import { SorterModel } from '../../models/sorterModel';
import { WorkflowTemplateModel } from '../../models/workflowTemplateModel';
import { SearchService } from '../../oneit/services/search.service';
import { UtilsService } from '../../oneit/services/utils.service';
import { BaseComponent } from '../base/base.component';
import { ListWorkFlowsService } from './list-work-flows.service';
@Component({
selector: 'app-list-work-flows',
templateUrl: './list-work-flows.component.html'
})
export class ListWorkFlowsComponent extends BaseComponent implements OnInit {
subscriptions: Array<Subscription> = [];
myTemplates: Array<WorkflowTemplateModel> = [];
sharedTemplates: Array<WorkflowTemplateModel> = [];
sortOptions: Array<SorterModel>;
sortSelected: SorterModel;
showLoader = false;
constructor(
private router: Router,
private activatedRoute: ActivatedRoute,
private utilsService: UtilsService,
private searchService: SearchService,
private appService: AppService,
private listWorkFlowsService: ListWorkFlowsService
) {
super(utilsService);
}
ngOnInit(): void {
this.sortOptions = [
new SorterModel('Alphabetical (A-Z)', true),
new SorterModel('Alphabetical (Z-A)', false)
];
const sharedParams = {
OnlyGlobalTemplates: true
};
const myParams = {
OnlyGlobalTemplates: false
};
this.subscriptions.push(
this.listWorkFlowsService
.getWorkFlows(myParams, [])
.subscribe(
messages => {
this.myTemplates = messages;
},
error => {
this.showLoader = false;
this.utilsService.handleError(error);
}
)
);
this.subscriptions.push(
this.listWorkFlowsService
.getWorkFlows(sharedParams, [])
.subscribe(
messages => {
this.sharedTemplates = messages;
},
error => {
this.showLoader = false;
this.utilsService.handleError(error);
}
)
);
setTimeout(() => (this.showLoader = false), 0);
}
sortWorkFlowTemplates(): void {
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.showLoader = false;
}
onRowSelect(data: WorkflowTemplateModel): void {
this.showLoader = true;
this.router.navigate(['/edit-work-flow', data.ObjectID]);
}
}
export class ListWorkFlow {
SidePanel: any;
Order: any;
}
import { Injectable } from '@angular/core';
import { Observable } from 'rxjs/Observable';
import { SearchService } from '../../oneit/services/search.service';
import { UtilsService } from '../../oneit/services/utils.service';
@Injectable()
export class ListWorkFlowsService {
constructor(
private searchService: SearchService,
private utilsService: UtilsService
) {
}
getWorkFlows(queryParams, assocs): Observable<any> {
return this.searchService.searchAndSaveSearchRequest('WorkFlowTemplates', 'All', queryParams,
assocs, null, null, null, null, 'ListWorkFlow', false)
.map(
data =>
this.utilsService.convertResponseToObjects(data, assocs)
);
}
}
...@@ -3,7 +3,8 @@ export const CLASSES = { ...@@ -3,7 +3,8 @@ export const CLASSES = {
TEMPLATE_TYPE: 'performa.orm.types.TemplateType', TEMPLATE_TYPE: 'performa.orm.types.TemplateType',
APPLICATION_STATUS: 'performa.orm.types.ApplicationStatus', APPLICATION_STATUS: 'performa.orm.types.ApplicationStatus',
HIRING_TEAM: 'performa.orm.HiringTeam', HIRING_TEAM: 'performa.orm.HiringTeam',
PLACEHOLDER_OPTIONS: 'performa.orm.types.PlaceholderOptions' PLACEHOLDER_OPTIONS: 'performa.orm.types.PlaceholderOptions',
WORKFLOW_TEMPLATE: 'performa.orm.WorkFlowTemplate'
}; };
export const SERVICES = { export const SERVICES = {
......
export class SorterModel {
description;
ascending;
constructor(des: string, sort: boolean) {
this.description = des;
this.ascending = sort;
}
}
import { CLASSES } from '../constants';
export class WorkflowTemplateModel {
ObjectID: string;
ObjectClass = CLASSES.WORKFLOW_TEMPLATE;
TemplateName: string;
LandingButtonText: string;
VerificationHeaderText: string;
CaptureCV: boolean;
IsCVMandatory: boolean;
CaptureCL: boolean;
IsCLMandatory: boolean;
ApplicationButtonText: string;
ApplicationResponseAction: string;
}
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