@ddd-qc/lit-happ 0.9.1 → 0.9.2
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/README.md +5 -3
- package/dist/HappViewModel.d.ts +1 -1
- package/dist/HappViewModel.js +10 -7
- package/dist/HappViewModel.js.map +1 -1
- package/dist/ViewModel.js +1 -0
- package/dist/ViewModel.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -7,6 +7,7 @@ Builds on the `cell-proxy` package to provide a MVVM framework for building web-
|
|
|
7
7
|
|
|
8
8
|
```bash
|
|
9
9
|
npm i @ddd-qc/lit-happ
|
|
10
|
+
npm i @ddd-qc/cell-proxy
|
|
10
11
|
```
|
|
11
12
|
|
|
12
13
|
## Design
|
|
@@ -80,12 +81,13 @@ Initialize the Happ UI:
|
|
|
80
81
|
init() {
|
|
81
82
|
/** Create AppProxy from provided local port */
|
|
82
83
|
this._conductorAppProxy = await ConductorAppProxy.new(Number(process.env.HC_PORT));
|
|
83
|
-
/** Create HappViewModel from definition and AppProxy */
|
|
84
|
+
/** Create HappViewModel from definition and AppProxy. Does the initial probe in background */
|
|
84
85
|
this._hvm = await HappViewModel.new(this, this._conductorAppProxy, playgroundDef);
|
|
85
|
-
|
|
86
|
+
/** Grab the profiles ZomeViewModel */
|
|
86
87
|
const profileZvm = (this._hvm.getDvm(ProfilesDvm.DEFAULT_ROLE_ID)! as ProfilesDvm).profilesZvm;
|
|
87
|
-
const me =
|
|
88
|
+
const me = profileZvm.perspective.myProfile;
|
|
88
89
|
console.log({me});
|
|
90
|
+
/** Subscribe to updates from the "profiles" ZomeViewModel and bind it to a reactive property */
|
|
89
91
|
profileZvm.subscribe(this, "profilesPerspective");
|
|
90
92
|
}
|
|
91
93
|
```
|
package/dist/HappViewModel.d.ts
CHANGED
package/dist/HappViewModel.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { HCL } from "@ddd-qc/cell-proxy";
|
|
2
2
|
//export type HvmConstructor = {new(installedAppId: InstalledAppId): HappViewModel};
|
|
3
3
|
/**
|
|
4
4
|
* "ViewModel" of a hApp
|
|
@@ -50,6 +50,9 @@ export class HappViewModel {
|
|
|
50
50
|
//console.log("HappViewModel.new()", hvmDef.id)
|
|
51
51
|
/** Create all Cell Proxies in the definition */
|
|
52
52
|
for (const dvmDef of hvmDef.dvmDefs) {
|
|
53
|
+
if (dvmDef.ctor.DEFAULT_BASE_ROLE_NAME === undefined) {
|
|
54
|
+
Promise.reject("static field DEFAULT_BASE_ROLE_NAME not defined for class " + dvmDef.ctor.name);
|
|
55
|
+
}
|
|
53
56
|
const baseRoleName = dvmDef.baseRoleName
|
|
54
57
|
? dvmDef.baseRoleName
|
|
55
58
|
: dvmDef.ctor.DEFAULT_BASE_ROLE_NAME;
|
|
@@ -57,7 +60,9 @@ export class HappViewModel {
|
|
|
57
60
|
const hcl = new HCL(hvmDef.id, baseRoleName);
|
|
58
61
|
conductorAppProxy.createCellProxy(hcl);
|
|
59
62
|
}
|
|
60
|
-
|
|
63
|
+
const hvm = new HappViewModel(host, conductorAppProxy, hvmDef);
|
|
64
|
+
await hvm.initialProbe();
|
|
65
|
+
return hvm;
|
|
61
66
|
}
|
|
62
67
|
/** Ctor */
|
|
63
68
|
constructor(_host, /* VIEW */ _conductorAppProxy, /* MODEL */ hvmDef) {
|
|
@@ -119,7 +124,7 @@ export class HappViewModel {
|
|
|
119
124
|
const baseRoleName = dvmDef.baseRoleName
|
|
120
125
|
? dvmDef.baseRoleName
|
|
121
126
|
: dvmDef.ctor.DEFAULT_BASE_ROLE_NAME;
|
|
122
|
-
console.log("createOriginalDvm() for ", baseRoleName);
|
|
127
|
+
//console.log("createOriginalDvm() for ", baseRoleName);
|
|
123
128
|
if (this._defMap[baseRoleName]) {
|
|
124
129
|
throw Error(`createOriginalDvm() failed. DVM for original cell of ${baseRoleName} already exists.`);
|
|
125
130
|
}
|
|
@@ -129,7 +134,7 @@ export class HappViewModel {
|
|
|
129
134
|
}
|
|
130
135
|
/** */
|
|
131
136
|
async cloneDvm(baseRoleName, cellDef) {
|
|
132
|
-
console.log("createCloneDvm()", baseRoleName);
|
|
137
|
+
//console.log("createCloneDvm()", baseRoleName);
|
|
133
138
|
/** Check preconditions */
|
|
134
139
|
const def = this._defMap[baseRoleName];
|
|
135
140
|
if (!def) {
|
|
@@ -161,15 +166,13 @@ export class HappViewModel {
|
|
|
161
166
|
}
|
|
162
167
|
/** Create Cell */
|
|
163
168
|
const cloneCell = await this._conductorAppProxy.createCloneCell(request);
|
|
164
|
-
console.log("clone created:", CellIdStr(cloneCell.cell_id));
|
|
169
|
+
//console.log("clone created:", CellIdStr(cloneCell.cell_id));
|
|
165
170
|
/** Get created cell */
|
|
166
171
|
this._conductorAppProxy.addClone(hcl, cloneCell);
|
|
167
172
|
/** Create CellProxy */
|
|
168
173
|
this._conductorAppProxy.createCellProxy(hcl);
|
|
169
174
|
/** Create DVM */
|
|
170
|
-
console.log({ dvmMapBefore: this._dvmMap });
|
|
171
175
|
const dvm = this.createDvm(def, hcl);
|
|
172
|
-
console.log({ dvmMapAfter: this._dvmMap });
|
|
173
176
|
return [cloneIndex, dvm];
|
|
174
177
|
}
|
|
175
178
|
/** */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HappViewModel.js","sourceRoot":"","sources":["../src/HappViewModel.ts"],"names":[],"mappings":"AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"HappViewModel.js","sourceRoot":"","sources":["../src/HappViewModel.ts"],"names":[],"mappings":"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"}
|
package/dist/ViewModel.js
CHANGED
|
@@ -16,6 +16,7 @@ export class ViewModel /*implements IViewModel*/ {
|
|
|
16
16
|
}
|
|
17
17
|
/* (optional) Lets the observer trigger probing in order to get an updated perspective */
|
|
18
18
|
async probeAll() { }
|
|
19
|
+
/* (optional) Define the probing to do at startup (should get data on source-chain only) */
|
|
19
20
|
async initialProbe() { }
|
|
20
21
|
/** -- Final methods -- */
|
|
21
22
|
/** Set ContextProvider for host */
|
package/dist/ViewModel.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ViewModel.js","sourceRoot":"","sources":["../src/ViewModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAIlD;;;;;;;;;;GAUG;AACF,MAAM,OAAgB,SAAS,CAAC,yBAAyB;IAAzD;QAIW,mBAAc,GAA4C,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"ViewModel.js","sourceRoot":"","sources":["../src/ViewModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAIlD;;;;;;;;;;GAUG;AACF,MAAM,OAAgB,SAAS,CAAC,yBAAyB;IAAzD;QAIW,mBAAc,GAA4C,EAAE,CAAC;IA2DzE,CAAC;IAlDC,yFAAyF;IACzF,KAAK,CAAC,QAAQ,KAAmB,CAAC;IAClC,2FAA2F;IAC3F,KAAK,CAAC,YAAY,KAAmB,CAAC;IAUtC,0BAA0B;IAE1B,mCAAmC;IACnC,cAAc,CAAC,YAA6B;QAC1C,OAAO,CAAC,GAAG,CAAC,0BAA0B,IAAI,CAAC,UAAU,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC;QACrF,IAAI,CAAC,SAAS,GAAG,IAAI,eAAe,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,CAAC;IAC9E,CAAC;IAED,6BAA6B;IAE7B,MAAM;IACN,SAAS,CAAC,YAAoC,EAAE,QAAqB;QAChE,YAAoB,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACnD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAA;IACtD,CAAC;IAED,MAAM;IACN,WAAW,CAAC,QAAgC;QACxC,IAAI,KAAK,GAAI,CAAC,CAAC;QACf,KAAK,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE;YACjD,IAAI,IAAI,KAAK,QAAQ;gBAAE,MAAM;YAC7B,KAAK,IAAI,CAAC,CAAC;SACd;QACD,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;YACZ,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;SACxC;IACL,CAAC;IAED,MAAM;IACI,iBAAiB;QACvB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YAAE,OAAO;QAC/B,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE;YAC/C,IAAY,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;SAC9C;QACD,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,WAAW,CAAA;IAChD,CAAC;CAEF"}
|