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.4",
6
+ "version": "1.5.6",
7
7
  "repository": "https://github.com/rackai/domql",
8
8
  "publishConfig": {
9
9
  "registry": "https://registry.npmjs.org"
@@ -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
 
@@ -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' ||
@@ -48,6 +48,7 @@ export default {
48
48
  update: {},
49
49
  setProps: {},
50
50
  remove: {},
51
+ removeContent: {},
51
52
  lookup: {},
52
53
  keys: {},
53
54
  log: {},
@@ -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 = (params, element) => {
8
- if (params && element.content) {
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(params, element)
30
+ removeContentElement(element)
30
31
 
31
32
  if (params) {
32
33
  const { childExtend } = params