taggedjs 2.5.5 → 2.5.7
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 +151 -92
- package/bundle.js.map +1 -1
- package/js/render.js +6 -5
- package/js/render.js.map +1 -1
- package/js/state/callbackMaker.function.js +5 -2
- package/js/state/callbackMaker.function.js.map +1 -1
- package/js/state/index.d.ts +2 -0
- package/js/state/index.js +2 -0
- package/js/state/index.js.map +1 -1
- package/js/state/letProp.function.d.ts +7 -0
- package/js/state/letProp.function.js +16 -0
- package/js/state/letProp.function.js.map +1 -0
- package/js/state/providers.js +5 -3
- package/js/state/providers.js.map +1 -1
- package/js/state/state.function.js.map +1 -1
- package/js/state/state.utils.d.ts +1 -0
- package/js/state/state.utils.js +9 -6
- package/js/state/state.utils.js.map +1 -1
- package/js/state/subject.function.d.ts +12 -0
- package/js/state/subject.function.js +23 -0
- package/js/state/subject.function.js.map +1 -0
- package/js/subject/Subject.class.d.ts +1 -2
- package/js/subject/Subject.class.js +0 -10
- package/js/subject/Subject.class.js.map +1 -1
- package/js/tag/TagSupport.class.js +15 -30
- package/js/tag/TagSupport.class.js.map +1 -1
- package/js/tag/render/renderExistingTag.function.js +0 -13
- package/js/tag/render/renderExistingTag.function.js.map +1 -1
- package/js/tag/tagElement.js +3 -1
- package/js/tag/tagElement.js.map +1 -1
- package/js/tag/update/processTagArray.js +4 -2
- package/js/tag/update/processTagArray.js.map +1 -1
- package/js/tag/update/updateExistingValue.function.js +8 -6
- package/js/tag/update/updateExistingValue.function.js.map +1 -1
- package/js/updateBeforeTemplate.function.js.map +1 -1
- package/package.json +1 -1
package/bundle.js
CHANGED
|
@@ -983,18 +983,19 @@ function buildClones(temporary, insertBefore) {
|
|
|
983
983
|
const clones = [];
|
|
984
984
|
const template = temporary.children[0];
|
|
985
985
|
let nextSibling = template.content.firstChild;
|
|
986
|
+
const fragment = document.createDocumentFragment();
|
|
986
987
|
while (nextSibling) {
|
|
987
988
|
const nextNextSibling = nextSibling.nextSibling;
|
|
988
|
-
buildSibling(nextSibling, insertBefore);
|
|
989
989
|
clones.push(nextSibling);
|
|
990
|
+
fragment.appendChild(nextSibling);
|
|
990
991
|
nextSibling = nextNextSibling;
|
|
991
992
|
}
|
|
993
|
+
if (insertBefore.parentNode) {
|
|
994
|
+
const parentNode = insertBefore.parentNode;
|
|
995
|
+
parentNode.insertBefore(fragment, insertBefore);
|
|
996
|
+
}
|
|
992
997
|
return clones;
|
|
993
998
|
}
|
|
994
|
-
function buildSibling(nextSibling, insertBefore) {
|
|
995
|
-
const parentNode = insertBefore.parentNode;
|
|
996
|
-
parentNode.insertBefore(nextSibling, insertBefore);
|
|
997
|
-
}
|
|
998
999
|
|
|
999
1000
|
|
|
1000
1001
|
/***/ }),
|
|
@@ -1065,14 +1066,17 @@ function initMemory(tagSupport) {
|
|
|
1065
1066
|
}
|
|
1066
1067
|
function triggerStateUpdate(tagSupport, callback, oldState, ...args) {
|
|
1067
1068
|
const state = tagSupport.memory.state;
|
|
1068
|
-
// oldState = (tagSupport.global.oldest as TagSupport).memory.state
|
|
1069
1069
|
// ensure that the oldest has the latest values first
|
|
1070
1070
|
(0,_syncStates_function__WEBPACK_IMPORTED_MODULE_3__.syncStates)(state, oldState);
|
|
1071
1071
|
// run the callback
|
|
1072
1072
|
const maybePromise = callback(...args);
|
|
1073
|
-
// const maybePromise = callback(...args as [any,any,any,any,any,any])
|
|
1074
1073
|
// send the oldest state changes into the newest
|
|
1075
1074
|
(0,_syncStates_function__WEBPACK_IMPORTED_MODULE_3__.syncStates)(oldState, state);
|
|
1075
|
+
/*
|
|
1076
|
+
if(tagSupport.global.deleted) {
|
|
1077
|
+
return maybePromise // While running callback the tag was deleted. Often that happens
|
|
1078
|
+
}
|
|
1079
|
+
*/
|
|
1076
1080
|
(0,_tag_render_renderTagSupport_function__WEBPACK_IMPORTED_MODULE_1__.renderTagSupport)(tagSupport, false);
|
|
1077
1081
|
if (maybePromise instanceof Promise) {
|
|
1078
1082
|
maybePromise.finally(() => {
|
|
@@ -1124,26 +1128,33 @@ function children() {
|
|
|
1124
1128
|
|
|
1125
1129
|
__webpack_require__.r(__webpack_exports__);
|
|
1126
1130
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
1127
|
-
/* harmony export */ callback: () => (/* reexport safe */
|
|
1128
|
-
/* harmony export */ callbackMaker: () => (/* reexport safe */
|
|
1129
|
-
/* harmony export */ children: () => (/* reexport safe */
|
|
1130
|
-
/* harmony export */
|
|
1131
|
-
/* harmony export */
|
|
1132
|
-
/* harmony export */
|
|
1133
|
-
/* harmony export */
|
|
1131
|
+
/* harmony export */ callback: () => (/* reexport safe */ _callbackMaker_function__WEBPACK_IMPORTED_MODULE_7__.callback),
|
|
1132
|
+
/* harmony export */ callbackMaker: () => (/* reexport safe */ _callbackMaker_function__WEBPACK_IMPORTED_MODULE_7__.callbackMaker),
|
|
1133
|
+
/* harmony export */ children: () => (/* reexport safe */ _children__WEBPACK_IMPORTED_MODULE_10__.children),
|
|
1134
|
+
/* harmony export */ letProp: () => (/* reexport safe */ _letProp_function__WEBPACK_IMPORTED_MODULE_4__.letProp),
|
|
1135
|
+
/* harmony export */ letState: () => (/* reexport safe */ _letState_function__WEBPACK_IMPORTED_MODULE_5__.letState),
|
|
1136
|
+
/* harmony export */ onDestroy: () => (/* reexport safe */ _onDestroy__WEBPACK_IMPORTED_MODULE_9__.onDestroy),
|
|
1137
|
+
/* harmony export */ onInit: () => (/* reexport safe */ _onInit__WEBPACK_IMPORTED_MODULE_8__.onInit),
|
|
1138
|
+
/* harmony export */ providers: () => (/* reexport safe */ _providers__WEBPACK_IMPORTED_MODULE_6__.providers),
|
|
1134
1139
|
/* harmony export */ setUse: () => (/* reexport safe */ _setUse_function__WEBPACK_IMPORTED_MODULE_1__.setUse),
|
|
1135
1140
|
/* harmony export */ state: () => (/* reexport safe */ _state_function__WEBPACK_IMPORTED_MODULE_2__.state),
|
|
1141
|
+
/* harmony export */ subject: () => (/* reexport safe */ _subject_function__WEBPACK_IMPORTED_MODULE_3__.subject),
|
|
1136
1142
|
/* harmony export */ watch: () => (/* reexport safe */ _watch_function__WEBPACK_IMPORTED_MODULE_0__.watch)
|
|
1137
1143
|
/* harmony export */ });
|
|
1138
1144
|
/* harmony import */ var _watch_function__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./watch.function */ "./ts/state/watch.function.ts");
|
|
1139
1145
|
/* harmony import */ var _setUse_function__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./setUse.function */ "./ts/state/setUse.function.ts");
|
|
1140
1146
|
/* harmony import */ var _state_function__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./state.function */ "./ts/state/state.function.ts");
|
|
1141
|
-
/* harmony import */ var
|
|
1142
|
-
/* harmony import */ var
|
|
1143
|
-
/* harmony import */ var
|
|
1144
|
-
/* harmony import */ var
|
|
1145
|
-
/* harmony import */ var
|
|
1146
|
-
/* harmony import */ var
|
|
1147
|
+
/* harmony import */ var _subject_function__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./subject.function */ "./ts/state/subject.function.ts");
|
|
1148
|
+
/* harmony import */ var _letProp_function__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./letProp.function */ "./ts/state/letProp.function.ts");
|
|
1149
|
+
/* harmony import */ var _letState_function__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./letState.function */ "./ts/state/letState.function.ts");
|
|
1150
|
+
/* harmony import */ var _providers__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./providers */ "./ts/state/providers.ts");
|
|
1151
|
+
/* harmony import */ var _callbackMaker_function__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./callbackMaker.function */ "./ts/state/callbackMaker.function.ts");
|
|
1152
|
+
/* harmony import */ var _onInit__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./onInit */ "./ts/state/onInit.ts");
|
|
1153
|
+
/* harmony import */ var _onDestroy__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./onDestroy */ "./ts/state/onDestroy.ts");
|
|
1154
|
+
/* harmony import */ var _children__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./children */ "./ts/state/children.ts");
|
|
1155
|
+
|
|
1156
|
+
|
|
1157
|
+
|
|
1147
1158
|
|
|
1148
1159
|
|
|
1149
1160
|
|
|
@@ -1154,6 +1165,36 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
1154
1165
|
|
|
1155
1166
|
|
|
1156
1167
|
|
|
1168
|
+
/***/ }),
|
|
1169
|
+
|
|
1170
|
+
/***/ "./ts/state/letProp.function.ts":
|
|
1171
|
+
/*!**************************************!*\
|
|
1172
|
+
!*** ./ts/state/letProp.function.ts ***!
|
|
1173
|
+
\**************************************/
|
|
1174
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
1175
|
+
|
|
1176
|
+
__webpack_require__.r(__webpack_exports__);
|
|
1177
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
1178
|
+
/* harmony export */ letProp: () => (/* binding */ letProp)
|
|
1179
|
+
/* harmony export */ });
|
|
1180
|
+
/* harmony import */ var _letState_function__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./letState.function */ "./ts/state/letState.function.ts");
|
|
1181
|
+
/* harmony import */ var _watch_function__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./watch.function */ "./ts/state/watch.function.ts");
|
|
1182
|
+
|
|
1183
|
+
|
|
1184
|
+
/**
|
|
1185
|
+
* Enables the ability to maintain a change to a props value until the prop itself changes
|
|
1186
|
+
* @param prop typically the name of an existing prop
|
|
1187
|
+
* @returns immediately call the returned function: letProp(y)(x => [y, y=x])
|
|
1188
|
+
*/
|
|
1189
|
+
function letProp(prop) {
|
|
1190
|
+
return getSetProp => {
|
|
1191
|
+
let myProp = (0,_letState_function__WEBPACK_IMPORTED_MODULE_0__.letState)(prop)(getSetProp);
|
|
1192
|
+
(0,_watch_function__WEBPACK_IMPORTED_MODULE_1__.watch)([prop], () => getSetProp(myProp = prop));
|
|
1193
|
+
getSetProp(myProp);
|
|
1194
|
+
return myProp;
|
|
1195
|
+
};
|
|
1196
|
+
}
|
|
1197
|
+
|
|
1157
1198
|
|
|
1158
1199
|
/***/ }),
|
|
1159
1200
|
|
|
@@ -1354,15 +1395,14 @@ _setUse_function__WEBPACK_IMPORTED_MODULE_1__.setUse.memory.providerConfig = {
|
|
|
1354
1395
|
};
|
|
1355
1396
|
const providers = {
|
|
1356
1397
|
create: (constructMethod) => {
|
|
1357
|
-
const cm = constructMethod;
|
|
1358
|
-
const compareTo = cm.compareTo = cm.compareTo || cm.toString();
|
|
1359
1398
|
const stateDiffMemory = (0,_state_function__WEBPACK_IMPORTED_MODULE_2__.state)(() => ({ stateDiff: 0, provider: undefined }));
|
|
1399
|
+
// mimic how many states were called the first time
|
|
1360
1400
|
if (stateDiffMemory.stateDiff) {
|
|
1361
1401
|
for (let x = stateDiffMemory.stateDiff; x > 0; --x) {
|
|
1362
1402
|
(0,_state_function__WEBPACK_IMPORTED_MODULE_2__.state)(undefined);
|
|
1363
1403
|
}
|
|
1364
1404
|
const result = (0,_state_function__WEBPACK_IMPORTED_MODULE_2__.state)(undefined);
|
|
1365
|
-
stateDiffMemory.provider.constructMethod.compareTo = compareTo
|
|
1405
|
+
// stateDiffMemory.provider.constructMethod.compareTo = compareTo
|
|
1366
1406
|
return result;
|
|
1367
1407
|
}
|
|
1368
1408
|
const result = (0,_state_function__WEBPACK_IMPORTED_MODULE_2__.state)(() => {
|
|
@@ -1384,6 +1424,9 @@ const providers = {
|
|
|
1384
1424
|
stateDiffMemory.stateDiff = stateDiff;
|
|
1385
1425
|
return instance;
|
|
1386
1426
|
});
|
|
1427
|
+
const cm = constructMethod;
|
|
1428
|
+
// const compareTo = cm.compareTo = cm.compareTo || cm.toString()
|
|
1429
|
+
const compareTo = cm.compareTo = cm.toString();
|
|
1387
1430
|
stateDiffMemory.provider.constructMethod.compareTo = compareTo;
|
|
1388
1431
|
return result;
|
|
1389
1432
|
},
|
|
@@ -1550,6 +1593,7 @@ function state(defaultValue) {
|
|
|
1550
1593
|
__webpack_require__.r(__webpack_exports__);
|
|
1551
1594
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
1552
1595
|
/* harmony export */ StateEchoBack: () => (/* binding */ StateEchoBack),
|
|
1596
|
+
/* harmony export */ getCallbackValue: () => (/* binding */ getCallbackValue),
|
|
1553
1597
|
/* harmony export */ getStateValue: () => (/* binding */ getStateValue)
|
|
1554
1598
|
/* harmony export */ });
|
|
1555
1599
|
/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../errors */ "./ts/errors.ts");
|
|
@@ -1598,19 +1642,16 @@ function getStateValue(state) {
|
|
|
1598
1642
|
if (!callback) {
|
|
1599
1643
|
return state.defaultValue;
|
|
1600
1644
|
}
|
|
1601
|
-
const
|
|
1602
|
-
const [oldValue] = oldState;
|
|
1603
|
-
const [checkValue] = callback(oldValue); // set back to original value
|
|
1645
|
+
const [value, checkValue] = getCallbackValue(callback);
|
|
1604
1646
|
if (checkValue !== StateEchoBack) {
|
|
1605
1647
|
const message = 'State property not used correctly. Second item in array is not setting value as expected.\n\n' +
|
|
1606
1648
|
'For "let" state use `let name = state(default)(x => [name, name = x])`\n\n' +
|
|
1607
1649
|
'For "const" state use `const name = state(default)()`\n\n' +
|
|
1608
1650
|
'Problem state:\n' + (callback ? callback.toString() : JSON.stringify(state)) + '\n';
|
|
1609
|
-
console.error(message, { state, callback,
|
|
1651
|
+
console.error(message, { state, callback, value, checkValue });
|
|
1610
1652
|
throw new Error(message);
|
|
1611
1653
|
}
|
|
1612
|
-
|
|
1613
|
-
return oldValue;
|
|
1654
|
+
return value;
|
|
1614
1655
|
}
|
|
1615
1656
|
class StateEchoBack {
|
|
1616
1657
|
}
|
|
@@ -1661,6 +1702,53 @@ function checkStateMismatch(
|
|
|
1661
1702
|
})
|
|
1662
1703
|
}
|
|
1663
1704
|
*/
|
|
1705
|
+
function getCallbackValue(callback) {
|
|
1706
|
+
const oldState = callback(StateEchoBack); // get value and set to undefined
|
|
1707
|
+
const [value] = oldState;
|
|
1708
|
+
const [checkValue] = callback(value); // set back to original value
|
|
1709
|
+
return [value, checkValue];
|
|
1710
|
+
}
|
|
1711
|
+
|
|
1712
|
+
|
|
1713
|
+
/***/ }),
|
|
1714
|
+
|
|
1715
|
+
/***/ "./ts/state/subject.function.ts":
|
|
1716
|
+
/*!**************************************!*\
|
|
1717
|
+
!*** ./ts/state/subject.function.ts ***!
|
|
1718
|
+
\**************************************/
|
|
1719
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
1720
|
+
|
|
1721
|
+
__webpack_require__.r(__webpack_exports__);
|
|
1722
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
1723
|
+
/* harmony export */ subject: () => (/* binding */ subject)
|
|
1724
|
+
/* harmony export */ });
|
|
1725
|
+
/* harmony import */ var _subject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../subject */ "./ts/subject/index.ts");
|
|
1726
|
+
/* harmony import */ var _tag_getSupportInCycle_function__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../tag/getSupportInCycle.function */ "./ts/tag/getSupportInCycle.function.ts");
|
|
1727
|
+
/* harmony import */ var _setUse_function__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./setUse.function */ "./ts/state/setUse.function.ts");
|
|
1728
|
+
/* harmony import */ var _state_function__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./state.function */ "./ts/state/state.function.ts");
|
|
1729
|
+
/* harmony import */ var _syncStates_function__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./syncStates.function */ "./ts/state/syncStates.function.ts");
|
|
1730
|
+
|
|
1731
|
+
|
|
1732
|
+
|
|
1733
|
+
|
|
1734
|
+
|
|
1735
|
+
function subject(value, onSubscription) {
|
|
1736
|
+
const oldestState = (0,_state_function__WEBPACK_IMPORTED_MODULE_3__.state)(() => _setUse_function__WEBPACK_IMPORTED_MODULE_2__.setUse.memory.stateConfig.array);
|
|
1737
|
+
const nowTagSupport = (0,_tag_getSupportInCycle_function__WEBPACK_IMPORTED_MODULE_1__.getSupportInCycle)();
|
|
1738
|
+
return new _subject__WEBPACK_IMPORTED_MODULE_0__.Subject(value, onSubscription).pipe(x => {
|
|
1739
|
+
(0,_syncStates_function__WEBPACK_IMPORTED_MODULE_4__.syncStates)(nowTagSupport.memory.state, oldestState);
|
|
1740
|
+
return x;
|
|
1741
|
+
});
|
|
1742
|
+
}
|
|
1743
|
+
function all(args) {
|
|
1744
|
+
const oldestState = (0,_state_function__WEBPACK_IMPORTED_MODULE_3__.state)(() => _setUse_function__WEBPACK_IMPORTED_MODULE_2__.setUse.memory.stateConfig.array);
|
|
1745
|
+
const nowTagSupport = (0,_tag_getSupportInCycle_function__WEBPACK_IMPORTED_MODULE_1__.getSupportInCycle)();
|
|
1746
|
+
return _subject__WEBPACK_IMPORTED_MODULE_0__.Subject.all(args).pipe(x => {
|
|
1747
|
+
(0,_syncStates_function__WEBPACK_IMPORTED_MODULE_4__.syncStates)(nowTagSupport.memory.state, oldestState);
|
|
1748
|
+
return x;
|
|
1749
|
+
});
|
|
1750
|
+
}
|
|
1751
|
+
subject.all = all;
|
|
1664
1752
|
|
|
1665
1753
|
|
|
1666
1754
|
/***/ }),
|
|
@@ -1926,16 +2014,6 @@ class Subject {
|
|
|
1926
2014
|
}
|
|
1927
2015
|
static globalSubCount$ = new Subject(0); // for ease of debugging
|
|
1928
2016
|
}
|
|
1929
|
-
/*
|
|
1930
|
-
export const Subject = (<T>(value?: T, onSubscription?: OnSubscription<T>) => {
|
|
1931
|
-
return new Subject(value, onSubscription)
|
|
1932
|
-
}) as (<T>(value?: T, onSubscription?: OnSubscription<T>) => Subject<T>) & {
|
|
1933
|
-
globalSubCount$: Subject<number>
|
|
1934
|
-
// globalSubs: Subscription<any>[]
|
|
1935
|
-
all: <T>(...args: (T | Subject<T>)[]) => Subject<T>[]
|
|
1936
|
-
}
|
|
1937
|
-
*/
|
|
1938
|
-
// Subject.globalSubs = [] // 🔬 for testing
|
|
1939
2017
|
|
|
1940
2018
|
|
|
1941
2019
|
/***/ }),
|
|
@@ -2298,12 +2376,6 @@ class BaseTagSupport {
|
|
|
2298
2376
|
global.newest = this;
|
|
2299
2377
|
subject.tagSupport = this;
|
|
2300
2378
|
this.hasLiveElements = true;
|
|
2301
|
-
// remove old clones
|
|
2302
|
-
if (this.clones.length) {
|
|
2303
|
-
// this.destroyClones()
|
|
2304
|
-
// this.clones.forEach(clone => this.checkCloneRemoval(clone, 0))
|
|
2305
|
-
}
|
|
2306
|
-
global.insertBefore = insertBefore;
|
|
2307
2379
|
const context = this.update();
|
|
2308
2380
|
const template = this.getTemplate();
|
|
2309
2381
|
const isForceElement = options.forceElement;
|
|
@@ -2389,12 +2461,23 @@ class TagSupport extends BaseTagSupport {
|
|
|
2389
2461
|
stagger: 0,
|
|
2390
2462
|
byParent: false, // Only destroy clones of direct children
|
|
2391
2463
|
}) {
|
|
2464
|
+
const firstDestroy = !options.byParent;
|
|
2392
2465
|
const global = this.global;
|
|
2393
2466
|
const subject = this.subject;
|
|
2394
|
-
|
|
2395
|
-
|
|
2467
|
+
const childTags = options.byParent ? [] : (0,_destroy_support__WEBPACK_IMPORTED_MODULE_6__.getChildTagsToDestroy)(this.childTags);
|
|
2468
|
+
if (firstDestroy && (0,_isInstance__WEBPACK_IMPORTED_MODULE_2__.isTagComponent)(this.templater)) {
|
|
2469
|
+
(0,_tagRunner__WEBPACK_IMPORTED_MODULE_5__.runBeforeDestroy)(this, this);
|
|
2396
2470
|
}
|
|
2397
|
-
//
|
|
2471
|
+
// signify immediately child has been deleted (looked for during event processing)
|
|
2472
|
+
childTags.forEach(child => {
|
|
2473
|
+
const subGlobal = child.global;
|
|
2474
|
+
delete subGlobal.newest;
|
|
2475
|
+
subGlobal.deleted = true;
|
|
2476
|
+
if ((0,_isInstance__WEBPACK_IMPORTED_MODULE_2__.isTagComponent)(child.templater)) {
|
|
2477
|
+
(0,_tagRunner__WEBPACK_IMPORTED_MODULE_5__.runBeforeDestroy)(child, child);
|
|
2478
|
+
}
|
|
2479
|
+
});
|
|
2480
|
+
// HTML DOM manipulation. Put back down the template tag
|
|
2398
2481
|
const insertBefore = global.insertBefore;
|
|
2399
2482
|
if (insertBefore.nodeName === 'TEMPLATE') {
|
|
2400
2483
|
const placeholder = global.placeholder;
|
|
@@ -2404,25 +2487,12 @@ class TagSupport extends BaseTagSupport {
|
|
|
2404
2487
|
}
|
|
2405
2488
|
}
|
|
2406
2489
|
}
|
|
2407
|
-
// the isComponent check maybe able to be removed
|
|
2408
|
-
const isComponent = (0,_isInstance__WEBPACK_IMPORTED_MODULE_2__.isTagComponent)(this.templater) ? true : false;
|
|
2409
|
-
if (isComponent) {
|
|
2410
|
-
(0,_tagRunner__WEBPACK_IMPORTED_MODULE_5__.runBeforeDestroy)(this, this);
|
|
2411
|
-
}
|
|
2412
|
-
const childTags = options.byParent ? [] : (0,_destroy_support__WEBPACK_IMPORTED_MODULE_6__.getChildTagsToDestroy)(this.childTags);
|
|
2413
|
-
// signify that no further event rendering should take place by making logic think a render occurred during event
|
|
2414
|
-
// signify immediately child has been deleted (looked for during event processing)
|
|
2415
|
-
childTags.forEach(child => {
|
|
2416
|
-
const subGlobal = child.global;
|
|
2417
|
-
delete subGlobal.newest;
|
|
2418
|
-
subGlobal.deleted = true;
|
|
2419
|
-
});
|
|
2420
2490
|
this.destroySubscriptions();
|
|
2421
2491
|
let mainPromise;
|
|
2422
2492
|
if (this.ownerTagSupport) {
|
|
2423
2493
|
this.ownerTagSupport.childTags = this.ownerTagSupport.childTags.filter(child => child !== this);
|
|
2424
2494
|
}
|
|
2425
|
-
if (
|
|
2495
|
+
if (firstDestroy) {
|
|
2426
2496
|
const { stagger, promise } = this.destroyClones(options);
|
|
2427
2497
|
options.stagger = stagger;
|
|
2428
2498
|
if (promise) {
|
|
@@ -2485,13 +2555,6 @@ class TagSupport extends BaseTagSupport {
|
|
|
2485
2555
|
const next = () => {
|
|
2486
2556
|
const parentNode = clone.parentNode;
|
|
2487
2557
|
if (parentNode) {
|
|
2488
|
-
/*
|
|
2489
|
-
const stillHas = Array.from(parentNode.children).includes(clone as Element)
|
|
2490
|
-
if(stillHas) {
|
|
2491
|
-
console.log('stillHas', {clone})
|
|
2492
|
-
parentNode.removeChild(clone)
|
|
2493
|
-
}
|
|
2494
|
-
*/
|
|
2495
2558
|
parentNode.removeChild(clone);
|
|
2496
2559
|
}
|
|
2497
2560
|
const ownerSupport = this.ownerTagSupport;
|
|
@@ -3024,19 +3087,6 @@ subject) {
|
|
|
3024
3087
|
return prevSupport; // already rendered during triggered events
|
|
3025
3088
|
}
|
|
3026
3089
|
const toRedrawTag = prevSupport || lastSupport || global.oldest;
|
|
3027
|
-
/*
|
|
3028
|
-
if(oldestSupport === newSupport) {
|
|
3029
|
-
newSupport = new TagSupport(
|
|
3030
|
-
newSupport.templater,
|
|
3031
|
-
newSupport.ownerTagSupport,
|
|
3032
|
-
newSupport.subject,
|
|
3033
|
-
)
|
|
3034
|
-
|
|
3035
|
-
newSupport.memory = {...oldestSupport.memory}
|
|
3036
|
-
newSupport.memory.state = [...oldestSupport.memory.state]
|
|
3037
|
-
newSupport.global = oldestSupport.global
|
|
3038
|
-
}
|
|
3039
|
-
*/
|
|
3040
3090
|
const reSupport = (0,_renderWithSupport_function__WEBPACK_IMPORTED_MODULE_2__.renderWithSupport)(newSupport, toRedrawTag, subject, ownerSupport);
|
|
3041
3091
|
const oldest = global.oldest || oldestSupport;
|
|
3042
3092
|
reSupport.global.oldest = oldest;
|
|
@@ -3444,7 +3494,8 @@ element, props) {
|
|
|
3444
3494
|
const templateElm = document.createElement('template');
|
|
3445
3495
|
templateElm.setAttribute('id', 'app-tag-' + appElements.length);
|
|
3446
3496
|
templateElm.setAttribute('app-tag-detail', appElements.length.toString());
|
|
3447
|
-
|
|
3497
|
+
const fragment = document.createDocumentFragment();
|
|
3498
|
+
fragment.appendChild(templateElm);
|
|
3448
3499
|
element.destroy = async () => {
|
|
3449
3500
|
await tagSupport.destroy();
|
|
3450
3501
|
const insertBefore = tagSupport.global.insertBefore;
|
|
@@ -3456,6 +3507,7 @@ element, props) {
|
|
|
3456
3507
|
tagSupport.global.newest = tagSupport;
|
|
3457
3508
|
element.setUse = app.original.setUse;
|
|
3458
3509
|
appElements.push({ element, tagSupport });
|
|
3510
|
+
element.appendChild(fragment);
|
|
3459
3511
|
return {
|
|
3460
3512
|
tagSupport,
|
|
3461
3513
|
tags: app.original.tags,
|
|
@@ -3920,11 +3972,13 @@ function processAddTagArrayItem(before, tagSupport, index, options, lastArray) {
|
|
|
3920
3972
|
added: options.counts.added + index,
|
|
3921
3973
|
removed: options.counts.removed,
|
|
3922
3974
|
};
|
|
3975
|
+
const fragment = document.createDocumentFragment();
|
|
3923
3976
|
const newTempElm = document.createElement('template');
|
|
3924
|
-
|
|
3925
|
-
parent.insertBefore(newTempElm, before);
|
|
3977
|
+
fragment.appendChild(newTempElm);
|
|
3926
3978
|
tagSupport.buildBeforeElement(newTempElm, // before,
|
|
3927
3979
|
{ counts, forceElement: options.forceElement });
|
|
3980
|
+
const parent = before.parentNode;
|
|
3981
|
+
parent.insertBefore(fragment, before);
|
|
3928
3982
|
}
|
|
3929
3983
|
/** compare two values. If both values are arrays then the items will be compared */
|
|
3930
3984
|
function areLikeValues(valueA, valueB) {
|
|
@@ -4200,8 +4254,6 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
4200
4254
|
/* harmony import */ var _isLikeTags_function__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../isLikeTags.function */ "./ts/tag/isLikeTags.function.ts");
|
|
4201
4255
|
/* harmony import */ var _interpolations_bindSubjectCallback_function__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../interpolations/bindSubjectCallback.function */ "./ts/interpolations/bindSubjectCallback.function.ts");
|
|
4202
4256
|
/* harmony import */ var _processTag_function__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./processTag.function */ "./ts/tag/update/processTag.function.ts");
|
|
4203
|
-
/* harmony import */ var _insertAfter_function__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../insertAfter.function */ "./ts/insertAfter.function.ts");
|
|
4204
|
-
|
|
4205
4257
|
|
|
4206
4258
|
|
|
4207
4259
|
|
|
@@ -4318,11 +4370,14 @@ function prepareUpdateToComponent(templater, subjectTag, insertBefore, ownerSupp
|
|
|
4318
4370
|
tagSupport.memory.state.push(...newestState);
|
|
4319
4371
|
}
|
|
4320
4372
|
else {
|
|
4321
|
-
|
|
4322
|
-
|
|
4323
|
-
|
|
4324
|
-
|
|
4373
|
+
(0,_checkDestroyPrevious_function__WEBPACK_IMPORTED_MODULE_6__.restoreTagMarker)(subjectSup);
|
|
4374
|
+
/*
|
|
4375
|
+
const placeholder = subjectSup.global.placeholder
|
|
4376
|
+
if(placeholder && !insertBefore.parentNode) {
|
|
4377
|
+
insertAfter(insertBefore,placeholder)
|
|
4378
|
+
delete subjectSup.global.placeholder
|
|
4325
4379
|
}
|
|
4380
|
+
*/
|
|
4326
4381
|
(0,_processSubjectComponent_function__WEBPACK_IMPORTED_MODULE_7__.processSubjectComponent)(templater, subjectTag, insertBefore, ownerSupport, {
|
|
4327
4382
|
forceElement: true,
|
|
4328
4383
|
counts: { added: 0, removed: 0 },
|
|
@@ -4457,6 +4512,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
4457
4512
|
/* harmony export */ isTagComponent: () => (/* reexport safe */ _isInstance__WEBPACK_IMPORTED_MODULE_3__.isTagComponent),
|
|
4458
4513
|
/* harmony export */ isTagTemplater: () => (/* reexport safe */ _isInstance__WEBPACK_IMPORTED_MODULE_3__.isTagTemplater),
|
|
4459
4514
|
/* harmony export */ kidsToTagArraySubject: () => (/* reexport safe */ _tag_tag__WEBPACK_IMPORTED_MODULE_0__.kidsToTagArraySubject),
|
|
4515
|
+
/* harmony export */ letProp: () => (/* reexport safe */ _state_index__WEBPACK_IMPORTED_MODULE_4__.letProp),
|
|
4460
4516
|
/* harmony export */ letState: () => (/* reexport safe */ _state_index__WEBPACK_IMPORTED_MODULE_4__.letState),
|
|
4461
4517
|
/* harmony export */ onDestroy: () => (/* reexport safe */ _state_index__WEBPACK_IMPORTED_MODULE_4__.onDestroy),
|
|
4462
4518
|
/* harmony export */ onInit: () => (/* reexport safe */ _state_index__WEBPACK_IMPORTED_MODULE_4__.onInit),
|
|
@@ -4466,6 +4522,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
4466
4522
|
/* harmony export */ runBeforeRender: () => (/* reexport safe */ _tag_tagRunner__WEBPACK_IMPORTED_MODULE_11__.runBeforeRender),
|
|
4467
4523
|
/* harmony export */ setUse: () => (/* reexport safe */ _state_index__WEBPACK_IMPORTED_MODULE_4__.setUse),
|
|
4468
4524
|
/* harmony export */ state: () => (/* reexport safe */ _state_index__WEBPACK_IMPORTED_MODULE_4__.state),
|
|
4525
|
+
/* harmony export */ subject: () => (/* reexport safe */ _state_index__WEBPACK_IMPORTED_MODULE_4__.subject),
|
|
4469
4526
|
/* harmony export */ tag: () => (/* reexport safe */ _tag_tag__WEBPACK_IMPORTED_MODULE_0__.tag),
|
|
4470
4527
|
/* harmony export */ tagElement: () => (/* reexport safe */ _tag_tagElement__WEBPACK_IMPORTED_MODULE_9__.tagElement),
|
|
4471
4528
|
/* harmony export */ tags: () => (/* reexport safe */ _tag_tag__WEBPACK_IMPORTED_MODULE_0__.tags),
|
|
@@ -4541,6 +4598,7 @@ var __webpack_exports__isTagClass = __webpack_exports__.isTagClass;
|
|
|
4541
4598
|
var __webpack_exports__isTagComponent = __webpack_exports__.isTagComponent;
|
|
4542
4599
|
var __webpack_exports__isTagTemplater = __webpack_exports__.isTagTemplater;
|
|
4543
4600
|
var __webpack_exports__kidsToTagArraySubject = __webpack_exports__.kidsToTagArraySubject;
|
|
4601
|
+
var __webpack_exports__letProp = __webpack_exports__.letProp;
|
|
4544
4602
|
var __webpack_exports__letState = __webpack_exports__.letState;
|
|
4545
4603
|
var __webpack_exports__onDestroy = __webpack_exports__.onDestroy;
|
|
4546
4604
|
var __webpack_exports__onInit = __webpack_exports__.onInit;
|
|
@@ -4550,6 +4608,7 @@ var __webpack_exports__renderWithSupport = __webpack_exports__.renderWithSupport
|
|
|
4550
4608
|
var __webpack_exports__runBeforeRender = __webpack_exports__.runBeforeRender;
|
|
4551
4609
|
var __webpack_exports__setUse = __webpack_exports__.setUse;
|
|
4552
4610
|
var __webpack_exports__state = __webpack_exports__.state;
|
|
4611
|
+
var __webpack_exports__subject = __webpack_exports__.subject;
|
|
4553
4612
|
var __webpack_exports__tag = __webpack_exports__.tag;
|
|
4554
4613
|
var __webpack_exports__tagElement = __webpack_exports__.tagElement;
|
|
4555
4614
|
var __webpack_exports__tags = __webpack_exports__.tags;
|
|
@@ -4557,6 +4616,6 @@ var __webpack_exports__watch = __webpack_exports__.watch;
|
|
|
4557
4616
|
var __webpack_exports__willCallback = __webpack_exports__.willCallback;
|
|
4558
4617
|
var __webpack_exports__willPromise = __webpack_exports__.willPromise;
|
|
4559
4618
|
var __webpack_exports__willSubscribe = __webpack_exports__.willSubscribe;
|
|
4560
|
-
export { __webpack_exports__ArrayNoKeyError as ArrayNoKeyError, __webpack_exports__BaseTagSupport as BaseTagSupport, __webpack_exports__StateMismatchError as StateMismatchError, __webpack_exports__Subject as Subject, __webpack_exports__SyncCallbackError as SyncCallbackError, __webpack_exports__Tag as Tag, __webpack_exports__TagError as TagError, __webpack_exports__TagSupport as TagSupport, __webpack_exports__ValueSubject as ValueSubject, __webpack_exports__callback as callback, __webpack_exports__callbackMaker as callbackMaker, __webpack_exports__children as children, __webpack_exports__combineLatest as combineLatest, __webpack_exports__hmr as hmr, __webpack_exports__html as html, __webpack_exports__interpolateElement as interpolateElement, __webpack_exports__interpolateString as interpolateString, __webpack_exports__isLikeValueSets as isLikeValueSets, __webpack_exports__isSubjectInstance as isSubjectInstance, __webpack_exports__isTag as isTag, __webpack_exports__isTagArray as isTagArray, __webpack_exports__isTagClass as isTagClass, __webpack_exports__isTagComponent as isTagComponent, __webpack_exports__isTagTemplater as isTagTemplater, __webpack_exports__kidsToTagArraySubject as kidsToTagArraySubject, __webpack_exports__letState as letState, __webpack_exports__onDestroy as onDestroy, __webpack_exports__onInit as onInit, __webpack_exports__providers as providers, __webpack_exports__renderTagSupport as renderTagSupport, __webpack_exports__renderWithSupport as renderWithSupport, __webpack_exports__runBeforeRender as runBeforeRender, __webpack_exports__setUse as setUse, __webpack_exports__state as state, __webpack_exports__tag as tag, __webpack_exports__tagElement as tagElement, __webpack_exports__tags as tags, __webpack_exports__watch as watch, __webpack_exports__willCallback as willCallback, __webpack_exports__willPromise as willPromise, __webpack_exports__willSubscribe as willSubscribe };
|
|
4619
|
+
export { __webpack_exports__ArrayNoKeyError as ArrayNoKeyError, __webpack_exports__BaseTagSupport as BaseTagSupport, __webpack_exports__StateMismatchError as StateMismatchError, __webpack_exports__Subject as Subject, __webpack_exports__SyncCallbackError as SyncCallbackError, __webpack_exports__Tag as Tag, __webpack_exports__TagError as TagError, __webpack_exports__TagSupport as TagSupport, __webpack_exports__ValueSubject as ValueSubject, __webpack_exports__callback as callback, __webpack_exports__callbackMaker as callbackMaker, __webpack_exports__children as children, __webpack_exports__combineLatest as combineLatest, __webpack_exports__hmr as hmr, __webpack_exports__html as html, __webpack_exports__interpolateElement as interpolateElement, __webpack_exports__interpolateString as interpolateString, __webpack_exports__isLikeValueSets as isLikeValueSets, __webpack_exports__isSubjectInstance as isSubjectInstance, __webpack_exports__isTag as isTag, __webpack_exports__isTagArray as isTagArray, __webpack_exports__isTagClass as isTagClass, __webpack_exports__isTagComponent as isTagComponent, __webpack_exports__isTagTemplater as isTagTemplater, __webpack_exports__kidsToTagArraySubject as kidsToTagArraySubject, __webpack_exports__letProp as letProp, __webpack_exports__letState as letState, __webpack_exports__onDestroy as onDestroy, __webpack_exports__onInit as onInit, __webpack_exports__providers as providers, __webpack_exports__renderTagSupport as renderTagSupport, __webpack_exports__renderWithSupport as renderWithSupport, __webpack_exports__runBeforeRender as runBeforeRender, __webpack_exports__setUse as setUse, __webpack_exports__state as state, __webpack_exports__subject as subject, __webpack_exports__tag as tag, __webpack_exports__tagElement as tagElement, __webpack_exports__tags as tags, __webpack_exports__watch as watch, __webpack_exports__willCallback as willCallback, __webpack_exports__willPromise as willPromise, __webpack_exports__willSubscribe as willSubscribe };
|
|
4561
4620
|
|
|
4562
4621
|
//# sourceMappingURL=bundle.js.map
|