@dazn/kopytko-framework 1.1.0 → 1.2.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/CHANGELOG.md CHANGED
@@ -1,3 +1,24 @@
1
+ # [1.2.0](https://github.com/getndazn/kopytko-framework/compare/v1.1.2...v1.2.0) (2022-08-01)
2
+
3
+
4
+ ### Features
5
+
6
+ * introduced KopytkoRoot that makes integration easier ([#32](https://github.com/getndazn/kopytko-framework/issues/32)) ([11efb22](https://github.com/getndazn/kopytko-framework/commit/11efb228d1e75d0020e1279f61ef1075dcc0f3e4))
7
+
8
+ ## [1.1.2](https://github.com/getndazn/kopytko-framework/compare/v1.1.1...v1.1.2) (2022-07-14)
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * 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))
14
+
15
+ ## [1.1.1](https://github.com/getndazn/kopytko-framework/compare/v1.1.0...v1.1.1) (2022-06-02)
16
+
17
+
18
+ ### Bug Fixes
19
+
20
+ * 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))
21
+
1
22
  # [1.1.0](https://github.com/getndazn/kopytko-framework/compare/v1.0.6...v1.1.0) (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.1.0",
3
+ "version": "1.2.0",
4
4
  "description": "A modern Roku's Brightscript framework",
5
5
  "keywords": [
6
6
  "brightscript",
@@ -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)
@@ -0,0 +1,28 @@
1
+ sub initKopytkoRoot(dynamicProps as Object)
2
+ m._dynamicProps = dynamicProps
3
+
4
+ for each prop in dynamicProps
5
+ m.top.observeFieldScoped(prop, "kopytkoRoot_dynamicPropChanged")
6
+ end for
7
+
8
+ dynamicPropsValues = {}
9
+ for each prop in dynamicProps
10
+ dynamicPropsValues[prop] = m.top[prop]
11
+ end for
12
+
13
+ initKopytko(dynamicPropsValues)
14
+ end sub
15
+
16
+ sub destroyKopytkoRoot()
17
+ for each prop in m._dynamicProps
18
+ m.top.unobserveFieldScoped(prop)
19
+ end for
20
+
21
+ m._dynamicProps = Invalid
22
+ end sub
23
+
24
+ sub kopytkoRoot_dynamicPropChanged(event as Object)
25
+ props = {}
26
+ props[event.getField()] = event.getData()
27
+ updateProps(props)
28
+ end sub