j-templates 6.1.12 → 7.0.1
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/DOM/createAssignment.js +4 -5
- package/DOM/createAttributeAssignment.d.ts +1 -0
- package/DOM/createAttributeAssignment.js +16 -0
- package/DOM/createPropertyAssignment.d.ts +1 -0
- package/DOM/createPropertyAssignment.js +7 -0
- package/DOM/domNodeConfig.js +40 -0
- package/DOM/elements.d.ts +80 -26
- package/DOM/elements.js +12 -101
- package/DOM/index.d.ts +0 -1
- package/DOM/index.js +0 -1
- package/DOM/svgElements.d.ts +0 -4
- package/DOM/svgElements.js +0 -16
- package/Node/component.d.ts +19 -16
- package/Node/component.js +25 -31
- package/Node/component.types.d.ts +5 -0
- package/Node/nodeConfig.d.ts +7 -0
- package/Node/vNode.d.ts +20 -0
- package/Node/vNode.js +296 -0
- package/Node/vNode.types.d.ts +45 -0
- package/Store/Tree/observableNode.js +1 -2
- package/Store/Tree/observableScope.d.ts +2 -0
- package/Store/Tree/observableScope.js +29 -8
- package/Utils/avlTree.js +5 -6
- package/Utils/decorators.d.ts +4 -25
- package/Utils/decorators.js +3 -61
- package/Utils/distinctArray.d.ts +1 -1
- package/Utils/distinctArray.js +2 -2
- package/Utils/list.js +4 -37
- package/index.d.ts +1 -2
- package/package.json +1 -1
- package/Node/boundNode.d.ts +0 -4
- package/Node/boundNode.js +0 -115
- package/Node/boundNode.types.d.ts +0 -57
- package/Node/componentNode.d.ts +0 -7
- package/Node/componentNode.js +0 -123
- package/Node/componentNode.types.d.ts +0 -37
- package/Node/elementNode.d.ts +0 -5
- package/Node/elementNode.js +0 -176
- package/Node/elementNode.types.d.ts +0 -40
- package/Node/elementNode.types.js +0 -2
- package/Node/nodeRef.d.ts +0 -26
- package/Node/nodeRef.js +0 -253
- package/Node/nodeRef.types.d.ts +0 -21
- package/Node/nodeRef.types.js +0 -2
- package/Node/textNode.types.d.ts +0 -7
- package/Node/textNode.types.js +0 -2
- /package/Node/{boundNode.types.js → component.types.js} +0 -0
- /package/Node/{componentNode.types.js → vNode.types.js} +0 -0
package/Node/nodeRef.d.ts
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { INodeRef, ElementNodeRefTypes, AllNodeRefTypes } from "./nodeRef.types";
|
|
2
|
-
import { IBoundNode } from "./boundNode.types";
|
|
3
|
-
import { IElementDataNode, IElementNode } from "./elementNode.types";
|
|
4
|
-
import { IComponentNode } from "./componentNode.types";
|
|
5
|
-
import { IList } from "../Utils/list";
|
|
6
|
-
import { ITextNode } from "./textNode.types";
|
|
7
|
-
export declare enum NodeRefType {
|
|
8
|
-
NodeRef = 0,
|
|
9
|
-
BoundNode = 1,
|
|
10
|
-
ElementNode = 2,
|
|
11
|
-
ComponentNode = 3,
|
|
12
|
-
TextNode = 4
|
|
13
|
-
}
|
|
14
|
-
export declare namespace NodeRef {
|
|
15
|
-
function Wrap(node: any): INodeRef;
|
|
16
|
-
function Create(nodeType: any, namespace: string, type: NodeRefType): INodeRef | IBoundNode | IElementNode<any> | IComponentNode<any, any, any> | ITextNode;
|
|
17
|
-
function Init(nodeRef: AllNodeRefTypes): void;
|
|
18
|
-
function InitAll(parentNode: ElementNodeRefTypes, nodeRefs: Array<AllNodeRefTypes>): void;
|
|
19
|
-
function AddChild(node: ElementNodeRefTypes, child: AllNodeRefTypes): void;
|
|
20
|
-
function AddChildAfter(node: ElementNodeRefTypes, currentChild: AllNodeRefTypes, newChild: AllNodeRefTypes): void;
|
|
21
|
-
function AddChildBefore(node: ElementNodeRefTypes, currentChild: AllNodeRefTypes, newChild: AllNodeRefTypes): void;
|
|
22
|
-
function ReconcileChildren(node: ElementNodeRefTypes, nextChildren: IList<IElementDataNode<unknown>>): void;
|
|
23
|
-
function DetachChild(node: ElementNodeRefTypes, child: AllNodeRefTypes): void;
|
|
24
|
-
function Destroy(node: AllNodeRefTypes): void;
|
|
25
|
-
function DestroyAll(nodes: Array<AllNodeRefTypes>): void;
|
|
26
|
-
}
|
package/Node/nodeRef.js
DELETED
|
@@ -1,253 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.NodeRef = exports.NodeRefType = void 0;
|
|
4
|
-
const nodeConfig_1 = require("./nodeConfig");
|
|
5
|
-
const injector_1 = require("../Utils/injector");
|
|
6
|
-
const boundNode_1 = require("./boundNode");
|
|
7
|
-
const elementNode_1 = require("./elementNode");
|
|
8
|
-
const componentNode_1 = require("./componentNode");
|
|
9
|
-
const list_1 = require("../Utils/list");
|
|
10
|
-
const Store_1 = require("../Store");
|
|
11
|
-
const domNodeConfig_1 = require("../DOM/domNodeConfig");
|
|
12
|
-
var NodeRefType;
|
|
13
|
-
(function (NodeRefType) {
|
|
14
|
-
NodeRefType[NodeRefType["NodeRef"] = 0] = "NodeRef";
|
|
15
|
-
NodeRefType[NodeRefType["BoundNode"] = 1] = "BoundNode";
|
|
16
|
-
NodeRefType[NodeRefType["ElementNode"] = 2] = "ElementNode";
|
|
17
|
-
NodeRefType[NodeRefType["ComponentNode"] = 3] = "ComponentNode";
|
|
18
|
-
NodeRefType[NodeRefType["TextNode"] = 4] = "TextNode";
|
|
19
|
-
})(NodeRefType || (exports.NodeRefType = NodeRefType = {}));
|
|
20
|
-
var NodeRef;
|
|
21
|
-
(function (NodeRef) {
|
|
22
|
-
function Wrap(node) {
|
|
23
|
-
const nodeRef = Create(null, null, NodeRefType.BoundNode);
|
|
24
|
-
nodeRef.node = node;
|
|
25
|
-
nodeRef.childNodes = [];
|
|
26
|
-
return nodeRef;
|
|
27
|
-
}
|
|
28
|
-
NodeRef.Wrap = Wrap;
|
|
29
|
-
function Create(nodeType, namespace, type) {
|
|
30
|
-
switch (type) {
|
|
31
|
-
case NodeRefType.TextNode:
|
|
32
|
-
return {
|
|
33
|
-
type: NodeRefType.TextNode,
|
|
34
|
-
parent: null,
|
|
35
|
-
node: null,
|
|
36
|
-
value: nodeType
|
|
37
|
-
};
|
|
38
|
-
case NodeRefType.NodeRef:
|
|
39
|
-
return {
|
|
40
|
-
node: null,
|
|
41
|
-
nodeType: nodeType,
|
|
42
|
-
nodeNamespace: namespace,
|
|
43
|
-
type: NodeRefType.NodeRef,
|
|
44
|
-
injector: injector_1.Injector.Current() || new injector_1.Injector(),
|
|
45
|
-
parent: null,
|
|
46
|
-
childNodes: null,
|
|
47
|
-
destroyed: false
|
|
48
|
-
};
|
|
49
|
-
case NodeRefType.BoundNode:
|
|
50
|
-
return {
|
|
51
|
-
node: null,
|
|
52
|
-
nodeDef: null,
|
|
53
|
-
nodeType: nodeType,
|
|
54
|
-
nodeNamespace: namespace,
|
|
55
|
-
type: NodeRefType.BoundNode,
|
|
56
|
-
injector: injector_1.Injector.Current() || new injector_1.Injector(),
|
|
57
|
-
parent: null,
|
|
58
|
-
childNodes: null,
|
|
59
|
-
destroyed: false,
|
|
60
|
-
lastEvents: null,
|
|
61
|
-
setProperties: false,
|
|
62
|
-
assignProperties: null,
|
|
63
|
-
assignEvents: null,
|
|
64
|
-
assignText: null,
|
|
65
|
-
setAttributes: false,
|
|
66
|
-
setEvents: false,
|
|
67
|
-
setText: false,
|
|
68
|
-
scopes: null
|
|
69
|
-
};
|
|
70
|
-
case NodeRefType.ElementNode:
|
|
71
|
-
return {
|
|
72
|
-
node: null,
|
|
73
|
-
nodeDef: null,
|
|
74
|
-
nodeType: nodeType,
|
|
75
|
-
nodeNamespace: namespace,
|
|
76
|
-
type: NodeRefType.ElementNode,
|
|
77
|
-
injector: injector_1.Injector.Current() || new injector_1.Injector(),
|
|
78
|
-
parent: null,
|
|
79
|
-
childNodes: null,
|
|
80
|
-
destroyed: false,
|
|
81
|
-
lastEvents: null,
|
|
82
|
-
setProperties: false,
|
|
83
|
-
assignProperties: null,
|
|
84
|
-
assignEvents: null,
|
|
85
|
-
assignText: null,
|
|
86
|
-
setAttributes: false,
|
|
87
|
-
setEvents: false,
|
|
88
|
-
children: null,
|
|
89
|
-
childrenArray: null,
|
|
90
|
-
nodeList: null,
|
|
91
|
-
setData: false,
|
|
92
|
-
setText: false,
|
|
93
|
-
scopes: null,
|
|
94
|
-
destroyNodeList: list_1.List.Create()
|
|
95
|
-
};
|
|
96
|
-
case NodeRefType.ComponentNode:
|
|
97
|
-
return {
|
|
98
|
-
node: null,
|
|
99
|
-
nodeDef: null,
|
|
100
|
-
nodeType: nodeType,
|
|
101
|
-
nodeNamespace: namespace,
|
|
102
|
-
type: NodeRefType.ComponentNode,
|
|
103
|
-
injector: injector_1.Injector.Current() || new injector_1.Injector(),
|
|
104
|
-
parent: null,
|
|
105
|
-
childNodes: null,
|
|
106
|
-
destroyed: false,
|
|
107
|
-
setProperties: false,
|
|
108
|
-
assignProperties: null,
|
|
109
|
-
assignEvents: null,
|
|
110
|
-
setAttributes: false,
|
|
111
|
-
setEvents: false,
|
|
112
|
-
component: null,
|
|
113
|
-
componentEvents: null,
|
|
114
|
-
scopes: null
|
|
115
|
-
};
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
NodeRef.Create = Create;
|
|
119
|
-
function Init(nodeRef) {
|
|
120
|
-
if (nodeRef.type === NodeRefType.TextNode || nodeRef.node)
|
|
121
|
-
return;
|
|
122
|
-
nodeRef.node = nodeConfig_1.NodeConfig.createNode(nodeRef.nodeType, nodeRef.nodeNamespace);
|
|
123
|
-
nodeRef.childNodes = nodeRef.nodeType !== NodeRefType.TextNode ? [] : null;
|
|
124
|
-
switch (nodeRef.type) {
|
|
125
|
-
case NodeRefType.BoundNode:
|
|
126
|
-
boundNode_1.BoundNode.Init(nodeRef);
|
|
127
|
-
break;
|
|
128
|
-
case NodeRefType.ElementNode:
|
|
129
|
-
elementNode_1.ElementNode.Init(nodeRef);
|
|
130
|
-
break;
|
|
131
|
-
case NodeRefType.ComponentNode:
|
|
132
|
-
componentNode_1.ComponentNode.Init(nodeRef);
|
|
133
|
-
break;
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
NodeRef.Init = Init;
|
|
137
|
-
function AddChildToNode(parentNode, child) {
|
|
138
|
-
switch (parentNode.type) {
|
|
139
|
-
case NodeRefType.ElementNode:
|
|
140
|
-
parentNode.childNodes.add(child);
|
|
141
|
-
break;
|
|
142
|
-
case NodeRefType.ComponentNode:
|
|
143
|
-
case NodeRefType.BoundNode:
|
|
144
|
-
parentNode.childNodes.push(child);
|
|
145
|
-
break;
|
|
146
|
-
default:
|
|
147
|
-
throw "Unable to add child node to node";
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
function InitAll(parentNode, nodeRefs) {
|
|
151
|
-
for (var x = 0; x < nodeRefs.length; x++) {
|
|
152
|
-
nodeRefs[x].parent = parentNode;
|
|
153
|
-
AddChildToNode(parentNode, nodeRefs[x]);
|
|
154
|
-
Init(nodeRefs[x]);
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
NodeRef.InitAll = InitAll;
|
|
158
|
-
function AddChild(node, child) {
|
|
159
|
-
child.parent = node;
|
|
160
|
-
AddChildToNode(node, child);
|
|
161
|
-
nodeConfig_1.NodeConfig.addChild(node.node, child.node);
|
|
162
|
-
}
|
|
163
|
-
NodeRef.AddChild = AddChild;
|
|
164
|
-
function AddChildAfter(node, currentChild, newChild) {
|
|
165
|
-
if (currentChild && currentChild.parent !== node)
|
|
166
|
-
throw "currentChild is not valid";
|
|
167
|
-
newChild.parent = node;
|
|
168
|
-
AddChildToNode(node, newChild);
|
|
169
|
-
nodeConfig_1.NodeConfig.addChildAfter(node.node, currentChild && currentChild.node, newChild.node);
|
|
170
|
-
}
|
|
171
|
-
NodeRef.AddChildAfter = AddChildAfter;
|
|
172
|
-
function AddChildBefore(node, currentChild, newChild) {
|
|
173
|
-
if (currentChild && currentChild.parent !== node)
|
|
174
|
-
throw "currentChild is not valid";
|
|
175
|
-
newChild.parent = node;
|
|
176
|
-
AddChildToNode(node, newChild);
|
|
177
|
-
nodeConfig_1.NodeConfig.addChildBefore(node.node, currentChild && currentChild.node, newChild.node);
|
|
178
|
-
}
|
|
179
|
-
NodeRef.AddChildBefore = AddChildBefore;
|
|
180
|
-
function ReconcileChildren(node, nextChildren) {
|
|
181
|
-
const rootNode = node.node;
|
|
182
|
-
if (nextChildren.size === 0) {
|
|
183
|
-
nodeConfig_1.NodeConfig.replaceChildren(rootNode, []);
|
|
184
|
-
return;
|
|
185
|
-
}
|
|
186
|
-
let priorNode;
|
|
187
|
-
let insert = false;
|
|
188
|
-
let remove = false;
|
|
189
|
-
for (let curDataNode = nextChildren.head; curDataNode !== null; curDataNode = curDataNode.next) {
|
|
190
|
-
for (let x = 0; x < curDataNode.data.nodes.length; x++) {
|
|
191
|
-
const virtualNode = curDataNode.data.nodes[x];
|
|
192
|
-
const actualNode = priorNode ? nodeConfig_1.NodeConfig.getNextSibling(priorNode) : nodeConfig_1.NodeConfig.getFirstChild(rootNode);
|
|
193
|
-
if (virtualNode.type === NodeRefType.TextNode && virtualNode.node === null) {
|
|
194
|
-
if (domNodeConfig_1.DOMNodeConfig.isTextNode(actualNode)) {
|
|
195
|
-
domNodeConfig_1.DOMNodeConfig.setText(actualNode, virtualNode.value);
|
|
196
|
-
virtualNode.node = actualNode;
|
|
197
|
-
}
|
|
198
|
-
else
|
|
199
|
-
virtualNode.node = domNodeConfig_1.DOMNodeConfig.createTextNode(virtualNode.value);
|
|
200
|
-
}
|
|
201
|
-
const expectedNode = virtualNode.node;
|
|
202
|
-
if (actualNode !== expectedNode) {
|
|
203
|
-
nodeConfig_1.NodeConfig.addChildBefore(rootNode, actualNode, expectedNode);
|
|
204
|
-
!remove && insert && actualNode && nodeConfig_1.NodeConfig.removeChild(rootNode, actualNode);
|
|
205
|
-
remove = insert;
|
|
206
|
-
insert = true;
|
|
207
|
-
}
|
|
208
|
-
else {
|
|
209
|
-
insert = false;
|
|
210
|
-
remove = false;
|
|
211
|
-
}
|
|
212
|
-
priorNode = expectedNode;
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
let lastChild = nodeConfig_1.NodeConfig.getLastChild(rootNode);
|
|
216
|
-
while (priorNode && priorNode !== lastChild) {
|
|
217
|
-
nodeConfig_1.NodeConfig.removeChild(rootNode, lastChild);
|
|
218
|
-
lastChild = nodeConfig_1.NodeConfig.getLastChild(rootNode);
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
|
-
NodeRef.ReconcileChildren = ReconcileChildren;
|
|
222
|
-
function DetachChild(node, child) {
|
|
223
|
-
if (node.type === NodeRefType.ElementNode && node.childNodes.delete(child))
|
|
224
|
-
child.parent = null;
|
|
225
|
-
}
|
|
226
|
-
NodeRef.DetachChild = DetachChild;
|
|
227
|
-
function Destroy(node) {
|
|
228
|
-
if (node.type === NodeRefType.TextNode || node.destroyed)
|
|
229
|
-
return;
|
|
230
|
-
node.destroyed = true;
|
|
231
|
-
if (Array.isArray(node.childNodes))
|
|
232
|
-
for (let x = 0; x < node.childNodes.length; x++)
|
|
233
|
-
Destroy(node.childNodes[x]);
|
|
234
|
-
else
|
|
235
|
-
node.childNodes?.forEach(Destroy);
|
|
236
|
-
switch (node.type) {
|
|
237
|
-
case NodeRefType.ComponentNode:
|
|
238
|
-
node.component?.Destroy();
|
|
239
|
-
case NodeRefType.BoundNode:
|
|
240
|
-
node.assignEvents?.(null);
|
|
241
|
-
case NodeRefType.ElementNode:
|
|
242
|
-
for (let x = 0; node.scopes && x < node.scopes.length; x++)
|
|
243
|
-
Store_1.ObservableScope.Destroy(node.scopes[x]);
|
|
244
|
-
}
|
|
245
|
-
node.node = null;
|
|
246
|
-
}
|
|
247
|
-
NodeRef.Destroy = Destroy;
|
|
248
|
-
function DestroyAll(nodes) {
|
|
249
|
-
for (let x = 0; x < nodes.length; x++)
|
|
250
|
-
Destroy(nodes[x]);
|
|
251
|
-
}
|
|
252
|
-
NodeRef.DestroyAll = DestroyAll;
|
|
253
|
-
})(NodeRef || (exports.NodeRef = NodeRef = {}));
|
package/Node/nodeRef.types.d.ts
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { Injector } from "../Utils/injector";
|
|
2
|
-
import { IBoundNode } from "./boundNode.types";
|
|
3
|
-
import { IComponentNode } from "./componentNode.types";
|
|
4
|
-
import { IElementNode } from "./elementNode.types";
|
|
5
|
-
import { NodeRefType } from "./nodeRef";
|
|
6
|
-
import { ITextNode } from "./textNode.types";
|
|
7
|
-
export interface INodeRefBase {
|
|
8
|
-
type: NodeRefType;
|
|
9
|
-
node: any;
|
|
10
|
-
nodeType: any;
|
|
11
|
-
nodeNamespace: string;
|
|
12
|
-
injector: Injector;
|
|
13
|
-
parent: INodeRefBase;
|
|
14
|
-
childNodes: AllNodeRefTypes[] | Set<AllNodeRefTypes>;
|
|
15
|
-
destroyed: boolean;
|
|
16
|
-
}
|
|
17
|
-
export interface INodeRef extends INodeRefBase {
|
|
18
|
-
type: NodeRefType.NodeRef;
|
|
19
|
-
}
|
|
20
|
-
export type ElementNodeRefTypes = INodeRef | IBoundNode | IElementNode<any> | IComponentNode<any, any, any>;
|
|
21
|
-
export type AllNodeRefTypes = ElementNodeRefTypes | ITextNode;
|
package/Node/nodeRef.types.js
DELETED
package/Node/textNode.types.d.ts
DELETED
package/Node/textNode.types.js
DELETED
|
File without changes
|
|
File without changes
|