neo.mjs 4.3.9 → 4.3.11
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/README.md +1 -1
- package/apps/covid/view/MainContainerController.mjs +9 -11
- package/apps/krausest/view/MainComponent.mjs +3 -4
- package/apps/krausest/view/TableComponent.mjs +2 -3
- package/apps/realworld/view/HeaderComponent.mjs +7 -10
- package/apps/realworld/view/HomeComponent.mjs +16 -24
- package/apps/realworld/view/MainContainerController.mjs +3 -3
- package/apps/realworld/view/article/CommentComponent.mjs +11 -19
- package/apps/realworld/view/article/Component.mjs +20 -36
- package/apps/realworld/view/article/CreateCommentComponent.mjs +9 -16
- package/apps/realworld/view/article/CreateComponent.mjs +12 -20
- package/apps/realworld/view/article/PreviewComponent.mjs +16 -30
- package/apps/realworld/view/article/TagListComponent.mjs +4 -5
- package/apps/realworld/view/user/ProfileComponent.mjs +14 -21
- package/apps/realworld/view/user/SettingsComponent.mjs +9 -16
- package/apps/realworld/view/user/SignUpComponent.mjs +6 -9
- package/apps/realworld2/view/MainContainerController.mjs +2 -2
- package/apps/realworld2/view/article/PreviewComponent.mjs +17 -31
- package/apps/realworld2/view/article/PreviewList.mjs +4 -7
- package/apps/realworld2/view/article/TagListComponent.mjs +4 -5
- package/apps/sharedcovid/view/MainContainerController.mjs +10 -13
- package/apps/website/data/blog.json +1 -1
- package/apps/website/view/blog/List.mjs +2 -3
- package/buildScripts/injectPackageVersion.mjs +43 -0
- package/docs/app/view/ApiTreeList.mjs +2 -6
- package/docs/app/view/ExamplesTreeList.mjs +2 -6
- package/docs/app/view/TutorialsTreeList.mjs +2 -6
- package/docs/app/view/classdetails/HeaderComponent.mjs +3 -4
- package/docs/app/view/classdetails/HierarchyTreeList.mjs +1 -2
- package/docs/app/view/classdetails/MembersList.mjs +4 -6
- package/docs/app/view/classdetails/SourceViewComponent.mjs +3 -6
- package/docs/app/view/classdetails/TutorialComponent.mjs +4 -5
- package/examples/component/coronaGallery/CountryGallery.mjs +36 -59
- package/examples/form/field/date/MainContainer.mjs +1 -1
- package/examples/tabs/MainContainer.mjs +4 -6
- package/examples/todoList/version1/MainComponent.mjs +5 -7
- package/examples/todoList/version2/TodoList.mjs +4 -5
- package/package.json +8 -7
- package/resources/scss/src/draggable/tree/DragZone.scss +3 -1
- package/src/DefaultConfig.mjs +9 -1
- package/src/button/Base.mjs +18 -27
- package/src/button/Split.mjs +3 -4
- package/src/calendar/view/MainContainer.mjs +3 -5
- package/src/calendar/view/SettingsContainer.mjs +3 -5
- package/src/calendar/view/YearComponent.mjs +7 -9
- package/src/calendar/view/month/Component.mjs +7 -12
- package/src/calendar/view/week/Component.mjs +2 -3
- package/src/calendar/view/week/TimeAxisComponent.mjs +0 -3
- package/src/component/Base.mjs +37 -55
- package/src/component/Carousel.mjs +5 -9
- package/src/component/Chip.mjs +6 -12
- package/src/component/Circle.mjs +16 -22
- package/src/component/Clock.mjs +1 -1
- package/src/component/DateSelector.mjs +4 -9
- package/src/component/Gallery.mjs +12 -21
- package/src/component/Helix.mjs +2 -3
- package/src/component/Label.mjs +2 -3
- package/src/component/Legend.mjs +6 -9
- package/src/container/Base.mjs +5 -9
- package/src/container/Panel.mjs +4 -0
- package/src/dialog/Base.mjs +40 -42
- package/src/dialog/header/Toolbar.mjs +105 -0
- package/src/draggable/list/DragZone.mjs +1 -2
- package/src/draggable/tree/DragZone.mjs +1 -2
- package/src/form/Fieldset.mjs +4 -6
- package/src/form/field/CheckBox.mjs +23 -39
- package/src/form/field/Color.mjs +2 -3
- package/src/form/field/Display.mjs +1 -2
- package/src/form/field/Number.mjs +1 -2
- package/src/form/field/Picker.mjs +0 -1
- package/src/form/field/Text.mjs +40 -57
- package/src/form/field/TextArea.mjs +2 -3
- package/src/form/field/trigger/Base.mjs +2 -3
- package/src/form/field/trigger/SpinUpDown.mjs +3 -4
- package/src/form/field/trigger/Time.mjs +3 -4
- package/src/grid/View.mjs +2 -2
- package/src/grid/header/Toolbar.mjs +1 -2
- package/src/layout/Card.mjs +2 -2
- package/src/list/Base.mjs +6 -11
- package/src/list/plugin/Animate.mjs +5 -12
- package/src/plugin/Resizable.mjs +3 -6
- package/src/selection/Model.mjs +3 -7
- package/src/selection/grid/CellColumnModel.mjs +2 -5
- package/src/selection/grid/CellColumnRowModel.mjs +2 -5
- package/src/selection/grid/CellRowModel.mjs +4 -13
- package/src/selection/table/CellColumnModel.mjs +2 -5
- package/src/selection/table/CellColumnRowModel.mjs +2 -5
- package/src/selection/table/CellRowModel.mjs +4 -13
- package/src/sitemap/Component.mjs +1 -1
- package/src/tab/Strip.mjs +8 -11
- package/src/tab/header/Toolbar.mjs +2 -3
- package/src/table/View.mjs +3 -3
- package/src/table/header/Button.mjs +4 -6
- package/src/table/header/Toolbar.mjs +3 -5
- package/src/tree/List.mjs +6 -9
package/src/button/Base.mjs
CHANGED
@@ -143,16 +143,16 @@ class Base extends Component {
|
|
143
143
|
* @protected
|
144
144
|
*/
|
145
145
|
afterSetBadgePosition(value, oldValue) {
|
146
|
-
let me
|
147
|
-
|
148
|
-
cls
|
149
|
-
vdom = me.vdom;
|
146
|
+
let me = this,
|
147
|
+
badgeNode = me.getBadgeNode(),
|
148
|
+
cls = badgeNode.cls || [];
|
150
149
|
|
151
150
|
NeoArray.remove(cls, 'neo-' + oldValue);
|
152
151
|
NeoArray.add(cls, 'neo-' + value);
|
153
152
|
|
154
|
-
|
155
|
-
|
153
|
+
badgeNode.cls = cls;
|
154
|
+
|
155
|
+
me.update();
|
156
156
|
}
|
157
157
|
|
158
158
|
/**
|
@@ -163,13 +163,12 @@ class Base extends Component {
|
|
163
163
|
*/
|
164
164
|
afterSetBadgeText(value, oldValue) {
|
165
165
|
let me = this,
|
166
|
-
badgeNode = me.getBadgeNode()
|
167
|
-
vdom = me.vdom;
|
166
|
+
badgeNode = me.getBadgeNode();
|
168
167
|
|
169
168
|
badgeNode.html = value;
|
170
169
|
badgeNode.removeDom = !Boolean(value);
|
171
170
|
|
172
|
-
me.
|
171
|
+
me.update();
|
173
172
|
}
|
174
173
|
|
175
174
|
/**
|
@@ -195,7 +194,6 @@ class Base extends Component {
|
|
195
194
|
*/
|
196
195
|
afterSetIconCls(value, oldValue) {
|
197
196
|
let me = this,
|
198
|
-
vdom = me.vdom,
|
199
197
|
iconNode = me.getIconNode();
|
200
198
|
|
201
199
|
NeoArray.remove(iconNode.cls, oldValue);
|
@@ -203,7 +201,7 @@ class Base extends Component {
|
|
203
201
|
|
204
202
|
iconNode.removeDom = !value || value === '';
|
205
203
|
|
206
|
-
me.
|
204
|
+
me.update();
|
207
205
|
}
|
208
206
|
|
209
207
|
/**
|
@@ -214,7 +212,6 @@ class Base extends Component {
|
|
214
212
|
*/
|
215
213
|
afterSetIconColor(value, oldValue) {
|
216
214
|
let me = this,
|
217
|
-
vdom = me.vdom,
|
218
215
|
iconNode = me.getIconNode();
|
219
216
|
|
220
217
|
if (!iconNode.style) {
|
@@ -226,7 +223,7 @@ class Base extends Component {
|
|
226
223
|
}
|
227
224
|
|
228
225
|
iconNode.style.color = value;
|
229
|
-
me.
|
226
|
+
me.update();
|
230
227
|
}
|
231
228
|
|
232
229
|
/**
|
@@ -280,7 +277,6 @@ class Base extends Component {
|
|
280
277
|
*/
|
281
278
|
afterSetText(value, oldValue) {
|
282
279
|
let me = this,
|
283
|
-
vdom = me.vdom,
|
284
280
|
vdomRoot = me.getVdomRoot(),
|
285
281
|
textNode = vdomRoot.cn[1];
|
286
282
|
|
@@ -295,7 +291,7 @@ class Base extends Component {
|
|
295
291
|
textNode.innerHTML = value;
|
296
292
|
}
|
297
293
|
|
298
|
-
me.
|
294
|
+
me.update();
|
299
295
|
}
|
300
296
|
|
301
297
|
/**
|
@@ -306,7 +302,6 @@ class Base extends Component {
|
|
306
302
|
*/
|
307
303
|
afterSetUrl(value, oldValue) {
|
308
304
|
let me = this,
|
309
|
-
vdom = me.vdom,
|
310
305
|
vdomRoot = me.getVdomRoot();
|
311
306
|
|
312
307
|
if (value) {
|
@@ -317,7 +312,7 @@ class Base extends Component {
|
|
317
312
|
vdomRoot.tag = 'button';
|
318
313
|
}
|
319
314
|
|
320
|
-
me.
|
315
|
+
me.update();
|
321
316
|
}
|
322
317
|
|
323
318
|
/**
|
@@ -329,8 +324,7 @@ class Base extends Component {
|
|
329
324
|
afterSetUseRippleEffect(value, oldValue) {
|
330
325
|
let me = this,
|
331
326
|
listener = {click: me.showRipple, scope: me},
|
332
|
-
rippleWrapper = me.getRippleWrapper()
|
333
|
-
vdom = me.vdom;
|
327
|
+
rippleWrapper = me.getRippleWrapper();
|
334
328
|
|
335
329
|
if (!value && oldValue) {
|
336
330
|
me.removeDomListeners(listener);
|
@@ -340,7 +334,7 @@ class Base extends Component {
|
|
340
334
|
|
341
335
|
// setting the config to false should end running ripple animations
|
342
336
|
rippleWrapper.removeDom = true;
|
343
|
-
me.
|
337
|
+
me.update();
|
344
338
|
}
|
345
339
|
|
346
340
|
/**
|
@@ -351,7 +345,6 @@ class Base extends Component {
|
|
351
345
|
*/
|
352
346
|
afterSetUrlTarget(value, oldValue) {
|
353
347
|
let me = this,
|
354
|
-
vdom = me.vdom,
|
355
348
|
vdomRoot = me.getVdomRoot();
|
356
349
|
|
357
350
|
if (me.url) {
|
@@ -360,7 +353,7 @@ class Base extends Component {
|
|
360
353
|
delete vdomRoot.target;
|
361
354
|
}
|
362
355
|
|
363
|
-
me.
|
356
|
+
me.update();
|
364
357
|
}
|
365
358
|
|
366
359
|
/**
|
@@ -459,7 +452,6 @@ class Base extends Component {
|
|
459
452
|
buttonRect = data.path[0].rect,
|
460
453
|
diameter = Math.max(buttonRect.height, buttonRect.width),
|
461
454
|
radius = diameter / 2,
|
462
|
-
vdom = me.vdom,
|
463
455
|
rippleEffectDuration = me.rippleEffectDuration,
|
464
456
|
rippleWrapper = me.getRippleWrapper(),
|
465
457
|
rippleEl = rippleWrapper.cn[0],
|
@@ -474,13 +466,12 @@ class Base extends Component {
|
|
474
466
|
});
|
475
467
|
|
476
468
|
delete rippleWrapper.removeDom;
|
477
|
-
|
478
|
-
me.vdom = vdom;
|
469
|
+
me.update();
|
479
470
|
|
480
471
|
await Neo.timeout(1);
|
481
472
|
|
482
473
|
rippleEl.style.animation = `ripple ${rippleEffectDuration}ms linear`;
|
483
|
-
me.
|
474
|
+
me.update();
|
484
475
|
|
485
476
|
me.#rippleTimeoutId = rippleTimeoutId = setTimeout(() => {
|
486
477
|
// we do not want to break animations when clicking multiple times
|
@@ -488,7 +479,7 @@ class Base extends Component {
|
|
488
479
|
me.#rippleTimeoutId = null;
|
489
480
|
|
490
481
|
rippleWrapper.removeDom = true;
|
491
|
-
me.
|
482
|
+
me.update();
|
492
483
|
}
|
493
484
|
}, rippleEffectDuration);
|
494
485
|
}
|
package/src/button/Split.mjs
CHANGED
@@ -54,8 +54,7 @@ class Split extends Button {
|
|
54
54
|
construct(config) {
|
55
55
|
super.construct(config);
|
56
56
|
|
57
|
-
let me
|
58
|
-
vdom = me.vdom;
|
57
|
+
let me = this;
|
59
58
|
|
60
59
|
me.triggerButton = Neo.create({
|
61
60
|
module : Button,
|
@@ -68,8 +67,8 @@ class Split extends Button {
|
|
68
67
|
...me.triggerButtonConfig
|
69
68
|
});
|
70
69
|
|
71
|
-
vdom.cn.push(me.triggerButton.vdom);
|
72
|
-
me.
|
70
|
+
me.vdom.cn.push(me.triggerButton.vdom);
|
71
|
+
me.update();
|
73
72
|
}
|
74
73
|
|
75
74
|
/**
|
@@ -258,8 +258,7 @@ class MainContainer extends Container {
|
|
258
258
|
if (oldValue !== undefined) {
|
259
259
|
let me = this,
|
260
260
|
sideBar = me.items[1].items[0],
|
261
|
-
style = sideBar.style || {}
|
262
|
-
vdom;
|
261
|
+
style = sideBar.style || {};
|
263
262
|
|
264
263
|
if (value) {
|
265
264
|
delete sideBar.vdom.removeDom;
|
@@ -279,9 +278,8 @@ class MainContainer extends Container {
|
|
279
278
|
|
280
279
|
me.promiseVdomUpdate().then(() => {
|
281
280
|
setTimeout(() => {
|
282
|
-
vdom =
|
283
|
-
|
284
|
-
sideBar.vdom = vdom;
|
281
|
+
sideBar.vdom.removeDom = true;
|
282
|
+
sideBar.update();
|
285
283
|
|
286
284
|
sideBar.mounted = false;
|
287
285
|
}, 400);
|
@@ -51,8 +51,7 @@ class SettingsContainer extends Container {
|
|
51
51
|
*/
|
52
52
|
collapse(width) {
|
53
53
|
let me = this,
|
54
|
-
style = me.style || {}
|
55
|
-
vdom;
|
54
|
+
style = me.style || {};
|
56
55
|
|
57
56
|
style.marginRight = `-${width}px`;
|
58
57
|
me._style = style; // silent update
|
@@ -62,9 +61,8 @@ class SettingsContainer extends Container {
|
|
62
61
|
setTimeout(() => {
|
63
62
|
me.collapsed = true;
|
64
63
|
|
65
|
-
vdom =
|
66
|
-
|
67
|
-
me.vdom = vdom;
|
64
|
+
me.vdom.removeDom = true;
|
65
|
+
me.update();
|
68
66
|
|
69
67
|
me.mounted = false;
|
70
68
|
}, 400);
|
@@ -390,13 +390,12 @@ class YearComponent extends Component {
|
|
390
390
|
*/
|
391
391
|
afterSetShowWeekNumbers(value, oldValue) {
|
392
392
|
if (oldValue !== undefined) {
|
393
|
-
let me
|
394
|
-
|
395
|
-
i = 0,
|
393
|
+
let me = this,
|
394
|
+
i = 0,
|
396
395
|
itemCn, j, len;
|
397
396
|
|
398
397
|
for (; i < 12; i++) {
|
399
|
-
itemCn = vdom.cn[0].cn[1].cn[i].cn;
|
398
|
+
itemCn = me.vdom.cn[0].cn[1].cn[i].cn;
|
400
399
|
len = itemCn.length;
|
401
400
|
|
402
401
|
for (j = 1; j < len; j++) {
|
@@ -404,7 +403,7 @@ class YearComponent extends Component {
|
|
404
403
|
}
|
405
404
|
}
|
406
405
|
|
407
|
-
me.
|
406
|
+
me.update();
|
408
407
|
}
|
409
408
|
}
|
410
409
|
|
@@ -417,7 +416,6 @@ class YearComponent extends Component {
|
|
417
416
|
afterSetSixWeeksPerMonth(value, oldValue) {
|
418
417
|
if (oldValue !== undefined) {
|
419
418
|
let me = this,
|
420
|
-
vdom = me.vdom,
|
421
419
|
date = me.currentDate, // cloned
|
422
420
|
i = 0;
|
423
421
|
|
@@ -425,11 +423,11 @@ class YearComponent extends Component {
|
|
425
423
|
date.setDate(1);
|
426
424
|
|
427
425
|
for (; i < 12; i++) {
|
428
|
-
vdom.cn[0].cn[1].cn[i].cn[7].removeDom = DateUtil.getWeeksOfMonth(date, me.weekStartDay) === 5 && !value;
|
426
|
+
me.vdom.cn[0].cn[1].cn[i].cn[7].removeDom = DateUtil.getWeeksOfMonth(date, me.weekStartDay) === 5 && !value;
|
429
427
|
date.setMonth(date.getMonth() + 1);
|
430
428
|
}
|
431
429
|
|
432
|
-
me.
|
430
|
+
me.update();
|
433
431
|
}
|
434
432
|
}
|
435
433
|
|
@@ -517,7 +515,7 @@ class YearComponent extends Component {
|
|
517
515
|
me.promiseVdomUpdate(vdom).then(() => {
|
518
516
|
y = scrollFromTop ? -data.height : 0;
|
519
517
|
vdom.cn[0].cn[0].style.transform = `translateY(${y}px)`;
|
520
|
-
me.
|
518
|
+
me.update();
|
521
519
|
|
522
520
|
setTimeout(() => {
|
523
521
|
vdom.cn[0] = vdom.cn[0].cn[0].cn[scrollFromTop ? 1 : 0];
|
@@ -376,11 +376,8 @@ class Component extends BaseComponent {
|
|
376
376
|
* @protected
|
377
377
|
*/
|
378
378
|
afterSetUseScrollBoxShadows(value, oldValue) {
|
379
|
-
|
380
|
-
|
381
|
-
|
382
|
-
NeoArray[value ? 'add' : 'remove'](me.vdom.cn[1].cls, 'neo-scroll-shadows');
|
383
|
-
me.vdom = vdom;
|
379
|
+
NeoArray[value ? 'add' : 'remove'](this.vdom.cn[1].cls, 'neo-scroll-shadows');
|
380
|
+
this.update();
|
384
381
|
}
|
385
382
|
|
386
383
|
/**
|
@@ -635,8 +632,7 @@ class Component extends BaseComponent {
|
|
635
632
|
onWheel(data) {
|
636
633
|
if (Math.abs(data.deltaY) > Math.abs(data.deltaX)) {
|
637
634
|
let me = this,
|
638
|
-
|
639
|
-
container = vdom.cn[1],
|
635
|
+
container = me.vdom.cn[1],
|
640
636
|
i = 0,
|
641
637
|
date, len, week;
|
642
638
|
|
@@ -663,7 +659,7 @@ class Component extends BaseComponent {
|
|
663
659
|
container.cn.push(week.row);
|
664
660
|
}
|
665
661
|
|
666
|
-
me.
|
662
|
+
me.update();
|
667
663
|
}
|
668
664
|
|
669
665
|
else if (data.deltaY < 0 && Math.round(data.scrollTop / (data.clientHeight - me.headerHeight) * 6) < 1) {
|
@@ -706,7 +702,7 @@ class Component extends BaseComponent {
|
|
706
702
|
me.isScrolling = true;
|
707
703
|
NeoArray.add(me.vdom.cn[1].cls, 'neo-is-scrolling');
|
708
704
|
me.vdom.cn[0].cn[0].style.opacity = 0;
|
709
|
-
me.
|
705
|
+
me.update();
|
710
706
|
}
|
711
707
|
|
712
708
|
me.scrollTaskId && clearTimeout(me.scrollTaskId);
|
@@ -741,8 +737,7 @@ class Component extends BaseComponent {
|
|
741
737
|
|
742
738
|
NeoArray.remove(vdom.cn[1].cls, 'neo-is-scrolling');
|
743
739
|
header.style.opacity = 1;
|
744
|
-
|
745
|
-
me.vdom = vdom;
|
740
|
+
me.update();
|
746
741
|
|
747
742
|
// todo: #990 => scroll the view to the closest row
|
748
743
|
}
|
@@ -792,7 +787,7 @@ class Component extends BaseComponent {
|
|
792
787
|
date.setDate(date.getDate() + 1);
|
793
788
|
}
|
794
789
|
|
795
|
-
me.
|
790
|
+
me.update();
|
796
791
|
}
|
797
792
|
|
798
793
|
/**
|
@@ -507,7 +507,6 @@ class Component extends BaseComponent {
|
|
507
507
|
afterSetTimeAxisPosition(value, oldValue) {
|
508
508
|
let me = this,
|
509
509
|
cls = me.cls,
|
510
|
-
vdom = me.vdom,
|
511
510
|
timeAxisContainer = me.getColumnTimeAxisContainer();
|
512
511
|
|
513
512
|
NeoArray[value === 'end' ? 'add' : 'remove'](cls, 'neo-timeaxis-end');
|
@@ -516,8 +515,8 @@ class Component extends BaseComponent {
|
|
516
515
|
timeAxisContainer.cn.unshift(timeAxisContainer.cn.pop()); // switch the order of the 2 items
|
517
516
|
}
|
518
517
|
|
519
|
-
me.
|
520
|
-
me.
|
518
|
+
me.cls = cls; // silent update
|
519
|
+
me.update();
|
521
520
|
}
|
522
521
|
|
523
522
|
/**
|
@@ -146,9 +146,6 @@ class TimeAxisComponent extends Component {
|
|
146
146
|
vdom.cn[i].removeDom = (i < startTime || i - 1 >= endTime);
|
147
147
|
}
|
148
148
|
|
149
|
-
// silent update: the view containing this component will trigger the vdom update
|
150
|
-
me._vdom = vdom;
|
151
|
-
|
152
149
|
me.fire('change', {
|
153
150
|
component: me,
|
154
151
|
rowHeight,
|
package/src/component/Base.mjs
CHANGED
@@ -392,8 +392,8 @@ class Base extends CoreBase {
|
|
392
392
|
* @protected
|
393
393
|
*/
|
394
394
|
afterSetCls(value, oldValue) {
|
395
|
-
oldValue = oldValue
|
396
|
-
value = value
|
395
|
+
oldValue = oldValue || [];
|
396
|
+
value = value || [];
|
397
397
|
|
398
398
|
let me = this,
|
399
399
|
vdom = me.vdom,
|
@@ -664,9 +664,7 @@ class Base extends CoreBase {
|
|
664
664
|
delete me._vdom[key];
|
665
665
|
});
|
666
666
|
|
667
|
-
Object.assign(me._vdom, vdom);
|
668
|
-
} else {
|
669
|
-
me._vdom = vdom;
|
667
|
+
vdom = Object.assign(me._vdom, vdom);
|
670
668
|
}
|
671
669
|
|
672
670
|
if (me.silentVdomUpdate) {
|
@@ -697,9 +695,7 @@ class Base extends CoreBase {
|
|
697
695
|
* @protected
|
698
696
|
*/
|
699
697
|
afterSetVnode(value, oldValue) {
|
700
|
-
|
701
|
-
this.syncVnodeTree();
|
702
|
-
}
|
698
|
+
oldValue !== undefined && this.syncVnodeTree();
|
703
699
|
}
|
704
700
|
|
705
701
|
/**
|
@@ -719,8 +715,8 @@ class Base extends CoreBase {
|
|
719
715
|
* @protected
|
720
716
|
*/
|
721
717
|
afterSetWrapperCls(value, oldValue) {
|
722
|
-
oldValue = oldValue
|
723
|
-
value = value
|
718
|
+
oldValue = oldValue || [];
|
719
|
+
value = value || [];
|
724
720
|
|
725
721
|
let me = this,
|
726
722
|
vdom = me.vdom,
|
@@ -763,11 +759,11 @@ class Base extends CoreBase {
|
|
763
759
|
let me = this,
|
764
760
|
vdom = me.vdom;
|
765
761
|
|
766
|
-
if (!
|
762
|
+
if (!vdom.id) {
|
767
763
|
vdom.style = value;
|
768
|
-
me.
|
764
|
+
me.update();
|
769
765
|
} else {
|
770
|
-
me.updateStyle(value, oldValue,
|
766
|
+
me.updateStyle(value, oldValue, vdom.id);
|
771
767
|
}
|
772
768
|
}
|
773
769
|
}
|
@@ -932,8 +928,7 @@ class Base extends CoreBase {
|
|
932
928
|
*/
|
933
929
|
changeVdomRootKey(key, value) {
|
934
930
|
let me = this,
|
935
|
-
root = me.getVdomRoot()
|
936
|
-
vdom = me.vdom;
|
931
|
+
root = me.getVdomRoot();
|
937
932
|
|
938
933
|
if (value) {
|
939
934
|
root[key] = value;
|
@@ -941,7 +936,7 @@ class Base extends CoreBase {
|
|
941
936
|
delete root[key];
|
942
937
|
}
|
943
938
|
|
944
|
-
me.
|
939
|
+
me.update();
|
945
940
|
}
|
946
941
|
|
947
942
|
/**
|
@@ -1211,9 +1206,8 @@ class Base extends CoreBase {
|
|
1211
1206
|
|
1212
1207
|
if (me.hideMode !== 'visibility') {
|
1213
1208
|
let removeFn = function() {
|
1214
|
-
|
1215
|
-
|
1216
|
-
me.vdom = vdom;
|
1209
|
+
me.vdom.removeDom = true;
|
1210
|
+
me.update();
|
1217
1211
|
}
|
1218
1212
|
|
1219
1213
|
if (timeout) {
|
@@ -1416,26 +1410,24 @@ class Base extends CoreBase {
|
|
1416
1410
|
* @returns {Promise<any>}
|
1417
1411
|
*/
|
1418
1412
|
promiseVdomUpdate(vdom=this.vdom, vnode=this.vnode) {
|
1419
|
-
let me
|
1413
|
+
let me = this,
|
1414
|
+
_vdom = me.vdom;
|
1420
1415
|
|
1421
1416
|
// todo: updateVdom() should handle this
|
1422
1417
|
// It is important to keep the vdom tree stable to ensure that containers do not lose the references to their
|
1423
1418
|
// child vdom trees. The if case should not happen, but in case it does, keeping the reference and merging
|
1424
1419
|
// the content over seems to be the best strategy
|
1425
|
-
if (
|
1420
|
+
if (_vdom !== vdom) {
|
1426
1421
|
Logger.warn('vdom got replaced for: ' + me.id + '. Copying the content into the reference holder object');
|
1427
1422
|
|
1428
|
-
Object.keys(
|
1429
|
-
delete
|
1423
|
+
Object.keys(_vdom).forEach(key => {
|
1424
|
+
delete _vdom[key];
|
1430
1425
|
});
|
1431
1426
|
|
1432
|
-
Object.assign(me._vdom, vdom);
|
1433
|
-
} else {
|
1434
|
-
me._vdom = vdom;
|
1427
|
+
vdom = Object.assign(me._vdom, vdom);
|
1435
1428
|
}
|
1436
1429
|
|
1437
1430
|
if (me.silentVdomUpdate) {
|
1438
|
-
me._vdom = vdom;
|
1439
1431
|
return Promise.resolve();
|
1440
1432
|
}
|
1441
1433
|
|
@@ -1443,7 +1435,7 @@ class Base extends CoreBase {
|
|
1443
1435
|
if (me.mounted) {
|
1444
1436
|
me.updateVdom(vdom, vnode, resolve, reject);
|
1445
1437
|
} else {
|
1446
|
-
me.
|
1438
|
+
me.update();
|
1447
1439
|
resolve();
|
1448
1440
|
}
|
1449
1441
|
});
|
@@ -1557,8 +1549,7 @@ class Base extends CoreBase {
|
|
1557
1549
|
* @returns {Promise<*>}
|
1558
1550
|
*/
|
1559
1551
|
set(values={}, silent=false) {
|
1560
|
-
let me
|
1561
|
-
vdom = me.vdom;
|
1552
|
+
let me = this;
|
1562
1553
|
|
1563
1554
|
me.silentVdomUpdate = true;
|
1564
1555
|
|
@@ -1567,7 +1558,6 @@ class Base extends CoreBase {
|
|
1567
1558
|
me.silentVdomUpdate = false;
|
1568
1559
|
|
1569
1560
|
if (silent || !me.needsVdomUpdate) {
|
1570
|
-
me._vdom = vdom;
|
1571
1561
|
return Promise.resolve();
|
1572
1562
|
} else {
|
1573
1563
|
return me.promiseVdomUpdate();
|
@@ -1591,9 +1581,8 @@ class Base extends CoreBase {
|
|
1591
1581
|
let me = this;
|
1592
1582
|
|
1593
1583
|
if (me.hideMode !== 'visibility') {
|
1594
|
-
|
1595
|
-
|
1596
|
-
me.vdom = vdom;
|
1584
|
+
me.vdom.removeDom = false;
|
1585
|
+
me.update();
|
1597
1586
|
} else {
|
1598
1587
|
let style = me.style;
|
1599
1588
|
style.visibility = 'visible';
|
@@ -1714,6 +1703,13 @@ class Base extends CoreBase {
|
|
1714
1703
|
return ComponentManager.up(this.id, config);
|
1715
1704
|
}
|
1716
1705
|
|
1706
|
+
/**
|
1707
|
+
*
|
1708
|
+
*/
|
1709
|
+
update() {
|
1710
|
+
this.afterSetVdom(this.vdom, null);
|
1711
|
+
}
|
1712
|
+
|
1717
1713
|
/**
|
1718
1714
|
* Delta updates for the cls config. Gets called after the cls config gets changed in case the component is mounted.
|
1719
1715
|
* @param {String[]} cls
|
@@ -1724,8 +1720,7 @@ class Base extends CoreBase {
|
|
1724
1720
|
updateCls(cls, oldCls, id=this.id) {
|
1725
1721
|
let me = this,
|
1726
1722
|
vnode = me.vnode,
|
1727
|
-
vnodeTarget = VNodeUtil.findChildVnode(me.vnode, {id})?.vnode
|
1728
|
-
opts;
|
1723
|
+
vnodeTarget = VNodeUtil.findChildVnode(me.vnode, {id})?.vnode;
|
1729
1724
|
|
1730
1725
|
if (!Neo.isEqual(cls, oldCls)) {
|
1731
1726
|
if (vnodeTarget) {
|
@@ -1733,25 +1728,12 @@ class Base extends CoreBase {
|
|
1733
1728
|
me.vnode = vnode;
|
1734
1729
|
}
|
1735
1730
|
|
1736
|
-
|
1737
|
-
|
1738
|
-
|
1739
|
-
|
1740
|
-
|
1741
|
-
|
1742
|
-
remove: NeoArray.difference(oldCls, cls)
|
1743
|
-
}
|
1744
|
-
}]
|
1745
|
-
};
|
1746
|
-
|
1747
|
-
if (Neo.currentWorker.isSharedWorker) {
|
1748
|
-
opts.appName = me.appName;
|
1749
|
-
}
|
1750
|
-
|
1751
|
-
Neo.currentWorker.promiseMessage('main', opts).then(() => {
|
1752
|
-
//console.log(me.vnode);
|
1753
|
-
}).catch(err => {
|
1754
|
-
console.log('Error attempting to update Component cls', err, me);
|
1731
|
+
Neo.applyDeltas(me.appName, {
|
1732
|
+
id,
|
1733
|
+
cls: {
|
1734
|
+
add : NeoArray.difference(cls, oldCls),
|
1735
|
+
remove: NeoArray.difference(oldCls, cls)
|
1736
|
+
}
|
1755
1737
|
});
|
1756
1738
|
}
|
1757
1739
|
}
|
@@ -115,8 +115,7 @@ class Carousel extends Component {
|
|
115
115
|
*/
|
116
116
|
afterSetAutoRun(value, oldValue) {
|
117
117
|
if (value) {
|
118
|
-
let me
|
119
|
-
vdom = me._vdom;
|
118
|
+
let me = this;
|
120
119
|
|
121
120
|
TaskManager.start({
|
122
121
|
id : me.id,
|
@@ -126,9 +125,8 @@ class Carousel extends Component {
|
|
126
125
|
}
|
127
126
|
});
|
128
127
|
|
129
|
-
vdom.cn[0].cn[0].removeDom = true;
|
130
|
-
|
131
|
-
me._vdom = vdom;
|
128
|
+
me.vdom.cn[0].cn[0].removeDom = true;
|
129
|
+
me.update();
|
132
130
|
}
|
133
131
|
}
|
134
132
|
|
@@ -166,7 +164,6 @@ class Carousel extends Component {
|
|
166
164
|
*/
|
167
165
|
createBaseItems() {
|
168
166
|
let me = this,
|
169
|
-
vdom = me._vdom,
|
170
167
|
itemRoot = me.#getItemRoot(),
|
171
168
|
items = [],
|
172
169
|
i = 0;
|
@@ -176,7 +173,7 @@ class Carousel extends Component {
|
|
176
173
|
}
|
177
174
|
|
178
175
|
itemRoot.cn = items;
|
179
|
-
me.
|
176
|
+
me.update();
|
180
177
|
}
|
181
178
|
|
182
179
|
/**
|
@@ -216,7 +213,6 @@ class Carousel extends Component {
|
|
216
213
|
action = (typeof event === 'string') ? event : event.target.data.carouselaction,
|
217
214
|
store = me.store,
|
218
215
|
countItems = store.getCount(),
|
219
|
-
vdom = me.vdom,
|
220
216
|
index = me.itemIndex,
|
221
217
|
positionArray = me.positionArray,
|
222
218
|
root = me.#getItemRoot(),
|
@@ -256,7 +252,7 @@ class Carousel extends Component {
|
|
256
252
|
return cn;
|
257
253
|
})
|
258
254
|
|
259
|
-
me.
|
255
|
+
me.update();
|
260
256
|
}
|
261
257
|
|
262
258
|
/**
|