dothtml 6.0.0-beta.33 → 6.0.0-beta.35
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/build_module/css/format-css-type.d.ts +4 -4
- package/build_module/css/format-css-type.js +7 -7
- package/build_module/css/format-css-type.js.map +1 -1
- package/build_module/dot.js +15 -9
- package/build_module/dot.js.map +1 -1
- package/build_module/reactivity/binding.d.ts +7 -0
- package/build_module/reactivity/binding.js +41 -0
- package/build_module/reactivity/binding.js.map +1 -0
- package/build_module/reactivity/bound-reactive.d.ts +13 -0
- package/build_module/reactivity/bound-reactive.js +20 -0
- package/build_module/reactivity/bound-reactive.js.map +1 -0
- package/build_module/reactivity/reactive-attr.d.ts +6 -0
- package/build_module/reactivity/reactive-attr.js +7 -0
- package/build_module/reactivity/reactive-attr.js.map +1 -0
- package/build_module/reactivity/reactive-style.d.ts +6 -0
- package/build_module/reactivity/reactive-style.js +7 -0
- package/build_module/reactivity/reactive-style.js.map +1 -0
- package/build_module/reactivity/reactive.d.ts +22 -0
- package/build_module/reactivity/reactive.js +54 -0
- package/build_module/reactivity/reactive.js.map +1 -0
- package/build_module/v-meta-nodes/attribute-v-node.d.ts +3 -3
- package/build_module/v-meta-nodes/attribute-v-node.js +10 -5
- package/build_module/v-meta-nodes/attribute-v-node.js.map +1 -1
- package/build_module/v-meta-nodes/style-v-node.d.ts +2 -2
- package/build_module/v-meta-nodes/style-v-node.js +8 -8
- package/build_module/v-meta-nodes/style-v-node.js.map +1 -1
- package/build_module/v-style-nodes/base-v-style.js +6 -5
- package/build_module/v-style-nodes/base-v-style.js.map +1 -1
- package/build_module/v-style-nodes/css-function-builder-v-style.d.ts +4 -4
- package/build_module/v-style-nodes/css-function-builder-v-style.js +3 -3
- package/build_module/v-style-nodes/css-function-builder-v-style.js.map +1 -1
- package/build_module/v-style-nodes/filter-v-style.js.map +1 -1
- package/build_module/vdom-nodes/collection-vdom.d.ts +3 -3
- package/build_module/vdom-nodes/collection-vdom.js +17 -14
- package/build_module/vdom-nodes/collection-vdom.js.map +1 -1
- package/build_module/vdom-nodes/conditional-vdom.d.ts +2 -2
- package/build_module/vdom-nodes/conditional-vdom.js +8 -8
- package/build_module/vdom-nodes/conditional-vdom.js.map +1 -1
- package/build_module/vdom-nodes/container-vdom.d.ts +6 -5
- package/build_module/vdom-nodes/container-vdom.js +15 -8
- package/build_module/vdom-nodes/container-vdom.js.map +1 -1
- package/build_module/vdom-nodes/element-vdom.d.ts +4 -0
- package/build_module/vdom-nodes/element-vdom.js +16 -7
- package/build_module/vdom-nodes/element-vdom.js.map +1 -1
- package/build_module/vdom-nodes/html-vdom.d.ts +3 -3
- package/build_module/vdom-nodes/html-vdom.js +7 -7
- package/build_module/vdom-nodes/html-vdom.js.map +1 -1
- package/build_module/vdom-nodes/text-vdom.d.ts +3 -3
- package/build_module/vdom-nodes/text-vdom.js +7 -7
- package/build_module/vdom-nodes/text-vdom.js.map +1 -1
- package/build_module/window-wrapper.js +4 -1
- package/build_module/window-wrapper.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
export declare function formatCssLength(value: string | number |
|
|
3
|
-
export declare function formatCssPercentage(value: string | number |
|
|
1
|
+
import BoundReactive from "../reactivity/bound-reactive";
|
|
2
|
+
export declare function formatCssLength(value: string | number | BoundReactive | Array<string | number | BoundReactive>, defaultUnits?: string): any;
|
|
3
|
+
export declare function formatCssPercentage(value: string | number | BoundReactive | Array<string | number | BoundReactive>): any;
|
|
4
4
|
export declare function formatCssColor(value: string | number): string;
|
|
5
|
-
export declare function formatCssAngle(value: string | number |
|
|
5
|
+
export declare function formatCssAngle(value: string | number | BoundReactive | Array<string | number | BoundReactive>): any;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { floatRegex } from "../helpers/tools";
|
|
2
|
-
import
|
|
2
|
+
import BoundReactive from "../reactivity/bound-reactive";
|
|
3
3
|
export function formatCssLength(value, defaultUnits = "px") {
|
|
4
4
|
value = value || "0px";
|
|
5
|
-
if (value instanceof
|
|
6
|
-
value = value.
|
|
5
|
+
if (value instanceof BoundReactive)
|
|
6
|
+
value = value._get();
|
|
7
7
|
if (value instanceof Array) {
|
|
8
8
|
return value.map(v => formatCssLength(v, defaultUnits)).join(" ");
|
|
9
9
|
}
|
|
@@ -21,8 +21,8 @@ export function formatCssLength(value, defaultUnits = "px") {
|
|
|
21
21
|
}
|
|
22
22
|
export function formatCssPercentage(value) {
|
|
23
23
|
value = value || "0%";
|
|
24
|
-
if (value instanceof
|
|
25
|
-
value = value.
|
|
24
|
+
if (value instanceof BoundReactive)
|
|
25
|
+
value = value._get();
|
|
26
26
|
if (value instanceof Array) {
|
|
27
27
|
return value.map(v => formatCssPercentage(v)).join(" ");
|
|
28
28
|
}
|
|
@@ -53,8 +53,8 @@ export function formatCssColor(value) {
|
|
|
53
53
|
}
|
|
54
54
|
export function formatCssAngle(value) {
|
|
55
55
|
value = value || "0deg";
|
|
56
|
-
if (value instanceof
|
|
57
|
-
value = value.
|
|
56
|
+
if (value instanceof BoundReactive)
|
|
57
|
+
value = value._get();
|
|
58
58
|
if (value instanceof Array) {
|
|
59
59
|
return value.map(v => formatCssAngle(v)).join(" ");
|
|
60
60
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format-css-type.js","sourceRoot":"","sources":["../../src/css/format-css-type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,
|
|
1
|
+
{"version":3,"file":"format-css-type.js","sourceRoot":"","sources":["../../src/css/format-css-type.ts"],"names":[],"mappings":"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"}
|
package/build_module/dot.js
CHANGED
|
@@ -3,10 +3,11 @@ import { TextVdom } from "./vdom-nodes/text-vdom";
|
|
|
3
3
|
import ElementVdom from "./vdom-nodes/element-vdom";
|
|
4
4
|
import { Vdom } from "./vdom-nodes/vdom";
|
|
5
5
|
import { DOT_VDOM_PROP_NAME } from "./constants";
|
|
6
|
-
import Reactive from "./reactive";
|
|
6
|
+
import Reactive from "./reactivity/reactive";
|
|
7
7
|
import { ComponentVdom } from "./vdom-nodes/component-vdom";
|
|
8
8
|
import BaseVStyle from "./v-style-nodes/base-v-style";
|
|
9
9
|
import WindowWrapper from "./window-wrapper";
|
|
10
|
+
import BoundReactive from "./reactivity/bound-reactive";
|
|
10
11
|
const allTags = [
|
|
11
12
|
"a",
|
|
12
13
|
"aside",
|
|
@@ -226,11 +227,10 @@ const makeDot = () => {
|
|
|
226
227
|
throw new Error("Invalid render target.");
|
|
227
228
|
}
|
|
228
229
|
};
|
|
229
|
-
_dot.watch = function (value,
|
|
230
|
+
_dot.watch = function (value, key) {
|
|
230
231
|
let o = new Reactive();
|
|
231
|
-
o.key =
|
|
232
|
-
o.
|
|
233
|
-
o.setValue(value);
|
|
232
|
+
o.key = key;
|
|
233
|
+
o.value = (value);
|
|
234
234
|
return o;
|
|
235
235
|
};
|
|
236
236
|
_dot.css = new BaseVStyle();
|
|
@@ -270,11 +270,11 @@ const makeDot = () => {
|
|
|
270
270
|
let cont;
|
|
271
271
|
let attrs;
|
|
272
272
|
{
|
|
273
|
-
if (a instanceof ContainerVdom || a instanceof Vdom || (a?._?._meta && a?.build) || a instanceof Reactive || typeof a === "string" || typeof a === "number" || typeof a === "boolean" || Array.isArray(a)) {
|
|
273
|
+
if (a instanceof ContainerVdom || a instanceof Vdom || (a?._?._meta && a?.build) || a instanceof Reactive || a instanceof BoundReactive || typeof a === "string" || typeof a === "number" || typeof a === "boolean" || Array.isArray(a)) {
|
|
274
274
|
cont = a;
|
|
275
275
|
attrs = b;
|
|
276
276
|
}
|
|
277
|
-
if (b instanceof ContainerVdom || b instanceof Vdom || (b?._?._meta && b?.build) || b instanceof Reactive || typeof b === "string" || typeof b === "number" || typeof b === "boolean" || Array.isArray(b)) {
|
|
277
|
+
if (b instanceof ContainerVdom || b instanceof Vdom || (b?._?._meta && b?.build) || b instanceof Reactive || b instanceof BoundReactive || typeof b === "string" || typeof b === "number" || typeof b === "boolean" || Array.isArray(b)) {
|
|
278
278
|
if (cont)
|
|
279
279
|
throw new Error("Both element arguments can't be content.");
|
|
280
280
|
cont = b;
|
|
@@ -287,14 +287,17 @@ const makeDot = () => {
|
|
|
287
287
|
{
|
|
288
288
|
if (attrs) {
|
|
289
289
|
for (let k in attrs) {
|
|
290
|
+
let attr = attrs[k];
|
|
291
|
+
if (attr instanceof Reactive)
|
|
292
|
+
attr = attr.bind();
|
|
290
293
|
if (allEventAttr[k]) {
|
|
291
294
|
if (typeof attrs[k] !== "function") {
|
|
292
295
|
throw new Error(`Value of event attribute ${k} must be a function.`);
|
|
293
296
|
}
|
|
294
|
-
n.addEventListener(k.substring(2),
|
|
297
|
+
n.addEventListener(k.substring(2), attr);
|
|
295
298
|
}
|
|
296
299
|
else {
|
|
297
|
-
n.setAttr(k,
|
|
300
|
+
n.setAttr(k, attr);
|
|
298
301
|
}
|
|
299
302
|
}
|
|
300
303
|
}
|
|
@@ -311,6 +314,9 @@ const makeDot = () => {
|
|
|
311
314
|
}
|
|
312
315
|
else {
|
|
313
316
|
if (cont !== null && cont !== undefined) {
|
|
317
|
+
if (cont instanceof Reactive) {
|
|
318
|
+
cont = cont.bind();
|
|
319
|
+
}
|
|
314
320
|
n.children._addChild(new TextVdom(cont));
|
|
315
321
|
}
|
|
316
322
|
}
|
package/build_module/dot.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dot.js","sourceRoot":"","sources":["../src/dot.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,WAAW,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,QAAQ,MAAM,
|
|
1
|
+
{"version":3,"file":"dot.js","sourceRoot":"","sources":["../src/dot.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,WAAW,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,QAAQ,MAAM,uBAAuB,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,OAAO,UAAU,MAAM,8BAA8B,CAAC;AAEtD,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAC7C,OAAO,aAAa,MAAM,6BAA6B,CAAC;AAIxD,MAAM,OAAO,GAAG;IACf,GAAG;IACH,OAAO;IACP,MAAM;IACN,SAAS;IACT,MAAM;IACN,SAAS;IACT,OAAO;IACP,GAAG;IACH,KAAK;IACL,KAAK;IACL,YAAY;IACZ,MAAM;IACN,IAAI;IACJ,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,MAAM;IACN,MAAM;IACN,KAAK;IACL,UAAU;IACV,SAAS;IACT,MAAM;IACN,UAAU;IACV,IAAI;IACJ,KAAK;IACL,SAAS;IACT,KAAK;IACL,QAAQ;IACR,KAAK;IACL,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,OAAO;IACP,UAAU;IACV,YAAY;IACZ,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,QAAQ;IACR,IAAI;IACJ,GAAG;IACH,QAAQ;IACR,KAAK;IACL,OAAO;IACP,KAAK;IACL,KAAK;IACL,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,IAAI;IACJ,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,UAAU;IACV,OAAO;IACP,KAAK;IACL,QAAQ;IACR,IAAI;IACJ,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,GAAG;IACH,OAAO;IACP,KAAK;IACL,UAAU;IACV,GAAG;IACH,IAAI;IACJ,IAAI;IACJ,MAAM;IACN,GAAG;IACH,MAAM;IACN,SAAS;IACT,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,KAAK;IACL,KAAK;IACL,SAAS;IACT,KAAK;IACL,OAAO;IACP,OAAO;IACP,IAAI;IACJ,UAAU;IACV,OAAO;IACP,IAAI;IACJ,OAAO;IACP,MAAM;IACN,IAAI;IACJ,OAAO;IACP,GAAG;IACH,IAAI;IACJ,KAAK;IACL,OAAO;IACP,KAAK;CACL,CAAC;AAwMF,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;AAGxE,MAAM,YAAY,GAAG;IACpB,OAAO,EAAE,CAAC;IACV,MAAM,EAAE,CAAC;IACT,QAAQ,EAAE,CAAC;IACX,OAAO,EAAE,CAAC;IACV,SAAS,EAAE,CAAC;IACZ,iBAAiB,EAAE,CAAC;IACpB,OAAO,EAAE,CAAC;IACV,MAAM,EAAE,CAAC;IACT,aAAa,EAAE,CAAC;IAChB,WAAW,EAAE,CAAC;IACd,KAAK,EAAE,CAAC;IACR,UAAU,EAAE,CAAC;IACb,MAAM,EAAE,CAAC;IACT,SAAS,EAAE,CAAC;IACZ,WAAW,EAAE,CAAC;IACd,WAAW,EAAE,CAAC;IACd,UAAU,EAAE,CAAC;IACb,WAAW,EAAE,CAAC;IACd,MAAM,EAAE,CAAC;IACT,gBAAgB,EAAE,CAAC;IACnB,SAAS,EAAE,CAAC;IACZ,OAAO,EAAE,CAAC;IACV,OAAO,EAAE,CAAC;IACV,OAAO,EAAE,CAAC;IACV,YAAY,EAAE,CAAC;IACf,SAAS,EAAE,CAAC;IACZ,SAAS,EAAE,CAAC;IACZ,UAAU,EAAE,CAAC;IACb,OAAO,EAAE,CAAC;IACV,MAAM,EAAE,CAAC;IACT,YAAY,EAAE,CAAC;IACf,gBAAgB,EAAE,CAAC;IACnB,WAAW,EAAE,CAAC;IACd,WAAW,EAAE,CAAC;IACd,YAAY,EAAE,CAAC;IACf,YAAY,EAAE,CAAC;IACf,WAAW,EAAE,CAAC;IACd,UAAU,EAAE,CAAC;IACb,WAAW,EAAE,CAAC;IACd,SAAS,EAAE,CAAC;IACZ,eAAe,EAAE,CAAC;IAClB,aAAa,EAAE,CAAC;IAChB,cAAc,EAAE,CAAC;IACjB,cAAc,EAAE,CAAC;IACjB,aAAa,EAAE,CAAC;IAChB,YAAY,EAAE,CAAC;IACf,aAAa,EAAE,CAAC;IAChB,WAAW,EAAE,CAAC;IACd,YAAY,EAAE,CAAC;IACf,UAAU,EAAE,CAAC;IACb,aAAa,EAAE,CAAC;IAChB,WAAW,EAAE,CAAC;IACd,YAAY,EAAE,CAAC;IACf,SAAS,EAAE,CAAC;IACZ,QAAQ,EAAE,CAAC;IACX,UAAU,EAAE,CAAC;IACb,WAAW,EAAE,CAAC;IACd,UAAU,EAAE,CAAC;IACb,OAAO,EAAE,CAAC;IACV,MAAM,EAAE,CAAC;IACT,SAAS,EAAE,CAAC;IACZ,UAAU,EAAE,CAAC;IACb,UAAU,EAAE,CAAC;IACb,YAAY,EAAE,CAAC;IACf,OAAO,EAAE,CAAC;IACV,QAAQ,EAAE,CAAC;IACX,QAAQ,EAAE,CAAC;IACX,QAAQ,EAAE,CAAC;IACX,QAAQ,EAAE,CAAC;IACX,SAAS,EAAE,CAAC;IACZ,QAAQ,EAAE,CAAC;IACX,SAAS,EAAE,CAAC;IACZ,SAAS,EAAE,CAAC;IACZ,QAAQ,EAAE,CAAC;IACX,SAAS,EAAE,CAAC;IACZ,YAAY,EAAE,CAAC;IACf,QAAQ,EAAE,CAAC;IACX,QAAQ,EAAE,CAAC;IACX,cAAc,EAAE,CAAC;IACjB,SAAS,EAAE,CAAC;IACZ,OAAO,EAAE,CAAC;CACV,CAAC;AASF,MAAM,eAAe,GAAG,CAAC,CAAC,EAAE,EAAE,EAAC,EAAE;IAChC,CAAC,CAAC,EAAE,CAAC,GAAG;QACP,IAAI,CAAC,GAAG,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;QACpB,OAAO,CAAC,CAAC;IACV,CAAC,CAAA;AACF,CAAC,CAAA;AAED,MAAM,OAAO,GAAG,GAAE,EAAE;IACnB,MAAM,IAAI,GAAG,UAAS,cAAc,EAAE,eAAuB,MAAM;QAElE,IAAG,cAAc,EAAE,aAAa,EAAE,WAAW,EAAC;YAC7C,IAAI,EAAE,GAAI,cAA8B,CAAC;YAGzC,IAAI,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAgB,CAAC;YACjD,IAAG,IAAI,EAAC;gBACP,OAAO,IAAI,CAAC,QAAQ,CAAC;aACrB;iBACG;gBACH,IAAI,GAAG,IAAI,WAAW,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;gBAC5D,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;gBAClB,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;gBAC7B,EAAE,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC;gBAC9B,OAAO,IAAI,CAAC,QAAQ,CAAC;aACrB;SACD;aACI,IAAG,OAAO,cAAc,IAAI,QAAQ,EAAC;YACzC,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACvE;aACG;YACH,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;SAC1C;IACF,CAAC,CAAA;IAGD,IAAI,CAAC,KAAK,GAAG,UAAgG,KAAQ,EAAE,GAAY;QAClI,IAAI,CAAC,GAAG,IAAI,QAAQ,EAAE,CAAC;QACvB,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC;QAEZ,CAAC,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;QAClB,OAAO,CAAC,CAAC;IACV,CAAC,CAAA;IAED,IAAI,CAAC,GAAG,GAAG,IAAI,UAAU,EAAE,CAAC;IAC1B,IAAI,CAAC,GAAW,CAAC,OAAmB,GAAG,IAAI,CAAC;IAK9C,IAAI,CAAC,SAAS,GAAG,CAAC,eAAyB,EAAE,MAAsC,EAAC,EAAE;QAErF,IAAG,eAAe,IAAI,CAAC,MAAM,EAAC;YAC7B,IAAG,OAAO,eAAe,IAAI,QAAQ,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,eAAe,CAAC,OAAO,CAAC,CAAC,EAAC;gBAC9F,MAAM,GAAG,eAAsB,CAAC;gBAChC,eAAe,GAAG,QAAQ,CAAC;aAC3B;SACD;QAED,IAAI,gBAAgB,GAAG,EAAE,CAAC;QAC1B,IAAG,OAAO,MAAM,IAAI,QAAQ,EAAC;YAC5B,gBAAgB,GAAG,MAAM,CAAC;SAC1B;aACG;YACH,IAAI,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC9B,IAAG,OAAO,OAAO,IAAI,QAAQ,EAAC;gBAC7B,gBAAgB,GAAG,OAAO,CAAC;aAC3B;iBACG;aAEH;SACD;QACD,MAAM,UAAU,GAAG,eAAe,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC1D,UAAU,CAAC,IAAI,GAAG,UAAU,CAAC;QAC7B,UAAU,CAAC,WAAW,GAAG,gBAAgB,CAAC;QAC1C,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAC9C,CAAC,CAAC;IAEF,IAAI,CAAC,MAAM,GAAG,CAAC,OAAO,EAAE,EAAE;QACzB,OAAO,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC,CAAA;IAED;QACC,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAC;YACtC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACnB,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,UAAS,CAAC,EAAE,CAAC;gBACzC,IAAI,CAAC,GAAG,IAAI,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;gBAEhC,IAAI,IAAI,CAAC;gBACT,IAAI,KAAK,CAAC;gBACV;oBACC,IAAG,CAAC,YAAY,aAAa,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,QAAQ,IAAI,CAAC,YAAY,aAAa,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAC;wBACtO,IAAI,GAAG,CAAC,CAAC;wBACT,KAAK,GAAG,CAAC,CAAC;qBACV;oBACD,IAAG,CAAC,YAAY,aAAa,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,QAAQ,IAAI,CAAC,YAAY,aAAa,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAC;wBACtO,IAAG,IAAI;4BAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;wBACrE,IAAI,GAAG,CAAC,CAAC;wBACT,KAAK,GAAG,CAAC,CAAC;qBACV;oBAED,IAAG,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAC;wBACpB,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;qBACjB;iBAQD;gBAED;oBACC,IAAG,KAAK,EAAC;wBACR,KAAI,IAAI,CAAC,IAAI,KAAK,EAAE;4BACnB,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;4BACpB,IAAG,IAAI,YAAY,QAAQ;gCAAE,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;4BAChD,IAAG,YAAY,CAAC,CAAC,CAAC,EAAE;gCACnB,IAAG,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,UAAU,EAAE;oCAClC,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,sBAAsB,CAAC,CAAC;iCACrE;gCAED,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;6BACzC;iCAAM;gCACN,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;6BACnB;yBACD;qBACD;iBACD;gBAED;oBACC,IAAG,IAAI,YAAY,aAAa,EAAC;wBAGhC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;qBAClB;yBACI,IAAG,IAAI,YAAY,IAAI,EAAC;wBAC5B,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;qBAC3B;yBACI,IAAG,IAAI,EAAE,CAAC,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,EAAC;wBACrC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;qBACnD;yBACG;wBAEH,IAAG,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,EAAC;4BACtC,IAAG,IAAI,YAAY,QAAQ,EAAC;gCAC3B,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;6BACnB;4BACD,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;yBACzC;qBACD;iBACD;gBAED,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAmB1B,CAAC,CAAC;YACF,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;SACzB;KACD;IAED;QACC,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAC;YAC9C,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;YAC3B,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;SACzB;KACD;IAED,OAAO,IAA2B,CAAC;AACpC,CAAC,CAAA;AAED,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;AAEtB,eAAe,GAAG,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import VMetaNode from "../v-meta-nodes/v-meta-node";
|
|
2
|
+
import CollectionVdom from "../vdom-nodes/collection-vdom";
|
|
3
|
+
import { ConditionalVdom } from "../vdom-nodes/conditional-vdom";
|
|
4
|
+
import { HtmlVdom } from "../vdom-nodes/html-vdom";
|
|
5
|
+
import { TextVdom } from "../vdom-nodes/text-vdom";
|
|
6
|
+
import ReactiveAttr from "./reactive-attr";
|
|
7
|
+
import ReactiveStyle from "./reactive-style";
|
|
8
|
+
export default class Binding {
|
|
9
|
+
constructor(boundReactive, item) {
|
|
10
|
+
this.boundReactive = boundReactive;
|
|
11
|
+
this.item = item;
|
|
12
|
+
}
|
|
13
|
+
update() {
|
|
14
|
+
let value = this.boundReactive._get();
|
|
15
|
+
if (this.item instanceof TextVdom) {
|
|
16
|
+
this.item.textNode.textContent = value ?? "";
|
|
17
|
+
}
|
|
18
|
+
else if (this.item instanceof HtmlVdom) {
|
|
19
|
+
this.item.updateHtml(value);
|
|
20
|
+
}
|
|
21
|
+
else if (this.item instanceof ReactiveAttr) {
|
|
22
|
+
this.item.elementVdom.setAttr(this.item.attribute, this.boundReactive);
|
|
23
|
+
}
|
|
24
|
+
else if (this.item instanceof VMetaNode) {
|
|
25
|
+
this.item.update();
|
|
26
|
+
}
|
|
27
|
+
else if (this.item instanceof ReactiveStyle) {
|
|
28
|
+
this.item.vStyle.updateProp(this.item.prop, value);
|
|
29
|
+
}
|
|
30
|
+
else if (this.item instanceof CollectionVdom) {
|
|
31
|
+
this.item.updateList();
|
|
32
|
+
}
|
|
33
|
+
else if (this.item instanceof ConditionalVdom) {
|
|
34
|
+
this.item.updateConditions();
|
|
35
|
+
}
|
|
36
|
+
else if (this.item instanceof Function) {
|
|
37
|
+
this.item(value);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=binding.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"binding.js","sourceRoot":"","sources":["../../src/reactivity/binding.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,6BAA6B,CAAC;AACpD,OAAO,cAAc,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD,OAAO,YAAY,MAAM,iBAAiB,CAAC;AAC3C,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAM7C,MAAM,CAAC,OAAO,OAAO,OAAO;IAI3B,YAAY,aAA6B,EAAE,IAAS;QACnD,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IAClB,CAAC;IAGD,MAAM;QACL,IAAI,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;QAEtC,IAAG,IAAI,CAAC,IAAI,YAAY,QAAQ,EAAC;YAChC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,KAAe,IAAI,EAAE,CAAC;SACvD;aACI,IAAG,IAAI,CAAC,IAAI,YAAY,QAAQ,EAAC;YACrC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;SAC5B;aACI,IAAG,IAAI,CAAC,IAAI,YAAY,YAAY,EAAC;YACzC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;SACvE;aACI,IAAG,IAAI,CAAC,IAAI,YAAY,SAAS,EAAC;YACtC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;SACnB;aACI,IAAG,IAAI,CAAC,IAAI,YAAY,aAAa,EAAC;YAC1C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;SACnD;aACI,IAAG,IAAI,CAAC,IAAI,YAAY,cAAc,EAAC;YAE3C,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;SACvB;aACI,IAAG,IAAI,CAAC,IAAI,YAAY,eAAe,EAAC;YAE5C,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;SAC7B;aACI,IAAG,IAAI,CAAC,IAAI,YAAY,QAAQ,EAAC;YACrC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACjB;IACF,CAAC;CACD"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { IBoundReactive, IReactive } from "dothtml-interfaces";
|
|
2
|
+
export default class BoundReactive<T = any, Td = T> implements IBoundReactive<T, Td> {
|
|
3
|
+
_source: IReactive<T>;
|
|
4
|
+
_transform: {
|
|
5
|
+
display?: (v: T) => Td;
|
|
6
|
+
read?: (v: string) => T;
|
|
7
|
+
};
|
|
8
|
+
_get(): Td;
|
|
9
|
+
_set(v: string | number | boolean): void;
|
|
10
|
+
_subscribe(subscriber: any): number;
|
|
11
|
+
_unsubscribe(id: number): void;
|
|
12
|
+
constructor(source: IReactive<T>);
|
|
13
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export default class BoundReactive {
|
|
2
|
+
_get() {
|
|
3
|
+
let v = this._transform?.display ? this._transform.display(this._source.value) : this._source.value;
|
|
4
|
+
return v;
|
|
5
|
+
}
|
|
6
|
+
_set(v) {
|
|
7
|
+
let value = this._transform?.read ? this._transform.read(v) : v;
|
|
8
|
+
this._source.value = value;
|
|
9
|
+
}
|
|
10
|
+
_subscribe(subscriber) {
|
|
11
|
+
return this._source._subscribe(this, subscriber);
|
|
12
|
+
}
|
|
13
|
+
_unsubscribe(id) {
|
|
14
|
+
this._source._detachBinding(id);
|
|
15
|
+
}
|
|
16
|
+
constructor(source) {
|
|
17
|
+
this._source = source;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=bound-reactive.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bound-reactive.js","sourceRoot":"","sources":["../../src/reactivity/bound-reactive.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,OAAO,aAAa;IAQjC,IAAI;QAEH,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAsB,CAAC;QAErH,OAAO,CAAC,CAAC;IACV,CAAC;IAED,IAAI,CAAC,CAAwB;QAC5B,IAAI,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAW,CAAC,CAAC,CAAC,CAAC,CAAiB,CAAC;QAC1F,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;IAC5B,CAAC;IAED,UAAU,CAAC,UAAe;QACzB,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAClD,CAAC;IAED,YAAY,CAAC,EAAU;QACtB,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC;IAED,YAAY,MAAoB;QAC/B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACvB,CAAC;CACD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reactive-attr.js","sourceRoot":"","sources":["../../src/reactivity/reactive-attr.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,OAAO,YAAY;IAKhC,YAAY,WAAwB,EAAE,SAAiB;QACtD,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC5B,CAAC;CACD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reactive-style.js","sourceRoot":"","sources":["../../src/reactivity/reactive-style.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,OAAO,aAAa;IAKjC,YAAY,MAAc,EAAE,SAAiB;QAC5C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;IACvB,CAAC;CACD"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { IBoundReactive, IReactive } from "dothtml-interfaces";
|
|
2
|
+
import BoundReactive from "./bound-reactive";
|
|
3
|
+
import Binding from "./binding";
|
|
4
|
+
export default class Reactive<T = any> implements IReactive<T> {
|
|
5
|
+
bindAs<Td>(transform: {
|
|
6
|
+
display?: (v: T) => Td;
|
|
7
|
+
read?: (v: string) => T;
|
|
8
|
+
}): IBoundReactive<T, Td>;
|
|
9
|
+
bind(): BoundReactive<T, T>;
|
|
10
|
+
_value: T;
|
|
11
|
+
key: string;
|
|
12
|
+
allBindings: Record<number, Binding>;
|
|
13
|
+
constructor();
|
|
14
|
+
get value(): T;
|
|
15
|
+
set value(v: T);
|
|
16
|
+
private updater;
|
|
17
|
+
nextId: number;
|
|
18
|
+
subscribe(callback: Function): any;
|
|
19
|
+
_subscribe(boundReactive: IBoundReactive, item: any): number;
|
|
20
|
+
_detachBinding(id: number): void;
|
|
21
|
+
updateObservers(): void;
|
|
22
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import BoundReactive from "./bound-reactive";
|
|
2
|
+
import Binding from "./binding";
|
|
3
|
+
const TEXT_OFFSET = 0;
|
|
4
|
+
const HTML_OFFSET = 1;
|
|
5
|
+
const ATTR_OFFSET = 2;
|
|
6
|
+
const ATTR_COLLECTION_OFFSET = 3;
|
|
7
|
+
const STYLE_OFFSET = 4;
|
|
8
|
+
const COND_OFFSET = 5;
|
|
9
|
+
const ARRAY_OFFSET = 6;
|
|
10
|
+
const CB_OFFSET = 7;
|
|
11
|
+
const CATEGORIES = CB_OFFSET + 1;
|
|
12
|
+
export default class Reactive {
|
|
13
|
+
bindAs(transform) {
|
|
14
|
+
let br = new BoundReactive(this);
|
|
15
|
+
br._transform = transform;
|
|
16
|
+
return br;
|
|
17
|
+
}
|
|
18
|
+
bind() {
|
|
19
|
+
return new BoundReactive(this);
|
|
20
|
+
}
|
|
21
|
+
constructor() {
|
|
22
|
+
this.allBindings = {};
|
|
23
|
+
this.nextId = 1;
|
|
24
|
+
}
|
|
25
|
+
get value() {
|
|
26
|
+
return this._value;
|
|
27
|
+
}
|
|
28
|
+
set value(v) {
|
|
29
|
+
this._value = v;
|
|
30
|
+
this.updater(this._value);
|
|
31
|
+
}
|
|
32
|
+
updater(value) {
|
|
33
|
+
for (let b in this.allBindings) {
|
|
34
|
+
this.allBindings[b].update();
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
subscribe(callback) {
|
|
38
|
+
let br = new BoundReactive(this);
|
|
39
|
+
return br._subscribe(callback);
|
|
40
|
+
}
|
|
41
|
+
_subscribe(boundReactive, item) {
|
|
42
|
+
let id = this.nextId++;
|
|
43
|
+
this.allBindings[id] = new Binding(boundReactive, item);
|
|
44
|
+
return id;
|
|
45
|
+
}
|
|
46
|
+
_detachBinding(id) {
|
|
47
|
+
delete this.allBindings[id];
|
|
48
|
+
}
|
|
49
|
+
updateObservers() {
|
|
50
|
+
let updatedValue = this.value;
|
|
51
|
+
this.updater(updatedValue);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=reactive.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reactive.js","sourceRoot":"","sources":["../../src/reactivity/reactive.ts"],"names":[],"mappings":"AAUA,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAC7C,OAAO,OAAO,MAAM,WAAW,CAAC;AAEhC,MAAM,WAAW,GAAG,CAAC,CAAC;AACtB,MAAM,WAAW,GAAG,CAAC,CAAC;AACtB,MAAM,WAAW,GAAG,CAAC,CAAC;AAGtB,MAAM,sBAAsB,GAAG,CAAC,CAAC;AACjC,MAAM,YAAY,GAAG,CAAC,CAAC;AACvB,MAAM,WAAW,GAAG,CAAC,CAAC;AACtB,MAAM,YAAY,GAAG,CAAC,CAAC;AACvB,MAAM,SAAS,GAAG,CAAC,CAAC;AAEpB,MAAM,UAAU,GAAG,SAAS,GAAG,CAAC,CAAC;AAEjC,MAAM,CAAC,OAAO,OAAO,QAAQ;IAE5B,MAAM,CAAK,SAGV;QACA,IAAI,EAAE,GAAG,IAAI,aAAa,CAAQ,IAAI,CAA0B,CAAC;QAEjE,EAAE,CAAC,UAAU,GAAG,SAAS,CAAC;QAE1B,OAAO,EAAE,CAAC;IACX,CAAC;IAED,IAAI;QACH,OAAO,IAAI,aAAa,CAAO,IAAI,CAAC,CAAC;IACtC,CAAC;IAOD;QAFA,gBAAW,GAA4B,EAAE,CAAC;QAwB1C,WAAM,GAAG,CAAC,CAAC;IArBX,CAAC;IAED,IAAI,KAAK;QACR,OAAO,IAAI,CAAC,MAAM,CAAC;IACpB,CAAC;IAED,IAAI,KAAK,CAAC,CAAI;QACb,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAKhB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;IAEO,OAAO,CAAC,KAAQ;QACvB,KAAI,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,EAAC;YAC7B,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SAC7B;IACF,CAAC;IAID,SAAS,CAAC,QAAkB;QAC3B,IAAI,EAAE,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC;QACjC,OAAO,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAED,UAAU,CAAC,aAA6B,EAAE,IAAS;QAClD,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,GAAG,IAAI,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QAExD,OAAO,EAAE,CAAC;IACX,CAAC;IAED,cAAc,CAAC,EAAU;QACxB,OAAO,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;IAID,eAAe;QACd,IAAI,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC;QAE9B,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC5B,CAAC;CAED"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import
|
|
1
|
+
import BoundReactive from "../reactivity/bound-reactive";
|
|
2
2
|
import VMetaNode from "./v-meta-node";
|
|
3
3
|
export default class AttributeVNode extends VMetaNode {
|
|
4
4
|
attr: string;
|
|
5
|
-
value: Record<string, string |
|
|
5
|
+
value: Record<string, string | BoundReactive>;
|
|
6
6
|
target: HTMLElement;
|
|
7
|
-
observables: Record<number,
|
|
7
|
+
observables: Record<number, BoundReactive>;
|
|
8
8
|
constructor(attrName: any, attrValue: any);
|
|
9
9
|
render(target: HTMLElement): void;
|
|
10
10
|
update(): void;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import BoundReactive from "../reactivity/bound-reactive";
|
|
2
|
+
import Reactive from "../reactivity/reactive";
|
|
2
3
|
import VMetaNode from "./v-meta-node";
|
|
3
4
|
export default class AttributeVNode extends VMetaNode {
|
|
4
5
|
constructor(attrName, attrValue) {
|
|
@@ -12,8 +13,10 @@ export default class AttributeVNode extends VMetaNode {
|
|
|
12
13
|
{
|
|
13
14
|
for (let k in this.value) {
|
|
14
15
|
let v = this.value[k];
|
|
15
|
-
if (v
|
|
16
|
-
|
|
16
|
+
if (v instanceof Reactive)
|
|
17
|
+
v = v.bind();
|
|
18
|
+
if (v && v instanceof BoundReactive) {
|
|
19
|
+
let id = v._subscribe(this);
|
|
17
20
|
this.observables[id] = v;
|
|
18
21
|
}
|
|
19
22
|
}
|
|
@@ -29,7 +32,9 @@ export default class AttributeVNode extends VMetaNode {
|
|
|
29
32
|
for (let k in this.value) {
|
|
30
33
|
let v = this.value[k];
|
|
31
34
|
if (v) {
|
|
32
|
-
if (
|
|
35
|
+
if (v instanceof Reactive)
|
|
36
|
+
v = v.bind();
|
|
37
|
+
if (!(v instanceof BoundReactive) || v._get()) {
|
|
33
38
|
tokens.push(k);
|
|
34
39
|
}
|
|
35
40
|
}
|
|
@@ -40,7 +45,7 @@ export default class AttributeVNode extends VMetaNode {
|
|
|
40
45
|
this.target = null;
|
|
41
46
|
for (let o in this.observables) {
|
|
42
47
|
let v = this.observables[o];
|
|
43
|
-
v.
|
|
48
|
+
v._unsubscribe(Number(o));
|
|
44
49
|
}
|
|
45
50
|
this.observables = {};
|
|
46
51
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attribute-v-node.js","sourceRoot":"","sources":["../../src/v-meta-nodes/attribute-v-node.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,
|
|
1
|
+
{"version":3,"file":"attribute-v-node.js","sourceRoot":"","sources":["../../src/v-meta-nodes/attribute-v-node.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,8BAA8B,CAAC;AACzD,OAAO,QAAQ,MAAM,wBAAwB,CAAC;AAC9C,OAAO,SAAS,MAAM,eAAe,CAAC;AAMtC,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,SAAS;IAQpD,YAAY,QAAQ,EAAE,SAAS;QAC9B,KAAK,EAAE,CAAC;QAHT,gBAAW,GAAkC,EAAE,CAAC;QAI/C,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;IACxB,CAAC;IAED,MAAM,CAAC,MAAmB;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB;YACC,KAAI,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,EAAC;gBACvB,IAAI,CAAC,GAAI,IAAI,CAAC,KAAa,CAAC,CAAC,CAAC,CAAC;gBAE/B,IAAG,CAAC,YAAY,QAAQ;oBAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;gBAEvC,IAAG,CAAC,IAAI,CAAC,YAAY,aAAa,EAAC;oBAClC,IAAI,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;oBAC5B,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;iBACzB;aACD;SACD;QAED;YACC,IAAI,CAAC,MAAM,EAAE,CAAC;SACd;IACF,CAAC;IAED,MAAM;QACL,IAAG,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QAExB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,KAAI,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,EAAC;YACvB,IAAI,CAAC,GAAI,IAAI,CAAC,KAAa,CAAC,CAAC,CAAC,CAAC;YAC/B,IAAG,CAAC,EAAC;gBACJ,IAAG,CAAC,YAAY,QAAQ;oBAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;gBACvC,IAAG,CAAC,CAAC,CAAC,YAAY,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAC;oBAC5C,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBACf;aACD;SACD;QACD,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,QAAQ;QACP,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QAEnB,KAAI,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,EAAC;YAC7B,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAC5B,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;SAC1B;QAED,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;IACvB,CAAC;CACD"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { IDotCss } from "dothtml-interfaces";
|
|
2
|
-
import Reactive from "../reactive";
|
|
3
2
|
import VMetaNode from "./v-meta-node";
|
|
3
|
+
import BoundReactive from "../reactivity/bound-reactive";
|
|
4
4
|
export default class StyleVNode extends VMetaNode {
|
|
5
5
|
target: NodeListOf<Element> | HTMLElement | string;
|
|
6
6
|
document: Document;
|
|
7
7
|
shadowRoot: ShadowRoot;
|
|
8
8
|
styleValue: IDotCss;
|
|
9
|
-
observables: Array<
|
|
9
|
+
observables: Array<BoundReactive>;
|
|
10
10
|
observableIds: Array<number>;
|
|
11
11
|
constructor(styleValue: IDotCss);
|
|
12
12
|
render(target: HTMLElement | string, document?: Document, shadowRoot?: ShadowRoot): void;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import cssProps from "../css/css-props";
|
|
2
|
-
import Reactive from "../reactive";
|
|
3
2
|
import VMetaNode from "./v-meta-node";
|
|
4
3
|
import CssFunctionBuilderVStyle from "../v-style-nodes/css-function-builder-v-style";
|
|
5
4
|
import FilterVStyle from "../v-style-nodes/filter-v-style";
|
|
6
5
|
import TransformVStyle from "../v-style-nodes/transform-v-style";
|
|
7
6
|
import { formatCssLength } from "../css/format-css-type";
|
|
7
|
+
import BoundReactive from "../reactivity/bound-reactive";
|
|
8
8
|
export default class StyleVNode extends VMetaNode {
|
|
9
9
|
constructor(styleValue) {
|
|
10
10
|
super();
|
|
@@ -14,7 +14,7 @@ export default class StyleVNode extends VMetaNode {
|
|
|
14
14
|
{
|
|
15
15
|
for (let prop in this.styleValue) {
|
|
16
16
|
let value = this.styleValue[prop];
|
|
17
|
-
if (value instanceof
|
|
17
|
+
if (value instanceof BoundReactive) {
|
|
18
18
|
this.observables.push(value);
|
|
19
19
|
}
|
|
20
20
|
else if (typeof value === "object") {
|
|
@@ -40,13 +40,13 @@ export default class StyleVNode extends VMetaNode {
|
|
|
40
40
|
let funcValue = funcArray[i];
|
|
41
41
|
for (let k in funcValue) {
|
|
42
42
|
let v = funcValue[k];
|
|
43
|
-
if (v instanceof
|
|
43
|
+
if (v instanceof BoundReactive) {
|
|
44
44
|
this.observables.push(v);
|
|
45
45
|
}
|
|
46
46
|
else if (v instanceof Array) {
|
|
47
47
|
for (let j in v) {
|
|
48
48
|
let w = v[j];
|
|
49
|
-
if (w instanceof
|
|
49
|
+
if (w instanceof BoundReactive) {
|
|
50
50
|
this.observables.push(w);
|
|
51
51
|
}
|
|
52
52
|
}
|
|
@@ -70,7 +70,7 @@ export default class StyleVNode extends VMetaNode {
|
|
|
70
70
|
{
|
|
71
71
|
for (let i in this.observables) {
|
|
72
72
|
let observable = this.observables[i];
|
|
73
|
-
let id = observable.
|
|
73
|
+
let id = observable._subscribe(this);
|
|
74
74
|
this.observableIds.push(id);
|
|
75
75
|
}
|
|
76
76
|
}
|
|
@@ -82,8 +82,8 @@ export default class StyleVNode extends VMetaNode {
|
|
|
82
82
|
let cssValue;
|
|
83
83
|
{
|
|
84
84
|
let value = this.styleValue[prop];
|
|
85
|
-
if (value instanceof
|
|
86
|
-
cssValue = value.
|
|
85
|
+
if (value instanceof BoundReactive) {
|
|
86
|
+
cssValue = value._get();
|
|
87
87
|
}
|
|
88
88
|
else if (value instanceof CssFunctionBuilderVStyle) {
|
|
89
89
|
cssValue = value.toString();
|
|
@@ -126,7 +126,7 @@ export default class StyleVNode extends VMetaNode {
|
|
|
126
126
|
for (let i in this.observableIds) {
|
|
127
127
|
let id = this.observableIds[i];
|
|
128
128
|
let observable = this.observables[i];
|
|
129
|
-
observable.
|
|
129
|
+
observable._unsubscribe(id);
|
|
130
130
|
}
|
|
131
131
|
this.observables.length = 0;
|
|
132
132
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"style-v-node.js","sourceRoot":"","sources":["../../src/v-meta-nodes/style-v-node.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,kBAAkB,CAAC;AACxC,OAAO,
|
|
1
|
+
{"version":3,"file":"style-v-node.js","sourceRoot":"","sources":["../../src/v-meta-nodes/style-v-node.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import BoundReactive from "../reactivity/bound-reactive";
|
|
2
|
+
import ReactiveStyle from "../reactivity/reactive-style";
|
|
2
3
|
import VStyle from "./v-style";
|
|
3
4
|
export default class BaseVStyle extends VStyle {
|
|
4
5
|
constructor() {
|
|
@@ -23,16 +24,16 @@ export default class BaseVStyle extends VStyle {
|
|
|
23
24
|
this.renderedSubBuilders.length = 0;
|
|
24
25
|
for (let s in this.subscriptions) {
|
|
25
26
|
let P = this.subscriptions[s];
|
|
26
|
-
P.
|
|
27
|
+
P._unsubscribe(Number(s));
|
|
27
28
|
}
|
|
28
29
|
this.subscriptions = {};
|
|
29
30
|
this.target = null;
|
|
30
31
|
}
|
|
31
32
|
renderAndSetPropValue(prop, value) {
|
|
32
|
-
if (value instanceof
|
|
33
|
-
let id = value.
|
|
33
|
+
if (value instanceof BoundReactive) {
|
|
34
|
+
let id = value._subscribe(new ReactiveStyle(this, prop));
|
|
34
35
|
this.subscriptions[id] = value;
|
|
35
|
-
this.updateProp(prop, value.
|
|
36
|
+
this.updateProp(prop, value._get());
|
|
36
37
|
}
|
|
37
38
|
else if (value instanceof VStyle) {
|
|
38
39
|
this.renderedSubBuilders.push(value);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-v-style.js","sourceRoot":"","sources":["../../src/v-style-nodes/base-v-style.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"base-v-style.js","sourceRoot":"","sources":["../../src/v-style-nodes/base-v-style.ts"],"names":[],"mappings":"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"}
|