@onecx/shell-core 5.30.0 → 5.31.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/app-loading-spinner/app-loading-spinner.component.mjs +11 -0
- package/esm2022/lib/components/error-component/global-error.component.mjs +2 -4
- package/esm2022/lib/components/portal-footer/portal-footer.component.mjs +5 -5
- package/esm2022/lib/components/portal-header/header.component.mjs +5 -6
- package/esm2022/lib/components/portal-viewport/portal-viewport.component.mjs +7 -7
- package/esm2022/lib/directives/src.directive.mjs +65 -0
- package/esm2022/lib/shell-core.module.mjs +7 -7
- package/fesm2022/onecx-shell-core.mjs +94 -30
- package/fesm2022/onecx-shell-core.mjs.map +1 -1
- package/lib/components/app-loading-spinner/app-loading-spinner.component.d.ts +5 -0
- package/lib/directives/src.directive.d.ts +14 -0
- package/lib/shell-core.module.d.ts +8 -8
- package/package.json +3 -5
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { CommonModule } from '@angular/common';
|
|
2
2
|
import { NgModule } from '@angular/core';
|
|
3
3
|
import { RouterModule } from '@angular/router';
|
|
4
|
-
import { AngularAcceleratorModule } from '@onecx/angular-accelerator';
|
|
5
4
|
import { AngularRemoteComponentsModule } from '@onecx/angular-remote-components';
|
|
6
5
|
import { ToastModule } from 'primeng/toast';
|
|
7
6
|
import { GlobalErrorComponent } from './components/error-component/global-error.component';
|
|
@@ -9,19 +8,20 @@ import { PortalFooterComponent } from './components/portal-footer/portal-footer.
|
|
|
9
8
|
import { HeaderComponent } from './components/portal-header/header.component';
|
|
10
9
|
import { PortalViewportComponent } from './components/portal-viewport/portal-viewport.component';
|
|
11
10
|
import { SkeletonModule } from 'primeng/skeleton';
|
|
12
|
-
import {
|
|
11
|
+
import { AppLoadingSpinnerComponent } from './components/app-loading-spinner/app-loading-spinner.component';
|
|
12
|
+
import { ShellSrcDirective } from './directives/src.directive';
|
|
13
13
|
import * as i0 from "@angular/core";
|
|
14
14
|
export class ShellCoreModule {
|
|
15
15
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ShellCoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
16
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.12", ngImport: i0, type: ShellCoreModule, declarations: [PortalViewportComponent, HeaderComponent, PortalFooterComponent, GlobalErrorComponent], imports: [CommonModule, RouterModule, AngularRemoteComponentsModule,
|
|
17
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ShellCoreModule, imports: [CommonModule, RouterModule, AngularRemoteComponentsModule,
|
|
16
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.12", ngImport: i0, type: ShellCoreModule, declarations: [PortalViewportComponent, HeaderComponent, PortalFooterComponent, GlobalErrorComponent, AppLoadingSpinnerComponent, ShellSrcDirective], imports: [CommonModule, RouterModule, AngularRemoteComponentsModule, ToastModule, SkeletonModule], exports: [PortalViewportComponent, HeaderComponent, PortalFooterComponent, ToastModule, GlobalErrorComponent] }); }
|
|
17
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ShellCoreModule, imports: [CommonModule, RouterModule, AngularRemoteComponentsModule, ToastModule, SkeletonModule, ToastModule] }); }
|
|
18
18
|
}
|
|
19
19
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ShellCoreModule, decorators: [{
|
|
20
20
|
type: NgModule,
|
|
21
21
|
args: [{
|
|
22
|
-
imports: [CommonModule, RouterModule, AngularRemoteComponentsModule,
|
|
23
|
-
declarations: [PortalViewportComponent, HeaderComponent, PortalFooterComponent, GlobalErrorComponent],
|
|
22
|
+
imports: [CommonModule, RouterModule, AngularRemoteComponentsModule, ToastModule, SkeletonModule],
|
|
23
|
+
declarations: [PortalViewportComponent, HeaderComponent, PortalFooterComponent, GlobalErrorComponent, AppLoadingSpinnerComponent, ShellSrcDirective],
|
|
24
24
|
exports: [PortalViewportComponent, HeaderComponent, PortalFooterComponent, ToastModule, GlobalErrorComponent],
|
|
25
25
|
}]
|
|
26
26
|
}] });
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGwtY29yZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3NoZWxsLWNvcmUvc3JjL2xpYi9zaGVsbC1jb3JlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sa0NBQWtDLENBQUE7QUFDaEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUMzQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxREFBcUQsQ0FBQTtBQUMxRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQTtBQUMxRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkNBQTZDLENBQUE7QUFDN0UsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0RBQXdELENBQUE7QUFDaEcsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBQ2pELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGdFQUFnRSxDQUFBO0FBQzNHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFBOztBQU85RCxNQUFNLE9BQU8sZUFBZTsrR0FBZixlQUFlO2dIQUFmLGVBQWUsaUJBSFgsdUJBQXVCLEVBQUUsZUFBZSxFQUFFLHFCQUFxQixFQUFFLG9CQUFvQixFQUFFLDBCQUEwQixFQUFFLGlCQUFpQixhQUR6SSxZQUFZLEVBQUUsWUFBWSxFQUFFLDZCQUE2QixFQUFFLFdBQVcsRUFBRSxjQUFjLGFBRXRGLHVCQUF1QixFQUFFLGVBQWUsRUFBRSxxQkFBcUIsRUFBRSxXQUFXLEVBQUUsb0JBQW9CO2dIQUVqRyxlQUFlLFlBSmhCLFlBQVksRUFBRSxZQUFZLEVBQUUsNkJBQTZCLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFFckIsV0FBVzs7NEZBRTNFLGVBQWU7a0JBTDNCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFlBQVksRUFBRSw2QkFBNkIsRUFBRSxXQUFXLEVBQUUsY0FBYyxDQUFDO29CQUNqRyxZQUFZLEVBQUUsQ0FBQyx1QkFBdUIsRUFBRSxlQUFlLEVBQUUscUJBQXFCLEVBQUUsb0JBQW9CLEVBQUUsMEJBQTBCLEVBQUUsaUJBQWlCLENBQUM7b0JBQ3BKLE9BQU8sRUFBRSxDQUFDLHVCQUF1QixFQUFFLGVBQWUsRUFBRSxxQkFBcUIsRUFBRSxXQUFXLEVBQUUsb0JBQW9CLENBQUM7aUJBQzlHIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJ1xuaW1wb3J0IHsgQW5ndWxhclJlbW90ZUNvbXBvbmVudHNNb2R1bGUgfSBmcm9tICdAb25lY3gvYW5ndWxhci1yZW1vdGUtY29tcG9uZW50cydcbmltcG9ydCB7IFRvYXN0TW9kdWxlIH0gZnJvbSAncHJpbWVuZy90b2FzdCdcbmltcG9ydCB7IEdsb2JhbEVycm9yQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Vycm9yLWNvbXBvbmVudC9nbG9iYWwtZXJyb3IuY29tcG9uZW50J1xuaW1wb3J0IHsgUG9ydGFsRm9vdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3BvcnRhbC1mb290ZXIvcG9ydGFsLWZvb3Rlci5jb21wb25lbnQnXG5pbXBvcnQgeyBIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcG9ydGFsLWhlYWRlci9oZWFkZXIuY29tcG9uZW50J1xuaW1wb3J0IHsgUG9ydGFsVmlld3BvcnRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcG9ydGFsLXZpZXdwb3J0L3BvcnRhbC12aWV3cG9ydC5jb21wb25lbnQnXG5pbXBvcnQgeyBTa2VsZXRvbk1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvc2tlbGV0b24nXG5pbXBvcnQgeyBBcHBMb2FkaW5nU3Bpbm5lckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9hcHAtbG9hZGluZy1zcGlubmVyL2FwcC1sb2FkaW5nLXNwaW5uZXIuY29tcG9uZW50J1xuaW1wb3J0IHsgU2hlbGxTcmNEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvc3JjLmRpcmVjdGl2ZSdcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgUm91dGVyTW9kdWxlLCBBbmd1bGFyUmVtb3RlQ29tcG9uZW50c01vZHVsZSwgVG9hc3RNb2R1bGUsIFNrZWxldG9uTW9kdWxlXSxcbiAgZGVjbGFyYXRpb25zOiBbUG9ydGFsVmlld3BvcnRDb21wb25lbnQsIEhlYWRlckNvbXBvbmVudCwgUG9ydGFsRm9vdGVyQ29tcG9uZW50LCBHbG9iYWxFcnJvckNvbXBvbmVudCwgQXBwTG9hZGluZ1NwaW5uZXJDb21wb25lbnQsIFNoZWxsU3JjRGlyZWN0aXZlXSxcbiAgZXhwb3J0czogW1BvcnRhbFZpZXdwb3J0Q29tcG9uZW50LCBIZWFkZXJDb21wb25lbnQsIFBvcnRhbEZvb3RlckNvbXBvbmVudCwgVG9hc3RNb2R1bGUsIEdsb2JhbEVycm9yQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgU2hlbGxDb3JlTW9kdWxlIHt9XG4iXX0=
|
|
@@ -1,31 +1,25 @@
|
|
|
1
1
|
import * as i5 from '@angular/common';
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
|
-
import { Component, Input, InjectionToken,
|
|
4
|
+
import { Component, Input, InjectionToken, EventEmitter, Directive, Output, Optional, Inject, Renderer2, HostListener, NgModule, Injectable } from '@angular/core';
|
|
5
5
|
import * as i1 from '@angular/router';
|
|
6
6
|
import { Router, RouterModule } from '@angular/router';
|
|
7
|
-
import * as i5$1 from '@onecx/angular-accelerator';
|
|
8
|
-
import { AngularAcceleratorModule } from '@onecx/angular-accelerator';
|
|
9
7
|
import * as i4 from '@onecx/angular-remote-components';
|
|
10
8
|
import { AngularRemoteComponentsModule } from '@onecx/angular-remote-components';
|
|
11
9
|
import * as i7 from 'primeng/toast';
|
|
12
10
|
import { ToastModule } from 'primeng/toast';
|
|
13
|
-
import * as
|
|
14
|
-
import * as i3 from 'primeng/ripple';
|
|
15
|
-
import * as i1$1 from '@onecx/angular-integration-interface';
|
|
11
|
+
import * as i1$2 from '@onecx/angular-integration-interface';
|
|
16
12
|
import { CONFIG_KEY, ThemeService, AppStateService, PortalMessageService, UserService } from '@onecx/angular-integration-interface';
|
|
17
13
|
import { withLatestFrom, map, combineLatest, mergeMap, of, filter, concat, first, from, shareReplay } from 'rxjs';
|
|
14
|
+
import * as i1$1 from '@angular/common/http';
|
|
15
|
+
import { HttpClient } from '@angular/common/http';
|
|
18
16
|
import { __decorate, __metadata } from 'tslib';
|
|
19
17
|
import { trigger, transition, style, animate } from '@angular/animations';
|
|
20
18
|
import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
|
|
21
|
-
import * as
|
|
19
|
+
import * as i4$1 from 'primeng/skeleton';
|
|
22
20
|
import { SkeletonModule } from 'primeng/skeleton';
|
|
23
|
-
import * as
|
|
24
|
-
import { HttpClient } from '@angular/common/http';
|
|
25
|
-
import * as i1$2 from 'primeng/api';
|
|
21
|
+
import * as i1$3 from 'primeng/api';
|
|
26
22
|
import { PrimeNGConfig, MessageService } from 'primeng/api';
|
|
27
|
-
import * as i9 from '@onecx/portal-integration-angular';
|
|
28
|
-
import { PortalCoreModule } from '@onecx/portal-integration-angular';
|
|
29
23
|
|
|
30
24
|
class GlobalErrorComponent {
|
|
31
25
|
constructor(router, route) {
|
|
@@ -41,7 +35,7 @@ class GlobalErrorComponent {
|
|
|
41
35
|
window.location.reload();
|
|
42
36
|
}
|
|
43
37
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: GlobalErrorComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
44
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: GlobalErrorComponent, selector: "ocx-shell-error", inputs: { errCode: "errCode" }, ngImport: i0, template: "<div class=\"pages-body error-page flex flex-column\">\n <div class=\"align-self-center mt-auto mb-auto\">\n <div class=\"pages-panel card flex flex-column\">\n <div class=\"pages-header px-3 py-1\">\n <h2>ERROR</h2>\n </div>\n <div class=\"card mt-3 px-6\">\n <img src=\"assets/images/error.png\" alt=\"\" />\n </div>\n <div class=\"pages-detail pb-6\">{{errCode}}</div>\n <button pButton pRipple type=\"button\" label=\"Try Again\" (click)=\"reload()\" class=\"p-button-text\"></button>\n </div>\n </div>\n</div>\n", styles: [".pages-body{height:100vh}.pages-body .topbar{box-shadow:0 2px 5px #00000042;background-color:#1565c0;z-index:100}.pages-body .topbar .topbar-left img{height:2rem}.pages-body .topbar .p-button.p-button-text.p-button-plain{color:#fff}.pages-body .pages-panel{text-align:center;z-index:200}.pages-body .pages-panel.card{border:1.5px solid var(--divider-color);border-radius:6px}.pages-body .pages-panel.card img{width:100%}.pages-body .pages-panel.card>.card{background-color:var(--content-alt-bg-color)}.pages-body .pages-panel .pages-header{margin-top:-3rem;color:var(--primary-color-text);border:1.5px solid var(--divider-color);border-radius:4px;margin-left:auto;margin-right:auto}.pages-body .pages-panel .pages-header h2{margin:0}.pages-body .pages-panel .pages-detail{color:var(--text-secondary-color)}.pages-body.error-page{background-size:cover;background-color:var(--primary-color)}.pages-body.error-page .pages-panel .pages-header{background:#d81b60}.pages-body.notfound-page{background-size:cover}.pages-body.notfound-page .pages-panel .pages-header{background:#455a64}.pages-body.accessdenied-page{background-size:cover}.pages-body.accessdenied-page .pages-panel .pages-header{background:#fb8c00}@media screen and (max-width: 768px){.pages-body.contact-page .pages-panel{padding-bottom:10em}.pages-body.contact-page .pages-panel .p-button{width:100%}.pages-body.contact-page .pages-panel .card .right-panel{text-align:center}}\n"]
|
|
38
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: GlobalErrorComponent, selector: "ocx-shell-error", inputs: { errCode: "errCode" }, ngImport: i0, template: "<div class=\"pages-body error-page flex flex-column\">\n <div class=\"align-self-center mt-auto mb-auto\">\n <div class=\"pages-panel card flex flex-column\">\n <div class=\"pages-header px-3 py-1\">\n <h2>ERROR</h2>\n </div>\n <div class=\"card mt-3 px-6\">\n <img src=\"assets/images/error.png\" alt=\"\" />\n </div>\n <div class=\"pages-detail pb-6\">{{errCode}}</div>\n <button pButton pRipple type=\"button\" label=\"Try Again\" (click)=\"reload()\" class=\"p-button-text\"></button>\n </div>\n </div>\n</div>\n", styles: [".pages-body{height:100vh}.pages-body .topbar{box-shadow:0 2px 5px #00000042;background-color:#1565c0;z-index:100}.pages-body .topbar .topbar-left img{height:2rem}.pages-body .topbar .p-button.p-button-text.p-button-plain{color:#fff}.pages-body .pages-panel{text-align:center;z-index:200}.pages-body .pages-panel.card{border:1.5px solid var(--divider-color);border-radius:6px}.pages-body .pages-panel.card img{width:100%}.pages-body .pages-panel.card>.card{background-color:var(--content-alt-bg-color)}.pages-body .pages-panel .pages-header{margin-top:-3rem;color:var(--primary-color-text);border:1.5px solid var(--divider-color);border-radius:4px;margin-left:auto;margin-right:auto}.pages-body .pages-panel .pages-header h2{margin:0}.pages-body .pages-panel .pages-detail{color:var(--text-secondary-color)}.pages-body.error-page{background-size:cover;background-color:var(--primary-color)}.pages-body.error-page .pages-panel .pages-header{background:#d81b60}.pages-body.notfound-page{background-size:cover}.pages-body.notfound-page .pages-panel .pages-header{background:#455a64}.pages-body.accessdenied-page{background-size:cover}.pages-body.accessdenied-page .pages-panel .pages-header{background:#fb8c00}@media screen and (max-width: 768px){.pages-body.contact-page .pages-panel{padding-bottom:10em}.pages-body.contact-page .pages-panel .p-button{width:100%}.pages-body.contact-page .pages-panel .card .right-panel{text-align:center}}\n"] }); }
|
|
45
39
|
}
|
|
46
40
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: GlobalErrorComponent, decorators: [{
|
|
47
41
|
type: Component,
|
|
@@ -52,6 +46,67 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
|
|
|
52
46
|
|
|
53
47
|
const WORKSPACE_CONFIG_BFF_SERVICE_PROVIDER = new InjectionToken('WORKSPACE_CONFIG_BFF_SERVICE_PROVIDER');
|
|
54
48
|
|
|
49
|
+
class ShellSrcDirective {
|
|
50
|
+
get ocxShellSrc() {
|
|
51
|
+
return this._src;
|
|
52
|
+
}
|
|
53
|
+
set ocxShellSrc(value) {
|
|
54
|
+
if (value && this._src !== value && window.location.hostname) {
|
|
55
|
+
try {
|
|
56
|
+
if (new URL(value, window.location.origin).hostname === window.location.hostname) {
|
|
57
|
+
this.httpClient.get(value, { observe: 'response', responseType: 'blob' }).subscribe((response) => {
|
|
58
|
+
// ok with content
|
|
59
|
+
if (response?.status === 200) {
|
|
60
|
+
const url = URL.createObjectURL(response.body);
|
|
61
|
+
this.el.nativeElement.addEventListener('load', () => {
|
|
62
|
+
URL.revokeObjectURL(url);
|
|
63
|
+
});
|
|
64
|
+
this.el.nativeElement.src = url;
|
|
65
|
+
}
|
|
66
|
+
// no content
|
|
67
|
+
if (response?.status === 204) {
|
|
68
|
+
this.error.emit();
|
|
69
|
+
}
|
|
70
|
+
}, () => {
|
|
71
|
+
// on error
|
|
72
|
+
this.error.emit();
|
|
73
|
+
}, () => {
|
|
74
|
+
// on complete
|
|
75
|
+
this.el.nativeElement.style.visibility = 'initial';
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
this.el.nativeElement.src = value;
|
|
80
|
+
this.el.nativeElement.style.visibility = 'initial';
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
catch (error) {
|
|
84
|
+
console.error('Cannot parse URL ', value, error);
|
|
85
|
+
this.el.nativeElement.src = value;
|
|
86
|
+
this.el.nativeElement.style.visibility = 'initial';
|
|
87
|
+
}
|
|
88
|
+
this._src = value;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
constructor(el, httpClient) {
|
|
92
|
+
this.el = el;
|
|
93
|
+
this.httpClient = httpClient;
|
|
94
|
+
// eslint-disable-next-line @angular-eslint/no-output-native
|
|
95
|
+
this.error = new EventEmitter();
|
|
96
|
+
this.el.nativeElement.style.visibility = 'hidden';
|
|
97
|
+
}
|
|
98
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ShellSrcDirective, deps: [{ token: i0.ElementRef }, { token: i1$1.HttpClient }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
99
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: ShellSrcDirective, selector: "[ocxShellSrc]", inputs: { ocxShellSrc: "ocxShellSrc" }, outputs: { error: "error" }, ngImport: i0 }); }
|
|
100
|
+
}
|
|
101
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ShellSrcDirective, decorators: [{
|
|
102
|
+
type: Directive,
|
|
103
|
+
args: [{ selector: '[ocxShellSrc]' }]
|
|
104
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1$1.HttpClient }], propDecorators: { error: [{
|
|
105
|
+
type: Output
|
|
106
|
+
}], ocxShellSrc: [{
|
|
107
|
+
type: Input
|
|
108
|
+
}] } });
|
|
109
|
+
|
|
55
110
|
class PortalFooterComponent {
|
|
56
111
|
constructor(configurationService, router, appState, themeService, workspaceConfigBffService) {
|
|
57
112
|
this.configurationService = configurationService;
|
|
@@ -77,7 +132,7 @@ class PortalFooterComponent {
|
|
|
77
132
|
}));
|
|
78
133
|
}
|
|
79
134
|
ngOnInit() {
|
|
80
|
-
this.copyrightMsg$ = concat(of('
|
|
135
|
+
this.copyrightMsg$ = concat(of('All rights reserved.'), this.appState.currentWorkspace$.pipe(map((portalData) => {
|
|
81
136
|
if (!(portalData.footerLabel === '' ||
|
|
82
137
|
portalData.footerLabel === 'string' ||
|
|
83
138
|
portalData.footerLabel === undefined)) {
|
|
@@ -94,13 +149,13 @@ class PortalFooterComponent {
|
|
|
94
149
|
URL.revokeObjectURL(logoUrl);
|
|
95
150
|
}
|
|
96
151
|
}
|
|
97
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: PortalFooterComponent, deps: [{ token: i1$
|
|
98
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: PortalFooterComponent, selector: "ocx-shell-footer", ngImport: i0, template: "<div class=\"ml-3 py-2 lg:ml-5 flex flex-wrap align-items-center justify-content-between row-gap-1\">\n <div class=\"flex flex-wrap align-items-center justify-content-start gap-3 row-gap-1\">\n <img\n *ngIf=\"logoUrl$ | async as logoUrl\"\n alt=\"logo\"\n class=\"max-h-1rem\"\n [
|
|
152
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: PortalFooterComponent, deps: [{ token: i1$2.ConfigurationService }, { token: i1.Router }, { token: i1$2.AppStateService }, { token: i1$2.ThemeService }, { token: WORKSPACE_CONFIG_BFF_SERVICE_PROVIDER, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
153
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: PortalFooterComponent, selector: "ocx-shell-footer", ngImport: i0, template: "<div class=\"ml-3 py-2 lg:ml-5 flex flex-wrap align-items-center justify-content-between row-gap-1\">\n <div class=\"flex flex-wrap align-items-center justify-content-start gap-3 row-gap-1\">\n <img\n *ngIf=\"logoUrl$ | async as logoUrl\"\n alt=\"logo\"\n class=\"max-h-1rem\"\n [ocxShellSrc]=\"(logoUrl$ | async) ?? ''\"\n (error)=\"onErrorHandleSrc()\"\n (load)=\"onLoad(logoUrl)\"\n />\n <div class=\"flex-none text-sm\">© {{copyrightMsg$ | async}}</div>\n <ocx-slot name=\"onecx-shell-footer\"></ocx-slot>\n </div>\n <div class=\"mr-5 text-sm\">{{versionInfo$ | async}}</div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.SlotComponent, selector: "ocx-slot[name]", inputs: ["name", "inputs", "outputs"] }, { kind: "directive", type: ShellSrcDirective, selector: "[ocxShellSrc]", inputs: ["ocxShellSrc"], outputs: ["error"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }] }); }
|
|
99
154
|
}
|
|
100
155
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: PortalFooterComponent, decorators: [{
|
|
101
156
|
type: Component,
|
|
102
|
-
args: [{ selector: 'ocx-shell-footer', template: "<div class=\"ml-3 py-2 lg:ml-5 flex flex-wrap align-items-center justify-content-between row-gap-1\">\n <div class=\"flex flex-wrap align-items-center justify-content-start gap-3 row-gap-1\">\n <img\n *ngIf=\"logoUrl$ | async as logoUrl\"\n alt=\"logo\"\n class=\"max-h-1rem\"\n [
|
|
103
|
-
}], ctorParameters: () => [{ type: i1$
|
|
157
|
+
args: [{ selector: 'ocx-shell-footer', template: "<div class=\"ml-3 py-2 lg:ml-5 flex flex-wrap align-items-center justify-content-between row-gap-1\">\n <div class=\"flex flex-wrap align-items-center justify-content-start gap-3 row-gap-1\">\n <img\n *ngIf=\"logoUrl$ | async as logoUrl\"\n alt=\"logo\"\n class=\"max-h-1rem\"\n [ocxShellSrc]=\"(logoUrl$ | async) ?? ''\"\n (error)=\"onErrorHandleSrc()\"\n (load)=\"onLoad(logoUrl)\"\n />\n <div class=\"flex-none text-sm\">© {{copyrightMsg$ | async}}</div>\n <ocx-slot name=\"onecx-shell-footer\"></ocx-slot>\n </div>\n <div class=\"mr-5 text-sm\">{{versionInfo$ | async}}</div>\n</div>\n" }]
|
|
158
|
+
}], ctorParameters: () => [{ type: i1$2.ConfigurationService }, { type: i1.Router }, { type: i1$2.AppStateService }, { type: i1$2.ThemeService }, { type: undefined, decorators: [{
|
|
104
159
|
type: Optional
|
|
105
160
|
}, {
|
|
106
161
|
type: Inject,
|
|
@@ -136,8 +191,8 @@ let HeaderComponent = class HeaderComponent {
|
|
|
136
191
|
URL.revokeObjectURL(logoUrl);
|
|
137
192
|
}
|
|
138
193
|
}
|
|
139
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: HeaderComponent, deps: [{ token: i1$
|
|
140
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: HeaderComponent, selector: "ocx-shell-header", inputs: { menuButtonTitle: "menuButtonTitle", fullPortalLayout: "fullPortalLayout", homeNavUrl: "homeNavUrl", homeNavTitle: "homeNavTitle" }, outputs: { menuButtonClick: "menuButtonClick" }, ngImport: i0, template: "<div class=\"layout-topbar shadow-4\" id=\"header\" role=\"banner\">\n <div class=\"layout-topbar-left\">\n <a class=\"layout-topbar-logo\">\n <ng-container *ngIf=\"logoUrl$ | async as logoUrl\">\n <img\n *ngIf=\"logoUrl && !fallbackImg\"\n id=\"app-logo\"\n [
|
|
194
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: HeaderComponent, deps: [{ token: i1$2.ThemeService }, { token: i1$2.AppStateService }, { token: WORKSPACE_CONFIG_BFF_SERVICE_PROVIDER, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
195
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: HeaderComponent, selector: "ocx-shell-header", inputs: { menuButtonTitle: "menuButtonTitle", fullPortalLayout: "fullPortalLayout", homeNavUrl: "homeNavUrl", homeNavTitle: "homeNavTitle" }, outputs: { menuButtonClick: "menuButtonClick" }, ngImport: i0, template: "<div class=\"layout-topbar shadow-4\" id=\"header\" role=\"banner\">\n <div class=\"layout-topbar-left\">\n <a class=\"layout-topbar-logo\">\n <ng-container *ngIf=\"logoUrl$ | async as logoUrl\">\n <img\n *ngIf=\"logoUrl && !fallbackImg\"\n id=\"app-logo\"\n [ocxShellSrc]=\"logoUrl\"\n alt=\"Logo\"\n style=\"max-height: 100%; max-width: 100%\"\n (error)=\"fallbackImg=true\"\n (load)=\"onLoad(logoUrl)\"\n />\n </ng-container>\n <svg *ngIf=\"((logoUrl$ | async) === null) || fallbackImg\" width=\"160\" viewBox=\"0 0 283 72\" class=\"default-logo\">\n <defs id=\"SvgjsDefs4962\"></defs>\n <g\n id=\"SvgjsG4963\"\n featurekey=\"symbolFeature-0\"\n transform=\"matrix(0.7555406501686023,0,0,0.7555406501686023,-4.883814572467361,-0.26595028490140254)\"\n >\n <path\n xmlns=\"http://www.w3.org/2000/svg\"\n d=\"M88.54,46.256L9.464,0.616c-0.616-0.352-1.384-0.352-2,0c-0.62,0.36-1,1.02-1,1.736v91.296c0,0.716,0.38,1.375,1,1.731 c0.308,0.185,0.656,0.269,1,0.269c0.344,0,0.692-0.084,1-0.269L88.54,49.729c0.616-0.36,1-1.021,1-1.736 C89.54,47.276,89.152,46.616,88.54,46.256z M60.08,49.771L21.388,69.805c-0.288,0.147-0.604,0.223-0.92,0.223 c-0.36,0-0.72-0.092-1.04-0.287c-0.596-0.364-0.96-1.008-0.96-1.713v-40.06c0-0.696,0.364-1.344,0.96-1.712 c0.596-0.36,1.336-0.392,1.96-0.068l38.696,20.028c0.664,0.344,1.084,1.032,1.084,1.772C61.164,48.74,60.744,49.428,60.08,49.771z\"\n ></path>\n <path xmlns=\"http://www.w3.org/2000/svg\" d=\"M22.464,64.744l32.345-16.748l-32.345-16.74V64.744z\"></path>\n </g>\n <g\n id=\"SvgjsG4964\"\n featurekey=\"nameFeature-0\"\n transform=\"matrix(1.0207331753701396,0,0,1.0207331753701396,81.5644404108694,15.72408377414908)\"\n >\n <path\n d=\"M17.344 32.6562 c-0.78125 -0.15625 -1.5105 -0.3907 -2.1876 -0.7032 c-1.4584 -0.67711 -2.7344 -1.6146 -3.8281 -2.8125 c-1.0416 -1.0938 -1.875 -2.4479 -2.5 -4.0625 c-0.57289 -1.6146 -0.85938 -3.2552 -0.85938 -4.9219 l0 -0.15625 l0 -0.23438 c0 -1.7188 0.28648 -3.3854 0.85938 -5 c0.67711 -1.6666 1.5105 -2.9948 2.5001 -3.9844 c1.0416 -1.1979 2.2916 -2.1094 3.75 -2.7344 c0.88539 -0.41664 1.6406 -0.67703 2.2656 -0.78117 l0 -5.8594 c-1.8229 0.26039 -3.4375 0.70313 -4.8438 1.3281 c-2.2916 0.98961 -4.2448 2.3177 -5.8594 3.9844 s-2.8906 3.6458 -3.8281 5.9374 s-1.4063 4.6875 -1.4063 7.1875 l0 0.15625 l0 0.23438 c0 2.5521 0.46875 4.948 1.4063 7.1876 c0.83336 2.2396 2.0834 4.1927 3.75 5.8594 c1.6666 1.7188 3.6198 3.0469 5.8594 3.9844 c1.4063 0.625 3.0469 1.0677 4.9219 1.3281 l0 -5.9375 z M38.594 20 l0.000076294 -0.23438 c0 -2.5521 -0.46875 -4.948 -1.4063 -7.1876 c-0.9375 -2.2916 -2.2135 -4.2708 -3.8281 -5.9374 c-1.5625 -1.6666 -3.4896 -2.9688 -5.7813 -3.9063 c-1.3021 -0.625 -2.8906 -1.0677 -4.7656 -1.3281 l0 5.9375 l0.9375 0.3125 c0.46875 0.15625 0.83336 0.28648 1.0938 0.39063 c1.4584 0.67711 2.7344 1.6146 3.8281 2.8125 c1.0416 1.0938 1.875 2.4479 2.5 4.0625 c0.57289 1.6146 0.85938 3.2552 0.85938 4.9219 l0 0.15625 l0 0.23438 c0 1.7188 -0.28648 3.3854 -0.85938 5 c-0.67711 1.6666 -1.5105 2.9948 -2.5001 3.9844 c-1.0416 1.1979 -2.2916 2.1094 -3.75 2.7344 c-0.67711 0.3125 -1.3802 0.54688 -2.1094 0.70313 l0 5.9375 c1.5625 -0.20836 3.125 -0.65109 4.6875 -1.3282 c2.1354 -0.88539 4.0885 -2.2135 5.8594 -3.9844 c1.7188 -1.8229 2.9948 -3.802 3.8281 -5.9374 c0.9375 -2.2916 1.4063 -4.6875 1.4063 -7.1875 l0 -0.15625 z M43.8281 38.5937 l6.4844 0 l0 -19.922 l-6.4844 -9.1406 l0 29.063 z M69.76599999999999 1.4059999999999988 l0 25.703 l-18.359 -25.703 l-7.0313 0 l26.406 37.188 l5.3906 0 l0 -37.188 l-6.4063 0 z M86.0938 1.4059999999999988 l27.813 0 l0 5.9375 l-27.813 0 l0 -5.9375 z M86.0938 32.6562 l27.734 0 l0 5.9375 l-27.734 0 l0 -5.9375 z M86.0938 16.875 l25.078 0 l0 5.8594 l-25.078 0 l0 -5.8594 z M127.2656 12.5 c0.9375 -2.2916 2.2916 -4.2447 4.0624 -5.8593 c1.6146 -1.6146 3.698 -2.9167 6.2501 -3.9063 s5.2344 -1.4844 8.0469 -1.4844 l8.6719 0 l0 5.9375 l-8.5938 0 c-2.0313 0 -3.8281 0.33852 -5.3906 1.0156 c-1.6666 0.67711 -3.0208 1.5625 -4.0624 2.6563 c-1.0938 1.0416 -1.9791 2.3958 -2.6563 4.0624 c-0.625 1.5104 -0.9375 3.2031 -0.9375 5.0781 s0.3125 3.5677 0.9375 5.0781 c0.625 1.5625 1.5104 2.9166 2.6563 4.0625 c1.0416 1.0416 2.3958 1.901 4.0624 2.5781 c1.6666 0.625 3.4635 0.9375 5.3906 0.9375 l8.5938 0 l0 5.9375 l-8.6719 0 c-2.9166 0 -5.5729 -0.46875 -7.9688 -1.4063 c-2.5 -1.0416 -4.6094 -2.3698 -6.3281 -3.9844 c-1.7709 -1.6666 -3.125 -3.6458 -4.0625 -5.9374 c-0.98961 -2.3959 -1.4844 -4.8438 -1.4844 -7.3438 c0 -2.6563 0.49477 -5.1302 1.4844 -7.4219 z M176.484 29.375 l3.5156 -4.6875 l-0.078125 -0.15625 z M196.875 1.4059999999999988 l-7.5 0 l-9.2969 13.359 l-9.2188 -13.359 l-7.7344 0 l13.047 18.281 l-13.516 18.906 l8.3594 0 z M197.344 38.5937 l-10.313 -14.609 l-3.9063 5.2344 l6.5625 9.375 l7.6563 0 z\"\n ></path>\n </g>\n </svg>\n </a>\n\n <a\n class=\"layout-menu-button shadow-6\"\n (click)=\"onMenuButtonClick($event)\"\n pRipple\n [title]=\"menuButtonTitle ?? ('OCX_HEADER.MENU_TOGGLE')\"\n >\n <i class=\"pi pi-chevron-right\"></i>\n </a>\n </div>\n\n <div class=\"layout-topbar-right\">\n <div class=\"layout-topbar-actions-left\">\n <ng-content></ng-content>\n </div>\n <div class=\"layout-topbar-actions-right\">\n <ocx-slot name=\"onecx-shell-header-right\" class=\"layout-topbar-items\">\n <ng-template #skeleton>\n <div class=\"flex align-items-center h-full justify-content-center\" style=\"width: 56px\">\n <p-skeleton shape=\"circle\" size=\"2.5rem\" class=\"h-full flex align-items-center\"></p-skeleton>\n </div>\n </ng-template>\n </ocx-slot>\n </div>\n </div>\n</div>\n", styles: [".http-progress-loader{margin-left:8px;padding-top:5px}@media screen and (max-width: 1024px){.http-progress-loader{margin-left:0;margin-right:8px}}.default-logo{color:var(--logo-color, #12abdb);fill:currentColor}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.SlotComponent, selector: "ocx-slot[name]", inputs: ["name", "inputs", "outputs"] }, { kind: "component", type: i4$1.Skeleton, selector: "p-skeleton", inputs: ["styleClass", "style", "shape", "animation", "borderRadius", "size", "width", "height"] }, { kind: "directive", type: ShellSrcDirective, selector: "[ocxShellSrc]", inputs: ["ocxShellSrc"], outputs: ["error"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }], animations: [
|
|
141
196
|
trigger('topbarActionPanelAnimation', [
|
|
142
197
|
transition(':enter', [
|
|
143
198
|
style({ opacity: 0, transform: 'scaleY(0.8)' }),
|
|
@@ -162,8 +217,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
|
|
|
162
217
|
]),
|
|
163
218
|
transition(':leave', [animate('.1s linear', style({ opacity: 0 }))]),
|
|
164
219
|
]),
|
|
165
|
-
], template: "<div class=\"layout-topbar shadow-4\" id=\"header\" role=\"banner\">\n <div class=\"layout-topbar-left\">\n <a class=\"layout-topbar-logo\">\n <ng-container *ngIf=\"logoUrl$ | async as logoUrl\">\n <img\n *ngIf=\"logoUrl && !fallbackImg\"\n id=\"app-logo\"\n [
|
|
166
|
-
}], ctorParameters: () => [{ type: i1$
|
|
220
|
+
], template: "<div class=\"layout-topbar shadow-4\" id=\"header\" role=\"banner\">\n <div class=\"layout-topbar-left\">\n <a class=\"layout-topbar-logo\">\n <ng-container *ngIf=\"logoUrl$ | async as logoUrl\">\n <img\n *ngIf=\"logoUrl && !fallbackImg\"\n id=\"app-logo\"\n [ocxShellSrc]=\"logoUrl\"\n alt=\"Logo\"\n style=\"max-height: 100%; max-width: 100%\"\n (error)=\"fallbackImg=true\"\n (load)=\"onLoad(logoUrl)\"\n />\n </ng-container>\n <svg *ngIf=\"((logoUrl$ | async) === null) || fallbackImg\" width=\"160\" viewBox=\"0 0 283 72\" class=\"default-logo\">\n <defs id=\"SvgjsDefs4962\"></defs>\n <g\n id=\"SvgjsG4963\"\n featurekey=\"symbolFeature-0\"\n transform=\"matrix(0.7555406501686023,0,0,0.7555406501686023,-4.883814572467361,-0.26595028490140254)\"\n >\n <path\n xmlns=\"http://www.w3.org/2000/svg\"\n d=\"M88.54,46.256L9.464,0.616c-0.616-0.352-1.384-0.352-2,0c-0.62,0.36-1,1.02-1,1.736v91.296c0,0.716,0.38,1.375,1,1.731 c0.308,0.185,0.656,0.269,1,0.269c0.344,0,0.692-0.084,1-0.269L88.54,49.729c0.616-0.36,1-1.021,1-1.736 C89.54,47.276,89.152,46.616,88.54,46.256z M60.08,49.771L21.388,69.805c-0.288,0.147-0.604,0.223-0.92,0.223 c-0.36,0-0.72-0.092-1.04-0.287c-0.596-0.364-0.96-1.008-0.96-1.713v-40.06c0-0.696,0.364-1.344,0.96-1.712 c0.596-0.36,1.336-0.392,1.96-0.068l38.696,20.028c0.664,0.344,1.084,1.032,1.084,1.772C61.164,48.74,60.744,49.428,60.08,49.771z\"\n ></path>\n <path xmlns=\"http://www.w3.org/2000/svg\" d=\"M22.464,64.744l32.345-16.748l-32.345-16.74V64.744z\"></path>\n </g>\n <g\n id=\"SvgjsG4964\"\n featurekey=\"nameFeature-0\"\n transform=\"matrix(1.0207331753701396,0,0,1.0207331753701396,81.5644404108694,15.72408377414908)\"\n >\n <path\n d=\"M17.344 32.6562 c-0.78125 -0.15625 -1.5105 -0.3907 -2.1876 -0.7032 c-1.4584 -0.67711 -2.7344 -1.6146 -3.8281 -2.8125 c-1.0416 -1.0938 -1.875 -2.4479 -2.5 -4.0625 c-0.57289 -1.6146 -0.85938 -3.2552 -0.85938 -4.9219 l0 -0.15625 l0 -0.23438 c0 -1.7188 0.28648 -3.3854 0.85938 -5 c0.67711 -1.6666 1.5105 -2.9948 2.5001 -3.9844 c1.0416 -1.1979 2.2916 -2.1094 3.75 -2.7344 c0.88539 -0.41664 1.6406 -0.67703 2.2656 -0.78117 l0 -5.8594 c-1.8229 0.26039 -3.4375 0.70313 -4.8438 1.3281 c-2.2916 0.98961 -4.2448 2.3177 -5.8594 3.9844 s-2.8906 3.6458 -3.8281 5.9374 s-1.4063 4.6875 -1.4063 7.1875 l0 0.15625 l0 0.23438 c0 2.5521 0.46875 4.948 1.4063 7.1876 c0.83336 2.2396 2.0834 4.1927 3.75 5.8594 c1.6666 1.7188 3.6198 3.0469 5.8594 3.9844 c1.4063 0.625 3.0469 1.0677 4.9219 1.3281 l0 -5.9375 z M38.594 20 l0.000076294 -0.23438 c0 -2.5521 -0.46875 -4.948 -1.4063 -7.1876 c-0.9375 -2.2916 -2.2135 -4.2708 -3.8281 -5.9374 c-1.5625 -1.6666 -3.4896 -2.9688 -5.7813 -3.9063 c-1.3021 -0.625 -2.8906 -1.0677 -4.7656 -1.3281 l0 5.9375 l0.9375 0.3125 c0.46875 0.15625 0.83336 0.28648 1.0938 0.39063 c1.4584 0.67711 2.7344 1.6146 3.8281 2.8125 c1.0416 1.0938 1.875 2.4479 2.5 4.0625 c0.57289 1.6146 0.85938 3.2552 0.85938 4.9219 l0 0.15625 l0 0.23438 c0 1.7188 -0.28648 3.3854 -0.85938 5 c-0.67711 1.6666 -1.5105 2.9948 -2.5001 3.9844 c-1.0416 1.1979 -2.2916 2.1094 -3.75 2.7344 c-0.67711 0.3125 -1.3802 0.54688 -2.1094 0.70313 l0 5.9375 c1.5625 -0.20836 3.125 -0.65109 4.6875 -1.3282 c2.1354 -0.88539 4.0885 -2.2135 5.8594 -3.9844 c1.7188 -1.8229 2.9948 -3.802 3.8281 -5.9374 c0.9375 -2.2916 1.4063 -4.6875 1.4063 -7.1875 l0 -0.15625 z M43.8281 38.5937 l6.4844 0 l0 -19.922 l-6.4844 -9.1406 l0 29.063 z M69.76599999999999 1.4059999999999988 l0 25.703 l-18.359 -25.703 l-7.0313 0 l26.406 37.188 l5.3906 0 l0 -37.188 l-6.4063 0 z M86.0938 1.4059999999999988 l27.813 0 l0 5.9375 l-27.813 0 l0 -5.9375 z M86.0938 32.6562 l27.734 0 l0 5.9375 l-27.734 0 l0 -5.9375 z M86.0938 16.875 l25.078 0 l0 5.8594 l-25.078 0 l0 -5.8594 z M127.2656 12.5 c0.9375 -2.2916 2.2916 -4.2447 4.0624 -5.8593 c1.6146 -1.6146 3.698 -2.9167 6.2501 -3.9063 s5.2344 -1.4844 8.0469 -1.4844 l8.6719 0 l0 5.9375 l-8.5938 0 c-2.0313 0 -3.8281 0.33852 -5.3906 1.0156 c-1.6666 0.67711 -3.0208 1.5625 -4.0624 2.6563 c-1.0938 1.0416 -1.9791 2.3958 -2.6563 4.0624 c-0.625 1.5104 -0.9375 3.2031 -0.9375 5.0781 s0.3125 3.5677 0.9375 5.0781 c0.625 1.5625 1.5104 2.9166 2.6563 4.0625 c1.0416 1.0416 2.3958 1.901 4.0624 2.5781 c1.6666 0.625 3.4635 0.9375 5.3906 0.9375 l8.5938 0 l0 5.9375 l-8.6719 0 c-2.9166 0 -5.5729 -0.46875 -7.9688 -1.4063 c-2.5 -1.0416 -4.6094 -2.3698 -6.3281 -3.9844 c-1.7709 -1.6666 -3.125 -3.6458 -4.0625 -5.9374 c-0.98961 -2.3959 -1.4844 -4.8438 -1.4844 -7.3438 c0 -2.6563 0.49477 -5.1302 1.4844 -7.4219 z M176.484 29.375 l3.5156 -4.6875 l-0.078125 -0.15625 z M196.875 1.4059999999999988 l-7.5 0 l-9.2969 13.359 l-9.2188 -13.359 l-7.7344 0 l13.047 18.281 l-13.516 18.906 l8.3594 0 z M197.344 38.5937 l-10.313 -14.609 l-3.9063 5.2344 l6.5625 9.375 l7.6563 0 z\"\n ></path>\n </g>\n </svg>\n </a>\n\n <a\n class=\"layout-menu-button shadow-6\"\n (click)=\"onMenuButtonClick($event)\"\n pRipple\n [title]=\"menuButtonTitle ?? ('OCX_HEADER.MENU_TOGGLE')\"\n >\n <i class=\"pi pi-chevron-right\"></i>\n </a>\n </div>\n\n <div class=\"layout-topbar-right\">\n <div class=\"layout-topbar-actions-left\">\n <ng-content></ng-content>\n </div>\n <div class=\"layout-topbar-actions-right\">\n <ocx-slot name=\"onecx-shell-header-right\" class=\"layout-topbar-items\">\n <ng-template #skeleton>\n <div class=\"flex align-items-center h-full justify-content-center\" style=\"width: 56px\">\n <p-skeleton shape=\"circle\" size=\"2.5rem\" class=\"h-full flex align-items-center\"></p-skeleton>\n </div>\n </ng-template>\n </ocx-slot>\n </div>\n </div>\n</div>\n", styles: [".http-progress-loader{margin-left:8px;padding-top:5px}@media screen and (max-width: 1024px){.http-progress-loader{margin-left:0;margin-right:8px}}.default-logo{color:var(--logo-color, #12abdb);fill:currentColor}\n"] }]
|
|
221
|
+
}], ctorParameters: () => [{ type: i1$2.ThemeService }, { type: i1$2.AppStateService }, { type: undefined, decorators: [{
|
|
167
222
|
type: Optional
|
|
168
223
|
}, {
|
|
169
224
|
type: Inject,
|
|
@@ -182,6 +237,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
|
|
|
182
237
|
|
|
183
238
|
const SHOW_CONTENT_PROVIDER = new InjectionToken('SHOW_CONTENT_PROVIDER');
|
|
184
239
|
|
|
240
|
+
class AppLoadingSpinnerComponent {
|
|
241
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: AppLoadingSpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
242
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: AppLoadingSpinnerComponent, selector: "ocx-app-loading-spinner", ngImport: i0, template: "<div class=\"w-full h-full absolute top-0 left-0 element-overlay\">\n <div class=\"loader\"></div>\n</div>", styles: ["@keyframes rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.element-overlay{position:relative;width:100%;cursor:default;pointer-events:none}.element-overlay:before{content:\"\";position:absolute;top:0;left:0;width:100%;height:100%;background-color:#00000080;z-index:1}.loader{width:28px;height:28px;border:3px solid var(--primary-color);border-bottom-color:transparent;border-radius:50%;display:inline-block;box-sizing:border-box;animation:rotation 1s linear infinite;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2}.loader.loader-small{width:20px;height:20px;top:20%;left:45%}\n"] }); }
|
|
243
|
+
}
|
|
244
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: AppLoadingSpinnerComponent, decorators: [{
|
|
245
|
+
type: Component,
|
|
246
|
+
args: [{ selector: 'ocx-app-loading-spinner', template: "<div class=\"w-full h-full absolute top-0 left-0 element-overlay\">\n <div class=\"loader\"></div>\n</div>", styles: ["@keyframes rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.element-overlay{position:relative;width:100%;cursor:default;pointer-events:none}.element-overlay:before{content:\"\";position:absolute;top:0;left:0;width:100%;height:100%;background-color:#00000080;z-index:1}.loader{width:28px;height:28px;border:3px solid var(--primary-color);border-bottom-color:transparent;border-radius:50%;display:inline-block;box-sizing:border-box;animation:rotation 1s linear infinite;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2}.loader.loader-small{width:20px;height:20px;top:20%;left:45%}\n"] }]
|
|
247
|
+
}] });
|
|
248
|
+
|
|
185
249
|
let PortalViewportComponent = class PortalViewportComponent {
|
|
186
250
|
constructor(renderer, primengConfig, messageService, appStateService, portalMessageService, userService, themeService, httpClient, router, showContentProvider, workspaceConfigBffService) {
|
|
187
251
|
this.renderer = renderer;
|
|
@@ -269,8 +333,8 @@ let PortalViewportComponent = class PortalViewportComponent {
|
|
|
269
333
|
isHorizontalMenuVisible() {
|
|
270
334
|
return this.isHorizontalMenuMode();
|
|
271
335
|
}
|
|
272
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: PortalViewportComponent, deps: [{ token: i0.Renderer2 }, { token: i1$
|
|
273
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: PortalViewportComponent, selector: "ocx-shell-portal-viewport", host: { listeners: { "window:resize": "onResize()" } }, ngImport: i0, template: "<div\n *ngIf=\"!globalErrMsg; else globalError\"\n class=\"layout-wrapper\"\n [ngClass]=\"{\n 'p-input-filled': inputStyle === 'filled', \n 'p-ripple-disabled': !ripple,\n 'layout-menu-active': isStaticalMenuVisible(),\n 'layout-menu-button-hidden': isHorizontalMenuMode()\n }\"\n [class]=\"'layout-menu-' + colorScheme + ' layout-topbar-' + topbarTheme\"\n>\n <ocx-shell-header [menuButtonTitle]=\"menuButtonTitle\" (menuButtonClick)=\"onMenuButtonClick($event)\">\n <div *ngIf=\"isHorizontalMenuVisible()\">\n <ocx-slot name=\"onecx-shell-horizontal-menu\">\n <ng-template #skeleton>\n <div class=\"ml-4 flex flex-row gap-4\">\n <p-skeleton class=\"w-full h-full inline-block\" height=\"35px\" width=\"120px\"></p-skeleton>\n <p-skeleton class=\"w-full h-full inline-block\" height=\"35px\" width=\"120px\"></p-skeleton>\n </div>\n </ng-template>\n </ocx-slot>\n </div>\n </ocx-shell-header>\n\n <p-toast></p-toast>\n\n <div class=\"menu-wrapper\">\n <div class=\"layout-menu-container overflow-auto\" *ngIf=\"isStaticalMenuVisible()\">\n <ocx-slot name=\"onecx-shell-vertical-menu\">\n <ng-template #skeleton>\n <p-skeleton class=\"w-full h-full inline-block p-2\" height=\"35px\"></p-skeleton>\n </ng-template>\n </ocx-slot>\n </div>\n </div>\n\n <div class=\"layout-main\">\n <div class=\"layout-content relative\">\n <ocx-slot name=\"onecx-shell-sub-header\"></ocx-slot>\n <ng-container *ngIf=\"!showContentProvider || (showContentProvider.showContent$ | async); else appLoading\">\n <ng-content></ng-content>\n <router-outlet></router-outlet>\n </ng-container>\n </div>\n\n <ocx-shell-footer></ocx-shell-footer>\n </div>\n\n <div *ngIf=\"menuActive || !!activeTopbarItem\" class=\"layout-mask modal-in\"></div>\n</div>\n\n<ng-template #globalError>\n <ocx-shell-error [errCode]=\"globalErrMsg\"></ocx-shell-error>\n</ng-template>\n\n<ng-template #appLoading>\n <
|
|
336
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: PortalViewportComponent, deps: [{ token: i0.Renderer2 }, { token: i1$3.PrimeNGConfig }, { token: i1$3.MessageService }, { token: i1$2.AppStateService }, { token: i1$2.PortalMessageService }, { token: i1$2.UserService }, { token: i1$2.ThemeService }, { token: i1$1.HttpClient }, { token: i1.Router }, { token: SHOW_CONTENT_PROVIDER, optional: true }, { token: WORKSPACE_CONFIG_BFF_SERVICE_PROVIDER, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
337
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: PortalViewportComponent, selector: "ocx-shell-portal-viewport", host: { listeners: { "window:resize": "onResize()" } }, ngImport: i0, template: "<div\n *ngIf=\"!globalErrMsg; else globalError\"\n class=\"layout-wrapper\"\n [ngClass]=\"{\n 'p-input-filled': inputStyle === 'filled', \n 'p-ripple-disabled': !ripple,\n 'layout-menu-active': isStaticalMenuVisible(),\n 'layout-menu-button-hidden': isHorizontalMenuMode()\n }\"\n [class]=\"'layout-menu-' + colorScheme + ' layout-topbar-' + topbarTheme\"\n>\n <ocx-shell-header [menuButtonTitle]=\"menuButtonTitle\" (menuButtonClick)=\"onMenuButtonClick($event)\">\n <div *ngIf=\"isHorizontalMenuVisible()\">\n <ocx-slot name=\"onecx-shell-horizontal-menu\">\n <ng-template #skeleton>\n <div class=\"ml-4 flex flex-row gap-4\">\n <p-skeleton class=\"w-full h-full inline-block\" height=\"35px\" width=\"120px\"></p-skeleton>\n <p-skeleton class=\"w-full h-full inline-block\" height=\"35px\" width=\"120px\"></p-skeleton>\n </div>\n </ng-template>\n </ocx-slot>\n </div>\n </ocx-shell-header>\n\n <p-toast></p-toast>\n\n <div class=\"menu-wrapper\">\n <div class=\"layout-menu-container overflow-auto\" *ngIf=\"isStaticalMenuVisible()\">\n <ocx-slot name=\"onecx-shell-vertical-menu\">\n <ng-template #skeleton>\n <p-skeleton class=\"w-full h-full inline-block p-2\" height=\"35px\"></p-skeleton>\n </ng-template>\n </ocx-slot>\n </div>\n </div>\n\n <div class=\"layout-main\">\n <div class=\"layout-content relative\">\n <ocx-slot name=\"onecx-shell-sub-header\"></ocx-slot>\n <ng-container *ngIf=\"!showContentProvider || (showContentProvider.showContent$ | async); else appLoading\">\n <ng-content></ng-content>\n <router-outlet></router-outlet>\n </ng-container>\n </div>\n\n <ocx-shell-footer></ocx-shell-footer>\n </div>\n\n <div *ngIf=\"menuActive || !!activeTopbarItem\" class=\"layout-mask modal-in\"></div>\n</div>\n\n<ng-template #globalError>\n <ocx-shell-error [errCode]=\"globalErrMsg\"></ocx-shell-error>\n</ng-template>\n\n<ng-template #appLoading>\n <ocx-app-loading-spinner></ocx-app-loading-spinner>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: i4.SlotComponent, selector: "ocx-slot[name]", inputs: ["name", "inputs", "outputs"] }, { kind: "component", type: i7.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "life", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }, { kind: "component", type: i4$1.Skeleton, selector: "p-skeleton", inputs: ["styleClass", "style", "shape", "animation", "borderRadius", "size", "width", "height"] }, { kind: "component", type: HeaderComponent, selector: "ocx-shell-header", inputs: ["menuButtonTitle", "fullPortalLayout", "homeNavUrl", "homeNavTitle"], outputs: ["menuButtonClick"] }, { kind: "component", type: PortalFooterComponent, selector: "ocx-shell-footer" }, { kind: "component", type: GlobalErrorComponent, selector: "ocx-shell-error", inputs: ["errCode"] }, { kind: "component", type: AppLoadingSpinnerComponent, selector: "ocx-app-loading-spinner" }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }] }); }
|
|
274
338
|
};
|
|
275
339
|
PortalViewportComponent = __decorate([
|
|
276
340
|
UntilDestroy(),
|
|
@@ -286,8 +350,8 @@ PortalViewportComponent = __decorate([
|
|
|
286
350
|
], PortalViewportComponent);
|
|
287
351
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: PortalViewportComponent, decorators: [{
|
|
288
352
|
type: Component,
|
|
289
|
-
args: [{ selector: 'ocx-shell-portal-viewport', template: "<div\n *ngIf=\"!globalErrMsg; else globalError\"\n class=\"layout-wrapper\"\n [ngClass]=\"{\n 'p-input-filled': inputStyle === 'filled', \n 'p-ripple-disabled': !ripple,\n 'layout-menu-active': isStaticalMenuVisible(),\n 'layout-menu-button-hidden': isHorizontalMenuMode()\n }\"\n [class]=\"'layout-menu-' + colorScheme + ' layout-topbar-' + topbarTheme\"\n>\n <ocx-shell-header [menuButtonTitle]=\"menuButtonTitle\" (menuButtonClick)=\"onMenuButtonClick($event)\">\n <div *ngIf=\"isHorizontalMenuVisible()\">\n <ocx-slot name=\"onecx-shell-horizontal-menu\">\n <ng-template #skeleton>\n <div class=\"ml-4 flex flex-row gap-4\">\n <p-skeleton class=\"w-full h-full inline-block\" height=\"35px\" width=\"120px\"></p-skeleton>\n <p-skeleton class=\"w-full h-full inline-block\" height=\"35px\" width=\"120px\"></p-skeleton>\n </div>\n </ng-template>\n </ocx-slot>\n </div>\n </ocx-shell-header>\n\n <p-toast></p-toast>\n\n <div class=\"menu-wrapper\">\n <div class=\"layout-menu-container overflow-auto\" *ngIf=\"isStaticalMenuVisible()\">\n <ocx-slot name=\"onecx-shell-vertical-menu\">\n <ng-template #skeleton>\n <p-skeleton class=\"w-full h-full inline-block p-2\" height=\"35px\"></p-skeleton>\n </ng-template>\n </ocx-slot>\n </div>\n </div>\n\n <div class=\"layout-main\">\n <div class=\"layout-content relative\">\n <ocx-slot name=\"onecx-shell-sub-header\"></ocx-slot>\n <ng-container *ngIf=\"!showContentProvider || (showContentProvider.showContent$ | async); else appLoading\">\n <ng-content></ng-content>\n <router-outlet></router-outlet>\n </ng-container>\n </div>\n\n <ocx-shell-footer></ocx-shell-footer>\n </div>\n\n <div *ngIf=\"menuActive || !!activeTopbarItem\" class=\"layout-mask modal-in\"></div>\n</div>\n\n<ng-template #globalError>\n <ocx-shell-error [errCode]=\"globalErrMsg\"></ocx-shell-error>\n</ng-template>\n\n<ng-template #appLoading>\n <
|
|
290
|
-
}], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i1$
|
|
353
|
+
args: [{ selector: 'ocx-shell-portal-viewport', template: "<div\n *ngIf=\"!globalErrMsg; else globalError\"\n class=\"layout-wrapper\"\n [ngClass]=\"{\n 'p-input-filled': inputStyle === 'filled', \n 'p-ripple-disabled': !ripple,\n 'layout-menu-active': isStaticalMenuVisible(),\n 'layout-menu-button-hidden': isHorizontalMenuMode()\n }\"\n [class]=\"'layout-menu-' + colorScheme + ' layout-topbar-' + topbarTheme\"\n>\n <ocx-shell-header [menuButtonTitle]=\"menuButtonTitle\" (menuButtonClick)=\"onMenuButtonClick($event)\">\n <div *ngIf=\"isHorizontalMenuVisible()\">\n <ocx-slot name=\"onecx-shell-horizontal-menu\">\n <ng-template #skeleton>\n <div class=\"ml-4 flex flex-row gap-4\">\n <p-skeleton class=\"w-full h-full inline-block\" height=\"35px\" width=\"120px\"></p-skeleton>\n <p-skeleton class=\"w-full h-full inline-block\" height=\"35px\" width=\"120px\"></p-skeleton>\n </div>\n </ng-template>\n </ocx-slot>\n </div>\n </ocx-shell-header>\n\n <p-toast></p-toast>\n\n <div class=\"menu-wrapper\">\n <div class=\"layout-menu-container overflow-auto\" *ngIf=\"isStaticalMenuVisible()\">\n <ocx-slot name=\"onecx-shell-vertical-menu\">\n <ng-template #skeleton>\n <p-skeleton class=\"w-full h-full inline-block p-2\" height=\"35px\"></p-skeleton>\n </ng-template>\n </ocx-slot>\n </div>\n </div>\n\n <div class=\"layout-main\">\n <div class=\"layout-content relative\">\n <ocx-slot name=\"onecx-shell-sub-header\"></ocx-slot>\n <ng-container *ngIf=\"!showContentProvider || (showContentProvider.showContent$ | async); else appLoading\">\n <ng-content></ng-content>\n <router-outlet></router-outlet>\n </ng-container>\n </div>\n\n <ocx-shell-footer></ocx-shell-footer>\n </div>\n\n <div *ngIf=\"menuActive || !!activeTopbarItem\" class=\"layout-mask modal-in\"></div>\n</div>\n\n<ng-template #globalError>\n <ocx-shell-error [errCode]=\"globalErrMsg\"></ocx-shell-error>\n</ng-template>\n\n<ng-template #appLoading>\n <ocx-app-loading-spinner></ocx-app-loading-spinner>\n</ng-template>\n" }]
|
|
354
|
+
}], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i1$3.PrimeNGConfig }, { type: i1$3.MessageService }, { type: i1$2.AppStateService }, { type: i1$2.PortalMessageService }, { type: i1$2.UserService }, { type: i1$2.ThemeService }, { type: i1$1.HttpClient }, { type: i1.Router }, { type: undefined, decorators: [{
|
|
291
355
|
type: Optional
|
|
292
356
|
}, {
|
|
293
357
|
type: Inject,
|
|
@@ -304,14 +368,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
|
|
|
304
368
|
|
|
305
369
|
class ShellCoreModule {
|
|
306
370
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ShellCoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
307
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.12", ngImport: i0, type: ShellCoreModule, declarations: [PortalViewportComponent, HeaderComponent, PortalFooterComponent, GlobalErrorComponent], imports: [CommonModule, RouterModule, AngularRemoteComponentsModule,
|
|
308
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ShellCoreModule, imports: [CommonModule, RouterModule, AngularRemoteComponentsModule,
|
|
371
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.12", ngImport: i0, type: ShellCoreModule, declarations: [PortalViewportComponent, HeaderComponent, PortalFooterComponent, GlobalErrorComponent, AppLoadingSpinnerComponent, ShellSrcDirective], imports: [CommonModule, RouterModule, AngularRemoteComponentsModule, ToastModule, SkeletonModule], exports: [PortalViewportComponent, HeaderComponent, PortalFooterComponent, ToastModule, GlobalErrorComponent] }); }
|
|
372
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ShellCoreModule, imports: [CommonModule, RouterModule, AngularRemoteComponentsModule, ToastModule, SkeletonModule, ToastModule] }); }
|
|
309
373
|
}
|
|
310
374
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ShellCoreModule, decorators: [{
|
|
311
375
|
type: NgModule,
|
|
312
376
|
args: [{
|
|
313
|
-
imports: [CommonModule, RouterModule, AngularRemoteComponentsModule,
|
|
314
|
-
declarations: [PortalViewportComponent, HeaderComponent, PortalFooterComponent, GlobalErrorComponent],
|
|
377
|
+
imports: [CommonModule, RouterModule, AngularRemoteComponentsModule, ToastModule, SkeletonModule],
|
|
378
|
+
declarations: [PortalViewportComponent, HeaderComponent, PortalFooterComponent, GlobalErrorComponent, AppLoadingSpinnerComponent, ShellSrcDirective],
|
|
315
379
|
exports: [PortalViewportComponent, HeaderComponent, PortalFooterComponent, ToastModule, GlobalErrorComponent],
|
|
316
380
|
}]
|
|
317
381
|
}] });
|