@omegagrid/bucket 0.11.30 → 0.11.31
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.
|
@@ -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,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,UAAU,gCAAuC;IAC1D,QAAQ,CAAC,mBAAmB,gCAAuC;IACnE,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,OAAO,CAAC,OAAO;IAIf,GAAG,CAAC,EAAE,EAAE,WAAW;IAyBnB,OAAO,CAAC,EAAE,EAAE,WAAW;IAUvB,wBAAwB,CAAC,EAAE,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,WAAW;IAQjE,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;
|
|
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,UAAU,gCAAuC;IAC1D,QAAQ,CAAC,mBAAmB,gCAAuC;IACnE,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,OAAO,CAAC,OAAO;IAIf,GAAG,CAAC,EAAE,EAAE,WAAW;IAyBnB,OAAO,CAAC,EAAE,EAAE,WAAW;IAUvB,wBAAwB,CAAC,EAAE,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,WAAW;IAQjE,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;IAcvD,QAAQ,CAAC,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW;IAchD,UAAU,CAAC,EAAE,EAAE,WAAW;IAmBpB,OAAO,CAAC,EAAE,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;CAQrD"}
|
|
@@ -77,8 +77,11 @@ export class BucketComponents extends ComponentSlice {
|
|
|
77
77
|
const newId = options.id ?? id;
|
|
78
78
|
this.bucket.editorContainer.updateTab(id, { id: newId, title: options.title ?? undefined });
|
|
79
79
|
if (this.components.has(id) && newId != id) {
|
|
80
|
+
// the component lives on under the new id: moved over, not disposed like on unregister()
|
|
80
81
|
const c = this.components.get(id);
|
|
81
|
-
this.
|
|
82
|
+
this.components.delete(id);
|
|
83
|
+
this.paths.delete(id);
|
|
84
|
+
this.bucket.dispatchEvent(new BucketEvent('unregister', { componentId: id }));
|
|
82
85
|
this.register(newId, c);
|
|
83
86
|
}
|
|
84
87
|
return this.components.get(newId);
|
|
@@ -1 +1 @@
|
|
|
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\n\treadonly paths = new Map<ComponentId, PathSegments>();\n\treadonly components = new Map<ComponentId, HTMLElement>();\n\treadonly anonymousComponents = 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.components.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.components.has(id) || this.anonymousComponents.has(id) || this._resolvingComponentIds.has(id);\n\t}\n\n\tprivate _lookup(id: ComponentId) {\n\t\treturn this.components.get(id) ?? this.anonymousComponents.get(id);\n\t}\n\n\tget(id: ComponentId) {\n\t\tconst component = this._lookup(id);\n\t\tif (component) {\n\t\t\tthis.resolveComponentPromises(id, component);\n\t\t\treturn component;\n\t\t}\n\n\t\treturn new Promise<HTMLElement>((resolve, reject) => {\n\t\t\tthis.enqueueComponentResolution(id, resolve, reject);\n\t\t\tif (this._resolvingComponentIds.has(id)) return;\n\t\t\tthis._resolvingComponentIds.add(id);\n\t\t\tPromise.resolve(this.component.createComponent(id)).then(created => {\n\t\t\t\tconst component = created 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?.[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\twaitFor(id: ComponentId) {\n\t\treturn new Promise<HTMLElement>((resolve, reject) => {\n\t\t\tthis.enqueueComponentResolution(id, resolve, reject);\n\t\t\tconst component = this._lookup(id);\n\t\t\tif (component && !this._resolvingComponentIds.has(id)) {\n\t\t\t\tthis.resolveComponentPromises(id, component);\n\t\t\t}\n\t\t});\n\t}\n\n\tresolveComponentPromises(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\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.components.has(id) && newId != id) {\n\t\t\tconst c = this.components.get(id);\n\t\t\tthis.unregister(id);\n\t\t\tthis.register(newId, c);\n\t\t}\n\t\treturn this.components.get(newId);\n\t}\n\n\tregister(id: ComponentId, component: HTMLElement) {\n\t\tif (id == null) {\n\t\t\tid = `temp_${Bucket.getUniqueId()}`;\n\t\t\tthis.anonymousComponents.set(id, component);\n\t\t} else {\n\t\t\tconst alreadyRegistered = this.components.has(id);\n\t\t\tthis.components.set(id, component);\n\t\t\tif (alreadyRegistered) return id;\n\t\t}\n\n\t\tthis.bucket.dispatchEvent(new BucketEvent('register', {componentId: id}));\n\t\treturn id;\n\t}\n\n\tunregister(id: ComponentId) {\n\t\tlet component: HTMLElement;\n\t\tif (this.components.has(id)) {\n\t\t\tcomponent = this.components.get(id);\n\t\t} else if (this.anonymousComponents.has(id)) {\n\t\t\tcomponent = this.anonymousComponents.get(id);\n\t\t}\n\t\tthis.components.delete(id);\n\t\tthis.anonymousComponents.delete(id);\n\n\t\tconst disposable = component as unknown as { dispose?: () => void };\n\t\tif (component && typeof disposable.dispose === 'function') {\n\t\t\tdisposable.dispose();\n\t\t}\n\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
|
+
{"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\n\treadonly paths = new Map<ComponentId, PathSegments>();\n\treadonly components = new Map<ComponentId, HTMLElement>();\n\treadonly anonymousComponents = 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.components.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.components.has(id) || this.anonymousComponents.has(id) || this._resolvingComponentIds.has(id);\n\t}\n\n\tprivate _lookup(id: ComponentId) {\n\t\treturn this.components.get(id) ?? this.anonymousComponents.get(id);\n\t}\n\n\tget(id: ComponentId) {\n\t\tconst component = this._lookup(id);\n\t\tif (component) {\n\t\t\tthis.resolveComponentPromises(id, component);\n\t\t\treturn component;\n\t\t}\n\n\t\treturn new Promise<HTMLElement>((resolve, reject) => {\n\t\t\tthis.enqueueComponentResolution(id, resolve, reject);\n\t\t\tif (this._resolvingComponentIds.has(id)) return;\n\t\t\tthis._resolvingComponentIds.add(id);\n\t\t\tPromise.resolve(this.component.createComponent(id)).then(created => {\n\t\t\t\tconst component = created 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?.[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\twaitFor(id: ComponentId) {\n\t\treturn new Promise<HTMLElement>((resolve, reject) => {\n\t\t\tthis.enqueueComponentResolution(id, resolve, reject);\n\t\t\tconst component = this._lookup(id);\n\t\t\tif (component && !this._resolvingComponentIds.has(id)) {\n\t\t\t\tthis.resolveComponentPromises(id, component);\n\t\t\t}\n\t\t});\n\t}\n\n\tresolveComponentPromises(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\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.components.has(id) && newId != id) {\n\t\t\t// the component lives on under the new id: moved over, not disposed like on unregister()\n\t\t\tconst c = this.components.get(id);\n\t\t\tthis.components.delete(id);\n\t\t\tthis.paths.delete(id);\n\t\t\tthis.bucket.dispatchEvent(new BucketEvent('unregister', {componentId: id}));\n\t\t\tthis.register(newId, c);\n\t\t}\n\t\treturn this.components.get(newId);\n\t}\n\n\tregister(id: ComponentId, component: HTMLElement) {\n\t\tif (id == null) {\n\t\t\tid = `temp_${Bucket.getUniqueId()}`;\n\t\t\tthis.anonymousComponents.set(id, component);\n\t\t} else {\n\t\t\tconst alreadyRegistered = this.components.has(id);\n\t\t\tthis.components.set(id, component);\n\t\t\tif (alreadyRegistered) return id;\n\t\t}\n\n\t\tthis.bucket.dispatchEvent(new BucketEvent('register', {componentId: id}));\n\t\treturn id;\n\t}\n\n\tunregister(id: ComponentId) {\n\t\tlet component: HTMLElement;\n\t\tif (this.components.has(id)) {\n\t\t\tcomponent = this.components.get(id);\n\t\t} else if (this.anonymousComponents.has(id)) {\n\t\t\tcomponent = this.anonymousComponents.get(id);\n\t\t}\n\t\tthis.components.delete(id);\n\t\tthis.anonymousComponents.delete(id);\n\n\t\tconst disposable = component as unknown as { dispose?: () => void };\n\t\tif (component && typeof disposable.dispose === 'function') {\n\t\t\tdisposable.dispose();\n\t\t}\n\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"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@omegagrid/bucket",
|
|
3
|
-
"version": "0.11.
|
|
3
|
+
"version": "0.11.31",
|
|
4
4
|
"license": "UNLICENSED",
|
|
5
5
|
"description": "Application layout component",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -28,11 +28,11 @@
|
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
30
|
"@fortawesome/fontawesome-svg-core": "^7.0.1",
|
|
31
|
-
"@omegagrid/commands": "^0.11.
|
|
32
|
-
"@omegagrid/core": "^0.11.
|
|
33
|
-
"@omegagrid/dialog": "^0.11.
|
|
34
|
-
"@omegagrid/localize": "^0.11.
|
|
35
|
-
"@omegagrid/tabs": "^0.11.
|
|
31
|
+
"@omegagrid/commands": "^0.11.31",
|
|
32
|
+
"@omegagrid/core": "^0.11.31",
|
|
33
|
+
"@omegagrid/dialog": "^0.11.31",
|
|
34
|
+
"@omegagrid/localize": "^0.11.31",
|
|
35
|
+
"@omegagrid/tabs": "^0.11.31",
|
|
36
36
|
"lit": "^3.1.1",
|
|
37
37
|
"ts-debounce": "^4.0.0"
|
|
38
38
|
},
|