@domql/element 2.5.113 → 2.5.115
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/dist/cjs/methods/index.js +38 -1
- package/dist/cjs/methods/set.js +1 -0
- package/dist/cjs/mixins/registry.js +1 -0
- package/dist/cjs/set.js +1 -0
- package/methods/index.js +34 -1
- package/methods/set.js +2 -0
- package/mixins/registry.js +1 -0
- package/package.json +2 -2
- package/set.js +1 -0
|
@@ -34,7 +34,8 @@ __export(methods_exports, {
|
|
|
34
34
|
remove: () => remove,
|
|
35
35
|
setNodeStyles: () => setNodeStyles,
|
|
36
36
|
setProps: () => setProps,
|
|
37
|
-
spotByPath: () => spotByPath
|
|
37
|
+
spotByPath: () => spotByPath,
|
|
38
|
+
variables: () => variables
|
|
38
39
|
});
|
|
39
40
|
module.exports = __toCommonJS(methods_exports);
|
|
40
41
|
var import_utils = require("@domql/utils");
|
|
@@ -237,6 +238,41 @@ const previousElement = function(el) {
|
|
|
237
238
|
const currentIndex = __children.indexOf(key);
|
|
238
239
|
return parent[__children[currentIndex - 1]];
|
|
239
240
|
};
|
|
241
|
+
const variables = function(obj = {}) {
|
|
242
|
+
const element = this;
|
|
243
|
+
if (!element.data)
|
|
244
|
+
element.data = {};
|
|
245
|
+
if (!element.data.varCaches)
|
|
246
|
+
element.data.varCaches = {};
|
|
247
|
+
const varCaches = element.data.varCaches;
|
|
248
|
+
const changes = {};
|
|
249
|
+
let changed;
|
|
250
|
+
for (const key in obj) {
|
|
251
|
+
if (obj[key] !== varCaches[key]) {
|
|
252
|
+
changed = true;
|
|
253
|
+
changes[key] = obj[key];
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
return {
|
|
257
|
+
changed: (cb) => {
|
|
258
|
+
if (!changed)
|
|
259
|
+
return;
|
|
260
|
+
const returns = cb(changes, (0, import_utils.deepClone)(varCaches));
|
|
261
|
+
for (const key in changes) {
|
|
262
|
+
varCaches[key] = changes[key];
|
|
263
|
+
}
|
|
264
|
+
return returns;
|
|
265
|
+
},
|
|
266
|
+
timeout: (cb, timeout) => {
|
|
267
|
+
if (!changed)
|
|
268
|
+
return;
|
|
269
|
+
const t = setTimeout(() => {
|
|
270
|
+
cb(changes);
|
|
271
|
+
clearTimeout(t);
|
|
272
|
+
}, timeout);
|
|
273
|
+
}
|
|
274
|
+
};
|
|
275
|
+
};
|
|
240
276
|
const METHODS = [
|
|
241
277
|
"set",
|
|
242
278
|
"reset",
|
|
@@ -253,6 +289,7 @@ const METHODS = [
|
|
|
253
289
|
"parse",
|
|
254
290
|
"setProps",
|
|
255
291
|
"parseDeep",
|
|
292
|
+
"variables",
|
|
256
293
|
"if",
|
|
257
294
|
"log",
|
|
258
295
|
"nextElement",
|
package/dist/cjs/methods/set.js
CHANGED
|
@@ -41,6 +41,7 @@ const addMethods = (element, parent) => {
|
|
|
41
41
|
set: import_set.default.bind(element),
|
|
42
42
|
reset: import_set.reset.bind(element),
|
|
43
43
|
update: import_update.default.bind(element),
|
|
44
|
+
variables: import__.variables.bind(element),
|
|
44
45
|
remove: import__.remove.bind(element),
|
|
45
46
|
updateContent: import_content.updateContent.bind(element),
|
|
46
47
|
removeContent: import_content.removeContent.bind(element),
|
package/dist/cjs/set.js
CHANGED
|
@@ -66,6 +66,7 @@ const set = function(params, options = {}, el) {
|
|
|
66
66
|
if (options.preventContentUpdate === true && !hasCollection)
|
|
67
67
|
return;
|
|
68
68
|
if (ref.__noCollectionDifference || __contentRef && __contentRef.__cached && (0, import_utils.deepContains)(params, content)) {
|
|
69
|
+
console.log((0, import_utils.deepContains)(params, content));
|
|
69
70
|
if (content == null ? void 0 : content.update)
|
|
70
71
|
content.update();
|
|
71
72
|
return;
|
package/methods/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
-
import { isDefined, isObject, isFunction, isObjectLike, isProduction, removeValueFromArray } from '@domql/utils'
|
|
3
|
+
import { isDefined, isObject, isFunction, isObjectLike, isProduction, removeValueFromArray, deepClone } from '@domql/utils'
|
|
4
4
|
import { TREE } from '../tree'
|
|
5
5
|
import { parseFilters, registry } from '../mixins'
|
|
6
6
|
|
|
@@ -210,6 +210,38 @@ export const previousElement = function (el) {
|
|
|
210
210
|
return parent[__children[currentIndex - 1]]
|
|
211
211
|
}
|
|
212
212
|
|
|
213
|
+
export const variables = function (obj = {}) {
|
|
214
|
+
const element = this
|
|
215
|
+
if (!element.data) element.data = {}
|
|
216
|
+
if (!element.data.varCaches) element.data.varCaches = {}
|
|
217
|
+
const varCaches = element.data.varCaches
|
|
218
|
+
const changes = {}
|
|
219
|
+
let changed
|
|
220
|
+
for (const key in obj) {
|
|
221
|
+
if (obj[key] !== varCaches[key]) {
|
|
222
|
+
changed = true
|
|
223
|
+
changes[key] = obj[key]
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
return {
|
|
227
|
+
changed: (cb) => {
|
|
228
|
+
if (!changed) return
|
|
229
|
+
const returns = cb(changes, deepClone(varCaches))
|
|
230
|
+
for (const key in changes) {
|
|
231
|
+
varCaches[key] = changes[key]
|
|
232
|
+
}
|
|
233
|
+
return returns
|
|
234
|
+
},
|
|
235
|
+
timeout: (cb, timeout) => {
|
|
236
|
+
if (!changed) return
|
|
237
|
+
const t = setTimeout(() => {
|
|
238
|
+
cb(changes)
|
|
239
|
+
clearTimeout(t)
|
|
240
|
+
}, timeout)
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
|
|
213
245
|
export const METHODS = [
|
|
214
246
|
'set',
|
|
215
247
|
'reset',
|
|
@@ -226,6 +258,7 @@ export const METHODS = [
|
|
|
226
258
|
'parse',
|
|
227
259
|
'setProps',
|
|
228
260
|
'parseDeep',
|
|
261
|
+
'variables',
|
|
229
262
|
'if',
|
|
230
263
|
'log',
|
|
231
264
|
'nextElement',
|
package/methods/set.js
CHANGED
|
@@ -14,6 +14,7 @@ import {
|
|
|
14
14
|
remove,
|
|
15
15
|
spotByPath,
|
|
16
16
|
log,
|
|
17
|
+
variables,
|
|
17
18
|
keys,
|
|
18
19
|
parse,
|
|
19
20
|
parseDeep,
|
|
@@ -28,6 +29,7 @@ export const addMethods = (element, parent) => {
|
|
|
28
29
|
set: set.bind(element),
|
|
29
30
|
reset: reset.bind(element),
|
|
30
31
|
update: update.bind(element),
|
|
32
|
+
variables: variables.bind(element),
|
|
31
33
|
remove: remove.bind(element),
|
|
32
34
|
updateContent: updateContent.bind(element),
|
|
33
35
|
removeContent: removeContent.bind(element),
|
package/mixins/registry.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@domql/element",
|
|
3
|
-
"version": "2.5.
|
|
3
|
+
"version": "2.5.115",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"module": "index.js",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"@domql/state": "latest",
|
|
32
32
|
"@domql/utils": "latest"
|
|
33
33
|
},
|
|
34
|
-
"gitHead": "
|
|
34
|
+
"gitHead": "9a5b056f557d5dca04d5fd0908411a53e5bad2f2",
|
|
35
35
|
"devDependencies": {
|
|
36
36
|
"@babel/core": "^7.12.0"
|
|
37
37
|
}
|
package/set.js
CHANGED
|
@@ -37,6 +37,7 @@ const set = function (params, options = {}, el) {
|
|
|
37
37
|
if (options.preventContentUpdate === true && !hasCollection) return
|
|
38
38
|
|
|
39
39
|
if (ref.__noCollectionDifference || (__contentRef && __contentRef.__cached && deepContains(params, content))) {
|
|
40
|
+
console.log(deepContains(params, content))
|
|
40
41
|
if (content?.update) content.update()
|
|
41
42
|
return
|
|
42
43
|
}
|