diff options
author | Idan Amit <ia096e@intl.att.com> | 2018-01-28 14:01:47 +0200 |
---|---|---|
committer | Michael Lando <ml636r@att.com> | 2018-01-29 06:54:57 +0000 |
commit | 927fb189d16f96e031b5b92dc963ace22a1d6577 (patch) | |
tree | eb88284e7b7675b4ba8c26e1d15d534376e82dd2 /catalog-ui | |
parent | b03fa6198696e16b9b82ea07472752fb1c28f94c (diff) |
Add query params options to iframe
Added query params support to the designers iframe
Change-Id: I742b4717f5418deb6b7cc6bea143eb7521eed1c0
Issue-ID: SDC-959
Signed-off-by: Idan Amit <ia096e@intl.att.com>
Diffstat (limited to 'catalog-ui')
6 files changed, 43 insertions, 11 deletions
diff --git a/catalog-ui/src/app/app.ts b/catalog-ui/src/app/app.ts index f3bfbb9c52..8de2db97ff 100644 --- a/catalog-ui/src/app/app.ts +++ b/catalog-ui/src/app/app.ts @@ -153,7 +153,7 @@ angular.module('sdcApp').directive('ng2SearchWithAutocomplete', inputs: ['searchPlaceholder', 'searchBarClass', 'autoCompleteValues'], outputs: ['searchChanged', 'searchButtonClicked'] }) as angular.IDirectiveFactory); -angular.module('sdcApp').directive('designerFrame', downgradeComponent( {component: DesignerFrameComponent, inputs: ['designer']} ) as angular.IDirectiveFactory); +angular.module('sdcApp').directive('designerFrame', downgradeComponent( {component: DesignerFrameComponent, inputs: ['designer', 'queryParams']} ) as angular.IDirectiveFactory); ng1appModule.config([ '$stateProvider', diff --git a/catalog-ui/src/app/ng2/components/ui/designer/designer-frame.component.ts b/catalog-ui/src/app/ng2/components/ui/designer/designer-frame.component.ts index b66008f022..b52696a287 100644 --- a/catalog-ui/src/app/ng2/components/ui/designer/designer-frame.component.ts +++ b/catalog-ui/src/app/ng2/components/ui/designer/designer-frame.component.ts @@ -1,4 +1,5 @@ import {Component, OnInit, Input} from "@angular/core"; +import { URLSearchParams } from '@angular/http'; import {Designer} from "app/models"; @Component({ @@ -10,9 +11,12 @@ import {Designer} from "app/models"; export class DesignerFrameComponent implements OnInit { @Input() designer: Designer; + @Input() queryParams: Object; designerUrl: string; + private urlSearchParams: URLSearchParams; constructor() { + this.urlSearchParams = new URLSearchParams(); } ngOnInit(): void { @@ -21,5 +25,14 @@ export class DesignerFrameComponent implements OnInit { this.designer.designerHost + ":" + this.designer.designerPort + this.designer.designerPath; + + if (this.queryParams && !_.isEmpty(this.queryParams)) { + _.forOwn(this.queryParams, (value, key) => { + this.urlSearchParams.set(key, value); + }); + + this.designerUrl += '?'; + this.designerUrl += this.urlSearchParams.toString(); + } } } diff --git a/catalog-ui/src/app/view-models/designers/designers-view-model.ts b/catalog-ui/src/app/view-models/designers/designers-view-model.ts index 380e093cb2..b2545c8ba2 100644 --- a/catalog-ui/src/app/view-models/designers/designers-view-model.ts +++ b/catalog-ui/src/app/view-models/designers/designers-view-model.ts @@ -1,14 +1,13 @@ import {Designer, IUserProperties} from "app/models"; import {CacheService} from "app/services"; -import {MenuItemGroup} from "app/utils"; import {DesignersService} from "../../ng2/services/designers.service"; interface IDesignerViewModelScope extends ng.IScope { designer: Designer - topNavMenuModel:Array<MenuItemGroup>; - user:IUserProperties; - version:string; + user: IUserProperties; + version: string; + queryParams: Object; } export class DesignersViewModel { @@ -31,8 +30,11 @@ export class DesignersViewModel { this.$scope.designer = this.designersService.getDesignerByStateUrl(this.$stateParams.path); this.$scope.version = this.cacheService.get('version'); - this.$scope.topNavMenuModel = []; this.$scope.user = this.cacheService.get('user'); + + this.$scope.queryParams = { + userId: this.$scope.user.userId + }; } } diff --git a/catalog-ui/src/app/view-models/designers/designers-view.html b/catalog-ui/src/app/view-models/designers/designers-view.html index 3ae980589d..9dcad66019 100644 --- a/catalog-ui/src/app/view-models/designers/designers-view.html +++ b/catalog-ui/src/app/view-models/designers/designers-view.html @@ -1,7 +1,7 @@ <div class="sdc-catalog-container"> - <top-nav [menuModel]="topNavMenuModel" [version]="version" [hideSearch]="true"></top-nav> + <top-nav [version]="version" [hide-search]="true"></top-nav> - <designer-frame [designer]="designer"></designer-frame> + <designer-frame [designer]="designer" [query-params]="queryParams"></designer-frame> </div> diff --git a/catalog-ui/src/app/view-models/workspace/tabs/designers/designers-tab-view-model.ts b/catalog-ui/src/app/view-models/workspace/tabs/designers/designers-tab-view-model.ts index 2f4e1dafac..e145188c00 100644 --- a/catalog-ui/src/app/view-models/workspace/tabs/designers/designers-tab-view-model.ts +++ b/catalog-ui/src/app/view-models/workspace/tabs/designers/designers-tab-view-model.ts @@ -1,20 +1,26 @@ -import {Designer} from "app/models"; +import {Designer, IUserProperties} from "app/models"; +import {CacheService} from "app/services"; import {DesignersService} from "../../../../ng2/services/designers.service"; +import {IWorkspaceViewModelScope} from "../../workspace-view-model"; -interface IDesignerTabViewModelScope extends ng.IScope { +interface IDesignerTabViewModelScope extends IWorkspaceViewModelScope { designer: Designer; + user:IUserProperties; + queryParams: Object; } export class DesignersTabViewModel { static '$inject' = [ '$scope', '$stateParams', + 'Sdc.Services.CacheService', 'DesignersService' ]; constructor(private $scope:IDesignerTabViewModelScope, private $stateParams:any, + private cacheService:CacheService, private designersService:DesignersService) { this.initScope(); @@ -22,5 +28,16 @@ export class DesignersTabViewModel { private initScope = ():void => { this.$scope.designer = this.designersService.getDesignerByStateUrl(this.$stateParams.path); + + this.$scope.user = this.cacheService.get('user'); + + this.$scope.queryParams = { + userId: this.$scope.user.userId, + contextType: this.$scope.component.componentType, + uuid: this.$scope.component.uuid, + lifecycleState: this.$scope.component.lifecycleState, + isOwner: this.$scope.component.lastUpdaterUserId === this.$scope.user.userId + }; + } } diff --git a/catalog-ui/src/app/view-models/workspace/tabs/designers/designers-tab-view.html b/catalog-ui/src/app/view-models/workspace/tabs/designers/designers-tab-view.html index 7abb81a694..9af6ae7e30 100644 --- a/catalog-ui/src/app/view-models/workspace/tabs/designers/designers-tab-view.html +++ b/catalog-ui/src/app/view-models/workspace/tabs/designers/designers-tab-view.html @@ -1,5 +1,5 @@ <div class="workspace-designers"> - <designer-frame [designer]="designer"></designer-frame> + <designer-frame [designer]="designer" [query-params]="queryParams"></designer-frame> </div> |