@valtimo/layout 12.19.0 → 13.0.1-next-minor.81
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/assets/css/app.css +1 -2
- package/assets/img/valtimo/favicons/browserconfig.xml +1 -1
- package/assets/js/app.js +1 -1
- package/fesm2022/valtimo-layout.mjs +3972 -144
- package/fesm2022/valtimo-layout.mjs.map +1 -1
- package/lib/components/index.d.ts +14 -0
- package/lib/components/index.d.ts.map +1 -0
- package/lib/components/layout/index.d.ts +2 -0
- package/lib/components/layout/index.d.ts.map +1 -0
- package/lib/components/layout/layout.component.d.ts +3 -3
- package/lib/components/layout/layout.component.d.ts.map +1 -1
- package/lib/components/layout-internal/index.d.ts +2 -0
- package/lib/components/layout-internal/index.d.ts.map +1 -0
- package/lib/components/layout-internal/layout-internal.component.d.ts +1 -1
- package/lib/components/layout-internal/layout-internal.component.d.ts.map +1 -1
- package/lib/components/layout-public/index.d.ts +2 -0
- package/lib/components/layout-public/index.d.ts.map +1 -0
- package/lib/components/layout-public/layout-public.component.d.ts.map +1 -1
- package/lib/components/translation-management/index.d.ts +2 -0
- package/lib/components/translation-management/index.d.ts.map +1 -0
- package/lib/components/translation-management/translation-management.component.d.ts +1 -1
- package/lib/components/translation-management/translation-management.component.d.ts.map +1 -1
- package/lib/components/widget-block/index.d.ts +2 -0
- package/lib/components/widget-block/index.d.ts.map +1 -0
- package/lib/components/widget-block/widget-block.component.d.ts +39 -0
- package/lib/components/widget-block/widget-block.component.d.ts.map +1 -0
- package/lib/components/widget-collection/index.d.ts +2 -0
- package/lib/components/widget-collection/index.d.ts.map +1 -0
- package/lib/components/widget-collection/widget-collection.component.d.ts +45 -0
- package/lib/components/widget-collection/widget-collection.component.d.ts.map +1 -0
- package/lib/components/widget-container/index.d.ts +2 -0
- package/lib/components/widget-container/index.d.ts.map +1 -0
- package/lib/components/widget-container/widget-container.component.d.ts +30 -0
- package/lib/components/widget-container/widget-container.component.d.ts.map +1 -0
- package/lib/components/widget-custom/index.d.ts +2 -0
- package/lib/components/widget-custom/index.d.ts.map +1 -0
- package/lib/components/widget-custom/widget-custom.component.d.ts +29 -0
- package/lib/components/widget-custom/widget-custom.component.d.ts.map +1 -0
- package/lib/components/widget-field/index.d.ts +2 -0
- package/lib/components/widget-field/index.d.ts.map +1 -0
- package/lib/components/widget-field/widget-field.component.d.ts +37 -0
- package/lib/components/widget-field/widget-field.component.d.ts.map +1 -0
- package/lib/components/widget-formio/index.d.ts +2 -0
- package/lib/components/widget-formio/index.d.ts.map +1 -0
- package/lib/components/widget-formio/widget-formio.component.d.ts +30 -0
- package/lib/components/widget-formio/widget-formio.component.d.ts.map +1 -0
- package/lib/components/widget-interactive-table/index.d.ts +2 -0
- package/lib/components/widget-interactive-table/index.d.ts.map +1 -0
- package/lib/components/widget-interactive-table/widget-interactive-table.component.d.ts +37 -0
- package/lib/components/widget-interactive-table/widget-interactive-table.component.d.ts.map +1 -0
- package/lib/components/widget-management/index.d.ts +5 -0
- package/lib/components/widget-management/index.d.ts.map +1 -0
- package/lib/components/widget-management/management/widget-management.component.d.ts +27 -0
- package/lib/components/widget-management/management/widget-management.component.d.ts.map +1 -0
- package/lib/components/widget-management/management-content/collection/widget-management-collection.component.d.ts +64 -0
- package/lib/components/widget-management/management-content/collection/widget-management-collection.component.d.ts.map +1 -0
- package/lib/components/widget-management/management-content/custom/widget-management-custom.component.d.ts +38 -0
- package/lib/components/widget-management/management-content/custom/widget-management-custom.component.d.ts.map +1 -0
- package/lib/components/widget-management/management-content/fields/column/widget-management-fields-column.component.d.ts +60 -0
- package/lib/components/widget-management/management-content/fields/column/widget-management-fields-column.component.d.ts.map +1 -0
- package/lib/components/widget-management/management-content/fields/widget-management-fields.component.d.ts +38 -0
- package/lib/components/widget-management/management-content/fields/widget-management-fields.component.d.ts.map +1 -0
- package/lib/components/widget-management/management-content/formio/widget-management-widget-formio.component.d.ts +42 -0
- package/lib/components/widget-management/management-content/formio/widget-management-widget-formio.component.d.ts.map +1 -0
- package/lib/components/widget-management/management-content/index.d.ts +5 -0
- package/lib/components/widget-management/management-content/index.d.ts.map +1 -0
- package/lib/components/widget-management/management-content/interactive-table/widget-management-interactive-table.component.d.ts +27 -0
- package/lib/components/widget-management/management-content/interactive-table/widget-management-interactive-table.component.d.ts.map +1 -0
- package/lib/components/widget-management/management-content/table/widget-management-table.component.d.ts +42 -0
- package/lib/components/widget-management/management-content/table/widget-management-table.component.d.ts.map +1 -0
- package/lib/components/widget-management/management-divider-modal/widget-management-divider-modal.component.d.ts +35 -0
- package/lib/components/widget-management/management-divider-modal/widget-management-divider-modal.component.d.ts.map +1 -0
- package/lib/components/widget-management/management-editor/widget-management-editor.component.d.ts +53 -0
- package/lib/components/widget-management/management-editor/widget-management-editor.component.d.ts.map +1 -0
- package/lib/components/widget-management/management-process-selector/widget-management-process-selector.component.d.ts +29 -0
- package/lib/components/widget-management/management-process-selector/widget-management-process-selector.component.d.ts.map +1 -0
- package/lib/components/widget-management/management-wizard/steps/index.d.ts +7 -0
- package/lib/components/widget-management/management-wizard/steps/index.d.ts.map +1 -0
- package/lib/components/widget-management/management-wizard/steps/widget-wizard-content-step/widget-wizard-content-step.component.d.ts +17 -0
- package/lib/components/widget-management/management-wizard/steps/widget-wizard-content-step/widget-wizard-content-step.component.d.ts.map +1 -0
- package/lib/components/widget-management/management-wizard/steps/widget-wizard-display-conditions-step/widget-wizard-display-conditions-step.component.d.ts +33 -0
- package/lib/components/widget-management/management-wizard/steps/widget-wizard-display-conditions-step/widget-wizard-display-conditions-step.component.d.ts.map +1 -0
- package/lib/components/widget-management/management-wizard/steps/widget-wizard-style-step/widget-wizard-style-step.component.d.ts +15 -0
- package/lib/components/widget-management/management-wizard/steps/widget-wizard-style-step/widget-wizard-style-step.component.d.ts.map +1 -0
- package/lib/components/widget-management/management-wizard/steps/widget-wizard-type-step/widget-wizard-type-step.component.d.ts +15 -0
- package/lib/components/widget-management/management-wizard/steps/widget-wizard-type-step/widget-wizard-type-step.component.d.ts.map +1 -0
- package/lib/components/widget-management/management-wizard/steps/widget-wizard-width-step/widget-wizard-width-step.component.d.ts +16 -0
- package/lib/components/widget-management/management-wizard/steps/widget-wizard-width-step/widget-wizard-width-step.component.d.ts.map +1 -0
- package/lib/components/widget-management/management-wizard/widget-management-wizard.component.d.ts +43 -0
- package/lib/components/widget-management/management-wizard/widget-management-wizard.component.d.ts.map +1 -0
- package/lib/components/widget-table/index.d.ts +2 -0
- package/lib/components/widget-table/index.d.ts.map +1 -0
- package/lib/components/widget-table/widget-table.component.d.ts +26 -0
- package/lib/components/widget-table/widget-table.component.d.ts.map +1 -0
- package/lib/constants/custom-widget-token.d.ts +5 -0
- package/lib/constants/custom-widget-token.d.ts.map +1 -0
- package/lib/constants/index.d.ts +4 -0
- package/lib/constants/index.d.ts.map +1 -0
- package/lib/constants/widget-management.constants.d.ts +5 -0
- package/lib/constants/widget-management.constants.d.ts.map +1 -0
- package/lib/constants/widget.constants.d.ts +6 -0
- package/lib/constants/widget.constants.d.ts.map +1 -0
- package/lib/interfaces/index.d.ts +3 -0
- package/lib/interfaces/index.d.ts.map +1 -0
- package/lib/interfaces/widget-details-component.interface.d.ts +9 -0
- package/lib/interfaces/widget-details-component.interface.d.ts.map +1 -0
- package/lib/interfaces/widget-management-service.interface.d.ts +12 -0
- package/lib/interfaces/widget-management-service.interface.d.ts.map +1 -0
- package/lib/layout.module.d.ts +3 -1
- package/lib/layout.module.d.ts.map +1 -1
- package/lib/models/index.d.ts +6 -0
- package/lib/models/index.d.ts.map +1 -0
- package/lib/models/widget-content.model.d.ts +56 -0
- package/lib/models/widget-content.model.d.ts.map +1 -0
- package/lib/models/widget-display.model.d.ts +62 -0
- package/lib/models/widget-display.model.d.ts.map +1 -0
- package/lib/models/widget-editor.model.d.ts +10 -0
- package/lib/models/widget-editor.model.d.ts.map +1 -0
- package/lib/models/widget-wizard.model.d.ts +39 -0
- package/lib/models/widget-wizard.model.d.ts.map +1 -0
- package/lib/models/widget.model.d.ts +129 -0
- package/lib/models/widget.model.d.ts.map +1 -0
- package/lib/services/index.d.ts +4 -0
- package/lib/services/index.d.ts.map +1 -0
- package/lib/services/layout.service.d.ts.map +1 -0
- package/lib/services/widget-fields.service.d.ts +17 -0
- package/lib/services/widget-fields.service.d.ts.map +1 -0
- package/lib/services/widget-layout.service.d.ts +35 -0
- package/lib/services/widget-layout.service.d.ts.map +1 -0
- package/lib/services/widget-wizard.service.d.ts +40 -0
- package/lib/services/widget-wizard.service.d.ts.map +1 -0
- package/lib/translation-management.module.d.ts +1 -1
- package/package.json +6 -8
- package/public_api.d.ts +6 -1
- package/public_api.d.ts.map +1 -1
- package/esm2022/lib/components/layout/layout.component.mjs +0 -65
- package/esm2022/lib/components/layout-internal/layout-internal.component.mjs +0 -54
- package/esm2022/lib/components/layout-public/layout-public.component.mjs +0 -27
- package/esm2022/lib/components/translation-management/translation-management.component.mjs +0 -185
- package/esm2022/lib/layout.module.mjs +0 -63
- package/esm2022/lib/services/layout/layout.service.mjs +0 -37
- package/esm2022/lib/translation-management-routing.module.mjs +0 -43
- package/esm2022/lib/translation-management.module.mjs +0 -66
- package/esm2022/public_api.mjs +0 -23
- package/esm2022/valtimo-layout.mjs +0 -5
- package/lib/services/layout/layout.service.d.ts.map +0 -1
- /package/lib/services/{layout/layout.service.d.ts → layout.service.d.ts} +0 -0
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Signal, WritableSignal } from '@angular/core';
|
|
2
|
+
import { BasicWidget, WidgetAction, WidgetContentProperties, WidgetContext, WidgetStyle, WidgetType, WidgetTypeSelection, WidgetWidth, WidgetWizardStep } from '../models';
|
|
3
|
+
import { Condition } from '@valtimo/shared';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class WidgetWizardService {
|
|
6
|
+
readonly $currentStepIndex: WritableSignal<number>;
|
|
7
|
+
readonly $selectedWidget: WritableSignal<WidgetTypeSelection | null>;
|
|
8
|
+
readonly $widgetWidth: WritableSignal<WidgetWidth | null>;
|
|
9
|
+
readonly $widgetStyle: WritableSignal<WidgetStyle | null>;
|
|
10
|
+
readonly $widgetContent: WritableSignal<WidgetContentProperties | null>;
|
|
11
|
+
readonly $widgetDisplayConditions: WritableSignal<Array<Condition> | null>;
|
|
12
|
+
readonly $widgetTitle: WritableSignal<string | null>;
|
|
13
|
+
readonly $widgetKey: WritableSignal<string | null>;
|
|
14
|
+
readonly $widgetActions: WritableSignal<WidgetAction[] | undefined>;
|
|
15
|
+
readonly $widgetContext: WritableSignal<WidgetContext | null>;
|
|
16
|
+
readonly $widgetContentValid: WritableSignal<boolean>;
|
|
17
|
+
readonly $widgetConditionsValid: WritableSignal<boolean>;
|
|
18
|
+
readonly $disableTitleInput: WritableSignal<boolean>;
|
|
19
|
+
readonly $disableProcessSelector: WritableSignal<boolean>;
|
|
20
|
+
readonly $widgetWizardSteps: WritableSignal<WidgetWizardStep[]>;
|
|
21
|
+
readonly $editMode: WritableSignal<boolean>;
|
|
22
|
+
private readonly _$stepCompleteCondition;
|
|
23
|
+
readonly $widgetWizardStepProperties: Signal<Record<Partial<WidgetWizardStep>, {
|
|
24
|
+
disabled: boolean;
|
|
25
|
+
complete: boolean;
|
|
26
|
+
}>>;
|
|
27
|
+
readonly $nextButtonDisabled: Signal<boolean>;
|
|
28
|
+
private _defaultWidth;
|
|
29
|
+
get defaultWidth(): WidgetWidth | null;
|
|
30
|
+
readonly $widgetsConfig: Signal<BasicWidget>;
|
|
31
|
+
readonly $usedWidgetKeys: WritableSignal<string[]>;
|
|
32
|
+
readonly $availableWidgetTypes: WritableSignal<WidgetType[] | null>;
|
|
33
|
+
resetWizard(): void;
|
|
34
|
+
resetWizardSteps(): void;
|
|
35
|
+
setDefaultWidth(width: number | null): void;
|
|
36
|
+
private isWidgetWidth;
|
|
37
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WidgetWizardService, never>;
|
|
38
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<WidgetWizardService>;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=widget-wizard.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"widget-wizard.service.d.ts","sourceRoot":"","sources":["../../../../../projects/valtimo/layout/src/lib/services/widget-wizard.service.ts"],"names":[],"mappings":"AAeA,OAAO,EAAuB,MAAM,EAAU,cAAc,EAAC,MAAM,eAAe,CAAC;AAEnF,OAAO,EACL,WAAW,EACX,YAAY,EACZ,uBAAuB,EACvB,aAAa,EACb,WAAW,EACX,UAAU,EACV,mBAAmB,EACnB,WAAW,EACX,gBAAgB,EACjB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;;AAG1C,qBAGa,mBAAmB;IAC9B,SAAgB,iBAAiB,EAAE,cAAc,CAAC,MAAM,CAAC,CAAa;IAEtE,SAAgB,eAAe,EAAE,cAAc,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAAgB;IAE3F,SAAgB,YAAY,EAAE,cAAc,CAAC,WAAW,GAAG,IAAI,CAAC,CAAgB;IAEhF,SAAgB,YAAY,EAAE,cAAc,CAAC,WAAW,GAAG,IAAI,CAAC,CAAgB;IAEhF,SAAgB,cAAc,EAAE,cAAc,CAAC,uBAAuB,GAAG,IAAI,CAAC,CAAgB;IAE9F,SAAgB,wBAAwB,EAAE,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,CAAgB;IAEjG,SAAgB,YAAY,EAAE,cAAc,CAAC,MAAM,GAAG,IAAI,CAAC,CAAgB;IAE3E,SAAgB,UAAU,EAAE,cAAc,CAAC,MAAM,GAAG,IAAI,CAAC,CAAgB;IAEzE,SAAgB,cAAc,EAAE,cAAc,CAAC,YAAY,EAAE,GAAG,SAAS,CAAC,CAAqB;IAE/F,SAAgB,cAAc,EAAE,cAAc,CAAC,aAAa,GAAG,IAAI,CAAC,CAAgB;IAEpF,SAAgB,mBAAmB,EAAE,cAAc,CAAC,OAAO,CAAC,CAAiB;IAE7E,SAAgB,sBAAsB,EAAE,cAAc,CAAC,OAAO,CAAC,CAAiB;IAEhF,SAAgB,kBAAkB,EAAE,cAAc,CAAC,OAAO,CAAC,CAAiB;IAE5E,SAAgB,uBAAuB,EAAE,cAAc,CAAC,OAAO,CAAC,CAAiB;IAEjF,SAAgB,kBAAkB,EAAE,cAAc,CAAC,gBAAgB,EAAE,CAAC,CAMnE;IAEH,SAAgB,SAAS,EAAE,cAAc,CAAC,OAAO,CAAC,CAAiB;IAEnE,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAQtC;IAEF,SAAgB,2BAA2B,EAAE,MAAM,CACjD,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE;QAAC,QAAQ,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAC,CAAC,CAC1E,CAaC;IAEF,SAAgB,mBAAmB,kBAEjC;IAEF,OAAO,CAAC,aAAa,CAAsB;IAE3C,IAAW,YAAY,IAAI,WAAW,GAAG,IAAI,CAE5C;IAED,SAAgB,cAAc,EAAE,MAAM,CAAC,WAAW,CAAC,CAS/C;IAEJ,SAAgB,eAAe,EAAE,cAAc,CAAC,MAAM,EAAE,CAAC,CAAc;IAEvE,SAAgB,qBAAqB,EAAE,cAAc,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,CAAgB;IAEnF,WAAW,IAAI,IAAI;IAenB,gBAAgB,IAAI,IAAI;IAUxB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAMlD,OAAO,CAAC,aAAa;yCA1HV,mBAAmB;6CAAnB,mBAAmB;CA6H/B"}
|
|
@@ -7,7 +7,7 @@ import * as i5 from "@valtimo/components";
|
|
|
7
7
|
import * as i6 from "carbon-components-angular";
|
|
8
8
|
export declare class TranslationManagementModule {
|
|
9
9
|
static ɵfac: i0.ɵɵFactoryDeclaration<TranslationManagementModule, never>;
|
|
10
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<TranslationManagementModule, [typeof i1.TranslationManagementComponent], [typeof i2.CommonModule, typeof i3.TranslateModule, typeof i4.TranslationManagementRoutingModule, typeof i5.MultiInputFormModule, typeof i5.CarbonMultiInputModule, typeof i6.LoadingModule, typeof i5.
|
|
10
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<TranslationManagementModule, [typeof i1.TranslationManagementComponent], [typeof i2.CommonModule, typeof i3.TranslateModule, typeof i4.TranslationManagementRoutingModule, typeof i5.MultiInputFormModule, typeof i5.CarbonMultiInputModule, typeof i6.LoadingModule, typeof i5.RenderInPageHeaderDirective, typeof i6.ButtonModule, typeof i6.IconModule, typeof i5.ConfirmationModalModule], never>;
|
|
11
11
|
static ɵinj: i0.ɵɵInjectorDeclaration<TranslationManagementModule>;
|
|
12
12
|
}
|
|
13
13
|
//# sourceMappingURL=translation-management.module.d.ts.map
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@valtimo/layout",
|
|
3
3
|
"license": "EUPL-1.2",
|
|
4
|
-
"version": "
|
|
4
|
+
"version": "13.0.1-next-minor.81",
|
|
5
5
|
"peerDependencies": {
|
|
6
|
-
"@angular/common": "^
|
|
7
|
-
"@angular/core": "^
|
|
6
|
+
"@angular/common": "^19.2.8",
|
|
7
|
+
"@angular/core": "^19.2.8"
|
|
8
8
|
},
|
|
9
9
|
"dependencies": {
|
|
10
10
|
"@foxythemes/bootstrap-datetime-picker-bs4": "2.3.5",
|
|
@@ -13,10 +13,10 @@
|
|
|
13
13
|
"jquery": "3.7.1",
|
|
14
14
|
"components-jqueryui": "1.12.1",
|
|
15
15
|
"moment": "2.30.1",
|
|
16
|
-
"perfect-scrollbar": "1.5.
|
|
16
|
+
"perfect-scrollbar": "1.5.6",
|
|
17
17
|
"select2": "4.1.0-rc.0",
|
|
18
|
-
"tslib": "2.
|
|
19
|
-
"csp-header": "
|
|
18
|
+
"tslib": "2.8.1",
|
|
19
|
+
"csp-header": "6.1.0",
|
|
20
20
|
"lodash": "4.17.21"
|
|
21
21
|
},
|
|
22
22
|
"module": "fesm2022/valtimo-layout.mjs",
|
|
@@ -27,8 +27,6 @@
|
|
|
27
27
|
},
|
|
28
28
|
".": {
|
|
29
29
|
"types": "./index.d.ts",
|
|
30
|
-
"esm2022": "./esm2022/valtimo-layout.mjs",
|
|
31
|
-
"esm": "./esm2022/valtimo-layout.mjs",
|
|
32
30
|
"default": "./fesm2022/valtimo-layout.mjs"
|
|
33
31
|
}
|
|
34
32
|
},
|
package/public_api.d.ts
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
|
-
export * from './lib/services
|
|
1
|
+
export * from './lib/services';
|
|
2
|
+
export * from './lib/services/widget-layout.service';
|
|
2
3
|
export * from './lib/components/layout/layout.component';
|
|
3
4
|
export * from './lib/layout.module';
|
|
4
5
|
export * from './lib/translation-management.module';
|
|
6
|
+
export * from './lib/components';
|
|
7
|
+
export * from './lib/models';
|
|
8
|
+
export * from './lib/constants';
|
|
9
|
+
export * from './lib/interfaces';
|
|
5
10
|
//# sourceMappingURL=public_api.d.ts.map
|
package/public_api.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public_api.d.ts","sourceRoot":"","sources":["../../../projects/valtimo/layout/src/public_api.ts"],"names":[],"mappings":"AAoBA,cAAc,sCAAsC,CAAC;AACrD,cAAc,0CAA0C,CAAC;AACzD,cAAc,qBAAqB,CAAC;AACpC,cAAc,qCAAqC,CAAC"}
|
|
1
|
+
{"version":3,"file":"public_api.d.ts","sourceRoot":"","sources":["../../../projects/valtimo/layout/src/public_api.ts"],"names":[],"mappings":"AAoBA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sCAAsC,CAAC;AACrD,cAAc,0CAA0C,CAAC;AACzD,cAAc,qBAAqB,CAAC;AACpC,cAAc,qCAAqC,CAAC;AACpD,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC"}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
3
|
-
*
|
|
4
|
-
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" basis,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
import { Component, ViewChild, ViewContainerRef, } from '@angular/core';
|
|
17
|
-
import { NavigationEnd } from '@angular/router';
|
|
18
|
-
import { filter } from 'rxjs/operators';
|
|
19
|
-
import { Subscription } from 'rxjs';
|
|
20
|
-
import * as i0 from "@angular/core";
|
|
21
|
-
import * as i1 from "@angular/router";
|
|
22
|
-
import * as i2 from "carbon-components-angular";
|
|
23
|
-
import * as i3 from "@angular/common";
|
|
24
|
-
import * as i4 from "../layout-public/layout-public.component";
|
|
25
|
-
import * as i5 from "../layout-internal/layout-internal.component";
|
|
26
|
-
export class LayoutComponent {
|
|
27
|
-
constructor(router, route, placeHolderService) {
|
|
28
|
-
this.router = router;
|
|
29
|
-
this.route = route;
|
|
30
|
-
this.placeHolderService = placeHolderService;
|
|
31
|
-
this.layoutType = null;
|
|
32
|
-
this._routerSub = new Subscription();
|
|
33
|
-
this._DEFAULT_LAYOUT = 'internal';
|
|
34
|
-
}
|
|
35
|
-
ngOnInit() {
|
|
36
|
-
this.openRouterSubscription();
|
|
37
|
-
}
|
|
38
|
-
ngAfterViewInit() {
|
|
39
|
-
this.registerCarbonPlaceHolder();
|
|
40
|
-
}
|
|
41
|
-
ngOnDestroy() {
|
|
42
|
-
this._routerSub.unsubscribe();
|
|
43
|
-
}
|
|
44
|
-
registerCarbonPlaceHolder() {
|
|
45
|
-
if (this._carbonPlaceHolder) {
|
|
46
|
-
this.placeHolderService.registerViewContainerRef(this._carbonPlaceHolder);
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
openRouterSubscription() {
|
|
50
|
-
this._routerSub.add(this.router.events.pipe(filter(event => event instanceof NavigationEnd)).subscribe(() => {
|
|
51
|
-
const layout = this.route.snapshot.firstChild.data.layout;
|
|
52
|
-
this.layoutType = layout ? layout : this._DEFAULT_LAYOUT;
|
|
53
|
-
}));
|
|
54
|
-
}
|
|
55
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LayoutComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: i2.PlaceholderService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
56
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: LayoutComponent, selector: "valtimo-layout", viewQueries: [{ propertyName: "_carbonPlaceHolder", first: true, predicate: ["carbonPlaceHolder"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div #carbonPlaceHolder class=\"carbon-placeholder\"></div>\n\n<valtimo-layout-public *ngIf=\"layoutType === 'public'\"></valtimo-layout-public>\n<valtimo-layout-internal *ngIf=\"layoutType === 'internal'\"></valtimo-layout-internal>\n", dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.LayoutPublicComponent, selector: "valtimo-layout-public" }, { kind: "component", type: i5.LayoutInternalComponent, selector: "valtimo-layout-internal" }] }); }
|
|
57
|
-
}
|
|
58
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LayoutComponent, decorators: [{
|
|
59
|
-
type: Component,
|
|
60
|
-
args: [{ selector: 'valtimo-layout', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div #carbonPlaceHolder class=\"carbon-placeholder\"></div>\n\n<valtimo-layout-public *ngIf=\"layoutType === 'public'\"></valtimo-layout-public>\n<valtimo-layout-internal *ngIf=\"layoutType === 'internal'\"></valtimo-layout-internal>\n" }]
|
|
61
|
-
}], ctorParameters: () => [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2.PlaceholderService }], propDecorators: { _carbonPlaceHolder: [{
|
|
62
|
-
type: ViewChild,
|
|
63
|
-
args: ['carbonPlaceHolder', { static: true, read: ViewContainerRef }]
|
|
64
|
-
}] } });
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vbGF5b3V0L3NyYy9saWIvY29tcG9uZW50cy9sYXlvdXQvbGF5b3V0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vbGF5b3V0L3NyYy9saWIvY29tcG9uZW50cy9sYXlvdXQvbGF5b3V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUVMLFNBQVMsRUFHVCxTQUFTLEVBQ1QsZ0JBQWdCLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBaUIsYUFBYSxFQUFTLE1BQU0saUJBQWlCLENBQUM7QUFDdEUsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3RDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7QUFVbEMsTUFBTSxPQUFPLGVBQWU7SUFRMUIsWUFDbUIsTUFBYyxFQUNkLEtBQXFCLEVBQ3JCLGtCQUFzQztRQUZ0QyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQVBsRCxlQUFVLEdBQWtCLElBQUksQ0FBQztRQUN2QixlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNoQyxvQkFBZSxHQUFHLFVBQVUsQ0FBQztJQU0zQyxDQUFDO0lBRUcsUUFBUTtRQUNiLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFTSxlQUFlO1FBQ3BCLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVPLHlCQUF5QjtRQUMvQixJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUM1RSxDQUFDO0lBQ0gsQ0FBQztJQUVPLHNCQUFzQjtRQUM1QixJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssWUFBWSxhQUFhLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDdEYsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDMUQsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQztRQUMzRCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzsrR0F2Q1UsZUFBZTttR0FBZixlQUFlLDBKQUMyQixnQkFBZ0IsMkNDckN2RSw2M0JBb0JBOzs0RkRnQmEsZUFBZTtrQkFKM0IsU0FBUzsrQkFDRSxnQkFBZ0I7eUlBS1Qsa0JBQWtCO3NCQURsQyxTQUFTO3VCQUFDLG1CQUFtQixFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZSwgTmF2aWdhdGlvbkVuZCwgUm91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtmaWx0ZXJ9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7UGxhY2Vob2xkZXJTZXJ2aWNlfSBmcm9tICdjYXJib24tY29tcG9uZW50cy1hbmd1bGFyJztcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXZhclxuZGVjbGFyZSB2YXIgQXBwOiBhbnk7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbHRpbW8tbGF5b3V0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xheW91dC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIExheW91dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgQFZpZXdDaGlsZCgnY2FyYm9uUGxhY2VIb2xkZXInLCB7c3RhdGljOiB0cnVlLCByZWFkOiBWaWV3Q29udGFpbmVyUmVmfSlcbiAgcHJpdmF0ZSByZWFkb25seSBfY2FyYm9uUGxhY2VIb2xkZXI6IFZpZXdDb250YWluZXJSZWY7XG5cbiAgcHVibGljIGxheW91dFR5cGU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIHJlYWRvbmx5IF9yb3V0ZXJTdWIgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX0RFRkFVTFRfTEFZT1VUID0gJ2ludGVybmFsJztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcGxhY2VIb2xkZXJTZXJ2aWNlOiBQbGFjZWhvbGRlclNlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLm9wZW5Sb3V0ZXJTdWJzY3JpcHRpb24oKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5yZWdpc3RlckNhcmJvblBsYWNlSG9sZGVyKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fcm91dGVyU3ViLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIHJlZ2lzdGVyQ2FyYm9uUGxhY2VIb2xkZXIoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2NhcmJvblBsYWNlSG9sZGVyKSB7XG4gICAgICB0aGlzLnBsYWNlSG9sZGVyU2VydmljZS5yZWdpc3RlclZpZXdDb250YWluZXJSZWYodGhpcy5fY2FyYm9uUGxhY2VIb2xkZXIpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgb3BlblJvdXRlclN1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLl9yb3V0ZXJTdWIuYWRkKFxuICAgICAgdGhpcy5yb3V0ZXIuZXZlbnRzLnBpcGUoZmlsdGVyKGV2ZW50ID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGxheW91dCA9IHRoaXMucm91dGUuc25hcHNob3QuZmlyc3RDaGlsZC5kYXRhLmxheW91dDtcbiAgICAgICAgdGhpcy5sYXlvdXRUeXBlID0gbGF5b3V0ID8gbGF5b3V0IDogdGhpcy5fREVGQVVMVF9MQVlPVVQ7XG4gICAgICB9KVxuICAgICk7XG4gIH1cbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cblxuPGRpdiAjY2FyYm9uUGxhY2VIb2xkZXIgY2xhc3M9XCJjYXJib24tcGxhY2Vob2xkZXJcIj48L2Rpdj5cblxuPHZhbHRpbW8tbGF5b3V0LXB1YmxpYyAqbmdJZj1cImxheW91dFR5cGUgPT09ICdwdWJsaWMnXCI+PC92YWx0aW1vLWxheW91dC1wdWJsaWM+XG48dmFsdGltby1sYXlvdXQtaW50ZXJuYWwgKm5nSWY9XCJsYXlvdXRUeXBlID09PSAnaW50ZXJuYWwnXCI+PC92YWx0aW1vLWxheW91dC1pbnRlcm5hbD5cbiJdfQ==
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
3
|
-
*
|
|
4
|
-
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" basis,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
import { Component, ViewChild } from '@angular/core';
|
|
17
|
-
import * as i0 from "@angular/core";
|
|
18
|
-
import * as i1 from "../../services/layout/layout.service";
|
|
19
|
-
import * as i2 from "@valtimo/components";
|
|
20
|
-
import * as i3 from "@angular/router";
|
|
21
|
-
import * as i4 from "@angular/common";
|
|
22
|
-
export class LayoutInternalComponent {
|
|
23
|
-
constructor(layoutService, renderer, userInterfaceService, shellService) {
|
|
24
|
-
this.layoutService = layoutService;
|
|
25
|
-
this.renderer = renderer;
|
|
26
|
-
this.userInterfaceService = userInterfaceService;
|
|
27
|
-
this.shellService = shellService;
|
|
28
|
-
this.showPageHeader$ = this.userInterfaceService.showPageHeader$;
|
|
29
|
-
this.sideBarExpanded$ = this.shellService.sideBarExpanded$;
|
|
30
|
-
this.collapsibleWidescreenMenu$ = this.shellService.collapsibleWidescreenMenu$;
|
|
31
|
-
this.renderer.addClass(document.body, 'be-animate');
|
|
32
|
-
}
|
|
33
|
-
ngAfterViewInit() {
|
|
34
|
-
App.init();
|
|
35
|
-
this.shellService.setContentElement(this.mainContentRef.nativeElement);
|
|
36
|
-
this._observer = new ResizeObserver(() => {
|
|
37
|
-
this.shellService.onMainContentResize();
|
|
38
|
-
});
|
|
39
|
-
this._observer.observe(this.mainContentRef.nativeElement);
|
|
40
|
-
}
|
|
41
|
-
ngOnDestroy() {
|
|
42
|
-
this._observer.disconnect();
|
|
43
|
-
}
|
|
44
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LayoutInternalComponent, deps: [{ token: i1.LayoutService }, { token: i0.Renderer2 }, { token: i2.UserInterfaceService }, { token: i2.ShellService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
45
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: LayoutInternalComponent, selector: "valtimo-layout-internal", viewQueries: [{ propertyName: "mainContentRef", first: true, predicate: ["mainContent"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-topbar></valtimo-topbar>\n<main\n class=\"cds--content\"\n [ngClass]=\"{\n 'cds--content--sidebar':\n (sideBarExpanded$ | async) && (collapsibleWidescreenMenu$ | async) === false,\n }\"\n #mainContent\n>\n <valtimo-left-sidebar [hidden]=\"layoutService.isFullscreen\"></valtimo-left-sidebar>\n <valtimo-alert></valtimo-alert>\n <valtimo-page-header [hidden]=\"layoutService.isFullscreen\"></valtimo-page-header>\n <router-outlet></router-outlet>\n <valtimo-right-sidebar></valtimo-right-sidebar>\n <v-prompt></v-prompt>\n</main>\n", styles: ["::ng-deep .cds--content{padding-top:24px!important}@media screen and (max-width: 767px){.be-content{margin-left:0!important}}@media only screen and (min-width: 1056px){.cds--content--sidebar{padding-left:18rem}}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i3.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: i2.TopbarComponent, selector: "valtimo-topbar" }, { kind: "component", type: i2.LeftSidebarComponent, selector: "valtimo-left-sidebar" }, { kind: "component", type: i2.RightSidebarComponent, selector: "valtimo-right-sidebar" }, { kind: "component", type: i2.PageHeaderComponent, selector: "valtimo-page-header" }, { kind: "component", type: i2.AlertComponent, selector: "valtimo-alert" }, { kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.PromptComponent, selector: "v-prompt", inputs: ["appearingDelayMs", "maxWidthPx"], outputs: ["closeEvent"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }] }); }
|
|
46
|
-
}
|
|
47
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LayoutInternalComponent, decorators: [{
|
|
48
|
-
type: Component,
|
|
49
|
-
args: [{ selector: 'valtimo-layout-internal', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-topbar></valtimo-topbar>\n<main\n class=\"cds--content\"\n [ngClass]=\"{\n 'cds--content--sidebar':\n (sideBarExpanded$ | async) && (collapsibleWidescreenMenu$ | async) === false,\n }\"\n #mainContent\n>\n <valtimo-left-sidebar [hidden]=\"layoutService.isFullscreen\"></valtimo-left-sidebar>\n <valtimo-alert></valtimo-alert>\n <valtimo-page-header [hidden]=\"layoutService.isFullscreen\"></valtimo-page-header>\n <router-outlet></router-outlet>\n <valtimo-right-sidebar></valtimo-right-sidebar>\n <v-prompt></v-prompt>\n</main>\n", styles: ["::ng-deep .cds--content{padding-top:24px!important}@media screen and (max-width: 767px){.be-content{margin-left:0!important}}@media only screen and (min-width: 1056px){.cds--content--sidebar{padding-left:18rem}}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
50
|
-
}], ctorParameters: () => [{ type: i1.LayoutService }, { type: i0.Renderer2 }, { type: i2.UserInterfaceService }, { type: i2.ShellService }], propDecorators: { mainContentRef: [{
|
|
51
|
-
type: ViewChild,
|
|
52
|
-
args: ['mainContent']
|
|
53
|
-
}] } });
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LWludGVybmFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vbGF5b3V0L3NyYy9saWIvY29tcG9uZW50cy9sYXlvdXQtaW50ZXJuYWwvbGF5b3V0LWludGVybmFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vbGF5b3V0L3NyYy9saWIvY29tcG9uZW50cy9sYXlvdXQtaW50ZXJuYWwvbGF5b3V0LWludGVybmFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFnQixTQUFTLEVBQW9DLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBWXBHLE1BQU0sT0FBTyx1QkFBdUI7SUFTbEMsWUFDUyxhQUE0QixFQUNsQixRQUFtQixFQUNuQixvQkFBMEMsRUFDMUMsWUFBMEI7UUFIcEMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzFDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBVjdCLG9CQUFlLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGVBQWUsQ0FBQztRQUM1RCxxQkFBZ0IsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGdCQUFnQixDQUFDO1FBQ3RELCtCQUEwQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsMEJBQTBCLENBQUM7UUFVeEYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxZQUFZLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRU0sZUFBZTtRQUNwQixHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDWCxJQUFJLENBQUMsWUFBWSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDdkUsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLGNBQWMsQ0FBQyxHQUFHLEVBQUU7WUFDdkMsSUFBSSxDQUFDLFlBQVksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQzFDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQzlCLENBQUM7K0dBN0JVLHVCQUF1QjttR0FBdkIsdUJBQXVCLDhLQzVCcEMsK3JDQWdDQTs7NEZESmEsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNFLHlCQUF5Qjt3S0FLVCxjQUFjO3NCQUF2QyxTQUFTO3VCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge0FmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgT25EZXN0cm95LCBSZW5kZXJlcjIsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0xheW91dFNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xheW91dC9sYXlvdXQuc2VydmljZSc7XG5pbXBvcnQge1NoZWxsU2VydmljZSwgVXNlckludGVyZmFjZVNlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL2NvbXBvbmVudHMnO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdmFyXG5kZWNsYXJlIHZhciBBcHA7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbHRpbW8tbGF5b3V0LWludGVybmFsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xheW91dC1pbnRlcm5hbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2xheW91dC1pbnRlcm5hbC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBMYXlvdXRJbnRlcm5hbENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIEBWaWV3Q2hpbGQoJ21haW5Db250ZW50JykgbWFpbkNvbnRlbnRSZWY6IEVsZW1lbnRSZWY7XG5cbiAgcHVibGljIHJlYWRvbmx5IHNob3dQYWdlSGVhZGVyJCA9IHRoaXMudXNlckludGVyZmFjZVNlcnZpY2Uuc2hvd1BhZ2VIZWFkZXIkO1xuICBwdWJsaWMgcmVhZG9ubHkgc2lkZUJhckV4cGFuZGVkJCA9IHRoaXMuc2hlbGxTZXJ2aWNlLnNpZGVCYXJFeHBhbmRlZCQ7XG4gIHB1YmxpYyByZWFkb25seSBjb2xsYXBzaWJsZVdpZGVzY3JlZW5NZW51JCA9IHRoaXMuc2hlbGxTZXJ2aWNlLmNvbGxhcHNpYmxlV2lkZXNjcmVlbk1lbnUkO1xuXG4gIHByaXZhdGUgX29ic2VydmVyITogUmVzaXplT2JzZXJ2ZXI7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGxheW91dFNlcnZpY2U6IExheW91dFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlckludGVyZmFjZVNlcnZpY2U6IFVzZXJJbnRlcmZhY2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2hlbGxTZXJ2aWNlOiBTaGVsbFNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhkb2N1bWVudC5ib2R5LCAnYmUtYW5pbWF0ZScpO1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBBcHAuaW5pdCgpO1xuICAgIHRoaXMuc2hlbGxTZXJ2aWNlLnNldENvbnRlbnRFbGVtZW50KHRoaXMubWFpbkNvbnRlbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gICAgdGhpcy5fb2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKCkgPT4ge1xuICAgICAgdGhpcy5zaGVsbFNlcnZpY2Uub25NYWluQ29udGVudFJlc2l6ZSgpO1xuICAgIH0pO1xuICAgIHRoaXMuX29ic2VydmVyLm9ic2VydmUodGhpcy5tYWluQ29udGVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9vYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gIH1cbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cblxuPHZhbHRpbW8tdG9wYmFyPjwvdmFsdGltby10b3BiYXI+XG48bWFpblxuICBjbGFzcz1cImNkcy0tY29udGVudFwiXG4gIFtuZ0NsYXNzXT1cIntcbiAgICAnY2RzLS1jb250ZW50LS1zaWRlYmFyJzpcbiAgICAgIChzaWRlQmFyRXhwYW5kZWQkIHwgYXN5bmMpICYmIChjb2xsYXBzaWJsZVdpZGVzY3JlZW5NZW51JCB8IGFzeW5jKSA9PT0gZmFsc2UsXG4gIH1cIlxuICAjbWFpbkNvbnRlbnRcbj5cbiAgPHZhbHRpbW8tbGVmdC1zaWRlYmFyIFtoaWRkZW5dPVwibGF5b3V0U2VydmljZS5pc0Z1bGxzY3JlZW5cIj48L3ZhbHRpbW8tbGVmdC1zaWRlYmFyPlxuICA8dmFsdGltby1hbGVydD48L3ZhbHRpbW8tYWxlcnQ+XG4gIDx2YWx0aW1vLXBhZ2UtaGVhZGVyIFtoaWRkZW5dPVwibGF5b3V0U2VydmljZS5pc0Z1bGxzY3JlZW5cIj48L3ZhbHRpbW8tcGFnZS1oZWFkZXI+XG4gIDxyb3V0ZXItb3V0bGV0Pjwvcm91dGVyLW91dGxldD5cbiAgPHZhbHRpbW8tcmlnaHQtc2lkZWJhcj48L3ZhbHRpbW8tcmlnaHQtc2lkZWJhcj5cbiAgPHYtcHJvbXB0Pjwvdi1wcm9tcHQ+XG48L21haW4+XG4iXX0=
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
3
|
-
*
|
|
4
|
-
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" basis,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
import { Component } from '@angular/core';
|
|
17
|
-
import * as i0 from "@angular/core";
|
|
18
|
-
import * as i1 from "@angular/router";
|
|
19
|
-
export class LayoutPublicComponent {
|
|
20
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LayoutPublicComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
21
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: LayoutPublicComponent, selector: "valtimo-layout-public", ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"public-page-content\">\n <img src=\"assets/logo.svg\" class=\"logo\" />\n <router-outlet></router-outlet>\n</div>\n", styles: ["body{background-color:#eee}.public-page-content{background-color:#fff;margin:60px auto;border:1px solid #dee2e6;padding:0 30px 30px}.public-page-content .logo{width:25%;display:block;margin:30px auto}@media (min-width: 768px){.public-page-content{width:50%}}@media (max-width: 767px) and (min-width: 576px){.public-page-content{width:75%}}@media (max-width: 575px){.public-page-content{width:95%}.public-page-content .logo{width:50%}}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i1.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }] }); }
|
|
22
|
-
}
|
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LayoutPublicComponent, decorators: [{
|
|
24
|
-
type: Component,
|
|
25
|
-
args: [{ selector: 'valtimo-layout-public', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"public-page-content\">\n <img src=\"assets/logo.svg\" class=\"logo\" />\n <router-outlet></router-outlet>\n</div>\n", styles: ["body{background-color:#eee}.public-page-content{background-color:#fff;margin:60px auto;border:1px solid #dee2e6;padding:0 30px 30px}.public-page-content .logo{width:25%;display:block;margin:30px auto}@media (min-width: 768px){.public-page-content{width:50%}}@media (max-width: 767px) and (min-width: 576px){.public-page-content{width:75%}}@media (max-width: 575px){.public-page-content{width:95%}.public-page-content .logo{width:50%}}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
26
|
-
}] });
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LXB1YmxpYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2xheW91dC9zcmMvbGliL2NvbXBvbmVudHMvbGF5b3V0LXB1YmxpYy9sYXlvdXQtcHVibGljLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vbGF5b3V0L3NyYy9saWIvY29tcG9uZW50cy9sYXlvdXQtcHVibGljL2xheW91dC1wdWJsaWMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDOzs7QUFPeEMsTUFBTSxPQUFPLHFCQUFxQjsrR0FBckIscUJBQXFCO21HQUFyQixxQkFBcUIsNkRDdkJsQyxveEJBb0JBOzs0RkRHYSxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0UsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtDb21wb25lbnR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLWxheW91dC1wdWJsaWMnLFxuICB0ZW1wbGF0ZVVybDogJy4vbGF5b3V0LXB1YmxpYy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2xheW91dC1wdWJsaWMuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgTGF5b3V0UHVibGljQ29tcG9uZW50IHt9XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjxkaXYgY2xhc3M9XCJwdWJsaWMtcGFnZS1jb250ZW50XCI+XG4gIDxpbWcgc3JjPVwiYXNzZXRzL2xvZ28uc3ZnXCIgY2xhc3M9XCJsb2dvXCIgLz5cbiAgPHJvdXRlci1vdXRsZXQ+PC9yb3V0ZXItb3V0bGV0PlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,185 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
3
|
-
*
|
|
4
|
-
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" basis,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
import { Component, Inject } from '@angular/core';
|
|
17
|
-
import { BehaviorSubject, combineLatest, map, switchMap, take, tap } from 'rxjs';
|
|
18
|
-
import { isEqual } from 'lodash';
|
|
19
|
-
import { DOCUMENT } from '@angular/common';
|
|
20
|
-
import * as i0 from "@angular/core";
|
|
21
|
-
import * as i1 from "@ngx-translate/core";
|
|
22
|
-
import * as i2 from "@valtimo/config";
|
|
23
|
-
import * as i3 from "@valtimo/components";
|
|
24
|
-
import * as i4 from "@angular/common";
|
|
25
|
-
import * as i5 from "carbon-components-angular";
|
|
26
|
-
export class TranslationManagementComponent {
|
|
27
|
-
constructor(translateService, localizationService, pageHeaderService, document) {
|
|
28
|
-
this.translateService = translateService;
|
|
29
|
-
this.localizationService = localizationService;
|
|
30
|
-
this.pageHeaderService = pageHeaderService;
|
|
31
|
-
this.document = document;
|
|
32
|
-
this.loading$ = new BehaviorSubject(true);
|
|
33
|
-
this.allChangedValuesValid$ = new BehaviorSubject(false);
|
|
34
|
-
this.disabled$ = new BehaviorSubject(false);
|
|
35
|
-
this._languageOptions$ = new BehaviorSubject(undefined);
|
|
36
|
-
this._refreshLocalizations$ = new BehaviorSubject(null);
|
|
37
|
-
this._localizationTranslations$ = this._refreshLocalizations$.pipe(tap(() => this.loading$.next(true)), switchMap(() => this.localizationService.getMergedLocalizations()), tap(() => this.loading$.next(false)));
|
|
38
|
-
this._defaultValues = [];
|
|
39
|
-
this._changedValues$ = new BehaviorSubject(undefined);
|
|
40
|
-
this.showConfirmationModal$ = new BehaviorSubject(false);
|
|
41
|
-
this.valuesChanged$ = this._changedValues$.pipe(map(changedValues => !isEqual(changedValues, this._defaultValues)));
|
|
42
|
-
this.localizationTranslationValues$ = combineLatest([
|
|
43
|
-
this._languageOptions$,
|
|
44
|
-
this._localizationTranslations$,
|
|
45
|
-
this.translateService.stream('key'),
|
|
46
|
-
]).pipe(map(([languageOptions, localizationTranslations]) => this.mapMergedLocalizationsToMultiInput(languageOptions, localizationTranslations)), tap(defaultValues => {
|
|
47
|
-
this._defaultValues = defaultValues;
|
|
48
|
-
}));
|
|
49
|
-
this.multiInputTiles$ = combineLatest([
|
|
50
|
-
this._languageOptions$,
|
|
51
|
-
this.translateService.stream('key'),
|
|
52
|
-
]).pipe(map(([languageOptions]) => {
|
|
53
|
-
const objToReturn = {};
|
|
54
|
-
objToReturn[0] = this.translateService.instant('listColumn.key');
|
|
55
|
-
languageOptions.forEach((languageOption, index) => {
|
|
56
|
-
objToReturn[index + 1] = this.translateService.instant(`settings.language.options.${languageOption}`);
|
|
57
|
-
});
|
|
58
|
-
return objToReturn;
|
|
59
|
-
}));
|
|
60
|
-
this.amountOfArbitraryValues$ = this.multiInputTiles$.pipe(map(multiInputTitles => Object.keys(multiInputTitles).length));
|
|
61
|
-
this.compactMode$ = this.pageHeaderService.compactMode$;
|
|
62
|
-
}
|
|
63
|
-
ngOnInit() {
|
|
64
|
-
this.setLanguages();
|
|
65
|
-
}
|
|
66
|
-
validChange(valid) {
|
|
67
|
-
this.allChangedValuesValid$.next(valid);
|
|
68
|
-
}
|
|
69
|
-
valueChange(value) {
|
|
70
|
-
this._changedValues$.next(value);
|
|
71
|
-
}
|
|
72
|
-
saveAndRefresh() {
|
|
73
|
-
this.saveChanges(true);
|
|
74
|
-
}
|
|
75
|
-
saveAndStay() {
|
|
76
|
-
this.saveChanges();
|
|
77
|
-
}
|
|
78
|
-
cancel() {
|
|
79
|
-
this.hideModal();
|
|
80
|
-
}
|
|
81
|
-
showModal() {
|
|
82
|
-
this.showConfirmationModal$.next(true);
|
|
83
|
-
}
|
|
84
|
-
saveChanges(reload = false) {
|
|
85
|
-
this.disable();
|
|
86
|
-
combineLatest([this._changedValues$, this._languageOptions$])
|
|
87
|
-
.pipe(take(1), map(([changedValues, languageOptions]) => this.getLocalizationsForUpdateRequest(changedValues, languageOptions)), switchMap(updatedLocalizations => this.localizationService.updateLocalizations(updatedLocalizations)))
|
|
88
|
-
.subscribe(() => {
|
|
89
|
-
if (reload) {
|
|
90
|
-
this.document?.defaultView?.location?.reload();
|
|
91
|
-
}
|
|
92
|
-
else {
|
|
93
|
-
this._refreshLocalizations$.next(null);
|
|
94
|
-
this.enable();
|
|
95
|
-
}
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
|
-
setLanguages() {
|
|
99
|
-
this._languageOptions$.next(this.translateService.langs);
|
|
100
|
-
}
|
|
101
|
-
disable() {
|
|
102
|
-
this.disabled$.next(true);
|
|
103
|
-
}
|
|
104
|
-
enable() {
|
|
105
|
-
this.disabled$.next(false);
|
|
106
|
-
}
|
|
107
|
-
hideModal() {
|
|
108
|
-
this.showConfirmationModal$.next(false);
|
|
109
|
-
}
|
|
110
|
-
flattenObject(ob) {
|
|
111
|
-
const toReturn = {};
|
|
112
|
-
for (const i in ob) {
|
|
113
|
-
if (!ob.hasOwnProperty(i))
|
|
114
|
-
continue;
|
|
115
|
-
if (typeof ob[i] == 'object' && ob[i] !== null) {
|
|
116
|
-
const flatObject = this.flattenObject(ob[i]);
|
|
117
|
-
for (const x in flatObject) {
|
|
118
|
-
if (!flatObject.hasOwnProperty(x))
|
|
119
|
-
continue;
|
|
120
|
-
toReturn[i + '.' + x] = flatObject[x];
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
else {
|
|
124
|
-
toReturn[i] = ob[i];
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
return toReturn;
|
|
128
|
-
}
|
|
129
|
-
unflattenObject(obj, delimiter = '.') {
|
|
130
|
-
return Object.keys(obj).reduce((res, k) => {
|
|
131
|
-
k.split(delimiter).reduce((acc, e, i, keys) => acc[e] ||
|
|
132
|
-
(acc[e] = isNaN(Number(keys[i + 1])) ? (keys.length - 1 === i ? obj[k] : {}) : []), res);
|
|
133
|
-
return res;
|
|
134
|
-
}, {});
|
|
135
|
-
}
|
|
136
|
-
getLocalizationsForUpdateRequest(changedValues, languageOptions) {
|
|
137
|
-
const localizations = [];
|
|
138
|
-
const translationObject = {};
|
|
139
|
-
languageOptions.forEach(languageOption => {
|
|
140
|
-
translationObject[languageOption] = {};
|
|
141
|
-
});
|
|
142
|
-
changedValues.forEach(changedValue => {
|
|
143
|
-
languageOptions.forEach((languageOption, index) => {
|
|
144
|
-
translationObject[languageOption] = {
|
|
145
|
-
...translationObject[languageOption],
|
|
146
|
-
[changedValue[0]]: changedValue[index + 1],
|
|
147
|
-
};
|
|
148
|
-
});
|
|
149
|
-
});
|
|
150
|
-
languageOptions.forEach(languageOption => {
|
|
151
|
-
translationObject[languageOption] = this.unflattenObject(translationObject[languageOption]);
|
|
152
|
-
});
|
|
153
|
-
Object.keys(translationObject).forEach(languageKey => {
|
|
154
|
-
localizations.push({ languageKey, content: translationObject[languageKey] });
|
|
155
|
-
});
|
|
156
|
-
return localizations;
|
|
157
|
-
}
|
|
158
|
-
mapMergedLocalizationsToMultiInput(languageOptions, mergedLocalizations) {
|
|
159
|
-
if (Object.keys(mergedLocalizations).length === 0) {
|
|
160
|
-
return [];
|
|
161
|
-
}
|
|
162
|
-
const firstLanguageOption = languageOptions[0];
|
|
163
|
-
const firstLanguageTranslations = firstLanguageOption && mergedLocalizations[firstLanguageOption];
|
|
164
|
-
const flattenedFirstLanguageTranslations = firstLanguageTranslations && this.flattenObject(firstLanguageTranslations);
|
|
165
|
-
return Object.keys(flattenedFirstLanguageTranslations).map(flattenedTranslationKey => {
|
|
166
|
-
const emptyArbitraryValue = {};
|
|
167
|
-
emptyArbitraryValue['0'] = flattenedTranslationKey;
|
|
168
|
-
languageOptions.forEach((languageOption, index) => {
|
|
169
|
-
emptyArbitraryValue[`${index + 1}`] =
|
|
170
|
-
this.flattenObject(mergedLocalizations[languageOption])[flattenedTranslationKey] || '';
|
|
171
|
-
});
|
|
172
|
-
return emptyArbitraryValue;
|
|
173
|
-
});
|
|
174
|
-
}
|
|
175
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TranslationManagementComponent, deps: [{ token: i1.TranslateService }, { token: i2.LocalizationService }, { token: i3.PageHeaderService }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
176
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TranslationManagementComponent, selector: "valtimo-translation-management", ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n localizationTranslationValues: localizationTranslationValues$ | async,\n loading: loading$ | async,\n disabled: disabled$ | async,\n multiInputTitles: multiInputTiles$ | async,\n amountOfArbitraryValues: amountOfArbitraryValues$ | async,\n showConfirmationModal: showConfirmationModal$,\n allChangedValuesValid: allChangedValuesValid$ | async,\n valuesChanged: valuesChanged$ | async,\n compactMode: compactMode$ | async,\n } as obs\"\n>\n <ng-container *ngIf=\"!obs.loading && obs.localizationTranslationValues; else loading\">\n <valtimo-carbon-multi-input\n [disabled]=\"obs.disabled\"\n [arbitraryAmountTitles]=\"obs.multiInputTitles\"\n [fullWidth]=\"true\"\n [minimumAmountOfRows]=\"0\"\n type=\"arbitraryAmount\"\n [arbitraryValueAmount]=\"obs.amountOfArbitraryValues\"\n [defaultValues]=\"obs.localizationTranslationValues\"\n (allValuesValidEvent)=\"validChange($event)\"\n (valueChange)=\"valueChange($event)\"\n addRowTranslationKey=\"translationManagement.add\"\n ></valtimo-carbon-multi-input>\n </ng-container>\n\n <ng-template #loading>\n <div class=\"loading-container\"><cds-loading></cds-loading></div>\n </ng-template>\n\n <valtimo-confirmation-modal\n [showModalSubject$]=\"obs.showConfirmationModal\"\n (confirmEvent)=\"saveAndRefresh()\"\n (optionalEvent)=\"saveAndStay()\"\n (cancelEvent)=\"cancel()\"\n [showOptionalButton]=\"true\"\n cancelButtonType=\"ghost\"\n optionalButtonType=\"secondary\"\n confirmButtonTextTranslationKey=\"translationManagement.saveWithReload\"\n optionalButtonTextTranslationKey=\"translationManagement.saveWithoutReload\"\n titleTranslationKey=\"translationManagement.modalTitle\"\n contentTranslationKey=\"translationManagement.modalContent\"\n [spacerAfterCancelButton]=\"true\"\n ></valtimo-confirmation-modal>\n\n <ng-container renderInPageHeader>\n <ng-template>\n <button\n cdsButton=\"primary\"\n [size]=\"obs.compactMode ? 'sm' : 'md'\"\n (click)=\"showModal()\"\n [disabled]=\"!obs.allChangedValuesValid || obs.disabled || !obs.valuesChanged\"\n >\n {{ 'interface.save' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"save\" size=\"16\"></svg>\n </button>\n </ng-template>\n </ng-container>\n</ng-container>\n", styles: [".loading-container{display:flex;width:100%;justify-content:center}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.CarbonMultiInputComponent, selector: "valtimo-carbon-multi-input", inputs: ["addRowText", "addRowTranslationKey", "arbitraryAmountTitles", "arbitraryValueAmount", "defaultValues", "deleteRowText", "deleteRowTranslationKey", "disabled", "dropdownColumnTitle", "dropdownItems", "dropdownWidth", "fullWidth", "hideAddButton", "hideDeleteButton", "initialAmountOfRows", "keyColumnTitle", "margin", "maxRows", "minimumAmountOfRows", "name", "required", "title", "titleTranslationKey", "tooltip", "type", "valueColumnTitle", "valuePathSelectorDocumentDefinitionName", "valuePathSelectorPrefixes", "valuePathSelectorShowDocumentDefinitionSelector", "valuePathSelectorNotation", "keyColumnFlex", "dropdownColumnFlex", "valueColumnFlex"], outputs: ["valueChange", "allValuesValidEvent"] }, { kind: "component", type: i5.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "directive", type: i3.RenderInPageHeaderDirective, selector: "[renderInPageHeader]", inputs: ["fullWidth"] }, { kind: "directive", type: i5.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i5.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i3.ConfirmationModalComponent, selector: "valtimo-confirmation-modal", inputs: ["titleTranslationKey", "title", "content", "contentTranslationKey", "confirmButtonText", "confirmButtonTextTranslationKey", "confirmButtonType", "showOptionalButton", "optionalButtonText", "optionalButtonTextTranslationKey", "optionalButtonType", "cancelButtonText", "cancelButtonTextTranslationKey", "cancelButtonType", "showModalSubject$", "outputOnConfirm", "outputOnOptional", "spacerAfterCancelButton"], outputs: ["confirmEvent", "optionalEvent", "cancelEvent"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] }); }
|
|
177
|
-
}
|
|
178
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TranslationManagementComponent, decorators: [{
|
|
179
|
-
type: Component,
|
|
180
|
-
args: [{ selector: 'valtimo-translation-management', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n localizationTranslationValues: localizationTranslationValues$ | async,\n loading: loading$ | async,\n disabled: disabled$ | async,\n multiInputTitles: multiInputTiles$ | async,\n amountOfArbitraryValues: amountOfArbitraryValues$ | async,\n showConfirmationModal: showConfirmationModal$,\n allChangedValuesValid: allChangedValuesValid$ | async,\n valuesChanged: valuesChanged$ | async,\n compactMode: compactMode$ | async,\n } as obs\"\n>\n <ng-container *ngIf=\"!obs.loading && obs.localizationTranslationValues; else loading\">\n <valtimo-carbon-multi-input\n [disabled]=\"obs.disabled\"\n [arbitraryAmountTitles]=\"obs.multiInputTitles\"\n [fullWidth]=\"true\"\n [minimumAmountOfRows]=\"0\"\n type=\"arbitraryAmount\"\n [arbitraryValueAmount]=\"obs.amountOfArbitraryValues\"\n [defaultValues]=\"obs.localizationTranslationValues\"\n (allValuesValidEvent)=\"validChange($event)\"\n (valueChange)=\"valueChange($event)\"\n addRowTranslationKey=\"translationManagement.add\"\n ></valtimo-carbon-multi-input>\n </ng-container>\n\n <ng-template #loading>\n <div class=\"loading-container\"><cds-loading></cds-loading></div>\n </ng-template>\n\n <valtimo-confirmation-modal\n [showModalSubject$]=\"obs.showConfirmationModal\"\n (confirmEvent)=\"saveAndRefresh()\"\n (optionalEvent)=\"saveAndStay()\"\n (cancelEvent)=\"cancel()\"\n [showOptionalButton]=\"true\"\n cancelButtonType=\"ghost\"\n optionalButtonType=\"secondary\"\n confirmButtonTextTranslationKey=\"translationManagement.saveWithReload\"\n optionalButtonTextTranslationKey=\"translationManagement.saveWithoutReload\"\n titleTranslationKey=\"translationManagement.modalTitle\"\n contentTranslationKey=\"translationManagement.modalContent\"\n [spacerAfterCancelButton]=\"true\"\n ></valtimo-confirmation-modal>\n\n <ng-container renderInPageHeader>\n <ng-template>\n <button\n cdsButton=\"primary\"\n [size]=\"obs.compactMode ? 'sm' : 'md'\"\n (click)=\"showModal()\"\n [disabled]=\"!obs.allChangedValuesValid || obs.disabled || !obs.valuesChanged\"\n >\n {{ 'interface.save' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"save\" size=\"16\"></svg>\n </button>\n </ng-template>\n </ng-container>\n</ng-container>\n", styles: [".loading-container{display:flex;width:100%;justify-content:center}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
181
|
-
}], ctorParameters: () => [{ type: i1.TranslateService }, { type: i2.LocalizationService }, { type: i3.PageHeaderService }, { type: Document, decorators: [{
|
|
182
|
-
type: Inject,
|
|
183
|
-
args: [DOCUMENT]
|
|
184
|
-
}] }] });
|
|
185
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24tbWFuYWdlbWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2xheW91dC9zcmMvbGliL2NvbXBvbmVudHMvdHJhbnNsYXRpb24tbWFuYWdlbWVudC90cmFuc2xhdGlvbi1tYW5hZ2VtZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vbGF5b3V0L3NyYy9saWIvY29tcG9uZW50cy90cmFuc2xhdGlvbi1tYW5hZ2VtZW50L3RyYW5zbGF0aW9uLW1hbmFnZW1lbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUN4RCxPQUFPLEVBQUMsZUFBZSxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQWMsU0FBUyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFTM0YsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLFFBQVEsQ0FBQztBQUMvQixPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7QUFPekMsTUFBTSxPQUFPLDhCQUE4QjtJQTZEekMsWUFDbUIsZ0JBQWtDLEVBQ2xDLG1CQUF3QyxFQUN4QyxpQkFBb0MsRUFDbEIsUUFBa0I7UUFIcEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQWhFdkMsYUFBUSxHQUFHLElBQUksZUFBZSxDQUFVLElBQUksQ0FBQyxDQUFDO1FBQzlDLDJCQUFzQixHQUFHLElBQUksZUFBZSxDQUFVLEtB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QkFBbUIsSUFBSSxtQkFBbUIsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ2xFLE1BQU0sa0NBQWtDLEdBQ3RDLHlCQUF5QixJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUU3RSxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsa0NBQWtDLENBQUMsQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsRUFBRTtZQUNuRixNQUFNLG1CQUFtQixHQUFHLEVBQUUsQ0FBQztZQUUvQixtQkFBbUIsQ0FBQyxHQUFHLENBQUMsR0FBRyx1QkFBdUIsQ0FBQztZQUVuRCxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsY0FBYyxFQUFFLEtBQUssRUFBRSxFQUFFO2dCQUNoRCxtQkFBbUIsQ0FBQyxHQUFHLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQztvQkFDakMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLElBQUksRUFBRSxDQUFDO1lBQzNGLENBQUMsQ0FBQyxDQUFDO1lBRUgsT0FBTyxtQkFBbUIsQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7K0dBaE9VLDhCQUE4QixzSEFpRS9CLFFBQVE7bUdBakVQLDhCQUE4QixzRUNsQzNDLHUvRkE4RUE7OzRGRDVDYSw4QkFBOEI7a0JBTDFDLFNBQVM7K0JBQ0UsZ0NBQWdDOzswQkFxRXZDLE1BQU07MkJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7Q29tcG9uZW50LCBJbmplY3QsIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgbWFwLCBPYnNlcnZhYmxlLCBzd2l0Y2hNYXAsIHRha2UsIHRhcH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtMb2NhbGl6YXRpb24sIExvY2FsaXphdGlvblNlcnZpY2UsIE1lcmdlZExvY2FsaXphdGlvbnN9IGZyb20gJ0B2YWx0aW1vL2NvbmZpZyc7XG5pbXBvcnQge1xuICBBcmJpdHJhcnlJbnB1dFRpdGxlcyxcbiAgTXVsdGlJbnB1dEtleVZhbHVlLFxuICBNdWx0aUlucHV0T3V0cHV0LFxuICBQYWdlSGVhZGVyU2VydmljZSxcbn0gZnJvbSAnQHZhbHRpbW8vY29tcG9uZW50cyc7XG5pbXBvcnQge2lzRXF1YWx9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQge0RPQ1VNRU5UfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLXRyYW5zbGF0aW9uLW1hbmFnZW1lbnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vdHJhbnNsYXRpb24tbWFuYWdlbWVudC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RyYW5zbGF0aW9uLW1hbmFnZW1lbnQuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgVHJhbnNsYXRpb25NYW5hZ2VtZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHVibGljIHJlYWRvbmx5IGxvYWRpbmckID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKTtcbiAgcHVibGljIHJlYWRvbmx5IGFsbENoYW5nZWRWYWx1ZXNWYWxpZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcHVibGljIHJlYWRvbmx5IGRpc2FibGVkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2xhbmd1YWdlT3B0aW9ucyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEFycmF5PHN0cmluZz4+KHVuZGVmaW5lZCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3JlZnJlc2hMb2NhbGl6YXRpb25zJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVsbD4obnVsbCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2xvY2FsaXphdGlvblRyYW5zbGF0aW9ucyQgPSB0aGlzLl9yZWZyZXNoTG9jYWxpemF0aW9ucyQucGlwZShcbiAgICB0YXAoKCkgPT4gdGhpcy5sb2FkaW5nJC5uZXh0KHRydWUpKSxcbiAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5sb2NhbGl6YXRpb25TZXJ2aWNlLmdldE1lcmdlZExvY2FsaXphdGlvbnMoKSksXG4gICAgdGFwKCgpID0+IHRoaXMubG9hZGluZyQubmV4dChmYWxzZSkpXG4gICk7XG5cbiAgcHJpdmF0ZSBfZGVmYXVsdFZhbHVlczogQXJyYXk8TXVsdGlJbnB1dEtleVZhbHVlPiA9IFtdO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2NoYW5nZWRWYWx1ZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNdWx0aUlucHV0T3V0cHV0Pih1bmRlZmluZWQpO1xuXG4gIHB1YmxpYyByZWFkb25seSBzaG93Q29uZmlybWF0aW9uTW9kYWwkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG5cbiAgcHVibGljIHJlYWRvbmx5IHZhbHVlc0NoYW5nZWQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5fY2hhbmdlZFZhbHVlcyQucGlwZShcbiAgICBtYXAoY2hhbmdlZFZhbHVlcyA9PiAhaXNFcXVhbChjaGFuZ2VkVmFsdWVzLCB0aGlzLl9kZWZhdWx0VmFsdWVzKSlcbiAgKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgbG9jYWxpemF0aW9uVHJhbnNsYXRpb25WYWx1ZXMkOiBPYnNlcnZhYmxlPEFycmF5PE11bHRpSW5wdXRLZXlWYWx1ZT4+ID1cbiAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuX2xhbmd1YWdlT3B0aW9ucyQsXG4gICAgICB0aGlzLl9sb2NhbGl6YXRpb25UcmFuc2xhdGlvbnMkLFxuICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnN0cmVhbSgna2V5JyksXG4gICAgXSkucGlwZShcbiAgICAgIG1hcCgoW2xhbmd1YWdlT3B0aW9ucywgbG9jYWxpemF0aW9uVHJhbnNsYXRpb25zXSkgPT5cbiAgICAgICAgdGhpcy5tYXBNZXJnZWRMb2NhbGl6YXRpb25zVG9NdWx0aUlucHV0KGxhbmd1YWdlT3B0aW9ucywgbG9jYWxpemF0aW9uVHJhbnNsYXRpb25zKVxuICAgICAgKSxcbiAgICAgIHRhcChkZWZhdWx0VmFsdWVzID0+IHtcbiAgICAgICAgdGhpcy5fZGVmYXVsdFZhbHVlcyA9IGRlZmF1bHRWYWx1ZXM7XG4gICAgICB9KVxuICAgICk7XG5cbiAgcHVibGljIHJlYWRvbmx5IG11bHRpSW5wdXRUaWxlcyQ6IE9ic2VydmFibGU8QXJiaXRyYXJ5SW5wdXRUaXRsZXM+ID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy5fbGFuZ3VhZ2VPcHRpb25zJCxcbiAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2Uuc3RyZWFtKCdrZXknKSxcbiAgXSkucGlwZShcbiAgICBtYXAoKFtsYW5ndWFnZU9wdGlvbnNdKSA9PiB7XG4gICAgICBjb25zdCBvYmpUb1JldHVybiA9IHt9O1xuICAgICAgb2JqVG9SZXR1cm5bMF0gPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnbGlzdENvbHVtbi5rZXknKTtcblxuICAgICAgbGFuZ3VhZ2VPcHRpb25zLmZvckVhY2goKGxhbmd1YWdlT3B0aW9uLCBpbmRleCkgPT4ge1xuICAgICAgICBvYmpUb1JldHVybltpbmRleCArIDFdID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXG4gICAgICAgICAgYHNldHRpbmdzLmxhbmd1YWdlLm9wdGlvbnMuJHtsYW5ndWFnZU9wdGlvbn1gXG4gICAgICAgICk7XG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIG9ialRvUmV0dXJuO1xuICAgIH0pXG4gICk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGFtb3VudE9mQXJiaXRyYXJ5VmFsdWVzJDogT2JzZXJ2YWJsZTxudW1iZXI+ID0gdGhpcy5tdWx0aUlucHV0VGlsZXMkLnBpcGUoXG4gICAgbWFwKG11bHRpSW5wdXRUaXRsZXMgPT4gT2JqZWN0LmtleXMobXVsdGlJbnB1dFRpdGxlcykubGVuZ3RoKVxuICApO1xuXG4gIHB1YmxpYyByZWFkb25seSBjb21wYWN0TW9kZSQgPSB0aGlzLnBhZ2VIZWFkZXJTZXJ2aWNlLmNvbXBhY3RNb2RlJDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2NhbGl6YXRpb25TZXJ2aWNlOiBMb2NhbGl6YXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcGFnZUhlYWRlclNlcnZpY2U6IFBhZ2VIZWFkZXJTZXJ2aWNlLFxuICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnQ6IERvY3VtZW50XG4gICkge31cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRMYW5ndWFnZXMoKTtcbiAgfVxuXG4gIHB1YmxpYyB2YWxpZENoYW5nZSh2YWxpZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuYWxsQ2hhbmdlZFZhbHVlc1ZhbGlkJC5uZXh0KHZhbGlkKTtcbiAgfVxuXG4gIHB1YmxpYyB2YWx1ZUNoYW5nZSh2YWx1ZTogTXVsdGlJbnB1dE91dHB1dCk6IHZvaWQge1xuICAgIHRoaXMuX2NoYW5nZWRWYWx1ZXMkLm5leHQodmFsdWUpO1xuICB9XG5cbiAgcHVibGljIHNhdmVBbmRSZWZyZXNoKCk6IHZvaWQge1xuICAgIHRoaXMuc2F2ZUNoYW5nZXModHJ1ZSk7XG4gIH1cblxuICBwdWJsaWMgc2F2ZUFuZFN0YXkoKTogdm9pZCB7XG4gICAgdGhpcy5zYXZlQ2hhbmdlcygpO1xuICB9XG5cbiAgcHVibGljIGNhbmNlbCgpOiB2b2lkIHtcbiAgICB0aGlzLmhpZGVNb2RhbCgpO1xuICB9XG5cbiAgcHVibGljIHNob3dNb2RhbCgpOiB2b2lkIHtcbiAgICB0aGlzLnNob3dDb25maXJtYXRpb25Nb2RhbCQubmV4dCh0cnVlKTtcbiAgfVxuXG4gIHB1YmxpYyBzYXZlQ2hhbmdlcyhyZWxvYWQgPSBmYWxzZSk6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZSgpO1xuXG4gICAgY29tYmluZUxhdGVzdChbdGhpcy5fY2hhbmdlZFZhbHVlcyQsIHRoaXMuX2xhbmd1YWdlT3B0aW9ucyRdKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2UoMSksXG4gICAgICAgIG1hcCgoW2NoYW5nZWRWYWx1ZXMsIGxhbmd1YWdlT3B0aW9uc10pID0+XG4gICAgICAgICAgdGhpcy5nZXRMb2NhbGl6YXRpb25zRm9yVXBkYXRlUmVxdWVzdChjaGFuZ2VkVmFsdWVzLCBsYW5ndWFnZU9wdGlvbnMpXG4gICAgICAgICksXG4gICAgICAgIHN3aXRjaE1hcCh1cGRhdGVkTG9jYWxpemF0aW9ucyA9PlxuICAgICAgICAgIHRoaXMubG9jYWxpemF0aW9uU2VydmljZS51cGRhdGVMb2NhbGl6YXRpb25zKHVwZGF0ZWRMb2NhbGl6YXRpb25zKVxuICAgICAgICApXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgaWYgKHJlbG9hZCkge1xuICAgICAgICAgIHRoaXMuZG9jdW1lbnQ/LmRlZmF1bHRWaWV3Py5sb2NhdGlvbj8ucmVsb2FkKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5fcmVmcmVzaExvY2FsaXphdGlvbnMkLm5leHQobnVsbCk7XG4gICAgICAgICAgdGhpcy5lbmFibGUoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNldExhbmd1YWdlcygpOiB2b2lkIHtcbiAgICB0aGlzLl9sYW5ndWFnZU9wdGlvbnMkLm5leHQodGhpcy50cmFuc2xhdGVTZXJ2aWNlLmxhbmdzKTtcbiAgfVxuXG4gIHByaXZhdGUgZGlzYWJsZSgpOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkJC5uZXh0KHRydWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbmFibGUoKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCQubmV4dChmYWxzZSk7XG4gIH1cblxuICBwcml2YXRlIGhpZGVNb2RhbCgpOiB2b2lkIHtcbiAgICB0aGlzLnNob3dDb25maXJtYXRpb25Nb2RhbCQubmV4dChmYWxzZSk7XG4gIH1cblxuICBwcml2YXRlIGZsYXR0ZW5PYmplY3Qob2I6IG9iamVjdCk6IG9iamVjdCB7XG4gICAgY29uc3QgdG9SZXR1cm4gPSB7fTtcblxuICAgIGZvciAoY29uc3QgaSBpbiBvYikge1xuICAgICAgaWYgKCFvYi5oYXNPd25Qcm9wZXJ0eShpKSkgY29udGludWU7XG5cbiAgICAgIGlmICh0eXBlb2Ygb2JbaV0gPT0gJ29iamVjdCcgJiYgb2JbaV0gIT09IG51bGwpIHtcbiAgICAgICAgY29uc3QgZmxhdE9iamVjdCA9IHRoaXMuZmxhdHRlbk9iamVjdChvYltpXSk7XG4gICAgICAgIGZvciAoY29uc3QgeCBpbiBmbGF0T2JqZWN0KSB7XG4gICAgICAgICAgaWYgKCFmbGF0T2JqZWN0Lmhhc093blByb3BlcnR5KHgpKSBjb250aW51ZTtcblxuICAgICAgICAgIHRvUmV0dXJuW2kgKyAnLicgKyB4XSA9IGZsYXRPYmplY3RbeF07XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRvUmV0dXJuW2ldID0gb2JbaV07XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0b1JldHVybjtcbiAgfVxuXG4gIHByaXZhdGUgdW5mbGF0dGVuT2JqZWN0KG9iajogb2JqZWN0LCBkZWxpbWl0ZXIgPSAnLicpOiBvYmplY3Qge1xuICAgIHJldHVybiBPYmplY3Qua2V5cyhvYmopLnJlZHVjZSgocmVzLCBrKSA9PiB7XG4gICAgICBrLnNwbGl0KGRlbGltaXRlcikucmVkdWNlKFxuICAgICAgICAoYWNjLCBlLCBpLCBrZXlzKSA9PlxuICAgICAgICAgIGFjY1tlXSB8fFxuICAgICAgICAgIChhY2NbZV0gPSBpc05hTihOdW1iZXIoa2V5c1tpICsgMV0pKSA/IChrZXlzLmxlbmd0aCAtIDEgPT09IGkgPyBvYmpba10gOiB7fSkgOiBbXSksXG4gICAgICAgIHJlc1xuICAgICAgKTtcbiAgICAgIHJldHVybiByZXM7XG4gICAgfSwge30pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRMb2NhbGl6YXRpb25zRm9yVXBkYXRlUmVxdWVzdChcbiAgICBjaGFuZ2VkVmFsdWVzOiBNdWx0aUlucHV0T3V0cHV0LFxuICAgIGxhbmd1YWdlT3B0aW9uczogc3RyaW5nW11cbiAgKTogTG9jYWxpemF0aW9uW10ge1xuICAgIGNvbnN0IGxvY2FsaXphdGlvbnM6IExvY2FsaXphdGlvbltdID0gW107XG4gICAgY29uc3QgdHJhbnNsYXRpb25PYmplY3QgPSB7fTtcblxuICAgIGxhbmd1YWdlT3B0aW9ucy5mb3JFYWNoKGxhbmd1YWdlT3B0aW9uID0+IHtcbiAgICAgIHRyYW5zbGF0aW9uT2JqZWN0W2xhbmd1YWdlT3B0aW9uXSA9IHt9O1xuICAgIH0pO1xuXG4gICAgY2hhbmdlZFZhbHVlcy5mb3JFYWNoKGNoYW5nZWRWYWx1ZSA9PiB7XG4gICAgICBsYW5ndWFnZU9wdGlvbnMuZm9yRWFjaCgobGFuZ3VhZ2VPcHRpb24sIGluZGV4KSA9PiB7XG4gICAgICAgIHRyYW5zbGF0aW9uT2JqZWN0W2xhbmd1YWdlT3B0aW9uXSA9IHtcbiAgICAgICAgICAuLi50cmFuc2xhdGlvbk9iamVjdFtsYW5ndWFnZU9wdGlvbl0sXG4gICAgICAgICAgW2NoYW5nZWRWYWx1ZVswXV06IGNoYW5nZWRWYWx1ZVtpbmRleCArIDFdLFxuICAgICAgICB9O1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBsYW5ndWFnZU9wdGlvbnMuZm9yRWFjaChsYW5ndWFnZU9wdGlvbiA9PiB7XG4gICAgICB0cmFuc2xhdGlvbk9iamVjdFtsYW5ndWFnZU9wdGlvbl0gPSB0aGlzLnVuZmxhdHRlbk9iamVjdCh0cmFuc2xhdGlvbk9iamVjdFtsYW5ndWFnZU9wdGlvbl0pO1xuICAgIH0pO1xuXG4gICAgT2JqZWN0LmtleXModHJhbnNsYXRpb25PYmplY3QpLmZvckVhY2gobGFuZ3VhZ2VLZXkgPT4ge1xuICAgICAgbG9jYWxpemF0aW9ucy5wdXNoKHtsYW5ndWFnZUtleSwgY29udGVudDogdHJhbnNsYXRpb25PYmplY3RbbGFuZ3VhZ2VLZXldfSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gbG9jYWxpemF0aW9ucztcbiAgfVxuXG4gIHByaXZhdGUgbWFwTWVyZ2VkTG9jYWxpemF0aW9uc1RvTXVsdGlJbnB1dChcbiAgICBsYW5ndWFnZU9wdGlvbnM6IHN0cmluZ1tdLFxuICAgIG1lcmdlZExvY2FsaXphdGlvbnM6IE1lcmdlZExvY2FsaXphdGlvbnNcbiAgKSB7XG4gICAgaWYgKE9iamVjdC5rZXlzKG1lcmdlZExvY2FsaXphdGlvbnMpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIGNvbnN0IGZpcnN0TGFuZ3VhZ2VPcHRpb24gPSBsYW5ndWFnZU9wdGlvbnNbMF07XG4gICAgY29uc3QgZmlyc3RMYW5ndWFnZVRyYW5zbGF0aW9ucyA9XG4gICAgICBmaXJzdExhbmd1YWdlT3B0aW9uICYmIG1lcmdlZExvY2FsaXphdGlvbnNbZmlyc3RMYW5ndWFnZU9wdGlvbl07XG4gICAgY29uc3QgZmxhdHRlbmVkRmlyc3RMYW5ndWFnZVRyYW5zbGF0aW9ucyA9XG4gICAgICBmaXJzdExhbmd1YWdlVHJhbnNsYXRpb25zICYmIHRoaXMuZmxhdHRlbk9iamVjdChmaXJzdExhbmd1YWdlVHJhbnNsYXRpb25zKTtcblxuICAgIHJldHVybiBPYmplY3Qua2V5cyhmbGF0dGVuZWRGaXJzdExhbmd1YWdlVHJhbnNsYXRpb25zKS5tYXAoZmxhdHRlbmVkVHJhbnNsYXRpb25LZXkgPT4ge1xuICAgICAgY29uc3QgZW1wdHlBcmJpdHJhcnlWYWx1ZSA9IHt9O1xuXG4gICAgICBlbXB0eUFyYml0cmFyeVZhbHVlWycwJ10gPSBmbGF0dGVuZWRUcmFuc2xhdGlvbktleTtcblxuICAgICAgbGFuZ3VhZ2VPcHRpb25zLmZvckVhY2goKGxhbmd1YWdlT3B0aW9uLCBpbmRleCkgPT4ge1xuICAgICAgICBlbXB0eUFyYml0cmFyeVZhbHVlW2Ake2luZGV4ICsgMX1gXSA9XG4gICAgICAgICAgdGhpcy5mbGF0dGVuT2JqZWN0KG1lcmdlZExvY2FsaXphdGlvbnNbbGFuZ3VhZ2VPcHRpb25dKVtmbGF0dGVuZWRUcmFuc2xhdGlvbktleV0gfHwgJyc7XG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIGVtcHR5QXJiaXRyYXJ5VmFsdWU7XG4gICAgfSk7XG4gIH1cbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cblxuPG5nLWNvbnRhaW5lclxuICAqbmdJZj1cIntcbiAgICBsb2NhbGl6YXRpb25UcmFuc2xhdGlvblZhbHVlczogbG9jYWxpemF0aW9uVHJhbnNsYXRpb25WYWx1ZXMkIHwgYXN5bmMsXG4gICAgbG9hZGluZzogbG9hZGluZyQgfCBhc3luYyxcbiAgICBkaXNhYmxlZDogZGlzYWJsZWQkIHwgYXN5bmMsXG4gICAgbXVsdGlJbnB1dFRpdGxlczogbXVsdGlJbnB1dFRpbGVzJCB8IGFzeW5jLFxuICAgIGFtb3VudE9mQXJiaXRyYXJ5VmFsdWVzOiBhbW91bnRPZkFyYml0cmFyeVZhbHVlcyQgfCBhc3luYyxcbiAgICBzaG93Q29uZmlybWF0aW9uTW9kYWw6IHNob3dDb25maXJtYXRpb25Nb2RhbCQsXG4gICAgYWxsQ2hhbmdlZFZhbHVlc1ZhbGlkOiBhbGxDaGFuZ2VkVmFsdWVzVmFsaWQkIHwgYXN5bmMsXG4gICAgdmFsdWVzQ2hhbmdlZDogdmFsdWVzQ2hhbmdlZCQgfCBhc3luYyxcbiAgICBjb21wYWN0TW9kZTogY29tcGFjdE1vZGUkIHwgYXN5bmMsXG4gIH0gYXMgb2JzXCJcbj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFvYnMubG9hZGluZyAmJiBvYnMubG9jYWxpemF0aW9uVHJhbnNsYXRpb25WYWx1ZXM7IGVsc2UgbG9hZGluZ1wiPlxuICAgIDx2YWx0aW1vLWNhcmJvbi1tdWx0aS1pbnB1dFxuICAgICAgW2Rpc2FibGVkXT1cIm9icy5kaXNhYmxlZFwiXG4gICAgICBbYXJiaXRyYXJ5QW1vdW50VGl0bGVzXT1cIm9icy5tdWx0aUlucHV0VGl0bGVzXCJcbiAgICAgIFtmdWxsV2lkdGhdPVwidHJ1ZVwiXG4gICAgICBbbWluaW11bUFtb3VudE9mUm93c109XCIwXCJcbiAgICAgIHR5cGU9XCJhcmJpdHJhcnlBbW91bnRcIlxuICAgICAgW2FyYml0cmFyeVZhbHVlQW1vdW50XT1cIm9icy5hbW91bnRPZkFyYml0cmFyeVZhbHVlc1wiXG4gICAgICBbZGVmYXVsdFZhbHVlc109XCJvYnMubG9jYWxpemF0aW9uVHJhbnNsYXRpb25WYWx1ZXNcIlxuICAgICAgKGFsbFZhbHVlc1ZhbGlkRXZlbnQpPVwidmFsaWRDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAodmFsdWVDaGFuZ2UpPVwidmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICBhZGRSb3dUcmFuc2xhdGlvbktleT1cInRyYW5zbGF0aW9uTWFuYWdlbWVudC5hZGRcIlxuICAgID48L3ZhbHRpbW8tY2FyYm9uLW11bHRpLWlucHV0PlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8bmctdGVtcGxhdGUgI2xvYWRpbmc+XG4gICAgPGRpdiBjbGFzcz1cImxvYWRpbmctY29udGFpbmVyXCI+PGNkcy1sb2FkaW5nPjwvY2RzLWxvYWRpbmc+PC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG5cbiAgPHZhbHRpbW8tY29uZmlybWF0aW9uLW1vZGFsXG4gICAgW3Nob3dNb2RhbFN1YmplY3QkXT1cIm9icy5zaG93Q29uZmlybWF0aW9uTW9kYWxcIlxuICAgIChjb25maXJtRXZlbnQpPVwic2F2ZUFuZFJlZnJlc2goKVwiXG4gICAgKG9wdGlvbmFsRXZlbnQpPVwic2F2ZUFuZFN0YXkoKVwiXG4gICAgKGNhbmNlbEV2ZW50KT1cImNhbmNlbCgpXCJcbiAgICBbc2hvd09wdGlvbmFsQnV0dG9uXT1cInRydWVcIlxuICAgIGNhbmNlbEJ1dHRvblR5cGU9XCJnaG9zdFwiXG4gICAgb3B0aW9uYWxCdXR0b25UeXBlPVwic2Vjb25kYXJ5XCJcbiAgICBjb25maXJtQnV0dG9uVGV4dFRyYW5zbGF0aW9uS2V5PVwidHJhbnNsYXRpb25NYW5hZ2VtZW50LnNhdmVXaXRoUmVsb2FkXCJcbiAgICBvcHRpb25hbEJ1dHRvblRleHRUcmFuc2xhdGlvbktleT1cInRyYW5zbGF0aW9uTWFuYWdlbWVudC5zYXZlV2l0aG91dFJlbG9hZFwiXG4gICAgdGl0bGVUcmFuc2xhdGlvbktleT1cInRyYW5zbGF0aW9uTWFuYWdlbWVudC5tb2RhbFRpdGxlXCJcbiAgICBjb250ZW50VHJhbnNsYXRpb25LZXk9XCJ0cmFuc2xhdGlvbk1hbmFnZW1lbnQubW9kYWxDb250ZW50XCJcbiAgICBbc3BhY2VyQWZ0ZXJDYW5jZWxCdXR0b25dPVwidHJ1ZVwiXG4gID48L3ZhbHRpbW8tY29uZmlybWF0aW9uLW1vZGFsPlxuXG4gIDxuZy1jb250YWluZXIgcmVuZGVySW5QYWdlSGVhZGVyPlxuICAgIDxuZy10ZW1wbGF0ZT5cbiAgICAgIDxidXR0b25cbiAgICAgICAgY2RzQnV0dG9uPVwicHJpbWFyeVwiXG4gICAgICAgIFtzaXplXT1cIm9icy5jb21wYWN0TW9kZSA/ICdzbScgOiAnbWQnXCJcbiAgICAgICAgKGNsaWNrKT1cInNob3dNb2RhbCgpXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cIiFvYnMuYWxsQ2hhbmdlZFZhbHVlc1ZhbGlkIHx8IG9icy5kaXNhYmxlZCB8fCAhb2JzLnZhbHVlc0NoYW5nZWRcIlxuICAgICAgPlxuICAgICAgICB7eyAnaW50ZXJmYWNlLnNhdmUnIHwgdHJhbnNsYXRlIH19XG5cbiAgICAgICAgPHN2ZyBjbGFzcz1cImNkcy0tYnRuX19pY29uXCIgY2RzSWNvbj1cInNhdmVcIiBzaXplPVwiMTZcIj48L3N2Zz5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
|