@dazn/kopytko-framework 1.0.6 → 1.1.2

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/CHANGELOG.md CHANGED
@@ -1,3 +1,24 @@
1
+ ## [1.1.2](https://github.com/getndazn/kopytko-framework/compare/v1.1.1...v1.1.2) (2022-07-14)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * allow to render array of elements in root component ([#30](https://github.com/getndazn/kopytko-framework/issues/30)) ([8609122](https://github.com/getndazn/kopytko-framework/commit/8609122e3008009802eaa1865f5ee7756392afa3))
7
+
8
+ ## [1.1.1](https://github.com/getndazn/kopytko-framework/compare/v1.1.0...v1.1.1) (2022-06-02)
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * validating parent when removing children from Kopytko component ([#29](https://github.com/getndazn/kopytko-framework/issues/29)) ([fefe313](https://github.com/getndazn/kopytko-framework/commit/fefe31360aa3d90ab7f97ecd5ac422530fe9351e))
14
+
15
+ # [1.1.0](https://github.com/getndazn/kopytko-framework/compare/v1.0.6...v1.1.0) (2022-05-20)
16
+
17
+
18
+ ### Features
19
+
20
+ * added enqueueUpdate function to reduce number of rerenders ([#28](https://github.com/getndazn/kopytko-framework/issues/28)) ([4c80273](https://github.com/getndazn/kopytko-framework/commit/4c80273af7c20ded4bc41cdb94647142b209695f))
21
+
1
22
  ## [1.0.6](https://github.com/getndazn/kopytko-framework/compare/v1.0.5...v1.0.6) (2022-05-20)
2
23
 
3
24
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dazn/kopytko-framework",
3
- "version": "1.0.6",
3
+ "version": "1.1.2",
4
4
  "description": "A modern Roku's Brightscript framework",
5
5
  "keywords": [
6
6
  "brightscript",
@@ -82,6 +82,10 @@ sub forceUpdate()
82
82
  m._kopytkoUpdater.forceStateUpdate()
83
83
  end sub
84
84
 
85
+ sub enqueueUpdate()
86
+ m._kopytkoUpdater.enqueueStateUpdate()
87
+ end sub
88
+
85
89
  sub updateProps(props = {} as Object)
86
90
  m.top.update(props)
87
91
  _updateDOM()
@@ -64,7 +64,7 @@ function KopytkoDOM() as Object
64
64
  rootElement = m._getRootComponent()
65
65
 
66
66
  for each element in elements
67
- if (element.parentId = Invalid)
67
+ if (Type(element) = "roArray" OR element.parentId = Invalid)
68
68
  parentElement = rootElement.top
69
69
  else
70
70
  parentElement = rootElement[element.parentId]
@@ -98,7 +98,11 @@ function KopytkoDOM() as Object
98
98
 
99
99
  if (element <> Invalid)
100
100
  m._destroyKopytkoElement(element)
101
- element.getParent().removeChild(element)
101
+ parent = element.getParent()
102
+ ' parent may be invalid if it was removed from the view while in the middle of removing children elements
103
+ if (parent <> Invalid)
104
+ parent.removeChild(element)
105
+ end if
102
106
  end if
103
107
 
104
108
  rootElement.delete(elementId)
@@ -10,7 +10,7 @@ function KopytkoUpdater(baseStateUpdatedCallback as Function)
10
10
 
11
11
  ' State update callbacks are asynchronous to prevent multiple unnecessary rerenders
12
12
  ' when setState is called more than once in a function
13
- prototype.enqueueStateUpdate = sub (partialState as Object, callback = Invalid as Dynamic)
13
+ prototype.enqueueStateUpdate = sub (partialState = {} as Object, callback = Invalid as Dynamic)
14
14
  m._appendPartialState(partialState)
15
15
  if (NOT m._isMounted()) then return
16
16