From 46c63acfdb4bfa54c5f2a6eb42d80e5dd853488a Mon Sep 17 00:00:00 2001 From: jz385p Date: Thu, 30 Jan 2020 19:36:10 +0530 Subject: Angular upgrade - Dynamic widget,widget catalog Angular upgrade Issue-ID: PORTAL-815 Change-Id: If3db891f2d02efa1d86b71198de97a322ddd0cfa Signed-off-by: jz385p --- .../widget-catalog/widget-catalog.component.ts | 85 ++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 portal-FE-common/src/app/pages/widget-catalog/widget-catalog.component.ts (limited to 'portal-FE-common/src/app/pages/widget-catalog/widget-catalog.component.ts') diff --git a/portal-FE-common/src/app/pages/widget-catalog/widget-catalog.component.ts b/portal-FE-common/src/app/pages/widget-catalog/widget-catalog.component.ts new file mode 100644 index 00000000..c36f9e11 --- /dev/null +++ b/portal-FE-common/src/app/pages/widget-catalog/widget-catalog.component.ts @@ -0,0 +1,85 @@ +import { Component, OnInit } from '@angular/core'; +import { GridsterConfig, GridsterItem } from 'angular-gridster2'; +import { WidgetCatalogService } from '../../shared/services/widget-catalog/widget-catalog.service'; +import { IWidgetCatalog } from '../../shared/model/widget-catalog.model'; +import { Observable } from 'rxjs'; +import { inflateRaw } from 'zlib'; +import { UsersService } from 'src/app/shared/services/users/users.service'; + + +@Component({ + selector: 'app-widget-catalog', + templateUrl: './widget-catalog.component.html', + styleUrls: ['./widget-catalog.component.scss'] +}) +export class WidgetCatalogComponent implements OnInit { + widgetCatalogData: IWidgetCatalog[]; + isCommonError: boolean = false; + isApiRunning: boolean = true; + userName: string; + + + get options(): GridsterConfig { + return this.widgetCatalogService.options; + } get layout(): GridsterItem[] { + return this.widgetCatalogService.layout; + } constructor(private widgetCatalogService: WidgetCatalogService, private userService: UsersService) { + + } + + ngOnInit() { + const widgetCatalogObservable = this.widgetCatalogService.getWidgetCatalog(); + this.widgetCatalogService.layout = []; + this.getUserWidgets(this.userName); + } + + + getUserWidgets(loginName: string) { + const widgetCatalogUserObservable = this.userService.getUserProfile(); + widgetCatalogUserObservable.subscribe((userProfile: any) => { + //console.log('UserProfile is ' + userProfile); + if (userProfile) { + const widgetCatalogObservable = this.widgetCatalogService.getUserWidgets(userProfile.orgUserId); + widgetCatalogObservable.subscribe(data => { + //console.log("What is coming from backend" + JSON.parse(data)); + this.widgetCatalogData = data; + console.log(this.widgetCatalogData); + for (let entry of this.widgetCatalogData) { + if (entry[1] == 'Events' || entry[1] == 'News' || entry[1] == 'Resources') { + var appCatalog = { + id: entry[0], + name: entry[1], + headerName: entry[2], + select: (entry[4] == 'S' || entry[4] === null) ? true : false + }; + this.widgetCatalogService.addItem(appCatalog); + } + } + }); + } + }); + + } + + getUserProfile(): Observable { + const widgetCatalogObservable = this.userService.getUserProfile(); + return widgetCatalogObservable; + } + + storeSelection(widgetCatalogData: any) { + console.log("Store selection called " + widgetCatalogData.select); + if (widgetCatalogData) { + var appData = { + widgetId: widgetCatalogData.id, + select: widgetCatalogData.select, + pending:false + }; + this.widgetCatalogService.updateWidgetCatalog(appData).subscribe(data => { + //console.log("Update App sort data" + data); + }, error => { + console.log('updateWidgetCatalog error' + error); + }); + } + + } +} \ No newline at end of file -- cgit 1.2.3-korg