neo.mjs 4.3.8 → 4.3.10

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 (86) hide show
  1. package/apps/covid/view/MainContainerController.mjs +9 -11
  2. package/apps/krausest/view/MainComponent.mjs +3 -4
  3. package/apps/krausest/view/TableComponent.mjs +2 -3
  4. package/apps/realworld/view/HeaderComponent.mjs +7 -10
  5. package/apps/realworld/view/HomeComponent.mjs +16 -24
  6. package/apps/realworld/view/MainContainerController.mjs +3 -3
  7. package/apps/realworld/view/article/CommentComponent.mjs +11 -19
  8. package/apps/realworld/view/article/Component.mjs +20 -36
  9. package/apps/realworld/view/article/CreateCommentComponent.mjs +9 -16
  10. package/apps/realworld/view/article/CreateComponent.mjs +12 -20
  11. package/apps/realworld/view/article/PreviewComponent.mjs +16 -30
  12. package/apps/realworld/view/article/TagListComponent.mjs +4 -5
  13. package/apps/realworld/view/user/ProfileComponent.mjs +14 -21
  14. package/apps/realworld/view/user/SettingsComponent.mjs +9 -16
  15. package/apps/realworld/view/user/SignUpComponent.mjs +6 -9
  16. package/apps/realworld2/view/MainContainerController.mjs +2 -2
  17. package/apps/realworld2/view/article/PreviewComponent.mjs +17 -31
  18. package/apps/realworld2/view/article/PreviewList.mjs +4 -7
  19. package/apps/realworld2/view/article/TagListComponent.mjs +4 -5
  20. package/apps/sharedcovid/view/MainContainerController.mjs +10 -13
  21. package/apps/website/view/blog/List.mjs +2 -3
  22. package/docs/app/view/ApiTreeList.mjs +2 -6
  23. package/docs/app/view/ExamplesTreeList.mjs +2 -6
  24. package/docs/app/view/TutorialsTreeList.mjs +2 -6
  25. package/docs/app/view/classdetails/HeaderComponent.mjs +3 -4
  26. package/docs/app/view/classdetails/HierarchyTreeList.mjs +1 -2
  27. package/docs/app/view/classdetails/MembersList.mjs +4 -6
  28. package/docs/app/view/classdetails/SourceViewComponent.mjs +3 -6
  29. package/docs/app/view/classdetails/TutorialComponent.mjs +4 -5
  30. package/examples/tabs/MainContainer.mjs +4 -6
  31. package/examples/todoList/version1/MainComponent.mjs +5 -7
  32. package/examples/todoList/version2/TodoList.mjs +4 -5
  33. package/package.json +3 -3
  34. package/resources/scss/src/form/field/Text.scss +4 -3
  35. package/src/button/Base.mjs +14 -24
  36. package/src/button/Split.mjs +3 -4
  37. package/src/calendar/view/MainContainer.mjs +3 -5
  38. package/src/calendar/view/SettingsContainer.mjs +3 -5
  39. package/src/calendar/view/YearComponent.mjs +7 -9
  40. package/src/calendar/view/month/Component.mjs +7 -12
  41. package/src/calendar/view/week/Component.mjs +2 -3
  42. package/src/calendar/view/week/TimeAxisComponent.mjs +0 -3
  43. package/src/component/Base.mjs +26 -27
  44. package/src/component/Carousel.mjs +5 -9
  45. package/src/component/Chip.mjs +6 -12
  46. package/src/component/Circle.mjs +16 -22
  47. package/src/component/Clock.mjs +1 -1
  48. package/src/component/DateSelector.mjs +4 -9
  49. package/src/component/Gallery.mjs +12 -21
  50. package/src/component/Helix.mjs +2 -3
  51. package/src/component/Label.mjs +2 -3
  52. package/src/component/Legend.mjs +6 -9
  53. package/src/container/Base.mjs +5 -9
  54. package/src/dialog/Base.mjs +2 -3
  55. package/src/draggable/list/DragZone.mjs +1 -2
  56. package/src/draggable/tree/DragZone.mjs +1 -2
  57. package/src/form/Fieldset.mjs +4 -6
  58. package/src/form/field/CheckBox.mjs +23 -39
  59. package/src/form/field/Color.mjs +2 -3
  60. package/src/form/field/Display.mjs +1 -2
  61. package/src/form/field/Number.mjs +1 -2
  62. package/src/form/field/Picker.mjs +0 -1
  63. package/src/form/field/Text.mjs +34 -52
  64. package/src/form/field/TextArea.mjs +2 -3
  65. package/src/form/field/trigger/Base.mjs +2 -3
  66. package/src/form/field/trigger/SpinUpDown.mjs +3 -4
  67. package/src/form/field/trigger/Time.mjs +3 -4
  68. package/src/grid/header/Toolbar.mjs +1 -2
  69. package/src/layout/Card.mjs +2 -2
  70. package/src/list/Base.mjs +6 -11
  71. package/src/list/plugin/Animate.mjs +5 -12
  72. package/src/plugin/Resizable.mjs +3 -6
  73. package/src/selection/Model.mjs +3 -7
  74. package/src/selection/grid/CellColumnModel.mjs +2 -5
  75. package/src/selection/grid/CellColumnRowModel.mjs +2 -5
  76. package/src/selection/grid/CellRowModel.mjs +4 -13
  77. package/src/selection/table/CellColumnModel.mjs +2 -5
  78. package/src/selection/table/CellColumnRowModel.mjs +2 -5
  79. package/src/selection/table/CellRowModel.mjs +4 -13
  80. package/src/sitemap/Component.mjs +1 -1
  81. package/src/tab/Strip.mjs +8 -11
  82. package/src/tab/header/Toolbar.mjs +2 -3
  83. package/src/table/header/Button.mjs +4 -6
  84. package/src/table/header/Toolbar.mjs +3 -5
  85. package/src/tree/List.mjs +6 -9
  86. package/src/vdom/Helper.mjs +1 -1
@@ -258,8 +258,7 @@ class Base extends Component {
258
258
  let me = this,
259
259
  items = me._items,
260
260
  itemsRoot = me.getVdomItemsRoot(),
261
- layout = me.layout,
262
- vdom = me.vdom;
261
+ layout = me.layout;
263
262
 
264
263
  itemsRoot.cn = [];
265
264
 
@@ -273,7 +272,7 @@ class Base extends Component {
273
272
  itemsRoot.cn.push(item.vdom);
274
273
  });
275
274
 
276
- me.vdom = vdom;
275
+ me.update();
277
276
  }
278
277
 
279
278
  /**
@@ -381,9 +380,7 @@ class Base extends Component {
381
380
  me.getVdomItemsRoot().cn.splice(index, 0, item.vdom);
382
381
  }
383
382
 
384
- if (silent) {
385
- me._vdom = vdom;
386
- } else {
383
+ if (!silent) {
387
384
  me.promiseVdomUpdate().then(() => {
388
385
  me.fire('insert', {
389
386
  index,
@@ -539,13 +536,12 @@ class Base extends Component {
539
536
  switchItems(item1id, item2id) {
540
537
  let me = this,
541
538
  item1Index = Neo.isNumber(item1id) ? item1id : me.indexOf(item1id),
542
- item2Index = Neo.isNumber(item2id) ? item2id : me.indexOf(item2id),
543
- vdom = me.vdom;
539
+ item2Index = Neo.isNumber(item2id) ? item2id : me.indexOf(item2id);
544
540
 
545
541
  NeoArray.move(me.items, item2Index, item1Index);
546
542
  NeoArray.move(me.getVdomItemsRoot().cn, item2Index, item1Index);
547
543
 
548
- me.vdom = vdom;
544
+ me.update();
549
545
  }
550
546
  }
551
547
 
@@ -215,11 +215,10 @@ class Base extends Panel {
215
215
  */
216
216
  afterSetMaximized(value, oldValue) {
217
217
  let me = this,
218
- vdom = me.vdom,
219
- cls = vdom.cls;
218
+ cls = me.vdom.cls; // todo: using wrapperCls
220
219
 
221
220
  NeoArray[value ? 'add' : 'remove'](cls, 'neo-maximized');
222
- me.vdom = vdom;
221
+ me.update();
223
222
  }
224
223
 
225
224
  /**
@@ -60,7 +60,6 @@ class DragZone extends BaseDragZone {
60
60
  let me = this,
61
61
  owner = me.owner,
62
62
  store = owner.store,
63
- vdom = owner.vdom,
64
63
  node;
65
64
 
66
65
  store.items.forEach((record, index) => {
@@ -72,7 +71,7 @@ class DragZone extends BaseDragZone {
72
71
  }
73
72
  });
74
73
 
75
- owner.vdom = vdom;
74
+ owner.update();
76
75
  }
77
76
 
78
77
  /**
@@ -42,7 +42,6 @@ class DragZone extends BaseDragZone {
42
42
  if (oldValue !== undefined) { // we only need to react to dynamic changes
43
43
  let owner = this.owner,
44
44
  store = owner.store,
45
- vdom = owner.vdom,
46
45
  node;
47
46
 
48
47
  store.items.forEach(record => {
@@ -53,7 +52,7 @@ class DragZone extends BaseDragZone {
53
52
  }
54
53
  });
55
54
 
56
- owner.vdom = vdom;
55
+ owner.update();
57
56
  }
58
57
  }
59
58
 
@@ -80,8 +80,7 @@ class Fieldset extends Container {
80
80
  * @protected
81
81
  */
82
82
  afterSetCollapsed(value, oldValue) {
83
- let me = this,
84
- vdom = me.vdom;
83
+ let me = this;
85
84
 
86
85
  NeoArray[value ? 'add' : 'remove'](me._cls, 'neo-collapsed');
87
86
 
@@ -116,7 +115,7 @@ class Fieldset extends Container {
116
115
  }
117
116
  }
118
117
 
119
- me.vdom = vdom;
118
+ me.update();
120
119
  }
121
120
 
122
121
  /**
@@ -206,8 +205,7 @@ class Fieldset extends Container {
206
205
  updateLegend() {
207
206
  let me = this,
208
207
  iconCls = me.collapsed ? me.iconClsUnchecked : me.iconClsChecked,
209
- title = me.title,
210
- vdom = me.vdom;
208
+ title = me.title;
211
209
 
212
210
  if (iconCls === '' && title === '') {
213
211
  if (me.legend) {
@@ -231,7 +229,7 @@ class Fieldset extends Container {
231
229
  }
232
230
  }
233
231
 
234
- me.vdom = vdom;
232
+ me.update();
235
233
  }
236
234
  }
237
235
 
@@ -88,11 +88,10 @@ class CheckBox extends Base {
88
88
  * @protected
89
89
  */
90
90
  afterSetChecked(value, oldValue) {
91
- let me = this,
92
- vdom = me.vdom;
91
+ let me = this;
93
92
 
94
- vdom.cn[1].checked = value;
95
- me.vdom = vdom;
93
+ me.vdom.cn[1].checked = value;
94
+ me.update();
96
95
 
97
96
  if (oldValue !== undefined) {
98
97
  me.fire('change', {
@@ -111,8 +110,7 @@ class CheckBox extends Base {
111
110
  */
112
111
  afterSetEnableLabelClicks(value, oldValue) {
113
112
  let me = this,
114
- vdom = me.vdom,
115
- label = vdom.cn[2];
113
+ label = me.vdom.cn[2];
116
114
 
117
115
  if (value) {
118
116
  label.for = me.getInputElId();
@@ -120,7 +118,7 @@ class CheckBox extends Base {
120
118
  delete label.for;
121
119
  }
122
120
 
123
- me.vdom = vdom;
121
+ me.update();
124
122
  }
125
123
 
126
124
  /**
@@ -130,10 +128,8 @@ class CheckBox extends Base {
130
128
  * @protected
131
129
  */
132
130
  afterSetHideLabel(value, oldValue) {
133
- let vdom = this.vdom;
134
-
135
- vdom.cn[0].removeDom = value;
136
- this.vdom = vdom;
131
+ this.vdom.cn[0].removeDom = value;
132
+ this.update();
137
133
  }
138
134
 
139
135
  /**
@@ -143,10 +139,8 @@ class CheckBox extends Base {
143
139
  * @protected
144
140
  */
145
141
  afterSetHideValueLabel(value, oldValue) {
146
- let vdom = this.vdom;
147
-
148
- vdom.cn[2].removeDom = value;
149
- this.vdom = vdom;
142
+ this.vdom.cn[2].removeDom = value;
143
+ this.update();
150
144
  }
151
145
 
152
146
  /**
@@ -174,10 +168,8 @@ class CheckBox extends Base {
174
168
  * @protected
175
169
  */
176
170
  afterSetInputType(value, oldValue) {
177
- let vdom = this.vdom;
178
-
179
- vdom.cn[1].type = value;
180
- this.vdom = vdom;
171
+ this.vdom.cn[1].type = value;
172
+ this.update();
181
173
  }
182
174
 
183
175
  /**
@@ -187,10 +179,8 @@ class CheckBox extends Base {
187
179
  * @protected
188
180
  */
189
181
  afterSetLabelText(value, oldValue) {
190
- let vdom = this.vdom;
191
-
192
- vdom.cn[0].innerHTML = value;
193
- this.vdom = vdom;
182
+ this.vdom.cn[0].innerHTML = value;
183
+ this.update();
194
184
  }
195
185
 
196
186
  /**
@@ -200,12 +190,11 @@ class CheckBox extends Base {
200
190
  * @protected
201
191
  */
202
192
  afterSetLabelWidth(value, oldValue) {
203
- let me = this,
204
- vdom = me.vdom;
193
+ let me = this;
205
194
 
206
195
  if (!me.hideLabel) {
207
- vdom.cn[0].width = value;
208
- me.vdom = vdom;
196
+ me.vdom.cn[0].width = value;
197
+ me.update();
209
198
  }
210
199
  }
211
200
 
@@ -216,10 +205,8 @@ class CheckBox extends Base {
216
205
  * @protected
217
206
  */
218
207
  afterSetName(value, oldValue) {
219
- let vdom = this.vdom;
220
-
221
- vdom.cn[1].name = value;
222
- this.vdom = vdom;
208
+ this.vdom.cn[1].name = value;
209
+ this.update();
223
210
  }
224
211
 
225
212
  /**
@@ -230,10 +217,8 @@ class CheckBox extends Base {
230
217
  */
231
218
  afterSetValue(value, oldValue) {
232
219
  if (value) {
233
- let vdom = this.vdom;
234
-
235
- vdom.cn[1].value = value;
236
- this.vdom = vdom;
220
+ this.vdom.cn[1].value = value;
221
+ this.update();
237
222
  }
238
223
 
239
224
  super.afterSetValue(value, oldValue);
@@ -246,12 +231,11 @@ class CheckBox extends Base {
246
231
  * @protected
247
232
  */
248
233
  afterSetValueLabelText(value, oldValue) {
249
- let me = this,
250
- vdom = me.vdom;
234
+ let me = this;
251
235
 
252
236
  if (!me.hideValueLabel) {
253
- vdom.cn[2].innerHTML = value;
254
- me.vdom = vdom;
237
+ me.vdom.cn[2].innerHTML = value;
238
+ me.update();
255
239
  }
256
240
  }
257
241
 
@@ -51,8 +51,7 @@ class Color extends Select {
51
51
  super.construct(config);
52
52
 
53
53
  let me = this,
54
- vdom = me.vdom,
55
- inputWrapper = VDomUtil.findVdomChild(vdom, {id: me.getInputWrapperId()});
54
+ inputWrapper = VDomUtil.findVdomChild(me.vdom, {id: me.getInputWrapperId()});
56
55
 
57
56
  inputWrapper.vdom.cn.unshift({
58
57
  cls : 'neo-color',
@@ -62,7 +61,7 @@ class Color extends Select {
62
61
  }
63
62
  });
64
63
 
65
- me.vdom = vdom;
64
+ me.update();
66
65
  }
67
66
 
68
67
  /**
@@ -35,13 +35,12 @@ class Display extends Text {
35
35
  super.construct(config);
36
36
 
37
37
  let me = this,
38
- vdom = me.vdom,
39
38
  inputEl = me.getInputEl();
40
39
 
41
40
  inputEl.readonly = 'readonly';
42
41
  inputEl.tabindex = '-1';
43
42
 
44
- me.vdom = vdom;
43
+ me.update();
45
44
  }
46
45
  }
47
46
 
@@ -79,7 +79,6 @@ class Number extends Text {
79
79
  */
80
80
  afterSetInputEditable(value, oldValue) {
81
81
  let me = this,
82
- vdom = me.vdom,
83
82
  inputEl = me.getInputEl(),
84
83
  style = inputEl.style || {};
85
84
 
@@ -89,7 +88,7 @@ class Number extends Text {
89
88
  style.pointerEvents = 'none';
90
89
  }
91
90
 
92
- me.vdom = vdom;
91
+ me.update();
93
92
  }
94
93
 
95
94
  /**
@@ -183,7 +183,6 @@ class Picker extends Text {
183
183
  me.pickerIsMounted = false;
184
184
 
185
185
  if (silent) {
186
- me._vdom = vdom;
187
186
  picker.mounted = false;
188
187
  } else {
189
188
  me.promiseVdomUpdate().then(data => {
@@ -243,12 +243,9 @@ class Text extends Base {
243
243
  * @protected
244
244
  */
245
245
  afterSetHideLabel(value, oldValue) {
246
- let me = this,
247
- vdom = me.vdom;
248
-
249
- vdom.cn[0].removeDom = value;
250
- me._vdom = vdom; // silent update
246
+ let me = this;
251
247
 
248
+ me.vdom.cn[0].removeDom = value;
252
249
  me.updateInputWidth();
253
250
  }
254
251
 
@@ -313,8 +310,6 @@ class Text extends Base {
313
310
  vdom.cn[0] = me.getLabelEl(); // remove the wrapper
314
311
 
315
312
  vdom.cn[0].width = me.labelWidth;
316
-
317
- me._vdom = vdom; // silent update
318
313
  me.updateInputWidth();
319
314
  } else if (value === 'inline') {
320
315
  centerBorderElCls = ['neo-center-border'];
@@ -339,14 +334,14 @@ class Text extends Base {
339
334
  }]
340
335
  };
341
336
 
342
- me._vdom = vdom; // silent update
343
337
  me.updateInputWidth();
344
338
 
345
- if (!isEmpty) {
346
- setTimeout(() => {
347
- me.updateCenterBorderElWidth(false);
348
- }, 20);
349
- }
339
+ !isEmpty && setTimeout(() => {
340
+ me.updateCenterBorderElWidth(false);
341
+ }, 20);
342
+ } else {
343
+ // changes from e.g. left to top
344
+ me.updateInputWidth();
350
345
  }
351
346
  }
352
347
 
@@ -358,24 +353,21 @@ class Text extends Base {
358
353
  */
359
354
  afterSetLabelText(value, oldValue) {
360
355
  let me = this,
361
- isEmpty = me.isEmpty(),
362
- vdom = me.vdom;
356
+ isEmpty = me.isEmpty();
363
357
 
364
358
  me.getLabelEl().innerHTML = value;
365
359
 
366
- if (me.hideLabel) {
367
- me._vdom = vdom; // silent update
368
- } else {
360
+ if (!me.hideLabel) {
369
361
  if (me.labelPosition === 'inline') {
370
362
  if (!isEmpty) {
371
363
  delete me.getCenterBorderEl().width;
372
364
  }
373
365
 
374
- me.promiseVdomUpdate(vdom).then(() => {
366
+ me.promiseVdomUpdate().then(() => {
375
367
  me.updateCenterBorderElWidth(isEmpty);
376
368
  });
377
369
  } else {
378
- me.vdom = vdom;
370
+ me.update();
379
371
  }
380
372
  }
381
373
  }
@@ -393,9 +385,6 @@ class Text extends Base {
393
385
  label = vdom.cn[0];
394
386
 
395
387
  label.width = value;
396
-
397
- me._vdom = vdom; // silent update
398
-
399
388
  !me.hideLabel && me.updateInputWidth();
400
389
  }
401
390
  }
@@ -557,9 +546,8 @@ class Text extends Base {
557
546
  * @protected
558
547
  */
559
548
  afterSetValue(value, oldValue) {
560
- let me = this,
561
- cls = me.cls,
562
- vdom = me.vdom;
549
+ let me = this,
550
+ cls = me.cls;
563
551
 
564
552
  me.getInputEl().value = value;
565
553
 
@@ -571,7 +559,7 @@ class Text extends Base {
571
559
  me.validate(); // silent
572
560
 
573
561
  me.cls = cls;
574
- me.vdom = vdom;
562
+ me.update();
575
563
 
576
564
  super.afterSetValue(value, oldValue); // fires the change event
577
565
  }
@@ -673,8 +661,7 @@ class Text extends Base {
673
661
  * @param {Array|Number|Object|String|null} value
674
662
  */
675
663
  changeInputElKey(key, value) {
676
- let me = this,
677
- vdom = me.vdom;
664
+ let me = this;
678
665
 
679
666
  if (value || Neo.isBoolean(value) || value === 0) {
680
667
  me.getInputEl()[key] = value;
@@ -682,7 +669,7 @@ class Text extends Base {
682
669
  delete me.getInputEl()[key];
683
670
  }
684
671
 
685
- me.vdom = vdom;
672
+ me.update();
686
673
  }
687
674
 
688
675
  /**
@@ -870,17 +857,15 @@ class Text extends Base {
870
857
  */
871
858
  onFocusEnter(data) {
872
859
  let me = this,
873
- cls = me.cls,
874
- vdom;
860
+ cls = me.cls;
875
861
 
876
862
  NeoArray.add(cls, 'neo-focus');
877
863
  me.cls = cls;
878
864
 
879
865
  if (me.labelPosition === 'inline') {
880
866
  if (me.centerBorderElWidth) {
881
- vdom = me.vdom;
882
867
  me.getCenterBorderEl().width = me.centerBorderElWidth;
883
- me.vdom = vdom;
868
+ me.update();
884
869
  } else {
885
870
  me.updateCenterBorderElWidth(false);
886
871
  }
@@ -895,8 +880,7 @@ class Text extends Base {
895
880
  onFocusLeave(data) {
896
881
  let me = this,
897
882
  centerBorderEl = me.getCenterBorderEl(), // labelPosition: 'inline'
898
- cls = me.cls,
899
- vdom = me.vdom;
883
+ cls = me.cls;
900
884
 
901
885
  me.validate(); // silent
902
886
 
@@ -907,7 +891,7 @@ class Text extends Base {
907
891
  delete centerBorderEl.width;
908
892
  }
909
893
 
910
- me.vdom = vdom;
894
+ me.update();
911
895
  }
912
896
 
913
897
  /**
@@ -972,8 +956,12 @@ class Text extends Base {
972
956
  reset(value=null) {
973
957
  let me = this;
974
958
 
975
- if (value && me.clearToOriginalValue) {
976
- me.originalConfig.value = value;
959
+ if (me.clearToOriginalValue) {
960
+ if (value) {
961
+ me.originalConfig.value = value;
962
+ } else {
963
+ value = me.originalConfig.value
964
+ }
977
965
  }
978
966
 
979
967
  super.reset(value);
@@ -995,10 +983,8 @@ class Text extends Base {
995
983
  me.centerBorderElWidth = Math.round(data.width * .7) + 8;
996
984
 
997
985
  if (!silent) {
998
- let vdom = me.vdom;
999
-
1000
986
  me.getCenterBorderEl().width = me.centerBorderElWidth;
1001
- me.vdom = vdom;
987
+ me.update();
1002
988
  }
1003
989
  });
1004
990
  }
@@ -1008,8 +994,7 @@ class Text extends Base {
1008
994
  @param {Boolean} silent=false
1009
995
  */
1010
996
  updateError(value, silent=false) {
1011
- let me = this,
1012
- vdom = me.vdom,
997
+ let me = this,
1013
998
  errorNode, isValid;
1014
999
 
1015
1000
  if (!(me.validBeforeMount && !me.mounted)) {
@@ -1029,9 +1014,7 @@ class Text extends Base {
1029
1014
 
1030
1015
  errorNode.removeDom = isValid;
1031
1016
 
1032
- if (!silent) {
1033
- me.vdom = vdom;
1034
- }
1017
+ !silent && me.update();
1035
1018
  }
1036
1019
  }
1037
1020
 
@@ -1041,16 +1024,15 @@ class Text extends Base {
1041
1024
  */
1042
1025
  updateInputWidth() {
1043
1026
  let me = this,
1044
- inputWidth = me.getInputWidth(),
1045
- vdom = me.vdom;
1027
+ inputWidth = me.getInputWidth();
1046
1028
 
1047
1029
  if (inputWidth !== null && inputWidth !== me.width) {
1048
- vdom.cn[1].width = inputWidth;
1030
+ me.vdom.cn[1].width = inputWidth;
1049
1031
  } else {
1050
- delete vdom.cn[1].width;
1032
+ delete me.vdom.cn[1].width;
1051
1033
  }
1052
1034
 
1053
- me.vdom = vdom;
1035
+ me.update();
1054
1036
  }
1055
1037
 
1056
1038
  /**
@@ -97,11 +97,10 @@ class TextArea extends Text {
97
97
  */
98
98
  afterSetResizable(value, oldValue) {
99
99
  let me = this,
100
- style = this.getInputEl().style,
101
- vdom = me.vdom;
100
+ style = this.getInputEl().style;
102
101
 
103
102
  style.resize = value ? null : 'none';
104
- me.vdom = vdom;
103
+ me.update();
105
104
  }
106
105
 
107
106
  /**
@@ -119,11 +119,10 @@ class Base extends Component {
119
119
  * @protected
120
120
  */
121
121
  afterSetHidden(value, oldValue) {
122
- let vdom = this.vdom,
123
- style = vdom.style || {};
122
+ let style = this.style;
124
123
 
125
124
  style.display = value ? 'none' : 'inline-block';
126
- this.vdom = vdom;
125
+ this.style = style;
127
126
  }
128
127
 
129
128
  /**
@@ -41,15 +41,14 @@ class SpinUpDown extends Base {
41
41
  *
42
42
  */
43
43
  onConstructed() {
44
- let me = this,
45
- vdom = me.vdom;
44
+ let me = this;
46
45
 
47
- vdom.cn = [
46
+ me.vdom.cn = [
48
47
  {cls: ['neo-spin-button', 'neo-up', me.spinButtonUpIconCls]},
49
48
  {cls: ['neo-spin-button', 'neo-down', me.spinButtonDownIconCls]}
50
49
  ];
51
50
 
52
- me.vdom = vdom;
51
+ me.update();
53
52
 
54
53
  super.onConstructed();
55
54
  }
@@ -53,8 +53,7 @@ class Time extends Picker {
53
53
  construct(config) {
54
54
  super.construct(config);
55
55
 
56
- let me = this,
57
- vdom = me.vdom;
56
+ let me = this;
58
57
 
59
58
  me.clock = Neo.create({
60
59
  module : Clock,
@@ -66,8 +65,8 @@ class Time extends Picker {
66
65
  ...me.clockConfig
67
66
  });
68
67
 
69
- vdom.cn = [me.clock.vdom];
70
- me.vdom = vdom;
68
+ me.vdom.cn = [me.clock.vdom];
69
+ me.update();
71
70
  }
72
71
 
73
72
  /**
@@ -43,7 +43,6 @@ class Toolbar extends BaseToolbar {
43
43
  dockRightWidth = 0,
44
44
  items = me.items,
45
45
  len = items.length,
46
- vdom = me.vdom,
47
46
  style;
48
47
 
49
48
  items.forEach((item, index) => {
@@ -79,7 +78,7 @@ class Toolbar extends BaseToolbar {
79
78
  }
80
79
  });
81
80
 
82
- me.vdom = vdom;
81
+ me.update();
83
82
  }
84
83
  }
85
84
 
@@ -135,7 +135,7 @@ class Card extends Base {
135
135
  }
136
136
 
137
137
  if (removeInactiveCards || needsUpdate) {
138
- container.vdom = vdom;
138
+ container.update();
139
139
  }
140
140
  }
141
141
  }
@@ -159,7 +159,7 @@ class Card extends Base {
159
159
  if (!keepInDom && me.removeInactiveCards) {
160
160
  item.wrapperCls = childCls;
161
161
  vdom.removeDom = !isActiveIndex;
162
- item.vdom = vdom;
162
+ item.update();
163
163
  } else {
164
164
  item.wrapperCls = childCls;
165
165
  }