From e08934d7ee33d6a22ce746e6e9a2270d87115345 Mon Sep 17 00:00:00 2001 From: Sudarshan Kumar Date: Wed, 29 Jan 2020 15:37:27 +0530 Subject: Added service components Added service components and removed all att or ecomp references Issue-ID: PORTAL-795 Change-Id: I71d47098d514cd70dad2d765799b38a54c091b9d Signed-off-by: Sudarshan Kumar --- .../widget-catalog/widget-catalog.service.spec.ts | 49 ++++++ .../widget-catalog/widget-catalog.service.ts | 178 +++++++++++++++++++++ 2 files changed, 227 insertions(+) create mode 100644 portal-FE-common/src/app/shared/services/widget-catalog/widget-catalog.service.spec.ts create mode 100644 portal-FE-common/src/app/shared/services/widget-catalog/widget-catalog.service.ts (limited to 'portal-FE-common/src/app/shared/services/widget-catalog') diff --git a/portal-FE-common/src/app/shared/services/widget-catalog/widget-catalog.service.spec.ts b/portal-FE-common/src/app/shared/services/widget-catalog/widget-catalog.service.spec.ts new file mode 100644 index 00000000..fb87e8b9 --- /dev/null +++ b/portal-FE-common/src/app/shared/services/widget-catalog/widget-catalog.service.spec.ts @@ -0,0 +1,49 @@ +/*- + * ============LICENSE_START========================================== + * ONAP Portal + * =================================================================== + * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Unless otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * ============LICENSE_END============================================ + * + * + */ +import { TestBed } from '@angular/core/testing'; + +import { WidgetCatalogService } from './widget-catalog.service'; + +describe('WidgetCatalogService', () => { + beforeEach(() => TestBed.configureTestingModule({})); + + it('should be created', () => { + const service: WidgetCatalogService = TestBed.get(WidgetCatalogService); + expect(service).toBeTruthy(); + }); +}); diff --git a/portal-FE-common/src/app/shared/services/widget-catalog/widget-catalog.service.ts b/portal-FE-common/src/app/shared/services/widget-catalog/widget-catalog.service.ts new file mode 100644 index 00000000..8cb31785 --- /dev/null +++ b/portal-FE-common/src/app/shared/services/widget-catalog/widget-catalog.service.ts @@ -0,0 +1,178 @@ +/*- + * ============LICENSE_START========================================== + * ONAP Portal + * =================================================================== + * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Unless otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * ============LICENSE_END============================================ + * + * + */ +import { Injectable } from '@angular/core'; +import { IWidgetCatalog } from '../../model/widget-catalog.model'; +import { Observable, from } from 'rxjs'; +import { GridsterConfig, GridsterItem, CompactType, DisplayGrid, GridType } from 'angular-gridster2'; +import { CoreService } from '../core/core.service'; +import { environment } from 'src/environments/environment'; +import { HttpClient, HttpHeaders } from '@angular/common/http'; + + + +@Injectable({ + providedIn: 'root' +}) +export class WidgetCatalogService { + public options: GridsterConfig = { + minCols: 6, + maxCols: 6, + minRows: 7, + //maxRows: 4, + maxItemCols: 50, + minItemCols: 1, + maxItemRows: 50, + minItemRows: 1, + maxItemArea: 2500, + minItemArea: 1, + defaultItemCols: 2, + defaultItemRows: 2, + setGridSize: false, + fixedColWidth: 250, + fixedRowHeight: 250, + gridType: GridType.ScrollVertical, + swap: true, + dynamicColumns: true, + displayGrid: DisplayGrid.None, + + + draggable: { + enabled: true + }, + pushItems: true, + resizable: { + enabled: true + } + }; + public layout: GridsterItem[] = []; + constructor(private api: HttpClient) { } + addItem(widgetData: any): void { + this.layout.push(widgetData); + } + widgetCatalogData: IWidgetCatalog[] = [{ + widgetId: '1', + widgetName: 'TestData1', + widgetStatus: 'TestStatus1', + imageLink: 'week_1.png', + select: true + }, + { + widgetId: '2', + widgetName: 'TestData1', + widgetStatus: 'TestStatus1', + imageLink: 'week_1.png', + select: true + }, + { + widgetId: '3', + widgetName: 'TestData1', + widgetStatus: 'TestStatus1', + imageLink: 'week_1.png', + select: true + }, + { + widgetId: '4', + widgetName: 'TestData1', + widgetStatus: 'TestStatus1', + imageLink: 'week_1.png', + select: true + }, + { + widgetId: '5', + widgetName: 'TestData1', + widgetStatus: 'TestStatus1', + imageLink: 'week_1.png', + select: true + }, + { + widgetId: '6', + widgetName: 'TestData1', + widgetStatus: 'TestStatus1', + imageLink: 'week_1.png', + select: true + }, + { + widgetId: '7', + widgetName: 'TestData1', + widgetStatus: 'TestStatus1', + imageLink: 'week_1.png', + select: true + }, + { + widgetId: '8', + widgetName: 'TestData1', + widgetStatus: 'TestStatus1', + imageLink: 'week_1.png', + select: true + }]; + + + public getWidgetCatalog(): any { + const widgetCatalogObservable = new Observable(observer => { + setTimeout(() => { + observer.next(this.widgetCatalogData); + }, 1000); + }); + + return widgetCatalogObservable; + } + getUserWidgets(loginName: string): Observable { + return this.api.get(environment.api.widgetCommon + '/widgetCatalog' + '/' + loginName); + } + getManagedWidgets(): Observable { + return this.api.get(environment.api.widgetCommon + '/widgetCatalog'); + } + getUploadFlag(): Observable { + return this.api.get(environment.api.widgetCommon + '/uploadFlag'); + } + // createWidget(newWidget: any, widgetNameparam: string): Observable { + // return this.api.post(environment.api.widgetCommon + '/widgetCatalog', newWidget, widgetNameparam); + // } + + // updateWidgetWithFile(newWidget: any, widgetNameparam: string, widgetIdParam: string): Observable { + // return this.api.post(environment.api.widgetCommon + '/widgetCatalog/' + widgetIdParam, newWidget, widgetNameparam); + // } + + updateWidget(newWidget: any, widgetIdParam: string): Observable { + return this.api.put(environment.api.widgetCommon + '/widgetCatalog/' + widgetIdParam, newWidget); + } + updateWidgetCatalog(appData: any): Observable { + const headers = new HttpHeaders().set('X-Widgets-Type','all'); + return this.api.put(environment.api.widgetCatalogSelection, appData,{headers}); + } +} -- cgit 1.2.3-korg