domql 1.5.4 → 1.5.6
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/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"description": "DOM rendering Javascript framework at early stage.",
|
|
4
4
|
"private": false,
|
|
5
5
|
"author": "rackai",
|
|
6
|
-
"version": "1.5.
|
|
6
|
+
"version": "1.5.6",
|
|
7
7
|
"repository": "https://github.com/rackai/domql",
|
|
8
8
|
"publishConfig": {
|
|
9
9
|
"registry": "https://registry.npmjs.org"
|
package/src/element/create.js
CHANGED
|
@@ -5,7 +5,7 @@ import createNode from './node'
|
|
|
5
5
|
import { appendNode, assignNode } from './assign'
|
|
6
6
|
import { applyExtend } from './extend'
|
|
7
7
|
import nodes from './nodes'
|
|
8
|
-
import set from './set'
|
|
8
|
+
import set, { removeContentElement } from './set'
|
|
9
9
|
import createState from './state'
|
|
10
10
|
import createProps from './props'
|
|
11
11
|
import update from './update'
|
|
@@ -95,6 +95,7 @@ const create = (element, parent, key, options = {}) => {
|
|
|
95
95
|
element.set = set
|
|
96
96
|
element.update = update
|
|
97
97
|
element.remove = remove
|
|
98
|
+
element.removeContent = removeContentElement
|
|
98
99
|
element.setProps = setProps
|
|
99
100
|
element.lookup = lookup
|
|
100
101
|
element.parse = parse
|
|
@@ -116,6 +117,10 @@ const create = (element, parent, key, options = {}) => {
|
|
|
116
117
|
// enable CHANGES storing
|
|
117
118
|
if (!element.__changes) element.__changes = []
|
|
118
119
|
|
|
120
|
+
// assign context
|
|
121
|
+
if (options.context && !root.context) root.context = options.context
|
|
122
|
+
element.context = root.context
|
|
123
|
+
|
|
119
124
|
// Add _root element property
|
|
120
125
|
const hasRoot = parent.parent && parent.parent.key === ':root'
|
|
121
126
|
if (!element.__root) element.__root = hasRoot ? parent : parent.__root
|
|
@@ -133,10 +138,6 @@ const create = (element, parent, key, options = {}) => {
|
|
|
133
138
|
on.beforeClassAssign(element.on.beforeClassAssign, element, element.state)
|
|
134
139
|
}
|
|
135
140
|
|
|
136
|
-
// assign context
|
|
137
|
-
if (options.context && !root.context) root.context = options.context
|
|
138
|
-
element.context = root.context
|
|
139
|
-
|
|
140
141
|
// generate a CLASS name
|
|
141
142
|
assignClass(element)
|
|
142
143
|
|
package/src/element/methods.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
-
import { isObject, isObjectLike } from '../utils'
|
|
3
|
+
import { isFunction, isObject, isObjectLike } from '../utils'
|
|
4
4
|
import { registry } from './mixins'
|
|
5
|
+
import { removeContentElement } from './set'
|
|
5
6
|
|
|
6
7
|
// TODO: update these files
|
|
7
8
|
export const lookup = function (key) {
|
|
@@ -18,7 +19,9 @@ export const lookup = function (key) {
|
|
|
18
19
|
|
|
19
20
|
export const remove = function (params) {
|
|
20
21
|
const element = this
|
|
21
|
-
element.node.remove()
|
|
22
|
+
// element.node.remove()
|
|
23
|
+
if (isFunction(element.node.remove)) element.node.remove()
|
|
24
|
+
// else removeContentElement(element)
|
|
22
25
|
delete element.parent[element.key]
|
|
23
26
|
}
|
|
24
27
|
|
|
@@ -94,6 +97,7 @@ export const isMethod = function (param) {
|
|
|
94
97
|
return param === 'set' ||
|
|
95
98
|
param === 'update' ||
|
|
96
99
|
param === 'remove' ||
|
|
100
|
+
param === 'removeContent' ||
|
|
97
101
|
param === 'lookup' ||
|
|
98
102
|
param === 'keys' ||
|
|
99
103
|
param === 'parse' ||
|
package/src/element/set.js
CHANGED
|
@@ -4,8 +4,9 @@ import create from './create'
|
|
|
4
4
|
import { isEqualDeep } from '../utils'
|
|
5
5
|
import { registry } from './mixins'
|
|
6
6
|
|
|
7
|
-
const removeContentElement = (
|
|
8
|
-
|
|
7
|
+
export const removeContentElement = function (el) {
|
|
8
|
+
const element = el || this
|
|
9
|
+
if (element.content) {
|
|
9
10
|
if (element.content.node) {
|
|
10
11
|
if (element.content.tag === 'fragment') element.node.innerHTML = ''
|
|
11
12
|
else element.node.removeChild(element.content.node)
|
|
@@ -20,13 +21,13 @@ const removeContentElement = (params, element) => {
|
|
|
20
21
|
}
|
|
21
22
|
}
|
|
22
23
|
|
|
23
|
-
const set = function (params, options) {
|
|
24
|
-
const element = this
|
|
24
|
+
const set = function (params, options, el) {
|
|
25
|
+
const element = el || this
|
|
25
26
|
|
|
26
27
|
const isEqual = isEqualDeep(params, element.content)
|
|
27
28
|
if (isEqual && element.content.__cached) return element
|
|
28
29
|
|
|
29
|
-
removeContentElement(
|
|
30
|
+
removeContentElement(element)
|
|
30
31
|
|
|
31
32
|
if (params) {
|
|
32
33
|
const { childExtend } = params
|