@omegagrid/bucket 0.6.100 → 0.6.102
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/dist/options.d.ts +3 -3
- package/dist/options.d.ts.map +1 -1
- package/dist/options.js.map +1 -1
- package/dist/types.d.ts +1 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/ui/bucket.components.d.ts +3 -1
- package/dist/ui/bucket.components.d.ts.map +1 -1
- package/dist/ui/bucket.components.js +11 -0
- package/dist/ui/bucket.components.js.map +1 -1
- package/dist/ui/componentHost.d.ts +3 -1
- package/dist/ui/componentHost.d.ts.map +1 -1
- package/dist/ui/componentHost.js +26 -11
- package/dist/ui/componentHost.js.map +1 -1
- package/package.json +5 -5
package/dist/options.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { CommonOptions
|
|
2
|
-
import {
|
|
1
|
+
import { CommonOptions } from "@omegagrid/core";
|
|
2
|
+
import { PathResolver } from "./types";
|
|
3
3
|
export type AlertsOptions = {
|
|
4
4
|
maxItems: number;
|
|
5
5
|
timeout: number;
|
|
6
6
|
};
|
|
7
7
|
export type BucketOptions = {
|
|
8
8
|
alerts?: AlertsOptions;
|
|
9
|
-
pathResolver?:
|
|
9
|
+
pathResolver?: PathResolver;
|
|
10
10
|
} & CommonOptions;
|
|
11
11
|
export declare function initOptions(options?: Partial<BucketOptions>, origOptions?: BucketOptions): BucketOptions;
|
|
12
12
|
//# sourceMappingURL=options.d.ts.map
|
package/dist/options.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,MAAM,MAAM,aAAa,GAAG;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CAChB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAC3B,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,YAAY,CAAC,EAAE,YAAY,CAAC;CAC5B,GAAG,aAAa,CAAA;AAUjB,wBAAgB,WAAW,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,EAAE,WAAW,GAAE,aAAoB,GAAG,aAAa,CAO9G"}
|
package/dist/options.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.js","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAiB,MAAM,iBAAiB,CAAC;AAanE,MAAM,eAAe,GAAkB;IACtC,MAAM,EAAE;QACP,QAAQ,EAAE,CAAC;QACX,OAAO,EAAE,IAAI;KACb;CACD,CAAA;AAGD,MAAM,UAAU,WAAW,CAAC,OAAgC,EAAE,cAA6B,IAAI;IAC9F,OAAO;QACN,GAAG,iBAAiB,CAAC,OAAO,EAAE,WAAW,CAAC;QAC1C,GAAG,eAAe;QAClB,GAAG,WAAW;QACd,GAAG,OAAO;KACV,CAAC;AACH,CAAC","sourcesContent":["import { initCommonOptions, CommonOptions } from \"@omegagrid/core\";\nimport { PathResolver } from \"./types\";\n\nexport type AlertsOptions = {\n\tmaxItems: number,\n\ttimeout: number,\n}\n\nexport type BucketOptions = {\n\talerts?: AlertsOptions,\n\tpathResolver?: PathResolver,\n} & CommonOptions\n\nconst DEFAULT_OPTIONS: BucketOptions = {\n\talerts: {\n\t\tmaxItems: 5,\n\t\ttimeout: 5000,\n\t},\n}\n\n\nexport function initOptions(options?: Partial<BucketOptions>, origOptions: BucketOptions = null): BucketOptions {\n\treturn {\n\t\t...initCommonOptions(options, origOptions),\n\t\t...DEFAULT_OPTIONS,\n\t\t...origOptions,\n\t\t...options,\n\t};\n}"]}
|
package/dist/types.d.ts
CHANGED
|
@@ -35,6 +35,7 @@ export type PathSegment = {
|
|
|
35
35
|
clickable?: boolean;
|
|
36
36
|
};
|
|
37
37
|
export type PathSegments = (PathSegment | string)[];
|
|
38
|
+
export type PathResolver = (id: ComponentId) => PathSegments | Promise<PathSegments>;
|
|
38
39
|
export type ComponentUpdateOptions = {
|
|
39
40
|
id?: ComponentId;
|
|
40
41
|
title?: string;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC5F,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,MAAM,MAAM,YAAY,GAAI;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC9B,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IACjC,EAAE,CAAC,EAAE,WAAW,CAAC;IACjB,SAAS,CAAC,EAAE,WAAW,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,kBAAkB,CAAA;CAC7B,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEvD,MAAM,MAAM,WAAW,GAAG;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;CACpB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,CAAC,WAAW,GAAC,MAAM,CAAC,EAAE,CAAC;AAElD,MAAM,MAAM,YAAY,GAAG,CAAC,EAAE,EAAE,WAAW,KAAK,YAAY,GAAC,OAAO,CAAC,YAAY,CAAC,CAAC;AAEnF,MAAM,MAAM,sBAAsB,GAAG;IACpC,EAAE,CAAC,EAAE,WAAW,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,OAAO,GAAI;IACtB,EAAE,EAAE,WAAW,CAAA;CACf,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACzB,UAAU,EAAE,OAAO,EAAE,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IAC1B,GAAG,CAAC,EAAE,WAAW,CAAC;IAClB,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,YAAY,CAAC,EAAE,uBAAuB,CAAC;IACvC,OAAO,CAAC,EAAE,aAAa,CAAC;CACxB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,UAAU,GAAC,QAAQ,CAAA;CAC5B,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG;IAAC,WAAW,EAAE,WAAW,CAAA;CAAC,CAAC;AAE/D,MAAM,MAAM,WAAW,GAAG;IACzB,OAAO,CAAC,EAAE;QACT,YAAY,CAAC,EAAE,WAAW,CAAA;QAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,OAAO,CAAA;KACnB,CAAC;IACF,MAAM,CAAC,EAAE,uBAAuB,CAAC;IACjC,OAAO,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,CAAA;CAChD,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG,aAAa,GAAG;IAAC,EAAE,CAAC,EAAE,WAAW,CAAA;CAAC,CAAA;AAElE,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,EAEtC,CAAA;AAED,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAC,SAAS,GAAC,MAAM,GAAC,SAAS,CAAC;AAElE,MAAM,MAAM,kBAAkB,GAAG;IAChC,KAAK,CAAC,EAAE,MAAM,GAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,GAAC,QAAQ,CAAC;IACvB,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,GAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAA;CAChB,CAAC"}
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"","sourcesContent":["import { Commands } from \"@omegagrid/commands\";\nimport { ComponentId, ComponentState, HorizontalPosition, IconSpec } from \"@omegagrid/core\";\nimport { Dialog } from \"@omegagrid/dialog\";\nimport { TabItem, TabSplitContainerSource } from \"@omegagrid/tabs\";\nimport { CommonMenu } from \"./ui\";\nimport { DialogOptions } from \"@omegagrid/dialog\";\nimport { TemplateResult } from \"lit\";\nimport { BucketOptions } from \"./options\";\n\nexport type SidemenuItem = {\n\tid: string,\n\ticon: string,\n\tstatusIcon?: string,\n\tstatusColor?: string,\n\ttext?: string,\n\ttooltip?: string,\n\tcolor?: string\n}\n\nexport type SidemenuSettings = {\n\titems: SidemenuItem[];\n\tactiveIndex?: number;\n}\n\nexport type ModalSidebarOptions = {\n\tid?: ComponentId,\n\tcomponent?: HTMLElement,\n\twidth?: number,\n\tcaption?: string,\n\tclosable?: boolean,\n\tposition?: HorizontalPosition\n}\n\nexport type ComponentOptions = Record<string, unknown>;\n\nexport type PathSegment = {\n\tid: string,\n\tlabel?: string,\n\ticon?: string,\n\tclickable?: boolean,\n}\n\nexport type PathSegments = (PathSegment|string)[];\n\nexport type ComponentUpdateOptions = {\n\tid?: ComponentId,\n\ttitle?: string\n}\n\nexport type TopItem = {\n\tid: ComponentId\n}\n\nexport type TopSettings = {\n\trightItems: TopItem[]\n}\n\nexport type BucketSource = {\n\ttop?: TopSettings,\n\tsidemenu?: SidemenuSettings,\n\teditorLayout?: TabSplitContainerSource,\n\toptions?: BucketOptions,\n}\n\nexport type BucketMenuOptions = {\n\ttext?: string,\n\tcontent: CommonMenu|Commands\n}\n\nexport type BucketDialog = Dialog & {componentId: ComponentId};\n\nexport type BucketState = {\n\tsidebar?: {\n\t\tselectedItem?: ComponentId\n\t\twidth?: number,\n\t\tcollapsed?: boolean\n\t},\n\tlayout?: TabSplitContainerSource,\n\tdialogs?: OpenDialogOptions[],\n\tcomponents?: Record<ComponentId, ComponentState>\n}\n\nexport type OpenDialogOptions = DialogOptions & {id?: ComponentId}\n\nexport type OpenTabOptions = TabItem & {\n\t// path?: PathSegments,\n}\n\nexport type BucketAlertType = 'danger'|'warning'|'info'|'success';\n\nexport type BucketAlertOptions = {\n\ttitle?: string|TemplateResult<1>,\n\ticon?: string|IconSpec,\n\ttype?: BucketAlertType,\n\tcontent?: string|TemplateResult<1>,\n\ttimeout?: number\n};\n"]}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"","sourcesContent":["import { Commands } from \"@omegagrid/commands\";\nimport { ComponentId, ComponentState, HorizontalPosition, IconSpec } from \"@omegagrid/core\";\nimport { Dialog } from \"@omegagrid/dialog\";\nimport { TabItem, TabSplitContainerSource } from \"@omegagrid/tabs\";\nimport { CommonMenu } from \"./ui\";\nimport { DialogOptions } from \"@omegagrid/dialog\";\nimport { TemplateResult } from \"lit\";\nimport { BucketOptions } from \"./options\";\n\nexport type SidemenuItem = {\n\tid: string,\n\ticon: string,\n\tstatusIcon?: string,\n\tstatusColor?: string,\n\ttext?: string,\n\ttooltip?: string,\n\tcolor?: string\n}\n\nexport type SidemenuSettings = {\n\titems: SidemenuItem[];\n\tactiveIndex?: number;\n}\n\nexport type ModalSidebarOptions = {\n\tid?: ComponentId,\n\tcomponent?: HTMLElement,\n\twidth?: number,\n\tcaption?: string,\n\tclosable?: boolean,\n\tposition?: HorizontalPosition\n}\n\nexport type ComponentOptions = Record<string, unknown>;\n\nexport type PathSegment = {\n\tid: string,\n\tlabel?: string,\n\ticon?: string,\n\tclickable?: boolean,\n}\n\nexport type PathSegments = (PathSegment|string)[];\n\nexport type PathResolver = (id: ComponentId) => PathSegments|Promise<PathSegments>;\n\nexport type ComponentUpdateOptions = {\n\tid?: ComponentId,\n\ttitle?: string\n}\n\nexport type TopItem = {\n\tid: ComponentId\n}\n\nexport type TopSettings = {\n\trightItems: TopItem[]\n}\n\nexport type BucketSource = {\n\ttop?: TopSettings,\n\tsidemenu?: SidemenuSettings,\n\teditorLayout?: TabSplitContainerSource,\n\toptions?: BucketOptions,\n}\n\nexport type BucketMenuOptions = {\n\ttext?: string,\n\tcontent: CommonMenu|Commands\n}\n\nexport type BucketDialog = Dialog & {componentId: ComponentId};\n\nexport type BucketState = {\n\tsidebar?: {\n\t\tselectedItem?: ComponentId\n\t\twidth?: number,\n\t\tcollapsed?: boolean\n\t},\n\tlayout?: TabSplitContainerSource,\n\tdialogs?: OpenDialogOptions[],\n\tcomponents?: Record<ComponentId, ComponentState>\n}\n\nexport type OpenDialogOptions = DialogOptions & {id?: ComponentId}\n\nexport type OpenTabOptions = TabItem & {\n\t// path?: PathSegments,\n}\n\nexport type BucketAlertType = 'danger'|'warning'|'info'|'success';\n\nexport type BucketAlertOptions = {\n\ttitle?: string|TemplateResult<1>,\n\ticon?: string|IconSpec,\n\ttype?: BucketAlertType,\n\tcontent?: string|TemplateResult<1>,\n\ttimeout?: number\n};\n"]}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { ComponentId, ComponentSlice, ComponentState } from "@omegagrid/core";
|
|
2
|
-
import { ComponentUpdateOptions } from "../types";
|
|
2
|
+
import { ComponentUpdateOptions, PathSegments } from "../types";
|
|
3
3
|
import { Bucket } from "./bucket";
|
|
4
4
|
export declare class BucketComponents extends ComponentSlice<Bucket> {
|
|
5
5
|
private _componentPromiseResolutions;
|
|
6
6
|
private _resolvingComponentIds;
|
|
7
|
+
readonly paths: Map<ComponentId, PathSegments>;
|
|
7
8
|
readonly items: Map<ComponentId, HTMLElement>;
|
|
8
9
|
readonly unsavedComponents: Set<ComponentId>;
|
|
9
10
|
get hasUnsavedComponents(): boolean;
|
|
@@ -17,5 +18,6 @@ export declare class BucketComponents extends ComponentSlice<Bucket> {
|
|
|
17
18
|
update(id: ComponentId, options: ComponentUpdateOptions): HTMLElement;
|
|
18
19
|
register(id: ComponentId, component: HTMLElement): void;
|
|
19
20
|
unregister(id: ComponentId): void;
|
|
21
|
+
getPath(id: ComponentId): Promise<PathSegments>;
|
|
20
22
|
}
|
|
21
23
|
//# sourceMappingURL=bucket.components.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bucket.components.d.ts","sourceRoot":"","sources":["../../src/ui/bucket.components.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAkB,MAAM,iBAAiB,CAAC;AAC9F,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"bucket.components.d.ts","sourceRoot":"","sources":["../../src/ui/bucket.components.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAkB,MAAM,iBAAiB,CAAC;AAC9F,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,EAAE,MAAM,EAAe,MAAM,UAAU,CAAC;AAE/C,qBAAa,gBAAiB,SAAQ,cAAc,CAAC,MAAM,CAAC;IAE3D,OAAO,CAAC,4BAA4B,CAG7B;IAEP,OAAO,CAAC,sBAAsB,CAA0B;IAExD,QAAQ,CAAC,KAAK,iCAAwC;IACtD,QAAQ,CAAC,KAAK,gCAAuC;IACrD,QAAQ,CAAC,iBAAiB,mBAA0B;IACpD,IAAI,oBAAoB,YAA6C;IAErE,IAAI,MAAM,WAA4B;IAEtC,QAAQ,CAAC,MAAM,mCAA0C;IAEzD,QAAQ,CAAC,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc;IAS/C,GAAG,CAAC,EAAE,EAAE,WAAW;IAInB,GAAG,CAAC,EAAE,EAAE,WAAW;IA2BnB,OAAO,CAAC,wBAAwB;IAYhC,0BAA0B,CAAC,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,SAAS,EAAE,WAAW,KAAK,IAAI,EAAE,MAAM,EAAE,MAAM,IAAI;IAKzG,MAAM,CAAC,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,sBAAsB;IAWvD,QAAQ,CAAC,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW;IAKhD,UAAU,CAAC,EAAE,EAAE,WAAW;IAMpB,OAAO,CAAC,EAAE,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;CAQrD"}
|
|
@@ -5,6 +5,7 @@ export class BucketComponents extends ComponentSlice {
|
|
|
5
5
|
super(...arguments);
|
|
6
6
|
this._componentPromiseResolutions = new Map();
|
|
7
7
|
this._resolvingComponentIds = new Set();
|
|
8
|
+
this.paths = new Map();
|
|
8
9
|
this.items = new Map();
|
|
9
10
|
this.unsavedComponents = new Set();
|
|
10
11
|
this.states = new Map();
|
|
@@ -82,7 +83,17 @@ export class BucketComponents extends ComponentSlice {
|
|
|
82
83
|
}
|
|
83
84
|
unregister(id) {
|
|
84
85
|
this.items.delete(id);
|
|
86
|
+
this.paths.delete(id);
|
|
85
87
|
this.bucket.dispatchEvent(new BucketEvent('unregister', { componentId: id }));
|
|
86
88
|
}
|
|
89
|
+
async getPath(id) {
|
|
90
|
+
if (this.paths.has(id))
|
|
91
|
+
return this.paths.get(id);
|
|
92
|
+
if (!this.bucket.options.pathResolver)
|
|
93
|
+
return [];
|
|
94
|
+
const path = await this.bucket.options.pathResolver(id);
|
|
95
|
+
this.paths.set(id, path);
|
|
96
|
+
return path;
|
|
97
|
+
}
|
|
87
98
|
}
|
|
88
99
|
//# sourceMappingURL=bucket.components.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bucket.components.js","sourceRoot":"","sources":["../../src/ui/bucket.components.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,cAAc,EAAkC,MAAM,iBAAiB,CAAC;AAE9F,OAAO,EAAU,WAAW,EAAE,MAAM,UAAU,CAAC;AAE/C,MAAM,OAAO,gBAAiB,SAAQ,cAAsB;IAA5D;;QAES,iCAA4B,GAAG,IAAI,GAAG,EAGxC,CAAC;QAEC,2BAAsB,GAAG,IAAI,GAAG,EAAe,CAAC;QAE/C,UAAK,GAAG,IAAI,GAAG,EAA4B,CAAC;QAC5C,sBAAiB,GAAG,IAAI,GAAG,EAAe,CAAC;QAK3C,WAAM,GAAG,IAAI,GAAG,EAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"bucket.components.js","sourceRoot":"","sources":["../../src/ui/bucket.components.ts"],"names":[],"mappings":"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","sourcesContent":["import { ComponentId, ComponentSlice, ComponentState, OmegaComponent } from \"@omegagrid/core\";\nimport { ComponentUpdateOptions, PathSegments } from \"../types\";\nimport { Bucket, BucketEvent } from \"./bucket\";\n\nexport class BucketComponents extends ComponentSlice<Bucket> {\n\n\tprivate _componentPromiseResolutions = new Map<ComponentId, {\n\t\tresolve: (component: HTMLElement) => void,\n\t\treject: () => void\n\t}[]>();\n\n\tprivate _resolvingComponentIds = new Set<ComponentId>();\n\t\n\treadonly paths = new Map<ComponentId, PathSegments>();\n\treadonly items = new Map<ComponentId, HTMLElement>();\n\treadonly unsavedComponents = new Set<ComponentId>();\n\tget hasUnsavedComponents() { return this.unsavedComponents.size > 0 }\n\n\tget bucket() { return this.component }\n\n\treadonly states = new Map<ComponentId, ComponentState>();\n\n\tsetState(id: ComponentId, state: ComponentState) {\n\t\tconst component = this.items.get(id) as OmegaComponent;\n\t\tif (component && component.setState) {\n\t\t\tcomponent.setState(state);\n\t\t} else {\n\t\t\tthis.states.set(id, state);\n\t\t}\n\t}\n\n\thas(id: ComponentId) {\n\t\treturn this.items.has(id);\n\t}\n\n\tget(id: ComponentId) {\n\t\tif (this.items.has(id)) {\n\t\t\tconst component = this.items.get(id);\n\t\t\tthis.resolveComponentPromises(id, component);\n\t\t\treturn component;\n\t\t}\n\t\t\n\t\treturn new Promise<HTMLElement>((resolve, reject) => {\n\t\t\tconst component = this.items.get(id) as OmegaComponent;\n\t\t\tthis.enqueueComponentResolution(id, resolve, reject);\n\t\t\tif (this._resolvingComponentIds.has(id)) return;\n\t\t\tif (component) return this.resolveComponentPromises(id, component);\n\t\t\tthis._resolvingComponentIds.add(id);\n\t\t\tPromise.all([this.component.createComponent(id)]).then(item => {\n\t\t\t\tconst component = item[0] as OmegaComponent;\n\t\t\t\tif (component) {\n\t\t\t\t\tthis.register(id, component);\n\t\t\t\t\tconst state = this.bucket.state;\n\t\t\t\t\tif (state?.components && state?.components[id] && component.setState) {\n\t\t\t\t\t\tcomponent.setState(state.components[id]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.resolveComponentPromises(id, component);\n\t\t\t});\n\t\t});\n\t}\n\n\tprivate resolveComponentPromises(id: ComponentId, component?: HTMLElement) {\n\t\tif (this._componentPromiseResolutions.has(id)) {\n\t\t\tthis._componentPromiseResolutions.get(id).forEach(res => res.resolve(component));\n\t\t\t// if (component) {\n\t\t\t// } else {\n\t\t\t// \tthis._componentPromiseResolutions.get(id).forEach(res => res.reject());\n\t\t\t// }\n\t\t\tthis._componentPromiseResolutions.delete(id);\n\t\t}\n\t\tthis._resolvingComponentIds.delete(id);\n\t}\n\n\tenqueueComponentResolution(id: ComponentId, resolve: (component: HTMLElement) => void, reject: () => void) {\n\t\tif (!this._componentPromiseResolutions.has(id)) this._componentPromiseResolutions.set(id, []);\n\t\tthis._componentPromiseResolutions.get(id).push({ resolve, reject });\n\t}\n\n\tupdate(id: ComponentId, options: ComponentUpdateOptions) {\n\t\tconst newId = options.id ?? id;\n\t\tthis.bucket.editorContainer.updateTab(id, {id: newId, title: options.title ?? undefined});\n\t\tif (this.items.has(id) && newId != id) {\n\t\t\tconst c = this.items.get(id);\n\t\t\tthis.unregister(id);\n\t\t\tthis.register(newId, c);\n\t\t}\n\t\treturn this.items.get(newId);\n\t}\n\n\tregister(id: ComponentId, component: HTMLElement) {\n\t\tthis.items.set(id, component);\n\t\tthis.bucket.dispatchEvent(new BucketEvent('register', {componentId: id}));\n\t}\n\n\tunregister(id: ComponentId) {\n\t\tthis.items.delete(id);\n\t\tthis.paths.delete(id);\n\t\tthis.bucket.dispatchEvent(new BucketEvent('unregister', {componentId: id}));\n\t}\n\n\tasync getPath(id: ComponentId): Promise<PathSegments> {\n\t\tif (this.paths.has(id)) return this.paths.get(id);\n\t\tif (!this.bucket.options.pathResolver) return [];\n\t\tconst path = await this.bucket.options.pathResolver(id);\n\t\tthis.paths.set(id, path);\n\t\treturn path;\n\t}\n\n}\n"]}
|
|
@@ -1,17 +1,19 @@
|
|
|
1
1
|
import { ComponentId, Layout, OmegaComponent } from '@omegagrid/core';
|
|
2
2
|
import { Bucket } from './bucket';
|
|
3
|
+
import { BucketPath } from './path';
|
|
3
4
|
export declare class ComponentHost extends OmegaComponent implements Layout {
|
|
4
5
|
static styles: import("lit").CSSResultGroup[];
|
|
5
6
|
bucket: Bucket;
|
|
6
7
|
componentId: ComponentId;
|
|
8
|
+
head: HTMLDivElement;
|
|
7
9
|
body: HTMLDivElement;
|
|
10
|
+
path: BucketPath;
|
|
8
11
|
private component;
|
|
9
12
|
private isEdited;
|
|
10
13
|
layout(): void;
|
|
11
14
|
_onEdit: () => void;
|
|
12
15
|
_onSave: () => void;
|
|
13
16
|
updated(props: Map<PropertyKey, unknown>): Promise<void>;
|
|
14
|
-
get path(): import("..").PathSegments;
|
|
15
17
|
render: () => import("lit-html").TemplateResult<1>;
|
|
16
18
|
}
|
|
17
19
|
//# sourceMappingURL=componentHost.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"componentHost.d.ts","sourceRoot":"","sources":["../../src/ui/componentHost.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAO,MAAM,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAG3E,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,qBACa,aAAc,SAAQ,cAAe,YAAW,MAAM;IAElE,MAAM,CAAC,MAAM,iCAgBV;IAGH,MAAM,EAAE,MAAM,CAAC;IAGf,WAAW,EAAE,WAAW,CAAC;IAGzB,IAAI,EAAE,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"componentHost.d.ts","sourceRoot":"","sources":["../../src/ui/componentHost.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAO,MAAM,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAG3E,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEpC,qBACa,aAAc,SAAQ,cAAe,YAAW,MAAM;IAElE,MAAM,CAAC,MAAM,iCAgBV;IAGH,MAAM,EAAE,MAAM,CAAC;IAGf,WAAW,EAAE,WAAW,CAAC;IAGzB,IAAI,EAAE,cAAc,CAAC;IAGrB,IAAI,EAAE,cAAc,CAAC;IAGrB,IAAI,EAAE,UAAU,CAAC;IAEjB,OAAO,CAAC,SAAS,CAAc;IAC/B,OAAO,CAAC,QAAQ,CAAS;IAEzB,MAAM;IAMN,OAAO,aAQN;IAED,OAAO,aAQN;IAEK,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC;IA8B9C,MAAM,6CAKJ;CAEF"}
|
package/dist/ui/componentHost.js
CHANGED
|
@@ -34,12 +34,9 @@ let ComponentHost = class ComponentHost extends OmegaComponent {
|
|
|
34
34
|
this.bucket.components.unsavedComponents.delete(this.componentId);
|
|
35
35
|
};
|
|
36
36
|
this.render = () => html `
|
|
37
|
-
|
|
38
|
-
<
|
|
39
|
-
|
|
40
|
-
</og-bucket-path>
|
|
41
|
-
</div>
|
|
42
|
-
` : ''}
|
|
37
|
+
<div class="head" style="display: none">
|
|
38
|
+
<og-bucket-path></og-bucket-path>
|
|
39
|
+
</div>
|
|
43
40
|
<div class="body"></div>
|
|
44
41
|
`;
|
|
45
42
|
}
|
|
@@ -51,6 +48,8 @@ let ComponentHost = class ComponentHost extends OmegaComponent {
|
|
|
51
48
|
async updated(props) {
|
|
52
49
|
if (props.has('componentId') && this.componentId) {
|
|
53
50
|
this.component = await this.bucket.components.get(this.componentId);
|
|
51
|
+
}
|
|
52
|
+
if (this.component) {
|
|
54
53
|
dom.empty(this.body);
|
|
55
54
|
this.body.appendChild(this.component);
|
|
56
55
|
this.component.removeEventListener('edit', this._onEdit);
|
|
@@ -58,11 +57,21 @@ let ComponentHost = class ComponentHost extends OmegaComponent {
|
|
|
58
57
|
this.component.removeEventListener('save', this._onSave);
|
|
59
58
|
this.component.addEventListener('save', this._onSave);
|
|
60
59
|
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
60
|
+
if (props.has('componentId') && this.componentId) {
|
|
61
|
+
let path = [];
|
|
62
|
+
path = await this.bucket.components.getPath(this.componentId);
|
|
63
|
+
this.path.path = path;
|
|
64
|
+
const show = path.length > 0;
|
|
65
|
+
if (!dom.isHidden(this.head) != show) {
|
|
66
|
+
if (show) {
|
|
67
|
+
dom.showElement(this.head);
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
dom.hideElement(this.head);
|
|
71
|
+
}
|
|
72
|
+
this.layout();
|
|
73
|
+
}
|
|
74
|
+
}
|
|
66
75
|
}
|
|
67
76
|
};
|
|
68
77
|
ComponentHost.styles = [OmegaComponent.styles, css `
|
|
@@ -88,9 +97,15 @@ __decorate([
|
|
|
88
97
|
__decorate([
|
|
89
98
|
property({ type: String })
|
|
90
99
|
], ComponentHost.prototype, "componentId", void 0);
|
|
100
|
+
__decorate([
|
|
101
|
+
query('.head')
|
|
102
|
+
], ComponentHost.prototype, "head", void 0);
|
|
91
103
|
__decorate([
|
|
92
104
|
query('.body')
|
|
93
105
|
], ComponentHost.prototype, "body", void 0);
|
|
106
|
+
__decorate([
|
|
107
|
+
query('og-bucket-path')
|
|
108
|
+
], ComponentHost.prototype, "path", void 0);
|
|
94
109
|
ComponentHost = __decorate([
|
|
95
110
|
customElement('og-bucket-component-host')
|
|
96
111
|
], ComponentHost);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"componentHost.js","sourceRoot":"","sources":["../../src/ui/componentHost.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAe,GAAG,EAAU,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC3E,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"componentHost.js","sourceRoot":"","sources":["../../src/ui/componentHost.ts"],"names":[],"mappings":"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","sourcesContent":["import { ComponentId, dom, Layout, OmegaComponent } from '@omegagrid/core';\nimport { css, html } from 'lit';\nimport { customElement, property, query } from 'lit/decorators.js';\nimport { Bucket } from './bucket';\nimport { PathSegments } from '../types';\nimport { BucketPath } from './path';\n\n@customElement('og-bucket-component-host')\nexport class ComponentHost extends OmegaComponent implements Layout {\n\n\tstatic styles = [OmegaComponent.styles, css`\n\t\t:host {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\theight: 100%;\n\t\t}\n\n\t\t.head {\n\t\t\tflex: 0 0 15px;\n\t\t\tline-height: 15px;\n\t\t}\n\n\t\t.body {\n\t\t\theight: 100%;\n\t\t\tflex: 1;\n\t\t}\n\t`];\n\n\t@property({type: Object})\n\tbucket: Bucket;\n\n\t@property({type: String})\n\tcomponentId: ComponentId;\n\n\t@query('.head')\n\thead: HTMLDivElement;\n\t\n\t@query('.body')\n\tbody: HTMLDivElement;\n\n\t@query('og-bucket-path')\n\tpath: BucketPath;\n\t\n\tprivate component: HTMLElement;\n\tprivate isEdited = false;\n\t\n\tlayout() {\n\t\tif ((this.component as Layout)?.layout) {\n\t\t\t(this.component as Layout).layout();\n\t\t}\n\t}\n\n\t_onEdit = () => {\t\n\t\tif (this.isEdited) return;\n\t\tthis.bucket.editorContainer.model.walk(tab => {\n\t\t\tif (tab.id == this.componentId) tab.unsaved = true;\n\t\t});\n\t\tthis.isEdited = true;\n\t\tthis.bucket.editorContainer.updateTabs();\n\t\tthis.bucket.components.unsavedComponents.add(this.componentId);\n\t}\n\n\t_onSave = () => {\n\t\tif (!this.isEdited) return;\n\t\tthis.bucket.editorContainer.model.walk(tab => {\n\t\t\tif (tab.id == this.componentId) tab.unsaved = false;\n\t\t});\n\t\tthis.isEdited = false;\n\t\tthis.bucket.editorContainer.updateTabs();\n\t\tthis.bucket.components.unsavedComponents.delete(this.componentId);\n\t}\n\n\tasync updated(props: Map<PropertyKey, unknown>) {\n\t\tif (props.has('componentId') && this.componentId) {\n\t\t\tthis.component = await this.bucket.components.get(this.componentId);\n\t\t}\n\n\t\tif (this.component) {\n\t\t\tdom.empty(this.body);\n\t\t\tthis.body.appendChild(this.component);\n\t\t\tthis.component.removeEventListener('edit', this._onEdit);\n\t\t\tthis.component.addEventListener('edit', this._onEdit);\n\t\t\tthis.component.removeEventListener('save', this._onSave);\n\t\t\tthis.component.addEventListener('save', this._onSave);\n\t\t}\n\n\t\tif (props.has('componentId') && this.componentId) {\n\t\t\tlet path: PathSegments = [];\n\t\t\tpath = await this.bucket.components.getPath(this.componentId);\n\t\t\tthis.path.path = path as PathSegments;\n\t\t\tconst show = path.length > 0;\n\t\t\tif (!dom.isHidden(this.head) != show) {\n\t\t\t\tif (show) {\n\t\t\t\t\tdom.showElement(this.head);\n\t\t\t\t} else {\n\t\t\t\t\tdom.hideElement(this.head);\n\t\t\t\t}\n\t\t\t\tthis.layout();\n\t\t\t}\n\t\t}\n\t}\n\n\trender = () => html`\n\t\t<div class=\"head\" style=\"display: none\">\n\t\t\t<og-bucket-path></og-bucket-path>\n\t\t</div>\n\t\t<div class=\"body\"></div>\n\t`;\n\n}"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@omegagrid/bucket",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.102",
|
|
4
4
|
"license": "UNLICENSED",
|
|
5
5
|
"description": "Application layout component",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -28,10 +28,10 @@
|
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
30
|
"@fortawesome/fontawesome-svg-core": "6.4.2",
|
|
31
|
-
"@omegagrid/commands": "^0.6.
|
|
32
|
-
"@omegagrid/core": "^0.6.
|
|
33
|
-
"@omegagrid/dialog": "^0.6.
|
|
34
|
-
"@omegagrid/tabs": "^0.6.
|
|
31
|
+
"@omegagrid/commands": "^0.6.102",
|
|
32
|
+
"@omegagrid/core": "^0.6.102",
|
|
33
|
+
"@omegagrid/dialog": "^0.6.102",
|
|
34
|
+
"@omegagrid/tabs": "^0.6.102",
|
|
35
35
|
"@riovir/wc-fontawesome": "^0.1.9",
|
|
36
36
|
"lit": "^3.1.1",
|
|
37
37
|
"ts-debounce": "^4.0.0"
|