taggedjs 2.5.19 → 2.5.21
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 +3 -1
- package/js/alterProp.function.js +43 -18
- package/js/alterProp.function.js.map +1 -1
- package/js/interpolations/bindSubjectCallback.function.js +45 -21
- package/js/interpolations/bindSubjectCallback.function.js.map +1 -1
- package/js/interpolations/interpolateContentTemplates.js +3 -3
- package/js/interpolations/interpolateContentTemplates.js.map +1 -1
- package/js/interpolations/interpolateTemplate.d.ts +2 -7
- package/js/interpolations/interpolateTemplate.js +19 -14
- package/js/interpolations/interpolateTemplate.js.map +1 -1
- package/js/interpolations/processAttribute.function.d.ts +2 -1
- package/js/interpolations/processAttribute.function.js +28 -10
- package/js/interpolations/processAttribute.function.js.map +1 -1
- package/js/interpolations/specialAttribute.d.ts +1 -0
- package/js/interpolations/specialAttribute.js +22 -0
- package/js/interpolations/specialAttribute.js.map +1 -0
- package/js/state/callbackMaker.function.d.ts +1 -0
- package/js/state/callbackMaker.function.js +1 -0
- package/js/state/callbackMaker.function.js.map +1 -1
- package/js/state/callbackStateUpdate.function.js +4 -2
- package/js/state/callbackStateUpdate.function.js.map +1 -1
- package/js/state/handleProviderChanges.function.d.ts +3 -0
- package/js/state/handleProviderChanges.function.js +36 -0
- package/js/state/handleProviderChanges.function.js.map +1 -0
- package/js/state/letProp.function.js +1 -1
- package/js/state/letProp.function.js.map +1 -1
- package/js/state/letState.function.d.ts +1 -1
- package/js/state/letState.function.js +1 -1
- package/js/state/letState.function.js.map +1 -1
- package/js/state/provider.utils.js +19 -14
- package/js/state/provider.utils.js.map +1 -1
- package/js/state/providers.d.ts +3 -5
- package/js/state/providers.js +13 -32
- package/js/state/providers.js.map +1 -1
- package/js/state/providersChangeCheck.function.d.ts +2 -0
- package/js/state/providersChangeCheck.function.js +14 -0
- package/js/state/providersChangeCheck.function.js.map +1 -0
- package/js/state/setUse.function.d.ts +0 -2
- package/js/state/setUse.function.js.map +1 -1
- package/js/state/state.utils.js.map +1 -1
- package/js/subject/Subject.class.js +1 -4
- package/js/subject/Subject.class.js.map +1 -1
- package/js/subject.types.d.ts +1 -1
- package/js/tag/Tag.class.js +0 -1
- package/js/tag/Tag.class.js.map +1 -1
- package/js/tag/TagSupport.class.d.ts +9 -3
- package/js/tag/TagSupport.class.js +26 -20
- package/js/tag/TagSupport.class.js.map +1 -1
- package/js/tag/TemplaterResult.class.d.ts +4 -1
- package/js/tag/TemplaterResult.class.js.map +1 -1
- package/js/tag/checkDestroyPrevious.function.js +4 -3
- package/js/tag/checkDestroyPrevious.function.js.map +1 -1
- package/js/tag/destroy.support.js +1 -1
- package/js/tag/destroy.support.js.map +1 -1
- package/js/tag/destroyTag.function.d.ts +0 -1
- package/js/tag/destroyTag.function.js +0 -5
- package/js/tag/destroyTag.function.js.map +1 -1
- package/js/tag/getTagWrap.function.js +12 -10
- package/js/tag/getTagWrap.function.js.map +1 -1
- package/js/tag/hasTagSupportChanged.function.d.ts +1 -1
- package/js/tag/hasTagSupportChanged.function.js +9 -3
- package/js/tag/hasTagSupportChanged.function.js.map +1 -1
- package/js/tag/render/destroyUnlikeTags.function.d.ts +5 -0
- package/js/tag/render/destroyUnlikeTags.function.js +23 -0
- package/js/tag/render/destroyUnlikeTags.function.js.map +1 -0
- package/js/tag/render/renderExistingTag.function.js +4 -5
- package/js/tag/render/renderExistingTag.function.js.map +1 -1
- package/js/tag/render/renderSubjectComponent.function.js +0 -2
- package/js/tag/render/renderSubjectComponent.function.js.map +1 -1
- package/js/tag/render/renderTagOnly.function.js +7 -10
- package/js/tag/render/renderTagOnly.function.js.map +1 -1
- package/js/tag/render/renderTagSupport.function.d.ts +2 -2
- package/js/tag/render/renderTagSupport.function.js +8 -8
- package/js/tag/render/renderTagSupport.function.js.map +1 -1
- package/js/tag/render/renderWithSupport.function.js +2 -16
- package/js/tag/render/renderWithSupport.function.js.map +1 -1
- package/js/tag/tag.types.d.ts +2 -2
- package/js/tag/tagElement.js +1 -1
- package/js/tag/tagElement.js.map +1 -1
- package/js/tag/tagRunner.js +12 -3
- package/js/tag/tagRunner.js.map +1 -1
- package/js/tag/update/processFirstSubjectValue.function.d.ts +1 -1
- package/js/tag/update/processFirstSubjectValue.function.js +2 -2
- package/js/tag/update/processFirstSubjectValue.function.js.map +1 -1
- package/js/tag/update/processNewValue.function.js +1 -0
- package/js/tag/update/processNewValue.function.js.map +1 -1
- package/js/tag/update/processSubjectComponent.function.d.ts +1 -0
- package/js/tag/update/processSubjectComponent.function.js +4 -4
- package/js/tag/update/processSubjectComponent.function.js.map +1 -1
- package/js/tag/update/processTag.function.d.ts +2 -2
- package/js/tag/update/processTag.function.js +4 -3
- package/js/tag/update/processTag.function.js.map +1 -1
- package/js/tag/update/processTagArray.js +2 -3
- package/js/tag/update/processTagArray.js.map +1 -1
- package/js/tag/update/processTagResult.function.d.ts +4 -3
- package/js/tag/update/processTagResult.function.js +4 -2
- package/js/tag/update/processTagResult.function.js.map +1 -1
- package/js/tag/update/updateContextItem.function.js +1 -35
- package/js/tag/update/updateContextItem.function.js.map +1 -1
- package/js/tag/update/updateExistingTagComponent.function.d.ts +2 -1
- package/js/tag/update/updateExistingTagComponent.function.js +100 -45
- package/js/tag/update/updateExistingTagComponent.function.js.map +1 -1
- package/js/tag/update/updateExistingValue.function.js +2 -0
- package/js/tag/update/updateExistingValue.function.js.map +1 -1
- package/package.json +1 -1
package/bundle.js.map.gz
CHANGED
|
Binary file
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { BaseTagSupport, TagSupport } from './tag/TagSupport.class.js';
|
|
2
2
|
import { State } from './state/index.js';
|
|
3
|
+
import { Props } from './Props.js';
|
|
4
|
+
export declare function castProps(props: Props, newTagSupport: BaseTagSupport | TagSupport, stateArray: State): any[];
|
|
3
5
|
export declare function alterProp(prop: unknown, ownerSupport: BaseTagSupport | TagSupport, stateArray: State, newTagSupport: BaseTagSupport | TagSupport): any;
|
|
4
6
|
export declare function checkProp(value: any, ownerSupport: BaseTagSupport | TagSupport, stateArray: State, newTagSupport: BaseTagSupport | TagSupport, index?: string | number, newProp?: any, seen?: any[]): any;
|
|
5
7
|
export declare function getPropWrap(value: any, ownerSupport: BaseTagSupport | TagSupport, stateArray: State, newTagSupport: BaseTagSupport | TagSupport, name?: string | number, newProp?: any): any;
|
|
6
8
|
/** Function shared by alterProps() and updateExistingTagComponent... TODO: May want to have to functions to reduce cycle checking? */
|
|
7
9
|
export declare function callbackPropOwner(toCall: Function, callWith: any, ownerSupport: BaseTagSupport | TagSupport, // <-- WHEN called from alterProp its owner OTHERWISE its previous
|
|
8
|
-
|
|
10
|
+
oldState: State): any;
|
package/js/alterProp.function.js
CHANGED
|
@@ -3,7 +3,9 @@ import { isStaticTag } from './isInstance.js';
|
|
|
3
3
|
import { renderTagSupport } from './tag/render/renderTagSupport.function.js';
|
|
4
4
|
import { setUse } from './state/index.js';
|
|
5
5
|
import { getSupportInCycle } from './tag/getSupportInCycle.function.js';
|
|
6
|
-
|
|
6
|
+
export function castProps(props, newTagSupport, stateArray) {
|
|
7
|
+
return props.map(prop => alterProp(prop, newTagSupport.ownerTagSupport, stateArray, newTagSupport));
|
|
8
|
+
}
|
|
7
9
|
/* Used to rewrite props that are functions. When they are called it should cause parent rendering */
|
|
8
10
|
export function alterProp(prop, ownerSupport, stateArray, newTagSupport) {
|
|
9
11
|
if (isStaticTag(prop) || !prop) {
|
|
@@ -26,51 +28,74 @@ export function checkProp(value, ownerSupport, stateArray, newTagSupport, index,
|
|
|
26
28
|
return value; // no children to crawl through
|
|
27
29
|
}
|
|
28
30
|
if (value instanceof Array) {
|
|
29
|
-
|
|
31
|
+
for (let index = value.length - 1; index >= 0; --index) {
|
|
32
|
+
const subValue = value[index];
|
|
33
|
+
value[index] = checkProp(subValue, ownerSupport, stateArray, newTagSupport, index, value, seen);
|
|
34
|
+
if (subValue instanceof Function) {
|
|
35
|
+
if (subValue.toCall) {
|
|
36
|
+
continue;
|
|
37
|
+
}
|
|
38
|
+
afterCheckProp(index, subValue, value, newTagSupport);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
30
41
|
return value;
|
|
31
42
|
}
|
|
32
43
|
for (const name in value) {
|
|
33
44
|
const subValue = value[name];
|
|
34
45
|
const result = checkProp(subValue, ownerSupport, stateArray, newTagSupport, name, value, seen);
|
|
35
|
-
const hasSetter =
|
|
46
|
+
const hasSetter = Object.getOwnPropertyDescriptor(value, name)?.set;
|
|
36
47
|
if (hasSetter) {
|
|
37
48
|
continue;
|
|
38
49
|
}
|
|
39
50
|
value[name] = result;
|
|
51
|
+
if (result instanceof Function) {
|
|
52
|
+
if (subValue.toCall) {
|
|
53
|
+
continue;
|
|
54
|
+
}
|
|
55
|
+
afterCheckProp(name, subValue, value, newTagSupport);
|
|
56
|
+
}
|
|
40
57
|
}
|
|
41
58
|
return value;
|
|
42
59
|
}
|
|
60
|
+
function afterCheckProp(index, pastValue, newProp, newTagSupport) {
|
|
61
|
+
if (pastValue?.toCall) {
|
|
62
|
+
return; // already been done
|
|
63
|
+
}
|
|
64
|
+
// restore object to have original function on destroy
|
|
65
|
+
newTagSupport.global.destroy$.toCallback(() => newProp[index] = pastValue);
|
|
66
|
+
}
|
|
43
67
|
export function getPropWrap(value, ownerSupport, stateArray, newTagSupport, name, newProp) {
|
|
44
68
|
const toCall = value.toCall;
|
|
69
|
+
// already previously converted by a parent?
|
|
45
70
|
if (toCall) {
|
|
46
|
-
return value;
|
|
71
|
+
return value;
|
|
47
72
|
}
|
|
48
73
|
const wrap = (...args) => wrap.toCall(...args); // what gets called can switch over parent state changes
|
|
49
74
|
// Currently, call self but over parent state changes, I may need to call a newer parent tag owner
|
|
50
|
-
wrap.toCall = (...args) =>
|
|
75
|
+
wrap.toCall = (...args) => {
|
|
76
|
+
return callbackPropOwner(wrap.prop, args, ownerSupport, wrap.stateArray);
|
|
77
|
+
};
|
|
51
78
|
wrap.original = value;
|
|
79
|
+
wrap.prop = value;
|
|
80
|
+
wrap.stateArray = stateArray;
|
|
52
81
|
// copy data properties that maybe on source function
|
|
53
82
|
Object.assign(wrap, value);
|
|
54
|
-
if (name) {
|
|
55
|
-
// restore object to have original function on destroy
|
|
56
|
-
newTagSupport.global.destroy$.toCallback(() => newProp[name] = value);
|
|
57
|
-
}
|
|
58
83
|
return wrap;
|
|
59
84
|
}
|
|
60
85
|
/** Function shared by alterProps() and updateExistingTagComponent... TODO: May want to have to functions to reduce cycle checking? */
|
|
61
86
|
export function callbackPropOwner(toCall, callWith, ownerSupport, // <-- WHEN called from alterProp its owner OTHERWISE its previous
|
|
62
|
-
|
|
87
|
+
oldState) {
|
|
63
88
|
const newest = ownerSupport.global.newest;
|
|
64
|
-
const newState = newest.memory.state
|
|
89
|
+
//const newState = newest.memory.state
|
|
65
90
|
const noCycle = getSupportInCycle() === undefined;
|
|
66
|
-
const sync = noCycle &&
|
|
67
|
-
if
|
|
68
|
-
|
|
69
|
-
}
|
|
91
|
+
//const sync = noCycle && oldState.length === newState.length
|
|
92
|
+
//if(sync) {
|
|
93
|
+
// syncStates(newState, oldState)
|
|
94
|
+
//}
|
|
70
95
|
const result = toCall(...callWith);
|
|
71
|
-
if
|
|
72
|
-
|
|
73
|
-
}
|
|
96
|
+
// if(sync) {
|
|
97
|
+
// syncStates(oldState, newState)
|
|
98
|
+
// }
|
|
74
99
|
const run = () => {
|
|
75
100
|
// are we in a rendering cycle? then its being called by alterProps
|
|
76
101
|
if (noCycle === false) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alterProp.function.js","sourceRoot":"","sources":["../ts/alterProp.function.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAA;AAC5E,OAAO,EAAS,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAA;
|
|
1
|
+
{"version":3,"file":"alterProp.function.js","sourceRoot":"","sources":["../ts/alterProp.function.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAA;AAC5E,OAAO,EAAS,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAA;AAIvE,MAAM,UAAU,SAAS,CACvB,KAAY,EACZ,aAA0C,EAC1C,UAAiB;IAEjB,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAChC,IAAI,EACH,aAA4B,CAAC,eAAe,EAC7C,UAAU,EACV,aAAa,CACd,CAAC,CAAA;AACJ,CAAC;AAED,qGAAqG;AACrG,MAAM,UAAU,SAAS,CACvB,IAAa,EACb,YAAyC,EACzC,UAAiB,EACjB,aAA0C;IAE1C,IAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAG,CAAC,YAAY,EAAE,CAAC;QACjB,OAAO,IAAI,CAAA,CAAC,kBAAkB;IAChC,CAAC;IAED,OAAO,SAAS,CAAC,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,CAAC,CAAA;AACjE,CAAC;AAED,MAAM,UAAU,SAAS,CACvB,KAAU,EACV,YAAyC,EACzC,UAAiB,EACjB,aAA0C,EAC1C,KAAuB,EACvB,OAAa,EACb,OAAc,EAAE;IAEhB,IAAG,KAAK,YAAY,QAAQ,EAAE,CAAC;QAC7B,OAAO,WAAW,CAAC,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;IACpF,CAAC;IAED,IAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,KAAK,CAAA;IACd,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAEhB,IAAG,OAAM,CAAC,KAAK,CAAC,KAAG,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC;QACtC,OAAO,KAAK,CAAA,CAAC,+BAA+B;IAC9C,CAAC;IAED,IAAG,KAAK,YAAY,KAAK,EAAE,CAAC;QAC1B,KAAK,IAAI,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC;YACvD,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAA;YAE7B,KAAK,CAAC,KAAK,CAAC,GAAG,SAAS,CACtB,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CACtE,CAAA;YAED,IAAG,QAAQ,YAAY,QAAQ,EAAE,CAAC;gBAChC,IAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;oBACnB,SAAQ;gBACV,CAAC;gBAED,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,CAAC,CAAA;YACvD,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAA;IACd,CAAC;IAGD,KAAI,MAAM,IAAI,IAAI,KAAK,EAAC,CAAC;QACvB,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,CAAA;QAC5B,MAAM,MAAM,GAAG,SAAS,CACtB,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CACrE,CAAA;QAED,MAAM,SAAS,GAAG,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,GAAG,CAAA;QACnE,IAAG,SAAS,EAAE,CAAC;YACb,SAAQ;QACV,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAA;QACpB,IAAG,MAAM,YAAY,QAAQ,EAAE,CAAC;YAC9B,IAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACnB,SAAQ;YACV,CAAC;YAED,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,CAAC,CAAA;QACtD,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,cAAc,CACrB,KAAsB,EACtB,SAAc,EACd,OAAY,EACZ,aAA0C;IAE1C,IAAG,SAAS,EAAE,MAAM,EAAE,CAAC;QACrB,OAAM,CAAC,oBAAoB;IAC7B,CAAC;IAED,sDAAsD;IACtD,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,CAAA;AAC5E,CAAC;AAED,MAAM,UAAU,WAAW,CACzB,KAAU,EACV,YAAyC,EACzC,UAAiB,EACjB,aAA0C,EAC1C,IAAsB,EACtB,OAAa;IAEb,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;IAE3B,4CAA4C;IAC5C,IAAG,MAAM,EAAE,CAAC;QACV,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAA,CAAC,wDAAwD;IAC9G,kGAAkG;IAClG,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE;QAC/B,OAAO,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;IAC1E,CAAC,CAAA;IACD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAA;IACrB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAA;IACjB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;IAE5B,qDAAqD;IACrD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IAE1B,OAAO,IAAI,CAAA;AACb,CAAC;AAED,uIAAuI;AACvI,MAAM,UAAU,iBAAiB,CAC/B,MAAgB,EAChB,QAAa,EACb,YAAyC,EAAE,kEAAkE;AAC7G,QAAe;IAEf,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,MAAoB,CAAA;IACvD,sCAAsC;IACtC,MAAM,OAAO,GAAG,iBAAiB,EAAE,KAAK,SAAS,CAAA;IACjD,6DAA6D;IAE7D,YAAY;IACZ,kCAAkC;IAClC,GAAG;IAEH,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAA;IAElC,aAAa;IACb,mCAAmC;IACnC,IAAI;IAEJ,MAAM,GAAG,GAAG,GAAG,EAAE;QACf,mEAAmE;QACnE,IAAG,OAAO,KAAK,KAAK,EAAE,CAAC;YACrB,yFAAyF;YACzF,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;gBACnD,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAA;gBACjC,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,EAAE,CAAA;gBACvB,MAAM,KAAK,GAAG,SAAS,CACrB,SAAS,CAAC,SAAS,CAAC,EACpB,GAAG,CACJ,CAAA;gBAED,OAAO,KAAK,CAAA;YACd,CAAC,CAAC,CAAA;YAEF,IAAG,UAAU,EAAE,CAAC;gBACd,OAAO,MAAM,CAAA,CAAC,uBAAuB;YACvC,CAAC;QACH,CAAC;QAED,gBAAgB,CACd,MAAM,EACN,IAAI,CACL,CAAA;QAED,OAAO,MAAM,CAAA;IACf,CAAC,CAAA;IAED,IAAG,OAAO,EAAE,CAAC;QACX,OAAO,GAAG,EAAE,CAAA;IACd,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;IAExC,OAAO,MAAM,CAAA;AACf,CAAC"}
|
|
@@ -1,48 +1,72 @@
|
|
|
1
1
|
/** File largely responsible for reacting to element events, such as onclick */
|
|
2
|
+
import { setUse } from '../state/setUse.function.js';
|
|
3
|
+
import { ValueTypes } from '../tag/ValueTypes.enum.js';
|
|
2
4
|
import { renderTagSupport } from '../tag/render/renderTagSupport.function.js';
|
|
5
|
+
import { updateExistingTagComponent } from '../tag/update/updateExistingTagComponent.function.js';
|
|
6
|
+
const useLocks = true;
|
|
3
7
|
export function bindSubjectCallback(value, tagSupport) {
|
|
4
8
|
// Is this children? No override needed
|
|
5
9
|
if (value.isChildOverride) {
|
|
6
10
|
return value;
|
|
7
11
|
}
|
|
12
|
+
const state = setUse.memory.stateConfig;
|
|
8
13
|
const subjectFunction = (element, args) => runTagCallback(value, tagSupport, element, args);
|
|
9
14
|
// link back to original. Mostly used for <div oninit ondestroy> animations
|
|
10
15
|
subjectFunction.tagFunction = value;
|
|
11
16
|
return subjectFunction;
|
|
12
17
|
}
|
|
13
18
|
export function runTagCallback(value, tagSupport, bindTo, args) {
|
|
14
|
-
const
|
|
15
|
-
const renderCount = myGlobal.renderCount;
|
|
19
|
+
const tag = findTagToCallback(tagSupport);
|
|
16
20
|
const method = value.bind(bindTo);
|
|
21
|
+
tag.global.locked = useLocks; // prevent another render from re-rendering this tag
|
|
17
22
|
const callbackResult = method(...args);
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
23
|
+
return afterTagCallback(tag, callbackResult);
|
|
24
|
+
}
|
|
25
|
+
function afterTagCallback(tag, callbackResult) {
|
|
26
|
+
delete tag.global.locked;
|
|
27
|
+
if (tag.global.blocked.length) {
|
|
28
|
+
let lastResult;
|
|
29
|
+
tag.global.blocked.forEach(blocked => {
|
|
30
|
+
const block = blocked;
|
|
31
|
+
lastResult = updateExistingTagComponent(block.ownerTagSupport, block, block.subject, block.global.insertBefore, true);
|
|
32
|
+
tag.global.newest = lastResult;
|
|
33
|
+
tag.global.blocked.splice(0, 1);
|
|
34
|
+
});
|
|
35
|
+
tag.global.blocked.length = 0;
|
|
36
|
+
// return lastResult
|
|
37
|
+
return checkAfterCallbackPromise(callbackResult, lastResult, lastResult.global);
|
|
28
38
|
}
|
|
29
|
-
const
|
|
30
|
-
|
|
31
|
-
|
|
39
|
+
const result = renderCallbackSupport(tag.global.newest, callbackResult, tag.global);
|
|
40
|
+
return result;
|
|
41
|
+
}
|
|
42
|
+
function findTagToCallback(tagSupport) {
|
|
43
|
+
// If we are NOT a component than we need to render my owner instead
|
|
44
|
+
if (tagSupport.templater.tagJsType === ValueTypes.templater) {
|
|
45
|
+
const owner = tagSupport.ownerTagSupport;
|
|
46
|
+
return findTagToCallback(owner);
|
|
32
47
|
}
|
|
33
|
-
|
|
34
|
-
|
|
48
|
+
return tagSupport;
|
|
49
|
+
}
|
|
50
|
+
function renderCallbackSupport(last, callbackResult, global) {
|
|
51
|
+
if (global.deleted) {
|
|
52
|
+
return 'no-data-ever'; // || last.global.deleted
|
|
53
|
+
}
|
|
54
|
+
renderTagSupport(last, true);
|
|
55
|
+
return checkAfterCallbackPromise(callbackResult, last, global);
|
|
56
|
+
}
|
|
57
|
+
function checkAfterCallbackPromise(callbackResult, last, global) {
|
|
35
58
|
if (callbackResult instanceof Promise) {
|
|
59
|
+
last.global.locked = useLocks;
|
|
36
60
|
return callbackResult.then(() => {
|
|
37
|
-
|
|
61
|
+
delete last.global.locked;
|
|
62
|
+
if (global.deleted) {
|
|
38
63
|
return 'promise-no-data-ever'; // tag was deleted during event processing
|
|
39
64
|
}
|
|
40
|
-
|
|
41
|
-
|
|
65
|
+
delete last.global.locked;
|
|
66
|
+
renderTagSupport(global.newest, true);
|
|
42
67
|
return 'promise-no-data-ever';
|
|
43
68
|
});
|
|
44
69
|
}
|
|
45
|
-
// Caller always expects a Promise
|
|
46
70
|
return 'no-data-ever';
|
|
47
71
|
}
|
|
48
72
|
//# sourceMappingURL=bindSubjectCallback.function.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bindSubjectCallback.function.js","sourceRoot":"","sources":["../../ts/interpolations/bindSubjectCallback.function.ts"],"names":[],"mappings":"AAAA,+EAA+E;
|
|
1
|
+
{"version":3,"file":"bindSubjectCallback.function.js","sourceRoot":"","sources":["../../ts/interpolations/bindSubjectCallback.function.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,8 +7,8 @@ export function interpolateContentTemplates(context, tagSupport, options, childr
|
|
|
7
7
|
const childLength = children.length;
|
|
8
8
|
for (let index = childLength - 1; index >= 0; --index) {
|
|
9
9
|
const child = children[index];
|
|
10
|
-
const
|
|
11
|
-
clones.push(...nextClones)
|
|
10
|
+
const tagComponent = interpolateTemplate(child, context, tagSupport, counts);
|
|
11
|
+
// clones.push(...nextClones)
|
|
12
12
|
if (tagComponent) {
|
|
13
13
|
tagComponents.push(tagComponent);
|
|
14
14
|
continue;
|
|
@@ -18,7 +18,7 @@ export function interpolateContentTemplates(context, tagSupport, options, childr
|
|
|
18
18
|
const subChild = child.children[index];
|
|
19
19
|
// IF <template end /> its a variable to be processed
|
|
20
20
|
if (isRenderEndTemplate(subChild)) {
|
|
21
|
-
const
|
|
21
|
+
const tagComponent = interpolateTemplate(subChild, context, tagSupport, counts);
|
|
22
22
|
if (tagComponent) {
|
|
23
23
|
tagComponents.push(tagComponent);
|
|
24
24
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interpolateContentTemplates.js","sourceRoot":"","sources":["../../ts/interpolations/interpolateContentTemplates.ts"],"names":[],"mappings":"AAGA,OAAO,EAAwC,mBAAmB,EAAE,MAAK,0BAA0B,CAAA;AAOnG,MAAM,UAAU,2BAA2B,CACzC,OAAY,EACZ,UAAsB,EACtB,OAA2B,EAC3B,QAAwB;IAExB,2CAA2C;IAC3C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;IAC7B,MAAM,MAAM,GAAmB,EAAE,CAAA;IACjC,MAAM,aAAa,GAAiC,EAAE,CAAA;IACtD,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAA;IACnC,KAAK,IAAI,KAAK,GAAC,WAAW,GAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC;QAClD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;QAC7B,MAAM,
|
|
1
|
+
{"version":3,"file":"interpolateContentTemplates.js","sourceRoot":"","sources":["../../ts/interpolations/interpolateContentTemplates.ts"],"names":[],"mappings":"AAGA,OAAO,EAAwC,mBAAmB,EAAE,MAAK,0BAA0B,CAAA;AAOnG,MAAM,UAAU,2BAA2B,CACzC,OAAY,EACZ,UAAsB,EACtB,OAA2B,EAC3B,QAAwB;IAExB,2CAA2C;IAC3C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;IAC7B,MAAM,MAAM,GAAmB,EAAE,CAAA;IACjC,MAAM,aAAa,GAAiC,EAAE,CAAA;IACtD,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAA;IACnC,KAAK,IAAI,KAAK,GAAC,WAAW,GAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC;QAClD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;QAC7B,MAAM,YAAY,GAAG,mBAAmB,CACtC,KAAiB,EACjB,OAAO,EACP,UAAU,EACV,MAAM,CACP,CAAA;QAED,6BAA6B;QAE7B,IAAG,YAAY,EAAE,CAAC;YAChB,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;YAChC,SAAQ;QACV,CAAC;QAED,IAAK,KAAK,CAAC,QAAQ,EAAG,CAAC;YACrB,KAAK,IAAI,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC;gBAChE,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;gBACtC,qDAAqD;gBACrD,IAAK,mBAAmB,CAAC,QAAQ,CAAC,EAAG,CAAC;oBACpC,MAAM,YAAY,GAAG,mBAAmB,CACtC,QAAoB,EACpB,OAAO,EACP,UAAU,EACV,MAAM,CACP,CAAA;oBAED,IAAG,YAAY,EAAE,CAAC;wBAChB,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;oBAClC,CAAC;gBACH,CAAC;gBAED,MAAM,EAAC,MAAM,EAAC,UAAU,EAAE,aAAa,EAAE,gBAAgB,EAAC,GAAG,2BAA2B,CACtF,OAAO,EACP,UAAU,EACV,OAAO,EACP,QAAQ,CAAC,QAAQ,CAClB,CAAA;gBAED,MAAM,CAAC,IAAI,CAAE,GAAG,UAAU,CAAE,CAAA;gBAC5B,aAAa,CAAC,IAAI,CAAE,GAAG,gBAAgB,CAAE,CAAA;YAC3C,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAC,MAAM,EAAE,aAAa,EAAC,CAAA;AAChC,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc;IACzC,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,KAAG,UAAU,CAAA;IAC7C,OAAO,UAAU;QACjB,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,SAAS;QAC/C,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,SAAS,CAAA;AACzC,CAAC"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Context, ElementBuildOptions } from '../tag/Tag.class.js';
|
|
2
|
-
import { InterpolateOptions } from './interpolateElement.js';
|
|
3
2
|
import { InsertBefore } from './InsertBefore.type.js';
|
|
4
3
|
import { InterpolateSubject } from '../tag/update/processFirstSubject.utils.js';
|
|
5
4
|
import { TagSupport } from '../tag/TagSupport.class.js';
|
|
@@ -12,18 +11,14 @@ export type InterpolateComponentResult = {
|
|
|
12
11
|
ownerSupport: TagSupport;
|
|
13
12
|
variableName: string;
|
|
14
13
|
};
|
|
15
|
-
export type InterpolateTemplateResult = {
|
|
16
|
-
clones: InsertBefore[];
|
|
17
|
-
tagComponent?: InterpolateComponentResult;
|
|
18
|
-
};
|
|
19
14
|
export declare function interpolateTemplate(insertBefore: Template, // <template end interpolate /> (will be removed)
|
|
20
15
|
context: Context, // variable scope of {`__tagvar${index}`:'x'}
|
|
21
16
|
ownerSupport: TagSupport, // Tag class
|
|
22
|
-
counts: Counts
|
|
23
|
-
options: InterpolateOptions): InterpolateTemplateResult;
|
|
17
|
+
counts: Counts): InterpolateComponentResult | undefined;
|
|
24
18
|
export declare function subscribeToTemplate(insertBefore: InsertBefore, subject: InterpolateSubject, ownerSupport: TagSupport, counts: Counts): void;
|
|
25
19
|
export type Counts = {
|
|
26
20
|
added: number;
|
|
27
21
|
removed: number;
|
|
28
22
|
};
|
|
23
|
+
/** This is the function that enhances elements such as [class.something] and [style.color] OR it fixes elements that alter innerHTML */
|
|
29
24
|
export declare function afterElmBuild(elm: Element | ChildNode, options: ElementBuildOptions, context: Context, ownerSupport: TagSupport): void;
|
|
@@ -8,33 +8,27 @@ import { swapInsertBefore } from '../tag/setTagPlaceholder.function.js';
|
|
|
8
8
|
export function interpolateTemplate(insertBefore, // <template end interpolate /> (will be removed)
|
|
9
9
|
context, // variable scope of {`__tagvar${index}`:'x'}
|
|
10
10
|
ownerSupport, // Tag class
|
|
11
|
-
counts
|
|
12
|
-
options) {
|
|
13
|
-
// TODO: THe clones array is useless here
|
|
14
|
-
const clones = [];
|
|
11
|
+
counts) {
|
|
15
12
|
if (!insertBefore.hasAttribute('end')) {
|
|
16
|
-
return
|
|
13
|
+
return; // only care about <template end>
|
|
17
14
|
}
|
|
18
15
|
const variableName = insertBefore.getAttribute('id');
|
|
19
16
|
if (variableName?.substring(0, variablePrefix.length) !== variablePrefix) {
|
|
20
|
-
return
|
|
17
|
+
return; // ignore, not a tagVar
|
|
21
18
|
}
|
|
22
19
|
const existingSubject = context[variableName];
|
|
23
20
|
const isDynamic = isTagComponent(existingSubject._value) || isTagArray(existingSubject.value);
|
|
24
21
|
// process dynamics later
|
|
25
22
|
if (isDynamic) {
|
|
26
23
|
return {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
subject: existingSubject,
|
|
32
|
-
insertBefore
|
|
33
|
-
}
|
|
24
|
+
variableName,
|
|
25
|
+
ownerSupport,
|
|
26
|
+
subject: existingSubject,
|
|
27
|
+
insertBefore
|
|
34
28
|
};
|
|
35
29
|
}
|
|
36
30
|
subscribeToTemplate(insertBefore, existingSubject, ownerSupport, counts);
|
|
37
|
-
return
|
|
31
|
+
return;
|
|
38
32
|
}
|
|
39
33
|
export function subscribeToTemplate(insertBefore, subject, ownerSupport, counts) {
|
|
40
34
|
let called = false;
|
|
@@ -66,16 +60,27 @@ export function subscribeToTemplate(insertBefore, subject, ownerSupport, counts)
|
|
|
66
60
|
}
|
|
67
61
|
ownerSupport.global.subscriptions.push(sub);
|
|
68
62
|
}
|
|
63
|
+
/** This is the function that enhances elements such as [class.something] and [style.color] OR it fixes elements that alter innerHTML */
|
|
69
64
|
export function afterElmBuild(elm, options, context, ownerSupport) {
|
|
70
65
|
if (!elm.getAttribute) {
|
|
71
66
|
return;
|
|
72
67
|
}
|
|
68
|
+
// Elements that alter innerHTML
|
|
73
69
|
const tagName = elm.nodeName; // elm.tagName
|
|
74
70
|
if (tagName === 'TEXTAREA') {
|
|
75
71
|
scanTextAreaValue(elm, context, ownerSupport);
|
|
76
72
|
}
|
|
77
73
|
let diff = options.counts.added;
|
|
78
74
|
diff = elementInitCheck(elm, options.counts) - diff;
|
|
75
|
+
const hasFocusFun = elm.focus;
|
|
76
|
+
if (hasFocusFun) {
|
|
77
|
+
if (elm.hasAttribute('autofocus')) {
|
|
78
|
+
elm.focus();
|
|
79
|
+
}
|
|
80
|
+
if (elm.hasAttribute('autoselect')) {
|
|
81
|
+
elm.select();
|
|
82
|
+
}
|
|
83
|
+
}
|
|
79
84
|
const children = elm.children;
|
|
80
85
|
if (children) {
|
|
81
86
|
for (let index = children.length - 1; index >= 0; --index) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interpolateTemplate.js","sourceRoot":"","sources":["../../ts/interpolations/interpolateTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAElF,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAGxD,OAAO,EAAE,wBAAwB,EAAE,MAAM,oDAAoD,CAAA;AAC7F,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAA;AAGnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAA;
|
|
1
|
+
{"version":3,"file":"interpolateTemplate.js","sourceRoot":"","sources":["../../ts/interpolations/interpolateTemplate.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Context } from '../tag/Tag.class.js';
|
|
2
2
|
import { HowToSet } from './interpolateAttributes.js';
|
|
3
3
|
import { TagSupport } from '../tag/TagSupport.class.js';
|
|
4
|
-
export declare function processAttribute(attrName: string, value: string | null,
|
|
4
|
+
export declare function processAttribute(attrName: string, value: string | null, // current attribute value by using .getAttribute
|
|
5
|
+
child: Element, scope: Context, ownerSupport: TagSupport, howToSet: HowToSet): void;
|
|
5
6
|
export type NoDisplayValue = false | null | undefined;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { specialAttribute } from './specialAttribute.js';
|
|
2
2
|
import { isSubjectInstance } from '../isInstance.js';
|
|
3
3
|
import { bindSubjectCallback } from './bindSubjectCallback.function.js';
|
|
4
4
|
const startRegX = /^\s*{__tagvar/;
|
|
@@ -6,7 +6,8 @@ const endRegX = /}\s*$/;
|
|
|
6
6
|
function isTagVar(value) {
|
|
7
7
|
return value && value.search(startRegX) >= 0 && value.search(endRegX) >= 0;
|
|
8
8
|
}
|
|
9
|
-
export function processAttribute(attrName, value,
|
|
9
|
+
export function processAttribute(attrName, value, // current attribute value by using .getAttribute
|
|
10
|
+
child, scope, ownerSupport, howToSet) {
|
|
10
11
|
if (isTagVar(value)) {
|
|
11
12
|
return processScopedNameValueAttr(attrName, value, child, scope, ownerSupport, howToSet);
|
|
12
13
|
}
|
|
@@ -15,6 +16,9 @@ export function processAttribute(attrName, value, child, scope, ownerSupport, ho
|
|
|
15
16
|
let lastValue;
|
|
16
17
|
// the above callback gets called immediately since its a ValueSubject()
|
|
17
18
|
const sub = contextValueSubject.subscribe((value) => {
|
|
19
|
+
if (value === lastValue) {
|
|
20
|
+
return; // value did not change
|
|
21
|
+
}
|
|
18
22
|
processNameOnlyAttr(value, lastValue, child, ownerSupport, howToSet);
|
|
19
23
|
lastValue = value;
|
|
20
24
|
});
|
|
@@ -25,7 +29,7 @@ export function processAttribute(attrName, value, child, scope, ownerSupport, ho
|
|
|
25
29
|
// Non dynamic
|
|
26
30
|
const isSpecial = isSpecialAttr(attrName);
|
|
27
31
|
if (isSpecial) {
|
|
28
|
-
return
|
|
32
|
+
return specialAttribute(attrName, value, child);
|
|
29
33
|
}
|
|
30
34
|
}
|
|
31
35
|
function processScopedNameValueAttr(attrName, value, // {__tagVarN}
|
|
@@ -74,16 +78,17 @@ function processNameValueAttr(attrName, result, child, ownerSupport, howToSet) {
|
|
|
74
78
|
// Most every variable comes in here since everything is made a ValueSubject
|
|
75
79
|
if (isSubjectInstance(result)) {
|
|
76
80
|
child.removeAttribute(attrName);
|
|
81
|
+
let lastValue;
|
|
77
82
|
const callback = (newAttrValue) => {
|
|
78
83
|
// should the function be wrapped so every time its called we re-render?
|
|
79
84
|
if (newAttrValue instanceof Function) {
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
}
|
|
85
|
+
return callbackFun(ownerSupport, newAttrValue, child, attrName, isSpecial, howToSet);
|
|
86
|
+
}
|
|
87
|
+
// TODO: we maybe able to block higher before instance of check
|
|
88
|
+
if (lastValue === newAttrValue) {
|
|
89
|
+
return lastValue;
|
|
86
90
|
}
|
|
91
|
+
lastValue = newAttrValue;
|
|
87
92
|
return processAttributeSubjectValue(newAttrValue, child, attrName, isSpecial, howToSet);
|
|
88
93
|
};
|
|
89
94
|
// 🗞️ Subscribe. Above callback called immediately since its a ValueSubject()
|
|
@@ -103,11 +108,15 @@ function processAttributeSubjectValue(newAttrValue, child, attrName, isSpecial,
|
|
|
103
108
|
};
|
|
104
109
|
// access to original function
|
|
105
110
|
fun.tagFunction = newAttrValue;
|
|
111
|
+
if (attrName === 'ondoubleclick') {
|
|
112
|
+
attrName = 'ondblclick';
|
|
113
|
+
}
|
|
114
|
+
;
|
|
106
115
|
child[attrName] = fun;
|
|
107
116
|
return;
|
|
108
117
|
}
|
|
109
118
|
if (isSpecial) {
|
|
110
|
-
|
|
119
|
+
specialAttribute(attrName, newAttrValue, child);
|
|
111
120
|
return;
|
|
112
121
|
}
|
|
113
122
|
if (newAttrValue) {
|
|
@@ -126,4 +135,13 @@ function processAttributeSubjectValue(newAttrValue, child, attrName, isSpecial,
|
|
|
126
135
|
function isSpecialAttr(attrName) {
|
|
127
136
|
return attrName.search(/^(class|style)(\.)/) >= 0;
|
|
128
137
|
}
|
|
138
|
+
function callbackFun(ownerSupport, newAttrValue, child, attrName, isSpecial, howToSet) {
|
|
139
|
+
const wrapper = ownerSupport.templater.wrapper;
|
|
140
|
+
const parentWrap = wrapper?.parentWrap;
|
|
141
|
+
const oneRender = parentWrap?.oneRender;
|
|
142
|
+
if (!oneRender) {
|
|
143
|
+
newAttrValue = bindSubjectCallback(newAttrValue, ownerSupport);
|
|
144
|
+
}
|
|
145
|
+
return processAttributeSubjectValue(newAttrValue, child, attrName, isSpecial, howToSet);
|
|
146
|
+
}
|
|
129
147
|
//# sourceMappingURL=processAttribute.function.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processAttribute.function.js","sourceRoot":"","sources":["../../ts/interpolations/processAttribute.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"processAttribute.function.js","sourceRoot":"","sources":["../../ts/interpolations/processAttribute.function.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function specialAttribute(name: string, value: any, element: Element): void;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export function specialAttribute(name, value, element) {
|
|
2
|
+
const names = name.split('.');
|
|
3
|
+
// style.position = "absolute"
|
|
4
|
+
if (names[0] === 'style') {
|
|
5
|
+
element.style[names[1]] = value;
|
|
6
|
+
}
|
|
7
|
+
// Example: class.width-full = "true"
|
|
8
|
+
if (names[0] === 'class') {
|
|
9
|
+
names.shift();
|
|
10
|
+
if (value) {
|
|
11
|
+
for (let index = 0; index < names.length; ++index) {
|
|
12
|
+
element.classList.add(names[index]);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
for (let index = 0; index < names.length; ++index) {
|
|
17
|
+
element.classList.remove(names[index]);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=specialAttribute.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"specialAttribute.js","sourceRoot":"","sources":["../../ts/interpolations/specialAttribute.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,gBAAgB,CAC9B,IAAY,EACZ,KAAU,EACV,OAAgB;IAEhB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAE7B,8BAA8B;IAC9B,IAAG,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;QACvB,OAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAA;IAC1C,CAAC;IAED,qCAAqC;IACrC,IAAG,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;QACxB,KAAK,CAAC,KAAK,EAAE,CAAA;QACb,IAAG,KAAK,EAAE,CAAC;YACT,KAAK,IAAI,KAAK,GAAC,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC;gBAChD,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;YACrC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,KAAK,IAAI,KAAK,GAAC,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC;gBAChD,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;YACxC,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export type Callback<A, B, C, D, E, F, T> = (a: A, b: B, c: C, d: D, e: E, f: F) => T;
|
|
2
2
|
export declare const callbackMaker: () => <A, B, C, D, E, F, T>(callback: Callback<A, B, C, D, E, F, T>) => (a?: A | undefined, b?: B | undefined, c?: C | undefined, d?: D | undefined, e?: E | undefined, f?: F | undefined) => T;
|
|
3
|
+
/** Wrap a function that will be called back. After the wrapper and function are called, a rendering cycle will update display */
|
|
3
4
|
export declare function callback<A, B, C, D, E, F, T>(callback: Callback<A, B, C, D, E, F, T>): () => T;
|
|
@@ -16,6 +16,7 @@ setUse({
|
|
|
16
16
|
innerCallback = originalGetter; // prevent crossing callbacks with another tag
|
|
17
17
|
},
|
|
18
18
|
});
|
|
19
|
+
/** Wrap a function that will be called back. After the wrapper and function are called, a rendering cycle will update display */
|
|
19
20
|
export function callback(callback) {
|
|
20
21
|
const tagSupport = getSupportInCycle();
|
|
21
22
|
if (!tagSupport) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"callbackMaker.function.js","sourceRoot":"","sources":["../../ts/state/callbackMaker.function.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAE7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AACxE,OAAO,mBAAmB,MAAM,mCAAmC,CAAA;AAOnE,IAAI,aAAa,GAAG,CAClB,QAAiC,EACjC,EAAE,CAAC,CAAC,CAAI,EAAE,CAAI,EAAE,CAAI,EAAE,CAAI,EAAE,CAAI,EAAE,CAAI,EAAK,EAAE;IAC7C,MAAM,IAAI,iBAAiB,CAAC,iFAAiF,CAAC,CAAA;AAChH,CAAC,CAAA;AACD,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,aAAa,CAAA;AAEhD,MAAM,cAAc,GAAG,aAAa,CAAA,CAAC,gBAAgB;AAErD,MAAM,CAAC;IACL,YAAY,EAAE,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;IAClD,YAAY,EAAE,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;IAClD,WAAW,EAAE,UAAU,CAAC,EAAE;QACxB,CAAC;QAAC,UAAU,CAAC,MAAc,CAAC,aAAa,GAAG,IAAI,CAAA;QAChD,aAAa,GAAG,cAAc,CAAA,CAAC,8CAA8C;IAC/E,CAAC;CACF,CAAC,CAAA;AAEF,MAAM,UAAU,QAAQ,CACtB,QAAuC;IAEvC,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAA;IAEtC,IAAG,CAAC,UAAU,EAAE,CAAC;QACf,MAAM,KAAK,GAAG,IAAI,iBAAiB,CAAC,+JAA+J,CAAC,CAAA;QACpM,MAAM,KAAK,CAAA;IACb,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAA;IAChD,MAAM,OAAO,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE;QACjC,MAAM,aAAa,GAAI,UAAU,CAAC,MAAc,CAAC,aAAa,CAAA;QAE9D,IAAG,aAAa,EAAE,CAAC;YACjB,OAAO,mBAAmB,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAA;QACrE,CAAC;QAED,OAAQ,QAAgB,CAAC,GAAG,IAAI,CAAC,CAAA;IACnC,CAAC,CAAA;IAED,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,SAAS,UAAU,CAAE,UAAuC;IAC1D,MAAM,QAAQ,GAAU,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAA;IACvD,aAAa,GAAG,CACd,QAAqD,EACrD,EAAE;QACF,MAAM,OAAO,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE;YACjC,MAAM,aAAa,GAAI,UAAU,CAAC,MAAc,CAAC,aAAa,CAAA;YAE9D,IAAG,aAAa,EAAE,CAAC;gBACjB,OAAO,mBAAmB,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAA;YACrE,CAAC;YAED,OAAQ,QAAgB,CAAC,GAAG,IAAI,CAAC,CAAA;QACnC,CAAC,CAAA;QAED,OAAO,OAAO,CAAA;IAChB,CAAC,CAAA;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"callbackMaker.function.js","sourceRoot":"","sources":["../../ts/state/callbackMaker.function.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAE7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AACxE,OAAO,mBAAmB,MAAM,mCAAmC,CAAA;AAOnE,IAAI,aAAa,GAAG,CAClB,QAAiC,EACjC,EAAE,CAAC,CAAC,CAAI,EAAE,CAAI,EAAE,CAAI,EAAE,CAAI,EAAE,CAAI,EAAE,CAAI,EAAK,EAAE;IAC7C,MAAM,IAAI,iBAAiB,CAAC,iFAAiF,CAAC,CAAA;AAChH,CAAC,CAAA;AACD,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,aAAa,CAAA;AAEhD,MAAM,cAAc,GAAG,aAAa,CAAA,CAAC,gBAAgB;AAErD,MAAM,CAAC;IACL,YAAY,EAAE,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;IAClD,YAAY,EAAE,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;IAClD,WAAW,EAAE,UAAU,CAAC,EAAE;QACxB,CAAC;QAAC,UAAU,CAAC,MAAc,CAAC,aAAa,GAAG,IAAI,CAAA;QAChD,aAAa,GAAG,cAAc,CAAA,CAAC,8CAA8C;IAC/E,CAAC;CACF,CAAC,CAAA;AAEF,iIAAiI;AACjI,MAAM,UAAU,QAAQ,CACtB,QAAuC;IAEvC,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAA;IAEtC,IAAG,CAAC,UAAU,EAAE,CAAC;QACf,MAAM,KAAK,GAAG,IAAI,iBAAiB,CAAC,+JAA+J,CAAC,CAAA;QACpM,MAAM,KAAK,CAAA;IACb,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAA;IAChD,MAAM,OAAO,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE;QACjC,MAAM,aAAa,GAAI,UAAU,CAAC,MAAc,CAAC,aAAa,CAAA;QAE9D,IAAG,aAAa,EAAE,CAAC;YACjB,OAAO,mBAAmB,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAA;QACrE,CAAC;QAED,OAAQ,QAAgB,CAAC,GAAG,IAAI,CAAC,CAAA;IACnC,CAAC,CAAA;IAED,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,SAAS,UAAU,CAAE,UAAuC;IAC1D,MAAM,QAAQ,GAAU,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAA;IACvD,aAAa,GAAG,CACd,QAAqD,EACrD,EAAE;QACF,MAAM,OAAO,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE;YACjC,MAAM,aAAa,GAAI,UAAU,CAAC,MAAc,CAAC,aAAa,CAAA;YAE9D,IAAG,aAAa,EAAE,CAAC;gBACjB,OAAO,mBAAmB,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAA;YACrE,CAAC;YAED,OAAQ,QAAgB,CAAC,GAAG,IAAI,CAAC,CAAA;QACnC,CAAC,CAAA;QAED,OAAO,OAAO,CAAA;IAChB,CAAC,CAAA;AACH,CAAC"}
|
|
@@ -8,12 +8,14 @@ export default function callbackStateUpdate(tagSupport, callback, oldState, ...a
|
|
|
8
8
|
const maybePromise = callback(...args);
|
|
9
9
|
// send the oldest state changes into the newest
|
|
10
10
|
syncStates(oldState, state);
|
|
11
|
-
renderTagSupport(tagSupport,
|
|
11
|
+
renderTagSupport(tagSupport, // tagSupport.global.newest as TagSupport,
|
|
12
|
+
false);
|
|
12
13
|
if (maybePromise instanceof Promise) {
|
|
13
14
|
maybePromise.finally(() => {
|
|
14
15
|
// send the oldest state changes into the newest
|
|
15
16
|
syncStates(oldState, state);
|
|
16
|
-
renderTagSupport(tagSupport,
|
|
17
|
+
renderTagSupport(tagSupport, // tagSupport.global.newest as TagSupport,
|
|
18
|
+
false);
|
|
17
19
|
});
|
|
18
20
|
}
|
|
19
21
|
// return undefined as T
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"callbackStateUpdate.function.js","sourceRoot":"","sources":["../../ts/state/callbackStateUpdate.function.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAA;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAGrD,MAAM,CAAC,OAAO,UAAU,mBAAmB,CACzC,UAAuC,EACvC,QAAkD,EAClD,QAAe,EACf,GAAG,IAAW;IAEd,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,CAAA;IAErC,qDAAqD;IACrD,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;IAE3B,mBAAmB;IACnB,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,IAAiC,CAAC,CAAA;IAEnE,gDAAgD;IAChD,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"callbackStateUpdate.function.js","sourceRoot":"","sources":["../../ts/state/callbackStateUpdate.function.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAA;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAGrD,MAAM,CAAC,OAAO,UAAU,mBAAmB,CACzC,UAAuC,EACvC,QAAkD,EAClD,QAAe,EACf,GAAG,IAAW;IAEd,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,CAAA;IAErC,qDAAqD;IACrD,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;IAE3B,mBAAmB;IACnB,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,IAAiC,CAAC,CAAA;IAEnE,gDAAgD;IAChD,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IAC3B,gBAAgB,CACd,UAAU,EAAE,0CAA0C;IACtD,KAAK,CACN,CAAA;IAED,IAAG,YAAY,YAAY,OAAO,EAAE,CAAC;QACnC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE;YACxB,gDAAgD;YAChD,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;YAE3B,gBAAgB,CACd,UAAU,EAAE,0CAA0C;YACtD,KAAK,CACN,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,wBAAwB;IACxB,OAAO,YAAY,CAAA;AACrB,CAAC"}
|