@veloceapps/sdk 6.0.0-41 → 6.0.0-42
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/bundles/veloceapps-sdk-cms.umd.js +3 -168
- package/bundles/veloceapps-sdk-cms.umd.js.map +1 -1
- package/cms/types/common.types.d.ts +2 -2
- package/esm2015/cms/cms.elements.js +4 -17
- package/esm2015/cms/types/common.types.js +1 -1
- package/fesm2015/veloceapps-sdk-cms.js +5 -166
- package/fesm2015/veloceapps-sdk-cms.js.map +1 -1
- package/package.json +1 -1
- package/cms/plugins/element-hover.plugin.d.ts +0 -32
- package/esm2015/cms/plugins/element-hover.plugin.js +0 -157
@@ -1,11 +1,11 @@
|
|
1
1
|
import { Dictionary } from 'lodash';
|
2
2
|
import { Entity } from '../engine/models/entity';
|
3
3
|
import { Plugin } from '../engine/models/plugin';
|
4
|
-
export declare type ELEMENT_TYPE = 'CUSTOM' | 'CONTAINER' | 'SERVICE' | 'REFERENCE'
|
4
|
+
export declare type ELEMENT_TYPE = 'CUSTOM' | 'CONTAINER' | 'SERVICE' | 'REFERENCE';
|
5
5
|
export declare type ElementStyleDeclaration = Partial<CSSStyleDeclaration>;
|
6
6
|
export interface ElementConfig {
|
7
7
|
component: typeof Entity;
|
8
|
-
plugins?: typeof Plugin[];
|
8
|
+
plugins?: (typeof Plugin)[];
|
9
9
|
defaultTemplate?: string;
|
10
10
|
suppressTemplate?: boolean;
|
11
11
|
suppressStyles?: boolean;
|
@@ -1,5 +1,4 @@
|
|
1
1
|
import { ElementComponent } from './components/element.component';
|
2
|
-
import { ElementHoverPlugin } from './plugins/element-hover.plugin';
|
3
2
|
import { IOPlugin } from './plugins/io.plugin';
|
4
3
|
import { ScriptPlugin } from './plugins/script.plugin';
|
5
4
|
/*
|
@@ -8,12 +7,12 @@ import { ScriptPlugin } from './plugins/script.plugin';
|
|
8
7
|
export const CONFIG = {
|
9
8
|
CUSTOM: {
|
10
9
|
component: ElementComponent,
|
11
|
-
plugins: [
|
10
|
+
plugins: [IOPlugin, ScriptPlugin],
|
12
11
|
},
|
13
12
|
CONTAINER: {
|
14
13
|
component: ElementComponent,
|
15
14
|
defaultTemplate: '<element-children></element-children>',
|
16
|
-
plugins: [
|
15
|
+
plugins: [ScriptPlugin],
|
17
16
|
},
|
18
17
|
SERVICE: {
|
19
18
|
component: ElementComponent,
|
@@ -23,20 +22,8 @@ export const CONFIG = {
|
|
23
22
|
},
|
24
23
|
REFERENCE: {
|
25
24
|
component: ElementComponent,
|
26
|
-
plugins: [
|
25
|
+
plugins: [IOPlugin, ScriptPlugin],
|
27
26
|
suppressTemplate: true,
|
28
27
|
},
|
29
|
-
PAGE: {
|
30
|
-
component: ElementComponent,
|
31
|
-
plugins: [ElementHoverPlugin, IOPlugin, ScriptPlugin],
|
32
|
-
},
|
33
|
-
PAGE_LAYOUT: {
|
34
|
-
component: ElementComponent,
|
35
|
-
plugins: [ElementHoverPlugin, IOPlugin, ScriptPlugin],
|
36
|
-
},
|
37
|
-
LAYOUT_REGION: {
|
38
|
-
component: ElementComponent,
|
39
|
-
plugins: [ElementHoverPlugin, IOPlugin, ScriptPlugin],
|
40
|
-
},
|
41
28
|
};
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY21zLmVsZW1lbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY21zL2Ntcy5lbGVtZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBR3ZEOztHQUVHO0FBRUgsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUE2QztJQUM5RCxNQUFNLEVBQUU7UUFDTixTQUFTLEVBQUUsZ0JBQWdCO1FBQzNCLE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRSxZQUFZLENBQUM7S0FDbEM7SUFDRCxTQUFTLEVBQUU7UUFDVCxTQUFTLEVBQUUsZ0JBQWdCO1FBQzNCLGVBQWUsRUFBRSx1Q0FBdUM7UUFDeEQsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO0tBQ3hCO0lBQ0QsT0FBTyxFQUFFO1FBQ1AsU0FBUyxFQUFFLGdCQUFnQjtRQUMzQixPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUUsWUFBWSxDQUFDO1FBQ2pDLGdCQUFnQixFQUFFLElBQUk7UUFDdEIsY0FBYyxFQUFFLElBQUk7S0FDckI7SUFDRCxTQUFTLEVBQUU7UUFDVCxTQUFTLEVBQUUsZ0JBQWdCO1FBQzNCLE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRSxZQUFZLENBQUM7UUFDakMsZ0JBQWdCLEVBQUUsSUFBSTtLQUN2QjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2VsZW1lbnQuY29tcG9uZW50JztcbmltcG9ydCB7IElPUGx1Z2luIH0gZnJvbSAnLi9wbHVnaW5zL2lvLnBsdWdpbic7XG5pbXBvcnQgeyBTY3JpcHRQbHVnaW4gfSBmcm9tICcuL3BsdWdpbnMvc2NyaXB0LnBsdWdpbic7XG5pbXBvcnQgeyBFbGVtZW50Q29uZmlnLCBFTEVNRU5UX1RZUEUgfSBmcm9tICcuL3R5cGVzL2NvbW1vbi50eXBlcyc7XG5cbi8qXG4gKiBTY3JpcHRQbHVnaW4gbXVzdCBhbHdheXMgYmUgdGhlIGxhc3QgcGx1Z2luIGluIHRoZSBsaXN0IHRvIG1ha2Ugc3VyZSB1c2VyIGNvZGUgaXMgcnVubmluZyBhZnRlciBhbGwgcHJlLWluaXRpYWxpemVycy5cbiAqL1xuXG5leHBvcnQgY29uc3QgQ09ORklHOiB7IFtrZXkgaW4gRUxFTUVOVF9UWVBFXTogRWxlbWVudENvbmZpZyB9ID0ge1xuICBDVVNUT006IHtcbiAgICBjb21wb25lbnQ6IEVsZW1lbnRDb21wb25lbnQsXG4gICAgcGx1Z2luczogW0lPUGx1Z2luLCBTY3JpcHRQbHVnaW5dLFxuICB9LFxuICBDT05UQUlORVI6IHtcbiAgICBjb21wb25lbnQ6IEVsZW1lbnRDb21wb25lbnQsXG4gICAgZGVmYXVsdFRlbXBsYXRlOiAnPGVsZW1lbnQtY2hpbGRyZW4+PC9lbGVtZW50LWNoaWxkcmVuPicsXG4gICAgcGx1Z2luczogW1NjcmlwdFBsdWdpbl0sXG4gIH0sXG4gIFNFUlZJQ0U6IHtcbiAgICBjb21wb25lbnQ6IEVsZW1lbnRDb21wb25lbnQsXG4gICAgcGx1Z2luczogW0lPUGx1Z2luLCBTY3JpcHRQbHVnaW5dLFxuICAgIHN1cHByZXNzVGVtcGxhdGU6IHRydWUsXG4gICAgc3VwcHJlc3NTdHlsZXM6IHRydWUsXG4gIH0sXG4gIFJFRkVSRU5DRToge1xuICAgIGNvbXBvbmVudDogRWxlbWVudENvbXBvbmVudCxcbiAgICBwbHVnaW5zOiBbSU9QbHVnaW4sIFNjcmlwdFBsdWdpbl0sXG4gICAgc3VwcHJlc3NUZW1wbGF0ZTogdHJ1ZSxcbiAgfSxcbn07XG4iXX0=
|
@@ -1,2 +1,2 @@
|
|
1
1
|
export {};
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY21zL3R5cGVzL2NvbW1vbi50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGljdGlvbmFyeSB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBFbnRpdHkgfSBmcm9tICcuLi9lbmdpbmUvbW9kZWxzL2VudGl0eSc7XG5pbXBvcnQgeyBQbHVnaW4gfSBmcm9tICcuLi9lbmdpbmUvbW9kZWxzL3BsdWdpbic7XG5cbmV4cG9ydCB0eXBlIEVMRU1FTlRfVFlQRSA9ICdDVVNUT00nIHwgJ0NPTlRBSU5FUicgfCAnU0VSVklDRScgfCAnUkVGRVJFTkNFJztcblxuZXhwb3J0IHR5cGUgRWxlbWVudFN0eWxlRGVjbGFyYXRpb24gPSBQYXJ0aWFsPENTU1N0eWxlRGVjbGFyYXRpb24+O1xuXG5leHBvcnQgaW50ZXJmYWNlIEVsZW1lbnRDb25maWcge1xuICBjb21wb25lbnQ6IHR5cGVvZiBFbnRpdHk7XG4gIHBsdWdpbnM/OiAodHlwZW9mIFBsdWdpbilbXTtcbiAgZGVmYXVsdFRlbXBsYXRlPzogc3RyaW5nO1xuICBzdXBwcmVzc1RlbXBsYXRlPzogYm9vbGVhbjtcbiAgc3VwcHJlc3NTdHlsZXM/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVsZW1lbnRNb2RlbCB7XG4gIC8qKlxuICAgKiBEZWZpbmVzIGEgcGF0aCBmb3IgYW4gZWxlbWVudCBtb2RlbC5cbiAgICogSXQncyBjb21iaW5lZCB3aXRoIGEgcGF0aCB0byBhIHRhcmdldCBlbGVtZW50IGFuZCBhbiBvdXRwdXQgcHJvcGVydHkgbmFtZS5cbiAgICpcbiAgICogSWYgdGFyZ2V0IHZhbHVlIGlzIGFuIEFycmF5LCB0aGVuIHRoZSBlbGVtZW50IHdpbGwgYmUgcmVwZWF0ZWQgYG5gIHRpbWVzIGFuZCBlYWNoIGluc3RhbmNlIHdpbGwgZ2V0IGl0J3Mgb3duIHZhbHVlLlxuICAgKlxuICAgKiBFeGFtcGxlczpcbiAgICogLSBgL1Jvb3QvU2VydmljZXMvRGF0YVNlcnZpY2UvOnByb2R1Y3RzYFxuICAgKiAtIGAuLi8uLi9TZXJ2aWNlcy9EYXRhU2VydmljZS86cHJvZHVjdHNgXG4gICAqIC0gYEBTZXJ2aWNlcy9EYXRhU2VydmljZS86cHJvZHVjdHNgXG4gICAqL1xuICBwYXRoPzogc3RyaW5nO1xuICAvKipcbiAgICogVXNlZCBvbmx5IHdoZW4gYFVJRGVmaW5pdGlvblR5cGUgPSBDT05GSUdVUkFUSU9OYC5cbiAgICovXG4gIGxpbmVJdGVtPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVsZW1lbnREZWZhdWx0TWV0YWRhdGEge1xuICBuYW1lOiBzdHJpbmc7XG4gIHR5cGU6IEVMRU1FTlRfVFlQRTtcbiAgLyoqXG4gICAqIE1ha2UgY29tcG9uZW50IHNoYXJlZFxuICAgKlxuICAgKiBVc2VkIG9ubHkgd2hlbiBgdHlwZSAhPT0gUkVGRVJFTkNFYFxuICAgKi9cbiAgaXNTaGFyZWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogRWxlbWVudCBtb2R1bGUgbmFtZS4gTW9kdWxlIGlzIHVzZWQgZm9yIHF1aWNrIGFjY2VzcyBmcm9tIG90aGVyIGVsZW1lbnRzLlxuICAgKlxuICAgKiBGb3IgZXhhbXBsZSB3ZSBoYXZlIGEgYERhdGFTZXJ2aWNlYCBlbGVtZW50LCBhbmQgd2Ugc2F5IGl0J3MgZGVjbGFyZWQgaW4gYFNlcnZpY2VzYCBtb2R1bGUuIFRoZW4gaXQgY2FuIGJlIGFjY2Vzc2VkIGluIG90aGVyIGVsZW1lbnRzIGBtb2RlbGAsIGBpbnB1dHNgIG9yIGBvdXRwdXRzYCBwcm9wZXJ0aWVzIHRoaXMgd2F5OiBgQFNlcnZpY2VzL0RhdGFTZXJ2aWNlYFxuICAgKlxuICAgKi9cbiAgbW9kdWxlPzogc3RyaW5nO1xuICAvKipcbiAgICogRGVmaW5lcyBpbnB1dHMgb2YgdGhlIGVsZW1lbnQuIEFuIG9iamVjdCB3aGVyZSBga2V5YCBpcyB0aGUgbmFtZSBvZiB0aGUgaW5wdXQgYW5kIGB2YWx1ZWAgaXMgdGFyZ2V0IHBhdGhcbiAgICpcbiAgICogSWYgYHZhbHVlID09IG51bGxgLCB0aGVuIHRoZSBlbGVtZW50IGFjdHMgbGlrZSBhIHRhcmdldCAtIHdlIGV4cGVjdCBvdGhlciBlbGVtZW50IHRvIGNvbm5lY3QgdG8gaXQuXG4gICAqXG4gICAqIEV4YW1wbGVzOlxuICAgKlxuICAgKiAxLiBgcHJvZHVjdHM6ICcvUm9vdC9TZXJ2aWNlcy9EYXRhU2VydmljZSdgXG4gICAqIFRoZSBlbGVtZW50IHdpbGwgaGF2ZSBgcHJvZHVjdHNgIGlucHV0IHdoaWNoIHdpbGwgZ2V0IHRoZSBkYXRhIGZyb20gYHByb2R1Y3RzYCBvdXRwdXQgaW4gZGF0YXNlcnZpY2UgZWxlbWVudFxuICAgKlxuICAgKiAyLiBgcHJvZHVjdHNMaXN0OiAnL1Jvb3QvU2VydmljZXMvRGF0YVNlcnZpY2UvOnByb2R1Y3RzJ2BcbiAgICogVGhlIGVsZW1lbnQgd2lsbCBoYXZlIGBwcm9kdWN0c0xpc3RgIGlucHV0IHdoaWNoIHdpbGwgZ2V0IHRoZSBkYXRhIGZyb20gYHByb2R1Y3RzYCBvdXRwdXQgaW4gZGF0YXNlcnZpY2UgZWxlbWVudFxuICAgKlxuICAgKiAzLiBgcHJvZHVjdHNMaXN0OiAnQFNlcnZpY2VzL0RhdGFTZXJ2aWNlLzpwcm9kdWN0cydgXG4gICAqIFRoZSBlbGVtZW50IHdpbGwgaGF2ZSBgcHJvZHVjdHNMaXN0YCBpbnB1dCB3aGljaCB3aWxsIGdldCB0aGUgZGF0YSBmcm9tIGBwcm9kdWN0c2Agb3V0cHV0IGluIGRhdGFzZXJ2aWNlIGVsZW1lbnQgd2hpY2ggaXMgZGVjbGFyZWQgaW4gYFNlcnZpY2VzYCBtb2R1bGVcbiAgICpcbiAgICogNC4gYG9uUHJvZHVjdFNlbGVjdDogbnVsbGBcbiAgICogVGhlIGVsZW1lbnQgd2lsbCBoYXZlIGBvblByb2R1Y3RTZWxlY3RgIGlucHV0LCBhbmQgdGhlIHNjcmlwdCBjb3VsZCBoYXZlIGEgbG9naWMgd2hpY2ggd2lsbCBsaXN0ZW4gb24gdGhlIGV2ZW50c1xuICAgKlxuICAgKiBSZWxhdGl2ZSBwYXRocyBhbGxvd2VkOlxuICAgKlxuICAgKiAtIGAuLmBcbiAgICogLSBgLi4vOnByb2R1Y3RzYFxuICAgKiAtIGAuLi8uLi9EYXRhU2VydmljZS86cHJvZHVjdHNgXG4gICAqXG4gICAqL1xuICBpbnB1dHM/OiBEaWN0aW9uYXJ5PHN0cmluZyB8IG51bGw+O1xuICAvKipcbiAgICogRGVmaW5lcyBvdXRwdXRzIG9mIHRoZSBlbGVtZW50LiBBbiBvYmplY3Qgd2hlcmUgYGtleWAgaXMgdGhlIG5hbWUgb2YgdGhlIG91dHB1dCBhbmQgYHZhbHVlYCBpcyB0YXJnZXQgcGF0aFxuICAgKlxuICAgKiBJZiBgdmFsdWUgPT0gbnVsbGAsIHRoZW4gdGhlIGVsZW1lbnQgYWN0cyBsaWtlIGEgdGFyZ2V0IC0gd2UgZXhwZWN0IG90aGVyIGVsZW1lbnQgdG8gY29ubmVjdCB0byBpdC5cbiAgICpcbiAgICogRXhhbXBsZXM6XG4gICAqXG4gICAqIDEuIGBvblByb2R1Y3RTZWxlY3Q6ICcvUm9vdC9TZXJ2aWNlcy9EYXRhU2VydmljZS86aGFuZGxlUHJvZHVjdFNlbGVjdCdgXG4gICAqIFRoZSBlbGVtZW50IHdpbGwgaGF2ZSBgb25Qcm9kdWN0U2VsZWN0YCBvdXRwdXQsIHdoaWNoIHdpbGwgZW1pdCBldmVudHMgdG8gdGhlIGBkYXRhc2VydmljZWAgZWxlbWVudCBgaGFuZGxlUHJvZHVjdFNlbGVjdGAgaW5wdXRcbiAgICpcbiAgICogMi4gYG9uUHJvZHVjdFNlbGVjdDogJ0BTZXJ2aWNlcy9EYXRhU2VydmljZS86aGFuZGxlUHJvZHVjdFNlbGVjdCdgXG4gICAqIFNhbWUgb3V0cHV0IGJ1dCBhY2Nlc3NpbmcgZGF0YXNlcnZpY2UgYnkgdGhlIFNlcnZpY2UgbW9kdWxlXG4gICAqL1xuICBvdXRwdXRzPzogRGljdGlvbmFyeTxzdHJpbmcgfCBudWxsPjtcbiAgbW9kZWw/OiBFbGVtZW50TW9kZWw7XG4gIC8qKlxuICAgKiBEZWZpbmVzIGEgc2hhcmVkIGNvbXBvbmVudCBuYW1lIHRvIHVzZSBhcyBhIHJlZmVyZW5jZVxuICAgKlxuICAgKiBVc2VkIG9ubHkgd2hlbiBgdHlwZSA9PT0gUkVGRVJFTkNFYFxuICAgKi9cbiAgcmVmZXJlbmNlPzogc3RyaW5nO1xuICBjaGlsZHJlbj86IHN0cmluZ1tdO1xuICAvKipcbiAgICogQ29udGFpbnMgc3R5bGVzIGNvbmZpZ3VyYWJsZSBmcm9tIFVJIGJ1aWxkZXJcbiAgICovXG4gIGNvbmZpZ3VyZWRTdHlsZXM/OiBFbGVtZW50U3R5bGVEZWNsYXJhdGlvbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFbGVtZW50TWV0YWRhdGEgZXh0ZW5kcyBPbWl0PEVsZW1lbnREZWZhdWx0TWV0YWRhdGEsICdjaGlsZHJlbic+IHtcbiAgcGF0aD86IHN0cmluZztcbiAgY2hpbGRyZW46IEVsZW1lbnRNZXRhZGF0YVtdO1xuICB0ZW1wbGF0ZT86IHN0cmluZztcbiAgc3R5bGVzPzogc3RyaW5nO1xuICBzY3JpcHQ/OiBzdHJpbmc7XG4gIG1ldGFkYXRhPzogc3RyaW5nO1xufVxuIl19
|
@@ -1,10 +1,10 @@
|
|
1
1
|
import { __decorate, __param, __awaiter, __rest } from 'tslib';
|
2
2
|
import * as i0 from '@angular/core';
|
3
|
-
import { InjectionToken, Component, ChangeDetectionStrategy, Inject, Injector, Injectable, ViewContainerRef, SkipSelf, ViewChild, Input, ViewEncapsulation, NgModule, Directive
|
3
|
+
import { InjectionToken, Component, ChangeDetectionStrategy, Inject, Injector, Injectable, ViewContainerRef, SkipSelf, ViewChild, Input, ViewEncapsulation, NgModule, Directive } from '@angular/core';
|
4
4
|
import * as rxjs from 'rxjs';
|
5
5
|
import { BehaviorSubject, Subject, of, map, tap, switchMap, startWith, distinctUntilChanged, filter, takeUntil, forkJoin, catchError, ReplaySubject, combineLatest, from } from 'rxjs';
|
6
6
|
import * as lodash from 'lodash';
|
7
|
-
import { compact, isArray, pull,
|
7
|
+
import { compact, isArray, pull, flatten, set, kebabCase, cloneDeep } from 'lodash';
|
8
8
|
import { applyPatch } from 'rfc6902';
|
9
9
|
import * as i2 from '@veloceapps/sdk/core';
|
10
10
|
import { ConfigurationService, LineItemWorker, generateLineItem, getAttributeValue, QuoteDraftService, FlowConfigurationService, ProductImagesService, ContextService, lineItemUtils, SdkCoreModule, UI_DEFINITION_VERSION } from '@veloceapps/sdk/core';
|
@@ -889,155 +889,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
889
889
|
type: Input
|
890
890
|
}] } });
|
891
891
|
|
892
|
-
class ElementHoverPlugin {
|
893
|
-
constructor(host) {
|
894
|
-
this.host = host;
|
895
|
-
this.hoverClassName = 'element-hover';
|
896
|
-
this.color = 'red';
|
897
|
-
this.highlighted = false;
|
898
|
-
this.destroyed$ = new Subject();
|
899
|
-
this.el = this.host.injector.get(ElementRef);
|
900
|
-
this.metadata = this.host.injector.get(ELEMENT_METADATA);
|
901
|
-
this.document = this.host.injector.get(DOCUMENT);
|
902
|
-
this.runtimeEditorService = this.host.injector.get(RuntimeEditorService);
|
903
|
-
this.mouseOverListenerBound = this.mouseOverListener.bind(this);
|
904
|
-
this.mouseLeaveListenerBound = this.mouseLeaveListener.bind(this);
|
905
|
-
this.runtimeEditorService.editorMode$.pipe(takeUntil(this.destroyed$)).subscribe(editorMode => {
|
906
|
-
if (editorMode) {
|
907
|
-
this.attachListeners();
|
908
|
-
}
|
909
|
-
else {
|
910
|
-
this.detachListeners();
|
911
|
-
}
|
912
|
-
});
|
913
|
-
}
|
914
|
-
ngOnDestroy() {
|
915
|
-
this.destroyed$.next();
|
916
|
-
this.destroyed$.complete();
|
917
|
-
this.detachListeners();
|
918
|
-
}
|
919
|
-
attachListeners() {
|
920
|
-
this.el.nativeElement.addEventListener('mouseover', this.mouseOverListenerBound);
|
921
|
-
this.el.nativeElement.addEventListener('mouseleave', this.mouseLeaveListenerBound);
|
922
|
-
}
|
923
|
-
detachListeners() {
|
924
|
-
this.el.nativeElement.removeEventListener('mouseover', this.mouseOverListenerBound);
|
925
|
-
this.el.nativeElement.removeEventListener('mouseleave', this.mouseLeaveListenerBound);
|
926
|
-
}
|
927
|
-
mouseOverListener(e) {
|
928
|
-
const path = e.composedPath();
|
929
|
-
const innerPath = path.slice(0, path.indexOf(this.el.nativeElement));
|
930
|
-
const hasChildHovered = innerPath.some(target => {
|
931
|
-
const t = target;
|
932
|
-
return t.tagName === 'VL-ELEMENT' && t.classList.contains(this.hoverClassName);
|
933
|
-
});
|
934
|
-
if (hasChildHovered) {
|
935
|
-
this.removeHighlight();
|
936
|
-
}
|
937
|
-
else {
|
938
|
-
this.addHighlight();
|
939
|
-
}
|
940
|
-
}
|
941
|
-
mouseLeaveListener() {
|
942
|
-
this.removeHighlight();
|
943
|
-
}
|
944
|
-
addHighlight() {
|
945
|
-
if (this.highlighted) {
|
946
|
-
return;
|
947
|
-
}
|
948
|
-
this.highlighted = true;
|
949
|
-
this.el.nativeElement.classList.add(this.hoverClassName);
|
950
|
-
const overlay = this.createContainer();
|
951
|
-
this.addRemoveButton(overlay);
|
952
|
-
this.addElementName(overlay);
|
953
|
-
this.el.nativeElement.appendChild(overlay);
|
954
|
-
this.overlayEl = overlay;
|
955
|
-
}
|
956
|
-
removeHighlight() {
|
957
|
-
if (!this.highlighted) {
|
958
|
-
return;
|
959
|
-
}
|
960
|
-
this.highlighted = false;
|
961
|
-
this.el.nativeElement.style.boxShadow = '';
|
962
|
-
this.el.nativeElement.classList.remove(this.hoverClassName);
|
963
|
-
this.deleteRemoveButton();
|
964
|
-
}
|
965
|
-
createContainer() {
|
966
|
-
const hostRect = this.el.nativeElement.getBoundingClientRect();
|
967
|
-
const div = this.document.createElement('div');
|
968
|
-
merge(div.style, {
|
969
|
-
position: 'fixed',
|
970
|
-
display: 'block',
|
971
|
-
pointerEvents: 'none',
|
972
|
-
left: '0',
|
973
|
-
top: '0',
|
974
|
-
fontSize: '10px',
|
975
|
-
lineHeight: `12px`,
|
976
|
-
fontWeight: '400',
|
977
|
-
color: '#fff',
|
978
|
-
width: `${hostRect.width}px`,
|
979
|
-
height: `${hostRect.height}px`,
|
980
|
-
transform: `translate(${hostRect.left}px, ${hostRect.top}px)`,
|
981
|
-
boxSizing: 'border-box',
|
982
|
-
boxShadow: `inset 0 0 0 1px ${this.color}`,
|
983
|
-
});
|
984
|
-
return div;
|
985
|
-
}
|
986
|
-
addRemoveButton(container) {
|
987
|
-
if (this.metadata.type === 'LAYOUT_REGION') {
|
988
|
-
return;
|
989
|
-
}
|
990
|
-
const buttonEl = this.document.createElement('div');
|
991
|
-
const buttonSize = 12;
|
992
|
-
merge(buttonEl.style, {
|
993
|
-
bottom: '100%',
|
994
|
-
right: '0',
|
995
|
-
width: `${buttonSize}px`,
|
996
|
-
height: `${buttonSize}px`,
|
997
|
-
padding: '1px',
|
998
|
-
textAlign: 'center',
|
999
|
-
backgroundColor: this.color,
|
1000
|
-
position: 'absolute',
|
1001
|
-
cursor: 'pointer',
|
1002
|
-
display: 'block',
|
1003
|
-
pointerEvents: 'all',
|
1004
|
-
});
|
1005
|
-
buttonEl.innerHTML = '✕';
|
1006
|
-
buttonEl.addEventListener('click', () => {
|
1007
|
-
if (this.metadata.path) {
|
1008
|
-
this.runtimeEditorService.elementDeleted$.next({ path: this.metadata.path });
|
1009
|
-
}
|
1010
|
-
});
|
1011
|
-
container.appendChild(buttonEl);
|
1012
|
-
}
|
1013
|
-
addElementName(container) {
|
1014
|
-
const nameEl = this.document.createElement('div');
|
1015
|
-
merge(nameEl.style, {
|
1016
|
-
bottom: '100%',
|
1017
|
-
left: '0',
|
1018
|
-
height: `12px`,
|
1019
|
-
backgroundColor: this.color,
|
1020
|
-
position: 'absolute',
|
1021
|
-
padding: '1px 2px',
|
1022
|
-
display: 'block',
|
1023
|
-
pointerEvents: 'all',
|
1024
|
-
});
|
1025
|
-
nameEl.innerHTML = this.metadata.name;
|
1026
|
-
container.appendChild(nameEl);
|
1027
|
-
}
|
1028
|
-
deleteRemoveButton() {
|
1029
|
-
if (this.overlayEl) {
|
1030
|
-
this.el.nativeElement.removeChild(this.overlayEl);
|
1031
|
-
this.overlayEl = undefined;
|
1032
|
-
}
|
1033
|
-
}
|
1034
|
-
}
|
1035
|
-
ElementHoverPlugin.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ElementHoverPlugin, deps: [{ token: ElementComponent }], target: i0.ɵɵFactoryTarget.Directive });
|
1036
|
-
ElementHoverPlugin.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: ElementHoverPlugin, ngImport: i0 });
|
1037
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ElementHoverPlugin, decorators: [{
|
1038
|
-
type: Directive
|
1039
|
-
}], ctorParameters: function () { return [{ type: ElementComponent }]; } });
|
1040
|
-
|
1041
892
|
class IOPlugin {
|
1042
893
|
constructor(host) {
|
1043
894
|
var _a, _b;
|
@@ -1136,12 +987,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
1136
987
|
const CONFIG = {
|
1137
988
|
CUSTOM: {
|
1138
989
|
component: ElementComponent,
|
1139
|
-
plugins: [
|
990
|
+
plugins: [IOPlugin, ScriptPlugin],
|
1140
991
|
},
|
1141
992
|
CONTAINER: {
|
1142
993
|
component: ElementComponent,
|
1143
994
|
defaultTemplate: '<element-children></element-children>',
|
1144
|
-
plugins: [
|
995
|
+
plugins: [ScriptPlugin],
|
1145
996
|
},
|
1146
997
|
SERVICE: {
|
1147
998
|
component: ElementComponent,
|
@@ -1151,21 +1002,9 @@ const CONFIG = {
|
|
1151
1002
|
},
|
1152
1003
|
REFERENCE: {
|
1153
1004
|
component: ElementComponent,
|
1154
|
-
plugins: [
|
1005
|
+
plugins: [IOPlugin, ScriptPlugin],
|
1155
1006
|
suppressTemplate: true,
|
1156
1007
|
},
|
1157
|
-
PAGE: {
|
1158
|
-
component: ElementComponent,
|
1159
|
-
plugins: [ElementHoverPlugin, IOPlugin, ScriptPlugin],
|
1160
|
-
},
|
1161
|
-
PAGE_LAYOUT: {
|
1162
|
-
component: ElementComponent,
|
1163
|
-
plugins: [ElementHoverPlugin, IOPlugin, ScriptPlugin],
|
1164
|
-
},
|
1165
|
-
LAYOUT_REGION: {
|
1166
|
-
component: ElementComponent,
|
1167
|
-
plugins: [ElementHoverPlugin, IOPlugin, ScriptPlugin],
|
1168
|
-
},
|
1169
1008
|
};
|
1170
1009
|
|
1171
1010
|
const EXPORTED_CLASS_REGEX = /export class (\S+)/;
|