neo.mjs 10.0.0-alpha.5 → 10.0.0-beta.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.
Files changed (188) hide show
  1. package/ServiceWorker.mjs +2 -2
  2. package/apps/colors/view/GridContainer.mjs +1 -1
  3. package/apps/covid/view/AttributionComponent.mjs +1 -1
  4. package/apps/covid/view/HeaderContainer.mjs +6 -6
  5. package/apps/covid/view/MainContainerController.mjs +5 -5
  6. package/apps/covid/view/TableContainerController.mjs +1 -1
  7. package/apps/covid/view/country/Gallery.mjs +13 -13
  8. package/apps/covid/view/country/Helix.mjs +13 -13
  9. package/apps/covid/view/country/HistoricalDataTable.mjs +1 -1
  10. package/apps/email/view/Viewport.mjs +2 -2
  11. package/apps/form/view/SideNavList.mjs +1 -1
  12. package/apps/portal/index.html +1 -1
  13. package/apps/portal/resources/data/examples_devmode.json +26 -27
  14. package/apps/portal/resources/data/examples_dist_dev.json +26 -27
  15. package/apps/portal/resources/data/examples_dist_esm.json +25 -26
  16. package/apps/portal/resources/data/examples_dist_prod.json +26 -27
  17. package/apps/portal/view/HeaderToolbar.mjs +3 -3
  18. package/apps/portal/view/about/Container.mjs +2 -2
  19. package/apps/portal/view/about/MemberContainer.mjs +3 -3
  20. package/apps/portal/view/blog/List.mjs +7 -7
  21. package/apps/portal/view/examples/List.mjs +4 -4
  22. package/apps/portal/view/home/ContentBox.mjs +2 -2
  23. package/apps/portal/view/home/FeatureSection.mjs +3 -3
  24. package/apps/portal/view/home/FooterContainer.mjs +7 -7
  25. package/apps/portal/view/home/parts/AfterMath.mjs +3 -3
  26. package/apps/portal/view/home/parts/MainNeo.mjs +3 -3
  27. package/apps/portal/view/home/parts/References.mjs +6 -6
  28. package/apps/portal/view/learn/ContentComponent.mjs +102 -111
  29. package/apps/portal/view/learn/PageSectionsContainer.mjs +1 -1
  30. package/apps/portal/view/learn/PageSectionsList.mjs +2 -2
  31. package/apps/portal/view/services/Component.mjs +16 -16
  32. package/apps/realworld/view/FooterComponent.mjs +1 -1
  33. package/apps/realworld/view/HeaderComponent.mjs +8 -8
  34. package/apps/realworld/view/HomeComponent.mjs +6 -6
  35. package/apps/realworld/view/article/CommentComponent.mjs +4 -4
  36. package/apps/realworld/view/article/Component.mjs +14 -14
  37. package/apps/realworld/view/article/CreateCommentComponent.mjs +3 -3
  38. package/apps/realworld/view/article/CreateComponent.mjs +3 -3
  39. package/apps/realworld/view/article/PreviewComponent.mjs +1 -1
  40. package/apps/realworld/view/article/TagListComponent.mjs +2 -2
  41. package/apps/realworld/view/user/ProfileComponent.mjs +8 -8
  42. package/apps/realworld/view/user/SettingsComponent.mjs +4 -4
  43. package/apps/realworld/view/user/SignUpComponent.mjs +4 -4
  44. package/apps/realworld2/view/FooterComponent.mjs +1 -1
  45. package/apps/realworld2/view/HomeContainer.mjs +3 -3
  46. package/apps/realworld2/view/article/DetailsContainer.mjs +1 -1
  47. package/apps/realworld2/view/article/PreviewComponent.mjs +7 -7
  48. package/apps/realworld2/view/article/TagListComponent.mjs +2 -2
  49. package/apps/realworld2/view/user/ProfileContainer.mjs +1 -1
  50. package/apps/route/view/center/CardAdministration.mjs +2 -2
  51. package/apps/route/view/center/CardAdministrationDenied.mjs +1 -1
  52. package/apps/route/view/center/CardContact.mjs +2 -2
  53. package/apps/route/view/center/CardHome.mjs +1 -1
  54. package/apps/route/view/center/CardSection1.mjs +1 -1
  55. package/apps/route/view/center/CardSection2.mjs +1 -1
  56. package/apps/sharedcovid/view/AttributionComponent.mjs +1 -1
  57. package/apps/sharedcovid/view/HeaderContainer.mjs +6 -6
  58. package/apps/sharedcovid/view/MainContainerController.mjs +5 -5
  59. package/apps/sharedcovid/view/TableContainerController.mjs +1 -1
  60. package/apps/sharedcovid/view/country/Gallery.mjs +13 -13
  61. package/apps/sharedcovid/view/country/Helix.mjs +13 -13
  62. package/apps/sharedcovid/view/country/HistoricalDataTable.mjs +1 -1
  63. package/apps/shareddialog/childapps/shareddialog2/view/MainContainer.mjs +1 -1
  64. package/apps/shareddialog/view/MainContainer.mjs +1 -1
  65. package/buildScripts/createApp.mjs +2 -2
  66. package/examples/table/cellEditing/MainContainer.mjs +1 -1
  67. package/examples/table/container/MainContainer.mjs +3 -3
  68. package/examples/table/nestedRecordFields/Viewport.mjs +6 -6
  69. package/examples/tableFiltering/MainContainer.mjs +1 -1
  70. package/examples/tablePerformance/MainContainer.mjs +1 -1
  71. package/examples/tablePerformance/MainContainer2.mjs +1 -1
  72. package/examples/tablePerformance/MainContainer3.mjs +2 -2
  73. package/examples/tableStore/MainContainer.mjs +2 -2
  74. package/learn/Glossary.md +261 -0
  75. package/learn/UsingTheseTopics.md +2 -2
  76. package/learn/benefits/ConfigSystem.md +538 -28
  77. package/learn/benefits/Effort.md +47 -2
  78. package/learn/benefits/Features.md +50 -32
  79. package/learn/benefits/FormsEngine.md +68 -38
  80. package/learn/benefits/MultiWindow.md +33 -7
  81. package/learn/benefits/OffTheMainThread.md +2 -2
  82. package/learn/benefits/Quick.md +45 -12
  83. package/learn/benefits/RPCLayer.md +75 -0
  84. package/learn/benefits/Speed.md +16 -11
  85. package/learn/gettingstarted/ComponentModels.md +4 -4
  86. package/learn/gettingstarted/Config.md +6 -6
  87. package/learn/gettingstarted/DescribingTheUI.md +4 -4
  88. package/learn/gettingstarted/Events.md +6 -6
  89. package/learn/gettingstarted/Extending.md +4 -4
  90. package/learn/gettingstarted/References.md +6 -6
  91. package/learn/gettingstarted/Workspaces.md +6 -6
  92. package/learn/guides/ApplicationBootstrap.md +26 -26
  93. package/learn/guides/ComponentsAndContainers.md +12 -12
  94. package/learn/guides/ConfigSystemDeepDive.md +280 -0
  95. package/learn/guides/CustomComponents.md +2 -2
  96. package/learn/guides/DeclarativeComponentTreesVsImperativeVdom.md +17 -17
  97. package/learn/guides/InstanceLifecycle.md +295 -1
  98. package/learn/guides/MainThreadAddons.md +475 -0
  99. package/learn/guides/PortalApp.md +2 -2
  100. package/learn/guides/StateProviders.md +12 -12
  101. package/learn/guides/WorkingWithVDom.md +14 -14
  102. package/learn/guides/events/CustomEvents.md +16 -16
  103. package/learn/guides/events/DomEvents.md +12 -12
  104. package/learn/javascript/ClassFeatures.md +3 -2
  105. package/learn/javascript/Classes.md +8 -8
  106. package/learn/javascript/NewNode.md +4 -4
  107. package/learn/javascript/Overrides.md +8 -8
  108. package/learn/javascript/Super.md +10 -8
  109. package/learn/tree.json +52 -51
  110. package/learn/tutorials/Earthquakes.md +54 -57
  111. package/learn/tutorials/TodoList.md +4 -4
  112. package/package.json +2 -2
  113. package/resources/scss/src/apps/portal/learn/ContentComponent.scss +12 -0
  114. package/resources/scss/src/table/{View.scss → Body.scss} +1 -1
  115. package/resources/scss/src/table/plugin/CellEditing.scss +1 -1
  116. package/resources/scss/theme-dark/table/{View.scss → Body.scss} +1 -1
  117. package/resources/scss/theme-light/table/{View.scss → Body.scss} +1 -1
  118. package/resources/scss/theme-neo-light/Global.scss +1 -2
  119. package/resources/scss/theme-neo-light/table/{View.scss → Body.scss} +1 -1
  120. package/src/DefaultConfig.mjs +2 -2
  121. package/src/Main.mjs +8 -7
  122. package/src/Neo.mjs +16 -2
  123. package/src/button/Base.mjs +2 -2
  124. package/src/calendar/view/SettingsContainer.mjs +2 -2
  125. package/src/calendar/view/YearComponent.mjs +9 -9
  126. package/src/calendar/view/calendars/ColorsList.mjs +1 -1
  127. package/src/calendar/view/calendars/List.mjs +1 -1
  128. package/src/calendar/view/month/Component.mjs +15 -15
  129. package/src/calendar/view/week/Component.mjs +12 -12
  130. package/src/calendar/view/week/EventDragZone.mjs +4 -4
  131. package/src/calendar/view/week/TimeAxisComponent.mjs +3 -3
  132. package/src/component/Base.mjs +17 -2
  133. package/src/component/Carousel.mjs +2 -2
  134. package/src/component/Chip.mjs +3 -3
  135. package/src/component/Circle.mjs +2 -2
  136. package/src/component/DateSelector.mjs +8 -8
  137. package/src/component/Helix.mjs +1 -1
  138. package/src/component/Label.mjs +3 -18
  139. package/src/component/Legend.mjs +3 -3
  140. package/src/component/MagicMoveText.mjs +6 -14
  141. package/src/component/Process.mjs +3 -3
  142. package/src/component/Progress.mjs +1 -1
  143. package/src/component/StatusBadge.mjs +2 -2
  144. package/src/component/Timer.mjs +2 -2
  145. package/src/component/Toast.mjs +5 -3
  146. package/src/container/AccordionItem.mjs +2 -2
  147. package/src/container/Base.mjs +1 -1
  148. package/src/core/Base.mjs +77 -14
  149. package/src/core/Util.mjs +14 -2
  150. package/src/date/DayViewComponent.mjs +2 -2
  151. package/src/date/SelectorContainer.mjs +1 -1
  152. package/src/draggable/grid/header/toolbar/SortZone.mjs +21 -21
  153. package/src/draggable/table/header/toolbar/SortZone.mjs +1 -1
  154. package/src/form/field/CheckBox.mjs +4 -4
  155. package/src/form/field/FileUpload.mjs +25 -39
  156. package/src/form/field/Range.mjs +1 -1
  157. package/src/form/field/Text.mjs +3 -3
  158. package/src/form/field/TextArea.mjs +2 -3
  159. package/src/grid/Body.mjs +8 -5
  160. package/src/grid/_export.mjs +1 -1
  161. package/src/list/Color.mjs +2 -2
  162. package/src/main/DeltaUpdates.mjs +157 -98
  163. package/src/main/addon/AmCharts.mjs +61 -84
  164. package/src/main/addon/Base.mjs +161 -42
  165. package/src/main/addon/GoogleMaps.mjs +9 -16
  166. package/src/main/addon/HighlightJS.mjs +2 -13
  167. package/src/main/addon/IntersectionObserver.mjs +21 -21
  168. package/src/main/addon/MonacoEditor.mjs +32 -64
  169. package/src/manager/ClassHierarchy.mjs +114 -0
  170. package/src/menu/List.mjs +1 -1
  171. package/src/plugin/Popover.mjs +2 -2
  172. package/src/sitemap/Component.mjs +1 -1
  173. package/src/table/{View.mjs → Body.mjs} +25 -22
  174. package/src/table/Container.mjs +43 -43
  175. package/src/table/_export.mjs +2 -2
  176. package/src/table/plugin/CellEditing.mjs +19 -19
  177. package/src/tooltip/Base.mjs +1 -6
  178. package/src/tree/Accordion.mjs +3 -3
  179. package/src/vdom/Helper.mjs +19 -22
  180. package/src/worker/App.mjs +1 -2
  181. package/src/worker/Base.mjs +7 -5
  182. package/src/worker/Canvas.mjs +2 -3
  183. package/src/worker/Data.mjs +5 -7
  184. package/src/worker/Task.mjs +2 -3
  185. package/src/worker/VDom.mjs +3 -4
  186. package/src/worker/mixin/RemoteMethodAccess.mjs +5 -2
  187. package/learn/guides/MainThreadAddonExample.md +0 -15
  188. package/learn/guides/MainThreadAddonIntro.md +0 -44
@@ -227,7 +227,7 @@ class PreviewComponent extends Component {
227
227
  * @protected
228
228
  */
229
229
  afterSetTitle(value, oldValue) {
230
- VDomUtil.getByFlag(this.vdom, 'title').html = value;
230
+ VDomUtil.getByFlag(this.vdom, 'title').text = value;
231
231
  this.update();
232
232
  }
233
233
 
@@ -36,7 +36,7 @@ class TagListComponent extends Component {
36
36
  _vdom:
37
37
  {cn: [
38
38
  {cls: ['sidebar'], cn: [
39
- {tag: 'p', html: 'Popular Tags'},
39
+ {tag: 'p', text: 'Popular Tags'},
40
40
  {cls: ['tag-list']}
41
41
  ]}
42
42
  ]}
@@ -96,7 +96,7 @@ class TagListComponent extends Component {
96
96
  tag : 'a',
97
97
  cls : ['tag-pill', 'tag-default'],
98
98
  href: '',
99
- html: item,
99
+ text: item,
100
100
  id : me.getTagVdomId(item)
101
101
  });
102
102
  });
@@ -69,7 +69,7 @@ class ProfileComponent extends Component {
69
69
  ]},
70
70
  {tag: 'a', cls: ['btn', 'btn-sm', 'btn-outline-secondary', 'action-btn'], flag: 'edit-profile', href: '#/settings', removeDom: true, cn: [
71
71
  {tag: 'i', cls: ['ion-gear-a']},
72
- {vtype: 'text', html: ' Edit Profile Settings'}
72
+ {vtype: 'text', text: ' Edit Profile Settings'}
73
73
  ]}
74
74
  ]}
75
75
  ]}
@@ -81,10 +81,10 @@ class ProfileComponent extends Component {
81
81
  {cls: ['articles-toggle'], cn: [
82
82
  {tag: 'ul', cls: ['nav', 'nav-pills', 'outline-active'], flag: 'feed-header', cn: [
83
83
  {tag: 'li', cls: ['nav-item'], cn: [
84
- {tag: 'a', cls: ['nav-link', 'prevent-click', 'active'], href: '', html: 'My Articles'}
84
+ {tag: 'a', cls: ['nav-link', 'prevent-click', 'active'], href: '', text: 'My Articles'}
85
85
  ]},
86
86
  {tag: 'li', cls: ['nav-item'], cn: [
87
- {tag: 'a', cls: ['nav-link', 'prevent-click'], href: '', html: 'Favorited Articles'}
87
+ {tag: 'a', cls: ['nav-link', 'prevent-click'], href: '', text: 'Favorited Articles'}
88
88
  ]}
89
89
  ]}
90
90
  ]}
@@ -170,7 +170,7 @@ class ProfileComponent extends Component {
170
170
  */
171
171
  afterSetBio(value, oldValue) {
172
172
  if (value) {
173
- VDomUtil.getByFlag(this.vdom, 'bio').html = value;
173
+ VDomUtil.getByFlag(this.vdom, 'bio').text = value;
174
174
  this.update();
175
175
  }
176
176
  }
@@ -190,7 +190,7 @@ class ProfileComponent extends Component {
190
190
  NeoArray.add(node.cls, value ? 'btn-secondary' : 'btn-outline-secondary');
191
191
 
192
192
  node.cn[0].cls = [value ? 'ion-minus-round' : 'ion-plus-round'];
193
- node.cn[1].html = value ? ' Unfollow ' : ' Follow ';
193
+ node.cn[1].text = value ? ' Unfollow ' : ' Follow ';
194
194
  this.update();
195
195
  }
196
196
  }
@@ -231,8 +231,8 @@ class ProfileComponent extends Component {
231
231
  afterSetUsername(value, oldValue) {
232
232
  let vdom = this.vdom;
233
233
 
234
- VDomUtil.getByFlag(vdom, 'following').cn[2].html = value;
235
- VDomUtil.getByFlag(vdom, 'username').html = value;
234
+ VDomUtil.getByFlag(vdom, 'following').cn[2].text = value;
235
+ VDomUtil.getByFlag(vdom, 'username').text = value;
236
236
  this.update();
237
237
  }
238
238
 
@@ -273,7 +273,7 @@ class ProfileComponent extends Component {
273
273
  params = {};
274
274
 
275
275
  if (!el.vdom.cls.includes('disabled')) {
276
- switch (el.vdom.html) {
276
+ switch (el.vdom.text) {
277
277
  case 'Favorited Articles':
278
278
  params = {
279
279
  favorited: me.username
@@ -44,7 +44,7 @@ class SettingsComponent extends Component {
44
44
  {cls: ['container', 'page'], cn: [
45
45
  {cls: ['row'], cn: [
46
46
  {cls: ['col-md-6', 'offset-md-3', 'col-xs-12'], cn: [
47
- {tag: 'h1', cls: ['text-xs-center'], html: 'Your Settings'},
47
+ {tag: 'h1', cls: ['text-xs-center'], text: 'Your Settings'},
48
48
  {tag: 'ul', cls: ['error-messages'], flag: 'errors', removeDom: true},
49
49
  {tag: 'form', cn: [
50
50
  {tag: 'fieldset', cn: [
@@ -63,11 +63,11 @@ class SettingsComponent extends Component {
63
63
  {tag: 'fieldset', cls: ['form-group'], cn: [
64
64
  {tag: 'input', cls: ['form-control', 'form-control-lg'], flag: 'password', placeholder: 'Password', type: 'password'}
65
65
  ]},
66
- {tag: 'button', cls: ['btn', 'btn-lg', 'btn-primary', 'pull-xs-right'], html: 'Update Settings'}
66
+ {tag: 'button', cls: ['btn', 'btn-lg', 'btn-primary', 'pull-xs-right'], text: 'Update Settings'}
67
67
  ]}
68
68
  ]},
69
69
  {tag: 'hr'},
70
- {tag: 'button', cls: ['btn', 'btn-outline-danger'], html: 'Or click here to logout.'}
70
+ {tag: 'button', cls: ['btn', 'btn-outline-danger'], text: 'Or click here to logout.'}
71
71
  ]}
72
72
  ]}
73
73
  ]}
@@ -133,7 +133,7 @@ class SettingsComponent extends Component {
133
133
  Object.entries(value).forEach(([key, value]) => {
134
134
  list.cn.push({
135
135
  tag : 'li',
136
- html: key + ' ' + value.join(' and ')
136
+ text: key + ' ' + value.join(' and ')
137
137
  });
138
138
  });
139
139
 
@@ -93,7 +93,7 @@ class SignUpComponent extends Component {
93
93
  Object.entries(value || {}).forEach(([key, value]) => {
94
94
  list.cn.push({
95
95
  tag : 'li',
96
- html: key + ' ' + value.join(' and ')
96
+ text: key + ' ' + value.join(' and ')
97
97
  });
98
98
  });
99
99
 
@@ -141,16 +141,16 @@ class SignUpComponent extends Component {
141
141
  contentDiv = me.vdom.cn[0].cn[0].cn[0];
142
142
 
143
143
  // vdom bulk update
144
- contentDiv.cn[0].html = isSignup ? 'Sign up' : 'Sign in';
144
+ contentDiv.cn[0].text = isSignup ? 'Sign up' : 'Sign in';
145
145
 
146
146
  contentDiv.cn[1].cn[0].href = isSignup ? '#/login' : '#/register';
147
- contentDiv.cn[1].cn[0].html = isSignup ? 'Have an account?' : 'Need an account?';
147
+ contentDiv.cn[1].cn[0].text = isSignup ? 'Have an account?' : 'Need an account?';
148
148
 
149
149
  // remove the username fieldset if needed
150
150
  contentDiv.cn[3].cn[0].cn[0].removeDom = !isSignup;
151
151
 
152
152
  // submit button text
153
- contentDiv.cn[3].cn[0].cn[3].html = isSignup ? 'Sign up' : 'Sign in';
153
+ contentDiv.cn[3].cn[0].cn[3].text = isSignup ? 'Sign up' : 'Sign in';
154
154
 
155
155
  me.update();
156
156
  }
@@ -30,7 +30,7 @@ class FooterComponent extends Component {
30
30
  tag : 'a',
31
31
  cls : ['logo-font'],
32
32
  href: '#/',
33
- html: 'conduit'
33
+ text: 'conduit'
34
34
  }, {
35
35
  tag : 'span',
36
36
  cls : 'attribution',
@@ -38,10 +38,10 @@ class HomeContainer extends Container {
38
38
  cn : [{
39
39
  tag : 'h1',
40
40
  cls : ['logo-font'],
41
- html: 'conduit v2'
41
+ text: 'conduit v2'
42
42
  }, {
43
43
  tag : 'p',
44
- html: 'A place to share your knowledge.'
44
+ text: 'A place to share your knowledge.'
45
45
  }]
46
46
  }]
47
47
  }
@@ -60,7 +60,7 @@ class HomeContainer extends Container {
60
60
  cls : ['neo-examples-tab-component'],
61
61
  header: {iconCls: 'fa fa-user-ninja', text: 'Your Feed'},
62
62
  style : {padding: '20px'},
63
- vdom : {html: 'todo'}
63
+ vdom : {text: 'todo'}
64
64
  }, {
65
65
  module: PreviewList,
66
66
  header: {iconCls: 'fa fa-globe-europe', text: 'Global Feed'}
@@ -16,7 +16,7 @@ class DetailsContainer extends Container {
16
16
  */
17
17
  items: [{
18
18
  ntype: 'component',
19
- html : 'article.DetailsContainer'
19
+ text : 'article.DetailsContainer'
20
20
  }],
21
21
  /**
22
22
  * @member {Object} style
@@ -85,7 +85,7 @@ class PreviewComponent extends Component {
85
85
  cn : [
86
86
  {tag: 'h1', flag: 'title'},
87
87
  {tag: 'p', flag: 'description'},
88
- {tag: 'span', html: 'Read more...'}
88
+ {tag: 'span', text: 'Read more...'}
89
89
  ]
90
90
  }]
91
91
  }
@@ -120,7 +120,7 @@ class PreviewComponent extends Component {
120
120
 
121
121
  // todo: disabled until the new profile view is ready
122
122
  //node.href = href;
123
- node.html = value;
123
+ node.text = value;
124
124
 
125
125
  //VDomUtil.getByFlag(vdom, 'userImageLink').href = href;
126
126
 
@@ -134,7 +134,7 @@ class PreviewComponent extends Component {
134
134
  * @protected
135
135
  */
136
136
  afterSetCreatedAt(value, oldValue) {
137
- VDomUtil.getByFlag(this.vdom, 'createdAt').html = new Intl.DateTimeFormat('en-US', {
137
+ VDomUtil.getByFlag(this.vdom, 'createdAt').text = new Intl.DateTimeFormat('en-US', {
138
138
  day : 'numeric',
139
139
  month: 'long',
140
140
  year : 'numeric'
@@ -150,7 +150,7 @@ class PreviewComponent extends Component {
150
150
  * @protected
151
151
  */
152
152
  afterSetDescription(value, oldValue) {
153
- VDomUtil.getByFlag(this.vdom, 'description').html = value;
153
+ VDomUtil.getByFlag(this.vdom, 'description').text = value;
154
154
  this.update();
155
155
  }
156
156
 
@@ -182,7 +182,7 @@ class PreviewComponent extends Component {
182
182
  * @protected
183
183
  */
184
184
  afterSetFavoritesCount(value, oldValue) {
185
- VDomUtil.getByFlag(this.vdom, 'favoritesCount').html = ' ' + value;
185
+ VDomUtil.getByFlag(this.vdom, 'favoritesCount').text = ' ' + value;
186
186
  this.update();
187
187
  }
188
188
 
@@ -225,7 +225,7 @@ class PreviewComponent extends Component {
225
225
  tagList.cn.push({
226
226
  tag : 'li',
227
227
  cls : ['tag-default', 'tag-pill', 'tag-outline'],
228
- html: item
228
+ text: item
229
229
  })
230
230
  });
231
231
 
@@ -242,7 +242,7 @@ class PreviewComponent extends Component {
242
242
  * @protected
243
243
  */
244
244
  afterSetTitle(value, oldValue) {
245
- VDomUtil.getByFlag(this.vdom, 'title').html = value;
245
+ VDomUtil.getByFlag(this.vdom, 'title').text = value;
246
246
  this.update();
247
247
  }
248
248
 
@@ -38,7 +38,7 @@ class TagListComponent extends Component {
38
38
  cls: ['sidebar'],
39
39
  cn : [{
40
40
  tag : 'p',
41
- html: 'Popular Tags'
41
+ text: 'Popular Tags'
42
42
  }, {
43
43
  cls: ['tag-list']
44
44
  }]
@@ -100,7 +100,7 @@ class TagListComponent extends Component {
100
100
  tag : 'a',
101
101
  cls : ['tag-pill', 'tag-default'],
102
102
  href: '',
103
- html: item,
103
+ text: item,
104
104
  id : me.getTagVdomId(item)
105
105
  });
106
106
  });
@@ -16,7 +16,7 @@ class ProfileContainer extends Container {
16
16
  */
17
17
  items: [{
18
18
  ntype: 'component',
19
- html : 'ProfileContainer'
19
+ text : 'ProfileContainer'
20
20
  }],
21
21
  /**
22
22
  * @member {Object} style
@@ -18,13 +18,13 @@ class CardAdministration extends Container {
18
18
 
19
19
  vdom: {
20
20
  tag : 'h1',
21
- html: 'Access Granted.'
21
+ text: 'Access Granted.'
22
22
  }
23
23
  }
24
24
 
25
25
 
26
26
  afterSetUsername(value, oldValue) {
27
- this.vdom.html = `Access Granted to ${this.username}.`;
27
+ this.vdom.text = `Access Granted to ${this.username}.`;
28
28
  }
29
29
  }
30
30
 
@@ -16,7 +16,7 @@ class CardAdministrationDenied extends Container {
16
16
 
17
17
  vdom: {
18
18
  tag : 'h1',
19
- html: 'Access Denied.'
19
+ text: 'Access Denied.'
20
20
  }
21
21
  }
22
22
  }
@@ -16,8 +16,8 @@ class CardContact extends Container {
16
16
 
17
17
  items: [
18
18
  { cls : ['route_card_simple_page'], vdom: { cn: [
19
- {tag: 'h1', html: 'Contact' },
20
- {tag: 'a', href: 'https://github.com/neomjs/neo', target: '_blank', html: 'please visit https://github.com/neomjs/neo'}
19
+ {tag: 'h1', text: 'Contact' },
20
+ {tag: 'a', href: 'https://github.com/neomjs/neo', target: '_blank', text: 'please visit https://github.com/neomjs/neo'}
21
21
  ] } }
22
22
  ]
23
23
  }
@@ -16,7 +16,7 @@ class CardHome extends Container {
16
16
 
17
17
  vdom: {
18
18
  tag : 'h1',
19
- html: 'This is the landing page of the example.'
19
+ text: 'This is the landing page of the example.'
20
20
  }
21
21
  }
22
22
  }
@@ -16,7 +16,7 @@ class CardSection1 extends Container {
16
16
 
17
17
  vdom: {
18
18
  tag : 'h1',
19
- html: 'This is section 1 of the example.'
19
+ text: 'This is section 1 of the example.'
20
20
  }
21
21
  }
22
22
  }
@@ -16,7 +16,7 @@ class CardSection2 extends Container {
16
16
 
17
17
  vdom: {
18
18
  tag : 'h1',
19
- html: 'This is section 2 of the example.'
19
+ text: 'This is section 2 of the example.'
20
20
  }
21
21
 
22
22
  }
@@ -21,7 +21,7 @@ class AttributionComponent extends Component {
21
21
  */
22
22
  vdom:
23
23
  {style: {margin: '20px'}, cn: [
24
- {tag: 'h2', html: 'Attribution'},
24
+ {tag: 'h2', text: 'Attribution'},
25
25
  {tag: 'ul', cn: [
26
26
  {tag: 'li', html: 'The logos were created by <a target="_blank" href="https://www.driefmeier.com/">Sebastian Driefmeier</a>. Thank you!'},
27
27
  {tag: 'li', html: ['The logos are based on the image from <a target="_blank" href="https://phil.cdc.gov/Details.aspx?pid=23312">CDC Public Health Image Library (PHIL)</a>,</br>',
@@ -56,7 +56,7 @@ class HeaderContainer extends Container {
56
56
  cls : ['covid-numberbox'],
57
57
  vdom: {
58
58
  cn: [
59
- {cls: ['covid-numberbox-title', 'cases'], html:'Cases'},
59
+ {cls: ['covid-numberbox-title', 'cases'], text:'Cases'},
60
60
  {cls: ['covid-numberbox-number', 'cases']}
61
61
  ]
62
62
  }
@@ -64,7 +64,7 @@ class HeaderContainer extends Container {
64
64
  cls : ['covid-numberbox'],
65
65
  vdom: {
66
66
  cn: [
67
- {cls: ['covid-numberbox-title', 'active'], html:'Active'},
67
+ {cls: ['covid-numberbox-title', 'active'], text:'Active'},
68
68
  {cls: ['covid-numberbox-number', 'active']}
69
69
  ]
70
70
  }
@@ -72,7 +72,7 @@ class HeaderContainer extends Container {
72
72
  cls : ['covid-numberbox'],
73
73
  vdom: {
74
74
  cn: [
75
- {cls: ['covid-numberbox-title', 'recovered'], html:'Recovered'},
75
+ {cls: ['covid-numberbox-title', 'recovered'], text:'Recovered'},
76
76
  {cls: ['covid-numberbox-number', 'recovered']}
77
77
  ]
78
78
  }
@@ -80,7 +80,7 @@ class HeaderContainer extends Container {
80
80
  cls : ['covid-numberbox'],
81
81
  vdom: {
82
82
  cn: [
83
- {cls: ['covid-numberbox-title', 'deaths'], html:'Deaths'},
83
+ {cls: ['covid-numberbox-title', 'deaths'], text:'Deaths'},
84
84
  {cls: ['covid-numberbox-number', 'deaths']}
85
85
  ]
86
86
  }
@@ -97,7 +97,7 @@ class HeaderContainer extends Container {
97
97
  'data-show-count': 'true',
98
98
  'data-size' : 'large',
99
99
  href : 'https://github.com/neomjs/neo',
100
- html : 'Star'
100
+ text : 'Star'
101
101
  }]
102
102
  }
103
103
  }, {
@@ -111,7 +111,7 @@ class HeaderContainer extends Container {
111
111
  'data-icon' : 'octicon-heart',
112
112
  'data-size' : 'large',
113
113
  href : 'https://github.com/sponsors/tobiu',
114
- html : 'Sponsor'
114
+ text : 'Sponsor'
115
115
  }]
116
116
  }
117
117
  }]
@@ -139,10 +139,10 @@ class MainContainerController extends ComponentController {
139
139
 
140
140
  me.summaryData = data;
141
141
 
142
- container.items[0].vdom.cn[1].html = Util.formatNumber({value: data.cases});
143
- container.items[1].vdom.cn[1].html = Util.formatNumber({value: data.active});
144
- container.items[2].vdom.cn[1].html = Util.formatNumber({value: data.recovered});
145
- container.items[3].vdom.cn[1].html = Util.formatNumber({value: data.deaths});
142
+ container.items[0].vdom.cn[1].text = Util.formatNumber({value: data.cases});
143
+ container.items[1].vdom.cn[1].text = Util.formatNumber({value: data.active});
144
+ container.items[2].vdom.cn[1].text = Util.formatNumber({value: data.recovered});
145
+ container.items[3].vdom.cn[1].text = Util.formatNumber({value: data.deaths});
146
146
 
147
147
  container.updateDepth = 2;
148
148
  container.update();
@@ -150,7 +150,7 @@ class MainContainerController extends ComponentController {
150
150
  container = me.getReference('last-update');
151
151
  vdom = container.vdom;
152
152
 
153
- vdom.html = 'Last Update: ' + new Intl.DateTimeFormat('default', {
153
+ vdom.text = 'Last Update: ' + new Intl.DateTimeFormat('default', {
154
154
  hour : 'numeric',
155
155
  minute: 'numeric',
156
156
  second: 'numeric'
@@ -225,7 +225,7 @@ class TableContainerController extends ComponentController {
225
225
  // removed optional chaining for now, see: https://github.com/neomjs/neo/issues/467
226
226
  me.loadHistoricalData(record?.countryInfo?.iso2 || 'all');
227
227
 
228
- me.getReference('historical-data-label').html = 'Historical Data (' + (record?.country || 'World') + ')';
228
+ me.getReference('historical-data-label').text = 'Historical Data (' + (record?.country || 'World') + ')';
229
229
  }
230
230
 
231
231
  /**
@@ -45,24 +45,24 @@ class CountryGallery extends Gallery {
45
45
  ]},
46
46
  {tag: 'table', cls: ['neo-content-table'], cn: [
47
47
  {tag: 'tr', cn: [
48
- {tag: 'td', html: 'Cases'},
48
+ {tag: 'td', text: 'Cases'},
49
49
  {tag: 'td', cls: ['neo-align-right']},
50
50
  {tag: 'td', style: {width: '100%'}},
51
- {tag: 'td', html: 'Cases today'},
51
+ {tag: 'td', text: 'Cases today'},
52
52
  {tag: 'td', cls: ['neo-align-right']}
53
53
  ]},
54
54
  {tag: 'tr', cn: [
55
- {tag: 'td', html: 'Deaths'},
55
+ {tag: 'td', text: 'Deaths'},
56
56
  {tag: 'td', cls: ['neo-align-right', 'neo-content-deaths']},
57
57
  {tag: 'td', style: {width: '100%'}},
58
- {tag: 'td', html: 'Deaths today'},
58
+ {tag: 'td', text: 'Deaths today'},
59
59
  {tag: 'td', cls: ['neo-align-right', 'neo-content-deaths']}
60
60
  ]},
61
61
  {tag: 'tr', cn: [
62
- {tag: 'td', html: 'Recovered'},
62
+ {tag: 'td', text: 'Recovered'},
63
63
  {tag: 'td', cls: ['neo-align-right', 'neo-content-recovered']},
64
64
  {tag: 'td', style: {width: '100%'}},
65
- {tag: 'td', html: 'Critical'},
65
+ {tag: 'td', text: 'Critical'},
66
66
  {tag: 'td', cls: ['neo-align-right', 'neo-content-critical']}
67
67
  ]}
68
68
  ]}
@@ -127,15 +127,15 @@ class CountryGallery extends Gallery {
127
127
  firstChild.style.width = me.itemWidth + 'px';
128
128
 
129
129
  firstChild.cn[0].cn[0].src = Util.getCountryFlagUrl(record.country);
130
- firstChild.cn[0].cn[1].html = record.country;
130
+ firstChild.cn[0].cn[1].text = record.country;
131
131
 
132
- table.cn[0].cn[1].html = fN({value: record.cases});
133
- table.cn[1].cn[1].html = fN({value: record.deaths});
134
- table.cn[2].cn[1].html = fN({value: record.recovered});
132
+ table.cn[0].cn[1].text = fN({value: record.cases});
133
+ table.cn[1].cn[1].text = fN({value: record.deaths});
134
+ table.cn[2].cn[1].text = fN({value: record.recovered});
135
135
 
136
- table.cn[0].cn[4].html = fN({value: record.todayCases});
137
- table.cn[1].cn[4].html = fN({value: record.todayDeaths});
138
- table.cn[2].cn[4].html = fN({value: record.critical});
136
+ table.cn[0].cn[4].text = fN({value: record.todayCases});
137
+ table.cn[1].cn[4].text = fN({value: record.todayDeaths});
138
+ table.cn[2].cn[4].text = fN({value: record.critical});
139
139
 
140
140
  return vdomItem;
141
141
  }
@@ -45,24 +45,24 @@ class CountryHelix extends Helix {
45
45
  ]},
46
46
  {tag: 'table', cls: ['neo-content-table'], cn: [
47
47
  {tag: 'tr', cn: [
48
- {tag: 'td', html: 'Cases'},
48
+ {tag: 'td', text: 'Cases'},
49
49
  {tag: 'td', cls: ['neo-align-right']},
50
50
  {tag: 'td', style: {width: '100%'}},
51
- {tag: 'td', html: 'Cases today'},
51
+ {tag: 'td', text: 'Cases today'},
52
52
  {tag: 'td', cls: ['neo-align-right']}
53
53
  ]},
54
54
  {tag: 'tr', cn: [
55
- {tag: 'td', html: 'Deaths'},
55
+ {tag: 'td', text: 'Deaths'},
56
56
  {tag: 'td', cls: ['neo-align-right', 'neo-content-deaths']},
57
57
  {tag: 'td', style: {width: '100%'}},
58
- {tag: 'td', html: 'Deaths today'},
58
+ {tag: 'td', text: 'Deaths today'},
59
59
  {tag: 'td', cls: ['neo-align-right', 'neo-content-deaths']}
60
60
  ]},
61
61
  {tag: 'tr', cn: [
62
- {tag: 'td', html: 'Recovered'},
62
+ {tag: 'td', text: 'Recovered'},
63
63
  {tag: 'td', cls: ['neo-align-right', 'neo-content-recovered']},
64
64
  {tag: 'td', style: {width: '100%'}},
65
- {tag: 'td', html: 'Critical'},
65
+ {tag: 'td', text: 'Critical'},
66
66
  {tag: 'td', cls: ['neo-align-right', 'neo-content-critical']}
67
67
  ]}
68
68
  ]}
@@ -138,15 +138,15 @@ class CountryHelix extends Helix {
138
138
  vdomItem.id = me.getItemVnodeId(record[me.keyProperty]);
139
139
 
140
140
  firstChild.cn[0].cn[0].src = Util.getCountryFlagUrl(record.country);
141
- firstChild.cn[0].cn[1].html = record.country;
141
+ firstChild.cn[0].cn[1].text = record.country;
142
142
 
143
- table.cn[0].cn[1].html = fN({value: record.cases});
144
- table.cn[1].cn[1].html = fN({value: record.deaths});
145
- table.cn[2].cn[1].html = fN({value: record.recovered});
143
+ table.cn[0].cn[1].text = fN({value: record.cases});
144
+ table.cn[1].cn[1].text = fN({value: record.deaths});
145
+ table.cn[2].cn[1].text = fN({value: record.recovered});
146
146
 
147
- table.cn[0].cn[4].html = fN({value: record.todayCases});
148
- table.cn[1].cn[4].html = fN({value: record.todayDeaths});
149
- table.cn[2].cn[4].html = fN({value: record.critical});
147
+ table.cn[0].cn[4].text = fN({value: record.todayCases});
148
+ table.cn[1].cn[4].text = fN({value: record.todayDeaths});
149
+ table.cn[2].cn[4].text = fN({value: record.critical});
150
150
 
151
151
  return vdomItem;
152
152
  }
@@ -38,7 +38,7 @@ class HistoricalDataTable extends Container {
38
38
  renderer : function(data) {
39
39
  return {
40
40
  cls : ['neo-date-column', 'neo-table-cell'],
41
- html: new Intl.DateTimeFormat('default', {
41
+ text: new Intl.DateTimeFormat('default', {
42
42
  day : 'numeric',
43
43
  month: 'numeric',
44
44
  year : 'numeric'
@@ -35,7 +35,7 @@ class MainContainer extends Viewport {
35
35
  }, {
36
36
  ntype: 'component',
37
37
  flex : 1,
38
- html : '#2',
38
+ text : '#2',
39
39
 
40
40
  style: {
41
41
  alignItems : 'center',
@@ -92,7 +92,7 @@ class MainContainer extends Viewport {
92
92
  }, {
93
93
  ntype: 'component',
94
94
  flex : 1,
95
- html : '#1',
95
+ text : '#1',
96
96
 
97
97
  style: {
98
98
  alignItems : 'center',
@@ -234,13 +234,13 @@ if (programOpts.info) {
234
234
  " iconCls: 'fa fa-home',",
235
235
  " text : 'Tab 1'",
236
236
  " },",
237
- " vdom: {html: 'Welcome to your new Neo App.'}",
237
+ " text: 'Welcome to your new Neo App.'",
238
238
  " }, {",
239
239
  " header: {",
240
240
  " iconCls: 'fa fa-play-circle',",
241
241
  " text : 'Tab 2'",
242
242
  " },",
243
- " vdom: {html: 'Have fun creating something awesome!'}",
243
+ " text: 'Have fun creating something awesome!'",
244
244
  " }]",
245
245
  " }]",
246
246
  " }",
@@ -113,7 +113,7 @@ class MainContainer extends ConfigurationViewport {
113
113
  parentId : this.id,
114
114
  store : MainStore,
115
115
 
116
- viewConfig: {
116
+ bodyConfig: {
117
117
  selectionModel: CellModel
118
118
  },
119
119