@ddd-qc/lit-happ 0.9.2 → 0.9.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.
@@ -1,10 +1,10 @@
1
- import { LitElement } from "lit";
1
+ import { LitElement, PropertyValues } from "lit";
2
2
  import { DnaViewModel } from "./DnaViewModel";
3
3
  import { CellId, InstalledCell } from "@holochain/client";
4
4
  import { AgentPubKeyB64, EntryHashB64 } from "@holochain-open-dev/core-types";
5
5
  import { BaseRoleName, IInstalledCell, RoleInstanceId } from "@ddd-qc/cell-proxy";
6
6
  declare const DnaElement_base: (abstract new (...args: any[]) => {
7
- baseRoleName: string;
7
+ baseRoleName: string; /** Provided by Context depending on BaseRoleName */
8
8
  }) & {
9
9
  readonly DEFAULT_BASE_ROLE_NAME: string;
10
10
  } & typeof LitElement & import("@open-wc/dedupe-mixin").Constructor<import("@open-wc/scoped-elements/types/src/types").ScopedElementsHost>;
@@ -16,9 +16,9 @@ export declare class DnaElement<P, DVM extends DnaViewModel> extends DnaElement_
16
16
  constructor(baseRoleName?: BaseRoleName);
17
17
  /** Provided by Context depending on BaseRoleName */
18
18
  protected _dvm: DVM;
19
+ installedCell: InstalledCell;
19
20
  perspective: P;
20
21
  /** InstalledCell interface */
21
- get installedCell(): InstalledCell;
22
22
  get roleInstanceId(): RoleInstanceId;
23
23
  get cellId(): CellId;
24
24
  get dnaHash(): EntryHashB64;
@@ -28,5 +28,7 @@ export declare class DnaElement<P, DVM extends DnaViewModel> extends DnaElement_
28
28
  protected requestDvm(): void;
29
29
  /** */
30
30
  shouldUpdate(): boolean;
31
+ /** */
32
+ protected willUpdate(changedProperties: PropertyValues<this>): void;
31
33
  }
32
34
  export {};
@@ -2,8 +2,9 @@ import { __decorate } from "tslib";
2
2
  import { ScopedElementsMixin } from "@open-wc/scoped-elements";
3
3
  import { LitElement } from "lit";
4
4
  import { property, state } from "lit/decorators.js";
5
- import { ContextConsumer, createContext } from "@lit-labs/context";
5
+ import { ContextConsumer, contextProvided, createContext } from "@lit-labs/context";
6
6
  import { RoleSpecificMixin } from "@ddd-qc/cell-proxy";
7
+ import { cellContext } from "./elements/cell-context";
7
8
  /**
8
9
  * A LitElement that is bound to a specific DnaViewModel, e.g. a View for the ViewModel
9
10
  */
@@ -17,8 +18,8 @@ export class DnaElement extends RoleSpecificMixin(ScopedElementsMixin(LitElement
17
18
  }
18
19
  }
19
20
  /** InstalledCell interface */
20
- get installedCell() { return this._dvm.installedCell; }
21
- get roleInstanceId() { return this._dvm.roleInstanceId; } // Already defined in RoleSpecificMixin
21
+ //get installedCell(): InstalledCell {return this._dvm.installedCell}
22
+ get roleInstanceId() { return this._dvm.roleInstanceId; }
22
23
  get cellId() { return this._dvm.cellId; }
23
24
  get dnaHash() { return this._dvm.dnaHash; }
24
25
  get agentPubKey() { return this._dvm.agentPubKey; }
@@ -26,9 +27,13 @@ export class DnaElement extends RoleSpecificMixin(ScopedElementsMixin(LitElement
26
27
  /** */
27
28
  requestDvm() {
28
29
  /** Consume Context based on given dnaHash */
29
- const contextType = createContext('dvm/' + this.baseRoleName);
30
+ const roleInstanceId = this.installedCell ? this.installedCell.role_id : this.baseRoleName;
31
+ const contextType = createContext('dvm/' + roleInstanceId);
30
32
  console.log(`\t\tRequesting context "${contextType}"`);
31
33
  /*const consumer =*/ new ContextConsumer(this, contextType, (value, dispose) => {
34
+ if (this._dvm) {
35
+ this._dvm.unsubscribe(this);
36
+ }
32
37
  this._dvm = value;
33
38
  this._dvm.subscribe(this, 'perspective');
34
39
  }, false);
@@ -38,10 +43,20 @@ export class DnaElement extends RoleSpecificMixin(ScopedElementsMixin(LitElement
38
43
  shouldUpdate() {
39
44
  return !!this._dvm;
40
45
  }
46
+ /** */
47
+ willUpdate(changedProperties) {
48
+ if (changedProperties.has("installedCell")) {
49
+ this.requestDvm();
50
+ }
51
+ }
41
52
  }
42
53
  __decorate([
43
54
  state()
44
55
  ], DnaElement.prototype, "_dvm", void 0);
56
+ __decorate([
57
+ contextProvided({ context: cellContext, subscribe: true }),
58
+ property({ type: Object })
59
+ ], DnaElement.prototype, "installedCell", void 0);
45
60
  __decorate([
46
61
  property({ type: Object, attribute: false, hasChanged: (_v, _old) => true })
47
62
  ], DnaElement.prototype, "perspective", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"DnaElement.js","sourceRoot":"","sources":["../src/DnaElement.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,mBAAmB,EAAC,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAC,UAAU,EAAC,MAAM,KAAK,CAAC;AAC/B,OAAO,EAAC,QAAQ,EAAE,KAAK,EAAC,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAC,eAAe,EAAE,aAAa,EAAC,MAAM,mBAAmB,CAAC;AAIjE,OAAO,EAA+C,iBAAiB,EAAC,MAAM,oBAAoB,CAAC;AAEnG;;GAEG;AACH,MAAM,OAAO,UAAwC,SAAQ,iBAAiB,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAE7G,mFAAmF;IACnF,YAAY,YAA2B;QACrC,KAAK,EAAE,CAAC;QACR,IAAI,YAAY,EAAE;YAChB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;YACjC,IAAI,CAAC,UAAU,EAAE,CAAC;SACnB;IACH,CAAC;IAQD,8BAA8B;IAC9B,IAAI,aAAa,KAAmB,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAA,CAAA,CAAC;IACnE,IAAI,cAAc,KAAqB,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,CAAA,CAAC,CAAC,CAAC,uCAAuC;IAChH,IAAI,MAAM,KAAa,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAA,CAAC,CAAC;IAChD,IAAI,OAAO,KAAmB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAA,CAAA,CAAC;IACvD,IAAI,WAAW,KAAqB,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAA,CAAC,CAAC;IAGlE,oBAAoB;IAEpB,MAAM;IACI,UAAU;QAClB,6CAA6C;QAC7C,MAAM,WAAW,GAAG,aAAa,CAAM,MAAM,GAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAClE,OAAO,CAAC,GAAG,CAAC,2BAA2B,WAAW,GAAG,CAAC,CAAA;QACtD,oBAAoB,CAAC,IAAI,eAAe,CACtC,IAAI,EACJ,WAAW,EACX,CAAC,KAAU,EAAE,OAAoB,EAAQ,EAAE;YACzC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;YAClB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QAC3C,CAAC,EACD,KAAK,CACN,CAAC;QACF,yBAAyB;IAC3B,CAAC;IAED,MAAM;IACN,YAAY;QACV,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;CACF;AApCU;IAAR,KAAK,EAAE;wCAAsB;AAG9B;IADC,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAC,CAAC;+CAC3D"}
1
+ {"version":3,"file":"DnaElement.js","sourceRoot":"","sources":["../src/DnaElement.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,mBAAmB,EAAC,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAC,UAAU,EAAiB,MAAM,KAAK,CAAC;AAC/C,OAAO,EAAC,QAAQ,EAAE,KAAK,EAAC,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAC,eAAe,EAAE,eAAe,EAAE,aAAa,EAAC,MAAM,mBAAmB,CAAC;AAIlF,OAAO,EAA+C,iBAAiB,EAAC,MAAM,oBAAoB,CAAC;AACnG,OAAO,EAAC,WAAW,EAAC,MAAM,yBAAyB,CAAC;AAEpD;;GAEG;AACH,MAAM,OAAO,UAAwC,SAAQ,iBAAiB,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAE7G,mFAAmF;IACnF,YAAY,YAA2B;QACrC,KAAK,EAAE,CAAC;QACR,IAAI,YAAY,EAAE;YAChB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;YACjC,IAAI,CAAC,UAAU,EAAE,CAAC;SACnB;IACH,CAAC;IAYD,8BAA8B;IAC9B,qEAAqE;IACrE,IAAI,cAAc,KAAqB,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,CAAA,CAAC,CAAC;IACxE,IAAI,MAAM,KAAa,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAA,CAAC,CAAC;IAChD,IAAI,OAAO,KAAmB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAA,CAAA,CAAC;IACvD,IAAI,WAAW,KAAqB,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAA,CAAC,CAAC;IAGlE,oBAAoB;IAEpB,MAAM;IACI,UAAU;QAClB,6CAA6C;QAC7C,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAA,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;QAC1F,MAAM,WAAW,GAAG,aAAa,CAAM,MAAM,GAAE,cAAc,CAAC,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,2BAA2B,WAAW,GAAG,CAAC,CAAA;QACtD,oBAAoB,CAAC,IAAI,eAAe,CACtC,IAAI,EACJ,WAAW,EACX,CAAC,KAAU,EAAE,OAAoB,EAAQ,EAAE;YACzC,IAAI,IAAI,CAAC,IAAI,EAAE;gBACb,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;aAC7B;YACD,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;YAClB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QAC3C,CAAC,EACD,KAAK,CACN,CAAC;QACF,yBAAyB;IAC3B,CAAC;IAED,MAAM;IACN,YAAY;QACV,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;IAGD,MAAM;IACI,UAAU,CAAC,iBAAuC;QAC1D,IAAI,iBAAiB,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE;YAC1C,IAAI,CAAC,UAAU,EAAE,CAAC;SACnB;IACH,CAAC;CACF;AApDU;IAAR,KAAK,EAAE;wCAAsB;AAI9B;IAFC,eAAe,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAC,CAAC;IACzD,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;iDACK;AAG9B;IADC,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAC,CAAC;+CAC3D"}
@@ -59,7 +59,7 @@ export class DnaViewModel extends RoleSpecificMixin(ViewModel) {
59
59
  zvm.provideContext(host);
60
60
  }
61
61
  }
62
- getContext() { return createContext('dvm/' + this.baseRoleName); }
62
+ getContext() { return createContext('dvm/' + this.roleInstanceId); }
63
63
  ;
64
64
  /** */
65
65
  async probeAll() {
@@ -1 +1 @@
1
- {"version":3,"file":"DnaViewModel.js","sourceRoot":"","sources":["../src/DnaViewModel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DnaViewModel.js","sourceRoot":"","sources":["../src/DnaViewModel.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { LitElement } from "lit";
1
+ import { LitElement, PropertyValues } from "lit";
2
2
  import { CellId, InstalledCell, ZomeName } from "@holochain/client";
3
3
  import { AgentPubKeyB64, DnaHashB64 } from "@holochain-open-dev/core-types";
4
4
  import { ZomeViewModel } from "./ZomeViewModel";
@@ -26,5 +26,7 @@ export declare class ZomeElement<P, ZVM extends ZomeViewModel> extends ZomeEleme
26
26
  private requestZvm;
27
27
  /** RequestZvm on first "shouldUpdate" */
28
28
  shouldUpdate(): boolean;
29
+ /** */
30
+ protected willUpdate(changedProperties: PropertyValues<this>): void;
29
31
  }
30
32
  export {};
@@ -28,11 +28,14 @@ export class ZomeElement extends ScopedElementsMixin(LitElement) {
28
28
  /** Request zvm from Context based on current CellId */
29
29
  requestZvm() {
30
30
  if (!this.installedCell) {
31
- throw Error(`"cellContext" not found in ZomeElement "${this.constructor.name}"`);
31
+ throw Error(`"installedCell" from context "${cellContext}" not found in ZomeElement "${this.constructor.name}"`);
32
32
  }
33
33
  const contextType = createContext('zvm/' + this.defaultZomeName + '/' + this.dnaHash);
34
34
  console.log(`\t\tRequesting context "${contextType}"`);
35
35
  /*const consumer =*/ new ContextConsumer(this, contextType, (value, dispose) => {
36
+ if (this._zvm) {
37
+ this._zvm.unsubscribe(this);
38
+ }
36
39
  this._zvm = value;
37
40
  this._zomeName = this._zvm.zomeName;
38
41
  this._zvm.subscribe(this, 'perspective');
@@ -46,6 +49,14 @@ export class ZomeElement extends ScopedElementsMixin(LitElement) {
46
49
  }
47
50
  return !!this._zvm;
48
51
  }
52
+ /** */
53
+ willUpdate(changedProperties) {
54
+ //console.log("ZomeElement.willUpdate()", changedProperties)
55
+ if (changedProperties.has("installedCell")) {
56
+ //console.log("ZomeElement.willUpdate() installedCell in this element", this)
57
+ this.requestZvm();
58
+ }
59
+ }
49
60
  }
50
61
  __decorate([
51
62
  contextProvided({ context: cellContext, subscribe: true }),
@@ -1 +1 @@
1
- {"version":3,"file":"ZomeElement.js","sourceRoot":"","sources":["../src/ZomeElement.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,mBAAmB,EAAC,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAC,UAAU,EAAC,MAAM,KAAK,CAAC;AAC/B,OAAO,EAAC,QAAQ,EAAE,KAAK,EAAC,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAC,eAAe,EAAE,eAAe,EAAE,aAAa,EAAC,MAAM,mBAAmB,CAAC;AAElF,OAAO,EAAC,aAAa,EAAC,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAC,WAAW,EAAC,MAAM,yBAAyB,CAAC;AAMpD;;GAEG;AACH,MAAM,OAAO,WAA0C,SAAQ,mBAAmB,CAAC,UAAU,CAAC;IAE5F,YAA4B,eAAyB;QACnD,KAAK,EAAE,CAAC;QADkB,oBAAe,GAAf,eAAe,CAAU;QAEnD,kDAAkD;QAClD,kBAAkB;QAClB,8BAA8B;QAC9B,IAAI;IACN,CAAC;IAOD,IAAI,QAAQ,KAAc,OAAO,IAAI,CAAC,SAAS,CAAA,CAAA,CAAC;IAAA,CAAC;IAQjD,8BAA8B;IAC9B,IAAI,cAAc,KAAqB,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAA,CAAC,CAAC;IAC1E,IAAI,MAAM,KAAa,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAA,CAAC,CAAC;IAC1D,IAAI,OAAO,KAAiB,OAAO,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA,CAAC,CAAC;IACjF,IAAI,WAAW,KAAqB,OAAO,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA,CAAC,CAAC;IAGzF,oBAAoB;IAEpB,uDAAuD;IAC/C,UAAU;QAChB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACvB,MAAM,KAAK,CAAC,2CAA2C,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,CAAA;SACjF;QACD,MAAM,WAAW,GAAG,aAAa,CAAM,MAAM,GAAE,IAAI,CAAC,eAAe,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,CAAA;QACzF,OAAO,CAAC,GAAG,CAAC,2BAA2B,WAAW,GAAG,CAAC,CAAA;QACtD,oBAAoB,CAAC,IAAI,eAAe,CACtC,IAAI,EACJ,WAAW,EACX,CAAC,KAAU,EAAE,OAAoB,EAAQ,EAAE;YACzC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;YAClB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;YACpC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QAC3C,CAAC,EACD,KAAK,CACN,CAAC;IACJ,CAAC;IAGD,yCAAyC;IACzC,YAAY;QACV,mFAAmF;QACnF,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACd,IAAI,CAAC,UAAU,EAAE,CAAC;SACnB;QACD,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;CAEF;AAjDC;IAFC,eAAe,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAC,CAAC;IACzD,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;kDACK;AAMrB;IAAR,KAAK,EAAE;yCAAsB;AAG9B;IADC,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAC,CAAC;gDAC3D"}
1
+ {"version":3,"file":"ZomeElement.js","sourceRoot":"","sources":["../src/ZomeElement.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { LitElement } from "lit";
1
+ import { LitElement, PropertyValues } from "lit";
2
2
  import { InstalledCell } from "@holochain/client";
3
3
  export declare const cellContext: {
4
4
  __context__: InstalledCell;
@@ -7,8 +7,11 @@ declare const CellContext_base: typeof LitElement & import("@open-wc/dedupe-mixi
7
7
  export declare class CellContext extends CellContext_base {
8
8
  installedCell: InstalledCell;
9
9
  private _provider;
10
+ private _initialized;
10
11
  /** */
11
12
  firstUpdated(): void;
13
+ /** Set provider to installedCell */
14
+ protected willUpdate(changedProperties: PropertyValues<this>): void;
12
15
  /** */
13
16
  render(): import("lit-html").TemplateResult<1>;
14
17
  }
@@ -1,23 +1,37 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { ContextProvider, createContext } from '@lit-labs/context';
3
3
  import { LitElement, html } from "lit";
4
- import { property } from "lit/decorators.js";
4
+ import { property, state } from "lit/decorators.js";
5
5
  import { ScopedElementsMixin } from "@open-wc/scoped-elements";
6
- export const cellContext = createContext('cell');
6
+ export const cellContext = createContext('lit-happ/cell');
7
7
  export class CellContext extends ScopedElementsMixin(LitElement) {
8
8
  constructor() {
9
9
  super(...arguments);
10
10
  /* create a provider controller */
11
- this._provider = new ContextProvider(this, cellContext, this.installedCell);
11
+ /*@state()*/ this._provider = new ContextProvider(this, cellContext, this.installedCell);
12
+ this._initialized = false;
12
13
  }
13
14
  /** */
14
15
  firstUpdated() {
15
16
  if (!this.installedCell)
16
- throw Error("installedCell property nopt defined in CellContext");
17
+ throw Error('"installedCell" property not defined in <cell-context>');
18
+ //this._provider = new ContextProvider(this, cellContext, this.installedCell);
17
19
  this._provider.setValue(this.installedCell);
20
+ this._initialized = true;
21
+ }
22
+ /** Set provider to installedCell */
23
+ willUpdate(changedProperties) {
24
+ console.log("<cell-context>.willUpdate()", changedProperties);
25
+ if (changedProperties.has("installedCell")) {
26
+ console.log("<cell-context>.willUpdate() changed installed cell", this.installedCell.role_id);
27
+ this._provider.setValue(this.installedCell);
28
+ }
18
29
  }
19
30
  /** */
20
31
  render() {
32
+ if (!this._initialized) {
33
+ return html ``;
34
+ }
21
35
  console.log(`Cell context set to "${this.installedCell.role_id}"`);
22
36
  return html `<slot></slot>`;
23
37
  }
@@ -25,4 +39,7 @@ export class CellContext extends ScopedElementsMixin(LitElement) {
25
39
  __decorate([
26
40
  property({ type: Object })
27
41
  ], CellContext.prototype, "installedCell", void 0);
42
+ __decorate([
43
+ state()
44
+ ], CellContext.prototype, "_initialized", void 0);
28
45
  //# sourceMappingURL=cell-context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cell-context.js","sourceRoot":"","sources":["../../src/elements/cell-context.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,eAAe,EAAE,aAAa,EAAC,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAC,UAAU,EAAE,IAAI,EAAC,MAAM,KAAK,CAAC;AACrC,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAC,mBAAmB,EAAC,MAAM,0BAA0B,CAAC;AAI7D,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAgB,MAAM,CAAC,CAAC;AAEhE,MAAM,OAAO,WAAY,SAAQ,mBAAmB,CAAC,UAAU,CAAC;IAAhE;;QAKE,kCAAkC;QAC1B,cAAS,GAAG,IAAI,eAAe,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IAajF,CAAC;IAXC,MAAM;IACN,YAAY;QACV,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,MAAM,KAAK,CAAC,oDAAoD,CAAC,CAAA;QAC1F,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM;IACN,MAAM;QACJ,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,CAAC,aAAa,CAAC,OAAO,GAAG,CAAC,CAAA;QAClE,OAAO,IAAI,CAAA,eAAe,CAAC;IAC7B,CAAC;CACF;AAhBC;IADC,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;kDACK"}
1
+ {"version":3,"file":"cell-context.js","sourceRoot":"","sources":["../../src/elements/cell-context.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,eAAe,EAAE,aAAa,EAAC,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAC,UAAU,EAAE,IAAI,EAAiB,MAAM,KAAK,CAAC;AACrD,OAAO,EAAC,QAAQ,EAAE,KAAK,EAAC,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAC,mBAAmB,EAAC,MAAM,0BAA0B,CAAC;AAI7D,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAgB,eAAe,CAAC,CAAC;AAEzE,MAAM,OAAO,WAAY,SAAQ,mBAAmB,CAAC,UAAU,CAAC;IAAhE;;QAKE,kCAAkC;QAClC,YAAY,CAAS,cAAS,GAAG,IAAI,eAAe,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAE3E,iBAAY,GAAG,KAAK,CAAC;IA6BxC,CAAC;IA3BC,MAAM;IACN,YAAY;QACV,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,MAAM,KAAK,CAAC,wDAAwD,CAAC,CAAA;QAC9F,8EAA8E;QAC9E,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC5C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IAC3B,CAAC;IAGD,oCAAoC;IAC1B,UAAU,CAAC,iBAAuC;QAC1D,OAAO,CAAC,GAAG,CAAC,6BAA6B,EAAE,iBAAiB,CAAC,CAAA;QAC7D,IAAI,iBAAiB,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE;YAC1C,OAAO,CAAC,GAAG,CAAC,oDAAoD,EAAE,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;YAC7F,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SAC7C;IACH,CAAC;IAGD,MAAM;IACN,MAAM;QACJ,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACtB,OAAO,IAAI,CAAA,EAAE,CAAC;SACf;QACD,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,CAAC,aAAa,CAAC,OAAO,GAAG,CAAC,CAAA;QAClE,OAAO,IAAI,CAAA,eAAe,CAAC;IAC7B,CAAC;CACF;AAlCC;IADC,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;kDACK;AAKrB;IAAR,KAAK,EAAE;iDAA8B"}
@@ -0,0 +1,12 @@
1
+ import { LitElement } from "lit";
2
+ import { InstalledCell } from "@holochain/client";
3
+ declare const ViewCellContext_base: typeof LitElement & import("@open-wc/dedupe-mixin").Constructor<import("@open-wc/scoped-elements/types/src/types").ScopedElementsHost>;
4
+ /**
5
+ * LitElement that shows the cellContext as a <div>
6
+ * Used for debugging
7
+ */
8
+ export declare class ViewCellContext extends ViewCellContext_base {
9
+ installedCell: InstalledCell;
10
+ render(): import("lit-html").TemplateResult<1>;
11
+ }
12
+ export {};
@@ -0,0 +1,25 @@
1
+ import { __decorate } from "tslib";
2
+ import { ScopedElementsMixin } from "@open-wc/scoped-elements";
3
+ import { LitElement, html } from "lit";
4
+ import { property } from "lit/decorators.js";
5
+ import { contextProvided } from "@lit-labs/context";
6
+ import { cellContext } from "./cell-context";
7
+ /**
8
+ * LitElement that shows the cellContext as a <div>
9
+ * Used for debugging
10
+ */
11
+ export class ViewCellContext extends ScopedElementsMixin(LitElement) {
12
+ render() {
13
+ const roleId = this.installedCell === undefined ? "undefined" : this.installedCell.role_id;
14
+ return html `
15
+ <div>
16
+ <span><b>(InstalledCell set to: "${roleId}")</b></span>
17
+ </div>
18
+ `;
19
+ }
20
+ }
21
+ __decorate([
22
+ contextProvided({ context: cellContext, subscribe: true }),
23
+ property({ type: Object })
24
+ ], ViewCellContext.prototype, "installedCell", void 0);
25
+ //# sourceMappingURL=view-cell-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view-cell-context.js","sourceRoot":"","sources":["../../src/elements/view-cell-context.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,mBAAmB,EAAC,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAC,UAAU,EAAE,IAAI,EAAC,MAAM,KAAK,CAAC;AACrC,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAE3C;;;GAGG;AACH,MAAM,OAAO,eAAgB,SAAQ,mBAAmB,CAAC,UAAU,CAAC;IAMlE,MAAM;QACJ,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,KAAK,SAAS,CAAA,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;QAC1F,OAAO,IAAI,CAAA;;2CAE4B,MAAM;;KAE5C,CAAC;IACJ,CAAC;CACF;AAVC;IAFC,eAAe,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAC,CAAC;IACzD,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;sDACK"}
package/dist/index.d.ts CHANGED
@@ -8,4 +8,5 @@ export * from "./HappElement";
8
8
  export * from "./definitions";
9
9
  export * from "./elements/entry-def-select";
10
10
  export * from "./elements/cell-context";
11
+ export * from "./elements/view-cell-context";
11
12
  export * from "@ddd-qc/cell-proxy";
package/dist/index.js CHANGED
@@ -8,6 +8,7 @@ export * from "./HappElement";
8
8
  export * from "./definitions";
9
9
  export * from "./elements/entry-def-select";
10
10
  export * from "./elements/cell-context";
11
+ export * from "./elements/view-cell-context";
11
12
  /* Include all from cell-proxy */
12
13
  export * from "@ddd-qc/cell-proxy";
13
14
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAE9B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AAExC,iCAAiC;AACjC,cAAc,oBAAoB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAE9B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAE7C,iCAAiC;AACjC,cAAc,oBAAoB,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ddd-qc/lit-happ",
3
- "version": "0.9.2",
3
+ "version": "0.9.4",
4
4
  "description": "MVVM Framework for holochain apps using Lit",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",