domql 1.4.13 → 1.4.14

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.4.13",
6
+ "version": "1.4.14",
7
7
  "repository": "https://github.com/rackai/domql",
8
8
  "publishConfig": {
9
9
  "registry": "https://registry.npmjs.org"
@@ -129,6 +129,11 @@ const create = (element, parent, key, options = {}) => {
129
129
  on.init(element.on.init, element, element.state)
130
130
  }
131
131
 
132
+ // run `on.init`
133
+ if (element.on && isFunction(element.on.beforeClassAssign)) {
134
+ on.beforeClassAssign(element.on.beforeClassAssign, element, element.state)
135
+ }
136
+
132
137
  // generate a CLASS name
133
138
  assignClass(element)
134
139
 
@@ -87,10 +87,10 @@ export const updateProps = (newProps, element, parent) => {
87
87
  return element
88
88
  }
89
89
 
90
- function update (props) {
90
+ function update (props, options) {
91
91
  const element = this.__element
92
92
  // element.update({ props })
93
- element.update()
93
+ element.update({ props }, options)
94
94
  }
95
95
 
96
96
  export default createProps
@@ -29,15 +29,7 @@ const update = function (params = {}, options = UPDATE_DEFAULT_OPTIONS) {
29
29
  // TODO: move as fragment
30
30
  const ifPassed = element.if(element, element.state)
31
31
 
32
- // console.group('updateLoop')
33
- // console.log(element)
34
- // console.log(element.__ifFalsy)
35
- // console.log(ifPassed)
36
- // console.groupEnd('updateLoop')
37
-
38
- // if (element.__ifFalsy && ifPassed) {
39
32
  if (ifPassed) delete element.__ifFalsy
40
-
41
33
  if (element.__ifFalsy && ifPassed) {
42
34
  createNode(element)
43
35
  appendNode(element.node, element.__ifFragment)
@@ -51,19 +43,8 @@ const update = function (params = {}, options = UPDATE_DEFAULT_OPTIONS) {
51
43
  preventUpdate = on.initUpdate(element.on.initUpdate, element, element.state)
52
44
  }
53
45
 
54
- // console.group('update')
55
- // console.log(element.path)
56
- // console.log(element)
57
- // if (params.props) {
58
- // console.log('INSIDE:')
59
- // console.log(params.props)
60
- // }
61
46
  if (!element.__ifFalsy) updateProps(params.props, element, parent)
62
47
 
63
-
64
- // const state = params.state || element.state
65
- // element.state = createState({ state }, parent)
66
-
67
48
  const overwriteChanges = overwrite(element, params, UPDATE_DEFAULT_OPTIONS)
68
49
  const execChanges = throughUpdatedExec(element, UPDATE_DEFAULT_OPTIONS)
69
50
  const definedChanges = throughUpdatedDefine(element)
@@ -72,29 +53,16 @@ const update = function (params = {}, options = UPDATE_DEFAULT_OPTIONS) {
72
53
  const stackChanges = merge(definedChanges, merge(execChanges, overwriteChanges))
73
54
  element.__stackChanges.push(stackChanges)
74
55
  }
75
- // const stackChanges = merge(definedChanges, merge(execChanges, overwriteChanges))
76
- // if (Object.keys(stackChanges).length === 0) return
77
- // else console.log(element.path, '\n\n', stackChanges)
78
56
 
79
- // console.log(element.key, element.__ifFalsy)
80
57
  if (element.__ifFalsy) return element
81
58
  if (!node) {
82
- return
83
59
  // return createNode(element, options)
60
+ return
84
61
  }
85
62
 
86
- // console.warn(element.key)
87
- // console.groupEnd('update')
88
-
89
63
  for (const param in element) {
90
64
  const prop = element[param]
91
65
 
92
- // console.group('updateLoop')
93
- // console.log(param)
94
- // console.log(prop)
95
- // console.groupEnd('updateLoop')
96
- // if (element.key === 'span' && param === 'node') debugger
97
-
98
66
  if (options.preventContentUpdate && param === 'content') continue
99
67
  if (isMethod(param) || isObject(registry[param]) || prop === undefined) continue
100
68
 
package/src/event/on.js CHANGED
@@ -1,5 +1,9 @@
1
1
  'use strict'
2
2
 
3
+ export const beforeClassAssign = (param, element, state) => {
4
+ param(element, state)
5
+ }
6
+
3
7
  export const init = (param, element, state) => {
4
8
  param(element, state)
5
9
  }