domql 1.5.136 → 1.6.0
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/element/applyParam.js +41 -0
- package/dist/cjs/element/assign.js +35 -0
- package/dist/cjs/element/cache.js +74 -0
- package/dist/cjs/element/create.js +264 -0
- package/dist/cjs/element/define.js +34 -0
- package/dist/cjs/element/extend.js +75 -0
- package/dist/cjs/element/index.js +55 -0
- package/dist/cjs/element/iterate.js +105 -0
- package/dist/cjs/element/methods.js +166 -0
- package/dist/cjs/element/node.js +80 -0
- package/dist/cjs/element/nodes.js +158 -0
- package/dist/cjs/element/options.js +24 -0
- package/dist/cjs/element/parse.js +42 -0
- package/dist/cjs/element/props.js +114 -0
- package/dist/cjs/element/remove.js +44 -0
- package/dist/cjs/element/root.js +30 -0
- package/dist/cjs/element/set.js +55 -0
- package/dist/cjs/element/state.js +208 -0
- package/dist/cjs/element/tree.js +31 -0
- package/dist/cjs/element/update.js +158 -0
- package/dist/cjs/event/can.js +30 -0
- package/dist/cjs/event/index.js +34 -0
- package/dist/cjs/event/is.js +28 -0
- package/dist/cjs/event/on.js +34 -0
- package/dist/cjs/event/store.js +27 -0
- package/dist/cjs/event/wrappers.js +36 -0
- package/dist/cjs/index.js +35 -0
- package/dist/cjs/package.json +4 -0
- package/dist/cjs/utils/component.js +77 -0
- package/dist/cjs/utils/extendUtils.js +142 -0
- package/dist/cjs/utils/index.js +20 -0
- package/dist/cjs/utils/object.js +146 -0
- package/dist/esm/element/applyParam.js +2614 -0
- package/dist/esm/element/assign.js +16 -0
- package/dist/esm/element/cache.js +1134 -0
- package/dist/esm/element/create.js +2616 -0
- package/dist/esm/element/define.js +2623 -0
- package/dist/esm/element/extend.js +984 -0
- package/dist/esm/element/index.js +2667 -0
- package/dist/esm/element/iterate.js +1114 -0
- package/dist/esm/element/methods.js +2635 -0
- package/dist/esm/element/node.js +2617 -0
- package/dist/esm/element/nodes.js +139 -0
- package/dist/esm/element/options.js +5 -0
- package/dist/esm/element/parse.js +2629 -0
- package/dist/esm/element/props.js +958 -0
- package/dist/esm/element/remove.js +842 -0
- package/dist/esm/element/root.js +162 -0
- package/dist/esm/element/set.js +2616 -0
- package/dist/esm/element/state.js +1209 -0
- package/dist/esm/element/tree.js +165 -0
- package/dist/esm/element/update.js +2616 -0
- package/dist/esm/event/can.js +1058 -0
- package/dist/esm/event/index.js +1098 -0
- package/dist/esm/event/is.js +67 -0
- package/dist/esm/event/on.js +15 -0
- package/dist/esm/event/store.js +8 -0
- package/dist/esm/event/wrappers.js +75 -0
- package/dist/esm/index.js +2658 -0
- package/dist/esm/utils/component.js +875 -0
- package/dist/esm/utils/extendUtils.js +940 -0
- package/dist/esm/utils/index.js +1260 -0
- package/dist/esm/utils/object.js +1081 -0
- package/dist/iife/index.js +2658 -0
- package/package.json +9 -4
- package/src/element/create.js +16 -13
- package/src/element/index.js +4 -10
- package/src/element/iterate.js +7 -28
- package/src/element/methods.js +18 -81
- package/src/element/mixins/content.js +6 -4
- package/src/element/mixins/registry.js +3 -4
- package/src/element/node.js +5 -6
- package/src/element/parse.js +1 -1
- package/src/element/props.js +3 -1
- package/src/element/state.js +168 -81
- package/src/element/update.js +100 -77
- package/src/index.js +6 -5
- package/src/utils/component.js +0 -1
- package/src/utils/object.js +31 -25
- package/src/element/assign.js +0 -22
- package/src/element/cache.js +0 -56
- package/src/element/nodes.js +0 -141
- package/src/element/root.js +0 -11
- package/src/element/tree.js +0 -5
- package/src/event/can.js +0 -10
- package/src/event/index.js +0 -11
- package/src/event/is.js +0 -15
- package/src/event/on.js +0 -13
- package/src/event/store.js +0 -6
- package/src/event/wrappers.js +0 -16
package/package.json
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "domql",
|
|
3
3
|
"description": "DOM rendering Javascript framework at early stage.",
|
|
4
|
-
"
|
|
5
|
-
"version": "1.5.136",
|
|
4
|
+
"version": "1.6.0",
|
|
6
5
|
"repository": "https://github.com/domql/domql",
|
|
7
6
|
"publishConfig": {
|
|
8
7
|
"registry": "https://registry.npmjs.org"
|
|
@@ -16,7 +15,7 @@
|
|
|
16
15
|
],
|
|
17
16
|
"scripts": {
|
|
18
17
|
"copy:package:cjs": "cp ./.build/package-cjs.json dist/cjs/package.json",
|
|
19
|
-
"build:esm": "npx esbuild src/index.js src/**/*.js --target=es2020 --format=esm --outdir=dist/esm",
|
|
18
|
+
"build:esm": "npx esbuild src/index.js src/**/*.js --target=es2020 --format=esm --outdir=dist/esm --bundle",
|
|
20
19
|
"build:cjs": "npx esbuild src/index.js src/**/*.js --target=node16 --format=cjs --outdir=dist/cjs",
|
|
21
20
|
"build:iife": "npx esbuild src/index.js --target=node16 --format=iife --outdir=dist/iife --bundle",
|
|
22
21
|
"build": "yarn build:esm && yarn build:cjs && yarn build:iife",
|
|
@@ -24,11 +23,17 @@
|
|
|
24
23
|
"start": "parcel examples/index.html --no-cache",
|
|
25
24
|
"test:lint": "npx standard \"src/**/*.js\"",
|
|
26
25
|
"test": "yarn test:lint; jest --coverage --coverageReporters=text-lcov | coveralls",
|
|
27
|
-
"test
|
|
26
|
+
"test:watch": "jest --watch"
|
|
28
27
|
},
|
|
29
28
|
"dependencies": {
|
|
29
|
+
"@domql/key": "latest",
|
|
30
|
+
"@domql/env": "latest",
|
|
31
|
+
"@domql/node": "latest",
|
|
32
|
+
"@domql/render": "latest",
|
|
33
|
+
"@domql/tree": "latest",
|
|
30
34
|
"@domql/globals": "latest",
|
|
31
35
|
"@domql/registry": "latest",
|
|
36
|
+
"@domql/methods": "latest",
|
|
32
37
|
"@domql/event": "latest",
|
|
33
38
|
"@domql/report": "latest",
|
|
34
39
|
"@domql/emotion": "latest",
|
package/src/element/create.js
CHANGED
|
@@ -1,20 +1,22 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
-
import { isObject, isFunction, isString,
|
|
3
|
+
import { isObject, isFunction, isString, exec, is, isNode } from '@domql/utils'
|
|
4
|
+
import { ROOT } from '@domql/tree'
|
|
5
|
+
import { createKey } from '@domql/key'
|
|
4
6
|
import { TAGS } from '@domql/registry'
|
|
5
7
|
import { triggerEventOn } from '@domql/event'
|
|
8
|
+
import { appendNode, assignNode } from '@domql/render'
|
|
9
|
+
import { isMethod, lookup, setProps, remove, spotByPath } from '@domql/methods'
|
|
10
|
+
import { assignClass } from '@domql/classlist'
|
|
11
|
+
import { cacheNode, detectTag } from '@domql/node'
|
|
6
12
|
|
|
7
|
-
import root from './root'
|
|
8
13
|
import createNode from './node'
|
|
9
|
-
import { appendNode, assignNode } from './assign'
|
|
10
14
|
import { applyExtend } from './extend'
|
|
11
15
|
import set from './set'
|
|
12
16
|
import createState from './state'
|
|
13
17
|
import createProps from './props'
|
|
14
18
|
import update from './update'
|
|
15
|
-
import {
|
|
16
|
-
import { remove, lookup, setProps, log, keys, parse, parseDeep, spotByPath, nextElement, previousElement, isMethod } from './methods'
|
|
17
|
-
import cacheNode, { detectTag } from './cache'
|
|
19
|
+
import { log, keys, parse, parseDeep, nextElement, previousElement } from './methods'
|
|
18
20
|
import { registry } from './mixins'
|
|
19
21
|
import { throughInitialExec } from './iterate'
|
|
20
22
|
import OPTIONS from './options'
|
|
@@ -25,7 +27,6 @@ import {
|
|
|
25
27
|
checkIfKeyIsComponent
|
|
26
28
|
} from '../utils/component'
|
|
27
29
|
import { removeContentElement } from './remove'
|
|
28
|
-
// import { overwrite, clone, fillTheRest } from '../utils'
|
|
29
30
|
|
|
30
31
|
const ENV = process.env.NODE_ENV
|
|
31
32
|
|
|
@@ -56,8 +57,10 @@ const create = (element, parent, key, options = OPTIONS.create || {}) => {
|
|
|
56
57
|
}
|
|
57
58
|
|
|
58
59
|
// if PARENT is not given
|
|
59
|
-
if (!parent) parent =
|
|
60
|
-
if (isNode(parent))
|
|
60
|
+
if (!parent) parent = ROOT
|
|
61
|
+
if (isNode(parent)) {
|
|
62
|
+
parent = ROOT[`${key}_parent`] = { key: ':root', node: parent }
|
|
63
|
+
}
|
|
61
64
|
|
|
62
65
|
// if element is STRING
|
|
63
66
|
if (checkIfPrimitive(element)) {
|
|
@@ -65,7 +68,7 @@ const create = (element, parent, key, options = OPTIONS.create || {}) => {
|
|
|
65
68
|
}
|
|
66
69
|
|
|
67
70
|
// define KEY
|
|
68
|
-
const assignedKey = (element.key || key ||
|
|
71
|
+
const assignedKey = (element.key || key || createKey()).toString()
|
|
69
72
|
|
|
70
73
|
if (checkIfKeyIsComponent(assignedKey)) {
|
|
71
74
|
element = applyKeyComponentAsExtend(element, parent, assignedKey)
|
|
@@ -182,8 +185,8 @@ const addMethods = (element, parent) => {
|
|
|
182
185
|
}
|
|
183
186
|
|
|
184
187
|
const applyContext = (element, parent, options) => {
|
|
185
|
-
if (options.context && !
|
|
186
|
-
if (!element.context) element.context = parent.context || options.context ||
|
|
188
|
+
if (options.context && !ROOT.context && !element.context) ROOT.context = options.context
|
|
189
|
+
if (!element.context) element.context = parent.context || options.context || ROOT.context
|
|
187
190
|
}
|
|
188
191
|
|
|
189
192
|
const checkIf = (element, parent) => {
|
|
@@ -228,7 +231,7 @@ const addCaching = (element, parent) => {
|
|
|
228
231
|
|
|
229
232
|
// Add _root element property
|
|
230
233
|
const hasRoot = parent && parent.key === ':root'
|
|
231
|
-
if (!__ref.__root) __ref.__root = hasRoot ? element :
|
|
234
|
+
if (!__ref.__root) __ref.__root = hasRoot ? element : __parentRef.__root
|
|
232
235
|
|
|
233
236
|
// set the PATH array
|
|
234
237
|
if (ENV === 'test' || ENV === 'development') {
|
package/src/element/index.js
CHANGED
|
@@ -1,31 +1,25 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
-
import
|
|
4
|
-
import tree from './tree'
|
|
5
|
-
import cache from './cache'
|
|
3
|
+
import { TREE } from '@domql/tree'
|
|
6
4
|
import create from './create'
|
|
7
5
|
import createNode from './node'
|
|
8
|
-
import * as assign from './assign'
|
|
9
6
|
import define from './define'
|
|
10
7
|
import update from './update'
|
|
11
8
|
import parse from './parse'
|
|
12
9
|
import set from './set'
|
|
13
10
|
|
|
14
|
-
import {
|
|
11
|
+
import { log, keys } from './methods'
|
|
12
|
+
import { get, remove, lookup } from '@domql/methods'
|
|
15
13
|
|
|
16
14
|
export {
|
|
17
|
-
|
|
18
|
-
tree,
|
|
19
|
-
cache,
|
|
15
|
+
TREE,
|
|
20
16
|
create,
|
|
21
17
|
createNode,
|
|
22
|
-
assign,
|
|
23
18
|
define,
|
|
24
19
|
remove,
|
|
25
20
|
update,
|
|
26
21
|
parse,
|
|
27
22
|
lookup,
|
|
28
|
-
setProps,
|
|
29
23
|
set,
|
|
30
24
|
get,
|
|
31
25
|
log,
|
package/src/element/iterate.js
CHANGED
|
@@ -2,31 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import { isObject, exec, isFunction, isNumber, isString } from '@domql/utils'
|
|
4
4
|
import { overwrite } from '../utils'
|
|
5
|
-
import { isMethod } from '
|
|
6
|
-
|
|
7
|
-
export const applyEvents = element => {
|
|
8
|
-
const { node, on } = element
|
|
9
|
-
for (const param in on) {
|
|
10
|
-
if (
|
|
11
|
-
param === 'init' ||
|
|
12
|
-
param === 'beforeClassAssign' ||
|
|
13
|
-
param === 'render' ||
|
|
14
|
-
param === 'renderRouter' ||
|
|
15
|
-
param === 'attachNode' ||
|
|
16
|
-
param === 'stateInit' ||
|
|
17
|
-
param === 'stateCreated' ||
|
|
18
|
-
param === 'initStateUpdated' ||
|
|
19
|
-
param === 'stateUpdated' ||
|
|
20
|
-
param === 'initUpdate' ||
|
|
21
|
-
param === 'update'
|
|
22
|
-
) continue
|
|
23
|
-
|
|
24
|
-
const appliedFunction = element.on[param]
|
|
25
|
-
if (isFunction(appliedFunction)) {
|
|
26
|
-
node.addEventListener(param, event => appliedFunction(event, element, element.state, element.context))
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
}
|
|
5
|
+
import { isMethod } from '@domql/methods'
|
|
30
6
|
|
|
31
7
|
export const throughInitialExec = element => {
|
|
32
8
|
const { __ref } = element
|
|
@@ -74,11 +50,13 @@ export const throughInitialDefine = (element) => {
|
|
|
74
50
|
|
|
75
51
|
if (isFunction(prop) && !isMethod(param)) {
|
|
76
52
|
__exec[param] = prop
|
|
77
|
-
|
|
53
|
+
const execParam = prop = exec(prop, element)
|
|
54
|
+
if (execParam) element[param] = execParam
|
|
78
55
|
}
|
|
79
56
|
|
|
80
57
|
__cached[param] = prop
|
|
81
|
-
|
|
58
|
+
const execParam = obj[param](prop, element, element.state)
|
|
59
|
+
if (execParam) element[param] = execParam
|
|
82
60
|
}
|
|
83
61
|
return element
|
|
84
62
|
}
|
|
@@ -96,7 +74,8 @@ export const throughUpdatedDefine = (element) => {
|
|
|
96
74
|
const execParam = __exec[param]
|
|
97
75
|
if (execParam) __cached[param] = execParam(element, element.state)
|
|
98
76
|
const cached = exec(__cached[param], element)
|
|
99
|
-
|
|
77
|
+
const newExecParam = obj[param](cached, element, element.state)
|
|
78
|
+
if (newExecParam) element[param] = newExecParam
|
|
100
79
|
}
|
|
101
80
|
return changes
|
|
102
81
|
}
|
package/src/element/methods.js
CHANGED
|
@@ -1,57 +1,7 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
-
import { isFunction, isObjectLike } from '@domql/utils'
|
|
3
|
+
import { isDefined, isFunction, isObjectLike } from '@domql/utils'
|
|
4
4
|
import { parseFilters, registry } from './mixins'
|
|
5
|
-
import root from './root'
|
|
6
|
-
|
|
7
|
-
const ENV = process.env.NODE_ENV
|
|
8
|
-
|
|
9
|
-
// TODO: update these files
|
|
10
|
-
export const lookup = function (key) {
|
|
11
|
-
const element = this
|
|
12
|
-
let { parent } = element
|
|
13
|
-
|
|
14
|
-
while (parent.key !== key) {
|
|
15
|
-
if (parent[key]) return parent[key]
|
|
16
|
-
parent = parent.parent
|
|
17
|
-
if (!parent) return
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
return parent
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
// TODO: update these files
|
|
24
|
-
export const spotByPath = function (path) {
|
|
25
|
-
const element = this
|
|
26
|
-
const arr = [].concat(path)
|
|
27
|
-
let active = root[arr[0]]
|
|
28
|
-
|
|
29
|
-
if (!arr || !arr.length) return console.log(arr, 'on', element.key, 'is undefined')
|
|
30
|
-
|
|
31
|
-
while (active.key === arr[0]) {
|
|
32
|
-
arr.shift()
|
|
33
|
-
if (!arr.length) break
|
|
34
|
-
active = active[arr[0]]
|
|
35
|
-
if (!active) return
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
return active
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
export const remove = function (params) {
|
|
42
|
-
const element = this
|
|
43
|
-
if (isFunction(element.node.remove)) element.node.remove()
|
|
44
|
-
else if (ENV === 'test' || ENV === 'development') {
|
|
45
|
-
console.warn('This item cant be removed')
|
|
46
|
-
element.log()
|
|
47
|
-
}
|
|
48
|
-
delete element.parent[element.key]
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
export const get = function (param) {
|
|
52
|
-
const element = this
|
|
53
|
-
return element[param]
|
|
54
|
-
}
|
|
55
5
|
|
|
56
6
|
export const set = function () {
|
|
57
7
|
}
|
|
@@ -59,13 +9,6 @@ export const set = function () {
|
|
|
59
9
|
export const update = function () {
|
|
60
10
|
}
|
|
61
11
|
|
|
62
|
-
export const setProps = function (param, options) {
|
|
63
|
-
const element = this
|
|
64
|
-
if (!param || !element.props) return
|
|
65
|
-
element.update({ props: param }, options)
|
|
66
|
-
return element
|
|
67
|
-
}
|
|
68
|
-
|
|
69
12
|
export const defineSetter = (element, key, get, set) =>
|
|
70
13
|
Object.defineProperty(element, key, { get, set })
|
|
71
14
|
|
|
@@ -79,19 +22,30 @@ export const keys = function () {
|
|
|
79
22
|
return keys
|
|
80
23
|
}
|
|
81
24
|
|
|
82
|
-
export const parse = function () {
|
|
25
|
+
export const parse = function (excl = []) {
|
|
83
26
|
const element = this
|
|
84
27
|
const obj = {}
|
|
85
28
|
const keyList = keys.call(element)
|
|
86
|
-
keyList.forEach(v =>
|
|
29
|
+
keyList.forEach(v => {
|
|
30
|
+
if (excl.includes(v)) return
|
|
31
|
+
let val = element[v]
|
|
32
|
+
if (v === 'state') {
|
|
33
|
+
if (element.__ref && element.__ref.__hasRootState) return
|
|
34
|
+
if (isFunction(val?.parse)) val = val.parse()
|
|
35
|
+
} else if (v === 'props') {
|
|
36
|
+
const { __element, update, ...props } = element[v]
|
|
37
|
+
obj[v] = props
|
|
38
|
+
} else if (isDefined(val)) obj[v] = val
|
|
39
|
+
})
|
|
87
40
|
return obj
|
|
88
41
|
}
|
|
89
42
|
|
|
90
|
-
export const parseDeep = function () {
|
|
43
|
+
export const parseDeep = function (excl = []) {
|
|
91
44
|
const element = this
|
|
92
|
-
const obj = parse.call(element)
|
|
93
|
-
for (const
|
|
94
|
-
if (
|
|
45
|
+
const obj = parse.call(element, excl)
|
|
46
|
+
for (const v in obj) {
|
|
47
|
+
if (excl.includes(v)) return
|
|
48
|
+
if (isObjectLike(obj[v])) { obj[v] = parseDeep.call(obj[v], excl) }
|
|
95
49
|
}
|
|
96
50
|
return obj
|
|
97
51
|
}
|
|
@@ -111,23 +65,6 @@ export const log = function (...args) {
|
|
|
111
65
|
return element
|
|
112
66
|
}
|
|
113
67
|
|
|
114
|
-
export const isMethod = function (param) {
|
|
115
|
-
return param === 'set' ||
|
|
116
|
-
param === 'update' ||
|
|
117
|
-
param === 'remove' ||
|
|
118
|
-
param === 'removeContent' ||
|
|
119
|
-
param === 'lookup' ||
|
|
120
|
-
param === 'spotByPath' ||
|
|
121
|
-
param === 'keys' ||
|
|
122
|
-
param === 'parse' ||
|
|
123
|
-
param === 'setProps' ||
|
|
124
|
-
param === 'parseDeep' ||
|
|
125
|
-
param === 'if' ||
|
|
126
|
-
param === 'log' ||
|
|
127
|
-
param === 'nextElement' ||
|
|
128
|
-
param === 'previousElement'
|
|
129
|
-
}
|
|
130
|
-
|
|
131
68
|
export const nextElement = function () {
|
|
132
69
|
const element = this
|
|
133
70
|
const { key, parent } = element
|
|
@@ -8,11 +8,13 @@ import set from '../set'
|
|
|
8
8
|
*/
|
|
9
9
|
export default (param, element, node, options) => {
|
|
10
10
|
if (param && element) {
|
|
11
|
-
if (element
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
element.content.
|
|
11
|
+
if (element.content.update) {
|
|
12
|
+
// const parsedContent = element.content.parseDeep(['class', 'on', 'tag'])
|
|
13
|
+
// console.log(parsedContent)
|
|
14
|
+
// if (!element.content.__ref) element.content.__ref = {}
|
|
15
|
+
element.content.update()
|
|
15
16
|
} else {
|
|
17
|
+
// if (element.$setCollection || element.$setStateCollection || element.$setPropsCollection) return
|
|
16
18
|
set.call(element, param, options)
|
|
17
19
|
}
|
|
18
20
|
}
|
|
@@ -54,10 +54,9 @@ export default {
|
|
|
54
54
|
// Keys not in the array are excluded.
|
|
55
55
|
export const parseFilters = {
|
|
56
56
|
elementKeys: [
|
|
57
|
-
'tag', 'text', 'style', 'attr', 'class', 'state', '
|
|
58
|
-
'data', 'content', 'html', 'on'
|
|
59
|
-
// TODO: 'props' ?
|
|
57
|
+
'tag', 'text', 'style', 'attr', 'class', 'state', 'props',
|
|
58
|
+
'data', 'content', 'html', 'on', 'key'
|
|
60
59
|
],
|
|
61
|
-
propsKeys: ['__element'],
|
|
60
|
+
propsKeys: ['__element', 'update'],
|
|
62
61
|
stateKeys: []
|
|
63
62
|
}
|
package/src/element/node.js
CHANGED
|
@@ -1,18 +1,17 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
3
|
import { exec, isFunction, isObject } from '@domql/utils'
|
|
4
|
-
import { triggerEventOn } from '@domql/event'
|
|
4
|
+
import { applyEventsOnNode, triggerEventOn } from '@domql/event'
|
|
5
|
+
import { isMethod } from '@domql/methods'
|
|
6
|
+
import { cacheNode } from '@domql/node'
|
|
5
7
|
|
|
6
8
|
import create from './create'
|
|
7
|
-
import cacheNode from './cache'
|
|
8
9
|
|
|
9
10
|
import {
|
|
10
11
|
throughInitialDefine,
|
|
11
|
-
throughInitialExec
|
|
12
|
-
applyEvents
|
|
12
|
+
throughInitialExec
|
|
13
13
|
} from './iterate'
|
|
14
14
|
import { registry } from './mixins'
|
|
15
|
-
import { isMethod } from './methods'
|
|
16
15
|
import { applyParam } from './applyParam'
|
|
17
16
|
// import { defineSetter } from './methods'
|
|
18
17
|
|
|
@@ -55,7 +54,7 @@ export const createNode = (element, options) => {
|
|
|
55
54
|
throughInitialExec(element)
|
|
56
55
|
|
|
57
56
|
// apply events
|
|
58
|
-
if (isNewNode && isObject(element.on))
|
|
57
|
+
if (isNewNode && isObject(element.on)) applyEventsOnNode(element)
|
|
59
58
|
|
|
60
59
|
for (const param in element) {
|
|
61
60
|
const prop = element[param]
|
package/src/element/parse.js
CHANGED
package/src/element/props.js
CHANGED
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
import { exec, is, isArray, isObject, isString } from '@domql/utils'
|
|
4
4
|
import { deepClone, deepMerge } from '../utils'
|
|
5
5
|
|
|
6
|
+
export const IGNORE_PROPS_PARAMS = ['update', '__element']
|
|
7
|
+
|
|
6
8
|
const objectizeStringProperty = propValue => {
|
|
7
9
|
if (is(propValue)('string', 'number')) return { inheritedString: propValue }
|
|
8
10
|
return propValue
|
|
@@ -56,7 +58,7 @@ export const syncProps = (props, element) => {
|
|
|
56
58
|
element.props = {}
|
|
57
59
|
const mergedProps = { update, __element: element }
|
|
58
60
|
props.forEach(v => {
|
|
59
|
-
if (v
|
|
61
|
+
if (IGNORE_PROPS_PARAMS.includes(v)) return
|
|
60
62
|
const execProps = exec(v, element)
|
|
61
63
|
if (isObject(execProps) && execProps.__element) return
|
|
62
64
|
element.props = deepMerge(mergedProps, deepClone(execProps))
|