summaryrefslogtreecommitdiffstats
path: root/portal-FE-common/src/app/shared/services/widget-catalog
diff options
context:
space:
mode:
authorSudarshan Kumar <sudarshan.kumar@att.com>2020-01-29 15:37:27 +0530
committerSudarshan Kumar <sudarshan.kumar@att.com>2020-01-29 15:40:55 +0530
commite08934d7ee33d6a22ce746e6e9a2270d87115345 (patch)
tree462d19a732f4090f2b004689180b449a78d85664 /portal-FE-common/src/app/shared/services/widget-catalog
parent602630618626d0ca1fd5fe6ac4f3347029bfd4c7 (diff)
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 <sudarshan.kumar@att.com>
Diffstat (limited to 'portal-FE-common/src/app/shared/services/widget-catalog')
-rw-r--r--portal-FE-common/src/app/shared/services/widget-catalog/widget-catalog.service.spec.ts49
-rw-r--r--portal-FE-common/src/app/shared/services/widget-catalog/widget-catalog.service.ts178
2 files changed, 227 insertions, 0 deletions
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<any> {
+ return this.api.get(environment.api.widgetCommon + '/widgetCatalog' + '/' + loginName);
+ }
+ getManagedWidgets(): Observable<any> {
+ return this.api.get(environment.api.widgetCommon + '/widgetCatalog');
+ }
+ getUploadFlag(): Observable<any> {
+ return this.api.get(environment.api.widgetCommon + '/uploadFlag');
+ }
+ // createWidget(newWidget: any, widgetNameparam: string): Observable<any> {
+ // return this.api.post(environment.api.widgetCommon + '/widgetCatalog', newWidget, widgetNameparam);
+ // }
+
+ // updateWidgetWithFile(newWidget: any, widgetNameparam: string, widgetIdParam: string): Observable<any> {
+ // return this.api.post(environment.api.widgetCommon + '/widgetCatalog/' + widgetIdParam, newWidget, widgetNameparam);
+ // }
+
+ updateWidget(newWidget: any, widgetIdParam: string): Observable<any> {
+ return this.api.put(environment.api.widgetCommon + '/widgetCatalog/' + widgetIdParam, newWidget);
+ }
+ updateWidgetCatalog(appData: any): Observable<any> {
+ const headers = new HttpHeaders().set('X-Widgets-Type','all');
+ return this.api.put(environment.api.widgetCatalogSelection, appData,{headers});
+ }
+}