taggedjs 2.5.23 → 2.5.24
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/bundle.js +1 -1
- package/bundle.js.gz +0 -0
- package/bundle.js.map +1 -1
- package/bundle.js.map.gz +0 -0
- package/js/alterProp.function.d.ts +7 -7
- package/js/alterProp.function.js +78 -43
- package/js/alterProp.function.js.map +1 -1
- package/js/buildClones.function.d.ts +2 -0
- package/js/buildClones.function.js +12 -0
- package/js/buildClones.function.js.map +1 -0
- package/js/deepFunctions.js +40 -18
- package/js/deepFunctions.js.map +1 -1
- package/js/index.d.ts +4 -5
- package/js/index.js +4 -5
- package/js/index.js.map +1 -1
- package/js/interpolations/afterInterpolateElement.function.d.ts +3 -3
- package/js/interpolations/afterInterpolateElement.function.js +6 -5
- package/js/interpolations/afterInterpolateElement.function.js.map +1 -1
- package/js/interpolations/bindSubjectCallback.function.d.ts +9 -3
- package/js/interpolations/bindSubjectCallback.function.js +76 -35
- package/js/interpolations/bindSubjectCallback.function.js.map +1 -1
- package/js/interpolations/interpolateAttributes.d.ts +3 -2
- package/js/interpolations/interpolateAttributes.js +6 -10
- package/js/interpolations/interpolateAttributes.js.map +1 -1
- package/js/interpolations/interpolateContentTemplates.d.ts +3 -7
- package/js/interpolations/interpolateContentTemplates.js +16 -12
- package/js/interpolations/interpolateContentTemplates.js.map +1 -1
- package/js/interpolations/interpolateElement.d.ts +4 -6
- package/js/interpolations/interpolateElement.js +4 -13
- package/js/interpolations/interpolateElement.js.map +1 -1
- package/js/interpolations/interpolateTemplate.d.ts +8 -11
- package/js/interpolations/interpolateTemplate.js +0 -66
- package/js/interpolations/interpolateTemplate.js.map +1 -1
- package/js/interpolations/interpolations.d.ts +0 -3
- package/js/interpolations/interpolations.js +1 -17
- package/js/interpolations/interpolations.js.map +1 -1
- package/js/interpolations/optimizers/ObjectNode.types.d.ts +31 -0
- package/js/interpolations/optimizers/ObjectNode.types.js +2 -0
- package/js/interpolations/optimizers/ObjectNode.types.js.map +1 -0
- package/js/interpolations/optimizers/htmlInterpolationToDomMeta.function.d.ts +4 -0
- package/js/interpolations/optimizers/htmlInterpolationToDomMeta.function.js +136 -0
- package/js/interpolations/optimizers/htmlInterpolationToDomMeta.function.js.map +1 -0
- package/js/interpolations/optimizers/metaAttachDomElements.function.d.ts +6 -0
- package/js/interpolations/optimizers/metaAttachDomElements.function.js +43 -0
- package/js/interpolations/optimizers/metaAttachDomElements.function.js.map +1 -0
- package/js/interpolations/optimizers/replacePlaceholders.function.d.ts +2 -0
- package/js/interpolations/optimizers/replacePlaceholders.function.js +92 -0
- package/js/interpolations/optimizers/replacePlaceholders.function.js.map +1 -0
- package/js/interpolations/optimizers/restorePlaceholders.function.d.ts +3 -0
- package/js/interpolations/optimizers/restorePlaceholders.function.js +39 -0
- package/js/interpolations/optimizers/restorePlaceholders.function.js.map +1 -0
- package/js/interpolations/processAttribute.function.d.ts +8 -3
- package/js/interpolations/processAttribute.function.js +42 -45
- package/js/interpolations/processAttribute.function.js.map +1 -1
- package/js/interpolations/scanTextAreaValue.function.d.ts +2 -2
- package/js/interpolations/scanTextAreaValue.function.js +11 -6
- package/js/interpolations/scanTextAreaValue.function.js.map +1 -1
- package/js/interpolations/specialAttribute.js +4 -2
- package/js/interpolations/specialAttribute.js.map +1 -1
- package/js/interpolations/subscribeToTemplate.function.d.ts +5 -0
- package/js/interpolations/subscribeToTemplate.function.js +28 -0
- package/js/interpolations/subscribeToTemplate.function.js.map +1 -0
- package/js/isInstance.d.ts +2 -2
- package/js/isInstance.js +9 -3
- package/js/isInstance.js.map +1 -1
- package/js/render.js +17 -4
- package/js/render.js.map +1 -1
- package/js/state/callbackMaker.function.js +13 -14
- package/js/state/callbackMaker.function.js.map +1 -1
- package/js/state/callbackStateUpdate.function.d.ts +2 -2
- package/js/state/callbackStateUpdate.function.js +5 -5
- package/js/state/callbackStateUpdate.function.js.map +1 -1
- package/js/state/children.js +5 -5
- package/js/state/children.js.map +1 -1
- package/js/state/handleProviderChanges.function.d.ts +2 -2
- package/js/state/handleProviderChanges.function.js +13 -10
- package/js/state/handleProviderChanges.function.js.map +1 -1
- package/js/state/onDestroy.js +2 -2
- package/js/state/onDestroy.js.map +1 -1
- package/js/state/providers.d.ts +3 -3
- package/js/state/providers.js +11 -11
- package/js/state/providers.js.map +1 -1
- package/js/state/providersChangeCheck.function.d.ts +2 -2
- package/js/state/providersChangeCheck.function.js +7 -3
- package/js/state/providersChangeCheck.function.js.map +1 -1
- package/js/state/setUse.function.d.ts +10 -10
- package/js/state/state.function.js +3 -3
- package/js/state/state.function.js.map +1 -1
- package/js/state/state.utils.d.ts +2 -2
- package/js/state/state.utils.js +15 -16
- package/js/state/state.utils.js.map +1 -1
- package/js/state/subject.function.js +6 -6
- package/js/state/subject.function.js.map +1 -1
- package/js/state/watch.function.js +3 -3
- package/js/state/watch.function.js.map +1 -1
- package/js/subject/Subject.class.d.ts +2 -2
- package/js/subject/Subject.class.js +5 -11
- package/js/subject/Subject.class.js.map +1 -1
- package/js/subject/ValueSubject.d.ts +1 -1
- package/js/subject/combineLatest.function.js +3 -1
- package/js/subject/combineLatest.function.js.map +1 -1
- package/js/subject/subject.utils.js +15 -13
- package/js/subject/subject.utils.js.map +1 -1
- package/js/subject/will.functions.js.map +1 -1
- package/js/subject.types.d.ts +6 -10
- package/js/tag/Support.class.d.ts +69 -0
- package/js/tag/Support.class.js +290 -0
- package/js/tag/Support.class.js.map +1 -0
- package/js/tag/Tag.class.d.ts +30 -18
- package/js/tag/Tag.class.js +36 -8
- package/js/tag/Tag.class.js.map +1 -1
- package/js/tag/TagSupport.class.d.ts +1 -0
- package/js/tag/TagSupport.class.js +19 -23
- package/js/tag/TagSupport.class.js.map +1 -1
- package/js/tag/TemplaterResult.class.d.ts +17 -10
- package/js/tag/TemplaterResult.class.js +12 -2
- package/js/tag/TemplaterResult.class.js.map +1 -1
- package/js/tag/ValueTypes.enum.d.ts +7 -1
- package/js/tag/ValueTypes.enum.js +6 -0
- package/js/tag/ValueTypes.enum.js.map +1 -1
- package/js/tag/checkDestroyPrevious.function.d.ts +3 -5
- package/js/tag/checkDestroyPrevious.function.js +16 -38
- package/js/tag/checkDestroyPrevious.function.js.map +1 -1
- package/js/tag/cloneValueArray.function.d.ts +1 -0
- package/js/tag/cloneValueArray.function.js +16 -14
- package/js/tag/cloneValueArray.function.js.map +1 -1
- package/js/tag/destroy.support.d.ts +2 -2
- package/js/tag/destroy.support.js +1 -2
- package/js/tag/destroy.support.js.map +1 -1
- package/js/tag/destroyTag.function.d.ts +2 -2
- package/js/tag/destroyTag.function.js +4 -3
- package/js/tag/destroyTag.function.js.map +1 -1
- package/js/tag/domMetaCollector.d.ts +3 -0
- package/js/tag/domMetaCollector.js +26 -0
- package/js/tag/domMetaCollector.js.map +1 -0
- package/js/tag/getStringsId.function.d.ts +1 -0
- package/js/tag/getStringsId.function.js +7 -0
- package/js/tag/getStringsId.function.js.map +1 -0
- package/js/tag/getSupportInCycle.function.d.ts +1 -1
- package/js/tag/getSupportInCycle.function.js +1 -1
- package/js/tag/getSupportInCycle.function.js.map +1 -1
- package/js/tag/getTagWrap.function.js +66 -57
- package/js/tag/getTagWrap.function.js.map +1 -1
- package/js/tag/getValueType.function.js +15 -10
- package/js/tag/getValueType.function.js.map +1 -1
- package/js/tag/hasPropChanges.function.d.ts +1 -1
- package/js/tag/hasPropChanges.function.js +8 -11
- package/js/tag/hasPropChanges.function.js.map +1 -1
- package/js/tag/hasSupportChanged.function.d.ts +4 -0
- package/js/tag/hasSupportChanged.function.js +27 -0
- package/js/tag/hasSupportChanged.function.js.map +1 -0
- package/js/tag/hasTagSupportChanged.function.js +15 -2
- package/js/tag/hasTagSupportChanged.function.js.map +1 -1
- package/js/tag/html.d.ts +5 -1
- package/js/tag/html.js +4 -1
- package/js/tag/html.js.map +1 -1
- package/js/tag/index.d.ts +3 -1
- package/js/tag/index.js +3 -1
- package/js/tag/index.js.map +1 -1
- package/js/tag/isLastRunMatched.function.d.ts +2 -0
- package/js/tag/isLastRunMatched.function.js +14 -0
- package/js/tag/isLastRunMatched.function.js.map +1 -0
- package/js/tag/isLikeTags.function.d.ts +3 -3
- package/js/tag/isLikeTags.function.js +43 -9
- package/js/tag/isLikeTags.function.js.map +1 -1
- package/js/tag/kidsToTagArraySubject.function.d.ts +2 -2
- package/js/tag/kidsToTagArraySubject.function.js +1 -1
- package/js/tag/kidsToTagArraySubject.function.js.map +1 -1
- package/js/tag/render/destroyUnlikeTags.function.d.ts +3 -3
- package/js/tag/render/destroyUnlikeTags.function.js +2 -12
- package/js/tag/render/destroyUnlikeTags.function.js.map +1 -1
- package/js/tag/render/renderExistingTag.function.d.ts +5 -5
- package/js/tag/render/renderExistingTag.function.js +9 -6
- package/js/tag/render/renderExistingTag.function.js.map +1 -1
- package/js/tag/render/renderSubjectComponent.function.d.ts +2 -2
- package/js/tag/render/renderSubjectComponent.function.js +7 -5
- package/js/tag/render/renderSubjectComponent.function.js.map +1 -1
- package/js/tag/render/renderSupport.function.d.ts +4 -0
- package/js/tag/render/renderSupport.function.js +43 -0
- package/js/tag/render/renderSupport.function.js.map +1 -0
- package/js/tag/render/renderTagOnly.function.d.ts +2 -2
- package/js/tag/render/renderTagOnly.function.js +19 -20
- package/js/tag/render/renderTagOnly.function.js.map +1 -1
- package/js/tag/render/renderWithSupport.function.d.ts +3 -3
- package/js/tag/render/renderWithSupport.function.js +38 -5
- package/js/tag/render/renderWithSupport.function.js.map +1 -1
- package/js/tag/render/softDestroySupport.function.d.ts +2 -2
- package/js/tag/render/softDestroySupport.function.js +11 -8
- package/js/tag/render/softDestroySupport.function.js.map +1 -1
- package/js/tag/setTagPlaceholder.function.js +2 -1
- package/js/tag/setTagPlaceholder.function.js.map +1 -1
- package/js/tag/tag.d.ts +2 -2
- package/js/tag/tag.js +1 -0
- package/js/tag/tag.js.map +1 -1
- package/js/tag/tag.types.d.ts +4 -4
- package/js/tag/tag.utils.d.ts +10 -7
- package/js/tag/tag.utils.js.map +1 -1
- package/js/tag/tagElement.d.ts +3 -3
- package/js/tag/tagElement.js +36 -31
- package/js/tag/tagElement.js.map +1 -1
- package/js/tag/tagRunner.d.ts +5 -5
- package/js/tag/tagRunner.js +15 -15
- package/js/tag/tagRunner.js.map +1 -1
- package/js/tag/textNode.d.ts +4 -0
- package/js/tag/textNode.js +9 -0
- package/js/tag/textNode.js.map +1 -0
- package/js/tag/update/TagJsSubject.class.d.ts +8 -0
- package/js/tag/update/TagJsSubject.class.js +23 -0
- package/js/tag/update/TagJsSubject.class.js.map +1 -0
- package/js/tag/update/oneRenderToSupport.function.d.ts +4 -0
- package/js/tag/update/oneRenderToSupport.function.js +19 -0
- package/js/tag/update/oneRenderToSupport.function.js.map +1 -0
- package/js/tag/update/processFirstSubject.utils.d.ts +5 -4
- package/js/tag/update/processFirstSubjectValue.function.d.ts +4 -3
- package/js/tag/update/processFirstSubjectValue.function.js +12 -10
- package/js/tag/update/processFirstSubjectValue.function.js.map +1 -1
- package/js/tag/update/processNewValue.function.d.ts +3 -2
- package/js/tag/update/processNewValue.function.js +11 -8
- package/js/tag/update/processNewValue.function.js.map +1 -1
- package/js/tag/update/processRegularValue.function.js +5 -5
- package/js/tag/update/processRegularValue.function.js.map +1 -1
- package/js/tag/update/processSubjectComponent.function.d.ts +3 -3
- package/js/tag/update/processSubjectComponent.function.js +13 -11
- package/js/tag/update/processSubjectComponent.function.js.map +1 -1
- package/js/tag/update/processTag.function.d.ts +10 -9
- package/js/tag/update/processTag.function.js +30 -23
- package/js/tag/update/processTag.function.js.map +1 -1
- package/js/tag/update/processTagArray.d.ts +15 -9
- package/js/tag/update/processTagArray.js +56 -52
- package/js/tag/update/processTagArray.js.map +1 -1
- package/js/tag/update/processTagResult.function.d.ts +4 -6
- package/js/tag/update/processTagResult.function.js +22 -16
- package/js/tag/update/processTagResult.function.js.map +1 -1
- package/js/tag/update/updateContextItem.function.d.ts +1 -1
- package/js/tag/update/updateContextItem.function.js +4 -3
- package/js/tag/update/updateContextItem.function.js.map +1 -1
- package/js/tag/update/updateExistingTagComponent.function.d.ts +7 -4
- package/js/tag/update/updateExistingTagComponent.function.js +78 -86
- package/js/tag/update/updateExistingTagComponent.function.js.map +1 -1
- package/js/tag/update/updateExistingValue.function.d.ts +3 -2
- package/js/tag/update/updateExistingValue.function.js +35 -45
- package/js/tag/update/updateExistingValue.function.js.map +1 -1
- package/js/updateBeforeTemplate.function.js +2 -1
- package/js/updateBeforeTemplate.function.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,39 +1,38 @@
|
|
|
1
1
|
import { runBeforeRedraw, runBeforeRender } from '../tagRunner.js';
|
|
2
2
|
import { runAfterRender } from '../tagRunner.js';
|
|
3
|
-
export function renderTagOnly(
|
|
4
|
-
const oldRenderCount =
|
|
5
|
-
beforeWithRender(
|
|
6
|
-
const templater =
|
|
3
|
+
export function renderTagOnly(newSupport, prevSupport, subject, ownerSupport) {
|
|
4
|
+
const oldRenderCount = subject.global.renderCount;
|
|
5
|
+
beforeWithRender(newSupport, ownerSupport, prevSupport);
|
|
6
|
+
const templater = newSupport.templater;
|
|
7
7
|
// NEW TAG CREATED HERE
|
|
8
8
|
const wrapper = templater.wrapper;
|
|
9
|
-
let reSupport = wrapper(
|
|
9
|
+
let reSupport = wrapper(newSupport, subject, prevSupport);
|
|
10
10
|
/* AFTER */
|
|
11
|
-
runAfterRender(
|
|
12
|
-
|
|
11
|
+
runAfterRender(newSupport, ownerSupport);
|
|
12
|
+
subject.global.newest = reSupport;
|
|
13
13
|
if (!prevSupport && ownerSupport) {
|
|
14
|
-
ownerSupport.global.childTags.push(reSupport);
|
|
14
|
+
ownerSupport.subject.global.childTags.push(reSupport);
|
|
15
15
|
}
|
|
16
16
|
// When we rendered, only 1 render should have taken place OTHERWISE rendering caused another render and that is the latest instead
|
|
17
|
-
if (
|
|
18
|
-
return
|
|
17
|
+
if (subject.global.renderCount > oldRenderCount + 1) {
|
|
18
|
+
return subject.global.newest;
|
|
19
19
|
}
|
|
20
20
|
return reSupport;
|
|
21
21
|
}
|
|
22
|
-
function beforeWithRender(
|
|
22
|
+
function beforeWithRender(support, // new
|
|
23
23
|
parentSupport, prevSupport) {
|
|
24
|
-
const lastOwnerSupport = prevSupport?.
|
|
24
|
+
const lastOwnerSupport = prevSupport?.ownerSupport;
|
|
25
25
|
const runtimeOwnerSupport = lastOwnerSupport || parentSupport;
|
|
26
26
|
if (prevSupport) {
|
|
27
|
-
if (prevSupport !==
|
|
28
|
-
const lastState = prevSupport.
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
memory.state.push(...lastState);
|
|
27
|
+
if (prevSupport !== support) {
|
|
28
|
+
const lastState = prevSupport.state;
|
|
29
|
+
support.subject.global = prevSupport.subject.global;
|
|
30
|
+
support.state.length = 0;
|
|
31
|
+
support.state.push(...lastState);
|
|
33
32
|
}
|
|
34
|
-
return runBeforeRedraw(
|
|
33
|
+
return runBeforeRedraw(support, prevSupport);
|
|
35
34
|
}
|
|
36
35
|
// first time render
|
|
37
|
-
return runBeforeRender(
|
|
36
|
+
return runBeforeRender(support, runtimeOwnerSupport);
|
|
38
37
|
}
|
|
39
38
|
//# sourceMappingURL=renderTagOnly.function.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderTagOnly.function.js","sourceRoot":"","sources":["../../../ts/tag/render/renderTagOnly.function.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAK,iBAAiB,CAAA;AACjE,OAAO,EAAE,cAAc,EAAE,MAAK,iBAAiB,CAAA;AAI/C,MAAM,UAAU,aAAa,CAC3B,
|
|
1
|
+
{"version":3,"file":"renderTagOnly.function.js","sourceRoot":"","sources":["../../../ts/tag/render/renderTagOnly.function.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAK,iBAAiB,CAAA;AACjE,OAAO,EAAE,cAAc,EAAE,MAAK,iBAAiB,CAAA;AAI/C,MAAM,UAAU,aAAa,CAC3B,UAAiC,EACjC,WAA8C,EAC9C,OAAmB,EACnB,YAAoC;IAEpC,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,CAAA;IAEjD,gBAAgB,CAAC,UAAU,EAAE,YAAY,EAAE,WAAW,CAAC,CAAA;IAEvD,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,CAAA;IAEtC,uBAAuB;IACvB,MAAM,OAAO,GAAG,SAAS,CAAC,OAAkB,CAAA;IAC5C,IAAI,SAAS,GAAG,OAAO,CACrB,UAAU,EACV,OAAO,EACP,WAAW,CACZ,CAAA;IACD,WAAW;IAEX,cAAc,CAAC,UAAU,EAAE,YAAY,CAAC,CAAA;IAExC,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,CAAA;IACjC,IAAG,CAAC,WAAW,IAAI,YAAY,EAAE,CAAC;QAChC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACvD,CAAC;IAED,mIAAmI;IACnI,IAAG,OAAO,CAAC,MAAM,CAAC,WAAW,GAAG,cAAc,GAAG,CAAC,EAAE,CAAC;QACnD,OAAO,OAAO,CAAC,MAAM,CAAC,MAAiB,CAAA;IACzC,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,SAAS,gBAAgB,CACvB,OAA8B,EAAE,MAAM;AACtC,aAAqC,EACrC,WAAmC;IAEnC,MAAM,gBAAgB,GAAI,WAAuB,EAAE,YAAY,CAAA;IAC/D,MAAM,mBAAmB,GAA2B,gBAAgB,IAAI,aAAa,CAAA;IAErF,IAAG,WAAW,EAAE,CAAC;QACf,IAAG,WAAW,KAAK,OAAO,EAAE,CAAC;YAC3B,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAA;YACnC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAA;YACnD,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAA;YACxB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAA;QAClC,CAAC;QAED,OAAO,eAAe,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;IAC9C,CAAC;IAED,oBAAoB;IACpB,OAAO,eAAe,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAA;AACtD,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BaseSupport, Support } from '../Support.class.js';
|
|
2
2
|
import { TagSubject } from '../../subject.types.js';
|
|
3
|
-
export declare function renderWithSupport(
|
|
3
|
+
export declare function renderWithSupport(newSupport: Support | BaseSupport, lastSupport: Support | BaseSupport | undefined, // previous
|
|
4
4
|
subject: TagSubject, // events & memory
|
|
5
|
-
ownerSupport?:
|
|
5
|
+
ownerSupport?: BaseSupport | Support): Support;
|
|
@@ -1,17 +1,50 @@
|
|
|
1
1
|
import { isLikeTags } from '../isLikeTags.function.js';
|
|
2
2
|
import { renderTagOnly } from './renderTagOnly.function.js';
|
|
3
3
|
import { destroyUnlikeTags } from './destroyUnlikeTags.function.js';
|
|
4
|
-
|
|
4
|
+
import { softDestroySupport } from './softDestroySupport.function.js';
|
|
5
|
+
import { ValueTypes } from '../ValueTypes.enum.js';
|
|
6
|
+
import { deepEqual } from '../../deepFunctions.js';
|
|
7
|
+
export function renderWithSupport(newSupport, lastSupport, // previous
|
|
5
8
|
subject, // events & memory
|
|
6
9
|
ownerSupport) {
|
|
7
|
-
const
|
|
10
|
+
const lastTemplater = lastSupport?.templater;
|
|
11
|
+
const lastTag = lastTemplater?.tag;
|
|
12
|
+
const reSupport = renderTagOnly(newSupport, lastSupport, subject, ownerSupport);
|
|
8
13
|
const isLikeTag = !lastSupport || isLikeTags(lastSupport, reSupport);
|
|
9
14
|
if (!isLikeTag) {
|
|
10
15
|
destroyUnlikeTags(lastSupport, reSupport, subject);
|
|
11
|
-
reSupport.global.oldest = reSupport;
|
|
12
16
|
}
|
|
13
|
-
|
|
14
|
-
|
|
17
|
+
else if (lastSupport) {
|
|
18
|
+
const tag = reSupport.templater.tag;
|
|
19
|
+
if (tag) {
|
|
20
|
+
checkTagSoftDestroy(tag, lastSupport, lastTag);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
const lastOwnerSupport = lastSupport?.ownerSupport;
|
|
24
|
+
reSupport.ownerSupport = (ownerSupport || lastOwnerSupport);
|
|
15
25
|
return reSupport;
|
|
16
26
|
}
|
|
27
|
+
function checkTagSoftDestroy(tag, lastSupport, lastTag) {
|
|
28
|
+
if (tag.tagJsType === ValueTypes.dom) {
|
|
29
|
+
const lastDom = lastTag?.dom;
|
|
30
|
+
const newDom = tag.dom;
|
|
31
|
+
if (!deepEqual(lastDom, newDom)) {
|
|
32
|
+
softDestroySupport(lastSupport);
|
|
33
|
+
}
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
if (lastTag) {
|
|
37
|
+
if (lastTag.tagJsType === ValueTypes.dom) {
|
|
38
|
+
throw new Error('check here');
|
|
39
|
+
}
|
|
40
|
+
const lastStrings = lastTag.strings;
|
|
41
|
+
if (lastStrings) {
|
|
42
|
+
const oldLength = lastStrings?.length;
|
|
43
|
+
const newLength = tag.strings.length;
|
|
44
|
+
if (oldLength !== newLength) {
|
|
45
|
+
softDestroySupport(lastSupport);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
17
50
|
//# sourceMappingURL=renderWithSupport.function.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderWithSupport.function.js","sourceRoot":"","sources":["../../../ts/tag/render/renderWithSupport.function.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAK,2BAA2B,CAAA;AAErD,OAAO,EAAE,aAAa,EAAE,MAAK,6BAA6B,CAAA;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAK,iCAAiC,CAAA;
|
|
1
|
+
{"version":3,"file":"renderWithSupport.function.js","sourceRoot":"","sources":["../../../ts/tag/render/renderWithSupport.function.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAK,2BAA2B,CAAA;AAErD,OAAO,EAAE,aAAa,EAAE,MAAK,6BAA6B,CAAA;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAK,iCAAiC,CAAA;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAA;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAElD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAElD,MAAM,UAAU,iBAAiB,CAC/B,UAAiC,EACjC,WAA8C,EAAE,WAAW;AAC3D,OAAmB,EAAE,kBAAkB;AACvC,YAAoC;IAEpC,MAAM,aAAa,GAAG,WAAW,EAAE,SAAS,CAAA;IAC5C,MAAM,OAAO,GAAG,aAAa,EAAE,GAAG,CAAA;IAElC,MAAM,SAAS,GAAG,aAAa,CAC7B,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,CAC/C,CAAA;IAED,MAAM,SAAS,GAAG,CAAC,WAAW,IAAI,UAAU,CAAC,WAAW,EAAE,SAAS,CAAC,CAAA;IACpE,IAAG,CAAC,SAAS,EAAE,CAAC;QACd,iBAAiB,CACf,WAAW,EACX,SAAS,EACT,OAAO,CACR,CAAA;IACH,CAAC;SAAM,IAAG,WAAW,EAAE,CAAC;QACtB,MAAM,GAAG,GAAG,SAAS,CAAC,SAAS,CAAC,GAAG,CAAA;QAEnC,IAAG,GAAG,EAAE,CAAC;YACP,mBAAmB,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA;QAChD,CAAC;IACH,CAAC;IAGD,MAAM,gBAAgB,GAAI,WAAuB,EAAE,YAAY,CAAA;IAC/D,SAAS,CAAC,YAAY,GAAG,CAAC,YAAY,IAAI,gBAAgB,CAAY,CAAA;IAEtE,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,SAAS,mBAAmB,CAC1B,GAAc,EACd,WAAuB,EACvB,OAAmB;IAEnB,IAAG,GAAG,CAAC,SAAS,KAAG,UAAU,CAAC,GAAG,EAAE,CAAC;QAClC,MAAM,OAAO,GAAI,OAAe,EAAE,GAAG,CAAA;QACrC,MAAM,MAAM,GAAI,GAAW,CAAC,GAAG,CAAA;QAC/B,IAAG,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC;YAC/B,kBAAkB,CAAC,WAAW,CAAC,CAAA;QACjC,CAAC;QAED,OAAM;IACR,CAAC;IAED,IAAG,OAAO,EAAE,CAAC;QACX,IAAG,OAAO,CAAC,SAAS,KAAK,UAAU,CAAC,GAAG,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAA;QAC/B,CAAC;QAED,MAAM,WAAW,GAAI,OAAe,CAAC,OAAO,CAAA;QAC5C,IAAG,WAAW,EAAE,CAAC;YACf,MAAM,SAAS,GAAG,WAAW,EAAE,MAAM,CAAA;YACrC,MAAM,SAAS,GAAI,GAAW,CAAC,OAAO,CAAC,MAAM,CAAA;YAC7C,IAAG,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC3B,kBAAkB,CAAC,WAAW,CAAC,CAAA;YACjC,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BaseSupport, Support } from '../Support.class.js';
|
|
2
2
|
import { DestroyOptions } from '../destroy.support.js';
|
|
3
3
|
/** used when a tag swaps content returned */
|
|
4
|
-
export declare function softDestroySupport(lastSupport:
|
|
4
|
+
export declare function softDestroySupport(lastSupport: BaseSupport | Support, options?: DestroyOptions): void;
|
|
@@ -1,19 +1,22 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { resetSupport } from '../Support.class.js';
|
|
2
2
|
import { getChildTagsToDestroy } from '../destroy.support.js';
|
|
3
3
|
/** used when a tag swaps content returned */
|
|
4
4
|
export function softDestroySupport(lastSupport, options = { byParent: false, stagger: 0 }) {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
const global = lastSupport.subject.global;
|
|
6
|
+
global.deleted = true;
|
|
7
|
+
// global.context = {}
|
|
8
|
+
global.context = [];
|
|
9
|
+
const childTags = getChildTagsToDestroy(global.childTags);
|
|
8
10
|
lastSupport.destroySubscriptions();
|
|
9
11
|
childTags.forEach(child => {
|
|
10
|
-
const subGlobal = child.global;
|
|
12
|
+
const subGlobal = child.subject.global;
|
|
11
13
|
delete subGlobal.newest;
|
|
12
14
|
subGlobal.deleted = true;
|
|
13
15
|
});
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
lastSupport.
|
|
16
|
+
lastSupport.smartRemoveKids();
|
|
17
|
+
lastSupport.subject.global.clones.length = 0; // tag maybe used for something else
|
|
18
|
+
lastSupport.subject.global.childTags.length = 0; // tag maybe used for something else
|
|
19
|
+
resetSupport(lastSupport);
|
|
17
20
|
childTags.forEach(child => softDestroySupport(child, { byParent: true, stagger: 0 }));
|
|
18
21
|
}
|
|
19
22
|
//# sourceMappingURL=softDestroySupport.function.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"softDestroySupport.function.js","sourceRoot":"","sources":["../../../ts/tag/render/softDestroySupport.function.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"softDestroySupport.function.js","sourceRoot":"","sources":["../../../ts/tag/render/softDestroySupport.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACxE,OAAO,EAAkB,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAE7E,6CAA6C;AAC7C,MAAM,UAAU,kBAAkB,CAChC,WAAkC,EAClC,UAA0B,EAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAC;IAEvD,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAA;IACzC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAA;IACrB,sBAAsB;IACtB,MAAM,CAAC,OAAO,GAAG,EAAE,CAAA;IACnB,MAAM,SAAS,GAAG,qBAAqB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IAEzD,WAAW,CAAC,oBAAoB,EAAE,CAAA;IAElC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACxB,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAA;QACtC,OAAO,SAAS,CAAC,MAAM,CAAA;QACvB,SAAS,CAAC,OAAO,GAAG,IAAI,CAAA;IAC1B,CAAC,CAAC,CAAA;IAEF,WAAW,CAAC,eAAe,EAAE,CAAA;IAC7B,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAA,CAAC,oCAAoC;IACjF,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAA,CAAC,oCAAoC;IAEpF,YAAY,CAAC,WAAW,CAAC,CAAA;IACzB,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAC,CAAC,CAAC,CAAA;AACrF,CAAC"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import { textNode } from './textNode.js';
|
|
1
2
|
export function setTagPlaceholder(global) {
|
|
2
3
|
const insertBefore = global.insertBefore;
|
|
3
4
|
return global.placeholder = swapInsertBefore(insertBefore);
|
|
4
5
|
}
|
|
5
6
|
export function swapInsertBefore(insertBefore) {
|
|
6
|
-
const placeholder =
|
|
7
|
+
const placeholder = textNode.cloneNode(false);
|
|
7
8
|
const parentNode = insertBefore.parentNode;
|
|
8
9
|
parentNode.insertBefore(placeholder, insertBefore);
|
|
9
10
|
parentNode.removeChild(insertBefore);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setTagPlaceholder.function.js","sourceRoot":"","sources":["../../ts/tag/setTagPlaceholder.function.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"setTagPlaceholder.function.js","sourceRoot":"","sources":["../../ts/tag/setTagPlaceholder.function.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,MAAM,UAAU,iBAAiB,CAC/B,MAAiB;IAEjB,MAAM,YAAY,GAAG,MAAM,CAAC,YAA4B,CAAA;IACxD,OAAO,MAAM,CAAC,WAAW,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAA;AAC5D,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,YAA0B;IAE1B,MAAM,WAAW,GAAG,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAS,CAAA;IACrD,MAAM,UAAU,GAAG,YAAY,CAAC,UAAwB,CAAA;IACxD,UAAU,CAAC,YAAY,CAAC,WAAW,EAAE,YAAY,CAAC,CAAA;IAClD,UAAU,CAAC,WAAW,CAAC,YAAY,CAAC,CAAA;IACpC,OAAO,WAAW,CAAA;AACpB,CAAC"}
|
package/js/tag/tag.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Tag } from './Tag.class.js';
|
|
1
|
+
import { Dom, Tag } from './Tag.class.js';
|
|
2
2
|
import { RouteProps, RouteTag, StateToTag, ToTag } from './tag.types.js';
|
|
3
3
|
export type TaggedFunction<T> = T & {
|
|
4
4
|
original: Function;
|
|
@@ -8,7 +8,7 @@ export type TaggedFunction<T> = T & {
|
|
|
8
8
|
*/
|
|
9
9
|
export declare function tag<T extends ToTag>(tagComponent: T): TaggedFunction<T>;
|
|
10
10
|
export declare namespace tag {
|
|
11
|
-
var oneRender: (...props: any[]) => Tag | StateToTag;
|
|
11
|
+
var oneRender: (...props: any[]) => Tag | Dom | StateToTag;
|
|
12
12
|
var route: (routeProps: RouteProps) => StateToTag;
|
|
13
13
|
var app: (routeTag: RouteTag) => StateToTag;
|
|
14
14
|
}
|
package/js/tag/tag.js
CHANGED
package/js/tag/tag.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tag.js","sourceRoot":"","sources":["../../ts/tag/tag.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tag.js","sourceRoot":"","sources":["../../ts/tag/tag.ts"],"names":[],"mappings":"AAAA,sBAAsB;AAGtB,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAAE,eAAe,EAAW,MAAM,4BAA4B,CAAA;AACrE,OAAO,EAA4B,IAAI,EAAE,MAAM,gBAAgB,CAAA;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAErD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,IAAI,QAAQ,GAAG,CAAC,CAAA;AAIhB;;GAEG;AACH,MAAM,UAAU,GAAG,CACjB,YAAe;IAEf,kCAAkC;IAClC,MAAM,UAAU,GAAG,CAAC,SAAS,UAAU,CACrC,GAAG,KAA0B;QAE7B,MAAM,SAAS,GAAoB,IAAI,eAAe,CAAC,KAAK,CAAC,CAAA;QAC7D,SAAS,CAAC,SAAS,GAAG,UAAU,CAAC,YAAY,CAAA;QAE7C,gFAAgF;QAChF,MAAM,YAAY,GAAY,UAAU,CACtC,SAAS,EACT,UAAU,CACX,CAAA;QAED,IAAG,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;YAC5B,YAAY,CAAC,UAAU,GAAG,UAAU,CAAA;QACtC,CAAC;QAED,SAAS,CAAC,MAAM,GAAG,IAAI,CAAA;QACvB,SAAS,CAAC,OAAO,GAAG,YAAuB,CAAA;QAE3C,OAAO,SAAS,CAAA;IAClB,CAAC,CAAkB,CAAA,4EAA4E;KAE9F;IAAC,UAAkB,CAAC,QAAQ,GAAG,YAAY,CAAA;IAC5C,UAAU,CAAC,SAAS,GAAI,YAAoB,CAAC,QAAQ,EAAE,CAAA;IAEvD,MAAM,GAAG,GAAG,YAAuC,CAAA;IACnD,UAAU,CAAC,KAAK,GAAG,IAAI,CAAA;IACvB,UAAU,CAAC,QAAQ,GAAG,GAAG,CAAA;IAEzB,0CAA0C;IAC1C,GAAG,CAAC,IAAI,GAAG,IAAI,CAAA;IACf,GAAG,CAAC,MAAM,GAAG,MAAM,CAAA;IACnB,GAAG,CAAC,QAAQ,GAAG,QAAQ,EAAE,CAAA,CAAC,6BAA6B;IACvD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IAErB,OAAO,UAAmD,CAAA;AAC5D,CAAC;AAED,4FAA4F;AAC5F,GAAG,CAAC,SAAS,GAAG,CAAC,GAAG,KAAY,EAA4B,EAAE;IAC5D,MAAM,IAAI,KAAK,CAAC,2GAA2G,CAAC,CAAA;AAC9H,CAAC,CAAA;AAED;;GAEG;AACH,GAAG,CAAC,KAAK,GAAG,CAAC,UAAsB,EAAc,EAAE;IACjD,MAAM,IAAI,KAAK,CAAC,oHAAoH,CAAC,CAAA;AACvI,CAAC,CAAA;AAED;;GAEG;AACH,GAAG,CAAC,GAAG,GAAG,CAAC,QAAkB,EAAc,EAAE;IAC3C,MAAM,IAAI,KAAK,CAAC,oHAAoH,CAAC,CAAA;AACvI,CAAC,CAAA;AAED,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,WAAW,EAAE;IACtC,GAAG,CAAC,iBAA2B;QAC5B,iBAAyB,CAAC,SAAS,GAAG,IAAI,CAAA;IAC7C,CAAC;CACF,CAAC,CAAA"}
|
package/js/tag/tag.types.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ValueSubject } from '../subject/index.js';
|
|
2
|
-
import { Tag } from './Tag.class.js';
|
|
2
|
+
import { Dom, Tag } from './Tag.class.js';
|
|
3
3
|
export declare class RouteQuery {
|
|
4
4
|
get(name: string): string | undefined;
|
|
5
5
|
}
|
|
@@ -8,6 +8,6 @@ export type RouteProps = {
|
|
|
8
8
|
paramSubject: ValueSubject<string>;
|
|
9
9
|
query: RouteQuery;
|
|
10
10
|
};
|
|
11
|
-
export type ToTag = (...props: any[]) => StateToTag | Tag | null;
|
|
12
|
-
export type StateToTag = () => Tag | null;
|
|
13
|
-
export type RouteTag = (extraProps?: Record<string, any>) => Tag;
|
|
11
|
+
export type ToTag = (...props: any[]) => StateToTag | Tag | Dom | null;
|
|
12
|
+
export type StateToTag = () => Tag | Dom | null;
|
|
13
|
+
export type RouteTag = (extraProps?: Record<string, any>) => Tag | Dom;
|
package/js/tag/tag.utils.d.ts
CHANGED
|
@@ -1,21 +1,24 @@
|
|
|
1
|
-
import { Tag } from './Tag.class.js';
|
|
1
|
+
import { Dom, Tag, TagTemplate } from './Tag.class.js';
|
|
2
2
|
import { TemplaterResult } from './TemplaterResult.class.js';
|
|
3
3
|
import { ValueSubject } from '../subject/ValueSubject.js';
|
|
4
4
|
import { setUse } from '../state/index.js';
|
|
5
|
-
export type TagChildren = ValueSubject<Tag[]> & {
|
|
6
|
-
lastArray?: Tag[];
|
|
5
|
+
export type TagChildren = ValueSubject<(Tag | Dom)[]> & {
|
|
6
|
+
lastArray?: (Tag | Dom)[];
|
|
7
7
|
};
|
|
8
|
-
export type TagChildrenInput = Tag[] | Tag | TagChildren;
|
|
9
|
-
export type TagComponent = ((...args: any[]) => Tag) & {
|
|
8
|
+
export type TagChildrenInput = (Tag | Dom)[] | Dom | Tag | TagChildren;
|
|
9
|
+
export type TagComponent = ((...args: any[]) => (Tag | Dom)) & {
|
|
10
10
|
tags?: TagWrapper<any>[];
|
|
11
11
|
setUse?: typeof setUse;
|
|
12
12
|
tagIndex?: number;
|
|
13
13
|
};
|
|
14
14
|
export declare const tags: TagWrapper<any>[];
|
|
15
15
|
export type TagWrapper<T> = ((...props: T[]) => TemplaterResult) & {
|
|
16
|
-
original: (...args: any[]) => any;
|
|
16
|
+
original: ((...args: any[]) => any);
|
|
17
17
|
compareTo: string;
|
|
18
18
|
isTag: boolean;
|
|
19
19
|
oneRender?: true;
|
|
20
|
+
lastRuns?: {
|
|
21
|
+
[index: number]: TagTemplate;
|
|
22
|
+
};
|
|
20
23
|
};
|
|
21
|
-
export type TagMaker = ((...args: any[]) => Tag) | ((...args: any[]) => (...args: any[]) => Tag);
|
|
24
|
+
export type TagMaker = ((...args: any[]) => (Tag | Dom)) | ((...args: any[]) => (...args: any[]) => (Tag | Dom));
|
package/js/tag/tag.utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tag.utils.js","sourceRoot":"","sources":["../../ts/tag/tag.utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tag.utils.js","sourceRoot":"","sources":["../../ts/tag/tag.utils.ts"],"names":[],"mappings":"AAeA,MAAM,CAAC,MAAM,IAAI,GAAsB,EAAE,CAAA"}
|
package/js/tag/tagElement.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Support } from './Support.class.js';
|
|
2
2
|
import { TemplaterResult } from './TemplaterResult.class.js';
|
|
3
3
|
import { TagComponent, TagMaker } from './tag.utils.js';
|
|
4
4
|
/**
|
|
@@ -10,7 +10,7 @@ import { TagComponent, TagMaker } from './tag.utils.js';
|
|
|
10
10
|
*/
|
|
11
11
|
export declare function tagElement(app: TagMaker, // (...args: unknown[]) => TemplaterResult,
|
|
12
12
|
element: HTMLElement | Element, props?: unknown): {
|
|
13
|
-
|
|
13
|
+
support: Support;
|
|
14
14
|
tags: TagComponent[];
|
|
15
15
|
};
|
|
16
|
-
export declare function runWrapper(templater: TemplaterResult):
|
|
16
|
+
export declare function runWrapper(templater: TemplaterResult, insertBefore: Element, placeholder: Text): Support;
|
package/js/tag/tagElement.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BaseSupport } from './Support.class.js';
|
|
2
2
|
import { runAfterRender, runBeforeRender } from './tagRunner.js';
|
|
3
|
-
import {
|
|
3
|
+
import { TagJsSubject } from './update/TagJsSubject.class.js';
|
|
4
|
+
import { afterChildrenBuilt } from './update/processTag.function.js';
|
|
5
|
+
import { textNode } from './textNode.js';
|
|
4
6
|
const appElements = [];
|
|
5
7
|
/**
|
|
6
8
|
*
|
|
@@ -13,52 +15,55 @@ export function tagElement(app, // (...args: unknown[]) => TemplaterResult,
|
|
|
13
15
|
element, props) {
|
|
14
16
|
const appElmIndex = appElements.findIndex(appElm => appElm.element === element);
|
|
15
17
|
if (appElmIndex >= 0) {
|
|
16
|
-
appElements[appElmIndex].
|
|
18
|
+
appElements[appElmIndex].support.destroy();
|
|
17
19
|
appElements.splice(appElmIndex, 1);
|
|
18
20
|
// an element already had an app on it
|
|
19
21
|
console.warn('Found and destroyed app element already rendered to element', { element });
|
|
20
22
|
}
|
|
21
23
|
// Create the app which returns [props, runOneTimeFunction]
|
|
22
24
|
const wrapper = app(props);
|
|
23
|
-
//
|
|
24
|
-
const
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
element.destroy = async () => {
|
|
34
|
-
await tagSupport.destroy();
|
|
35
|
-
const insertBefore = tagSupport.global.insertBefore;
|
|
36
|
-
const parentNode = insertBefore.parentNode;
|
|
37
|
-
parentNode.removeChild(insertBefore);
|
|
25
|
+
// const fragment = document.createDocumentFragment()
|
|
26
|
+
const template = document.createElement('template');
|
|
27
|
+
const placeholder = textNode.cloneNode(false);
|
|
28
|
+
const support = runWrapper(wrapper, template, placeholder);
|
|
29
|
+
const global = support.subject.global;
|
|
30
|
+
support.appElement = element;
|
|
31
|
+
support.isApp = true;
|
|
32
|
+
global.isApp = true;
|
|
33
|
+
element.destroy = () => {
|
|
34
|
+
support.destroy(); // never return anything here
|
|
38
35
|
};
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
36
|
+
global.insertBefore = placeholder // template
|
|
37
|
+
;
|
|
38
|
+
global.placeholder = placeholder;
|
|
39
|
+
const newFragment = support.buildBeforeElement(undefined);
|
|
40
|
+
const children = [...newFragment.children];
|
|
41
|
+
support.subject.global.oldest = support;
|
|
42
|
+
support.subject.global.newest = support;
|
|
42
43
|
element.setUse = app.original.setUse;
|
|
43
|
-
appElements.push({ element,
|
|
44
|
-
element.appendChild(
|
|
44
|
+
appElements.push({ element, support });
|
|
45
|
+
element.appendChild(newFragment);
|
|
46
|
+
afterChildrenBuilt(children, support.subject, support);
|
|
45
47
|
return {
|
|
46
|
-
|
|
48
|
+
support,
|
|
47
49
|
tags: app.original.tags,
|
|
48
50
|
};
|
|
49
51
|
}
|
|
50
|
-
export function runWrapper(templater) {
|
|
52
|
+
export function runWrapper(templater, insertBefore, placeholder) {
|
|
51
53
|
let newSupport = {};
|
|
52
54
|
// TODO: A fake subject may become a problem
|
|
53
|
-
const subject = new
|
|
54
|
-
newSupport = new
|
|
55
|
+
const subject = new TagJsSubject(newSupport);
|
|
56
|
+
newSupport = new BaseSupport(templater, subject);
|
|
57
|
+
subject.global.insertBefore = insertBefore;
|
|
58
|
+
subject.global.placeholder = placeholder;
|
|
59
|
+
subject.global.oldest = subject.global.oldest || newSupport;
|
|
55
60
|
subject.next(templater);
|
|
56
|
-
subject.
|
|
61
|
+
subject.support = newSupport;
|
|
57
62
|
runBeforeRender(newSupport, undefined);
|
|
58
63
|
// Call the apps function for our tag templater
|
|
59
64
|
const wrapper = templater.wrapper;
|
|
60
|
-
const
|
|
61
|
-
runAfterRender(newSupport,
|
|
62
|
-
return
|
|
65
|
+
const support = wrapper(newSupport, subject);
|
|
66
|
+
runAfterRender(newSupport, support);
|
|
67
|
+
return support;
|
|
63
68
|
}
|
|
64
69
|
//# sourceMappingURL=tagElement.js.map
|
package/js/tag/tagElement.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tagElement.js","sourceRoot":"","sources":["../../ts/tag/tagElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"tagElement.js","sourceRoot":"","sources":["../../ts/tag/tagElement.ts"],"names":[],"mappings":"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"}
|
package/js/tag/tagRunner.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare function runBeforeRender(
|
|
3
|
-
export declare function runAfterRender(
|
|
4
|
-
export declare function runBeforeRedraw(
|
|
5
|
-
export declare function runBeforeDestroy(
|
|
1
|
+
import { AnySupport, BaseSupport, Support } from './Support.class.js';
|
|
2
|
+
export declare function runBeforeRender(support: AnySupport, ownerSupport?: AnySupport): void;
|
|
3
|
+
export declare function runAfterRender(support: BaseSupport | Support, ownerSupport?: Support | BaseSupport): void;
|
|
4
|
+
export declare function runBeforeRedraw(support: BaseSupport | Support, ownerSupport: Support | BaseSupport): void;
|
|
5
|
+
export declare function runBeforeDestroy(support: Support | BaseSupport, ownerSupport: Support | BaseSupport): void;
|
package/js/tag/tagRunner.js
CHANGED
|
@@ -8,45 +8,45 @@ setUse.memory.tagClosed$ = new Subject(undefined, subscription => {
|
|
|
8
8
|
}
|
|
9
9
|
});
|
|
10
10
|
// Life cycle 1
|
|
11
|
-
export function runBeforeRender(
|
|
11
|
+
export function runBeforeRender(support, ownerSupport) {
|
|
12
12
|
const tagUse = setUse.tagUse;
|
|
13
13
|
const length = tagUse.length;
|
|
14
14
|
for (let index = 0; index < length; ++index) {
|
|
15
|
-
tagUse[index].beforeRender(
|
|
15
|
+
tagUse[index].beforeRender(support, ownerSupport);
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
18
|
// Life cycle 2
|
|
19
|
-
export function runAfterRender(
|
|
19
|
+
export function runAfterRender(support, ownerSupport) {
|
|
20
20
|
const tagUse = setUse.tagUse;
|
|
21
21
|
const length = tagUse.length;
|
|
22
22
|
for (let index = 0; index < length; ++index) {
|
|
23
|
-
tagUse[index].afterRender(
|
|
23
|
+
tagUse[index].afterRender(support, ownerSupport);
|
|
24
24
|
}
|
|
25
|
-
setUse.memory.tagClosed$.next(
|
|
25
|
+
setUse.memory.tagClosed$.next(ownerSupport);
|
|
26
26
|
}
|
|
27
27
|
// Life cycle 3
|
|
28
|
-
export function runBeforeRedraw(
|
|
28
|
+
export function runBeforeRedraw(support, ownerSupport) {
|
|
29
29
|
const tagUse = setUse.tagUse;
|
|
30
30
|
const length = tagUse.length;
|
|
31
31
|
for (let index = 0; index < length; ++index) {
|
|
32
|
-
tagUse[index].beforeRedraw(
|
|
32
|
+
tagUse[index].beforeRedraw(support, ownerSupport);
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
35
|
// Life cycle 4 - end of life
|
|
36
|
-
export function runBeforeDestroy(
|
|
36
|
+
export function runBeforeDestroy(support, ownerSupport) {
|
|
37
37
|
const tagUse = setUse.tagUse;
|
|
38
38
|
const length = tagUse.length;
|
|
39
39
|
for (let index = 0; index < length; ++index) {
|
|
40
|
-
tagUse[index].beforeDestroy(
|
|
40
|
+
tagUse[index].beforeDestroy(support, ownerSupport);
|
|
41
41
|
}
|
|
42
|
-
|
|
43
|
-
|
|
42
|
+
support.subject.global.deleted = true;
|
|
43
|
+
support.hasLiveElements = false;
|
|
44
44
|
// remove me from my parents
|
|
45
|
-
if (
|
|
46
|
-
|
|
47
|
-
const global =
|
|
45
|
+
if (ownerSupport) {
|
|
46
|
+
ownerSupport.subject.global.childTags = ownerSupport.subject.global.childTags.filter(child => child !== support.subject.global.oldest);
|
|
47
|
+
const global = support.subject.global;
|
|
48
48
|
global.providers.forEach(provider => provider.children.forEach((child, index) => {
|
|
49
|
-
if (child.global === global) {
|
|
49
|
+
if (child.subject.global === global) {
|
|
50
50
|
provider.children.splice(index, 1);
|
|
51
51
|
}
|
|
52
52
|
}));
|
package/js/tag/tagRunner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tagRunner.js","sourceRoot":"","sources":["../../ts/tag/tagRunner.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAK,mBAAmB,CAAA;AACzC,OAAO,EAAE,OAAO,EAAE,MAAK,qBAAqB,CAAA;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAK,iCAAiC,CAAA;AAElE,mIAAmI;AACnI,MAAM,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,OAAO,
|
|
1
|
+
{"version":3,"file":"tagRunner.js","sourceRoot":"","sources":["../../ts/tag/tagRunner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { empty } from "./ValueTypes.enum.js";
|
|
2
|
+
export const textNode = typeof document === 'undefined' ? getTestTextNode() : document.createTextNode(empty);
|
|
3
|
+
function getTestTextNode() {
|
|
4
|
+
return {
|
|
5
|
+
textContent: empty,
|
|
6
|
+
cloneNode: (_children) => getTestTextNode()
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=textNode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"textNode.js","sourceRoot":"","sources":["../../ts/tag/textNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE7C,MAAM,CAAC,MAAM,QAAQ,GAAG,OAAO,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;AAE5G,SAAS,eAAe;IACtB,OAAO;QACL,WAAW,EAAE,KAAK;QAClB,SAAS,EAAE,CAAC,SAAkB,EAAE,EAAE,CAAC,eAAe,EAAE;KACrD,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { TagGlobal } from '../TemplaterResult.class.js';
|
|
2
|
+
import { ValueSubject } from '../../subject/ValueSubject.js';
|
|
3
|
+
import { ValueTypes } from '../ValueTypes.enum.js';
|
|
4
|
+
export declare class TagJsSubject<T> extends ValueSubject<T> {
|
|
5
|
+
tagJsType: ValueTypes;
|
|
6
|
+
global: TagGlobal;
|
|
7
|
+
}
|
|
8
|
+
export declare function getNewGlobal(): TagGlobal;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Subject } from '../../subject/Subject.class.js';
|
|
2
|
+
import { ValueSubject } from '../../subject/ValueSubject.js';
|
|
3
|
+
import { ValueTypes } from '../ValueTypes.enum.js';
|
|
4
|
+
export class TagJsSubject extends ValueSubject {
|
|
5
|
+
tagJsType = ValueTypes.tagJsSubject;
|
|
6
|
+
// travels with all renderings
|
|
7
|
+
global = getNewGlobal();
|
|
8
|
+
}
|
|
9
|
+
export function getNewGlobal() {
|
|
10
|
+
return {
|
|
11
|
+
destroy$: new Subject(),
|
|
12
|
+
context: [], // populated after reading interpolated.values array converted to an object {variable0, variable:1}
|
|
13
|
+
providers: [],
|
|
14
|
+
/** Indicator of re-rending. Saves from double rending something already rendered */
|
|
15
|
+
renderCount: 0,
|
|
16
|
+
subscriptions: [],
|
|
17
|
+
oldest: undefined, // TODO: This needs to addressed
|
|
18
|
+
blocked: [], // renders that did not occur because an event was processing
|
|
19
|
+
childTags: [], // tags on me
|
|
20
|
+
clones: [], // elements on document. Needed at destroy process to know what to destroy
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=TagJsSubject.class.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TagJsSubject.class.js","sourceRoot":"","sources":["../../../ts/tag/update/TagJsSubject.class.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAA;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAElD,MAAM,OAAO,YAAgB,SAAQ,YAAe;IAClD,SAAS,GAAG,UAAU,CAAC,YAAY,CAAA;IACnC,8BAA8B;IAC9B,MAAM,GAAc,YAAY,EAAE,CAAA;CACnC;AAED,MAAM,UAAU,YAAY;IAC1B,OAAO;QACL,QAAQ,EAAE,IAAI,OAAO,EAAyB;QAC9C,OAAO,EAAE,EAAE,EAAE,mGAAmG;QAChH,SAAS,EAAE,EAAE;QACb,oFAAoF;QACpF,WAAW,EAAE,CAAC;QACd,aAAa,EAAE,EAAE;QACjB,MAAM,EAAE,SAAgB,EAAE,gCAAgC;QAC1D,OAAO,EAAE,EAAE,EAAE,6DAA6D;QAC1E,SAAS,EAAE,EAAE,EAAE,aAAa;QAC5B,MAAM,EAAE,EAAE,EAAE,0EAA0E;KACvF,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { Wrapper } from '../TemplaterResult.class.js';
|
|
2
|
+
import { TagSubject } from '../../subject.types.js';
|
|
3
|
+
import { AnySupport } from '../Support.class.js';
|
|
4
|
+
export declare function oneRenderToSupport(wrapper: Wrapper, subject: TagSubject, ownerSupport: AnySupport): import("../Support.class.js").Support;
|