dothtml 6.0.0-beta.39 → 6.0.0-beta.40

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.
@@ -7,8 +7,9 @@ export declare class ConditionalVdom extends Vdom {
7
7
  private sealed;
8
8
  private renderedIndex;
9
9
  addCondition(condition: Binding | boolean, vNode: ContainerVdom, seal?: boolean): void;
10
- addAnchor(C: ConditionalNodeItem, node: HTMLElement): void;
10
+ private renderClause;
11
11
  _render(node: HTMLElement): void;
12
+ removeCNode(C: ConditionalNodeItem): void;
12
13
  _unrender(): void;
13
14
  updateConditions(): void;
14
15
  }
@@ -20,51 +20,52 @@ export class ConditionalVdom extends Vdom {
20
20
  observerId: 0
21
21
  };
22
22
  this.conditions.push(C);
23
- if (this.conditions[0].startAnchor) {
24
- this.addAnchor(C, this.conditions[0].startAnchor.parentElement);
25
- if (condition instanceof Binding) {
26
- C.observerId = condition._subscribe(this);
23
+ if (this._isRendered) {
24
+ this.renderClause(C, this.conditions[0].startAnchor.parentElement);
25
+ if (this.renderedIndex == -1) {
26
+ this.updateConditions();
27
27
  }
28
- this.updateConditions();
29
28
  }
30
29
  }
31
- addAnchor(C, node) {
30
+ renderClause(C, node) {
31
+ if (C.startAnchor)
32
+ throw new Error("Item is already rendered.");
32
33
  C.startAnchor = node.ownerDocument.createTextNode("");
33
34
  C.endAnchor = node.ownerDocument.createTextNode("");
34
35
  node.appendChild(C.startAnchor);
35
36
  node.appendChild(C.endAnchor);
37
+ if (C.condition instanceof Binding) {
38
+ C.observerId = C.condition._subscribe(this);
39
+ }
36
40
  }
37
41
  _render(node) {
42
+ this._isRendered = true;
38
43
  for (let c = 0; c < this.conditions.length; c++) {
39
- let C = this.conditions[c];
40
- if (C.startAnchor) {
41
- throw new Error("Item is already rendered.");
42
- }
43
- this.addAnchor(C, node);
44
- if (C.condition instanceof Binding) {
45
- C.observerId = C.condition._subscribe(this);
46
- }
44
+ this.renderClause(this.conditions[c], node);
47
45
  }
48
- if (this.conditions.length)
49
- this.updateConditions();
46
+ this.updateConditions();
47
+ }
48
+ removeCNode(C) {
49
+ if (C.condition instanceof Binding) {
50
+ C.condition._unsubscribe(C.observerId);
51
+ C.observerId = 0;
52
+ }
53
+ let start = C.startAnchor;
54
+ let end = C.endAnchor;
55
+ start.parentElement.removeChild(start);
56
+ end.parentElement.removeChild(end);
57
+ C.startAnchor = null;
58
+ C.endAnchor = null;
59
+ C.vNode._unrender();
50
60
  }
51
61
  _unrender() {
52
- if (this.conditions[0].startAnchor) {
53
- for (let i = 0; i < this.conditions.length; i++) {
54
- let C = this.conditions[i];
55
- let start = C.startAnchor;
56
- let end = C.endAnchor;
57
- C.vNode._unrender();
58
- start.parentElement.removeChild(start);
59
- end.parentElement.removeChild(end);
60
- C.startAnchor = null;
61
- C.endAnchor = null;
62
- if (C.condition instanceof Binding) {
63
- C.condition._unsubscribe(C.observerId);
64
- C.observerId = 0;
65
- }
66
- }
67
- this.renderedIndex = -1;
62
+ if (!this._isRendered)
63
+ return;
64
+ this._isRendered = false;
65
+ this.renderedIndex = -1;
66
+ for (let i = 0; i < this.conditions.length; i++) {
67
+ let C = this.conditions[i];
68
+ this.removeCNode(C);
68
69
  }
69
70
  }
70
71
  updateConditions() {
@@ -1 +1 @@
1
- {"version":3,"file":"conditional-vdom.js","sourceRoot":"","sources":["../../src/vdom-nodes/conditional-vdom.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,uBAAuB,CAAC;AAE5C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAG9B,MAAM,OAAO,eAAgB,SAAQ,IAAI;IAAzC;;QAES,eAAU,GAA+B,EAAE,CAAA;QAC3C,WAAM,GAAG,KAAK,CAAC;QACf,kBAAa,GAAG,CAAC,CAAC,CAAC;IAmH5B,CAAC;IAjHA,YAAY,CAAC,SAAyB,EAAE,KAAoB,EAAE,IAAI,GAAG,KAAK;QAEzE,IAAG,IAAI,CAAC,MAAM,EAAC;YACd,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;SACvE;QACD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QAEnB,IAAI,CAAC,GAAG;YACP,SAAS;YACT,KAAK;YACL,WAAW,EAAE,IAAI;YACjB,SAAS,EAAE,IAAI;YACf,UAAU,EAAE,CAAC;SACb,CAAC;QAEF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAExB,IAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,EAAC;YAGjC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;YAEhE,IAAG,SAAS,YAAY,OAAO,EAAC;gBAC/B,CAAC,CAAC,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;aAC1C;YAED,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACxB;IACF,CAAC;IAED,SAAS,CAAC,CAAsB,EAAE,IAAiB;QAClD,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QACtD,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QAChC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO,CAAC,IAAiB;QAMxB,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAC;YAC9C,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC3B,IAAG,CAAC,CAAC,WAAW,EAAC;gBAChB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;aAC7C;YAGD,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YAExB,IAAG,CAAC,CAAC,SAAS,YAAY,OAAO,EAAC;gBACjC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;aAC5C;SACD;QAGD,IAAG,IAAI,CAAC,UAAU,CAAC,MAAM;YACzB,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACzB,CAAC;IAED,SAAS;QACR,IAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,EAAC;YACjC,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAC;gBAC9C,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;gBAC1B,IAAI,KAAK,GAAG,CAAC,CAAC,WAAW,CAAC;gBAC1B,IAAI,GAAG,GAAG,CAAC,CAAC,SAAS,CAAC;gBAEtB,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;gBACpB,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBACvC,GAAG,CAAC,aAAa,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;gBACnC,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC;gBACrB,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC;gBAEnB,IAAG,CAAC,CAAC,SAAS,YAAY,OAAO,EAAC;oBACjC,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;oBACvC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC;iBACjB;aACD;YACD,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;SACxB;IACF,CAAC;IAED,gBAAgB;QACf,IAAI,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,aAA4B,CAAC;QACvE,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC;QAClB,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAC;YAC9C,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAE3B,IAAG,CAAC,CAAC,SAAS,YAAY,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAC;gBACpE,QAAQ,GAAG,CAAC,CAAC;gBACb,MAAM;aACN;SACD;QAED,IAAG,QAAQ,IAAI,IAAI,CAAC,aAAa,EAAC;YACjC;gBACC,IAAG,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC,EAAC;oBAC3B,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;oBAC5C,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;iBACpB;aACD;YAED;gBACC,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC;gBAC9B,IAAG,QAAQ,IAAI,CAAC,CAAC,EAAC;oBACjB,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;oBAClC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;iBACnC;aACD;SACD;IACF,CAAC;CACD"}
1
+ {"version":3,"file":"conditional-vdom.js","sourceRoot":"","sources":["../../src/vdom-nodes/conditional-vdom.ts"],"names":[],"mappings":"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"}
@@ -26,11 +26,15 @@ export class ContainerVdom extends Vdom {
26
26
  return this;
27
27
  }
28
28
  _render(node) {
29
+ this._isRendered = true;
29
30
  for (let c = 0; c < this._children.length; c++) {
30
31
  this._children[c]._render(node);
31
32
  }
32
33
  }
33
34
  _unrender() {
35
+ if (!this._isRendered)
36
+ return;
37
+ this._isRendered = false;
34
38
  for (let c = 0; c < this._children.length; c++) {
35
39
  this._children[c]._unrender();
36
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"container-vdom.js","sourceRoot":"","sources":["../../src/vdom-nodes/container-vdom.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"container-vdom.js","sourceRoot":"","sources":["../../src/vdom-nodes/container-vdom.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,9 @@
1
1
  export declare abstract class Vdom {
2
2
  abstract _render(target: HTMLElement): any;
3
3
  abstract _unrender(): any;
4
+ __isRendered: boolean;
5
+ get _isRendered(): boolean;
6
+ set _isRendered(value: boolean);
4
7
  toString(): string;
5
8
  _renderBefore(reference: Node): void;
6
9
  _renderAfter(reference: Node): void;
@@ -1,4 +1,17 @@
1
1
  export class Vdom {
2
+ constructor() {
3
+ this.__isRendered = false;
4
+ }
5
+ get _isRendered() {
6
+ return this.__isRendered;
7
+ }
8
+ set _isRendered(value) {
9
+ if (value && this.__isRendered)
10
+ throw new Error("Internal Error: Node is already rendered.");
11
+ if (!value && !this.__isRendered)
12
+ throw new Error("Internal Error: Node is not rendered.");
13
+ this.__isRendered = value;
14
+ }
2
15
  toString() {
3
16
  let el = document.createElement("div");
4
17
  this._render(el);
@@ -1 +1 @@
1
- {"version":3,"file":"vdom.js","sourceRoot":"","sources":["../../src/vdom-nodes/vdom.ts"],"names":[],"mappings":"AAAA,MAAM,OAAgB,IAAI;IAMzB,QAAQ;QACP,IAAI,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACjB,OAAO,EAAE,CAAC,SAAS,CAAC;IACrB,CAAC;IAED,aAAa,CAAC,SAAe;QAC5B,IAAI,KAAK,GAAG,SAAS,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACzD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACpB,OAAM,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAC;YACjC,IAAI,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC7B,EAAE,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YACjC,SAAS,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;SACpD;IACF,CAAC;IACD,YAAY,CAAC,SAAe;QAC3B,IAAG,SAAS,CAAC,WAAW,EAAC;YACxB,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;SAC1C;aACG;YACH,IAAI,IAAI,GAAG,SAAS,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;YACtD,SAAS,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YACzB,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;SACrC;IACF,CAAC;CACD"}
1
+ {"version":3,"file":"vdom.js","sourceRoot":"","sources":["../../src/vdom-nodes/vdom.ts"],"names":[],"mappings":"AAAA,MAAM,OAAgB,IAAI;IAA1B;QAMC,iBAAY,GAAG,KAAK,CAAC;IAoCtB,CAAC;IAnCA,IAAI,WAAW;QACd,OAAO,IAAI,CAAC,YAAY,CAAA;IACzB,CAAC;IACD,IAAI,WAAW,CAAC,KAAc;QAC7B,IAAG,KAAK,IAAI,IAAI,CAAC,YAAY;YAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC5F,IAAG,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC1F,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC3B,CAAC;IAED,QAAQ;QACP,IAAI,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACjB,OAAO,EAAE,CAAC,SAAS,CAAC;IACrB,CAAC;IAED,aAAa,CAAC,SAAe;QAC5B,IAAI,KAAK,GAAG,SAAS,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACzD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACpB,OAAM,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAC;YACjC,IAAI,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC7B,EAAE,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YACjC,SAAS,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;SACpD;IACF,CAAC;IACD,YAAY,CAAC,SAAe;QAC3B,IAAG,SAAS,CAAC,WAAW,EAAC;YACxB,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;SAC1C;aACG;YACH,IAAI,IAAI,GAAG,SAAS,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;YACtD,SAAS,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YACzB,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;SACrC;IACF,CAAC;CACD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dothtml",
3
- "version": "6.0.0-beta.39",
3
+ "version": "6.0.0-beta.40",
4
4
  "description": "DOThtml is a client-side web building framework written in TypeScript.",
5
5
  "main": "./build_module/index.js",
6
6
  "exports": "./build_module/index.js",