Commit dadf16b0 by nilu

global HT screens

parent d30363fd
...@@ -44,6 +44,36 @@ export const routes: Routes = [ ...@@ -44,6 +44,36 @@ export const routes: Routes = [
canActivate: [AuthGuard], canActivate: [AuthGuard],
component: IframePageComponent, component: IframePageComponent,
runGuardsAndResolvers: 'always' runGuardsAndResolvers: 'always'
},
{
path: 'list-message-templates/:global',
component: ListMessageTemplateComponent,
canActivate: [AuthGuard]
},
{
path: 'edit-message-template/:global',
component: EditMessageTemplateComponent,
canActivate: [AuthGuard]
},
{
path: 'edit-message-template/:global/:id',
component: EditMessageTemplateComponent,
canActivate: [AuthGuard]
},
{
path: 'list-workflow-templates/:global',
component: ListWorkFlowsComponent,
canActivate: [AuthGuard]
},
{
path: 'edit-workflow-template/:global',
component: EditWorkflowTemplateComponent,
canActivate: [AuthGuard]
},
{
path: 'edit-workflow-template/:global/:id',
component: EditWorkflowTemplateComponent,
canActivate: [AuthGuard]
} }
] ]
}, },
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<div class="ui-g ui-fluid" *ngIf="!objectID"> <div class="ui-g ui-fluid" *ngIf="!objectID">
<div class="ui-g-12"> <div class="ui-g-12">
<div class="page-title page-title-with-arrow"> <div class="page-title page-title-with-arrow">
<a [routerLink]="['/admin/list-message-templates']" class="arrow-btn-blue ml-0" <a [routerLink]="[isGlobalHT ? '/list-message-templates/global' : '/admin/list-message-templates']" class="arrow-btn-blue ml-0"
*ngIf="!objectID"> *ngIf="!objectID">
<img src="assets/images/arrow-left-prev_blue.svg"> <img src="assets/images/arrow-left-prev_blue.svg">
</a> </a>
......
...@@ -45,6 +45,7 @@ export class EditMessageTemplateComponent extends BaseComponent implements OnIni ...@@ -45,6 +45,7 @@ export class EditMessageTemplateComponent extends BaseComponent implements OnIni
options = {minimumResultsForSearch: Infinity}; options = {minimumResultsForSearch: Infinity};
showLoader = false; showLoader = false;
editMode = false; editMode = false;
isGlobalHT = false;
constructor( constructor(
private router: Router, private router: Router,
...@@ -68,7 +69,16 @@ export class EditMessageTemplateComponent extends BaseComponent implements OnIni ...@@ -68,7 +69,16 @@ export class EditMessageTemplateComponent extends BaseComponent implements OnIni
this.utilsService.resetCounter(); this.utilsService.resetCounter();
this.getPlaceholderOptions(); this.getPlaceholderOptions();
if (this.adminPortalLayoutService.userData) { this.subscriptions.push(this.activatedRoute.params
.subscribe(
(params: Params) => {
if ((params.global && params.global === 'global')) {
this.isGlobalHT = true;
}
}
));
if (this.adminPortalLayoutService.userData || this.isGlobalHT) {
this.initComponent(); this.initComponent();
} else { } else {
this.subscriptions.push(this.adminPortalLayoutService.userDataUpdated.first() this.subscriptions.push(this.adminPortalLayoutService.userDataUpdated.first()
...@@ -94,7 +104,10 @@ export class EditMessageTemplateComponent extends BaseComponent implements OnIni ...@@ -94,7 +104,10 @@ export class EditMessageTemplateComponent extends BaseComponent implements OnIni
* First condition identifies if the template is being created from workflow template * First condition identifies if the template is being created from workflow template
*/ */
if (this.templateCreationFromWorkflow()) { if (this.templateCreationFromWorkflow()) {
if(!this.isGlobalHT) {
this.messageTemplate.HiringTeam = this.adminPortalLayoutService.getHiringTeamID().ObjectID; this.messageTemplate.HiringTeam = this.adminPortalLayoutService.getHiringTeamID().ObjectID;
}
if (this.messageTemplateTypes) { if (this.messageTemplateTypes) {
this.messageTemplate.TemplateType = this.messageTemplateTypes[0]; this.messageTemplate.TemplateType = this.messageTemplateTypes[0];
...@@ -115,7 +128,7 @@ export class EditMessageTemplateComponent extends BaseComponent implements OnIni ...@@ -115,7 +128,7 @@ export class EditMessageTemplateComponent extends BaseComponent implements OnIni
/** /**
* Third condition identifies if the template is being created within this component * Third condition identifies if the template is being created within this component
*/ */
this.messageTemplate.HiringTeam = this.adminPortalLayoutService.getHiringTeamID().ObjectID; this.messageTemplate.HiringTeam = !this.isGlobalHT ? this.adminPortalLayoutService.getHiringTeamID().ObjectID : null;
if (this.messageTemplateTypes) { if (this.messageTemplateTypes) {
this.messageTemplate.TemplateType = this.messageTemplateTypes[0]; this.messageTemplate.TemplateType = this.messageTemplateTypes[0];
...@@ -142,6 +155,19 @@ export class EditMessageTemplateComponent extends BaseComponent implements OnIni ...@@ -142,6 +155,19 @@ export class EditMessageTemplateComponent extends BaseComponent implements OnIni
* if the template is in edit mode * if the template is in edit mode
*/ */
showSaveBtn(): boolean { showSaveBtn(): boolean {
if(this.templateCreationFromWorkflow()) {
return true;
}
if(this.templateUpdateFromWorkflow()) {
return false;
}
if(this.isGlobalHT) {
return true;
}
if (!!this.messageTemplate && !!this.messageTemplate.ObjectID) { if (!!this.messageTemplate && !!this.messageTemplate.ObjectID) {
return this.messageTemplate.HiringTeam === this.adminPortalLayoutService.getHiringTeamID().ObjectID ? return this.messageTemplate.HiringTeam === this.adminPortalLayoutService.getHiringTeamID().ObjectID ?
(this.templateCreationFromWorkflow() ? true : !this.templateUpdateFromWorkflow()) : false; (this.templateCreationFromWorkflow() ? true : !this.templateUpdateFromWorkflow()) : false;
...@@ -150,6 +176,10 @@ export class EditMessageTemplateComponent extends BaseComponent implements OnIni ...@@ -150,6 +176,10 @@ export class EditMessageTemplateComponent extends BaseComponent implements OnIni
showSaveIntoAllTemplates(): boolean { showSaveIntoAllTemplates(): boolean {
if(this.isGlobalHT && this.templateUpdateFromWorkflow()) {
return true;
}
if (this.templateCreationFromWorkflow()) { if (this.templateCreationFromWorkflow()) {
return false; return false;
} }
...@@ -160,7 +190,11 @@ export class EditMessageTemplateComponent extends BaseComponent implements OnIni ...@@ -160,7 +190,11 @@ export class EditMessageTemplateComponent extends BaseComponent implements OnIni
} }
showSaveCopyBtn(): boolean { showSaveCopyBtn(): boolean {
if (this.messageTemplate && this.messageTemplate.ObjectID) { if(this.isGlobalHT && this.templateUpdateFromWorkflow()) {
return true;
}
if (!this.isGlobalHT && this.messageTemplate && this.messageTemplate.ObjectID) {
return this.messageTemplate.HiringTeam === null; return this.messageTemplate.HiringTeam === null;
} }
...@@ -407,7 +441,7 @@ export class EditMessageTemplateComponent extends BaseComponent implements OnIni ...@@ -407,7 +441,7 @@ export class EditMessageTemplateComponent extends BaseComponent implements OnIni
if (this.templateCreationFromWorkflow() || this.templateUpdateFromWorkflow()) { if (this.templateCreationFromWorkflow() || this.templateUpdateFromWorkflow()) {
this.closeModal.emit(-1); this.closeModal.emit(-1);
} else { } else {
this.router.navigate(['/admin/list-message-templates']); this.router.navigate([this.isGlobalHT ? '/list-message-templates/global' : '/admin/list-message-templates']);
} }
} }
...@@ -439,7 +473,7 @@ export class EditMessageTemplateComponent extends BaseComponent implements OnIni ...@@ -439,7 +473,7 @@ export class EditMessageTemplateComponent extends BaseComponent implements OnIni
} 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([this.isGlobalHT ? '/list-message-templates/global' : '/admin/list-message-templates']);
} }
}, },
error => { error => {
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<div class="ui-g ui-fluid"> <div class="ui-g ui-fluid">
<div class="ui-g-12"> <div class="ui-g-12">
<div class="page-title page-title-with-arrow mb-0"> <div class="page-title page-title-with-arrow mb-0">
<a [routerLink]="['/admin/list-workflow-templates']" class="arrow-btn-blue ml-0"> <a [routerLink]="[isGlobalHT ? '/list-workflow-templates/global' : '/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> </a>
{{editMode ? "Edit" : "Add"}} Workflow Template {{editMode ? "Edit" : "Add"}} Workflow Template
...@@ -238,7 +238,7 @@ ...@@ -238,7 +238,7 @@
<div class="ui-g-12 ui-md-12"> <div class="ui-g-12 ui-md-12">
<div class="text-center form-group"> <div class="text-center form-group">
<button [disabled]="showLoader" class="btn btn-primary largeBtn greyBtn" <button [disabled]="showLoader" class="btn btn-primary largeBtn greyBtn"
routerLink="/admin/list-workflow-templates" [routerLink]="isGlobalHT ? '/list-workflow-templates/global' : '/admin/list-workflow-templates'"
type="button" type="button"
value="Cancel">Cancel value="Cancel">Cancel
</button> </button>
......
...@@ -55,6 +55,7 @@ export class EditWorkflowTemplateComponent extends BaseComponent implements OnIn ...@@ -55,6 +55,7 @@ export class EditWorkflowTemplateComponent extends BaseComponent implements OnIn
draggingId = null; draggingId = null;
selectedTemplateID = null; selectedTemplateID = null;
selectedMessageTemplate = null; // object id of type WorkflowMessageModel selectedMessageTemplate = null; // object id of type WorkflowMessageModel
isGlobalHT = false;
constructor( constructor(
private router: Router, private router: Router,
...@@ -72,8 +73,17 @@ export class EditWorkflowTemplateComponent extends BaseComponent implements OnIn ...@@ -72,8 +73,17 @@ export class EditWorkflowTemplateComponent extends BaseComponent implements OnIn
ngOnInit(): void { ngOnInit(): void {
window.scrollTo(0, 0); window.scrollTo(0, 0);
this.subscriptions.push(this.activatedRoute.params
.subscribe(
(params: Params) => {
if ((params.global && params.global === 'global')) {
this.isGlobalHT = true;
}
}
));
this.showLoader = true; this.showLoader = true;
if (this.adminPortalLayoutService.userData) { if (this.adminPortalLayoutService.userData || this.isGlobalHT) {
this.initComponent(); this.initComponent();
} else { } else {
this.subscriptions.push(this.adminPortalLayoutService.userDataUpdated this.subscriptions.push(this.adminPortalLayoutService.userDataUpdated
...@@ -111,10 +121,9 @@ export class EditWorkflowTemplateComponent extends BaseComponent implements OnIn ...@@ -111,10 +121,9 @@ export class EditWorkflowTemplateComponent extends BaseComponent implements OnIn
}); });
// Diversity is shown only is enabled by selected hiring team // Diversity is shown only is enabled by selected hiring team
if (!this.adminPortalLayoutService.getHiringTeamID().HasDiversity) { if (!this.isGlobalHT && !this.adminPortalLayoutService.getHiringTeamID().HasDiversity) {
this.stepTypeOptions = this.stepTypeOptions.filter(type => type.Value !== 'DIVERSITY'); this.stepTypeOptions = this.stepTypeOptions.filter(type => type.Value !== 'DIVERSITY');
} }
this.responseActions = response[2]; this.responseActions = response[2];
this.applicantSources = response[3]; this.applicantSources = response[3];
...@@ -158,7 +167,7 @@ export class EditWorkflowTemplateComponent extends BaseComponent implements OnIn ...@@ -158,7 +167,7 @@ export class EditWorkflowTemplateComponent extends BaseComponent implements OnIn
this.workflow.JobOutlineButtonText = 'Continue'; this.workflow.JobOutlineButtonText = 'Continue';
this.workflow.CaptureCV = true; this.workflow.CaptureCV = true;
this.workflow.CaptureCL = true; this.workflow.CaptureCL = true;
this.workflow.HiringTeam = this.adminPortalLayoutService.getHiringTeamID().ObjectID; this.workflow.HiringTeam = !this.isGlobalHT ? this.adminPortalLayoutService.getHiringTeamID().ObjectID : null;
} }
/** /**
...@@ -211,13 +220,13 @@ export class EditWorkflowTemplateComponent extends BaseComponent implements OnIn ...@@ -211,13 +220,13 @@ export class EditWorkflowTemplateComponent extends BaseComponent implements OnIn
} }
showSaveBtn(): boolean { showSaveBtn(): boolean {
return this.workflow && this.workflow.ObjectID ? return this.isGlobalHT || (this.workflow && this.workflow.ObjectID ?
(this.workflow.HiringTeam === this.adminPortalLayoutService.getHiringTeamID().ObjectID || (this.workflow.HiringTeam === this.adminPortalLayoutService.getHiringTeamID().ObjectID ||
!this.editMode) : false; !this.editMode) : false);
} }
showSaveCopyBtn(): boolean { showSaveCopyBtn(): boolean {
if (this.workflow && this.workflow.ObjectID) { if (!this.isGlobalHT && this.workflow && this.workflow.ObjectID) {
return this.workflow.HiringTeam === null; return this.workflow.HiringTeam === null;
} }
...@@ -330,6 +339,28 @@ export class EditWorkflowTemplateComponent extends BaseComponent implements OnIn ...@@ -330,6 +339,28 @@ export class EditWorkflowTemplateComponent extends BaseComponent implements OnIn
OnlyGlobalTemplate: true, OnlyGlobalTemplate: true,
attribsByName: 'Autocomplete' attribsByName: 'Autocomplete'
}; };
if(this.isGlobalHT) {
this.subscriptions.push(
combineLatest(
this.editWorkflowTemplateService.getMessageTemplates([], sharedMsgParams)
)
.subscribe(
(response: [Array<MessageTemplateModel>]) => {
this.messageTemplates = response[0];
this.addNewOptionToMessageTemplate();
this.assignMessageTemplate();
if (callback) {
// called when a new message template is created
callback();
}
},
error => {
this.utilsService.handleError(error);
}
)
);
} else {
const myMsgParams = { const myMsgParams = {
OnlyGlobalTemplate: false, OnlyGlobalTemplate: false,
attribsByName: 'Autocomplete', attribsByName: 'Autocomplete',
...@@ -359,6 +390,7 @@ export class EditWorkflowTemplateComponent extends BaseComponent implements OnIn ...@@ -359,6 +390,7 @@ export class EditWorkflowTemplateComponent extends BaseComponent implements OnIn
) )
); );
} }
}
addNewOptionToMessageTemplate(): void { addNewOptionToMessageTemplate(): void {
const newTemplate = new MessageTemplateModel(); const newTemplate = new MessageTemplateModel();
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<div class="jobs-list-shorting"> <div class="jobs-list-shorting">
<div class="ui-g-3 d-job-title all-jobs-title">Messages</div> <div class="ui-g-3 d-job-title all-jobs-title">Messages</div>
<div class="ui-g-4"> <div class="ui-g-4">
<a routerLink="/admin/edit-message-template" class="add-more-btn">Add Message Template</a> <a (click)="onNewTemplate()" class="add-more-btn">Add Message Template</a>
</div> </div>
<div class="listing-dropdown"> <div class="listing-dropdown">
<span class="order-label mr-0">order by</span> <span class="order-label mr-0">order by</span>
...@@ -16,9 +16,9 @@ ...@@ -16,9 +16,9 @@
</div> </div>
<div class="ui-g form-group pt-0"> <div class="ui-g form-group pt-0">
<div class="ui-g-12 ui-md-12 pt-0"> <div class="ui-g-12 ui-md-12 pt-0">
<h3>My Templates</h3> <h3 *ngIf="!isGlobalHT" >My Templates</h3>
<hr/> <hr *ngIf="!isGlobalHT" />
<div class="main-client-list"> <div *ngIf="!isGlobalHT" class="main-client-list">
<div class="template-list" *ngFor="let message of myTemplates" id="{{message.ObjectID}}"> <div class="template-list" *ngFor="let message of myTemplates" id="{{message.ObjectID}}">
<div class="template-row"> <div class="template-row">
<div class="job-template-left w-80 job-template-cl1 no-border"> <div class="job-template-left w-80 job-template-cl1 no-border">
...@@ -48,8 +48,8 @@ ...@@ -48,8 +48,8 @@
</div> </div>
</div> </div>
</div> </div>
<h3>Shared Templates</h3> <h3 *ngIf="!isGlobalHT">Shared Templates</h3>
<hr/> <hr *ngIf="!isGlobalHT"/>
<div class="main-client-list"> <div class="main-client-list">
<div class="template-list" *ngFor="let message of sharedTemplates" id="{{message.ObjectID}}"> <div class="template-list" *ngFor="let message of sharedTemplates" id="{{message.ObjectID}}">
<div class="template-row"> <div class="template-row">
......
import { Component, OnInit } from '@angular/core'; import { Component, OnInit } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router'; import { ActivatedRoute, Params, Router } from '@angular/router';
import { combineLatest } from 'rxjs/observable/combineLatest'; import { combineLatest } from 'rxjs/observable/combineLatest';
import { Subscription } from 'rxjs/Subscription'; import { Subscription } from 'rxjs/Subscription';
import { AppService } from '../../../app.service'; import { AppService } from '../../../app.service';
...@@ -23,6 +23,7 @@ export class ListMessageTemplateComponent extends BaseComponent implements OnIni ...@@ -23,6 +23,7 @@ export class ListMessageTemplateComponent extends BaseComponent implements OnIni
sortOptions: Array<SorterModel>; sortOptions: Array<SorterModel>;
showLoader = false; showLoader = false;
processing = false; processing = false;
isGlobalHT = false;
constructor( constructor(
private router: Router, private router: Router,
...@@ -36,13 +37,22 @@ export class ListMessageTemplateComponent extends BaseComponent implements OnIni ...@@ -36,13 +37,22 @@ export class ListMessageTemplateComponent extends BaseComponent implements OnIni
} }
ngOnInit(): void { ngOnInit(): void {
this.subscriptions.push(this.activatedRoute.params
.subscribe(
(params: Params) => {
if ((params.global && params.global === 'global')) {
this.isGlobalHT = true;
}
}
));
this.sortOptions = [ this.sortOptions = [
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.showLoader = true; this.showLoader = true;
if (this.adminPortalLayoutService.userData) { if (this.adminPortalLayoutService.userData || this.isGlobalHT) {
this.initComponent(); this.initComponent();
} else { } else {
this.subscriptions.push( this.subscriptions.push(
...@@ -59,6 +69,22 @@ export class ListMessageTemplateComponent extends BaseComponent implements OnIni ...@@ -59,6 +69,22 @@ export class ListMessageTemplateComponent extends BaseComponent implements OnIni
const sharedMsgParams = { const sharedMsgParams = {
OnlyGlobalTemplate: true OnlyGlobalTemplate: true
}; };
if(this.isGlobalHT) {
this.subscriptions.push(
combineLatest(
this.appService.getSearchListing(SERVICES.MESSAGE_TEMPLATES, 'All', sharedMsgParams, [], SEARCH.MESSAGE_TEMPLATE)
)
.subscribe(
(response: [Array<MessageTemplateModel>]) => {
this.sharedTemplates = response[0];
this.sortSpecificTemplate('sharedTemplates');
this.showLoader = false;
}
)
);
} else {
const myMsgParams = { const myMsgParams = {
OnlyGlobalTemplate: false, OnlyGlobalTemplate: false,
HiringTeam: this.adminPortalLayoutService.getHiringTeamID().ObjectID HiringTeam: this.adminPortalLayoutService.getHiringTeamID().ObjectID
...@@ -82,6 +108,7 @@ export class ListMessageTemplateComponent extends BaseComponent implements OnIni ...@@ -82,6 +108,7 @@ export class ListMessageTemplateComponent extends BaseComponent implements OnIni
) )
); );
} }
}
sortSpecificTemplate(arrayName: string): void { sortSpecificTemplate(arrayName: string): void {
this[arrayName] = this.utilsService.sort(this[arrayName], this[arrayName] = this.utilsService.sort(this[arrayName],
...@@ -103,6 +130,10 @@ export class ListMessageTemplateComponent extends BaseComponent implements OnIni ...@@ -103,6 +130,10 @@ export class ListMessageTemplateComponent extends BaseComponent implements OnIni
} }
onRowSelect(data: MessageTemplateModel): void { onRowSelect(data: MessageTemplateModel): void {
this.router.navigate(['/admin/edit-message-template', data.ObjectID]); this.router.navigate([this.isGlobalHT ? '/edit-message-template/global' : '/admin/edit-message-template', data.ObjectID]);
}
onNewTemplate(): void {
this.router.navigate([this.isGlobalHT ? '/edit-message-template/global' : '/admin/edit-message-template']);
} }
} }
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<div class="jobs-list-shorting"> <div class="jobs-list-shorting">
<div class="ui-g-3 d-job-title all-jobs-title">Workflows</div> <div class="ui-g-3 d-job-title all-jobs-title">Workflows</div>
<div class="ui-g-4"> <div class="ui-g-4">
<a routerLink="/admin/edit-workflow-template" class="add-more-btn">Add Workflow Template</a> <a (click)="onNewTemplate()" class="add-more-btn">Add Workflow Template</a>
</div> </div>
<div class="listing-dropdown"> <div class="listing-dropdown">
<span class="order-label mr-0">order by</span> <span class="order-label mr-0">order by</span>
...@@ -16,9 +16,9 @@ ...@@ -16,9 +16,9 @@
</div> </div>
<div class="ui-g form-group pt-0"> <div class="ui-g form-group pt-0">
<div class="ui-g-12 ui-md-12 pt-0"> <div class="ui-g-12 ui-md-12 pt-0">
<h3>My Templates</h3> <h3 *ngIf="!isGlobalHT">My Templates</h3>
<hr/> <hr *ngIf="!isGlobalHT"/>
<div class="main-client-list"> <div *ngIf="!isGlobalHT" class="main-client-list">
<div class="template-list" *ngFor="let workflow of myTemplates" id="{{workflow.ObjectID}}"> <div class="template-list" *ngFor="let workflow of myTemplates" id="{{workflow.ObjectID}}">
<div class="template-row"> <div class="template-row">
<div class="job-template-left w-80 job-template-cl1 no-border"> <div class="job-template-left w-80 job-template-cl1 no-border">
...@@ -48,8 +48,8 @@ ...@@ -48,8 +48,8 @@
</div> </div>
</div> </div>
</div> </div>
<h3>Shared Templates</h3> <h3 *ngIf="!isGlobalHT">Shared Templates</h3>
<hr/> <hr *ngIf="!isGlobalHT"/>
<div class="main-client-list"> <div class="main-client-list">
<div class="template-list" *ngFor="let workflow of sharedTemplates" id="{{workflow.ObjectID}}"> <div class="template-list" *ngFor="let workflow of sharedTemplates" id="{{workflow.ObjectID}}">
<div class="template-row"> <div class="template-row">
......
import { Component, OnInit } from '@angular/core'; import { Component, OnInit } from '@angular/core';
import { Router } from '@angular/router'; import { Router, Params, ActivatedRoute} from '@angular/router';
import { combineLatest } from 'rxjs/observable/combineLatest'; import { combineLatest } from 'rxjs/observable/combineLatest';
import { Subscription } from 'rxjs/Subscription'; import { Subscription } from 'rxjs/Subscription';
import { AppService } from '../../../app.service'; import { AppService } from '../../../app.service';
...@@ -21,9 +21,11 @@ export class ListWorkFlowsComponent extends BaseComponent implements OnInit { ...@@ -21,9 +21,11 @@ export class ListWorkFlowsComponent extends BaseComponent implements OnInit {
sharedTemplates: Array<WorkflowTemplateModel> = []; sharedTemplates: Array<WorkflowTemplateModel> = [];
sortOptions: Array<SorterModel>; sortOptions: Array<SorterModel>;
showLoader = false; showLoader = false;
isGlobalHT = false;
constructor( constructor(
private router: Router, private router: Router,
private activatedRoute: ActivatedRoute,
private utilsService: UtilsService, private utilsService: UtilsService,
private appService: AppService, private appService: AppService,
private adminPortalLayoutService: AdminPortalLayoutService private adminPortalLayoutService: AdminPortalLayoutService
...@@ -32,13 +34,22 @@ export class ListWorkFlowsComponent extends BaseComponent implements OnInit { ...@@ -32,13 +34,22 @@ export class ListWorkFlowsComponent extends BaseComponent implements OnInit {
} }
ngOnInit(): void { ngOnInit(): void {
this.subscriptions.push(this.activatedRoute.params
.subscribe(
(params: Params) => {
if ((params.global && params.global === 'global')) {
this.isGlobalHT = true;
}
}
));
this.sortOptions = [ this.sortOptions = [
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.showLoader = true; this.showLoader = true;
if (this.adminPortalLayoutService.userData) { if (this.adminPortalLayoutService.userData || this.isGlobalHT) {
this.initComponent(); this.initComponent();
} else { } else {
this.subscriptions.push( this.subscriptions.push(
...@@ -55,6 +66,25 @@ export class ListWorkFlowsComponent extends BaseComponent implements OnInit { ...@@ -55,6 +66,25 @@ export class ListWorkFlowsComponent extends BaseComponent implements OnInit {
const sharedParams = { const sharedParams = {
OnlyGlobalTemplates: true OnlyGlobalTemplates: true
}; };
if(this,this.isGlobalHT) {
this.subscriptions.push(
combineLatest(
this.appService.getSearchListing(SERVICES.WORKFLOW_TEMPLATES, 'All', sharedParams, [], SEARCH.WORKFLOW_TEMPLATE)
)
.subscribe(
(response: [Array<WorkflowTemplateModel>]) => {
this.sharedTemplates = response[0];
this.sortSpecificTemplate('sharedTemplates');
this.showLoader = false;
},
error => {
this.showLoader = false;
this.utilsService.handleError(error);
}
)
);
} else {
const myParams = { const myParams = {
OnlyGlobalTemplates: false, OnlyGlobalTemplates: false,
HiringTeam: this.adminPortalLayoutService.getHiringTeamID().ObjectID HiringTeam: this.adminPortalLayoutService.getHiringTeamID().ObjectID
...@@ -82,6 +112,7 @@ export class ListWorkFlowsComponent extends BaseComponent implements OnInit { ...@@ -82,6 +112,7 @@ export class ListWorkFlowsComponent extends BaseComponent implements OnInit {
) )
); );
} }
}
sortSpecificTemplate(arrayName: string): void { sortSpecificTemplate(arrayName: string): void {
this[arrayName] = this.utilsService.sort(this[arrayName], this[arrayName] = this.utilsService.sort(this[arrayName],
...@@ -103,6 +134,10 @@ export class ListWorkFlowsComponent extends BaseComponent implements OnInit { ...@@ -103,6 +134,10 @@ export class ListWorkFlowsComponent extends BaseComponent implements OnInit {
} }
onRowSelect(data: WorkflowTemplateModel): void { onRowSelect(data: WorkflowTemplateModel): void {
this.router.navigate(['/admin/edit-workflow-template', data.ObjectID]); this.router.navigate([this.isGlobalHT ? '/edit-workflow-template/global' : '/admin/edit-workflow-template', data.ObjectID]);
}
onNewTemplate(): void {
this.router.navigate([this.isGlobalHT ? '/edit-workflow-template/global' : '/admin/edit-workflow-template']);
} }
} }
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