@ddd-qc/lit-happ 0.29.3 → 0.29.4
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/DnaMultiElement.js
CHANGED
|
@@ -24,9 +24,9 @@ export class DnaMultiElement extends CellsMixin(RoleMixin(LitElement)) {
|
|
|
24
24
|
}
|
|
25
25
|
for (const cell of this._cells.values()) {
|
|
26
26
|
const contextType = createContext('dvm/' + cell.name);
|
|
27
|
-
console.log(`\t\t Requesting context "${contextType}"
|
|
27
|
+
console.log(`\t\t Requesting DVM context "${contextType}"`, cell.name);
|
|
28
28
|
const consumer = new ContextConsumer(this, contextType, async (newDvm, _dispose) => {
|
|
29
|
-
console.log(`\t\t Received value for context "${contextType}"
|
|
29
|
+
console.log(`\t\t Received value for DVM context "${contextType}"`, newDvm.cell.address.dnaId.b64);
|
|
30
30
|
const oldDvm = this._dvms.get(cell.address.dnaId);
|
|
31
31
|
await this.dvmUpdated(cell.address.dnaId, newDvm, oldDvm);
|
|
32
32
|
if (oldDvm) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DnaMultiElement.js","sourceRoot":"","sources":["../src/DnaMultiElement.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,UAAU,EAAiB,MAAM,KAAK,CAAC;AAC/C,OAAO,EAAC,QAAQ,EAAE,KAAK,EAAC,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAC,eAAe,EAAE,OAAO,EAAE,aAAa,EAAC,MAAM,cAAc,CAAC;AAErE,OAAO,EAAqB,UAAU,EAAS,QAAQ,EAAC,MAAM,oBAAoB,CAAC;AACnF,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AACtC,OAAO,EAAC,gBAAgB,EAAC,MAAM,+BAA+B,CAAC;AAK/D,MAAM,OAAO,eAAiD,SAAQ,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAGrG,YAAY,YAA2B;QACrC,KAAK,EAAE,CAAC;QAOS,UAAK,GAAmB,IAAI,QAAQ,EAAO,CAAC;QASvD,eAAU,GAAkB,IAAI,QAAQ,EAAE,CAAC;QAfjD,IAAI,YAAY,EAAE;YAChB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;SAClC;IACH,CAAC;IAkBS,UAAU,CAAC,eAAwB,KAAK;QAEhD,IAAI,CAAC,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,IAAI,CAAC,EAAE;YACnE,OAAO,CAAC,KAAK,CAAC,sDAAsD,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA;YACxF,OAAO;SACR;QAED,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,EAAE;YAC7C,OAAO;SACR;QACD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,MAAO,CAAC,MAAM,EAAE,EAAE;YACxC,MAAM,WAAW,GAAG,aAAa,CAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3D,OAAO,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"DnaMultiElement.js","sourceRoot":"","sources":["../src/DnaMultiElement.ts"],"names":[],"mappings":"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","sourcesContent":["import {LitElement, PropertyValues} from \"lit\";\nimport {property, state} from \"lit/decorators.js\";\nimport {ContextConsumer, consume, createContext} from \"@lit/context\";\nimport {DnaViewModel} from \"./DnaViewModel\";\nimport {BaseRoleName, Cell, CellsMixin, DnaId, DnaIdMap} from \"@ddd-qc/cell-proxy\";\nimport {RoleMixin} from \"./roleMixin\";\nimport {cellMultiContext} from \"./elements/cell-multi-context\";\n\n/**\n * A LitElement that is bound to a specific DnaViewModel, e.g. a View for the ViewModel\n */\nexport class DnaMultiElement</*P,*/ DVM extends DnaViewModel> extends CellsMixin(RoleMixin(LitElement)) {\n\n /** if BaseRoleName is not provided, subclass must call requestDvm() in its Ctor */\n constructor(baseRoleName?: BaseRoleName) {\n super();\n if (baseRoleName) {\n this.baseRoleName = baseRoleName;\n }\n }\n\n /** Provided by Context depending on BaseRoleName */\n @state() protected _dvms: DnaIdMap<DVM> = new DnaIdMap<DVM>();\n\n @consume({ context: cellMultiContext, subscribe: true})\n @property({attribute: false})\n _cells_via_context!: Cell[];\n\n // @property({type: Object, attribute: false, hasChanged: (_v, _old) => true})\n // perspectives!: P[];\n\n private _consumers: DnaIdMap<any> = new DnaIdMap();\n\n\n /** -- Methods -- */\n\n /** */\n protected requestDvm(canRerequest: boolean = false) {\n /** Consume Context based on given dnaHash */\n if (!this._cells_via_context || this._cells_via_context.length == 0) {\n console.error(\"No Cells found via context in a DnaElement for role:\", this.baseRoleName)\n return;\n }\n /* DVM already requested */\n if (!canRerequest && this._consumers.size > 0) {\n return;\n }\n for (const cell of this._cells!.values()) {\n const contextType = createContext<DVM>('dvm/' + cell.name);\n console.log(`\\t\\t Requesting DVM context \"${contextType}\"`, cell.name);\n const consumer = new ContextConsumer(\n this,\n contextType,\n async (newDvm: DVM, _dispose?: () => void): Promise<void> => {\n console.log(`\\t\\t Received value for DVM context \"${contextType}\"`, newDvm.cell.address.dnaId.b64)\n const oldDvm = this._dvms.get(cell.address.dnaId);\n await this.dvmUpdated(cell.address.dnaId, newDvm, oldDvm);\n if (oldDvm) {\n oldDvm.unsubscribe(this);\n }\n this._dvms.set(cell.address.dnaId, newDvm);\n newDvm.subscribe(this, '');\n },\n false, // true will call twice at init\n );\n this._consumers.set(cell.address.dnaId, consumer);\n //console.log({consumer})\n }\n }\n\n\n /**\n * To be overriden by subclasses\n * Example: Have a subclass unsubscribe to oldDvm's zvms and subscribe to the new ones\n */\n protected async dvmUpdated(_cellAddress: DnaId, _newDvm: DVM, _oldDvm?: DVM): Promise<void> {\n //console.log(`\\t\\t Default dvmUpdated() called`)\n }\n\n\n /** */\n override shouldUpdate(changedProperties: PropertyValues<this>) {\n if (changedProperties.has(\"_cells_via_context\")) {\n this._cells = this._cells_via_context;\n }\n if (!this._dvms || this._dvms.size == 0) {\n this.requestDvm();\n }\n return (!!this._dvms && this._dvms.size > 0);\n }\n\n\n /** */\n protected override willUpdate(changedProperties: PropertyValues<this>) {\n if (changedProperties.has(\"_cells_via_context\")) {\n this.requestDvm(true);\n }\n }\n}\n"]}
|