@onecx/shell-core 5.34.5 → 5.35.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 +3 -3
- package/esm2022/lib/components/error-component/global-error.component.mjs +3 -3
- package/esm2022/lib/components/portal-footer/portal-footer.component.mjs +3 -3
- package/esm2022/lib/components/portal-header/header.component.mjs +3 -3
- package/esm2022/lib/components/portal-viewport/portal-viewport.component.mjs +3 -3
- package/esm2022/lib/directives/src.directive.mjs +3 -3
- package/esm2022/lib/services/permissions-cache.service.mjs +3 -3
- package/esm2022/lib/shell-core.module.mjs +4 -4
- package/fesm2022/onecx-shell-core.mjs +25 -25
- package/package.json +3 -3
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Component } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export class AppLoadingSpinnerComponent {
|
|
4
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
5
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.
|
|
4
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppLoadingSpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", 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"] }); }
|
|
6
6
|
}
|
|
7
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
7
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppLoadingSpinnerComponent, decorators: [{
|
|
8
8
|
type: Component,
|
|
9
9
|
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"] }]
|
|
10
10
|
}] });
|
|
@@ -15,10 +15,10 @@ export class GlobalErrorComponent {
|
|
|
15
15
|
reload() {
|
|
16
16
|
window.location.reload();
|
|
17
17
|
}
|
|
18
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
19
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.
|
|
18
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GlobalErrorComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
19
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", 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"] }); }
|
|
20
20
|
}
|
|
21
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GlobalErrorComponent, decorators: [{
|
|
22
22
|
type: Component,
|
|
23
23
|
args: [{ selector: 'ocx-shell-error', 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"] }]
|
|
24
24
|
}], ctorParameters: () => [{ type: i1.Router }, { type: i1.ActivatedRoute }], propDecorators: { errCode: [{
|
|
@@ -44,10 +44,10 @@ export class PortalFooterComponent {
|
|
|
44
44
|
URL.revokeObjectURL(logoUrl);
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
48
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.
|
|
47
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PortalFooterComponent, deps: [{ token: i1.ConfigurationService }, { token: i2.Router }, { token: i1.AppStateService }, { token: i1.ThemeService }, { token: WORKSPACE_CONFIG_BFF_SERVICE_PROVIDER, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
48
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: PortalFooterComponent, selector: "ocx-shell-footer", ngImport: i0, template: "<div class=\"mx-3 sm:ml-4 py-2 flex flex-wrap align-items-center justify-content-between row-gap-1\">\n <div class=\"flex flex-wrap align-items-center justify-content-start column-gap-3 row-gap-1\">\n <img\n *ngIf=\"logoUrl$ | async as logoUrl\"\n alt=\"logo\"\n class=\"max-h-1rem\"\n [ocxShellSrc]=\"logoUrl ?? ''\"\n (error)=\"onErrorHandleSrc()\"\n (load)=\"onLoad(logoUrl)\"\n />\n <ocx-slot name=\"onecx-shell-footer\"></ocx-slot>\n </div>\n <div class=\"text-xs\">{{versionInfo$ | async}}</div>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: i3.SlotComponent, selector: "ocx-slot[name]", inputs: ["name", "inputs", "outputs"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.ShellSrcDirective, selector: "[ocxShellSrc]", inputs: ["ocxShellSrc"], outputs: ["error"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }] }); }
|
|
49
49
|
}
|
|
50
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
50
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PortalFooterComponent, decorators: [{
|
|
51
51
|
type: Component,
|
|
52
52
|
args: [{ selector: 'ocx-shell-footer', template: "<div class=\"mx-3 sm:ml-4 py-2 flex flex-wrap align-items-center justify-content-between row-gap-1\">\n <div class=\"flex flex-wrap align-items-center justify-content-start column-gap-3 row-gap-1\">\n <img\n *ngIf=\"logoUrl$ | async as logoUrl\"\n alt=\"logo\"\n class=\"max-h-1rem\"\n [ocxShellSrc]=\"logoUrl ?? ''\"\n (error)=\"onErrorHandleSrc()\"\n (load)=\"onLoad(logoUrl)\"\n />\n <ocx-slot name=\"onecx-shell-footer\"></ocx-slot>\n </div>\n <div class=\"text-xs\">{{versionInfo$ | async}}</div>\n</div>\n" }]
|
|
53
53
|
}], ctorParameters: () => [{ type: i1.ConfigurationService }, { type: i2.Router }, { type: i1.AppStateService }, { type: i1.ThemeService }, { type: undefined, decorators: [{
|
|
@@ -34,8 +34,8 @@ let HeaderComponent = class HeaderComponent {
|
|
|
34
34
|
onMenuButtonClick(e) {
|
|
35
35
|
this.menuButtonClick.emit(e);
|
|
36
36
|
}
|
|
37
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
38
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.
|
|
37
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HeaderComponent, deps: [{ token: i1.ThemeService }, { token: i2.SlotService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
38
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: HeaderComponent, selector: "ocx-shell-header", inputs: { menuButtonTitle: "menuButtonTitle", fullPortalLayout: "fullPortalLayout", homeNavUrl: "homeNavUrl", homeNavTitle: "homeNavTitle", isHorizontalMenu: "isHorizontalMenu" }, outputs: { menuButtonClick: "menuButtonClick" }, ngImport: i0, template: "<div class=\"layout-topbar_flex\" id=\"ocx_header\" role=\"banner\">\n <div\n class=\"layout-topbar-left flex relative justify-content-center align-items-center\"\n [ngClass]=\"{'vertical-menu': !isHorizontalMenu}\"\n >\n <!-- LOGO -->\n <ng-container *ngIf=\"currentTheme$ | async as theme\">\n <ocx-slot\n *ngIf=\"isComponentDefined$ | async\"\n [name]=\"slotName\"\n [inputs]=\"{\n dataType: 'logo',\n themeName: theme.name,\n imageUrl: theme.logoUrl,\n imageStyleClass: 'max-h-3rem max-w-11rem',\n logEnabled: false,\n logPrefix: 'header left logo'\n }\"\n [outputs]=\"{ imageLoadingFailed: logoLoadingEmitter }\"\n ></ocx-slot>\n <div *ngIf=\"themeLogoLoadingFailed\"><!-- portal logo --></div>\n </ng-container>\n <a\n id=\"ocx_vertical_menu_action_toggle\"\n class=\"layout-menu-button\"\n (click)=\"onMenuButtonClick($event)\"\n pRipple\n [pTooltip]=\"'OCX_HEADER.MENU_TOGGLE' | translate\"\n tooltipPosition=\"top\"\n tooltipEvent=\"hover\"\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_flex\">\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: "component", type: i2.SlotComponent, selector: "ocx-slot[name]", inputs: ["name", "inputs", "outputs"] }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.Skeleton, selector: "p-skeleton", inputs: ["styleClass", "style", "shape", "animation", "borderRadius", "size", "width", "height"] }, { kind: "directive", type: i5.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }], animations: [
|
|
39
39
|
trigger('topbarActionPanelAnimation', [
|
|
40
40
|
transition(':enter', [
|
|
41
41
|
style({ opacity: 0, transform: 'scaleY(0.8)' }),
|
|
@@ -51,7 +51,7 @@ HeaderComponent = __decorate([
|
|
|
51
51
|
SlotService])
|
|
52
52
|
], HeaderComponent);
|
|
53
53
|
export { HeaderComponent };
|
|
54
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
54
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HeaderComponent, decorators: [{
|
|
55
55
|
type: Component,
|
|
56
56
|
args: [{ selector: 'ocx-shell-header', animations: [
|
|
57
57
|
trigger('topbarActionPanelAnimation', [
|
|
@@ -107,8 +107,8 @@ let PortalViewportComponent = class PortalViewportComponent {
|
|
|
107
107
|
isHorizontalMenuVisible() {
|
|
108
108
|
return this.isHorizontalMenuMode();
|
|
109
109
|
}
|
|
110
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
111
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.
|
|
110
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PortalViewportComponent, deps: [{ token: i1.PrimeNGConfig }, { token: i1.MessageService }, { token: i2.AppStateService }, { token: i2.PortalMessageService }, { token: i2.UserService }, { token: i2.ThemeService }, { token: i3.HttpClient }, { token: i4.SlotService }, { token: SHOW_CONTENT_PROVIDER, optional: true }, { token: WORKSPACE_CONFIG_BFF_SERVICE_PROVIDER, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
111
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: PortalViewportComponent, selector: "ocx-shell-portal-viewport", host: { listeners: { "window:resize": "onResize()" } }, ngImport: i0, template: "<div\n *ngIf=\"!globalErrMsg; else globalError\"\n [ngClass]=\"{\n 'layout-wrapper layout-topbar-var': themeService.currentTheme$ | async,\n 'p-input-filled': inputStyle === 'filled', \n 'p-ripple-disabled': !ripple,\n 'layout-menu-active': isStaticalMenuVisible() && (isVerticalMenuComponentDefined$ | async),\n 'layout-menu-button-hidden': isHorizontalMenuMode() || (isVerticalMenuComponentDefined$ | async) === false\n }\"\n [class]=\"'layout-menu-' + this.colorScheme\"\n>\n <ng-container *ngIf=\"themeService.currentTheme$ | async; else noTheme\">\n <ocx-shell-header\n [menuButtonTitle]=\"menuButtonTitle\"\n (menuButtonClick)=\"onMenuButtonClick($event)\"\n [isHorizontalMenu]=\"isHorizontalMenuMode()\"\n >\n <div [hidden]=\"!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 [hidden]=\"!isStaticalMenuVisible()\" class=\"menu-wrapper\">\n <div class=\"layout-menu-container overflow-auto\">\n <ocx-slot name=\"{{verticalMenuSlotName}}\">\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-slot name=\"onecx-page-footer\"></ocx-slot>\n </div>\n <div *ngIf=\"menuActive || !!activeTopbarItem\" class=\"layout-mask modal-in\"></div>\n </ng-container>\n\n <ng-template #noTheme>\n <div class=\"layout-main\">\n <div class=\"layout-content relative\">\n <ng-content></ng-content>\n <router-outlet></router-outlet>\n </div>\n </div>\n </ng-template>\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: "component", type: i4.SlotComponent, selector: "ocx-slot[name]", inputs: ["name", "inputs", "outputs"] }, { kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: i7.Skeleton, selector: "p-skeleton", inputs: ["styleClass", "style", "shape", "animation", "borderRadius", "size", "width", "height"] }, { kind: "component", type: i8.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "life", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }, { kind: "component", type: i9.HeaderComponent, selector: "ocx-shell-header", inputs: ["menuButtonTitle", "fullPortalLayout", "homeNavUrl", "homeNavTitle", "isHorizontalMenu"], outputs: ["menuButtonClick"] }, { kind: "component", type: i10.GlobalErrorComponent, selector: "ocx-shell-error", inputs: ["errCode"] }, { kind: "component", type: i11.AppLoadingSpinnerComponent, selector: "ocx-app-loading-spinner" }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }] }); }
|
|
112
112
|
};
|
|
113
113
|
PortalViewportComponent = __decorate([
|
|
114
114
|
UntilDestroy(),
|
|
@@ -122,7 +122,7 @@ PortalViewportComponent = __decorate([
|
|
|
122
122
|
SlotService, Object, Object])
|
|
123
123
|
], PortalViewportComponent);
|
|
124
124
|
export { PortalViewportComponent };
|
|
125
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
125
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PortalViewportComponent, decorators: [{
|
|
126
126
|
type: Component,
|
|
127
127
|
args: [{ selector: 'ocx-shell-portal-viewport', template: "<div\n *ngIf=\"!globalErrMsg; else globalError\"\n [ngClass]=\"{\n 'layout-wrapper layout-topbar-var': themeService.currentTheme$ | async,\n 'p-input-filled': inputStyle === 'filled', \n 'p-ripple-disabled': !ripple,\n 'layout-menu-active': isStaticalMenuVisible() && (isVerticalMenuComponentDefined$ | async),\n 'layout-menu-button-hidden': isHorizontalMenuMode() || (isVerticalMenuComponentDefined$ | async) === false\n }\"\n [class]=\"'layout-menu-' + this.colorScheme\"\n>\n <ng-container *ngIf=\"themeService.currentTheme$ | async; else noTheme\">\n <ocx-shell-header\n [menuButtonTitle]=\"menuButtonTitle\"\n (menuButtonClick)=\"onMenuButtonClick($event)\"\n [isHorizontalMenu]=\"isHorizontalMenuMode()\"\n >\n <div [hidden]=\"!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 [hidden]=\"!isStaticalMenuVisible()\" class=\"menu-wrapper\">\n <div class=\"layout-menu-container overflow-auto\">\n <ocx-slot name=\"{{verticalMenuSlotName}}\">\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-slot name=\"onecx-page-footer\"></ocx-slot>\n </div>\n <div *ngIf=\"menuActive || !!activeTopbarItem\" class=\"layout-mask modal-in\"></div>\n </ng-container>\n\n <ng-template #noTheme>\n <div class=\"layout-main\">\n <div class=\"layout-content relative\">\n <ng-content></ng-content>\n <router-outlet></router-outlet>\n </div>\n </div>\n </ng-template>\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" }]
|
|
128
128
|
}], ctorParameters: () => [{ type: i1.PrimeNGConfig }, { type: i1.MessageService }, { type: i2.AppStateService }, { type: i2.PortalMessageService }, { type: i2.UserService }, { type: i2.ThemeService }, { type: i3.HttpClient }, { type: i4.SlotService }, { type: undefined, decorators: [{
|
|
@@ -51,10 +51,10 @@ export class ShellSrcDirective {
|
|
|
51
51
|
this.error = new EventEmitter();
|
|
52
52
|
this.el.nativeElement.style.visibility = 'hidden';
|
|
53
53
|
}
|
|
54
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
55
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.
|
|
54
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ShellSrcDirective, deps: [{ token: i0.ElementRef }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
55
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: ShellSrcDirective, selector: "[ocxShellSrc]", inputs: { ocxShellSrc: "ocxShellSrc" }, outputs: { error: "error" }, ngImport: i0 }); }
|
|
56
56
|
}
|
|
57
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
57
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ShellSrcDirective, decorators: [{
|
|
58
58
|
type: Directive,
|
|
59
59
|
args: [{ selector: '[ocxShellSrc]' }]
|
|
60
60
|
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.HttpClient }], propDecorators: { error: [{
|
|
@@ -12,10 +12,10 @@ export class PermissionsCacheService {
|
|
|
12
12
|
}
|
|
13
13
|
return this.permissions[key];
|
|
14
14
|
}
|
|
15
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
16
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.
|
|
15
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PermissionsCacheService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
16
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PermissionsCacheService, providedIn: 'root' }); }
|
|
17
17
|
}
|
|
18
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PermissionsCacheService, decorators: [{
|
|
19
19
|
type: Injectable,
|
|
20
20
|
args: [{ providedIn: 'root' }]
|
|
21
21
|
}] });
|
|
@@ -14,8 +14,8 @@ import { TranslateModule } from '@ngx-translate/core';
|
|
|
14
14
|
import { TooltipModule } from 'primeng/tooltip';
|
|
15
15
|
import * as i0 from "@angular/core";
|
|
16
16
|
export class ShellCoreModule {
|
|
17
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
18
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.
|
|
17
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ShellCoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
18
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: ShellCoreModule, declarations: [PortalViewportComponent,
|
|
19
19
|
HeaderComponent,
|
|
20
20
|
PortalFooterComponent,
|
|
21
21
|
GlobalErrorComponent,
|
|
@@ -33,7 +33,7 @@ export class ShellCoreModule {
|
|
|
33
33
|
ToastModule,
|
|
34
34
|
TooltipModule,
|
|
35
35
|
TranslateModule] }); }
|
|
36
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.
|
|
36
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ShellCoreModule, imports: [AngularRemoteComponentsModule,
|
|
37
37
|
CommonModule,
|
|
38
38
|
RouterModule,
|
|
39
39
|
SkeletonModule,
|
|
@@ -43,7 +43,7 @@ export class ShellCoreModule {
|
|
|
43
43
|
TooltipModule,
|
|
44
44
|
TranslateModule] }); }
|
|
45
45
|
}
|
|
46
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
46
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ShellCoreModule, decorators: [{
|
|
47
47
|
type: NgModule,
|
|
48
48
|
args: [{
|
|
49
49
|
imports: [
|
|
@@ -38,10 +38,10 @@ class GlobalErrorComponent {
|
|
|
38
38
|
reload() {
|
|
39
39
|
window.location.reload();
|
|
40
40
|
}
|
|
41
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
42
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.
|
|
41
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GlobalErrorComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
42
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", 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"] }); }
|
|
43
43
|
}
|
|
44
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
44
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GlobalErrorComponent, decorators: [{
|
|
45
45
|
type: Component,
|
|
46
46
|
args: [{ selector: 'ocx-shell-error', 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"] }]
|
|
47
47
|
}], ctorParameters: () => [{ type: i1.Router }, { type: i1.ActivatedRoute }], propDecorators: { errCode: [{
|
|
@@ -99,10 +99,10 @@ class ShellSrcDirective {
|
|
|
99
99
|
this.error = new EventEmitter();
|
|
100
100
|
this.el.nativeElement.style.visibility = 'hidden';
|
|
101
101
|
}
|
|
102
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
103
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.
|
|
102
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ShellSrcDirective, deps: [{ token: i0.ElementRef }, { token: i1$1.HttpClient }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
103
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: ShellSrcDirective, selector: "[ocxShellSrc]", inputs: { ocxShellSrc: "ocxShellSrc" }, outputs: { error: "error" }, ngImport: i0 }); }
|
|
104
104
|
}
|
|
105
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
105
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ShellSrcDirective, decorators: [{
|
|
106
106
|
type: Directive,
|
|
107
107
|
args: [{ selector: '[ocxShellSrc]' }]
|
|
108
108
|
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1$1.HttpClient }], propDecorators: { error: [{
|
|
@@ -146,10 +146,10 @@ class PortalFooterComponent {
|
|
|
146
146
|
URL.revokeObjectURL(logoUrl);
|
|
147
147
|
}
|
|
148
148
|
}
|
|
149
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
150
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.
|
|
149
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", 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 }); }
|
|
150
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: PortalFooterComponent, selector: "ocx-shell-footer", ngImport: i0, template: "<div class=\"mx-3 sm:ml-4 py-2 flex flex-wrap align-items-center justify-content-between row-gap-1\">\n <div class=\"flex flex-wrap align-items-center justify-content-start column-gap-3 row-gap-1\">\n <img\n *ngIf=\"logoUrl$ | async as logoUrl\"\n alt=\"logo\"\n class=\"max-h-1rem\"\n [ocxShellSrc]=\"logoUrl ?? ''\"\n (error)=\"onErrorHandleSrc()\"\n (load)=\"onLoad(logoUrl)\"\n />\n <ocx-slot name=\"onecx-shell-footer\"></ocx-slot>\n </div>\n <div class=\"text-xs\">{{versionInfo$ | async}}</div>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: i2.SlotComponent, selector: "ocx-slot[name]", inputs: ["name", "inputs", "outputs"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: ShellSrcDirective, selector: "[ocxShellSrc]", inputs: ["ocxShellSrc"], outputs: ["error"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }] }); }
|
|
151
151
|
}
|
|
152
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
152
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PortalFooterComponent, decorators: [{
|
|
153
153
|
type: Component,
|
|
154
154
|
args: [{ selector: 'ocx-shell-footer', template: "<div class=\"mx-3 sm:ml-4 py-2 flex flex-wrap align-items-center justify-content-between row-gap-1\">\n <div class=\"flex flex-wrap align-items-center justify-content-start column-gap-3 row-gap-1\">\n <img\n *ngIf=\"logoUrl$ | async as logoUrl\"\n alt=\"logo\"\n class=\"max-h-1rem\"\n [ocxShellSrc]=\"logoUrl ?? ''\"\n (error)=\"onErrorHandleSrc()\"\n (load)=\"onLoad(logoUrl)\"\n />\n <ocx-slot name=\"onecx-shell-footer\"></ocx-slot>\n </div>\n <div class=\"text-xs\">{{versionInfo$ | async}}</div>\n</div>\n" }]
|
|
155
155
|
}], ctorParameters: () => [{ type: i1$2.ConfigurationService }, { type: i1.Router }, { type: i1$2.AppStateService }, { type: i1$2.ThemeService }, { type: undefined, decorators: [{
|
|
@@ -182,8 +182,8 @@ let HeaderComponent = class HeaderComponent {
|
|
|
182
182
|
onMenuButtonClick(e) {
|
|
183
183
|
this.menuButtonClick.emit(e);
|
|
184
184
|
}
|
|
185
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
186
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.
|
|
185
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HeaderComponent, deps: [{ token: i1$2.ThemeService }, { token: i2.SlotService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
186
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: HeaderComponent, selector: "ocx-shell-header", inputs: { menuButtonTitle: "menuButtonTitle", fullPortalLayout: "fullPortalLayout", homeNavUrl: "homeNavUrl", homeNavTitle: "homeNavTitle", isHorizontalMenu: "isHorizontalMenu" }, outputs: { menuButtonClick: "menuButtonClick" }, ngImport: i0, template: "<div class=\"layout-topbar_flex\" id=\"ocx_header\" role=\"banner\">\n <div\n class=\"layout-topbar-left flex relative justify-content-center align-items-center\"\n [ngClass]=\"{'vertical-menu': !isHorizontalMenu}\"\n >\n <!-- LOGO -->\n <ng-container *ngIf=\"currentTheme$ | async as theme\">\n <ocx-slot\n *ngIf=\"isComponentDefined$ | async\"\n [name]=\"slotName\"\n [inputs]=\"{\n dataType: 'logo',\n themeName: theme.name,\n imageUrl: theme.logoUrl,\n imageStyleClass: 'max-h-3rem max-w-11rem',\n logEnabled: false,\n logPrefix: 'header left logo'\n }\"\n [outputs]=\"{ imageLoadingFailed: logoLoadingEmitter }\"\n ></ocx-slot>\n <div *ngIf=\"themeLogoLoadingFailed\"><!-- portal logo --></div>\n </ng-container>\n <a\n id=\"ocx_vertical_menu_action_toggle\"\n class=\"layout-menu-button\"\n (click)=\"onMenuButtonClick($event)\"\n pRipple\n [pTooltip]=\"'OCX_HEADER.MENU_TOGGLE' | translate\"\n tooltipPosition=\"top\"\n tooltipEvent=\"hover\"\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_flex\">\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: "component", type: i2.SlotComponent, selector: "ocx-slot[name]", inputs: ["name", "inputs", "outputs"] }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.Skeleton, selector: "p-skeleton", inputs: ["styleClass", "style", "shape", "animation", "borderRadius", "size", "width", "height"] }, { kind: "directive", type: i5.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }], animations: [
|
|
187
187
|
trigger('topbarActionPanelAnimation', [
|
|
188
188
|
transition(':enter', [
|
|
189
189
|
style({ opacity: 0, transform: 'scaleY(0.8)' }),
|
|
@@ -198,7 +198,7 @@ HeaderComponent = __decorate([
|
|
|
198
198
|
__metadata("design:paramtypes", [ThemeService,
|
|
199
199
|
SlotService])
|
|
200
200
|
], HeaderComponent);
|
|
201
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
201
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HeaderComponent, decorators: [{
|
|
202
202
|
type: Component,
|
|
203
203
|
args: [{ selector: 'ocx-shell-header', animations: [
|
|
204
204
|
trigger('topbarActionPanelAnimation', [
|
|
@@ -226,10 +226,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
|
|
|
226
226
|
const SHOW_CONTENT_PROVIDER = new InjectionToken('SHOW_CONTENT_PROVIDER');
|
|
227
227
|
|
|
228
228
|
class AppLoadingSpinnerComponent {
|
|
229
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
230
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.
|
|
229
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppLoadingSpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
230
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", 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"] }); }
|
|
231
231
|
}
|
|
232
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
232
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppLoadingSpinnerComponent, decorators: [{
|
|
233
233
|
type: Component,
|
|
234
234
|
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"] }]
|
|
235
235
|
}] });
|
|
@@ -321,8 +321,8 @@ let PortalViewportComponent = class PortalViewportComponent {
|
|
|
321
321
|
isHorizontalMenuVisible() {
|
|
322
322
|
return this.isHorizontalMenuMode();
|
|
323
323
|
}
|
|
324
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
325
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.
|
|
324
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PortalViewportComponent, deps: [{ 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: i2.SlotService }, { token: SHOW_CONTENT_PROVIDER, optional: true }, { token: WORKSPACE_CONFIG_BFF_SERVICE_PROVIDER, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
325
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: PortalViewportComponent, selector: "ocx-shell-portal-viewport", host: { listeners: { "window:resize": "onResize()" } }, ngImport: i0, template: "<div\n *ngIf=\"!globalErrMsg; else globalError\"\n [ngClass]=\"{\n 'layout-wrapper layout-topbar-var': themeService.currentTheme$ | async,\n 'p-input-filled': inputStyle === 'filled', \n 'p-ripple-disabled': !ripple,\n 'layout-menu-active': isStaticalMenuVisible() && (isVerticalMenuComponentDefined$ | async),\n 'layout-menu-button-hidden': isHorizontalMenuMode() || (isVerticalMenuComponentDefined$ | async) === false\n }\"\n [class]=\"'layout-menu-' + this.colorScheme\"\n>\n <ng-container *ngIf=\"themeService.currentTheme$ | async; else noTheme\">\n <ocx-shell-header\n [menuButtonTitle]=\"menuButtonTitle\"\n (menuButtonClick)=\"onMenuButtonClick($event)\"\n [isHorizontalMenu]=\"isHorizontalMenuMode()\"\n >\n <div [hidden]=\"!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 [hidden]=\"!isStaticalMenuVisible()\" class=\"menu-wrapper\">\n <div class=\"layout-menu-container overflow-auto\">\n <ocx-slot name=\"{{verticalMenuSlotName}}\">\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-slot name=\"onecx-page-footer\"></ocx-slot>\n </div>\n <div *ngIf=\"menuActive || !!activeTopbarItem\" class=\"layout-mask modal-in\"></div>\n </ng-container>\n\n <ng-template #noTheme>\n <div class=\"layout-main\">\n <div class=\"layout-content relative\">\n <ng-content></ng-content>\n <router-outlet></router-outlet>\n </div>\n </div>\n </ng-template>\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: "component", type: i2.SlotComponent, selector: "ocx-slot[name]", inputs: ["name", "inputs", "outputs"] }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.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.Skeleton, selector: "p-skeleton", inputs: ["styleClass", "style", "shape", "animation", "borderRadius", "size", "width", "height"] }, { kind: "component", type: i8.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "life", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }, { kind: "component", type: HeaderComponent, selector: "ocx-shell-header", inputs: ["menuButtonTitle", "fullPortalLayout", "homeNavUrl", "homeNavTitle", "isHorizontalMenu"], outputs: ["menuButtonClick"] }, { kind: "component", type: GlobalErrorComponent, selector: "ocx-shell-error", inputs: ["errCode"] }, { kind: "component", type: AppLoadingSpinnerComponent, selector: "ocx-app-loading-spinner" }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }] }); }
|
|
326
326
|
};
|
|
327
327
|
PortalViewportComponent = __decorate([
|
|
328
328
|
UntilDestroy(),
|
|
@@ -335,7 +335,7 @@ PortalViewportComponent = __decorate([
|
|
|
335
335
|
HttpClient,
|
|
336
336
|
SlotService, Object, Object])
|
|
337
337
|
], PortalViewportComponent);
|
|
338
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
338
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PortalViewportComponent, decorators: [{
|
|
339
339
|
type: Component,
|
|
340
340
|
args: [{ selector: 'ocx-shell-portal-viewport', template: "<div\n *ngIf=\"!globalErrMsg; else globalError\"\n [ngClass]=\"{\n 'layout-wrapper layout-topbar-var': themeService.currentTheme$ | async,\n 'p-input-filled': inputStyle === 'filled', \n 'p-ripple-disabled': !ripple,\n 'layout-menu-active': isStaticalMenuVisible() && (isVerticalMenuComponentDefined$ | async),\n 'layout-menu-button-hidden': isHorizontalMenuMode() || (isVerticalMenuComponentDefined$ | async) === false\n }\"\n [class]=\"'layout-menu-' + this.colorScheme\"\n>\n <ng-container *ngIf=\"themeService.currentTheme$ | async; else noTheme\">\n <ocx-shell-header\n [menuButtonTitle]=\"menuButtonTitle\"\n (menuButtonClick)=\"onMenuButtonClick($event)\"\n [isHorizontalMenu]=\"isHorizontalMenuMode()\"\n >\n <div [hidden]=\"!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 [hidden]=\"!isStaticalMenuVisible()\" class=\"menu-wrapper\">\n <div class=\"layout-menu-container overflow-auto\">\n <ocx-slot name=\"{{verticalMenuSlotName}}\">\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-slot name=\"onecx-page-footer\"></ocx-slot>\n </div>\n <div *ngIf=\"menuActive || !!activeTopbarItem\" class=\"layout-mask modal-in\"></div>\n </ng-container>\n\n <ng-template #noTheme>\n <div class=\"layout-main\">\n <div class=\"layout-content relative\">\n <ng-content></ng-content>\n <router-outlet></router-outlet>\n </div>\n </div>\n </ng-template>\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" }]
|
|
341
341
|
}], ctorParameters: () => [{ 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: i2.SlotService }, { type: undefined, decorators: [{
|
|
@@ -354,8 +354,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
|
|
|
354
354
|
}] } });
|
|
355
355
|
|
|
356
356
|
class ShellCoreModule {
|
|
357
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
358
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.
|
|
357
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ShellCoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
358
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: ShellCoreModule, declarations: [PortalViewportComponent,
|
|
359
359
|
HeaderComponent,
|
|
360
360
|
PortalFooterComponent,
|
|
361
361
|
GlobalErrorComponent,
|
|
@@ -373,7 +373,7 @@ class ShellCoreModule {
|
|
|
373
373
|
ToastModule,
|
|
374
374
|
TooltipModule,
|
|
375
375
|
TranslateModule] }); }
|
|
376
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.
|
|
376
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ShellCoreModule, imports: [AngularRemoteComponentsModule,
|
|
377
377
|
CommonModule,
|
|
378
378
|
RouterModule,
|
|
379
379
|
SkeletonModule,
|
|
@@ -383,7 +383,7 @@ class ShellCoreModule {
|
|
|
383
383
|
TooltipModule,
|
|
384
384
|
TranslateModule] }); }
|
|
385
385
|
}
|
|
386
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
386
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ShellCoreModule, decorators: [{
|
|
387
387
|
type: NgModule,
|
|
388
388
|
args: [{
|
|
389
389
|
imports: [
|
|
@@ -426,10 +426,10 @@ class PermissionsCacheService {
|
|
|
426
426
|
}
|
|
427
427
|
return this.permissions[key];
|
|
428
428
|
}
|
|
429
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
430
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.
|
|
429
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PermissionsCacheService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
430
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PermissionsCacheService, providedIn: 'root' }); }
|
|
431
431
|
}
|
|
432
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
432
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PermissionsCacheService, decorators: [{
|
|
433
433
|
type: Injectable,
|
|
434
434
|
args: [{ providedIn: 'root' }]
|
|
435
435
|
}] });
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@onecx/shell-core",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.35.0",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"peerDependencies": {
|
|
6
6
|
"rxjs": "^7.8.1",
|
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
"@angular/core": "^18.0.5",
|
|
10
10
|
"@angular/router": "^18.0.5",
|
|
11
11
|
"@ngneat/until-destroy": "^10.0.0",
|
|
12
|
-
"@onecx/angular-integration-interface": "^5.
|
|
13
|
-
"@onecx/angular-remote-components": "^5.
|
|
12
|
+
"@onecx/angular-integration-interface": "^5.35.0",
|
|
13
|
+
"@onecx/angular-remote-components": "^5.35.0",
|
|
14
14
|
"@ngx-translate/core": "^15.0.0",
|
|
15
15
|
"primeng": "^17.18.6"
|
|
16
16
|
},
|