taggedjs 2.3.25 → 2.3.26
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/_js/ElementTarget.interface.d.ts +7 -0
- package/_js/ElementTarget.interface.js +2 -0
- package/_js/ElementTarget.interface.js.map +1 -0
- package/_js/ElementTargetEvent.interface.d.ts +6 -0
- package/_js/ElementTargetEvent.interface.js +2 -0
- package/_js/ElementTargetEvent.interface.js.map +1 -0
- package/_js/Tag.class.d.ts +69 -0
- package/_js/Tag.class.js +258 -0
- package/_js/Tag.class.js.map +1 -0
- package/_js/elementInitCheck.js.map +1 -0
- 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 +4 -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 +4 -0
- package/_js/gateway/tagGateway.function.js +49 -0
- package/_js/gateway/tagGateway.function.js.map +1 -0
- package/_js/gateway/tagGateway.utils.d.ts +21 -0
- package/_js/gateway/tagGateway.utils.js +139 -0
- package/_js/gateway/tagGateway.utils.js.map +1 -0
- package/_js/getCallback.d.ts +3 -0
- package/_js/getTagSupport.d.ts +21 -0
- package/_js/getTagSupport.js +110 -0
- package/_js/getTagSupport.js.map +1 -0
- package/_js/index.d.ts +20 -0
- package/_js/index.js +25 -0
- package/_js/index.js.map +1 -0
- package/_js/inputAttribute.js +19 -0
- package/_js/inputAttribute.js.map +1 -0
- package/_js/interpolateAttributes.js +135 -0
- package/_js/interpolateAttributes.js.map +1 -0
- package/_js/interpolateContentTemplates.d.ts +6 -0
- package/_js/interpolateContentTemplates.js +54 -0
- package/_js/interpolateContentTemplates.js.map +1 -0
- package/_js/interpolateElement.d.ts +9 -0
- package/_js/interpolateElement.js +39 -0
- package/_js/interpolateElement.js.map +1 -0
- package/_js/interpolations.d.ts +7 -0
- package/_js/interpolations.js +18 -0
- package/_js/interpolations.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 +17 -0
- package/_js/js/Subject.js +43 -0
- package/_js/js/Subject.js.map +1 -0
- package/_js/js/Tag.utils.d.ts +12 -0
- package/_js/js/Tag.utils.js +31 -0
- package/_js/js/Tag.utils.js.map +1 -0
- package/_js/js/ValueSubject.d.ts +6 -0
- package/_js/js/ValueSubject.js +15 -0
- package/_js/js/ValueSubject.js.map +1 -0
- 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/deepFunctions.d.ts +2 -0
- package/_js/js/deepFunctions.js +76 -0
- package/_js/js/deepFunctions.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.d.ts +2 -0
- package/_js/js/elementInitCheck.js +18 -0
- package/_js/js/getCallback.js +50 -0
- package/_js/js/getCallback.js.map +1 -0
- package/_js/js/html.d.ts +2 -0
- package/_js/js/html.js +5 -0
- package/_js/js/html.js.map +1 -0
- package/_js/js/inputAttribute.d.ts +1 -0
- package/_js/js/interpolateAttributes.d.ts +4 -0
- package/_js/js/interpolateTemplate.d.ts +17 -0
- package/_js/js/interpolateTemplate.js +64 -0
- package/_js/js/interpolateTemplate.js.map +1 -0
- 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/onDestroy.d.ts +2 -0
- package/_js/onDestroy.js +20 -0
- package/_js/onDestroy.js.map +1 -0
- package/_js/onInit.d.ts +2 -0
- package/_js/onInit.js +19 -0
- package/_js/onInit.js.map +1 -0
- 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 +9 -0
- package/_js/processTagArray.js +60 -0
- package/_js/processTagArray.js.map +1 -0
- package/_js/processTagResult.function.d.ts +10 -0
- package/_js/processTagResult.function.js +40 -0
- package/_js/processTagResult.function.js.map +1 -0
- package/_js/providers.d.ts +17 -0
- package/_js/providers.js +86 -0
- package/_js/providers.js.map +1 -0
- 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 -0
- package/_js/render.js +17 -0
- package/_js/render.js.map +1 -0
- package/_js/renderAppToElement.d.ts +14 -0
- package/_js/renderAppToElement.js +57 -0
- package/_js/renderAppToElement.js.map +1 -0
- 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 +21 -0
- package/_js/state.js +129 -0
- package/_js/state.js.map +1 -0
- package/_js/tag.d.ts +7 -0
- package/_js/tag.js +46 -0
- package/_js/tag.js.map +1 -0
- 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 +6 -0
- package/_js/tagRunner.js +19 -0
- package/_js/tagRunner.js.map +1 -0
- 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/index.js +1 -1
- package/js/ElementTarget.interface.d.ts +7 -0
- package/js/ElementTarget.interface.js +2 -0
- package/js/ElementTarget.interface.js.map +1 -0
- package/js/ElementTargetEvent.interface.d.ts +6 -0
- package/js/ElementTargetEvent.interface.js +2 -0
- package/js/ElementTargetEvent.interface.js.map +1 -0
- package/js/Tag.class.js +5 -5
- package/js/Tag.class.js.map +1 -1
- package/js/Tag.utils.d.ts +3 -2
- package/js/Tag.utils.js +4 -1
- package/js/Tag.utils.js.map +1 -1
- package/js/bindSubjectCallback.function.js +1 -0
- package/js/bindSubjectCallback.function.js.map +1 -1
- package/js/elementInitCheck.js.map +1 -1
- package/js/gateway/gateway.web.component.d.ts +1 -1
- package/js/gateway/gateway.web.component.js +1 -1
- package/js/gateway/gateway.web.component.js.map +1 -1
- package/js/gateway/index.d.ts +1 -1
- package/js/gateway/index.js +1 -0
- package/js/gateway/index.js.map +1 -1
- package/js/gateway/loadTagGateway.function.d.ts +1 -1
- package/js/gateway/loadTagGateway.function.js +1 -1
- package/js/gateway/loadTagGateway.function.js.map +1 -1
- package/js/gateway/tagGateway.function.d.ts +1 -28
- package/js/gateway/tagGateway.function.js +1 -139
- package/js/gateway/tagGateway.function.js.map +1 -1
- package/js/gateway/tagGateway.utils.d.ts +21 -0
- package/js/gateway/tagGateway.utils.js +139 -0
- package/js/gateway/tagGateway.utils.js.map +1 -0
- package/js/getCallback.d.ts +1 -1
- package/js/index.d.ts +1 -0
- package/js/index.js +1 -0
- package/js/index.js.map +1 -1
- package/js/interpolateAttributes.js +7 -4
- package/js/interpolateAttributes.js.map +1 -1
- package/js/processSubjectValue.function.d.ts +8 -1
- package/js/processSubjectValue.function.js +12 -5
- package/js/processSubjectValue.function.js.map +1 -1
- package/js/processTagArray.d.ts +10 -1
- package/js/processTagArray.js +9 -3
- package/js/processTagArray.js.map +1 -1
- package/js/processTagResult.function.d.ts +3 -1
- package/js/processTagResult.function.js +14 -10
- package/js/processTagResult.function.js.map +1 -1
- package/js/state.d.ts +3 -7
- package/js/state.js +27 -17
- package/js/state.js.map +1 -1
- package/js/tagElement.js +5 -2
- package/js/tagElement.js.map +1 -1
- package/js/updateTag.utils.d.ts +2 -1
- package/js/updateTag.utils.js +56 -11
- package/js/updateTag.utils.js.map +1 -1
- package/package.json +1 -1
- /package/{js/js → _js}/Clones.type.d.ts +0 -0
- /package/{js/js → _js}/Clones.type.js +0 -0
- /package/{js/js → _js}/Clones.type.js.map +0 -0
- /package/{js/js → _js}/Props.d.ts +0 -0
- /package/{js/js → _js}/Props.js +0 -0
- /package/{js/js → _js}/Props.js.map +0 -0
- /package/{js/js → _js}/Subject.d.ts +0 -0
- /package/{js/js → _js}/Subject.js +0 -0
- /package/{js/js → _js}/Subject.js.map +0 -0
- /package/{js/js → _js}/Tag.utils.d.ts +0 -0
- /package/{js/js → _js}/Tag.utils.js +0 -0
- /package/{js/js → _js}/Tag.utils.js.map +0 -0
- /package/{js/js → _js}/ValueSubject.d.ts +0 -0
- /package/{js/js → _js}/ValueSubject.js +0 -0
- /package/{js/js → _js}/ValueSubject.js.map +0 -0
- /package/{js/js → _js}/bindSubjectCallback.function.d.ts +0 -0
- /package/{js/js → _js}/bindSubjectCallback.function.js +0 -0
- /package/{js/js → _js}/bindSubjectCallback.function.js.map +0 -0
- /package/{js/js → _js}/deepFunctions.d.ts +0 -0
- /package/{js/js → _js}/deepFunctions.js +0 -0
- /package/{js/js → _js}/deepFunctions.js.map +0 -0
- /package/{js/js → _js}/elementDestroyCheck.function.d.ts +0 -0
- /package/{js/js → _js}/elementDestroyCheck.function.js +0 -0
- /package/{js/js → _js}/elementDestroyCheck.function.js.map +0 -0
- /package/{js/js → _js}/elementInitCheck.d.ts +0 -0
- /package/{js/js → _js}/elementInitCheck.js +0 -0
- /package/{js/js → _js}/getCallback.js +0 -0
- /package/{js/js → _js}/getCallback.js.map +0 -0
- /package/{js/js → _js}/html.d.ts +0 -0
- /package/{js/js → _js}/html.js +0 -0
- /package/{js/js → _js}/html.js.map +0 -0
- /package/{js/js → _js}/inputAttribute.d.ts +0 -0
- /package/{js/js → _js}/interpolateAttributes.d.ts +0 -0
- /package/{js/js → _js}/interpolateTemplate.d.ts +0 -0
- /package/{js/js → _js}/interpolateTemplate.js +0 -0
- /package/{js/js → _js}/interpolateTemplate.js.map +0 -0
- /package/{js/js → _js}/isInstance.d.ts +0 -0
- /package/{js/js → _js}/isInstance.js +0 -0
- /package/{js/js → _js}/isInstance.js.map +0 -0
- /package/{js → _js}/js/Tag.class.d.ts +0 -0
- /package/{js → _js}/js/Tag.class.js +0 -0
- /package/{js → _js}/js/Tag.class.js.map +0 -0
- /package/{js → _js}/js/elementInitCheck.js.map +0 -0
- /package/{js → _js}/js/getCallback.d.ts +0 -0
- /package/{js → _js}/js/getTagSupport.d.ts +0 -0
- /package/{js → _js}/js/getTagSupport.js +0 -0
- /package/{js → _js}/js/getTagSupport.js.map +0 -0
- /package/{js → _js}/js/index.d.ts +0 -0
- /package/{js → _js}/js/index.js +0 -0
- /package/{js → _js}/js/index.js.map +0 -0
- /package/{js → _js}/js/inputAttribute.js +0 -0
- /package/{js → _js}/js/inputAttribute.js.map +0 -0
- /package/{js → _js}/js/interpolateAttributes.js +0 -0
- /package/{js → _js}/js/interpolateAttributes.js.map +0 -0
- /package/{js → _js}/js/interpolateContentTemplates.d.ts +0 -0
- /package/{js → _js}/js/interpolateContentTemplates.js +0 -0
- /package/{js → _js}/js/interpolateContentTemplates.js.map +0 -0
- /package/{js → _js}/js/interpolateElement.d.ts +0 -0
- /package/{js → _js}/js/interpolateElement.js +0 -0
- /package/{js → _js}/js/interpolateElement.js.map +0 -0
- /package/{js → _js}/js/interpolations.d.ts +0 -0
- /package/{js → _js}/js/interpolations.js +0 -0
- /package/{js → _js}/js/interpolations.js.map +0 -0
- /package/{js → _js}/js/onDestroy.d.ts +0 -0
- /package/{js → _js}/js/onDestroy.js +0 -0
- /package/{js → _js}/js/onDestroy.js.map +0 -0
- /package/{js → _js}/js/onInit.d.ts +0 -0
- /package/{js → _js}/js/onInit.js +0 -0
- /package/{js → _js}/js/onInit.js.map +0 -0
- /package/{js → _js}/js/processSubjectComponent.function.d.ts +0 -0
- /package/{js → _js}/js/processSubjectComponent.function.js +0 -0
- /package/{js → _js}/js/processSubjectComponent.function.js.map +0 -0
- /package/{js → _js}/js/processSubjectValue.function.d.ts +0 -0
- /package/{js → _js}/js/processSubjectValue.function.js +0 -0
- /package/{js → _js}/js/processSubjectValue.function.js.map +0 -0
- /package/{js → _js}/js/processTagArray.d.ts +0 -0
- /package/{js → _js}/js/processTagArray.js +0 -0
- /package/{js → _js}/js/processTagArray.js.map +0 -0
- /package/{js → _js}/js/processTagResult.function.d.ts +0 -0
- /package/{js → _js}/js/processTagResult.function.js +0 -0
- /package/{js → _js}/js/processTagResult.function.js.map +0 -0
- /package/{js → _js}/js/providers.d.ts +0 -0
- /package/{js → _js}/js/providers.js +0 -0
- /package/{js → _js}/js/providers.js.map +0 -0
- /package/{js → _js}/js/redrawTag.function.d.ts +0 -0
- /package/{js → _js}/js/redrawTag.function.js +0 -0
- /package/{js → _js}/js/redrawTag.function.js.map +0 -0
- /package/{js → _js}/js/render.d.ts +0 -0
- /package/{js → _js}/js/render.js +0 -0
- /package/{js → _js}/js/render.js.map +0 -0
- /package/{js → _js}/js/renderAppToElement.d.ts +0 -0
- /package/{js → _js}/js/renderAppToElement.js +0 -0
- /package/{js → _js}/js/renderAppToElement.js.map +0 -0
- /package/{js → _js}/js/setUse.function.d.ts +0 -0
- /package/{js → _js}/js/setUse.function.js +0 -0
- /package/{js → _js}/js/setUse.function.js.map +0 -0
- /package/{js → _js}/js/state.d.ts +0 -0
- /package/{js → _js}/js/state.js +0 -0
- /package/{js → _js}/js/state.js.map +0 -0
- /package/{js → _js}/js/tag.d.ts +0 -0
- /package/{js → _js}/js/tag.js +0 -0
- /package/{js → _js}/js/tag.js.map +0 -0
- /package/{js → _js}/js/tagElement.d.ts +0 -0
- /package/{js → _js}/js/tagElement.js +0 -0
- /package/{js → _js}/js/tagElement.js.map +0 -0
- /package/{js → _js}/js/tagGateway.function.d.ts +0 -0
- /package/{js → _js}/js/tagGateway.function.js +0 -0
- /package/{js → _js}/js/tagGateway.function.js.map +0 -0
- /package/{js → _js}/js/tagRunner.d.ts +0 -0
- /package/{js → _js}/js/tagRunner.js +0 -0
- /package/{js → _js}/js/tagRunner.js.map +0 -0
- /package/{js → _js}/js/templater.utils.d.ts +0 -0
- /package/{js → _js}/js/templater.utils.js +0 -0
- /package/{js → _js}/js/templater.utils.js.map +0 -0
- /package/{js → _js}/js/updateTag.utils.d.ts +0 -0
- /package/{js → _js}/js/updateTag.utils.js +0 -0
- /package/{js → _js}/js/updateTag.utils.js.map +0 -0
- /package/{js → _js}/js/wait.d.ts +0 -0
- /package/{js → _js}/js/wait.js +0 -0
- /package/{js → _js}/js/wait.js.map +0 -0
- /package/{js → _js}/wait.d.ts +0 -0
- /package/{js → _js}/wait.js +0 -0
- /package/{js → _js}/wait.js.map +0 -0
|
@@ -1,32 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { tagElement } from "../tagElement.js";
|
|
3
|
-
import { loadTagGateway } from "./loadTagGateway.function.js";
|
|
4
|
-
const gateways = {};
|
|
5
|
-
export const gatewayTagIds = {};
|
|
6
|
-
export function checkAllGateways() {
|
|
7
|
-
Object.entries(gateways).forEach(([id, gateways]) => checkGateways(gateways));
|
|
8
|
-
}
|
|
9
|
-
export function checkGateways(gateways) {
|
|
10
|
-
gateways.forEach(gateway => checkGateway(gateway));
|
|
11
|
-
}
|
|
12
|
-
function checkGateway(gateway) {
|
|
13
|
-
const { element } = gateway;
|
|
14
|
-
if (document.body.contains(element)) {
|
|
15
|
-
return; // its still good, do not continue to destroy
|
|
16
|
-
}
|
|
17
|
-
destroyGateway(gateway);
|
|
18
|
-
return false;
|
|
19
|
-
}
|
|
20
|
-
export function destroyGateway(gateway) {
|
|
21
|
-
const { id, observer, tag } = gateway;
|
|
22
|
-
observer.disconnect();
|
|
23
|
-
tag.destroy();
|
|
24
|
-
delete gateways[id];
|
|
25
|
-
}
|
|
26
|
-
export function getTagId(component) {
|
|
27
|
-
const componentString = functionToHtmlId(component);
|
|
28
|
-
return '__tagTemplate_' + componentString;
|
|
29
|
-
}
|
|
1
|
+
import { checkElement, getTagId } from "./tagGateway.utils.js";
|
|
30
2
|
const namedTimeouts = {};
|
|
31
3
|
export const tagGateway = function tagGateway(component) {
|
|
32
4
|
const id = getTagId(component);
|
|
@@ -66,84 +38,6 @@ export const tagGateway = function tagGateway(component) {
|
|
|
66
38
|
namedTimeouts[id] = { id };
|
|
67
39
|
return namedTimeouts[id];
|
|
68
40
|
};
|
|
69
|
-
function parsePropsString(element) {
|
|
70
|
-
const propsString = element.getAttribute('props');
|
|
71
|
-
if (!propsString) {
|
|
72
|
-
return { element };
|
|
73
|
-
}
|
|
74
|
-
try {
|
|
75
|
-
const props = JSON.parse(propsString);
|
|
76
|
-
// attribute eventProps as output bindings
|
|
77
|
-
const eventPropsString = element.getAttribute('events');
|
|
78
|
-
if (eventPropsString) {
|
|
79
|
-
eventPropsString.split(',').map(x => x.trim()).map((name) => {
|
|
80
|
-
props[name] = (value) => dispatchEvent(name, { detail: { [name]: value } });
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
const dispatchEvent = function (name, eventData) {
|
|
84
|
-
const event = new CustomEvent(name, eventData);
|
|
85
|
-
element.dispatchEvent(event);
|
|
86
|
-
};
|
|
87
|
-
props.dispatchEvent = dispatchEvent;
|
|
88
|
-
return props;
|
|
89
|
-
}
|
|
90
|
-
catch (err) {
|
|
91
|
-
console.warn('Failed to parse props on element', { element, propsString });
|
|
92
|
-
throw err;
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
/** adds to gateways[id].push */
|
|
96
|
-
function watchElement(id, targetNode, tag, component) {
|
|
97
|
-
let lastTag = tag;
|
|
98
|
-
const observer = new MutationObserver(mutationsList => {
|
|
99
|
-
if (!checkGateway(gateway)) {
|
|
100
|
-
return;
|
|
101
|
-
}
|
|
102
|
-
for (const mutation of mutationsList) {
|
|
103
|
-
if (mutation.type === 'attributes') {
|
|
104
|
-
updateTag();
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
});
|
|
108
|
-
function updateTag() {
|
|
109
|
-
const templater = tag.tagSupport.templater;
|
|
110
|
-
const oldProps = templater.tagSupport.props;
|
|
111
|
-
const newProps = parsePropsString(targetNode);
|
|
112
|
-
templater.tagSupport.props = newProps;
|
|
113
|
-
const isSameProps = JSON.stringify(oldProps) === JSON.stringify(newProps);
|
|
114
|
-
if (isSameProps) {
|
|
115
|
-
return; // no reason to update, same props
|
|
116
|
-
}
|
|
117
|
-
templater.tagSupport.latestProps = newProps;
|
|
118
|
-
const result = redrawTag(lastTag, templater);
|
|
119
|
-
// update records
|
|
120
|
-
gateway.tag = lastTag = result.retag;
|
|
121
|
-
}
|
|
122
|
-
loadTagGateway(component);
|
|
123
|
-
const gateway = {
|
|
124
|
-
id, tag, observer, component, element: targetNode, updateTag,
|
|
125
|
-
};
|
|
126
|
-
gateways[id] = gateways[id] || [];
|
|
127
|
-
gateways[id].push(gateway);
|
|
128
|
-
targetNode.gateway = gateway;
|
|
129
|
-
// Configure the observer to watch for changes in child nodes and attributes
|
|
130
|
-
const config = { attributes: true };
|
|
131
|
-
// Start observing the target node for specified changes
|
|
132
|
-
observer.observe(targetNode, config);
|
|
133
|
-
return gateway;
|
|
134
|
-
}
|
|
135
|
-
function functionToHtmlId(func) {
|
|
136
|
-
// Convert function to string
|
|
137
|
-
let funcString = func.toString();
|
|
138
|
-
// Remove spaces and replace special characters with underscores
|
|
139
|
-
let cleanedString = funcString.replace(/\s+/g, '_')
|
|
140
|
-
.replace(/[^\w\d]/g, '_');
|
|
141
|
-
// Ensure the ID starts with a letter
|
|
142
|
-
if (!/^[a-zA-Z]/.test(cleanedString)) {
|
|
143
|
-
cleanedString = 'fn_' + cleanedString;
|
|
144
|
-
}
|
|
145
|
-
return cleanedString;
|
|
146
|
-
}
|
|
147
41
|
function checkTagElementsById(id, component) {
|
|
148
42
|
const elements = document.querySelectorAll('#' + id);
|
|
149
43
|
return checkTagElements(id, elements, component);
|
|
@@ -152,36 +46,4 @@ function checkTagElements(id, elements, component) {
|
|
|
152
46
|
elements.forEach(element => checkElement(id, element, component));
|
|
153
47
|
return elements;
|
|
154
48
|
}
|
|
155
|
-
export function checkByElement(element) {
|
|
156
|
-
const id = element.id || element.getAttribute('id');
|
|
157
|
-
if (!id) {
|
|
158
|
-
const message = 'Cannot check a tag on element with no id attribute';
|
|
159
|
-
console.warn(message, { id, element });
|
|
160
|
-
throw new Error(message);
|
|
161
|
-
}
|
|
162
|
-
const component = gatewayTagIds[id];
|
|
163
|
-
if (!component) {
|
|
164
|
-
const message = `Cannot find a tag registered by id of ${id}`;
|
|
165
|
-
console.warn(message, { id, element });
|
|
166
|
-
throw new Error(message);
|
|
167
|
-
}
|
|
168
|
-
return checkElement(id, element, component);
|
|
169
|
-
}
|
|
170
|
-
export function checkElement(id, element, component) {
|
|
171
|
-
const gateway = element.gateway;
|
|
172
|
-
if (gateway) {
|
|
173
|
-
gateway.updateTag();
|
|
174
|
-
return gateway;
|
|
175
|
-
}
|
|
176
|
-
const props = parsePropsString(element);
|
|
177
|
-
try {
|
|
178
|
-
const { tag } = tagElement(component, element, props);
|
|
179
|
-
// watch element AND add to gateways[id].push()
|
|
180
|
-
return watchElement(id, element, tag, component);
|
|
181
|
-
}
|
|
182
|
-
catch (err) {
|
|
183
|
-
console.warn('Failed to render component to element', { component, element, props });
|
|
184
|
-
throw err;
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
49
|
//# sourceMappingURL=tagGateway.function.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tagGateway.function.js","sourceRoot":"","sources":["../../ts/gateway/tagGateway.function.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"tagGateway.function.js","sourceRoot":"","sources":["../../ts/gateway/tagGateway.function.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAE9D,MAAM,aAAa,GAAwB,EAAE,CAAA;AAE7C,MAAM,CAAC,MAAM,UAAU,GAAG,SAAS,UAAU,CAC3C,SAAuB;IAEvB,MAAM,EAAE,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAA;IAE9B,IAAG,aAAa,CAAC,EAAE,CAAC,EAAE,CAAC;QACrB,OAAO,aAAa,CAAC,EAAE,CAAC,CAAA;IAC1B,CAAC;IAED,IAAI,UAA0B,CAAA;IAC9B,IAAI,QAAQ,GAAG,CAAC,CAAA;IAChB,MAAM,QAAQ,GAAG,CAAC,CAAA;IAElB,SAAS,YAAY;QACnB,MAAM,QAAQ,GAAG,oBAAoB,CAAC,EAAE,EAAE,SAAS,CAAC,CAAA;QAEpD,IAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YACpB,OAAO,QAAQ,CAAC,MAAM,CAAA;QACxB,CAAC;QAED,+BAA+B;QAC/B,IAAG,UAAU,EAAE,CAAC;YACd,aAAa,CAAC,UAAU,CAAC,CAAA;QAC3B,CAAC;QACD,OAAO,aAAa,CAAC,EAAE,CAAC,CAAA;QAExB,OAAO,QAAQ,CAAC,MAAM,CAAA;IACxB,CAAC;IAED,SAAS,WAAW;QAClB,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;YAC5B,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAA;YAE9B,IAAG,QAAQ,IAAI,IAAI,EAAE,CAAC;gBACpB,aAAa,CAAC,UAAU,CAAC,CAAA;gBACzB,MAAM,IAAI,KAAK,CAAC,oBAAoB,EAAE,YAAY,CAAC,CAAA;YACrD,CAAC;YAED,YAAY,EAAE,CAAA;QAChB,CAAC,EAAE,QAAQ,CAAC,CAAA;IACd,CAAC;IAED,MAAM,aAAa,GAAG,YAAY,EAAE,CAAA;IACpC,IAAG,aAAa,EAAE,CAAC;QACjB,OAAO,EAAE,EAAE,EAAE,CAAA;IACf,CAAC;IAED,WAAW,EAAE,CAAA;IAEb,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAAA;IAE1B,OAAO,aAAa,CAAC,EAAE,CAAC,CAAA;AAC1B,CAAC,CAAA;AAED,SAAS,oBAAoB,CAC3B,EAAU,EACV,SAAuB;IAEvB,MAAM,QAAQ,GAAG,QAAQ,CAAC,gBAAgB,CAAC,GAAG,GAAG,EAAE,CAAC,CAAA;IACpD,OAAO,gBAAgB,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAA;AAClD,CAAC;AAED,SAAS,gBAAgB,CACvB,EAAU,EACV,QAA6B,EAC7B,SAAuB;IAEvB,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAA;IAEjE,OAAO,QAAQ,CAAA;AACjB,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { TagComponent, Tag } from "../index.js";
|
|
2
|
+
export declare const gatewayTagIds: {
|
|
3
|
+
[id: string]: TagComponent;
|
|
4
|
+
};
|
|
5
|
+
export declare function checkAllGateways(): void;
|
|
6
|
+
export declare function checkGateways(gateways: Gateway[]): void;
|
|
7
|
+
export declare function destroyGateway(gateway: Gateway): void;
|
|
8
|
+
export declare function getTagId(component: TagComponent): string;
|
|
9
|
+
export type EventData = {
|
|
10
|
+
detail: Record<string, any>;
|
|
11
|
+
};
|
|
12
|
+
export type Gateway = {
|
|
13
|
+
tag: Tag;
|
|
14
|
+
id: string;
|
|
15
|
+
observer: MutationObserver;
|
|
16
|
+
element: HTMLElement;
|
|
17
|
+
component: TagComponent;
|
|
18
|
+
updateTag: () => unknown;
|
|
19
|
+
};
|
|
20
|
+
export declare function checkByElement(element: HTMLElement | Element): Gateway;
|
|
21
|
+
export declare function checkElement(id: string, element: Element, component: TagComponent): Gateway;
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { redrawTag, tagElement } from "../index.js";
|
|
2
|
+
import { loadTagGateway } from "./loadTagGateway.function.js";
|
|
3
|
+
const gateways = {};
|
|
4
|
+
export const gatewayTagIds = {};
|
|
5
|
+
export function checkAllGateways() {
|
|
6
|
+
Object.entries(gateways).forEach(([id, gateways]) => checkGateways(gateways));
|
|
7
|
+
}
|
|
8
|
+
export function checkGateways(gateways) {
|
|
9
|
+
gateways.forEach(gateway => checkGateway(gateway));
|
|
10
|
+
}
|
|
11
|
+
function checkGateway(gateway) {
|
|
12
|
+
const { element } = gateway;
|
|
13
|
+
if (document.body.contains(element)) {
|
|
14
|
+
return; // its still good, do not continue to destroy
|
|
15
|
+
}
|
|
16
|
+
destroyGateway(gateway);
|
|
17
|
+
return false;
|
|
18
|
+
}
|
|
19
|
+
export function destroyGateway(gateway) {
|
|
20
|
+
const { id, observer, tag } = gateway;
|
|
21
|
+
observer.disconnect();
|
|
22
|
+
tag.destroy();
|
|
23
|
+
delete gateways[id];
|
|
24
|
+
}
|
|
25
|
+
export function getTagId(component) {
|
|
26
|
+
const componentString = functionToHtmlId(component);
|
|
27
|
+
return '__tagTemplate_' + componentString;
|
|
28
|
+
}
|
|
29
|
+
function parsePropsString(element) {
|
|
30
|
+
const propsString = element.getAttribute('props');
|
|
31
|
+
if (!propsString) {
|
|
32
|
+
return { element };
|
|
33
|
+
}
|
|
34
|
+
try {
|
|
35
|
+
const props = JSON.parse(propsString);
|
|
36
|
+
// attribute eventProps as output bindings
|
|
37
|
+
const eventPropsString = element.getAttribute('events');
|
|
38
|
+
if (eventPropsString) {
|
|
39
|
+
eventPropsString.split(',').map(x => x.trim()).map((name) => {
|
|
40
|
+
props[name] = (value) => dispatchEvent(name, { detail: { [name]: value } });
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
const dispatchEvent = function (name, eventData) {
|
|
44
|
+
const event = new CustomEvent(name, eventData);
|
|
45
|
+
element.dispatchEvent(event);
|
|
46
|
+
};
|
|
47
|
+
// props.dispatchEvent = dispatchEvent
|
|
48
|
+
return props;
|
|
49
|
+
}
|
|
50
|
+
catch (err) {
|
|
51
|
+
console.warn('Failed to parse props on element', { element, propsString });
|
|
52
|
+
throw err;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
/** adds to gateways[id].push */
|
|
56
|
+
function watchElement(id, targetNode, tag, component) {
|
|
57
|
+
let lastTag = tag;
|
|
58
|
+
const observer = new MutationObserver(mutationsList => {
|
|
59
|
+
if (!checkGateway(gateway)) {
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
for (const mutation of mutationsList) {
|
|
63
|
+
if (mutation.type === 'attributes') {
|
|
64
|
+
updateTag();
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
function updateTag() {
|
|
69
|
+
const templater = tag.tagSupport.templater;
|
|
70
|
+
const oldProps = templater.tagSupport.props;
|
|
71
|
+
const newProps = parsePropsString(targetNode);
|
|
72
|
+
templater.tagSupport.props = newProps;
|
|
73
|
+
const isSameProps = JSON.stringify(oldProps) === JSON.stringify(newProps);
|
|
74
|
+
if (isSameProps) {
|
|
75
|
+
return; // no reason to update, same props
|
|
76
|
+
}
|
|
77
|
+
templater.tagSupport.latestProps = newProps;
|
|
78
|
+
const result = redrawTag(lastTag, templater);
|
|
79
|
+
// update records
|
|
80
|
+
gateway.tag = lastTag = result.retag;
|
|
81
|
+
}
|
|
82
|
+
loadTagGateway(component);
|
|
83
|
+
const gateway = {
|
|
84
|
+
id, tag, observer, component, element: targetNode, updateTag,
|
|
85
|
+
};
|
|
86
|
+
gateways[id] = gateways[id] || [];
|
|
87
|
+
gateways[id].push(gateway);
|
|
88
|
+
targetNode.gateway = gateway;
|
|
89
|
+
// Configure the observer to watch for changes in child nodes and attributes
|
|
90
|
+
const config = { attributes: true };
|
|
91
|
+
// Start observing the target node for specified changes
|
|
92
|
+
observer.observe(targetNode, config);
|
|
93
|
+
return gateway;
|
|
94
|
+
}
|
|
95
|
+
function functionToHtmlId(func) {
|
|
96
|
+
// Convert function to string
|
|
97
|
+
let funcString = func.toString();
|
|
98
|
+
// Remove spaces and replace special characters with underscores
|
|
99
|
+
let cleanedString = funcString.replace(/\s+/g, '_')
|
|
100
|
+
.replace(/[^\w\d]/g, '_');
|
|
101
|
+
// Ensure the ID starts with a letter
|
|
102
|
+
if (!/^[a-zA-Z]/.test(cleanedString)) {
|
|
103
|
+
cleanedString = 'fn_' + cleanedString;
|
|
104
|
+
}
|
|
105
|
+
return cleanedString;
|
|
106
|
+
}
|
|
107
|
+
export function checkByElement(element) {
|
|
108
|
+
const id = element.id || element.getAttribute('id');
|
|
109
|
+
if (!id) {
|
|
110
|
+
const message = 'Cannot check a tag on element with no id attribute';
|
|
111
|
+
console.warn(message, { id, element });
|
|
112
|
+
throw new Error(message);
|
|
113
|
+
}
|
|
114
|
+
const component = gatewayTagIds[id];
|
|
115
|
+
if (!component) {
|
|
116
|
+
const message = `Cannot find a tag registered by id of ${id}`;
|
|
117
|
+
console.warn(message, { id, element });
|
|
118
|
+
throw new Error(message);
|
|
119
|
+
}
|
|
120
|
+
return checkElement(id, element, component);
|
|
121
|
+
}
|
|
122
|
+
export function checkElement(id, element, component) {
|
|
123
|
+
const gateway = element.gateway;
|
|
124
|
+
if (gateway) {
|
|
125
|
+
gateway.updateTag();
|
|
126
|
+
return gateway;
|
|
127
|
+
}
|
|
128
|
+
const props = parsePropsString(element);
|
|
129
|
+
try {
|
|
130
|
+
const { tag } = tagElement(component, element, props);
|
|
131
|
+
// watch element AND add to gateways[id].push()
|
|
132
|
+
return watchElement(id, element, tag, component);
|
|
133
|
+
}
|
|
134
|
+
catch (err) {
|
|
135
|
+
console.warn('Failed to render component to element', { component, element, props });
|
|
136
|
+
throw err;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=tagGateway.utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tagGateway.utils.js","sourceRoot":"","sources":["../../ts/gateway/tagGateway.utils.ts"],"names":[],"mappings":"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"}
|
package/js/getCallback.d.ts
CHANGED
package/js/index.d.ts
CHANGED
package/js/index.js
CHANGED
package/js/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAE/C,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,yBAAyB,CAAA;AACvC,cAAc,oBAAoB,CAAA;AAClC,cAAc,yBAAyB,CAAA;AACvC,cAAc,oBAAoB,CAAA;AAElC,iBAAiB;AACjB,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAEpC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAE7C,WAAW;AACT,iBAAiB;AACjB,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,iBAAiB;AACjB,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAClC,gBAAgB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAE/C,cAAc,mCAAmC,CAAA;AAEjD,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,yBAAyB,CAAA;AACvC,cAAc,oBAAoB,CAAA;AAClC,cAAc,yBAAyB,CAAA;AACvC,cAAc,oBAAoB,CAAA;AAElC,iBAAiB;AACjB,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAEpC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAE7C,WAAW;AACT,iBAAiB;AACjB,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,iBAAiB;AACjB,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAClC,gBAAgB"}
|
|
@@ -79,7 +79,7 @@ function getContextValueByVarString(scope, value) {
|
|
|
79
79
|
}
|
|
80
80
|
function processNameValueAttr(attrName, result, child, ownerTag, howToSet) {
|
|
81
81
|
const isSpecial = isSpecialAttr(attrName);
|
|
82
|
-
// attach as callback
|
|
82
|
+
// attach as callback?
|
|
83
83
|
if (result instanceof Function) {
|
|
84
84
|
const action = function (...args) {
|
|
85
85
|
return result(child, args);
|
|
@@ -87,12 +87,14 @@ function processNameValueAttr(attrName, result, child, ownerTag, howToSet) {
|
|
|
87
87
|
child[attrName].action = action;
|
|
88
88
|
// child.addEventListener(attrName, action)
|
|
89
89
|
}
|
|
90
|
+
// Most every variable comes in here since everything is made a ValueSubject
|
|
90
91
|
if (isSubjectInstance(result)) {
|
|
91
92
|
child.removeAttribute(attrName);
|
|
92
93
|
const callback = (newAttrValue) => processSubjectValue(newAttrValue, child, attrName, isSpecial, howToSet);
|
|
93
|
-
//
|
|
94
|
+
// 🗞️ Subscribe. Above callback called immediately since its a ValueSubject()
|
|
94
95
|
const sub = result.subscribe(callback);
|
|
95
|
-
|
|
96
|
+
// Record subscription for later unsubscribe when element destroyed
|
|
97
|
+
ownerTag.cloneSubs.push(sub);
|
|
96
98
|
return;
|
|
97
99
|
}
|
|
98
100
|
howToSet(attrName, result);
|
|
@@ -103,7 +105,8 @@ function processSubjectValue(newAttrValue, child, attrName, isSpecial, howToSet)
|
|
|
103
105
|
if (newAttrValue instanceof Function) {
|
|
104
106
|
;
|
|
105
107
|
child[attrName] = function (...args) {
|
|
106
|
-
|
|
108
|
+
const result = newAttrValue(child, args);
|
|
109
|
+
return result;
|
|
107
110
|
};
|
|
108
111
|
child[attrName].tagFunction = newAttrValue;
|
|
109
112
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interpolateAttributes.js","sourceRoot":"","sources":["../ts/interpolateAttributes.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"interpolateAttributes.js","sourceRoot":"","sources":["../ts/interpolateAttributes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
import { TagArraySubject } from "./processTagArray.js";
|
|
1
2
|
import { Clones } from "./Clones.type.js";
|
|
2
3
|
import { Tag } from "./Tag.class.js";
|
|
3
4
|
import { Counts, Template } from "./interpolateTemplate.js";
|
|
5
|
+
import { TagSubject } from "./Tag.utils.js";
|
|
6
|
+
export declare function isTagArray(value: any): boolean;
|
|
4
7
|
type processOptions = {
|
|
5
8
|
forceElement?: boolean;
|
|
6
9
|
counts: Counts;
|
|
@@ -9,8 +12,12 @@ export type ClonesAndPromise = {
|
|
|
9
12
|
clones: Clones;
|
|
10
13
|
promise?: Promise<any>;
|
|
11
14
|
};
|
|
12
|
-
export declare function processSubjectValue(value: any, result:
|
|
15
|
+
export declare function processSubjectValue(value: any, result: TagArraySubject | TagSubject, // could be tag via result.tag
|
|
13
16
|
template: Template, // <template end interpolate /> (will be removed)
|
|
14
17
|
tag: Tag, // owner
|
|
15
18
|
options: processOptions): ClonesAndPromise;
|
|
19
|
+
export declare function processTag(value: any, result: TagSubject | TagArraySubject, // could be tag via result.tag
|
|
20
|
+
template: Template, // <template end interpolate /> (will be removed)
|
|
21
|
+
tag: Tag, // owner
|
|
22
|
+
options: processOptions): Clones;
|
|
16
23
|
export {};
|
|
@@ -18,24 +18,28 @@ function getValueType(value) {
|
|
|
18
18
|
if (isTagInstance(value)) {
|
|
19
19
|
return ValueTypes.tag;
|
|
20
20
|
}
|
|
21
|
-
if (value
|
|
21
|
+
if (isTagArray(value)) {
|
|
22
22
|
return ValueTypes.tagArray;
|
|
23
23
|
}
|
|
24
24
|
return ValueTypes.value;
|
|
25
25
|
}
|
|
26
|
+
export function isTagArray(value) {
|
|
27
|
+
return value instanceof Array && value.every(x => isTagInstance(x));
|
|
28
|
+
}
|
|
26
29
|
export function processSubjectValue(value, result, // could be tag via result.tag
|
|
27
30
|
template, // <template end interpolate /> (will be removed)
|
|
28
31
|
tag, // owner
|
|
29
32
|
options) {
|
|
30
33
|
const valueType = getValueType(value);
|
|
31
34
|
// Previously was simple value, now its a tag of some sort
|
|
32
|
-
|
|
33
|
-
|
|
35
|
+
const resultTag = result;
|
|
36
|
+
const clone = resultTag.clone;
|
|
37
|
+
if (valueType !== ValueTypes.value && clone) {
|
|
34
38
|
const parent = clone.parentNode;
|
|
35
39
|
template.removeAttribute('removedAt');
|
|
36
40
|
parent.insertBefore(template, clone);
|
|
37
41
|
parent.removeChild(clone);
|
|
38
|
-
delete
|
|
42
|
+
delete resultTag.clone;
|
|
39
43
|
// result.clone = template
|
|
40
44
|
}
|
|
41
45
|
switch (valueType) {
|
|
@@ -81,7 +85,7 @@ tag) {
|
|
|
81
85
|
}
|
|
82
86
|
return clones;
|
|
83
87
|
}
|
|
84
|
-
function processTag(value, result, // could be tag via result.tag
|
|
88
|
+
export function processTag(value, result, // could be tag via result.tag
|
|
85
89
|
template, // <template end interpolate /> (will be removed)
|
|
86
90
|
tag, // owner
|
|
87
91
|
options) {
|
|
@@ -93,7 +97,10 @@ options) {
|
|
|
93
97
|
value.tagSupport.oldest = value.tagSupport.oldest || value;
|
|
94
98
|
tag.children.push(value);
|
|
95
99
|
value.ownerTag = tag;
|
|
100
|
+
result.sideTag = tag;
|
|
96
101
|
}
|
|
102
|
+
// (result as any).template = template
|
|
103
|
+
result.template = template;
|
|
97
104
|
const clones = processTagResult(value, result, // Function will attach result.tag
|
|
98
105
|
template, options);
|
|
99
106
|
return clones;
|
|
@@ -1 +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,
|
|
1
|
+
{"version":3,"file":"processSubjectValue.function.js","sourceRoot":"","sources":["../ts/processSubjectValue.function.ts"],"names":[],"mappings":"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"}
|
package/js/processTagArray.d.ts
CHANGED
|
@@ -1,7 +1,16 @@
|
|
|
1
1
|
import { Clones } from "./Clones.type.js";
|
|
2
2
|
import { Tag } from "./Tag.class.js";
|
|
3
|
+
import { ValueSubject } from "./ValueSubject.js";
|
|
3
4
|
import { Counts } from "./interpolateTemplate.js";
|
|
4
|
-
export
|
|
5
|
+
export type LastArrayItem = {
|
|
6
|
+
tag: Tag;
|
|
7
|
+
index: number;
|
|
8
|
+
};
|
|
9
|
+
export type TagArraySubject = ValueSubject<Tag[]> & {
|
|
10
|
+
lastArray: LastArrayItem[];
|
|
11
|
+
template: Element;
|
|
12
|
+
};
|
|
13
|
+
export declare function processTagArray(result: TagArraySubject, value: Tag[], // arry of Tag classes
|
|
5
14
|
template: Element, // <template end interpolate />
|
|
6
15
|
ownerTag: Tag, options: {
|
|
7
16
|
counts: Counts;
|
package/js/processTagArray.js
CHANGED
|
@@ -5,13 +5,17 @@ template, // <template end interpolate />
|
|
|
5
5
|
ownerTag, options) {
|
|
6
6
|
const clones = [];
|
|
7
7
|
result.lastArray = result.lastArray || []; // {tag, index}[] populated in processTagResult
|
|
8
|
+
result.template = template;
|
|
8
9
|
let removed = 0;
|
|
9
10
|
/** 🗑️ remove previous items first */
|
|
10
11
|
result.lastArray = result.lastArray.filter((item, index) => {
|
|
11
|
-
const
|
|
12
|
+
const newLength = value.length - 1;
|
|
13
|
+
const at = index - removed;
|
|
14
|
+
const lessLength = newLength < at;
|
|
12
15
|
const subTag = value[index - removed];
|
|
13
16
|
const subArrayValue = subTag?.arrayValue;
|
|
14
|
-
|
|
17
|
+
const destroyItem = lessLength || subArrayValue !== item.tag.arrayValue;
|
|
18
|
+
if (destroyItem) {
|
|
15
19
|
const last = result.lastArray[index];
|
|
16
20
|
const tag = last.tag;
|
|
17
21
|
tag.destroy({
|
|
@@ -34,6 +38,7 @@ ownerTag, options) {
|
|
|
34
38
|
}; // fake having a render function
|
|
35
39
|
subTag.ownerTag = ownerTag;
|
|
36
40
|
ownerTag.children.push(subTag);
|
|
41
|
+
// check for html``.key()
|
|
37
42
|
if (subTag.arrayValue === undefined) {
|
|
38
43
|
// appears arrayValue is not there but maybe arrayValue is actually the value of undefined
|
|
39
44
|
if (!Object.keys(subTag).includes('arrayValue')) {
|
|
@@ -44,7 +49,8 @@ ownerTag, options) {
|
|
|
44
49
|
}
|
|
45
50
|
const previous = result.lastArray[index];
|
|
46
51
|
if (previous) {
|
|
47
|
-
|
|
52
|
+
const isSame = previous.tag.arrayValue === subTag.arrayValue;
|
|
53
|
+
if (isSame) {
|
|
48
54
|
previous.tag.updateValues(subTag.values);
|
|
49
55
|
}
|
|
50
56
|
return [];
|
|
@@ -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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"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { Tag } from "./Tag.class.js";
|
|
2
2
|
import { Clones } from "./Clones.type.js";
|
|
3
3
|
import { Counts } from "./interpolateTemplate.js";
|
|
4
|
-
|
|
4
|
+
import { TagArraySubject } from "./processTagArray.js";
|
|
5
|
+
import { TagSubject } from "./Tag.utils.js";
|
|
6
|
+
export declare function processTagResult(tag: Tag, result: TagArraySubject | TagSubject | Function, // used for recording past and current value
|
|
5
7
|
insertBefore: Element, // <template end interpolate />
|
|
6
8
|
{ index, counts, forceElement, }: {
|
|
7
9
|
index?: number;
|