taggedjs 2.1.2 → 2.3.25
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/index.js +1 -1
- package/js/Clones.type.d.ts +1 -0
- package/js/Clones.type.js +2 -0
- package/js/Clones.type.js.map +1 -0
- package/js/Props.d.ts +1 -0
- package/js/Props.js +2 -0
- package/js/Props.js.map +1 -0
- package/js/Subject.d.ts +7 -2
- package/js/Subject.js +15 -10
- package/js/Subject.js.map +1 -1
- package/js/Tag.class.d.ts +37 -13
- package/js/Tag.class.js +133 -99
- package/js/Tag.class.js.map +1 -1
- package/js/Tag.utils.d.ts +8 -20
- package/js/Tag.utils.js +17 -88
- package/js/Tag.utils.js.map +1 -1
- package/js/ValueSubject.d.ts +1 -1
- package/js/ValueSubject.js.map +1 -1
- package/js/bindSubjectCallback.function.d.ts +5 -0
- package/js/bindSubjectCallback.function.js +19 -0
- package/js/bindSubjectCallback.function.js.map +1 -0
- package/js/elementDestroyCheck.function.d.ts +3 -0
- package/js/elementDestroyCheck.function.js +17 -0
- package/js/elementDestroyCheck.function.js.map +1 -0
- package/js/elementInitCheck.js.map +1 -1
- package/js/gateway/gateway.web.component.d.ts +11 -0
- package/js/gateway/gateway.web.component.js +20 -0
- package/js/gateway/gateway.web.component.js.map +1 -0
- package/js/gateway/index.d.ts +3 -0
- package/js/gateway/index.js +3 -0
- package/js/gateway/index.js.map +1 -0
- package/js/gateway/loadTagGateway.function.d.ts +2 -0
- package/js/gateway/loadTagGateway.function.js +18 -0
- package/js/gateway/loadTagGateway.function.js.map +1 -0
- package/js/gateway/tagGateway.function.d.ts +31 -0
- package/js/gateway/tagGateway.function.js +187 -0
- package/js/gateway/tagGateway.function.js.map +1 -0
- package/js/getCallback.js +39 -42
- package/js/getCallback.js.map +1 -1
- package/js/getTagSupport.d.ts +18 -17
- package/js/getTagSupport.js +104 -15
- package/js/getTagSupport.js.map +1 -1
- package/js/html.d.ts +1 -1
- package/js/html.js.map +1 -1
- package/js/index.d.ts +16 -7
- package/js/index.js +20 -8
- package/js/index.js.map +1 -1
- package/js/inputAttribute.js +3 -3
- package/js/inputAttribute.js.map +1 -1
- package/js/interpolateAttributes.d.ts +2 -1
- package/js/interpolateAttributes.js +126 -60
- package/js/interpolateAttributes.js.map +1 -1
- package/js/interpolateContentTemplates.d.ts +4 -1
- package/js/interpolateContentTemplates.js +32 -25
- package/js/interpolateContentTemplates.js.map +1 -1
- package/js/interpolateElement.d.ts +8 -13
- package/js/interpolateElement.js +26 -22
- package/js/interpolateElement.js.map +1 -1
- package/js/interpolateTemplate.d.ts +15 -19
- package/js/interpolateTemplate.js +33 -231
- package/js/interpolateTemplate.js.map +1 -1
- package/js/interpolations.d.ts +3 -2
- package/js/interpolations.js +2 -1
- package/js/interpolations.js.map +1 -1
- package/js/isInstance.d.ts +6 -0
- package/js/isInstance.js +10 -0
- package/js/isInstance.js.map +1 -0
- package/js/js/Clones.type.d.ts +1 -0
- package/js/js/Clones.type.js +2 -0
- package/js/js/Clones.type.js.map +1 -0
- package/js/js/Props.d.ts +1 -0
- package/js/js/Props.js +2 -0
- package/js/js/Props.js.map +1 -0
- package/js/js/Subject.d.ts +7 -2
- package/js/js/Subject.js +15 -10
- package/js/js/Subject.js.map +1 -1
- package/js/js/Tag.class.d.ts +27 -5
- package/js/js/Tag.class.js +109 -81
- package/js/js/Tag.class.js.map +1 -1
- package/js/js/Tag.utils.d.ts +8 -20
- package/js/js/Tag.utils.js +17 -88
- package/js/js/Tag.utils.js.map +1 -1
- package/js/js/ValueSubject.d.ts +1 -1
- package/js/js/ValueSubject.js.map +1 -1
- package/js/js/bindSubjectCallback.function.d.ts +5 -0
- package/js/js/bindSubjectCallback.function.js +19 -0
- package/js/js/bindSubjectCallback.function.js.map +1 -0
- package/js/js/elementDestroyCheck.function.d.ts +3 -0
- package/js/js/elementDestroyCheck.function.js +17 -0
- package/js/js/elementDestroyCheck.function.js.map +1 -0
- package/js/js/elementInitCheck.js.map +1 -1
- package/js/js/getCallback.js +39 -42
- package/js/js/getCallback.js.map +1 -1
- package/js/js/getTagSupport.d.ts +19 -17
- package/js/js/getTagSupport.js +111 -15
- package/js/js/getTagSupport.js.map +1 -1
- package/js/js/html.d.ts +1 -1
- package/js/js/html.js.map +1 -1
- package/js/js/index.d.ts +16 -7
- package/js/js/index.js +20 -8
- package/js/js/index.js.map +1 -1
- package/js/js/interpolateAttributes.d.ts +2 -1
- package/js/js/interpolateAttributes.js +118 -60
- package/js/js/interpolateAttributes.js.map +1 -1
- package/js/js/interpolateContentTemplates.d.ts +3 -1
- package/js/js/interpolateContentTemplates.js +32 -22
- package/js/js/interpolateContentTemplates.js.map +1 -1
- package/js/js/interpolateElement.d.ts +7 -12
- package/js/js/interpolateElement.js +18 -21
- package/js/js/interpolateElement.js.map +1 -1
- package/js/js/interpolateTemplate.d.ts +15 -19
- package/js/js/interpolateTemplate.js +33 -231
- package/js/js/interpolateTemplate.js.map +1 -1
- package/js/js/interpolations.d.ts +3 -1
- package/js/js/interpolations.js +3 -3
- package/js/js/interpolations.js.map +1 -1
- package/js/js/isInstance.d.ts +6 -0
- package/js/js/isInstance.js +10 -0
- package/js/js/isInstance.js.map +1 -0
- package/js/js/onDestroy.d.ts +2 -0
- package/js/js/onDestroy.js +20 -0
- package/js/js/onDestroy.js.map +1 -0
- package/js/js/onInit.d.ts +0 -4
- package/js/js/onInit.js +12 -10
- package/js/js/onInit.js.map +1 -1
- package/js/js/processSubjectComponent.function.d.ts +8 -0
- package/js/js/processSubjectComponent.function.js +53 -0
- package/js/js/processSubjectComponent.function.js.map +1 -0
- package/js/js/processSubjectValue.function.d.ts +16 -0
- package/js/js/processSubjectValue.function.js +122 -0
- package/js/js/processSubjectValue.function.js.map +1 -0
- package/js/js/processTagArray.d.ts +5 -1
- package/js/js/processTagArray.js +21 -10
- package/js/js/processTagArray.js.map +1 -1
- package/js/js/processTagResult.function.d.ts +10 -0
- package/js/js/processTagResult.function.js +42 -0
- package/js/js/processTagResult.function.js.map +1 -0
- package/js/js/providers.d.ts +4 -12
- package/js/js/providers.js +28 -20
- package/js/js/providers.js.map +1 -1
- package/js/js/redrawTag.function.d.ts +7 -0
- package/js/js/redrawTag.function.js +9 -0
- package/js/js/redrawTag.function.js.map +1 -0
- package/js/js/render.d.ts +1 -6
- package/js/js/render.js +8 -15
- package/js/js/render.js.map +1 -1
- package/js/js/renderAppToElement.d.ts +8 -2
- package/js/js/renderAppToElement.js +40 -21
- package/js/js/renderAppToElement.js.map +1 -1
- package/js/js/setUse.function.d.ts +23 -0
- package/js/js/setUse.function.js +14 -0
- package/js/js/setUse.function.js.map +1 -0
- package/js/js/state.d.ts +14 -11
- package/js/js/state.js +68 -33
- package/js/js/state.js.map +1 -1
- package/js/js/tag.d.ts +7 -16
- package/js/js/tag.js +33 -44
- package/js/js/tag.js.map +1 -1
- package/js/js/tagElement.d.ts +14 -0
- package/js/js/tagElement.js +57 -0
- package/js/js/tagElement.js.map +1 -0
- package/js/js/tagGateway.function.d.ts +5 -0
- package/js/js/tagGateway.function.js +119 -0
- package/js/js/tagGateway.function.js.map +1 -0
- package/js/js/tagRunner.d.ts +2 -13
- package/js/js/tagRunner.js +12 -12
- package/js/js/tagRunner.js.map +1 -1
- package/js/js/templater.utils.d.ts +28 -0
- package/js/js/templater.utils.js +99 -0
- package/js/js/templater.utils.js.map +1 -0
- package/js/js/updateTag.utils.d.ts +6 -0
- package/js/js/updateTag.utils.js +84 -0
- package/js/js/updateTag.utils.js.map +1 -0
- package/js/onDestroy.d.ts +2 -0
- package/js/onDestroy.js +20 -0
- package/js/onDestroy.js.map +1 -0
- package/js/onInit.d.ts +0 -4
- package/js/onInit.js +12 -10
- package/js/onInit.js.map +1 -1
- package/js/processSubjectComponent.function.d.ts +8 -0
- package/js/processSubjectComponent.function.js +53 -0
- package/js/processSubjectComponent.function.js.map +1 -0
- package/js/processSubjectValue.function.d.ts +16 -0
- package/js/processSubjectValue.function.js +122 -0
- package/js/processSubjectValue.function.js.map +1 -0
- package/js/processTagArray.d.ts +5 -1
- package/js/processTagArray.js +21 -10
- package/js/processTagArray.js.map +1 -1
- package/js/processTagResult.function.d.ts +10 -0
- package/js/processTagResult.function.js +39 -0
- package/js/processTagResult.function.js.map +1 -0
- package/js/providers.d.ts +4 -12
- package/js/providers.js +28 -20
- package/js/providers.js.map +1 -1
- package/js/redrawTag.function.d.ts +7 -0
- package/js/redrawTag.function.js +8 -0
- package/js/redrawTag.function.js.map +1 -0
- package/js/render.d.ts +1 -6
- package/js/render.js +5 -19
- package/js/render.js.map +1 -1
- package/js/renderAppToElement.d.ts +8 -2
- package/js/renderAppToElement.js +40 -21
- package/js/renderAppToElement.js.map +1 -1
- package/js/setUse.function.d.ts +23 -0
- package/js/setUse.function.js +14 -0
- package/js/setUse.function.js.map +1 -0
- package/js/state.d.ts +14 -11
- package/js/state.js +68 -33
- package/js/state.js.map +1 -1
- package/js/tag.d.ts +6 -16
- package/js/tag.js +32 -43
- package/js/tag.js.map +1 -1
- package/js/tagElement.d.ts +14 -0
- package/js/tagElement.js +57 -0
- package/js/tagElement.js.map +1 -0
- package/js/tagGateway.function.d.ts +14 -0
- package/js/tagGateway.function.js +138 -0
- package/js/tagGateway.function.js.map +1 -0
- package/js/tagRunner.d.ts +2 -13
- package/js/tagRunner.js +12 -12
- package/js/tagRunner.js.map +1 -1
- package/js/templater.utils.d.ts +27 -0
- package/js/templater.utils.js +98 -0
- package/js/templater.utils.js.map +1 -0
- package/js/updateTag.utils.d.ts +6 -0
- package/js/updateTag.utils.js +102 -0
- package/js/updateTag.utils.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { processSubjectComponent } from "./processSubjectComponent.function.js";
|
|
2
|
+
import { processTagResult } from "./processTagResult.function.js";
|
|
3
|
+
import { isTagComponent, isTagInstance } from "./isInstance.js";
|
|
4
|
+
import { processTagArray } from "./processTagArray.js";
|
|
5
|
+
import { getTagSupport } from "./getTagSupport.js";
|
|
6
|
+
import { updateBetweenTemplates } from "./interpolateTemplate.js";
|
|
7
|
+
var ValueTypes;
|
|
8
|
+
(function (ValueTypes) {
|
|
9
|
+
ValueTypes["tag"] = "tag";
|
|
10
|
+
ValueTypes["tagArray"] = "tag-array";
|
|
11
|
+
ValueTypes["tagComponent"] = "tag-component";
|
|
12
|
+
ValueTypes["value"] = "value";
|
|
13
|
+
})(ValueTypes || (ValueTypes = {}));
|
|
14
|
+
function getValueType(value) {
|
|
15
|
+
if (isTagComponent(value)) {
|
|
16
|
+
return ValueTypes.tagComponent;
|
|
17
|
+
}
|
|
18
|
+
if (isTagInstance(value)) {
|
|
19
|
+
return ValueTypes.tag;
|
|
20
|
+
}
|
|
21
|
+
if (value instanceof Array && value.every(x => isTagInstance(x))) {
|
|
22
|
+
return ValueTypes.tagArray;
|
|
23
|
+
}
|
|
24
|
+
return ValueTypes.value;
|
|
25
|
+
}
|
|
26
|
+
export function processSubjectValue(value, result, // could be tag via result.tag
|
|
27
|
+
template, // <template end interpolate /> (will be removed)
|
|
28
|
+
tag, // owner
|
|
29
|
+
options) {
|
|
30
|
+
const valueType = getValueType(value);
|
|
31
|
+
// Previously was simple value, now its a tag of some sort
|
|
32
|
+
if (valueType !== ValueTypes.value && result.clone) {
|
|
33
|
+
const clone = result.clone;
|
|
34
|
+
const parent = clone.parentNode;
|
|
35
|
+
template.removeAttribute('removedAt');
|
|
36
|
+
parent.insertBefore(template, clone);
|
|
37
|
+
parent.removeChild(clone);
|
|
38
|
+
delete result.clone;
|
|
39
|
+
// result.clone = template
|
|
40
|
+
}
|
|
41
|
+
switch (valueType) {
|
|
42
|
+
case ValueTypes.tag:
|
|
43
|
+
return {
|
|
44
|
+
clones: processTag(value, result, template, tag, options)
|
|
45
|
+
};
|
|
46
|
+
case ValueTypes.tagArray:
|
|
47
|
+
return {
|
|
48
|
+
clones: processTagArray(result, value, template, tag, options)
|
|
49
|
+
};
|
|
50
|
+
case ValueTypes.tagComponent:
|
|
51
|
+
return {
|
|
52
|
+
clones: processSubjectComponent(value, result, template, tag, options)
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
// *if processing WAS a tag BUT NOW its some other non-tag value
|
|
56
|
+
if (result.tag) {
|
|
57
|
+
return {
|
|
58
|
+
clones: [],
|
|
59
|
+
promise: processWasTag(value, result, template, options),
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
return {
|
|
63
|
+
clones: processRegularValue(value, result, template, tag)
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
function processRegularValue(value, result, // could be tag via result.tag
|
|
67
|
+
template, // <template end interpolate /> (will be removed)
|
|
68
|
+
tag) {
|
|
69
|
+
const before = result.clone || template; // Either the template is on the doc OR its the first element we last put on doc
|
|
70
|
+
// Processing of regular values
|
|
71
|
+
const clone = updateBetweenTemplates(value, before);
|
|
72
|
+
result.clone = clone; // remember single element put down, for future updates
|
|
73
|
+
const clones = [];
|
|
74
|
+
const oldPos = tag.clones.indexOf(before); // is the insertBefore guide being considered one of the tags clones?
|
|
75
|
+
const isOnlyGuideInClones = oldPos >= 0 && !tag.clones.includes(clone);
|
|
76
|
+
const exchangeGuideForClone = isOnlyGuideInClones && !before.parentNode; // guide is in clones AND guide is not on the document
|
|
77
|
+
if (exchangeGuideForClone) {
|
|
78
|
+
tag.clones.splice(oldPos, 1); // remove insertBefore guide from tag
|
|
79
|
+
tag.clones.push(clone); // exchange guide for element actually on document
|
|
80
|
+
clones.push(clone); // record the one element that in the end is on the document
|
|
81
|
+
}
|
|
82
|
+
return clones;
|
|
83
|
+
}
|
|
84
|
+
function processTag(value, result, // could be tag via result.tag
|
|
85
|
+
template, // <template end interpolate /> (will be removed)
|
|
86
|
+
tag, // owner
|
|
87
|
+
options) {
|
|
88
|
+
// first time seeing this tag?
|
|
89
|
+
if (!value.tagSupport) {
|
|
90
|
+
value.tagSupport = getTagSupport(tag.tagSupport.depth + 1, {});
|
|
91
|
+
// asking me to render will cause my parent to render
|
|
92
|
+
value.tagSupport.mutatingRender = tag.tagSupport.mutatingRender;
|
|
93
|
+
value.tagSupport.oldest = value.tagSupport.oldest || value;
|
|
94
|
+
tag.children.push(value);
|
|
95
|
+
value.ownerTag = tag;
|
|
96
|
+
}
|
|
97
|
+
const clones = processTagResult(value, result, // Function will attach result.tag
|
|
98
|
+
template, options);
|
|
99
|
+
return clones;
|
|
100
|
+
}
|
|
101
|
+
function processWasTag(value, result, // could be tag via result.tag,
|
|
102
|
+
template, // <template end interpolate /> (will be removed)
|
|
103
|
+
options) {
|
|
104
|
+
const tag = result.tag;
|
|
105
|
+
// put the template back
|
|
106
|
+
const lastFirstChild = result.clone || template; // result.tag.clones[0] // template.lastFirstChild
|
|
107
|
+
// const parentNode = lastFirstChild.parentNode || template.parentNode
|
|
108
|
+
// put the template back down
|
|
109
|
+
lastFirstChild.parentNode.insertBefore(template, lastFirstChild);
|
|
110
|
+
// cleanup old
|
|
111
|
+
if (result.clone) {
|
|
112
|
+
result.clone.parentNode.removeChild(result.clone);
|
|
113
|
+
}
|
|
114
|
+
delete result.tag;
|
|
115
|
+
const stagger = options.counts.removed;
|
|
116
|
+
const promise = tag.destroy({ stagger }).then(animated => options.counts.removed = stagger + animated);
|
|
117
|
+
delete result.tag;
|
|
118
|
+
const clone = updateBetweenTemplates(value, template);
|
|
119
|
+
result.clone = clone;
|
|
120
|
+
return promise;
|
|
121
|
+
}
|
|
122
|
+
//# sourceMappingURL=processSubjectValue.function.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"processSubjectValue.function.js","sourceRoot":"","sources":["../ts/processSubjectValue.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAA;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEtD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAGlD,OAAO,EAAoB,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AAEnF,IAAK,UAKJ;AALD,WAAK,UAAU;IACb,yBAAW,CAAA;IACX,oCAAsB,CAAA;IACtB,4CAA8B,CAAA;IAC9B,6BAAe,CAAA;AACjB,CAAC,EALI,UAAU,KAAV,UAAU,QAKd;AAED,SAAS,YAAY,CAAC,KAAU;IAC9B,IAAG,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,UAAU,CAAC,YAAY,CAAA;IAChC,CAAC;IAED,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,UAAU,CAAC,GAAG,CAAA;IACvB,CAAC;IAED,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,OAAO,UAAU,CAAC,QAAQ,CAAA;IAC5B,CAAC;IAED,OAAO,UAAU,CAAC,KAAK,CAAA;AACzB,CAAC;AAYD,MAAM,UAAU,mBAAmB,CACjC,KAAU,EACV,MAAW,EAAE,8BAA8B;AAC3C,QAAkB,EAAE,iDAAiD;AACrE,GAAQ,EAAE,QAAQ;AAClB,OAAuB;IAEvB,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;IAErC,0DAA0D;IAC1D,IAAG,SAAS,KAAK,UAAU,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAClD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;QAC1B,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAA;QAC/B,QAAQ,CAAC,eAAe,CAAC,WAAW,CAAC,CAAA;QACrC,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;QACpC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;QACzB,OAAO,MAAM,CAAC,KAAK,CAAA;QACnB,0BAA0B;IAC5B,CAAC;IAED,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,UAAU,CAAC,GAAG;YACjB,OAAO;gBACL,MAAM,EAAE,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC;aAC1D,CAAA;QAEH,KAAK,UAAU,CAAC,QAAQ;YACtB,OAAO;gBACL,MAAM,EAAE,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC;aAC/D,CAAA;QAEH,KAAK,UAAU,CAAC,YAAY;YAC1B,OAAO;gBACL,MAAM,EAAE,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC;aACvE,CAAA;IACL,CAAC;IAED,gEAAgE;IAChE,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;QACf,OAAO;YACL,MAAM,EAAE,EAAE;YACV,OAAO,EAAE,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC;SACzD,CAAA;IACH,CAAC;IAED,OAAO;QACL,MAAM,EAAE,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC;KAC1D,CAAA;AACH,CAAC;AAED,SAAS,mBAAmB,CAC1B,KAAU,EACV,MAAW,EAAE,8BAA8B;AAC3C,QAAkB,EAAE,iDAAiD;AACrE,GAAQ;IAER,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAA,CAAC,gFAAgF;IAExH,+BAA+B;IAC/B,MAAM,KAAK,GAAG,sBAAsB,CAClC,KAAK,EACL,MAAM,CACP,CAAA;IAED,MAAM,CAAC,KAAK,GAAG,KAAK,CAAA,CAAC,uDAAuD;IAE5E,MAAM,MAAM,GAAW,EAAE,CAAA;IACzB,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA,CAAC,qEAAqE;IAC/G,MAAM,mBAAmB,GAAG,MAAM,IAAE,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IACpE,MAAM,qBAAqB,GAAG,mBAAmB,IAAI,CAAC,MAAM,CAAC,UAAU,CAAA,CAAC,sDAAsD;IAE9H,IAAI,qBAAqB,EAAG,CAAC;QAC3B,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA,CAAC,qCAAqC;QAClE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA,CAAC,kDAAkD;QACzE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA,CAAC,4DAA4D;IACjF,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAS,UAAU,CACjB,KAAU,EACV,MAAW,EAAE,8BAA8B;AAC3C,QAAkB,EAAE,iDAAiD;AACrE,GAAQ,EAAE,QAAQ;AAClB,OAAuB;IAEvB,8BAA8B;IAC9B,IAAG,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;QACrB,KAAK,CAAC,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC,EAAE,EAAqB,CAAC,CAAA;QACjF,qDAAqD;QACrD,KAAK,CAAC,UAAU,CAAC,cAAc,GAAG,GAAG,CAAC,UAAU,CAAC,cAAc,CAAA;QAC/D,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,IAAI,KAAK,CAAA;QAE1D,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAY,CAAC,CAAA;QAC/B,KAAK,CAAC,QAAQ,GAAG,GAAG,CAAA;IACtB,CAAC;IAED,MAAM,MAAM,GAAG,gBAAgB,CAC7B,KAAK,EACL,MAAM,EAAE,kCAAkC;IAC1C,QAAQ,EACR,OAAO,CACR,CAAA;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAS,aAAa,CACpB,KAAU,EACV,MAAW,EAAE,+BAA+B;AAC5C,QAAkB,EAAE,iDAAiD;AACrE,OAAuB;IAEvB,MAAM,GAAG,GAAQ,MAAM,CAAC,GAAG,CAAA;IAE3B,wBAAwB;IACxB,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAA,CAAA,kDAAkD;IACjG,sEAAsE;IAEtE,6BAA6B;IAC7B,cAAc,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAA;IAEhE,cAAc;IACd,IAAG,MAAM,CAAC,KAAK,EAAE,CAAC;QAChB,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACnD,CAAC;IACD,OAAO,MAAM,CAAC,GAAG,CAAA;IAEjB,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAA;IACtC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,EAAC,OAAO,EAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CACrD,OAAO,CAAC,MAAM,CAAC,OAAO,GAAG,OAAO,GAAG,QAAQ,CAC5C,CAAA;IACD,OAAO,MAAM,CAAC,GAAG,CAAA;IAEjB,MAAM,KAAK,GAAG,sBAAsB,CAClC,KAAK,EACL,QAAQ,CACT,CAAA;IAED,MAAM,CAAC,KAAK,GAAG,KAAK,CAAA;IAEpB,OAAO,OAAO,CAAA;AAChB,CAAC"}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
|
+
import { Clones } from "./Clones.type.js";
|
|
1
2
|
import { Tag } from "./Tag.class.js";
|
|
2
3
|
import { Counts } from "./interpolateTemplate.js";
|
|
3
4
|
export declare function processTagArray(result: any, value: Tag[], // arry of Tag classes
|
|
4
5
|
template: Element, // <template end interpolate />
|
|
5
|
-
ownerTag: Tag,
|
|
6
|
+
ownerTag: Tag, options: {
|
|
7
|
+
counts: Counts;
|
|
8
|
+
forceElement?: boolean;
|
|
9
|
+
}): Clones;
|
package/js/js/processTagArray.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { getTagSupport } from "./getTagSupport.js";
|
|
2
|
+
import { processTagResult } from "./processTagResult.function.js";
|
|
2
3
|
export function processTagArray(result, value, // arry of Tag classes
|
|
3
4
|
template, // <template end interpolate />
|
|
4
|
-
ownerTag,
|
|
5
|
+
ownerTag, options) {
|
|
6
|
+
const clones = [];
|
|
5
7
|
result.lastArray = result.lastArray || []; // {tag, index}[] populated in processTagResult
|
|
6
8
|
let removed = 0;
|
|
7
9
|
/** 🗑️ remove previous items first */
|
|
@@ -12,15 +14,24 @@ ownerTag, counts) {
|
|
|
12
14
|
if (lessLength || subArrayValue !== item.tag.arrayValue) {
|
|
13
15
|
const last = result.lastArray[index];
|
|
14
16
|
const tag = last.tag;
|
|
15
|
-
tag.destroy(
|
|
17
|
+
tag.destroy({
|
|
18
|
+
stagger: options.counts.removed,
|
|
19
|
+
byParent: false
|
|
20
|
+
});
|
|
16
21
|
++removed;
|
|
17
|
-
++counts.removed;
|
|
22
|
+
++options.counts.removed;
|
|
18
23
|
return false;
|
|
19
24
|
}
|
|
20
25
|
return true;
|
|
21
26
|
});
|
|
27
|
+
// const masterBefore = template || (template as any).clone
|
|
28
|
+
const before = template || template.clone;
|
|
22
29
|
value.forEach((subTag, index) => {
|
|
23
|
-
subTag.tagSupport = ownerTag.tagSupport
|
|
30
|
+
subTag.tagSupport = getTagSupport(-1, {}); // {...ownerTag.tagSupport} // ownerTag.tagSupport.templater
|
|
31
|
+
subTag.tagSupport.mutatingRender = () => {
|
|
32
|
+
ownerTag.tagSupport.render();
|
|
33
|
+
return subTag;
|
|
34
|
+
}; // fake having a render function
|
|
24
35
|
subTag.ownerTag = ownerTag;
|
|
25
36
|
ownerTag.children.push(subTag);
|
|
26
37
|
if (subTag.arrayValue === undefined) {
|
|
@@ -36,14 +47,14 @@ ownerTag, counts) {
|
|
|
36
47
|
if (previous.tag.arrayValue === subTag.arrayValue) {
|
|
37
48
|
previous.tag.updateValues(subTag.values);
|
|
38
49
|
}
|
|
39
|
-
return;
|
|
50
|
+
return [];
|
|
40
51
|
}
|
|
41
|
-
const
|
|
42
|
-
processTagResult(subTag, result, before, {
|
|
52
|
+
const nextClones = processTagResult(subTag, result, before, {
|
|
43
53
|
index,
|
|
44
|
-
|
|
54
|
+
...options,
|
|
45
55
|
});
|
|
56
|
+
clones.push(...nextClones);
|
|
46
57
|
});
|
|
47
|
-
return;
|
|
58
|
+
return clones;
|
|
48
59
|
}
|
|
49
60
|
//# sourceMappingURL=processTagArray.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processTagArray.js","sourceRoot":"","sources":["../ts/processTagArray.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"processTagArray.js","sourceRoot":"","sources":["../ts/processTagArray.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Tag } from "./Tag.class.js";
|
|
2
|
+
import { Clones } from "./Clones.type.js";
|
|
3
|
+
import { Counts } from "./interpolateTemplate.js";
|
|
4
|
+
export declare function processTagResult(tag: Tag, result: any, // used for recording past and current value
|
|
5
|
+
insertBefore: Element, // <template end interpolate />
|
|
6
|
+
{ index, counts, forceElement, }: {
|
|
7
|
+
index?: number;
|
|
8
|
+
counts: Counts;
|
|
9
|
+
forceElement?: boolean;
|
|
10
|
+
}): Clones;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
export function processTagResult(tag, result, // used for recording past and current value
|
|
2
|
+
insertBefore, // <template end interpolate />
|
|
3
|
+
{ index, counts, forceElement, }) {
|
|
4
|
+
// *for
|
|
5
|
+
if (index !== undefined) {
|
|
6
|
+
const existing = result.lastArray[index];
|
|
7
|
+
if (existing?.tag.isLikeTag(tag)) {
|
|
8
|
+
existing.tag.updateByTag(tag);
|
|
9
|
+
return [];
|
|
10
|
+
}
|
|
11
|
+
const lastFirstChild = insertBefore; // tag.clones[0] // insertBefore.lastFirstChild
|
|
12
|
+
const clones = tag.buildBeforeElement(lastFirstChild, { counts, forceElement, depth: tag.tagSupport.depth + 1 });
|
|
13
|
+
result.lastArray.push({
|
|
14
|
+
tag, index
|
|
15
|
+
});
|
|
16
|
+
return clones;
|
|
17
|
+
}
|
|
18
|
+
// *if appears we already have seen
|
|
19
|
+
if (result.tag && !forceElement) {
|
|
20
|
+
// are we just updating an if we already had?
|
|
21
|
+
if (result.tag.isLikeTag(tag)) {
|
|
22
|
+
// components
|
|
23
|
+
if (result instanceof Function) {
|
|
24
|
+
const newTag = result(result.tag.tagSupport);
|
|
25
|
+
result.tag.updateByTag(newTag);
|
|
26
|
+
return [];
|
|
27
|
+
}
|
|
28
|
+
result.tag.updateByTag(tag);
|
|
29
|
+
return []; // no clones created in element already on stage
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
// *if just now appearing to be a Tag
|
|
33
|
+
// const before = (insertBefore as any).clone || insertBefore
|
|
34
|
+
const clones = tag.buildBeforeElement(insertBefore, {
|
|
35
|
+
counts,
|
|
36
|
+
forceElement,
|
|
37
|
+
depth: tag.tagSupport.depth,
|
|
38
|
+
});
|
|
39
|
+
result.tag = tag; // let reprocessing know we saw this previously as an if
|
|
40
|
+
return clones;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=processTagResult.function.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"processTagResult.function.js","sourceRoot":"","sources":["../ts/processTagResult.function.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,gBAAgB,CAC9B,GAAQ,EACR,MAAW,EAAE,4CAA4C;AACzD,YAAqB,EAAE,+BAA+B;AACtD,EACE,KAAK,EAAE,MAAM,EAAE,YAAY,GAK5B;IAED,OAAO;IACP,IAAG,KAAK,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;QAExC,IAAG,QAAQ,EAAE,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;YAChC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;YAC7B,OAAO,EAAE,CAAA;QACX,CAAC;QAED,MAAM,cAAc,GAAG,YAAY,CAAA,CAAC,+CAA+C;QAEnF,MAAM,MAAM,GAAG,GAAG,CAAC,kBAAkB,CAAC,cAAc,EAAE,EAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC,EAAC,CAAC,CAAA;QAE9G,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC;YACpB,GAAG,EAAE,KAAK;SACX,CAAC,CAAA;QAEF,OAAO,MAAM,CAAA;IACf,CAAC;IAED,mCAAmC;IACnC,IAAG,MAAM,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAC/B,6CAA6C;QAC7C,IAAG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,aAAa;YACb,IAAG,MAAM,YAAY,QAAQ,EAAE,CAAC;gBAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;gBAC5C,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;gBAC9B,OAAO,EAAE,CAAA;YACX,CAAC;YAED,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;YAE3B,OAAO,EAAE,CAAA,CAAC,gDAAgD;QAC5D,CAAC;IACH,CAAC;IAED,qCAAqC;IACrC,6DAA6D;IAC7D,MAAM,MAAM,GAAG,GAAG,CAAC,kBAAkB,CAAC,YAAY,EAAE;QAClD,MAAM;QACN,YAAY;QACZ,KAAK,EAAE,GAAG,CAAC,UAAU,CAAC,KAAK;KAC5B,CAAC,CAAA;IACF,MAAM,CAAC,GAAG,GAAG,GAAG,CAAA,CAAC,wDAAwD;IAEzE,OAAO,MAAM,CAAA;AACf,CAAC"}
|
package/js/js/providers.d.ts
CHANGED
|
@@ -1,21 +1,12 @@
|
|
|
1
|
-
import { Tag } from "./Tag.class.js";
|
|
2
1
|
export type Provider = {
|
|
3
2
|
constructMethod: any;
|
|
4
3
|
instance: any;
|
|
5
4
|
clone: any;
|
|
6
5
|
};
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
currentTag: Tag | undefined;
|
|
10
|
-
ownerTag: Tag | undefined;
|
|
11
|
-
};
|
|
6
|
+
type functionProvider = <T>() => T;
|
|
7
|
+
type classProvider = new <T>(...args: any[]) => T;
|
|
12
8
|
export declare const providers: {
|
|
13
|
-
|
|
14
|
-
* @template T
|
|
15
|
-
* @param {(new (...args: any[]) => T) | () => T} constructor
|
|
16
|
-
* @returns {T}
|
|
17
|
-
*/
|
|
18
|
-
create: (constructMethod: any) => any;
|
|
9
|
+
create: <T>(constructMethod: classProvider | functionProvider) => T;
|
|
19
10
|
/**
|
|
20
11
|
* @template T
|
|
21
12
|
* @param {(new (...args: any[]) => T) | () => T} constructor
|
|
@@ -23,3 +14,4 @@ export declare const providers: {
|
|
|
23
14
|
*/
|
|
24
15
|
inject: (constructor: any) => any;
|
|
25
16
|
};
|
|
17
|
+
export {};
|
package/js/js/providers.js
CHANGED
|
@@ -1,19 +1,17 @@
|
|
|
1
1
|
import { deepClone } from "./deepFunctions.js";
|
|
2
|
-
import { setUse } from "./
|
|
3
|
-
|
|
2
|
+
import { setUse } from "./setUse.function.js";
|
|
3
|
+
// TODO: rename
|
|
4
|
+
setUse.memory.providerConfig = {
|
|
4
5
|
providers: [],
|
|
5
|
-
|
|
6
|
+
currentTagSupport: undefined,
|
|
6
7
|
ownerTag: undefined,
|
|
7
8
|
};
|
|
8
9
|
function get(constructMethod) {
|
|
9
|
-
|
|
10
|
+
const config = setUse.memory.providerConfig;
|
|
11
|
+
const providers = config.providers;
|
|
12
|
+
return providers.find(provider => provider.constructMethod === constructMethod);
|
|
10
13
|
}
|
|
11
14
|
export const providers = {
|
|
12
|
-
/**
|
|
13
|
-
* @template T
|
|
14
|
-
* @param {(new (...args: any[]) => T) | () => T} constructor
|
|
15
|
-
* @returns {T}
|
|
16
|
-
*/
|
|
17
15
|
create: (constructMethod) => {
|
|
18
16
|
const existing = get(constructMethod);
|
|
19
17
|
if (existing) {
|
|
@@ -22,6 +20,7 @@ export const providers = {
|
|
|
22
20
|
}
|
|
23
21
|
// Providers with provider requirements just need to use providers.create() and providers.inject()
|
|
24
22
|
const instance = constructMethod.constructor ? new constructMethod() : constructMethod();
|
|
23
|
+
const config = setUse.memory.providerConfig;
|
|
25
24
|
config.providers.push({
|
|
26
25
|
constructMethod,
|
|
27
26
|
instance,
|
|
@@ -39,11 +38,12 @@ export const providers = {
|
|
|
39
38
|
if (oldValue) {
|
|
40
39
|
return oldValue.instance;
|
|
41
40
|
}
|
|
41
|
+
const config = setUse.memory.providerConfig;
|
|
42
42
|
let owner = {
|
|
43
43
|
ownerTag: config.ownerTag
|
|
44
44
|
};
|
|
45
45
|
while (owner.ownerTag) {
|
|
46
|
-
const ownerProviders = owner.ownerTag.providers;
|
|
46
|
+
const ownerProviders = owner.ownerTag.tagSupport.memory.providers;
|
|
47
47
|
const provider = ownerProviders.find(provider => {
|
|
48
48
|
if (provider.constructMethod === constructor) {
|
|
49
49
|
return true;
|
|
@@ -56,23 +56,31 @@ export const providers = {
|
|
|
56
56
|
}
|
|
57
57
|
owner = owner.ownerTag; // cause reloop
|
|
58
58
|
}
|
|
59
|
-
const msg = `Could not inject provider: ${constructor}`;
|
|
59
|
+
const msg = `Could not inject provider: ${constructor.name} ${constructor}`;
|
|
60
60
|
console.warn(`${msg}. Available providers`, config.providers);
|
|
61
61
|
throw new Error(msg);
|
|
62
62
|
}
|
|
63
63
|
};
|
|
64
64
|
setUse({
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
config.providers.push(...tag.providers);
|
|
71
|
-
}
|
|
65
|
+
beforeRender: (tagSupport, ownerTag) => {
|
|
66
|
+
run(tagSupport, ownerTag);
|
|
67
|
+
},
|
|
68
|
+
beforeRedraw: (tagSupport, tag) => {
|
|
69
|
+
run(tagSupport, tag.ownerTag);
|
|
72
70
|
},
|
|
73
|
-
afterRender: (
|
|
74
|
-
|
|
71
|
+
afterRender: (tagSupport) => {
|
|
72
|
+
const config = setUse.memory.providerConfig;
|
|
73
|
+
tagSupport.memory.providers = [...config.providers];
|
|
75
74
|
config.providers.length = 0;
|
|
76
75
|
}
|
|
77
76
|
});
|
|
77
|
+
function run(tagSupport, ownerTag) {
|
|
78
|
+
const config = setUse.memory.providerConfig;
|
|
79
|
+
config.currentTagSuport = tagSupport;
|
|
80
|
+
config.ownerTag = ownerTag;
|
|
81
|
+
if (tagSupport.memory.providers.length) {
|
|
82
|
+
config.providers.length = 0;
|
|
83
|
+
config.providers.push(...tagSupport.memory.providers);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
78
86
|
//# sourceMappingURL=providers.js.map
|
package/js/js/providers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../ts/providers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../ts/providers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAE9C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAQ7C,eAAe;AACf,MAAM,CAAC,MAAM,CAAC,cAAc,GAAG;IAC7B,SAAS,EAAE,EAAgB;IAE3B,iBAAiB,EAAE,SAAmC;IACtD,QAAQ,EAAE,SAA4B;CACvC,CAAA;AAED,SAAS,GAAG,CAAC,eAAyB;IACpC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAA;IAC3C,MAAM,SAAS,GAAe,MAAM,CAAC,SAAS,CAAA;IAC9C,OAAO,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,eAAe,KAAK,eAAe,CAAC,CAAA;AACjF,CAAC;AAKD,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,MAAM,EAAE,CACN,eAAiD,EAC9C,EAAE;QACL,MAAM,QAAQ,GAAG,GAAG,CAAC,eAAe,CAAC,CAAA;QACrC,IAAG,QAAQ,EAAE,CAAC;YACZ,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;YAC7C,OAAO,QAAQ,CAAC,QAAQ,CAAA;QAC1B,CAAC;QAED,kGAAkG;QAClG,MAAM,QAAQ,GAAM,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,IAAK,eAAiC,EAAE,CAAC,CAAC,CAAE,eAAoC,EAAE,CAAA;QAEpI,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAA;QAC3C,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC;YACpB,eAAe;YACf,QAAQ;YACR,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC;SAC3B,CAAC,CAAA;QAEF,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED;;;;OAIG;IACH,MAAM,EAAE,CAAC,WAAgB,EAAE,EAAE;QAC3B,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,CAAC,CAAA;QACjC,IAAG,QAAQ,EAAE,CAAC;YACZ,OAAO,QAAQ,CAAC,QAAQ,CAAA;QAC1B,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAA;QAC3C,IAAI,KAAK,GAAG;YACV,QAAQ,EAAE,MAAM,CAAC,QAAQ;SACnB,CAAA;QAER,OAAM,KAAK,CAAC,QAAQ,EAAE,CAAC;YACrB,MAAM,cAAc,GAAG,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAA;YAEjE,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAC9C,IAAG,QAAQ,CAAC,eAAe,KAAK,WAAW,EAAE,CAAC;oBAC5C,OAAO,IAAI,CAAA;gBACb,CAAC;YACH,CAAC,CAAC,CAAA;YAEF,IAAG,QAAQ,EAAE,CAAC;gBACZ,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA,CAAC,oDAAoD;gBAClG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;gBAC/B,OAAO,QAAQ,CAAC,QAAQ,CAAA;YAC1B,CAAC;YAED,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAA,CAAC,eAAe;QACxC,CAAC;QAED,MAAM,GAAG,GAAG,8BAA8B,WAAW,CAAC,IAAI,IAAI,WAAW,EAAE,CAAA;QAC3E,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,uBAAuB,EAAE,MAAM,CAAC,SAAS,CAAC,CAAA;QAC7D,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAA;IACtB,CAAC;CACF,CAAA;AAED,MAAM,CAAC;IACL,YAAY,EAAE,CACZ,UAAsB,EACtB,QAAa,EACb,EAAE;QACF,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;IAC3B,CAAC;IACD,YAAY,EAAE,CACZ,UAAsB,EACtB,GAAQ,EACR,EAAE;QACF,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,QAAe,CAAC,CAAA;IACtC,CAAC;IACD,WAAW,EAAE,CACX,UAAsB,EAEtB,EAAE;QACF,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAA;QAC3C,UAAU,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,CAAA;QACnD,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAA;IAC7B,CAAC;CACF,CAAC,CAAA;AAEF,SAAS,GAAG,CACV,UAAsB,EACtB,QAAa;IAGb,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAA;IAC3C,MAAM,CAAC,gBAAgB,GAAG,UAAU,CAAA;IAEpC,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAE1B,IAAG,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;QACtC,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAA;QAC3B,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IACvD,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { TemplaterResult } from "./templater.utils.js";
|
|
2
|
+
import { Tag } from "./Tag.class.js";
|
|
3
|
+
export declare function redrawTag(existingTag: Tag | undefined, templater: TemplaterResult, // latest tag function to call for rendering
|
|
4
|
+
ownerTag?: Tag): {
|
|
5
|
+
remit: boolean;
|
|
6
|
+
retag: Tag;
|
|
7
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { getTagSupport } from "./getTagSupport.js";
|
|
2
|
+
export function redrawTag(existingTag, templater, // latest tag function to call for rendering
|
|
3
|
+
ownerTag) {
|
|
4
|
+
const depth = ownerTag?.tagSupport.depth || 0;
|
|
5
|
+
const tagSupport = existingTag?.tagSupport || getTagSupport(depth, templater);
|
|
6
|
+
const result = templater.renderWithSupport(tagSupport, existingTag, ownerTag);
|
|
7
|
+
return result;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=redrawTag.function.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redrawTag.function.js","sourceRoot":"","sources":["../ts/redrawTag.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAIlD,MAAM,UAAU,SAAS,CACvB,WAA4B,EAC5B,SAA0B,EAAE,4CAA4C;AACxE,QAAc;IAEd,MAAM,KAAK,GAAG,QAAQ,EAAE,UAAU,CAAC,KAAK,IAAI,CAAC,CAAA;IAC7C,MAAM,UAAU,GAAG,WAAW,EAAE,UAAU,IAAI,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;IAE7E,MAAM,MAAM,GAAG,SAAS,CAAC,iBAAiB,CACxC,UAAU,EACV,WAAW,EACX,QAAQ,CACT,CAAA;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
|
package/js/js/render.d.ts
CHANGED
|
@@ -1,6 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export declare function buildItemTagMap(tag: Tag, template: {
|
|
3
|
-
string: string;
|
|
4
|
-
context: Context;
|
|
5
|
-
}, // {string, context}
|
|
6
|
-
insertBefore: Element): (ChildNode | Element)[];
|
|
1
|
+
export declare function buildClones(temporary: Element, insertBefore: Element): ChildNode[];
|
package/js/js/render.js
CHANGED
|
@@ -1,19 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
export function buildItemTagMap(tag, template, // {string, context}
|
|
3
|
-
insertBefore) {
|
|
4
|
-
const temporary = document.createElement('div');
|
|
5
|
-
temporary.id = 'tag-temp-holder';
|
|
6
|
-
// render content with a first child that we can know is our first element
|
|
7
|
-
temporary.innerHTML = '<div></div>' + template.string;
|
|
8
|
-
const context = tag.update();
|
|
9
|
-
interpolateElement(temporary, context, tag);
|
|
10
|
-
const clones = buildClones(temporary, insertBefore);
|
|
11
|
-
tag.clones.push(...clones);
|
|
12
|
-
return clones;
|
|
13
|
-
}
|
|
14
|
-
function buildClones(temporary, insertBefore) {
|
|
1
|
+
export function buildClones(temporary, insertBefore) {
|
|
15
2
|
const clones = [];
|
|
16
3
|
const templateClone = temporary.children[0];
|
|
4
|
+
/*
|
|
5
|
+
if(!templateClone) {
|
|
6
|
+
return []
|
|
7
|
+
}
|
|
8
|
+
*/
|
|
17
9
|
const sibling = templateClone; // a div we added
|
|
18
10
|
let nextSibling = sibling.nextSibling;
|
|
19
11
|
temporary.removeChild(templateClone); // remove the div
|
|
@@ -26,6 +18,7 @@ function buildClones(temporary, insertBefore) {
|
|
|
26
18
|
return clones;
|
|
27
19
|
}
|
|
28
20
|
function buildSibling(nextSibling, insertBefore) {
|
|
29
|
-
insertBefore.parentNode
|
|
21
|
+
const parentNode = insertBefore.parentNode;
|
|
22
|
+
parentNode.insertBefore(nextSibling, insertBefore);
|
|
30
23
|
}
|
|
31
24
|
//# sourceMappingURL=render.js.map
|
package/js/js/render.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.js","sourceRoot":"","sources":["../ts/render.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"render.js","sourceRoot":"","sources":["../ts/render.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,WAAW,CACzB,SAAkB,EAClB,YAAqB;IAErB,MAAM,MAAM,GAAG,EAAE,CAAA;IACjB,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;IAE3C;;;;MAIE;IAEF,MAAM,OAAO,GAAG,aAAa,CAAA,CAAC,iBAAiB;IAC/C,IAAI,WAAW,GAAG,OAAO,CAAC,WAAW,CAAA;IACrC,SAAS,CAAC,WAAW,CAAC,aAAa,CAAC,CAAA,CAAC,iBAAiB;IAEtD,OAAO,WAAW,EAAE,CAAC;QACnB,MAAM,eAAe,GAAG,WAAW,CAAC,WAAW,CAAA;QAC/C,YAAY,CAAC,WAAW,EAAE,YAAY,CAAC,CAAA;QACvC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QACxB,WAAW,GAAG,eAAe,CAAA;IAC/B,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAS,YAAY,CACnB,WAAsB,EACtB,YAAqB;IAErB,MAAM,UAAU,GAAG,YAAY,CAAC,UAAwB,CAAA;IACxD,UAAU,CAAC,YAAY,CACrB,WAAW,EACX,YAAY,CACb,CAAA;AACH,CAAC"}
|
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
import { TagSupport } from "./getTagSupport.js";
|
|
2
|
+
import { TagComponent, TemplaterResult } from "./templater.utils.js";
|
|
2
3
|
import { Tag } from "./Tag.class.js";
|
|
3
|
-
|
|
4
|
-
|
|
4
|
+
export declare function renderAppToElement(app: TagComponent, // (...args: unknown[]) => TemplaterResult,
|
|
5
|
+
element: Element, props: unknown): {
|
|
6
|
+
tag: Tag;
|
|
7
|
+
tags: TagComponent[];
|
|
8
|
+
};
|
|
5
9
|
export declare function applyTagUpdater(wrapper: TemplaterResult): {
|
|
6
10
|
tag: Tag;
|
|
7
11
|
tagSupport: TagSupport;
|
|
8
12
|
};
|
|
13
|
+
/** Overwrites arguments.tagSupport.mutatingRender */
|
|
14
|
+
export declare function addAppTagRender(tagSupport: TagSupport, tag: Tag): void;
|
|
@@ -1,38 +1,57 @@
|
|
|
1
|
-
import { interpolateElement } from "./interpolateElement.js";
|
|
2
|
-
import { getTagSupport } from "./getTagSupport.js";
|
|
3
1
|
import { runBeforeRender } from "./tagRunner.js";
|
|
4
|
-
|
|
2
|
+
const appElements = [];
|
|
3
|
+
export function renderAppToElement(app, // (...args: unknown[]) => TemplaterResult,
|
|
4
|
+
element, props) {
|
|
5
|
+
const appElmIndex = appElements.findIndex(appElm => appElm.element === element);
|
|
6
|
+
if (appElmIndex >= 0) {
|
|
7
|
+
appElements[appElmIndex].tag.destroy();
|
|
8
|
+
appElements.splice(appElmIndex, 1);
|
|
9
|
+
console.warn('Found and destroyed app element already rendered to element', { element });
|
|
10
|
+
}
|
|
5
11
|
// Create the app which returns [props, runOneTimeFunction]
|
|
6
12
|
const wrapper = app(props);
|
|
7
13
|
// have a function setup and call the tagWrapper with (props, {update, async, on})
|
|
8
14
|
const result = applyTagUpdater(wrapper);
|
|
9
15
|
const { tag, tagSupport } = result;
|
|
16
|
+
tag.appElement = element;
|
|
17
|
+
addAppTagRender(tagSupport, tag);
|
|
18
|
+
// const context = tag.updateValues(tag.values)
|
|
19
|
+
const templateElm = document.createElement('template');
|
|
20
|
+
templateElm.setAttribute('tag-detail', 'app-template-placeholder');
|
|
21
|
+
element.appendChild(templateElm);
|
|
22
|
+
tag.buildBeforeElement(templateElm);
|
|
23
|
+
element.setUse = app.original.setUse;
|
|
24
|
+
appElements.push({ element, tag });
|
|
25
|
+
return { tag, tags: app.original.tags };
|
|
26
|
+
}
|
|
27
|
+
export function applyTagUpdater(wrapper) {
|
|
28
|
+
const tagSupport = wrapper.tagSupport; // getTagSupport(0, wrapper)
|
|
29
|
+
runBeforeRender(tagSupport, undefined);
|
|
30
|
+
// Call the apps function for our tag templater
|
|
31
|
+
// const templater = tagSupport.templater as TemplaterResult
|
|
32
|
+
const tag = wrapper.wrapper(); // templater.wrapper()
|
|
33
|
+
tag.tagSupport = tagSupport;
|
|
34
|
+
tag.afterRender();
|
|
35
|
+
return { tag, tagSupport };
|
|
36
|
+
}
|
|
37
|
+
/** Overwrites arguments.tagSupport.mutatingRender */
|
|
38
|
+
export function addAppTagRender(tagSupport, tag) {
|
|
10
39
|
let lastTag;
|
|
11
40
|
tagSupport.mutatingRender = () => {
|
|
12
|
-
runBeforeRender(tagSupport, tag);
|
|
13
41
|
tag.beforeRedraw();
|
|
14
|
-
const
|
|
15
|
-
fromTag.
|
|
42
|
+
const templater = tagSupport.templater; // wrapper
|
|
43
|
+
const fromTag = lastTag = templater.wrapper();
|
|
44
|
+
// tagSupport.props = fromTag.tagSupport.props
|
|
45
|
+
tagSupport.latestProps = fromTag.tagSupport.props;
|
|
46
|
+
tagSupport.latestClonedProps = fromTag.tagSupport.clonedProps;
|
|
47
|
+
fromTag.setSupport(tagSupport);
|
|
16
48
|
tag.afterRender();
|
|
17
49
|
tag.updateByTag(fromTag);
|
|
18
50
|
if (lastTag) {
|
|
19
|
-
lastTag.destroy(0);
|
|
51
|
+
lastTag.destroy({ stagger: 0 });
|
|
20
52
|
}
|
|
53
|
+
tagSupport.newest = fromTag;
|
|
21
54
|
return lastTag;
|
|
22
55
|
};
|
|
23
|
-
const context = tag.updateValues(tag.values);
|
|
24
|
-
const template = tag.getTemplate();
|
|
25
|
-
element.innerHTML = template.string;
|
|
26
|
-
interpolateElement(element, context, tag);
|
|
27
|
-
}
|
|
28
|
-
export function applyTagUpdater(wrapper) {
|
|
29
|
-
const tagSupport = getTagSupport(wrapper);
|
|
30
|
-
runBeforeRender(tagSupport);
|
|
31
|
-
// Call the apps function for our tag templater
|
|
32
|
-
const templater = tagSupport.templater;
|
|
33
|
-
const tag = templater.wrapper();
|
|
34
|
-
tag.tagSupport = tagSupport;
|
|
35
|
-
tag.afterRender();
|
|
36
|
-
return { tag, tagSupport };
|
|
37
56
|
}
|
|
38
57
|
//# sourceMappingURL=renderAppToElement.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderAppToElement.js","sourceRoot":"","sources":["../ts/renderAppToElement.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"renderAppToElement.js","sourceRoot":"","sources":["../ts/renderAppToElement.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAIhD,MAAM,WAAW,GAAmC,EAAE,CAAA;AAEtD,MAAM,UAAU,kBAAkB,CAChC,GAAiB,EAAE,2CAA2C;AAC9D,OAAgB,EAChB,KAAc;IAEd,MAAM,WAAW,GAAG,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,KAAK,OAAO,CAAC,CAAA;IAC/E,IAAG,WAAW,IAAI,CAAC,EAAE,CAAC;QACpB,WAAW,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAA;QACtC,WAAW,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;QAClC,OAAO,CAAC,IAAI,CAAC,6DAA6D,EAAE,EAAC,OAAO,EAAC,CAAC,CAAA;IACxF,CAAC;IAED,2DAA2D;IAC3D,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAA+B,CAAA;IAExD,kFAAkF;IAClF,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,CAAA;IACvC,MAAM,EAAC,GAAG,EAAE,UAAU,EAAC,GAAG,MAAM,CAAA;IAEhC,GAAG,CAAC,UAAU,GAAG,OAAO,CAAA;IAExB,eAAe,CAAC,UAAU,EAAE,GAAG,CAAC,CAAA;IAEhC,+CAA+C;IAE/C,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAA;IACtD,WAAW,CAAC,YAAY,CAAC,YAAY,EAAC,0BAA0B,CAAC,CAAA;IACjE,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAAA;IAEhC,GAAG,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAIlC;IAAC,OAAe,CAAC,MAAM,GAAI,GAAW,CAAC,QAAQ,CAAC,MAAM,CAAA;IAEvD,WAAW,CAAC,IAAI,CAAC,EAAC,OAAO,EAAE,GAAG,EAAC,CAAC,CAAA;IAEhC,OAAO,EAAC,GAAG,EAAE,IAAI,EAAG,GAAW,CAAC,QAAQ,CAAC,IAAI,EAAC,CAAA;AAChD,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,OAAwB;IAExB,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAA,CAAC,4BAA4B;IAClE,eAAe,CAAC,UAAU,EAAE,SAAuB,CAAC,CAAA;IAEpD,+CAA+C;IAC/C,4DAA4D;IAC5D,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,EAAE,CAAA,CAAC,sBAAsB;IAEpD,GAAG,CAAC,UAAU,GAAG,UAAU,CAAA;IAC3B,GAAG,CAAC,WAAW,EAAE,CAAA;IAEjB,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,CAAA;AAC5B,CAAC;AAED,qDAAqD;AACrD,MAAM,UAAU,eAAe,CAC7B,UAAsB,EACtB,GAAQ;IAER,IAAI,OAAO,CAAA;IACX,UAAU,CAAC,cAAc,GAAG,GAAG,EAAE;QAC/B,GAAG,CAAC,YAAY,EAAE,CAAA;QAElB,MAAM,SAAS,GAAG,UAAU,CAAC,SAA4B,CAAA,CAAC,UAAU;QACpE,MAAM,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC,OAAO,EAAE,CAAA;QAE7C,8CAA8C;QAC9C,UAAU,CAAC,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,CAAA;QACjD,UAAU,CAAC,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC,WAAW,CAAA;QAE7D,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAA;QAC9B,GAAG,CAAC,WAAW,EAAE,CAAA;QACjB,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;QAExB,IAAG,OAAO,EAAE,CAAC;YACX,OAAO,CAAC,OAAO,CAAC,EAAC,OAAO,EAAE,CAAC,EAAC,CAAC,CAAA;QAC/B,CAAC;QAED,UAAU,CAAC,MAAM,GAAG,OAAO,CAAA;QAE3B,OAAO,OAAO,CAAA;IAChB,CAAC,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Tag } from "./Tag.class.js";
|
|
2
|
+
import { TagSupport } from "./getTagSupport";
|
|
3
|
+
import { Config } from "./state";
|
|
4
|
+
interface TagUse {
|
|
5
|
+
beforeRender: (tagSupport: TagSupport, ownerTag: Tag) => void;
|
|
6
|
+
beforeRedraw: (tagSupport: TagSupport, tag: Tag) => void;
|
|
7
|
+
afterRender: (tagSupport: TagSupport, tag: Tag) => void;
|
|
8
|
+
beforeDestroy: (tagSupport: TagSupport, tag: Tag) => void;
|
|
9
|
+
}
|
|
10
|
+
export type UseOptions = {
|
|
11
|
+
beforeRender?: (tagSupport: TagSupport, ownerTag: Tag) => void;
|
|
12
|
+
beforeRedraw?: (tagSupport: TagSupport, tag: Tag) => void;
|
|
13
|
+
afterRender?: (tagSupport: TagSupport, tag: Tag) => void;
|
|
14
|
+
beforeDestroy?: (tagSupport: TagSupport, tag: Tag) => void;
|
|
15
|
+
};
|
|
16
|
+
export declare function setUse(use: UseOptions): void;
|
|
17
|
+
export declare namespace setUse {
|
|
18
|
+
var tagUse: TagUse[];
|
|
19
|
+
var memory: Record<string, any> & {
|
|
20
|
+
stateConfig: Config;
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
export {};
|