From 1b2d71d30ec8c92c50eabb2b163ec9cc9640d61a Mon Sep 17 00:00:00 2001 From: Ezhilarasi Date: Sat, 6 Apr 2019 00:21:57 +0530 Subject: CBA integration Change-Id: I0505e32fe7680f1e2ee029f36d37e3ec84088789 Issue-ID: CCSDK-1068 Signed-off-by: Ezhilarasi --- .../src/app/common/constants/app-constants.ts | 40 +++++++++-------- .../src/app/common/core/services/api.service.ts | 42 +++++++++++++----- .../search-dialog/search-dialog.component.ts | 51 ++++++++++++++++++++++ .../components/search-dialog/search-dialog.html | 29 ++++++++++++ .../client/src/app/common/shared/shared.module.ts | 18 +++++--- 5 files changed, 147 insertions(+), 33 deletions(-) create mode 100644 cds-ui/client/src/app/common/shared/components/search-dialog/search-dialog.component.ts create mode 100644 cds-ui/client/src/app/common/shared/components/search-dialog/search-dialog.html (limited to 'cds-ui/client/src/app/common') diff --git a/cds-ui/client/src/app/common/constants/app-constants.ts b/cds-ui/client/src/app/common/constants/app-constants.ts index 0efabebf5..0bfe5cade 100644 --- a/cds-ui/client/src/app/common/constants/app-constants.ts +++ b/cds-ui/client/src/app/common/constants/app-constants.ts @@ -31,7 +31,7 @@ export const GlobalContants = { // } // } cbawizard: { - stepsRequired: + stepsRequired: { stepCount: 4, steps: [{ @@ -69,26 +69,30 @@ export const GlobalContants = { } }, datadictionary: { - stepsRequired: + stepsRequired: { stepCount: 3, steps: [{ - name: 'Resource Creation', componentURL: '/dataDictionary/selectTemplate', - label: 'Resource Creation', - component: 'ResourceCreationComponent' + name: 'Resource Creation', componentURL: '/dataDictionary/selectTemplate', + label: 'Resource Creation', + component: 'ResourceCreationComponent' - }, - { - name: 'Edit/Validate', componentURL: '/dataDictionary/modifyTemplate', - label: 'Edit/Validate', - component: 'ResourceEditComponent' - }, - { - name: 'Save', componentURL: '/dataDictionary/saveTemplate', - label: 'Save Resource', - component: 'SaveResourceComponent' - }] - } + }, + { + name: 'Edit/Validate', componentURL: '/dataDictionary/modifyTemplate', + label: 'Edit/Validate', + component: 'ResourceEditComponent' + }, + { + name: 'Save', componentURL: '/dataDictionary/saveTemplate', + label: 'Save Resource', + component: 'SaveResourceComponent' + }] + } } -}; \ No newline at end of file +}; +export const LoopbackConfig = { + url: "http://127.0.0.1:3000", + authtoken: "ccsdkapps" +} \ No newline at end of file diff --git a/cds-ui/client/src/app/common/core/services/api.service.ts b/cds-ui/client/src/app/common/core/services/api.service.ts index 0ee3c6a78..20d8a9bce 100644 --- a/cds-ui/client/src/app/common/core/services/api.service.ts +++ b/cds-ui/client/src/app/common/core/services/api.service.ts @@ -20,33 +20,55 @@ limitations under the License. */ + import { Injectable } from '@angular/core'; -import { HttpClient } from '@angular/common/http'; +import { HttpClient, HttpHeaders, HttpResponse, HttpHeaderResponse } from '@angular/common/http'; import { Observable } from 'rxjs'; - -//import { IBlueprintHttp } from '../store/models/blueprint-http.model'; +import { LoopbackConfig } from '../../constants/app-constants'; @Injectable() export class ApiService { - // blueprintUrl = '../../constants/blueprint.json'; - + constructor(private _http: HttpClient) { } + enrich(uri: string, body: FormData): Observable { + + var HTTPOptions = { + headers: new HttpHeaders({ 'Accept': 'application/zip', }), + observe: "response" as 'body',// to display the full response & as 'body' for type cast + 'responseType': 'blob' as 'json' + } + return this._http.post(LoopbackConfig.url + uri, body, HTTPOptions); + + } + downloadCBA(uri: string, params?: any): Observable { + // return this._http.get(LoopbackConfig.url+uri); + var HTTPOptions = { + headers: new HttpHeaders({ 'Accept': 'application/zip; charset=UTF-8', }), + observe: "response" as 'body',// to display the full response & as 'body' for type cast + 'responseType': 'blob' as 'json' + } + return this._http.get(LoopbackConfig.url + uri, HTTPOptions); - get(url: string, params?: any): Observable { - return this._http.get(url); } - post() { + post(uri: string, body: FormData): Observable { // to do + const httpOptions = { + headers: new HttpHeaders({ + 'Authorization': LoopbackConfig.authtoken, + + }) + }; + return this._http.post(LoopbackConfig.url + uri, body, httpOptions); } put() { - // to do + // to do } delete() { - // to do + // to do } } \ No newline at end of file diff --git a/cds-ui/client/src/app/common/shared/components/search-dialog/search-dialog.component.ts b/cds-ui/client/src/app/common/shared/components/search-dialog/search-dialog.component.ts new file mode 100644 index 000000000..e20b7cbd3 --- /dev/null +++ b/cds-ui/client/src/app/common/shared/components/search-dialog/search-dialog.component.ts @@ -0,0 +1,51 @@ +/* +============LICENSE_START========================================== +=================================================================== +Copyright (C) 2018-19 IBM 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. +============LICENSE_END============================================ +*/ + +import {Component, Inject, Output, EventEmitter} from '@angular/core'; +import {MatDialog, MatDialogRef, MAT_DIALOG_DATA} from '@angular/material'; + +export interface DialogData { + animal: string; + name: string; + } + +@Component({ + selector: 'search-dialog', + templateUrl: 'search-dialog.html', + }) + export class SearchDialog { + @Output() searchEvent = new EventEmitter(); + + constructor( + public dialogRef: MatDialogRef, + @Inject(MAT_DIALOG_DATA) public data: DialogData) {} + + onNoClick(): void { + this.dialogRef.close(); + this.dialogRef.keydownEvents + } + + search() { + this.searchEvent.emit(); + } + + + } \ No newline at end of file diff --git a/cds-ui/client/src/app/common/shared/components/search-dialog/search-dialog.html b/cds-ui/client/src/app/common/shared/components/search-dialog/search-dialog.html new file mode 100644 index 000000000..c6c41bf68 --- /dev/null +++ b/cds-ui/client/src/app/common/shared/components/search-dialog/search-dialog.html @@ -0,0 +1,29 @@ + + + +

Resouce Dictionary

+
+ +
+
+ +
\ No newline at end of file diff --git a/cds-ui/client/src/app/common/shared/shared.module.ts b/cds-ui/client/src/app/common/shared/shared.module.ts index 8db020d52..6ca5b13a5 100644 --- a/cds-ui/client/src/app/common/shared/shared.module.ts +++ b/cds-ui/client/src/app/common/shared/shared.module.ts @@ -20,26 +20,33 @@ limitations under the License. */ import { NgModule } from '@angular/core'; +import { FormsModule } from '@angular/forms'; import { CommonModule } from '@angular/common'; import { HomeComponent } from './components/home/home.component'; import { CBAWizardComponent } from './components/cbawizard/cbawizard.component'; import { MatToolbarModule,MatIconModule, MatButtonModule, MatSidenavModule, MatListModule, MatGridListModule, MatCardModule, MatMenuModule, MatTableModule, MatPaginatorModule, MatSortModule, MatInputModule, MatSelectModule, MatRadioModule, MatFormFieldModule, MatStepperModule} from '@angular/material'; import { RouterModule } from "@angular/router"; import { SearchPipe } from './pipes/search.pipe'; +import { SearchDialog } from './components/search-dialog/search-dialog.component'; +import { AppMaterialModule } from '../modules/app-material.module'; @NgModule({ declarations: [ HomeComponent, CBAWizardComponent, - SearchPipe - + SearchPipe, + SearchDialog + ], exports: [ HomeComponent, CBAWizardComponent, - SearchPipe + SearchPipe, + SearchDialog ], imports: [ + AppMaterialModule, + FormsModule, CommonModule, MatToolbarModule, MatButtonModule, @@ -58,6 +65,7 @@ import { SearchPipe } from './pipes/search.pipe'; MatFormFieldModule, MatStepperModule, RouterModule - ] + ], + entryComponents: [SearchDialog] }) -export class SharedModule { } +export class SharedModule { } \ No newline at end of file -- cgit 1.2.3-korg