@veloceapps/sdk 7.0.2-2 → 7.0.2-21
Sign up to get free protection for your applications and to get access to all the features.
- package/cms/cms.actions.d.ts +7 -1
- package/cms/components/element-children/element-children.component.d.ts +3 -1
- package/cms/components/element-tools-panel/element-tools-panel.component.d.ts +14 -0
- package/cms/components/preview/preview.module.d.ts +2 -1
- package/cms/components/preview/preview.types.d.ts +4 -0
- package/cms/injection-tokens.d.ts +1 -3
- package/cms/modules/runtime/services/compilation.service.d.ts +2 -1
- package/cms/modules/runtime/services/runtime-editor.service.d.ts +6 -4
- package/cms/modules/runtime/types/runtime.actions.d.ts +5 -2
- package/cms/plugins/element-hover.plugin.d.ts +32 -0
- package/cms/plugins/script.plugin.d.ts +0 -3
- package/cms/types/common.types.d.ts +11 -1
- package/cms/types/index.d.ts +2 -0
- package/cms/types/layouts.types.d.ts +28 -2
- package/cms/types/pages.types.d.ts +1 -0
- package/cms/utils/elements-resolver.d.ts +5 -1
- package/cms/utils/script.utils.d.ts +2 -0
- package/cms/vendor-map.d.ts +7 -5
- package/core/modules/configuration/services/configuration.service.d.ts +3 -3
- package/core/types/ui-definition.types.d.ts +7 -2
- package/core/utils/line-item.utils.d.ts +4 -2
- package/core/utils/line-item.worker.d.ts +2 -2
- package/esm2020/cms/cms.actions.mjs +11 -2
- package/esm2020/cms/cms.elements.mjs +14 -3
- package/esm2020/cms/cms.layouts.mjs +39 -1
- package/esm2020/cms/components/element-children/element-children.component.mjs +11 -6
- package/esm2020/cms/components/element-drop-handle/element-drop-handle.component.mjs +2 -2
- package/esm2020/cms/components/element-tools-panel/element-tools-panel.component.mjs +35 -0
- package/esm2020/cms/components/preview/preview.module.mjs +22 -4
- package/esm2020/cms/components/preview/preview.types.mjs +1 -1
- package/esm2020/cms/injection-tokens.mjs +1 -2
- package/esm2020/cms/modules/runtime/services/compilation.service.mjs +3 -3
- package/esm2020/cms/modules/runtime/services/runtime-editor.service.mjs +5 -3
- package/esm2020/cms/modules/runtime/services/runtime.service.mjs +2 -2
- package/esm2020/cms/modules/runtime/types/runtime.actions.mjs +1 -1
- package/esm2020/cms/plugins/element-hover.plugin.mjs +112 -0
- package/esm2020/cms/plugins/script.plugin.mjs +6 -40
- package/esm2020/cms/services/integration.state.mjs +3 -6
- package/esm2020/cms/services/io-provider.service.mjs +7 -5
- package/esm2020/cms/types/common.types.mjs +1 -1
- package/esm2020/cms/types/index.mjs +3 -1
- package/esm2020/cms/types/layouts.types.mjs +70 -1
- package/esm2020/cms/types/pages.types.mjs +2 -0
- package/esm2020/cms/utils/elements-resolver.mjs +22 -8
- package/esm2020/cms/utils/script.utils.mjs +42 -0
- package/esm2020/cms/vendor-map.mjs +3 -2
- package/esm2020/core/modules/configuration/services/configuration.service.mjs +6 -5
- package/esm2020/core/types/ui-definition.types.mjs +1 -1
- package/esm2020/core/utils/line-item.utils.mjs +35 -16
- package/esm2020/core/utils/line-item.worker.mjs +5 -5
- package/esm2020/src/components/header/header.component.mjs +15 -3
- package/esm2020/src/flow-routing.module.mjs +1 -1
- package/fesm2015/veloceapps-sdk-cms.mjs +343 -108
- package/fesm2015/veloceapps-sdk-cms.mjs.map +1 -1
- package/fesm2015/veloceapps-sdk-core.mjs +46 -24
- package/fesm2015/veloceapps-sdk-core.mjs.map +1 -1
- package/fesm2015/veloceapps-sdk.mjs +15 -2
- package/fesm2015/veloceapps-sdk.mjs.map +1 -1
- package/fesm2020/veloceapps-sdk-cms.mjs +424 -122
- package/fesm2020/veloceapps-sdk-cms.mjs.map +1 -1
- package/fesm2020/veloceapps-sdk-core.mjs +46 -24
- package/fesm2020/veloceapps-sdk-core.mjs.map +1 -1
- package/fesm2020/veloceapps-sdk.mjs +14 -2
- package/fesm2020/veloceapps-sdk.mjs.map +1 -1
- package/package.json +1 -1
package/cms/cms.actions.d.ts
CHANGED
@@ -26,11 +26,17 @@ export declare const SwitchObjectAction: (payload: {
|
|
26
26
|
}) => IntegrationAction;
|
27
27
|
export declare namespace CmsAction {
|
28
28
|
const GO_TO_PAGE = "[CMS]_GO_TO_PAGE";
|
29
|
+
const UPDATE_CUSTOMIZATION = "[CMS]_UPDATE_CUSTOMIZATION";
|
29
30
|
/**
|
30
31
|
* Navigate UI definition to a specific page
|
31
32
|
*
|
32
33
|
* @param pageName name of the page
|
33
|
-
* @returns void
|
34
34
|
*/
|
35
35
|
const GoToPage: (pageName: string) => IntegrationAction;
|
36
|
+
/**
|
37
|
+
* Update UI definition customization state
|
38
|
+
*
|
39
|
+
* @param pageName name of the page
|
40
|
+
*/
|
41
|
+
const UpdateCustomization: (value: any) => IntegrationAction;
|
36
42
|
}
|
@@ -10,11 +10,13 @@ export declare class ElementChildrenComponent implements OnDestroy {
|
|
10
10
|
private runtimeService;
|
11
11
|
private runtimeEditorService;
|
12
12
|
private cdr;
|
13
|
+
filter?: (elements: ElementMetadata[]) => ElementMetadata[];
|
13
14
|
metadata$: Observable<ElementMetadata | undefined>;
|
14
15
|
dragMode$: Observable<boolean>;
|
15
16
|
private destroyed$;
|
16
17
|
constructor(elementContext: ElementContextService, runtimeService: RuntimeService, runtimeEditorService: RuntimeEditorService, cdr: ChangeDetectorRef);
|
17
18
|
ngOnDestroy(): void;
|
19
|
+
getFilteredChildren(elements: ElementMetadata[]): ElementMetadata[];
|
18
20
|
static ɵfac: i0.ɵɵFactoryDeclaration<ElementChildrenComponent, never>;
|
19
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ElementChildrenComponent, "element-children", never, {}, {}, never, never, false, never>;
|
21
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ElementChildrenComponent, "element-children", never, { "filter": "filter"; }, {}, never, never, false, never>;
|
20
22
|
}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
import { RuntimeEditorService } from '../../modules/runtime';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
export declare class ElementToolsPanelComponent {
|
4
|
+
private readonly metadata;
|
5
|
+
private readonly config;
|
6
|
+
private readonly elementRef;
|
7
|
+
runtimeEditorService?: RuntimeEditorService;
|
8
|
+
showDeleteButton: boolean;
|
9
|
+
constructor();
|
10
|
+
deleteHandler(): void;
|
11
|
+
showSettingsHandler(): void;
|
12
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ElementToolsPanelComponent, never>;
|
13
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ElementToolsPanelComponent, "ng-component", never, {}, {}, never, never, true, never>;
|
14
|
+
}
|
@@ -5,8 +5,9 @@ import * as i3 from "@veloceapps/components";
|
|
5
5
|
import * as i4 from "../element-renderer/element-renderer.module";
|
6
6
|
import * as i5 from "../element-children/element-children.module";
|
7
7
|
import * as i6 from "../element-drop-handle/element-drop-handle.module";
|
8
|
+
import * as i7 from "../element-tools-panel/element-tools-panel.component";
|
8
9
|
export declare class PreviewModule {
|
9
10
|
static ɵfac: i0.ɵɵFactoryDeclaration<PreviewModule, never>;
|
10
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<PreviewModule, [typeof i1.PreviewComponent], [typeof i2.CommonModule, typeof i3.LoaderModule, typeof i4.ElementRendererModule, typeof i5.ElementChildrenModule, typeof i6.ElementDropHandleModule], [typeof i1.PreviewComponent]>;
|
11
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<PreviewModule, [typeof i1.PreviewComponent], [typeof i2.CommonModule, typeof i3.LoaderModule, typeof i4.ElementRendererModule, typeof i5.ElementChildrenModule, typeof i6.ElementDropHandleModule, typeof i7.ElementToolsPanelComponent], [typeof i1.PreviewComponent]>;
|
11
12
|
static ɵinj: i0.ɵɵInjectorDeclaration<PreviewModule>;
|
12
13
|
}
|
@@ -1,11 +1,9 @@
|
|
1
1
|
import { InjectionToken } from '@angular/core';
|
2
2
|
import { UIDefinitionMetadata } from '@veloceapps/sdk/core';
|
3
|
-
import { Dictionary } from 'lodash';
|
4
3
|
import { Plugin } from './engine/models/plugin';
|
5
4
|
import { ElementConfig, ElementMetadata } from './types/common.types';
|
6
5
|
export declare const DEFAULT_PLUGINS_TOKEN: InjectionToken<(typeof Plugin)[]>;
|
7
6
|
export declare const UI_DEFINITION_METADATA: InjectionToken<UIDefinitionMetadata>;
|
8
7
|
export declare const ELEMENT_METADATA: InjectionToken<ElementMetadata>;
|
9
|
-
export declare const SHARED_ELEMENT_METADATA: InjectionToken<ElementMetadata>;
|
8
|
+
export declare const SHARED_ELEMENT_METADATA: InjectionToken<ElementMetadata | undefined>;
|
10
9
|
export declare const ELEMENT_CONFIG: InjectionToken<ElementConfig>;
|
11
|
-
export declare const VENDOR_MAP: InjectionToken<Dictionary<any>>;
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import { Injector } from '@angular/core';
|
2
2
|
import { UIDefinition } from '@veloceapps/sdk/core';
|
3
3
|
import { Observable } from 'rxjs';
|
4
|
+
import { CMSPreviewConfig } from '../../../components/preview';
|
4
5
|
import { CompilationResult } from '../../../modules/runtime/types/compilation.types';
|
5
6
|
import { ElementMetadata } from '../../../types/common.types';
|
6
7
|
import * as i0 from "@angular/core";
|
@@ -9,7 +10,7 @@ export declare class CompilationService {
|
|
9
10
|
private uiDefinitionMeta?;
|
10
11
|
private elementsResolver?;
|
11
12
|
constructor(injector: Injector);
|
12
|
-
compileUIDefinition$(uiDefinition: UIDefinition): Observable<CompilationResult>;
|
13
|
+
compileUIDefinition$(uiDefinition: UIDefinition, config?: CMSPreviewConfig): Observable<CompilationResult>;
|
13
14
|
compileElement$(element: ElementMetadata): Observable<CompilationResult>;
|
14
15
|
clear(): void;
|
15
16
|
private getModule;
|
@@ -1,15 +1,17 @@
|
|
1
1
|
import { Patch } from 'rfc6902';
|
2
2
|
import { BehaviorSubject, Observable, ReplaySubject } from 'rxjs';
|
3
|
-
import {
|
3
|
+
import { RuntimeElementDeleteEvent, RuntimeElementDropEvent, RuntimeShowSettingsEvent } from '../types/runtime.actions';
|
4
4
|
import { RuntimeService } from './runtime.service';
|
5
5
|
import * as i0 from "@angular/core";
|
6
6
|
export declare class RuntimeEditorService {
|
7
7
|
private runtimeService;
|
8
8
|
private editorModeSubj$;
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
onElementDropped$: ReplaySubject<RuntimeElementDropEvent>;
|
10
|
+
onElementDeleted$: ReplaySubject<RuntimeElementDeleteEvent>;
|
11
|
+
onElementSettingsToggled$: ReplaySubject<RuntimeShowSettingsEvent>;
|
12
12
|
editorMode$: Observable<boolean>;
|
13
|
+
dragMode$: BehaviorSubject<boolean>;
|
14
|
+
selectedElementPath$: BehaviorSubject<string | null>;
|
13
15
|
constructor(runtimeService: RuntimeService);
|
14
16
|
applyPatch$(patch: Patch): Observable<void>;
|
15
17
|
toggleEditorMode(): void;
|
@@ -1,9 +1,12 @@
|
|
1
1
|
import { ElementMetadata } from '../../../types';
|
2
|
-
export interface
|
2
|
+
export interface RuntimeElementDropEvent {
|
3
3
|
element: ElementMetadata;
|
4
4
|
path: string;
|
5
5
|
index: number;
|
6
6
|
}
|
7
|
-
export interface
|
7
|
+
export interface RuntimeElementDeleteEvent {
|
8
|
+
path: string;
|
9
|
+
}
|
10
|
+
export interface RuntimeShowSettingsEvent {
|
8
11
|
path: string;
|
9
12
|
}
|
@@ -0,0 +1,32 @@
|
|
1
|
+
import { OnDestroy } from '@angular/core';
|
2
|
+
import { ElementComponent } from '../components/element.component';
|
3
|
+
import { PluginComponent } from '../components/plugin.component';
|
4
|
+
import * as i0 from "@angular/core";
|
5
|
+
export declare class ElementHoverPlugin implements PluginComponent, OnDestroy {
|
6
|
+
host: ElementComponent;
|
7
|
+
private readonly hoverClassName;
|
8
|
+
private readonly metadata;
|
9
|
+
private readonly appRef;
|
10
|
+
private readonly el;
|
11
|
+
private readonly document;
|
12
|
+
private readonly runtimeEditorService;
|
13
|
+
private overlayEl?;
|
14
|
+
private isHovered$;
|
15
|
+
private isSelected$;
|
16
|
+
private destroyed$;
|
17
|
+
private mouseOverListenerBound;
|
18
|
+
private mouseLeaveListenerBound;
|
19
|
+
private clickListenerBound;
|
20
|
+
constructor(host: ElementComponent);
|
21
|
+
ngOnDestroy(): void;
|
22
|
+
private attachListeners;
|
23
|
+
private detachListeners;
|
24
|
+
private mouseOverListener;
|
25
|
+
private clickListener;
|
26
|
+
private mouseLeaveListener;
|
27
|
+
private addHighlight;
|
28
|
+
private removeHighlight;
|
29
|
+
private updateHighlight;
|
30
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ElementHoverPlugin, never>;
|
31
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<ElementHoverPlugin>;
|
32
|
+
}
|
@@ -3,11 +3,8 @@ import { PluginComponent } from '../components/plugin.component';
|
|
3
3
|
import * as i0 from "@angular/core";
|
4
4
|
export declare class ScriptPlugin implements PluginComponent {
|
5
5
|
host: ElementComponent;
|
6
|
-
private document;
|
7
|
-
private vendorMap;
|
8
6
|
constructor(host: ElementComponent);
|
9
7
|
private addScript;
|
10
|
-
private normalizeImports;
|
11
8
|
static ɵfac: i0.ɵɵFactoryDeclaration<ScriptPlugin, never>;
|
12
9
|
static ɵdir: i0.ɵɵDirectiveDeclaration<ScriptPlugin, never, never, {}, {}, never, never, false, never>;
|
13
10
|
}
|
@@ -2,7 +2,8 @@ import { Dictionary } from 'lodash';
|
|
2
2
|
import { Entity } from '../engine/models/entity';
|
3
3
|
import { Plugin } from '../engine/models/plugin';
|
4
4
|
import { PageLayout } from './layouts.types';
|
5
|
-
|
5
|
+
import { PageType } from './pages.types';
|
6
|
+
export type ELEMENT_TYPE = 'CUSTOMIZATION_PAGE' | 'CUSTOM' | 'CONTAINER' | 'SERVICE' | 'REFERENCE' | 'PAGE' | 'REGION';
|
6
7
|
export type ElementStyleDeclaration = Partial<CSSStyleDeclaration>;
|
7
8
|
export interface ElementConfig {
|
8
9
|
component: typeof Entity;
|
@@ -10,6 +11,9 @@ export interface ElementConfig {
|
|
10
11
|
defaultTemplate?: string;
|
11
12
|
suppressTemplate?: boolean;
|
12
13
|
suppressStyles?: boolean;
|
14
|
+
builder?: {
|
15
|
+
suppressRemovable?: boolean;
|
16
|
+
};
|
13
17
|
}
|
14
18
|
export interface ElementModel {
|
15
19
|
/**
|
@@ -104,6 +108,12 @@ export interface ElementDefaultMetadata {
|
|
104
108
|
* Used only when `type === PAGE`
|
105
109
|
*/
|
106
110
|
layout?: PageLayout;
|
111
|
+
/**
|
112
|
+
* Page Type
|
113
|
+
*
|
114
|
+
* Used only when `type === PAGE`
|
115
|
+
*/
|
116
|
+
pageType?: PageType;
|
107
117
|
}
|
108
118
|
export interface ElementMetadata extends Omit<ElementDefaultMetadata, 'children'> {
|
109
119
|
path: string;
|
package/cms/types/index.d.ts
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/**
|
2
|
-
* List of available layouts:
|
2
|
+
* List of available layouts for Full Page Type:
|
3
3
|
*
|
4
4
|
LAYOUT_1
|
5
5
|
+-------------------------+
|
@@ -66,9 +66,35 @@
|
|
66
66
|
| |
|
67
67
|
| |
|
68
68
|
+-------------------------+
|
69
|
+
*/
|
70
|
+
/**
|
71
|
+
* List of available layouts for Sidepanel Page Type:
|
72
|
+
*
|
73
|
+
LAYOUT_7
|
74
|
+
+-------------------------+
|
75
|
+
| | |
|
76
|
+
| | |
|
77
|
+
| LEFT | DISABLED |
|
78
|
+
| SIDE | PAGE |
|
79
|
+
| PANEL | |
|
80
|
+
| | |
|
81
|
+
| | |
|
82
|
+
+-------------------------+
|
69
83
|
|
84
|
+
LAYOUT_8
|
85
|
+
+-------------------------+
|
86
|
+
| | |
|
87
|
+
| | |
|
88
|
+
| DISABLED | RIGHT |
|
89
|
+
| PAGE | SIDE |
|
90
|
+
| | PANEL |
|
91
|
+
| | |
|
92
|
+
| | |
|
93
|
+
+-------------------------+
|
70
94
|
*/
|
71
|
-
export type
|
95
|
+
export type FullPageLayout = 'LAYOUT_1' | 'LAYOUT_2' | 'LAYOUT_3' | 'LAYOUT_4' | 'LAYOUT_5' | 'LAYOUT_6';
|
96
|
+
export type SidepanelPageLayout = 'LAYOUT_7' | 'LAYOUT_8';
|
97
|
+
export type PageLayout = FullPageLayout | SidepanelPageLayout;
|
72
98
|
export interface PageLayoutConfig {
|
73
99
|
styles?: string;
|
74
100
|
}
|
@@ -0,0 +1 @@
|
|
1
|
+
export type PageType = 'FULL_PAGE' | 'SIDEPANEL';
|
@@ -1,13 +1,16 @@
|
|
1
1
|
import { Type } from '@angular/core';
|
2
2
|
import { UIDefinitionMetadata } from '@veloceapps/sdk/core';
|
3
|
+
import { CMSPreviewConfig } from '../components/preview';
|
3
4
|
import { Entity } from '../engine/models/entity';
|
4
5
|
import { ElementMetadata } from '../types';
|
5
6
|
export declare class ElementsResolver {
|
6
7
|
private uiDef;
|
8
|
+
private config?;
|
7
9
|
elements: ElementMetadata[];
|
8
10
|
private renderableElements;
|
9
11
|
private sharedElements;
|
10
|
-
|
12
|
+
private uiDefMetadata;
|
13
|
+
constructor(uiDef: UIDefinitionMetadata, elements: ElementMetadata[], sharedElements?: ElementMetadata[], config?: CMSPreviewConfig | undefined);
|
11
14
|
addElement(element: ElementMetadata): void;
|
12
15
|
getNgComponents(): Record<string, Type<Entity>>;
|
13
16
|
private transpile;
|
@@ -23,4 +26,5 @@ export declare class ElementsResolver {
|
|
23
26
|
private resolveElement;
|
24
27
|
private getElementStyles;
|
25
28
|
private convertInlineStylesToCSS;
|
29
|
+
private getDefaultCustomizationState;
|
26
30
|
}
|
package/cms/vendor-map.d.ts
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
import * as angularCore from '@angular/core';
|
2
2
|
import * as angularForms from '@angular/forms';
|
3
3
|
import { CatalogApiService, ConfigurationSettingsApiService, DeltaApiService, DocumentAttachmentApiService, DocumentTemplatesApiService, GuidedSellingApiService, PicklistsApiService, PriceApiService, QuoteApiService, RampApiService, SalesforceApiService, ShoppingCartSettingsApiService } from '@veloceapps/api';
|
4
|
-
import { ToastService } from '@veloceapps/components';
|
4
|
+
import { ToastService, ToastType } from '@veloceapps/components';
|
5
5
|
import { Operator, Predicate, parseJsonSafely } from '@veloceapps/core';
|
6
6
|
import { ConfigurationService, ContextService, FlowConfigurationService, LineItemWorker, ProductImagesService, QuoteDraftService } from '@veloceapps/sdk/core';
|
7
7
|
import lodash from 'lodash';
|
@@ -25,6 +25,7 @@ export declare const vendorMap: {
|
|
25
25
|
};
|
26
26
|
'@veloceapps/components': {
|
27
27
|
ToastService: typeof ToastService;
|
28
|
+
ToastType: typeof ToastType;
|
28
29
|
};
|
29
30
|
'@veloceapps/api': {
|
30
31
|
SalesforceApiService: typeof SalesforceApiService;
|
@@ -45,7 +46,7 @@ export declare const vendorMap: {
|
|
45
46
|
findLineItemWithComparator: (lineItems: import("@veloceapps/core").LineItem[], comparator: (li: import("@veloceapps/core").LineItem) => boolean) => import("@veloceapps/core").LineItem | undefined;
|
46
47
|
insertLineItem: (lineItem: import("@veloceapps/core").LineItem, parentId: string, toInsert: import("@veloceapps/core").LineItem) => import("@veloceapps/core").LineItem;
|
47
48
|
removeLineItem: (lineItem: import("@veloceapps/core").LineItem, idToRemove: string) => import("@veloceapps/core").LineItem;
|
48
|
-
replaceLineItem: (lineItem: import("@veloceapps/core").LineItem, replaceTo: import("@veloceapps/core").LineItem) => import("@veloceapps/core").LineItem;
|
49
|
+
replaceLineItem: (lineItem: import("@veloceapps/core").LineItem, replaceTo: import("@veloceapps/core").LineItem, skipCardinalityCalculation?: boolean | undefined) => import("@veloceapps/core").LineItem;
|
49
50
|
calculateCardinalityVariables: (lineItems: import("@veloceapps/core").LineItem[]) => Map<string, number>;
|
50
51
|
recalculateCardinalityVariables: (original: import("@veloceapps/core").LineItem, updated: import("@veloceapps/core").LineItem) => import("@veloceapps/core").LineItem;
|
51
52
|
mapAttributes: (attributes: import("@veloceapps/core").Attribute[]) => lodash.Dictionary<any>;
|
@@ -57,7 +58,7 @@ export declare const vendorMap: {
|
|
57
58
|
patchAttributes: (rootLineItem: import("@veloceapps/core").LineItem, id: string, attrs: {
|
58
59
|
name: string;
|
59
60
|
value: any;
|
60
|
-
}[]) => import("@veloceapps/core").LineItem;
|
61
|
+
}[], skipCardinalityCalculation?: boolean | undefined) => import("@veloceapps/core").LineItem;
|
61
62
|
getAttributeValue: (attributes: import("@veloceapps/core").Attribute[], name: string) => any;
|
62
63
|
generateLineItem: (port: string, type: string, parentId: string, attributes?: {
|
63
64
|
name: string;
|
@@ -68,6 +69,8 @@ export declare const vendorMap: {
|
|
68
69
|
list: number;
|
69
70
|
};
|
70
71
|
generateModifiedAssetsMap: (lineItems: import("@veloceapps/core").LineItem[]) => Record<string, boolean>;
|
72
|
+
getOriginParent: (lineItems: import("@veloceapps/core").LineItem[], currentLineItem: import("@veloceapps/core").LineItem) => import("@veloceapps/core").LineItem | undefined;
|
73
|
+
isLineItemModified: <T_1 extends Pick<import("@veloceapps/core").LineItem, "actionCode" | "status">>(lineItem: T_1) => boolean;
|
71
74
|
multiplyLineItems: (lineItem: import("@veloceapps/core").LineItem, qty: number, split: boolean) => import("@veloceapps/core").LineItem[];
|
72
75
|
ConfigurationService: typeof ConfigurationService;
|
73
76
|
QuoteDraftService: typeof QuoteDraftService;
|
@@ -99,9 +102,8 @@ export declare const vendorMap: {
|
|
99
102
|
DEFAULT_PLUGINS_TOKEN: angularCore.InjectionToken<typeof import("./engine/models/plugin").Plugin[]>;
|
100
103
|
UI_DEFINITION_METADATA: angularCore.InjectionToken<import("@veloceapps/sdk/core").UIDefinitionMetadata>;
|
101
104
|
ELEMENT_METADATA: angularCore.InjectionToken<import("@veloceapps/sdk/cms").ElementMetadata>;
|
102
|
-
SHARED_ELEMENT_METADATA: angularCore.InjectionToken<import("@veloceapps/sdk/cms").ElementMetadata>;
|
105
|
+
SHARED_ELEMENT_METADATA: angularCore.InjectionToken<import("@veloceapps/sdk/cms").ElementMetadata | undefined>;
|
103
106
|
ELEMENT_CONFIG: angularCore.InjectionToken<import("@veloceapps/sdk/cms").ElementConfig>;
|
104
|
-
VENDOR_MAP: angularCore.InjectionToken<lodash.Dictionary<any>>;
|
105
107
|
};
|
106
108
|
};
|
107
109
|
export type VendorMap = typeof vendorMap;
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { ConfigurationApiService } from '@veloceapps/api';
|
2
|
-
import { Charge, CompiledPricePlan, ConfigurationContext, LineItem, RuntimeModel } from '@veloceapps/core';
|
2
|
+
import { Charge, CompiledPricePlan, ConfigurationContext, LineItem, PatchLineItemOptions, RuntimeModel } from '@veloceapps/core';
|
3
3
|
import { Dictionary } from 'lodash';
|
4
4
|
import { MessageService } from 'primeng/api';
|
5
5
|
import { DialogService } from 'primeng/dynamicdialog';
|
@@ -24,8 +24,8 @@ export declare class ConfigurationService {
|
|
24
24
|
hasUnsavedChanges: boolean;
|
25
25
|
constructor(quoteDraftService: QuoteDraftService, runtimeService: ConfigurationRuntimeService, contextService: ContextService, configurationApiService: ConfigurationApiService, messageService: MessageService, dialogService: DialogService);
|
26
26
|
reset(): void;
|
27
|
-
patch$(lineItem: LineItem): Observable<LineItem>;
|
28
|
-
patch(lineItem: LineItem): void;
|
27
|
+
patch$(lineItem: LineItem, options?: PatchLineItemOptions): Observable<LineItem>;
|
28
|
+
patch(lineItem: LineItem, options?: PatchLineItemOptions): void;
|
29
29
|
setConfigurableRamp(lineItem: LineItem): void;
|
30
30
|
get(): Observable<LineItem | undefined>;
|
31
31
|
getSnapshot(): LineItem | undefined;
|
@@ -3,6 +3,10 @@ export declare const UI_DEFINITION_VERSION = 3;
|
|
3
3
|
export type UIExternalsType = Record<string, string | number | boolean>;
|
4
4
|
export interface UIDefinitionProps {
|
5
5
|
suppressToastMessages?: boolean;
|
6
|
+
/**
|
7
|
+
* When 'true', the Structure module in UI Builder is hidden
|
8
|
+
*/
|
9
|
+
simplifiedEditorMode?: boolean;
|
6
10
|
rootType?: string;
|
7
11
|
pricingEnabled?: boolean;
|
8
12
|
priceList?: string;
|
@@ -11,11 +15,12 @@ export interface UIDefinitionProps {
|
|
11
15
|
export interface UIDefinitionMetadata {
|
12
16
|
name: string;
|
13
17
|
type: UIDefinitionType;
|
14
|
-
properties?: UIDefinitionProps;
|
15
18
|
primary: boolean;
|
19
|
+
version: number;
|
16
20
|
createdTimestamp: number;
|
21
|
+
properties?: UIDefinitionProps;
|
17
22
|
externals?: UIExternalsType;
|
18
|
-
|
23
|
+
customization?: any;
|
19
24
|
}
|
20
25
|
export interface UIDefinition extends UIDefinitionMetadata {
|
21
26
|
/**
|
@@ -4,7 +4,7 @@ export declare const findLineItem: (id: string, lineItems: LineItem[]) => LineIt
|
|
4
4
|
export declare const findLineItemWithComparator: (lineItems: LineItem[], comparator: (li: LineItem) => boolean) => LineItem | undefined;
|
5
5
|
export declare const insertLineItem: (lineItem: LineItem, parentId: string, toInsert: LineItem) => LineItem;
|
6
6
|
export declare const removeLineItem: (lineItem: LineItem, idToRemove: string) => LineItem;
|
7
|
-
export declare const replaceLineItem: (lineItem: LineItem, replaceTo: LineItem) => LineItem;
|
7
|
+
export declare const replaceLineItem: (lineItem: LineItem, replaceTo: LineItem, skipCardinalityCalculation?: boolean) => LineItem;
|
8
8
|
export declare const calculateCardinalityVariables: (lineItems: LineItem[]) => Map<string, number>;
|
9
9
|
export declare const recalculateCardinalityVariables: (original: LineItem, updated: LineItem) => LineItem;
|
10
10
|
export declare const mapAttributes: (attributes: Attribute[]) => Dictionary<any>;
|
@@ -16,7 +16,7 @@ export declare const upsertAttributes: (originalAttributes: Attribute[], attribu
|
|
16
16
|
export declare const patchAttributes: (rootLineItem: LineItem, id: string, attrs: {
|
17
17
|
name: string;
|
18
18
|
value: any;
|
19
|
-
}[]) => LineItem;
|
19
|
+
}[], skipCardinalityCalculation?: boolean) => LineItem;
|
20
20
|
export declare const getAttributeValue: (attributes: Attribute[], name: string) => any;
|
21
21
|
export declare const generateLineItem: (port: string, type: string, parentId: string, attributes?: {
|
22
22
|
name: string;
|
@@ -27,4 +27,6 @@ export declare const getRecommendedPrices: (portDomain: PortDomain, type: string
|
|
27
27
|
list: number;
|
28
28
|
};
|
29
29
|
export declare const generateModifiedAssetsMap: (lineItems: LineItem[]) => Record<string, boolean>;
|
30
|
+
export declare const getOriginParent: (lineItems: LineItem[], currentLineItem: LineItem) => LineItem | undefined;
|
31
|
+
export declare const isLineItemModified: <T extends Pick<LineItem, "actionCode" | "status">>(lineItem: T) => boolean;
|
30
32
|
export declare const multiplyLineItems: (lineItem: LineItem, qty: number, split: boolean) => LineItem[];
|
@@ -4,9 +4,9 @@ export declare class LineItemWorker {
|
|
4
4
|
constructor(src: LineItem);
|
5
5
|
insert(parentId: string, toInsert: LineItem): LineItemWorker;
|
6
6
|
remove(id: string): LineItemWorker;
|
7
|
-
replace(toReplace: LineItem): LineItemWorker;
|
7
|
+
replace(toReplace: LineItem, skipCardinalityCalculation?: boolean): LineItemWorker;
|
8
8
|
patchAttribute(attrs: {
|
9
9
|
name: string;
|
10
10
|
value: any;
|
11
|
-
}[], id?: string): LineItemWorker;
|
11
|
+
}[], id?: string, skipCardinalityCalculation?: boolean): LineItemWorker;
|
12
12
|
}
|
@@ -42,15 +42,24 @@ export const SwitchObjectAction = (payload) => ({
|
|
42
42
|
export var CmsAction;
|
43
43
|
(function (CmsAction) {
|
44
44
|
CmsAction.GO_TO_PAGE = '[CMS]_GO_TO_PAGE';
|
45
|
+
CmsAction.UPDATE_CUSTOMIZATION = '[CMS]_UPDATE_CUSTOMIZATION';
|
45
46
|
/**
|
46
47
|
* Navigate UI definition to a specific page
|
47
48
|
*
|
48
49
|
* @param pageName name of the page
|
49
|
-
* @returns void
|
50
50
|
*/
|
51
51
|
CmsAction.GoToPage = (pageName) => ({
|
52
52
|
type: CmsAction.GO_TO_PAGE,
|
53
53
|
payload: { pageName },
|
54
54
|
});
|
55
|
+
/**
|
56
|
+
* Update UI definition customization state
|
57
|
+
*
|
58
|
+
* @param pageName name of the page
|
59
|
+
*/
|
60
|
+
CmsAction.UpdateCustomization = (value) => ({
|
61
|
+
type: CmsAction.UPDATE_CUSTOMIZATION,
|
62
|
+
payload: { value },
|
63
|
+
});
|
55
64
|
})(CmsAction || (CmsAction = {}));
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY21zLmFjdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvY21zLmFjdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxDQUFOLElBQVksVUFVWDtBQVZELFdBQVksVUFBVTtJQUNwQiwrREFBaUQsQ0FBQTtJQUNqRCx1REFBeUMsQ0FBQTtJQUN6QyxtRUFBcUQsQ0FBQTtJQUNyRCxtRkFBcUUsQ0FBQTtJQUNyRSxxREFBdUMsQ0FBQTtJQUN2Qyx1REFBeUMsQ0FBQTtJQUN6Qyx1REFBeUMsQ0FBQTtJQUN6QywyQ0FBNkIsQ0FBQTtJQUM3Qiw2Q0FBK0IsQ0FBQTtBQUNqQyxDQUFDLEVBVlcsVUFBVSxLQUFWLFVBQVUsUUFVckI7QUFFRCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLEVBQ3JDLFVBQVUsRUFDVixTQUFTLEdBSVYsRUFBcUIsRUFBRSxDQUFDLENBQUM7SUFDeEIsSUFBSSxFQUFFLFVBQVUsQ0FBQyxzQkFBc0I7SUFDdkMsT0FBTyxFQUFFLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRTtDQUNuQyxDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxHQUFzQixFQUFFLENBQUMsQ0FBQztJQUMxRCxJQUFJLEVBQUUsVUFBVSxDQUFDLGtCQUFrQjtDQUNwQyxDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxHQUFzQixFQUFFLENBQUMsQ0FBQztJQUMvRCxJQUFJLEVBQUUsVUFBVSxDQUFDLHdCQUF3QjtDQUMxQyxDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBRyxHQUFzQixFQUFFLENBQUMsQ0FBQztJQUN2RSxJQUFJLEVBQUUsVUFBVSxDQUFDLGdDQUFnQztDQUNsRCxDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxHQUFzQixFQUFFLENBQUMsQ0FBQztJQUN4RCxJQUFJLEVBQUUsVUFBVSxDQUFDLGlCQUFpQjtDQUNuQyxDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxHQUFzQixFQUFFLENBQUMsQ0FBQztJQUN6RCxJQUFJLEVBQUUsVUFBVSxDQUFDLGtCQUFrQjtDQUNwQyxDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxHQUFzQixFQUFFLENBQUMsQ0FBQztJQUN6RCxJQUFJLEVBQUUsVUFBVSxDQUFDLFlBQVk7Q0FDOUIsQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsR0FBc0IsRUFBRSxDQUFDLENBQUM7SUFDMUQsSUFBSSxFQUFFLFVBQVUsQ0FBQyxhQUFhO0NBQy9CLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLENBQUMsT0FBdUIsRUFBcUIsRUFBRSxDQUFDLENBQUM7SUFDakYsSUFBSSxFQUFFLFVBQVUsQ0FBQyxrQkFBa0I7SUFDbkMsT0FBTztDQUNSLENBQUMsQ0FBQztBQUVILE1BQU0sS0FBVyxTQUFTLENBdUJ6QjtBQXZCRCxXQUFpQixTQUFTO0lBQ1gsb0JBQVUsR0FBRyxrQkFBa0IsQ0FBQztJQUNoQyw4QkFBb0IsR0FBRyw0QkFBNEIsQ0FBQztJQUVqRTs7OztPQUlHO0lBQ1Usa0JBQVEsR0FBRyxDQUFDLFFBQWdCLEVBQXFCLEVBQUUsQ0FBQyxDQUFDO1FBQ2hFLElBQUksRUFBRSxVQUFBLFVBQVU7UUFDaEIsT0FBTyxFQUFFLEVBQUUsUUFBUSxFQUFFO0tBQ3RCLENBQUMsQ0FBQztJQUVIOzs7O09BSUc7SUFDVSw2QkFBbUIsR0FBRyxDQUFDLEtBQVUsRUFBcUIsRUFBRSxDQUFDLENBQUM7UUFDckUsSUFBSSxFQUFFLFVBQUEsb0JBQW9CO1FBQzFCLE9BQU8sRUFBRSxFQUFFLEtBQUssRUFBRTtLQUNuQixDQUFDLENBQUM7QUFDTCxDQUFDLEVBdkJnQixTQUFTLEtBQVQsU0FBUyxRQXVCekIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbmFtZXNwYWNlICovXG5pbXBvcnQgeyBJbnRlZ3JhdGlvbkFjdGlvbiB9IGZyb20gJy4vdHlwZXMnO1xuXG5leHBvcnQgZW51bSBGbG93QWN0aW9uIHtcbiAgRkxPV19DT05GSUdVUkVfUFJPRFVDVCA9ICdGTE9XX0NPTkZJR1VSRV9QUk9EVUNUJyxcbiAgRkxPV19OQVZJR0FURV9CQUNLID0gJ0ZMT1dfTkFWSUdBVEVfQkFDSycsXG4gIEZMT1dfTkFWSUdBVEVfVE9fQ0FUQUxPRyA9ICdGTE9XX05BVklHQVRFX1RPX0NBVEFMT0cnLFxuICBGTE9XX0FQUExZX1BST0RVQ1RfQ09ORklHVVJBVElPTiA9ICdGTE9XX0FQUExZX1BST0RVQ1RfQ09ORklHVVJBVElPTicsXG4gIEZMT1dfT1BFTl9ET0NfR0VOID0gJ0ZMT1dfT1BFTl9ET0NfR0VOJyxcbiAgRkxPV19DTE9TRV9ET0NfR0VOID0gJ0ZMT1dfQ0xPU0VfRE9DX0dFTicsXG4gIEZMT1dfU1dJVENIX09CSkVDVCA9ICdGTE9XX1NXSVRDSF9PQkpFQ1QnLFxuICBSRU1PVEVfQVBQTFkgPSAnUkVNT1RFX0FQUExZJyxcbiAgUkVNT1RFX0NBTkNFTCA9ICdSRU1PVEVfQ0FOQ0VMJyxcbn1cblxuZXhwb3J0IGNvbnN0IENvbmZpZ3VyZVByb2R1Y3RBY3Rpb24gPSAoe1xuICBsaW5lSXRlbUlkLFxuICBwcm9kdWN0SWQsXG59OiB7XG4gIGxpbmVJdGVtSWQ/OiBzdHJpbmc7XG4gIHByb2R1Y3RJZD86IHN0cmluZztcbn0pOiBJbnRlZ3JhdGlvbkFjdGlvbiA9PiAoe1xuICB0eXBlOiBGbG93QWN0aW9uLkZMT1dfQ09ORklHVVJFX1BST0RVQ1QsXG4gIHBheWxvYWQ6IHsgbGluZUl0ZW1JZCwgcHJvZHVjdElkIH0sXG59KTtcblxuZXhwb3J0IGNvbnN0IE5hdmlnYXRlQmFja0FjdGlvbiA9ICgpOiBJbnRlZ3JhdGlvbkFjdGlvbiA9PiAoe1xuICB0eXBlOiBGbG93QWN0aW9uLkZMT1dfTkFWSUdBVEVfQkFDSyxcbn0pO1xuXG5leHBvcnQgY29uc3QgTmF2aWdhdGVUb0NhdGFsb2dBY3Rpb24gPSAoKTogSW50ZWdyYXRpb25BY3Rpb24gPT4gKHtcbiAgdHlwZTogRmxvd0FjdGlvbi5GTE9XX05BVklHQVRFX1RPX0NBVEFMT0csXG59KTtcblxuZXhwb3J0IGNvbnN0IEFwcGx5UHJvZHVjdENvbmZpZ3VyYXRpb25BY3Rpb24gPSAoKTogSW50ZWdyYXRpb25BY3Rpb24gPT4gKHtcbiAgdHlwZTogRmxvd0FjdGlvbi5GTE9XX0FQUExZX1BST0RVQ1RfQ09ORklHVVJBVElPTixcbn0pO1xuXG5leHBvcnQgY29uc3QgT3BlbkRvY0dlbkFjdGlvbiA9ICgpOiBJbnRlZ3JhdGlvbkFjdGlvbiA9PiAoe1xuICB0eXBlOiBGbG93QWN0aW9uLkZMT1dfT1BFTl9ET0NfR0VOLFxufSk7XG5cbmV4cG9ydCBjb25zdCBDbG9zZURvY0dlbkFjdGlvbiA9ICgpOiBJbnRlZ3JhdGlvbkFjdGlvbiA9PiAoe1xuICB0eXBlOiBGbG93QWN0aW9uLkZMT1dfQ0xPU0VfRE9DX0dFTixcbn0pO1xuXG5leHBvcnQgY29uc3QgUmVtb3RlQXBwbHlBY3Rpb24gPSAoKTogSW50ZWdyYXRpb25BY3Rpb24gPT4gKHtcbiAgdHlwZTogRmxvd0FjdGlvbi5SRU1PVEVfQVBQTFksXG59KTtcblxuZXhwb3J0IGNvbnN0IFJlbW90ZUNhbmNlbEFjdGlvbiA9ICgpOiBJbnRlZ3JhdGlvbkFjdGlvbiA9PiAoe1xuICB0eXBlOiBGbG93QWN0aW9uLlJFTU9URV9DQU5DRUwsXG59KTtcblxuZXhwb3J0IGNvbnN0IFN3aXRjaE9iamVjdEFjdGlvbiA9IChwYXlsb2FkOiB7IGlkOiBzdHJpbmcgfSk6IEludGVncmF0aW9uQWN0aW9uID0+ICh7XG4gIHR5cGU6IEZsb3dBY3Rpb24uRkxPV19TV0lUQ0hfT0JKRUNULFxuICBwYXlsb2FkLFxufSk7XG5cbmV4cG9ydCBuYW1lc3BhY2UgQ21zQWN0aW9uIHtcbiAgZXhwb3J0IGNvbnN0IEdPX1RPX1BBR0UgPSAnW0NNU11fR09fVE9fUEFHRSc7XG4gIGV4cG9ydCBjb25zdCBVUERBVEVfQ1VTVE9NSVpBVElPTiA9ICdbQ01TXV9VUERBVEVfQ1VTVE9NSVpBVElPTic7XG5cbiAgLyoqXG4gICAqIE5hdmlnYXRlIFVJIGRlZmluaXRpb24gdG8gYSBzcGVjaWZpYyBwYWdlXG4gICAqXG4gICAqIEBwYXJhbSBwYWdlTmFtZSBuYW1lIG9mIHRoZSBwYWdlXG4gICAqL1xuICBleHBvcnQgY29uc3QgR29Ub1BhZ2UgPSAocGFnZU5hbWU6IHN0cmluZyk6IEludGVncmF0aW9uQWN0aW9uID0+ICh7XG4gICAgdHlwZTogR09fVE9fUEFHRSxcbiAgICBwYXlsb2FkOiB7IHBhZ2VOYW1lIH0sXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBVcGRhdGUgVUkgZGVmaW5pdGlvbiBjdXN0b21pemF0aW9uIHN0YXRlXG4gICAqXG4gICAqIEBwYXJhbSBwYWdlTmFtZSBuYW1lIG9mIHRoZSBwYWdlXG4gICAqL1xuICBleHBvcnQgY29uc3QgVXBkYXRlQ3VzdG9taXphdGlvbiA9ICh2YWx1ZTogYW55KTogSW50ZWdyYXRpb25BY3Rpb24gPT4gKHtcbiAgICB0eXBlOiBVUERBVEVfQ1VTVE9NSVpBVElPTixcbiAgICBwYXlsb2FkOiB7IHZhbHVlIH0sXG4gIH0pO1xufVxuIl19
|
@@ -1,4 +1,5 @@
|
|
1
1
|
import { ElementComponent } from './components/element.component';
|
2
|
+
import { ElementHoverPlugin } from './plugins/element-hover.plugin';
|
2
3
|
import { IOPlugin } from './plugins/io.plugin';
|
3
4
|
import { RegionPlugin } from './plugins/region.plugin';
|
4
5
|
import { ScriptPlugin } from './plugins/script.plugin';
|
@@ -6,10 +7,14 @@ import { ScriptPlugin } from './plugins/script.plugin';
|
|
6
7
|
* ScriptPlugin must always be the last plugin in the list to make sure user code is running after all pre-initializers.
|
7
8
|
*/
|
8
9
|
export const CONFIG = {
|
9
|
-
|
10
|
+
CUSTOMIZATION_PAGE: {
|
10
11
|
component: ElementComponent,
|
11
12
|
plugins: [IOPlugin, ScriptPlugin],
|
12
13
|
},
|
14
|
+
CUSTOM: {
|
15
|
+
component: ElementComponent,
|
16
|
+
plugins: [IOPlugin, ElementHoverPlugin, ScriptPlugin],
|
17
|
+
},
|
13
18
|
CONTAINER: {
|
14
19
|
component: ElementComponent,
|
15
20
|
defaultTemplate: '<element-children></element-children>',
|
@@ -30,11 +35,17 @@ export const CONFIG = {
|
|
30
35
|
component: ElementComponent,
|
31
36
|
defaultTemplate: '<element-children></element-children>',
|
32
37
|
plugins: [IOPlugin, ScriptPlugin],
|
38
|
+
builder: {
|
39
|
+
suppressRemovable: true,
|
40
|
+
},
|
33
41
|
},
|
34
42
|
REGION: {
|
35
43
|
component: ElementComponent,
|
36
44
|
defaultTemplate: '<element-children></element-children>',
|
37
|
-
plugins: [IOPlugin,
|
45
|
+
plugins: [IOPlugin, RegionPlugin, ElementHoverPlugin, ScriptPlugin],
|
46
|
+
builder: {
|
47
|
+
suppressRemovable: true,
|
48
|
+
},
|
38
49
|
},
|
39
50
|
};
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY21zLmVsZW1lbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY21zL2Ntcy5lbGVtZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUd2RDs7R0FFRztBQUVILE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBNkM7SUFDOUQsa0JBQWtCLEVBQUU7UUFDbEIsU0FBUyxFQUFFLGdCQUFnQjtRQUMzQixPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUUsWUFBWSxDQUFDO0tBQ2xDO0lBQ0QsTUFBTSxFQUFFO1FBQ04sU0FBUyxFQUFFLGdCQUFnQjtRQUMzQixPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxDQUFDO0tBQ3REO0lBQ0QsU0FBUyxFQUFFO1FBQ1QsU0FBUyxFQUFFLGdCQUFnQjtRQUMzQixlQUFlLEVBQUUsdUNBQXVDO1FBQ3hELE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztLQUN4QjtJQUNELE9BQU8sRUFBRTtRQUNQLFNBQVMsRUFBRSxnQkFBZ0I7UUFDM0IsT0FBTyxFQUFFLENBQUMsUUFBUSxFQUFFLFlBQVksQ0FBQztRQUNqQyxnQkFBZ0IsRUFBRSxJQUFJO1FBQ3RCLGNBQWMsRUFBRSxJQUFJO0tBQ3JCO0lBQ0QsU0FBUyxFQUFFO1FBQ1QsU0FBUyxFQUFFLGdCQUFnQjtRQUMzQixPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUUsWUFBWSxDQUFDO1FBQ2pDLGdCQUFnQixFQUFFLElBQUk7S0FDdkI7SUFDRCxJQUFJLEVBQUU7UUFDSixTQUFTLEVBQUUsZ0JBQWdCO1FBQzNCLGVBQWUsRUFBRSx1Q0FBdUM7UUFDeEQsT0FBTyxFQUFFLENBQUMsUUFBUSxFQUFFLFlBQVksQ0FBQztRQUNqQyxPQUFPLEVBQUU7WUFDUCxpQkFBaUIsRUFBRSxJQUFJO1NBQ3hCO0tBQ0Y7SUFDRCxNQUFNLEVBQUU7UUFDTixTQUFTLEVBQUUsZ0JBQWdCO1FBQzNCLGVBQWUsRUFBRSx1Q0FBdUM7UUFDeEQsT0FBTyxFQUFFLENBQUMsUUFBUSxFQUFFLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxZQUFZLENBQUM7UUFDbkUsT0FBTyxFQUFFO1lBQ1AsaUJBQWlCLEVBQUUsSUFBSTtTQUN4QjtLQUNGO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVsZW1lbnRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZWxlbWVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRWxlbWVudEhvdmVyUGx1Z2luIH0gZnJvbSAnLi9wbHVnaW5zL2VsZW1lbnQtaG92ZXIucGx1Z2luJztcbmltcG9ydCB7IElPUGx1Z2luIH0gZnJvbSAnLi9wbHVnaW5zL2lvLnBsdWdpbic7XG5pbXBvcnQgeyBSZWdpb25QbHVnaW4gfSBmcm9tICcuL3BsdWdpbnMvcmVnaW9uLnBsdWdpbic7XG5pbXBvcnQgeyBTY3JpcHRQbHVnaW4gfSBmcm9tICcuL3BsdWdpbnMvc2NyaXB0LnBsdWdpbic7XG5pbXBvcnQgeyBFTEVNRU5UX1RZUEUsIEVsZW1lbnRDb25maWcgfSBmcm9tICcuL3R5cGVzL2NvbW1vbi50eXBlcyc7XG5cbi8qXG4gKiBTY3JpcHRQbHVnaW4gbXVzdCBhbHdheXMgYmUgdGhlIGxhc3QgcGx1Z2luIGluIHRoZSBsaXN0IHRvIG1ha2Ugc3VyZSB1c2VyIGNvZGUgaXMgcnVubmluZyBhZnRlciBhbGwgcHJlLWluaXRpYWxpemVycy5cbiAqL1xuXG5leHBvcnQgY29uc3QgQ09ORklHOiB7IFtrZXkgaW4gRUxFTUVOVF9UWVBFXTogRWxlbWVudENvbmZpZyB9ID0ge1xuICBDVVNUT01JWkFUSU9OX1BBR0U6IHtcbiAgICBjb21wb25lbnQ6IEVsZW1lbnRDb21wb25lbnQsXG4gICAgcGx1Z2luczogW0lPUGx1Z2luLCBTY3JpcHRQbHVnaW5dLFxuICB9LFxuICBDVVNUT006IHtcbiAgICBjb21wb25lbnQ6IEVsZW1lbnRDb21wb25lbnQsXG4gICAgcGx1Z2luczogW0lPUGx1Z2luLCBFbGVtZW50SG92ZXJQbHVnaW4sIFNjcmlwdFBsdWdpbl0sXG4gIH0sXG4gIENPTlRBSU5FUjoge1xuICAgIGNvbXBvbmVudDogRWxlbWVudENvbXBvbmVudCxcbiAgICBkZWZhdWx0VGVtcGxhdGU6ICc8ZWxlbWVudC1jaGlsZHJlbj48L2VsZW1lbnQtY2hpbGRyZW4+JyxcbiAgICBwbHVnaW5zOiBbU2NyaXB0UGx1Z2luXSxcbiAgfSxcbiAgU0VSVklDRToge1xuICAgIGNvbXBvbmVudDogRWxlbWVudENvbXBvbmVudCxcbiAgICBwbHVnaW5zOiBbSU9QbHVnaW4sIFNjcmlwdFBsdWdpbl0sXG4gICAgc3VwcHJlc3NUZW1wbGF0ZTogdHJ1ZSxcbiAgICBzdXBwcmVzc1N0eWxlczogdHJ1ZSxcbiAgfSxcbiAgUkVGRVJFTkNFOiB7XG4gICAgY29tcG9uZW50OiBFbGVtZW50Q29tcG9uZW50LFxuICAgIHBsdWdpbnM6IFtJT1BsdWdpbiwgU2NyaXB0UGx1Z2luXSxcbiAgICBzdXBwcmVzc1RlbXBsYXRlOiB0cnVlLFxuICB9LFxuICBQQUdFOiB7XG4gICAgY29tcG9uZW50OiBFbGVtZW50Q29tcG9uZW50LFxuICAgIGRlZmF1bHRUZW1wbGF0ZTogJzxlbGVtZW50LWNoaWxkcmVuPjwvZWxlbWVudC1jaGlsZHJlbj4nLFxuICAgIHBsdWdpbnM6IFtJT1BsdWdpbiwgU2NyaXB0UGx1Z2luXSxcbiAgICBidWlsZGVyOiB7XG4gICAgICBzdXBwcmVzc1JlbW92YWJsZTogdHJ1ZSxcbiAgICB9LFxuICB9LFxuICBSRUdJT046IHtcbiAgICBjb21wb25lbnQ6IEVsZW1lbnRDb21wb25lbnQsXG4gICAgZGVmYXVsdFRlbXBsYXRlOiAnPGVsZW1lbnQtY2hpbGRyZW4+PC9lbGVtZW50LWNoaWxkcmVuPicsXG4gICAgcGx1Z2luczogW0lPUGx1Z2luLCBSZWdpb25QbHVnaW4sIEVsZW1lbnRIb3ZlclBsdWdpbiwgU2NyaXB0UGx1Z2luXSxcbiAgICBidWlsZGVyOiB7XG4gICAgICBzdXBwcmVzc1JlbW92YWJsZTogdHJ1ZSxcbiAgICB9LFxuICB9LFxufTtcbiJdfQ==
|
@@ -173,7 +173,45 @@ export const LAYOUT = {
|
|
173
173
|
}
|
174
174
|
}
|
175
175
|
/* end of LAYOUT_6 styles */
|
176
|
+
`,
|
177
|
+
},
|
178
|
+
LAYOUT_7: {
|
179
|
+
styles: `
|
180
|
+
/* start of LAYOUT_7 styles */
|
181
|
+
:host {
|
182
|
+
height: 100%;
|
183
|
+
display: grid;
|
184
|
+
grid: "left" 1fr / 0.3fr;
|
185
|
+
gap: 10px;
|
186
|
+
padding: 10px;
|
187
|
+
justify-content: start;
|
188
|
+
}
|
189
|
+
:host ::ng-deep element-children > vl-cms-element-renderer {
|
190
|
+
&:nth-child(1) > vl-element {
|
191
|
+
grid-area: left;
|
192
|
+
}
|
193
|
+
}
|
194
|
+
/* end of LAYOUT_7 styles */
|
195
|
+
`,
|
196
|
+
},
|
197
|
+
LAYOUT_8: {
|
198
|
+
styles: `
|
199
|
+
/* start of LAYOUT_8 styles */
|
200
|
+
:host {
|
201
|
+
height: 100%;
|
202
|
+
display: grid;
|
203
|
+
grid: "right" 1fr / 0.3fr;
|
204
|
+
gap: 10px;
|
205
|
+
padding: 10px;
|
206
|
+
justify-content: end;
|
207
|
+
}
|
208
|
+
:host ::ng-deep element-children > vl-cms-element-renderer {
|
209
|
+
&:nth-child(1) > vl-element {
|
210
|
+
grid-area: right;
|
211
|
+
}
|
212
|
+
}
|
213
|
+
/* end of LAYOUT_8 styles */
|
176
214
|
`,
|
177
215
|
},
|
178
216
|
};
|
179
|
-
//# sourceMappingURL=data:application/json;base64,
|
217
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY21zLmxheW91dHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvY21zLmxheW91dHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUE4QztJQUMvRCxRQUFRLEVBQUU7UUFDUixNQUFNLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQThCWDtLQUNFO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsTUFBTSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBa0NYO0tBQ0U7SUFDRCxRQUFRLEVBQUU7UUFDUixNQUFNLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQXdCWDtLQUNFO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsTUFBTSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBNEJYO0tBQ0U7SUFDRCxRQUFRLEVBQUU7UUFDUixNQUFNLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQXdCWDtLQUNFO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsTUFBTSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FrQlg7S0FDRTtJQUNELFFBQVEsRUFBRTtRQUNSLE1BQU0sRUFBRTs7Ozs7Ozs7Ozs7Ozs7OztDQWdCWDtLQUNFO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsTUFBTSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7O0NBZ0JYO0tBQ0U7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGFnZUxheW91dCwgUGFnZUxheW91dENvbmZpZyB9IGZyb20gJy4vdHlwZXMvbGF5b3V0cy50eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBMQVlPVVQ6IHsgW2tleSBpbiBQYWdlTGF5b3V0XTogUGFnZUxheW91dENvbmZpZyB9ID0ge1xuICBMQVlPVVRfMToge1xuICAgIHN0eWxlczogYFxuLyogc3RhcnQgb2YgTEFZT1VUXzEgc3R5bGVzICovXG46aG9zdCB7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZDpcbiAgICBcImhlYWRlclwiIGF1dG9cbiAgICBcIm1haW5cIiAxZnJcbiAgICBcImZvb3RlclwiIGF1dG9cbiAgICAvIDFmcjtcbiAgZ2FwOiAxMHB4O1xuICBwYWRkaW5nOiAxMHB4O1xufVxuXG46aG9zdCA6Om5nLWRlZXAgZWxlbWVudC1jaGlsZHJlbiA+IHZsLWNtcy1lbGVtZW50LXJlbmRlcmVyIHtcbiAgJjpudGgtY2hpbGQoMSkgPiB2bC1lbGVtZW50IHtcbiAgICBtaW4taGVpZ2h0OiA4MHB4O1xuICAgIGdyaWQtYXJlYTogaGVhZGVyO1xuICB9XG5cbiAgJjpudGgtY2hpbGQoMikgPiB2bC1lbGVtZW50IHtcbiAgICBncmlkLWFyZWE6IG1haW47XG4gIH1cblxuICAmOm50aC1jaGlsZCgzKSA+IHZsLWVsZW1lbnQge1xuICAgIG1pbi1oZWlnaHQ6IDgwcHg7XG4gICAgZ3JpZC1hcmVhOiBmb290ZXI7XG4gIH1cbn1cbi8qIGVuZCBvZiBMQVlPVVRfMSBzdHlsZXMgKi9cbmAsXG4gIH0sXG4gIExBWU9VVF8yOiB7XG4gICAgc3R5bGVzOiBgXG4vKiBzdGFydCBvZiBMQVlPVVRfMiBzdHlsZXMgKi9cbjpob3N0IHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkOlxuICAgIFwiaGVhZGVyIGhlYWRlclwiIGF1dG9cbiAgICBcImxlZnQgcmlnaHRcIiAxZnJcbiAgICBcImZvb3RlciBmb290ZXJcIiBhdXRvXG4gICAgLyAxZnIgMWZyO1xuICBnYXA6IDEwcHg7XG4gIHBhZGRpbmc6IDEwcHg7XG59XG5cbjpob3N0IDo6bmctZGVlcCBlbGVtZW50LWNoaWxkcmVuID4gdmwtY21zLWVsZW1lbnQtcmVuZGVyZXIge1xuICAmOm50aC1jaGlsZCgxKSA+IHZsLWVsZW1lbnQge1xuICAgIG1pbi1oZWlnaHQ6IDgwcHg7XG4gICAgZ3JpZC1hcmVhOiBoZWFkZXI7XG4gIH1cblxuICAmOm50aC1jaGlsZCgyKSA+IHZsLWVsZW1lbnQge1xuICAgIGdyaWQtYXJlYTogbGVmdDtcbiAgfVxuXG4gICY6bnRoLWNoaWxkKDMpID4gdmwtZWxlbWVudCB7XG4gICAgZ3JpZC1hcmVhOiByaWdodDtcbiAgfVxuXG4gICY6bnRoLWNoaWxkKDQpID4gdmwtZWxlbWVudCB7XG4gICAgbWluLWhlaWdodDogODBweDtcbiAgICBncmlkLWFyZWE6IGZvb3RlcjtcbiAgfVxufVxuLyogZW5kIG9mIExBWU9VVF8yIHN0eWxlcyAqL1xuYCxcbiAgfSxcbiAgTEFZT1VUXzM6IHtcbiAgICBzdHlsZXM6IGBcbi8qIHN0YXJ0IG9mIExBWU9VVF8zIHN0eWxlcyAqL1xuOmhvc3Qge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQ6XG4gICAgXCJtYWluXCIgMWZyXG4gICAgXCJmb290ZXJcIiBhdXRvXG4gICAgLyAxZnI7XG4gIGdhcDogMTBweDtcbiAgcGFkZGluZzogMTBweDtcbn1cblxuOmhvc3QgOjpuZy1kZWVwIGVsZW1lbnQtY2hpbGRyZW4gPiB2bC1jbXMtZWxlbWVudC1yZW5kZXJlciB7XG4gICY6bnRoLWNoaWxkKDEpID4gdmwtZWxlbWVudCB7XG4gICAgZ3JpZC1hcmVhOiBtYWluO1xuICB9XG5cbiAgJjpudGgtY2hpbGQoMikgPiB2bC1lbGVtZW50IHtcbiAgICBtaW4taGVpZ2h0OiA4MHB4O1xuICAgIGdyaWQtYXJlYTogZm9vdGVyO1xuICB9XG59XG4vKiBlbmQgb2YgTEFZT1VUXzMgc3R5bGVzICovXG5gLFxuICB9LFxuICBMQVlPVVRfNDoge1xuICAgIHN0eWxlczogYFxuLyogc3RhcnQgb2YgTEFZT1VUXzQgc3R5bGVzICovXG46aG9zdCB7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZDpcbiAgICBcImxlZnQgcmlnaHRcIiAxZnJcbiAgICBcImZvb3RlciBmb290ZXJcIiBhdXRvXG4gICAgLyBhdXRvIGF1dG87XG4gIGdhcDogMTBweDtcbiAgcGFkZGluZzogMTBweDtcbn1cblxuOmhvc3QgOjpuZy1kZWVwIGVsZW1lbnQtY2hpbGRyZW4gPiB2bC1jbXMtZWxlbWVudC1yZW5kZXJlciB7XG4gICY6bnRoLWNoaWxkKDEpID4gdmwtZWxlbWVudCB7XG4gICAgZ3JpZC1hcmVhOiBsZWZ0O1xuICB9XG5cbiAgJjpudGgtY2hpbGQoMikgPiB2bC1lbGVtZW50IHtcbiAgICBncmlkLWFyZWE6IHJpZ2h0O1xuICB9XG5cbiAgJjpudGgtY2hpbGQoMykgPiB2bC1lbGVtZW50IHtcbiAgICBtaW4taGVpZ2h0OiA4MHB4O1xuICAgIGdyaWQtYXJlYTogZm9vdGVyO1xuICB9XG59XG4vKiBlbmQgb2YgTEFZT1VUXzQgc3R5bGVzICovXG5gLFxuICB9LFxuICBMQVlPVVRfNToge1xuICAgIHN0eWxlczogYFxuLyogc3RhcnQgb2YgTEFZT1VUXzUgc3R5bGVzICovXG46aG9zdCB7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZDpcbiAgICBcImhlYWRlclwiIGF1dG9cbiAgICBcIm1haW5cIiAxZnJcbiAgICAvIDFmcjtcbiAgZ2FwOiAxMHB4O1xuICBwYWRkaW5nOiAxMHB4O1xufVxuXG46aG9zdCA6Om5nLWRlZXAgZWxlbWVudC1jaGlsZHJlbiA+IHZsLWNtcy1lbGVtZW50LXJlbmRlcmVyIHtcbiAgJjpudGgtY2hpbGQoMSkgPiB2bC1lbGVtZW50IHtcbiAgICBtaW4taGVpZ2h0OiA4MHB4O1xuICAgIGdyaWQtYXJlYTogaGVhZGVyO1xuICB9XG5cbiAgJjpudGgtY2hpbGQoMikgPiB2bC1lbGVtZW50IHtcbiAgICBncmlkLWFyZWE6IG1haW47XG4gIH1cbn1cbi8qIGVuZCBvZiBMQVlPVVRfNSBzdHlsZXMgKi9cbmAsXG4gIH0sXG4gIExBWU9VVF82OiB7XG4gICAgc3R5bGVzOiBgXG4vKiBzdGFydCBvZiBMQVlPVVRfNiBzdHlsZXMgKi9cbjpob3N0IHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkOlxuICAgIFwibWFpblwiIDFmclxuICAgIC8gMWZyO1xuICBnYXA6IDEwcHg7XG4gIHBhZGRpbmc6IDEwcHg7XG59XG5cbjpob3N0IDo6bmctZGVlcCBlbGVtZW50LWNoaWxkcmVuID4gdmwtY21zLWVsZW1lbnQtcmVuZGVyZXIge1xuICAmOm50aC1jaGlsZCgxKSA+IHZsLWVsZW1lbnQge1xuICAgIGdyaWQtYXJlYTogbWFpbjtcbiAgfVxufVxuLyogZW5kIG9mIExBWU9VVF82IHN0eWxlcyAqL1xuYCxcbiAgfSxcbiAgTEFZT1VUXzc6IHtcbiAgICBzdHlsZXM6IGBcbiAgICAvKiBzdGFydCBvZiBMQVlPVVRfNyBzdHlsZXMgKi9cbiAgICA6aG9zdCB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZDogXCJsZWZ0XCIgMWZyIC8gMC4zZnI7XG4gICAgICBnYXA6IDEwcHg7XG4gICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbiAgICB9XG4gICAgOmhvc3QgOjpuZy1kZWVwIGVsZW1lbnQtY2hpbGRyZW4gPiB2bC1jbXMtZWxlbWVudC1yZW5kZXJlciB7XG4gICAgICAmOm50aC1jaGlsZCgxKSA+IHZsLWVsZW1lbnQge1xuICAgICAgICBncmlkLWFyZWE6IGxlZnQ7XG4gICAgICB9XG4gICAgfVxuICAgIC8qIGVuZCBvZiBMQVlPVVRfNyBzdHlsZXMgKi9cbmAsXG4gIH0sXG4gIExBWU9VVF84OiB7XG4gICAgc3R5bGVzOiBgXG4gICAgLyogc3RhcnQgb2YgTEFZT1VUXzggc3R5bGVzICovXG4gICAgOmhvc3Qge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQ6IFwicmlnaHRcIiAxZnIgLyAwLjNmcjtcbiAgICAgIGdhcDogMTBweDtcbiAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGVuZDtcbiAgICB9XG4gICAgOmhvc3QgOjpuZy1kZWVwIGVsZW1lbnQtY2hpbGRyZW4gPiB2bC1jbXMtZWxlbWVudC1yZW5kZXJlciB7XG4gICAgICAmOm50aC1jaGlsZCgxKSA+IHZsLWVsZW1lbnQge1xuICAgICAgICBncmlkLWFyZWE6IHJpZ2h0O1xuICAgICAgfVxuICAgIH1cbiAgICAvKiBlbmQgb2YgTEFZT1VUXzggc3R5bGVzICovXG5gLFxuICB9LFxufTtcbiJdfQ==
|