@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.
- package/dist/DnaElement.d.ts +5 -3
- package/dist/DnaElement.js +19 -4
- package/dist/DnaElement.js.map +1 -1
- package/dist/DnaViewModel.js +1 -1
- package/dist/DnaViewModel.js.map +1 -1
- package/dist/ZomeElement.d.ts +3 -1
- package/dist/ZomeElement.js +12 -1
- package/dist/ZomeElement.js.map +1 -1
- package/dist/elements/cell-context.d.ts +4 -1
- package/dist/elements/cell-context.js +21 -4
- package/dist/elements/cell-context.js.map +1 -1
- package/dist/elements/view-cell-context.d.ts +12 -0
- package/dist/elements/view-cell-context.js +25 -0
- package/dist/elements/view-cell-context.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/DnaElement.d.ts
CHANGED
|
@@ -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 {};
|
package/dist/DnaElement.js
CHANGED
|
@@ -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() {
|
|
21
|
-
get roleInstanceId() { return this._dvm.roleInstanceId; }
|
|
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
|
|
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);
|
package/dist/DnaElement.js.map
CHANGED
|
@@ -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,
|
|
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"}
|
package/dist/DnaViewModel.js
CHANGED
|
@@ -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.
|
|
62
|
+
getContext() { return createContext('dvm/' + this.roleInstanceId); }
|
|
63
63
|
;
|
|
64
64
|
/** */
|
|
65
65
|
async probeAll() {
|
package/dist/DnaViewModel.js.map
CHANGED
|
@@ -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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"}
|
package/dist/ZomeElement.d.ts
CHANGED
|
@@ -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 {};
|
package/dist/ZomeElement.js
CHANGED
|
@@ -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 }),
|
package/dist/ZomeElement.js.map
CHANGED
|
@@ -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,
|
|
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,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;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,iCAAiC,WAAW,+BAA+B,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,CAAA;SACjH;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,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,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;IAGD,MAAM;IACI,UAAU,CAAC,iBAAuC;QAC1D,4DAA4D;QAC5D,IAAI,iBAAiB,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE;YAC1C,6EAA6E;YAC7E,IAAI,CAAC,UAAU,EAAE,CAAC;SACnB;IACH,CAAC;CAEF;AA9DC;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,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
|
|
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,
|
|
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
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;
|
|
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"}
|