diff options
Diffstat (limited to 'portal-FE-common/src/app/pages/dynamic-widget')
4 files changed, 277 insertions, 0 deletions
diff --git a/portal-FE-common/src/app/pages/dynamic-widget/dynamic-widget.component.html b/portal-FE-common/src/app/pages/dynamic-widget/dynamic-widget.component.html new file mode 100644 index 00000000..5ea72090 --- /dev/null +++ b/portal-FE-common/src/app/pages/dynamic-widget/dynamic-widget.component.html @@ -0,0 +1,38 @@ +<!-- + ============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============================================ + + + --> +<div #vc style="overflow-y: scroll;"></div> diff --git a/portal-FE-common/src/app/pages/dynamic-widget/dynamic-widget.component.scss b/portal-FE-common/src/app/pages/dynamic-widget/dynamic-widget.component.scss new file mode 100644 index 00000000..570475d7 --- /dev/null +++ b/portal-FE-common/src/app/pages/dynamic-widget/dynamic-widget.component.scss @@ -0,0 +1,121 @@ +/*- + * ============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============================================ + * + * + */ + + + +:host { .toolbar { + height: 100px; + display: flex; + } gridster { + display: flex; + height: calc(100vh - 115px); + flex-direction: column; + }} + .icon-content-gridguide{ + cursor:move; + font-size: 22px; + } + .form-row { + margin-top: -14px; + } + .griditem-header{ + + + border-bottom: 1px; + border-bottom-color: solid gray; + + + + } + +.checkbox, .radio { + min-height: 10px; + padding-left: 0px; +} + +.appCatalogue-boarder{ + background-color: #eee; + border: 1px dashed white; + height: 100%; + + overflow-y: auto; + overflow-x: hidden; + } + + .gridster-box { + height: 100%; + border: 1px solid #ccc; + background-color: #fff; + transition: transform 0.5s ease-out; +} +.gridster-box-header { + background-color: #fff; + padding: 0 0px 0 10px; + border-bottom: 1px solid #ccc; + position: relative; + height: 50px !important; +} +.gridster-box-header h3 { + margin-top: 15px; + display: inline-block; + font-size: 70%; + font-family: "Omnes-ECOMP-W02", Arial; +} +.gridster-box-content { + //padding: 59px; + overflow-y: scroll; + height: 100%; + +} +.gridster-box-content:hover{ + //transform: scale(1.1); +} +.gridster-box-header-btns { + top: 15px; + right: 10px; + position: absolute; +} +.checkbox input{ + margin: 6px; + left: 112px; + top: -20px; + } +.checkbox .skin { + left: 125px; + top: -18px; +}
\ No newline at end of file diff --git a/portal-FE-common/src/app/pages/dynamic-widget/dynamic-widget.component.spec.ts b/portal-FE-common/src/app/pages/dynamic-widget/dynamic-widget.component.spec.ts new file mode 100644 index 00000000..bae69386 --- /dev/null +++ b/portal-FE-common/src/app/pages/dynamic-widget/dynamic-widget.component.spec.ts @@ -0,0 +1,38 @@ +/*- + * ============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============================================ + * + * + */ + diff --git a/portal-FE-common/src/app/pages/dynamic-widget/dynamic-widget.component.ts b/portal-FE-common/src/app/pages/dynamic-widget/dynamic-widget.component.ts new file mode 100644 index 00000000..21aab3a7 --- /dev/null +++ b/portal-FE-common/src/app/pages/dynamic-widget/dynamic-widget.component.ts @@ -0,0 +1,80 @@ +/*- + * ============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 { Compiler, Component, Injector, NgModule, NgModuleRef, ViewChild, ViewContainerRef, OnInit, Input } from '@angular/core'; +import { PluginLoaderService } from 'src/app/shared/plugin/plugin-loader/plugin-loader.service'; + +@Component({ + selector: 'app-dynamic-widget', + templateUrl: './dynamic-widget.component.html', + styleUrls: ['./dynamic-widget.component.scss'] +}) +export class DynamicWidgetComponent implements OnInit { + + @ViewChild('vc', { read: ViewContainerRef }) _container: ViewContainerRef; + @Input() widgetType:string; + + constructor(private injector: Injector, + private pluginLoader: PluginLoaderService) { + } + + ngOnInit() { + console.log('this.widgetType'+ this.widgetType); + this.loadPlugin(this.widgetType); + } + + + loadPlugin(pluginName: string) { + + setTimeout(() => { + this.executePlugin(pluginName); + + }, 2000); + + } + + executePlugin(pluginName: string) { + this.pluginLoader.load(pluginName).then(moduleFactory => { + const moduleRef = moduleFactory.create(this.injector); + const entryComponent = (moduleFactory.moduleType as any).entry; + const compFactory = moduleRef.componentFactoryResolver.resolveComponentFactory( + entryComponent + ); + this._container.createComponent(compFactory); + }); + } +} |