neo.mjs 4.3.9 → 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 (84) 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/src/button/Base.mjs +14 -24
  35. package/src/button/Split.mjs +3 -4
  36. package/src/calendar/view/MainContainer.mjs +3 -5
  37. package/src/calendar/view/SettingsContainer.mjs +3 -5
  38. package/src/calendar/view/YearComponent.mjs +7 -9
  39. package/src/calendar/view/month/Component.mjs +7 -12
  40. package/src/calendar/view/week/Component.mjs +2 -3
  41. package/src/calendar/view/week/TimeAxisComponent.mjs +0 -3
  42. package/src/component/Base.mjs +24 -25
  43. package/src/component/Carousel.mjs +5 -9
  44. package/src/component/Chip.mjs +6 -12
  45. package/src/component/Circle.mjs +16 -22
  46. package/src/component/Clock.mjs +1 -1
  47. package/src/component/DateSelector.mjs +4 -9
  48. package/src/component/Gallery.mjs +12 -21
  49. package/src/component/Helix.mjs +2 -3
  50. package/src/component/Label.mjs +2 -3
  51. package/src/component/Legend.mjs +6 -9
  52. package/src/container/Base.mjs +5 -9
  53. package/src/dialog/Base.mjs +2 -3
  54. package/src/draggable/list/DragZone.mjs +1 -2
  55. package/src/draggable/tree/DragZone.mjs +1 -2
  56. package/src/form/Fieldset.mjs +4 -6
  57. package/src/form/field/CheckBox.mjs +23 -39
  58. package/src/form/field/Color.mjs +2 -3
  59. package/src/form/field/Display.mjs +1 -2
  60. package/src/form/field/Number.mjs +1 -2
  61. package/src/form/field/Picker.mjs +0 -1
  62. package/src/form/field/Text.mjs +25 -50
  63. package/src/form/field/TextArea.mjs +2 -3
  64. package/src/form/field/trigger/Base.mjs +2 -3
  65. package/src/form/field/trigger/SpinUpDown.mjs +3 -4
  66. package/src/form/field/trigger/Time.mjs +3 -4
  67. package/src/grid/header/Toolbar.mjs +1 -2
  68. package/src/layout/Card.mjs +2 -2
  69. package/src/list/Base.mjs +6 -11
  70. package/src/list/plugin/Animate.mjs +5 -12
  71. package/src/plugin/Resizable.mjs +3 -6
  72. package/src/selection/Model.mjs +3 -7
  73. package/src/selection/grid/CellColumnModel.mjs +2 -5
  74. package/src/selection/grid/CellColumnRowModel.mjs +2 -5
  75. package/src/selection/grid/CellRowModel.mjs +4 -13
  76. package/src/selection/table/CellColumnModel.mjs +2 -5
  77. package/src/selection/table/CellColumnRowModel.mjs +2 -5
  78. package/src/selection/table/CellRowModel.mjs +4 -13
  79. package/src/sitemap/Component.mjs +1 -1
  80. package/src/tab/Strip.mjs +8 -11
  81. package/src/tab/header/Toolbar.mjs +2 -3
  82. package/src/table/header/Button.mjs +4 -6
  83. package/src/table/header/Toolbar.mjs +3 -5
  84. package/src/tree/List.mjs +6 -9
@@ -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,11 @@ 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);
350
342
  } else {
351
343
  // changes from e.g. left to top
352
344
  me.updateInputWidth();
@@ -361,24 +353,21 @@ class Text extends Base {
361
353
  */
362
354
  afterSetLabelText(value, oldValue) {
363
355
  let me = this,
364
- isEmpty = me.isEmpty(),
365
- vdom = me.vdom;
356
+ isEmpty = me.isEmpty();
366
357
 
367
358
  me.getLabelEl().innerHTML = value;
368
359
 
369
- if (me.hideLabel) {
370
- me._vdom = vdom; // silent update
371
- } else {
360
+ if (!me.hideLabel) {
372
361
  if (me.labelPosition === 'inline') {
373
362
  if (!isEmpty) {
374
363
  delete me.getCenterBorderEl().width;
375
364
  }
376
365
 
377
- me.promiseVdomUpdate(vdom).then(() => {
366
+ me.promiseVdomUpdate().then(() => {
378
367
  me.updateCenterBorderElWidth(isEmpty);
379
368
  });
380
369
  } else {
381
- me.vdom = vdom;
370
+ me.update();
382
371
  }
383
372
  }
384
373
  }
@@ -396,9 +385,6 @@ class Text extends Base {
396
385
  label = vdom.cn[0];
397
386
 
398
387
  label.width = value;
399
-
400
- me._vdom = vdom; // silent update
401
-
402
388
  !me.hideLabel && me.updateInputWidth();
403
389
  }
404
390
  }
@@ -560,9 +546,8 @@ class Text extends Base {
560
546
  * @protected
561
547
  */
562
548
  afterSetValue(value, oldValue) {
563
- let me = this,
564
- cls = me.cls,
565
- vdom = me.vdom;
549
+ let me = this,
550
+ cls = me.cls;
566
551
 
567
552
  me.getInputEl().value = value;
568
553
 
@@ -574,7 +559,7 @@ class Text extends Base {
574
559
  me.validate(); // silent
575
560
 
576
561
  me.cls = cls;
577
- me.vdom = vdom;
562
+ me.update();
578
563
 
579
564
  super.afterSetValue(value, oldValue); // fires the change event
580
565
  }
@@ -676,8 +661,7 @@ class Text extends Base {
676
661
  * @param {Array|Number|Object|String|null} value
677
662
  */
678
663
  changeInputElKey(key, value) {
679
- let me = this,
680
- vdom = me.vdom;
664
+ let me = this;
681
665
 
682
666
  if (value || Neo.isBoolean(value) || value === 0) {
683
667
  me.getInputEl()[key] = value;
@@ -685,7 +669,7 @@ class Text extends Base {
685
669
  delete me.getInputEl()[key];
686
670
  }
687
671
 
688
- me.vdom = vdom;
672
+ me.update();
689
673
  }
690
674
 
691
675
  /**
@@ -873,17 +857,15 @@ class Text extends Base {
873
857
  */
874
858
  onFocusEnter(data) {
875
859
  let me = this,
876
- cls = me.cls,
877
- vdom;
860
+ cls = me.cls;
878
861
 
879
862
  NeoArray.add(cls, 'neo-focus');
880
863
  me.cls = cls;
881
864
 
882
865
  if (me.labelPosition === 'inline') {
883
866
  if (me.centerBorderElWidth) {
884
- vdom = me.vdom;
885
867
  me.getCenterBorderEl().width = me.centerBorderElWidth;
886
- me.vdom = vdom;
868
+ me.update();
887
869
  } else {
888
870
  me.updateCenterBorderElWidth(false);
889
871
  }
@@ -898,8 +880,7 @@ class Text extends Base {
898
880
  onFocusLeave(data) {
899
881
  let me = this,
900
882
  centerBorderEl = me.getCenterBorderEl(), // labelPosition: 'inline'
901
- cls = me.cls,
902
- vdom = me.vdom;
883
+ cls = me.cls;
903
884
 
904
885
  me.validate(); // silent
905
886
 
@@ -910,7 +891,7 @@ class Text extends Base {
910
891
  delete centerBorderEl.width;
911
892
  }
912
893
 
913
- me.vdom = vdom;
894
+ me.update();
914
895
  }
915
896
 
916
897
  /**
@@ -1002,10 +983,8 @@ class Text extends Base {
1002
983
  me.centerBorderElWidth = Math.round(data.width * .7) + 8;
1003
984
 
1004
985
  if (!silent) {
1005
- let vdom = me.vdom;
1006
-
1007
986
  me.getCenterBorderEl().width = me.centerBorderElWidth;
1008
- me.vdom = vdom;
987
+ me.update();
1009
988
  }
1010
989
  });
1011
990
  }
@@ -1015,8 +994,7 @@ class Text extends Base {
1015
994
  @param {Boolean} silent=false
1016
995
  */
1017
996
  updateError(value, silent=false) {
1018
- let me = this,
1019
- vdom = me.vdom,
997
+ let me = this,
1020
998
  errorNode, isValid;
1021
999
 
1022
1000
  if (!(me.validBeforeMount && !me.mounted)) {
@@ -1036,9 +1014,7 @@ class Text extends Base {
1036
1014
 
1037
1015
  errorNode.removeDom = isValid;
1038
1016
 
1039
- if (!silent) {
1040
- me.vdom = vdom;
1041
- }
1017
+ !silent && me.update();
1042
1018
  }
1043
1019
  }
1044
1020
 
@@ -1048,16 +1024,15 @@ class Text extends Base {
1048
1024
  */
1049
1025
  updateInputWidth() {
1050
1026
  let me = this,
1051
- inputWidth = me.getInputWidth(),
1052
- vdom = me.vdom;
1027
+ inputWidth = me.getInputWidth();
1053
1028
 
1054
1029
  if (inputWidth !== null && inputWidth !== me.width) {
1055
- vdom.cn[1].width = inputWidth;
1030
+ me.vdom.cn[1].width = inputWidth;
1056
1031
  } else {
1057
- delete vdom.cn[1].width;
1032
+ delete me.vdom.cn[1].width;
1058
1033
  }
1059
1034
 
1060
- me.vdom = vdom;
1035
+ me.update();
1061
1036
  }
1062
1037
 
1063
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
  }
package/src/list/Base.mjs CHANGED
@@ -374,13 +374,9 @@ class Base extends Component {
374
374
  listItem && vdom.cn.push(listItem);
375
375
  });
376
376
 
377
- if (silent) {
378
- me._vdom = vdom;
379
- } else {
380
- me.promiseVdomUpdate().then(() => {
381
- me.fire('createItems');
382
- });
383
- }
377
+ !silent && me.promiseVdomUpdate().then(() => {
378
+ me.fire('createItems');
379
+ });
384
380
  }
385
381
  }
386
382
 
@@ -538,13 +534,12 @@ class Base extends Component {
538
534
  */
539
535
  onStoreRecordChange(data) {
540
536
  let me = this,
541
- index = data.index,
542
- vdom = me.vdom;
537
+ index = data.index;
543
538
 
544
539
  // ignore changes for records which have not been added to the list yet
545
540
  if (index > -1) {
546
- vdom.cn[index] = me.createItem(data.record, index);
547
- me.vdom = vdom;
541
+ me.vdom.cn[index] = me.createItem(data.record, index);
542
+ me.update();
548
543
  }
549
544
  }
550
545
 
@@ -265,15 +265,10 @@ class Animate extends Base {
265
265
  }
266
266
  });
267
267
 
268
- if (hasAddedItems) {
269
- owner.vdom = vdom;
270
- }
268
+ hasAddedItems && owner.update();
271
269
 
272
270
  // ensure to get into the next animation frame
273
271
  setTimeout(() => {
274
- // get the latest version of the vdom, since this is a delayed callback
275
- vdom = owner.vdom;
276
-
277
272
  // new items are already added into the vdom, while old items are not yet removed
278
273
  // => we need a map to ensure getting the correct index
279
274
  map = vdom.cn.map(e => e.id);
@@ -309,8 +304,7 @@ class Animate extends Base {
309
304
  }
310
305
  });
311
306
 
312
- owner.vdom = vdom;
313
-
307
+ owner.update();
314
308
  me.triggerTransitionCallback();
315
309
  }, 50);
316
310
  }
@@ -359,9 +353,8 @@ class Animate extends Base {
359
353
  });
360
354
 
361
355
  if (hasChange) {
362
- owner.vdom.cn = newVdomCn;
363
-
364
- owner.vdom = vdom;
356
+ vdom.cn = newVdomCn;
357
+ owner.update();
365
358
 
366
359
  // we need to ensure to get this call into the next animation frame
367
360
  setTimeout(() => {
@@ -398,7 +391,7 @@ class Animate extends Base {
398
391
  item.style.transform = `translate(${position.x}px, ${position.y}px)`;
399
392
  });
400
393
 
401
- owner.vdom = vdom;
394
+ owner.update();
402
395
  }
403
396
  }
404
397