neo.mjs 4.2.7 → 4.3.1
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/apps/realworld/view/HomeComponent.mjs +3 -6
- package/apps/realworld/view/article/CommentComponent.mjs +3 -6
- package/apps/realworld/view/article/Component.mjs +4 -7
- package/apps/realworld/view/article/CreateCommentComponent.mjs +3 -6
- package/apps/realworld/view/article/CreateComponent.mjs +3 -6
- package/apps/realworld/view/article/PreviewComponent.mjs +2 -5
- package/apps/realworld/view/article/TagListComponent.mjs +2 -5
- package/apps/realworld/view/user/ProfileComponent.mjs +3 -6
- package/apps/realworld/view/user/SettingsComponent.mjs +3 -6
- package/apps/realworld/view/user/SignUpComponent.mjs +2 -5
- package/apps/realworld2/view/article/PreviewComponent.mjs +2 -5
- package/apps/realworld2/view/article/TagListComponent.mjs +2 -5
- package/apps/website/view/MainContainer.mjs +1 -0
- package/apps/website/view/MainContainerController.mjs +7 -0
- package/apps/website/view/blog/List.mjs +41 -3
- package/apps/website/view/examples/List.mjs +28 -3
- package/apps/website/view/examples/TabContainer.mjs +7 -4
- package/buildScripts/addConfig.mjs +1 -0
- package/examples/ConfigurationViewport.mjs +1 -1
- package/examples/button/base/MainContainer.mjs +75 -12
- package/examples/tab/container/MainContainer.mjs +3 -3
- package/examples/todoList/version1/MainComponent.mjs +3 -6
- package/package.json +1 -1
- package/resources/scss/src/apps/website/blog/List.scss +2 -2
- package/resources/scss/src/apps/website/examples/List.scss +2 -2
- package/resources/scss/src/button/Base.scss +41 -3
- package/resources/scss/src/calendar/view/calendars/ColorsList.scss +5 -2
- package/resources/scss/src/layout/Card.scss +6 -10
- package/resources/scss/src/list/Base.scss +11 -3
- package/resources/scss/src/tab/Container.scss +3 -4
- package/resources/scss/src/tab/header/Button.scss +6 -1
- package/resources/scss/src/table/Container.scss +3 -1
- package/resources/scss/src/table/header/Button.scss +21 -1
- package/resources/scss/src/tree/List.scss +11 -1
- package/resources/scss/theme-dark/button/Base.scss +7 -1
- package/resources/scss/theme-dark/table/header/Button.scss +11 -9
- package/resources/scss/theme-light/button/Base.scss +7 -1
- package/resources/scss/theme-light/table/header/Button.scss +11 -9
- package/src/button/Base.mjs +151 -43
- package/src/calendar/view/YearComponent.mjs +3 -6
- package/src/calendar/view/calendars/ColorsList.mjs +18 -0
- package/src/calendar/view/calendars/EditContainer.mjs +7 -9
- package/src/calendar/view/month/Component.mjs +3 -6
- package/src/calendar/view/week/Component.mjs +3 -6
- package/src/calendar/view/week/plugin/DragDrop.mjs +6 -9
- package/src/component/Base.mjs +123 -58
- package/src/component/Carousel.mjs +5 -17
- package/src/component/Chip.mjs +2 -7
- package/src/component/Circle.mjs +4 -7
- package/src/component/DateSelector.mjs +5 -8
- package/src/component/Gallery.mjs +4 -7
- package/src/component/Helix.mjs +2 -5
- package/src/component/Splitter.mjs +3 -6
- package/src/component/mwc/Button.mjs +4 -7
- package/src/component/mwc/TextField.mjs +2 -5
- package/src/draggable/DropZone.mjs +3 -7
- package/src/draggable/list/DragZone.mjs +6 -9
- package/src/draggable/toolbar/DragZone.mjs +5 -8
- package/src/form/Fieldset.mjs +3 -6
- package/src/form/field/CheckBox.mjs +2 -5
- package/src/form/field/Range.mjs +3 -6
- package/src/form/field/Text.mjs +2 -5
- package/src/form/field/trigger/Base.mjs +4 -12
- package/src/grid/header/Button.mjs +3 -6
- package/src/layout/Base.mjs +5 -7
- package/src/layout/Card.mjs +32 -35
- package/src/layout/Fit.mjs +11 -11
- package/src/layout/Flexbox.mjs +28 -36
- package/src/layout/HBox.mjs +1 -1
- package/src/layout/VBox.mjs +1 -1
- package/src/list/Base.mjs +31 -11
- package/src/plugin/Resizable.mjs +3 -6
- package/src/selection/grid/CellModel.mjs +3 -6
- package/src/selection/grid/ColumnModel.mjs +3 -6
- package/src/selection/grid/RowModel.mjs +3 -6
- package/src/selection/table/CellModel.mjs +3 -6
- package/src/selection/table/ColumnModel.mjs +3 -6
- package/src/selection/table/RowModel.mjs +3 -6
- package/src/sitemap/Component.mjs +3 -6
- package/src/tab/Container.mjs +1 -1
- package/src/tab/header/Button.mjs +13 -2
- package/src/table/Container.mjs +11 -3
- package/src/table/header/Button.mjs +9 -5
- package/src/tooltip/Base.mjs +5 -15
- package/src/tree/List.mjs +4 -0
- package/src/util/KeyNavigation.mjs +8 -13
package/src/component/Base.mjs
CHANGED
@@ -75,6 +75,11 @@ class Base extends CoreBase {
|
|
75
75
|
* @member {Object|null} bind=null
|
76
76
|
*/
|
77
77
|
bind: null,
|
78
|
+
/**
|
79
|
+
* CSS selectors to apply to the root level node of this component
|
80
|
+
* @member {String[]} cls_=null
|
81
|
+
*/
|
82
|
+
cls_: null,
|
78
83
|
/**
|
79
84
|
* manager.Focus will change this flag on focusin & out dom events
|
80
85
|
* @member {Boolean} containsFocus_=false
|
@@ -271,6 +276,10 @@ class Base extends CoreBase {
|
|
271
276
|
* @member {Number|String|null} width_=null
|
272
277
|
*/
|
273
278
|
width_: null,
|
279
|
+
/**
|
280
|
+
* @member {String[]|null} wrapperCls_=null
|
281
|
+
*/
|
282
|
+
wrapperCls_: null,
|
274
283
|
/**
|
275
284
|
* Top level style attributes. Useful in case getVdomRoot() does not point to the top level DOM node.
|
276
285
|
* @member {Object|null} wrapperStyle_=null
|
@@ -283,44 +292,6 @@ class Base extends CoreBase {
|
|
283
292
|
_vdom: {}
|
284
293
|
}}
|
285
294
|
|
286
|
-
/**
|
287
|
-
* CSS selectors to apply to the top level node of this component
|
288
|
-
* @member {String[]} cls=[]
|
289
|
-
*/
|
290
|
-
get cls() {
|
291
|
-
return this._cls ? Neo.clone(this._cls) : [];
|
292
|
-
}
|
293
|
-
set cls(value) {
|
294
|
-
value = value ? value : [];
|
295
|
-
|
296
|
-
let me = this,
|
297
|
-
vdom = me.vdom,
|
298
|
-
vdomRoot = me.getVdomRoot(),
|
299
|
-
oldCls;
|
300
|
-
|
301
|
-
if (typeof value === 'string') {
|
302
|
-
value = value.split('');
|
303
|
-
}
|
304
|
-
|
305
|
-
if (me.mounted) {
|
306
|
-
oldCls = Neo.clone(me._cls);
|
307
|
-
}
|
308
|
-
|
309
|
-
me._cls = value;
|
310
|
-
|
311
|
-
if (vdomRoot) {
|
312
|
-
vdomRoot.cls = [...value];
|
313
|
-
}
|
314
|
-
|
315
|
-
me._vdom = vdom; // silent update
|
316
|
-
|
317
|
-
if (me.silentVdomUpdate) {
|
318
|
-
me.needsVdomUpdate = true;
|
319
|
-
} else if (me.mounted) {
|
320
|
-
me.updateCls(value, oldCls);
|
321
|
-
}
|
322
|
-
}
|
323
|
-
|
324
295
|
/**
|
325
296
|
* Apply component based listeners
|
326
297
|
* @member {Object} listeners={}
|
@@ -375,16 +346,11 @@ class Base extends CoreBase {
|
|
375
346
|
return this._vdom;
|
376
347
|
}
|
377
348
|
set vdom(value) {
|
378
|
-
let me
|
379
|
-
app
|
380
|
-
vdom
|
381
|
-
vdomRoot = me.getVdomRoot(),
|
349
|
+
let me = this,
|
350
|
+
app = Neo.apps[me.appName],
|
351
|
+
vdom = value,
|
382
352
|
listenerId;
|
383
353
|
|
384
|
-
if (vdomRoot && me.cls) {
|
385
|
-
vdomRoot.cls = me.cls;
|
386
|
-
}
|
387
|
-
|
388
354
|
// It is important to keep the vdom tree stable to ensure that containers do not lose the references to their
|
389
355
|
// child vdom trees. The if case should not happen, but in case it does, keeping the reference and merging
|
390
356
|
// the content over seems to be the best strategy
|
@@ -432,6 +398,22 @@ class Base extends CoreBase {
|
|
432
398
|
this.cls = cls;
|
433
399
|
}
|
434
400
|
|
401
|
+
/**
|
402
|
+
* Convenience shortcut to add additional dom listeners
|
403
|
+
* @param {Object|Object[]} value
|
404
|
+
*/
|
405
|
+
addDomListeners(value) {
|
406
|
+
if (!Array.isArray(value)) {
|
407
|
+
value = [value];
|
408
|
+
}
|
409
|
+
|
410
|
+
let domListeners = this.domListeners;
|
411
|
+
|
412
|
+
domListeners.push(...value);
|
413
|
+
|
414
|
+
this.domListeners = domListeners;
|
415
|
+
}
|
416
|
+
|
435
417
|
/**
|
436
418
|
* Either a string like 'color: red; background-color: blue;'
|
437
419
|
* or an object containing style attributes
|
@@ -458,6 +440,38 @@ class Base extends CoreBase {
|
|
458
440
|
value && Neo.currentWorker.insertThemeFiles(value, this.__proto__);
|
459
441
|
}
|
460
442
|
|
443
|
+
/**
|
444
|
+
* Triggered after the cls config got changed
|
445
|
+
* @param {String[]|null} value
|
446
|
+
* @param {String[]|null} oldValue
|
447
|
+
* @protected
|
448
|
+
*/
|
449
|
+
afterSetCls(value, oldValue) {
|
450
|
+
oldValue = oldValue ? oldValue : [];
|
451
|
+
value = value ? value : [];
|
452
|
+
|
453
|
+
let me = this,
|
454
|
+
vdom = me.vdom,
|
455
|
+
vdomRoot = me.getVdomRoot(),
|
456
|
+
cls;
|
457
|
+
|
458
|
+
if (vdom !== vdomRoot) {
|
459
|
+
// we are using a wrapper node
|
460
|
+
vdomRoot.cls = [...value];
|
461
|
+
} else {
|
462
|
+
// we need to merge changes
|
463
|
+
cls = [...me.wrapperCls, ...value];
|
464
|
+
NeoArray.remove(cls, NeoArray.difference(oldValue, value));
|
465
|
+
vdom.cls = cls;
|
466
|
+
}
|
467
|
+
|
468
|
+
if (me.isVdomUpdating || me.silentVdomUpdate) {
|
469
|
+
me.needsVdomUpdate = true;
|
470
|
+
} else if (me.mounted) {
|
471
|
+
me.updateCls(value, oldValue, vdomRoot.id);
|
472
|
+
}
|
473
|
+
}
|
474
|
+
|
461
475
|
/**
|
462
476
|
* Triggered after any config got changed
|
463
477
|
* @param {String} key
|
@@ -693,6 +707,39 @@ class Base extends CoreBase {
|
|
693
707
|
this.changeVdomRootKey('width', value);
|
694
708
|
}
|
695
709
|
|
710
|
+
/**
|
711
|
+
* Triggered after the wrapperCls config got changed
|
712
|
+
* @param {String[]|null} value
|
713
|
+
* @param {String[]|null} oldValue
|
714
|
+
* @protected
|
715
|
+
*/
|
716
|
+
afterSetWrapperCls(value, oldValue) {
|
717
|
+
let me = this,
|
718
|
+
vdom = me.vdom,
|
719
|
+
vdomRoot = me.getVdomRoot(),
|
720
|
+
cls = me.vdom?.cls || [];
|
721
|
+
|
722
|
+
if (vdom === vdomRoot) {
|
723
|
+
// we are not using a wrapper => cls & wrapperCls share the same node
|
724
|
+
me.afterSetCls(me._cls, me._cls);
|
725
|
+
} else {
|
726
|
+
value = value ? value : [];
|
727
|
+
|
728
|
+
oldValue && NeoArray.remove(cls, oldValue);
|
729
|
+
NeoArray.add(cls, value);
|
730
|
+
|
731
|
+
if (vdom) {
|
732
|
+
vdom.cls = cls;
|
733
|
+
}
|
734
|
+
|
735
|
+
if (me.isVdomUpdating || me.silentVdomUpdate) {
|
736
|
+
me.needsVdomUpdate = true;
|
737
|
+
} else if (me.mounted) {
|
738
|
+
me.updateCls(value, oldValue);
|
739
|
+
}
|
740
|
+
}
|
741
|
+
}
|
742
|
+
|
696
743
|
/**
|
697
744
|
* Triggered after the wrapperStyle config got changed
|
698
745
|
* @param {Object} value
|
@@ -713,6 +760,15 @@ class Base extends CoreBase {
|
|
713
760
|
}
|
714
761
|
}
|
715
762
|
|
763
|
+
/**
|
764
|
+
* Triggered when accessing the cls config
|
765
|
+
* @param {String[]|null} value
|
766
|
+
* @protected
|
767
|
+
*/
|
768
|
+
beforeGetCls(value) {
|
769
|
+
return value ? [...value]: [];
|
770
|
+
}
|
771
|
+
|
716
772
|
/**
|
717
773
|
* Triggered when accessing the data config
|
718
774
|
* Convenience shortcut which is expensive to use,
|
@@ -724,6 +780,15 @@ class Base extends CoreBase {
|
|
724
780
|
return this.getModel().getHierarchyData();
|
725
781
|
}
|
726
782
|
|
783
|
+
/**
|
784
|
+
* Triggered when accessing the wrapperCls config
|
785
|
+
* @param {String[]|null} value
|
786
|
+
* @protected
|
787
|
+
*/
|
788
|
+
beforeGetWrapperCls(value) {
|
789
|
+
return value ? [...value]: [];
|
790
|
+
}
|
791
|
+
|
727
792
|
/**
|
728
793
|
* Triggered when accessing the wrapperStyle config
|
729
794
|
* @param {Object} value
|
@@ -1182,13 +1247,11 @@ class Base extends CoreBase {
|
|
1182
1247
|
// avoid any interference on prototype level
|
1183
1248
|
// does not clone existing Neo instances
|
1184
1249
|
me._vdom = Neo.clone(vdom, true, true);
|
1185
|
-
me.cls = config.cls;
|
1186
1250
|
|
1187
1251
|
me[Neo.isEmpty(config.style) ? '_style' : 'style'] = config.style;
|
1188
1252
|
|
1189
1253
|
me.wrapperStyle = Neo.clone(config.wrapperStyle, false);
|
1190
1254
|
|
1191
|
-
delete config.cls;
|
1192
1255
|
delete config.style;
|
1193
1256
|
delete config._vdom;
|
1194
1257
|
delete config.vdom;
|
@@ -1632,28 +1695,30 @@ class Base extends CoreBase {
|
|
1632
1695
|
|
1633
1696
|
/**
|
1634
1697
|
* Delta updates for the cls config. Gets called after the cls config gets changed in case the component is mounted.
|
1635
|
-
* @param {
|
1636
|
-
* @param {
|
1698
|
+
* @param {String[]} cls
|
1699
|
+
* @param {String[]} oldCls
|
1700
|
+
* @param {String} id=this.id
|
1637
1701
|
* @protected
|
1638
1702
|
*/
|
1639
|
-
updateCls(cls, oldCls) {
|
1640
|
-
let me
|
1641
|
-
vnode
|
1703
|
+
updateCls(cls, oldCls, id=this.id) {
|
1704
|
+
let me = this,
|
1705
|
+
vnode = me.vnode,
|
1706
|
+
vnodeTarget = VNodeUtil.findChildVnode(me.vnode, {id})?.vnode,
|
1642
1707
|
opts;
|
1643
1708
|
|
1644
1709
|
if (!Neo.isEqual(cls, oldCls)) {
|
1645
|
-
if (
|
1646
|
-
|
1710
|
+
if (vnodeTarget) {
|
1711
|
+
vnodeTarget.className = cls; // keep the vnode in sync
|
1647
1712
|
me.vnode = vnode;
|
1648
1713
|
}
|
1649
1714
|
|
1650
1715
|
opts = {
|
1651
1716
|
action: 'updateDom',
|
1652
1717
|
deltas: [{
|
1653
|
-
id
|
1718
|
+
id,
|
1654
1719
|
cls: {
|
1655
|
-
add :
|
1656
|
-
remove:
|
1720
|
+
add : NeoArray.difference(cls, oldCls),
|
1721
|
+
remove: NeoArray.difference(oldCls, cls)
|
1657
1722
|
}
|
1658
1723
|
}]
|
1659
1724
|
};
|
@@ -99,24 +99,12 @@ class Carousel extends Component {
|
|
99
99
|
construct(config) {
|
100
100
|
super.construct(config);
|
101
101
|
|
102
|
-
let me
|
103
|
-
domListeners = me.domListeners;
|
104
|
-
|
105
|
-
domListeners.push({
|
106
|
-
click: {
|
107
|
-
fn : me.onCarouselBtnClick,
|
108
|
-
delegate: '.neo-carousel-btn',
|
109
|
-
scope : me
|
110
|
-
}
|
111
|
-
}, {
|
112
|
-
click: {
|
113
|
-
fn : me.onClick,
|
114
|
-
delegate: '.neo-carousel-item',
|
115
|
-
scope : me
|
116
|
-
}
|
117
|
-
});
|
102
|
+
let me = this;
|
118
103
|
|
119
|
-
me.
|
104
|
+
me.addDomListeners([
|
105
|
+
{click: me.onCarouselBtnClick, delegate: '.neo-carousel-btn', scope: me},
|
106
|
+
{click: me.onClick, delegate: '.neo-carousel-item', scope: me}
|
107
|
+
]);
|
120
108
|
}
|
121
109
|
|
122
110
|
/**
|
package/src/component/Chip.mjs
CHANGED
@@ -63,19 +63,14 @@ class Chip extends Component {
|
|
63
63
|
construct(config) {
|
64
64
|
super.construct(config);
|
65
65
|
|
66
|
-
let me = this
|
67
|
-
domListeners;
|
66
|
+
let me = this;
|
68
67
|
|
69
68
|
if (me.useDomListeners) {
|
70
|
-
|
71
|
-
|
72
|
-
domListeners.push({
|
69
|
+
me.addDomListeners({
|
73
70
|
click : me.onCloseButtonClick,
|
74
71
|
delegate: 'neo-chip-close-button',
|
75
72
|
scope : me
|
76
73
|
});
|
77
|
-
|
78
|
-
me.domListeners = domListeners;
|
79
74
|
}
|
80
75
|
}
|
81
76
|
|
package/src/component/Circle.mjs
CHANGED
@@ -132,9 +132,8 @@ class Circle extends Component {
|
|
132
132
|
cls : ['neo-circle', 'neo-circle-back']
|
133
133
|
});
|
134
134
|
|
135
|
-
let me
|
136
|
-
|
137
|
-
vdom = me.vdom;
|
135
|
+
let me = this,
|
136
|
+
vdom = me.vdom;
|
138
137
|
|
139
138
|
if (!me.backsideIconPath) {
|
140
139
|
me.backsideIconPath = Neo.config.resourcesPath + 'images/circle/';
|
@@ -144,7 +143,7 @@ class Circle extends Component {
|
|
144
143
|
me.itemImagePath = Neo.config.resourcesPath + 'examples/';
|
145
144
|
}
|
146
145
|
|
147
|
-
|
146
|
+
me.addDomListeners([{
|
148
147
|
mouseenter: me.expand,
|
149
148
|
mouseleave: me.collapse,
|
150
149
|
scope : me
|
@@ -166,9 +165,7 @@ class Circle extends Component {
|
|
166
165
|
wheel : me.onMouseWheel,
|
167
166
|
delegate : 'neo-circle',
|
168
167
|
scope : me
|
169
|
-
});
|
170
|
-
|
171
|
-
me.domListeners = domListeners;
|
168
|
+
}]);
|
172
169
|
|
173
170
|
me.store = Neo.create(Collection, {
|
174
171
|
keyProperty: 'id'
|
@@ -143,15 +143,12 @@ class DateSelector extends Component {
|
|
143
143
|
construct(config) {
|
144
144
|
super.construct(config);
|
145
145
|
|
146
|
-
let me
|
147
|
-
domListeners = me.domListeners;
|
148
|
-
|
149
|
-
domListeners.push({
|
150
|
-
click: {fn: me.onComponentClick, scope: me},
|
151
|
-
wheel: {fn: me.onComponentWheel, scope: me}
|
152
|
-
});
|
146
|
+
let me = this;
|
153
147
|
|
154
|
-
me.
|
148
|
+
me.addDomListeners([
|
149
|
+
{click: me.onComponentClick, scope: me},
|
150
|
+
{wheel: me.onComponentWheel, scope: me}
|
151
|
+
]);
|
155
152
|
|
156
153
|
me.updateHeaderMonth(0, 0, true);
|
157
154
|
me.updateHeaderYear(0, true);
|
@@ -176,18 +176,15 @@ class Gallery extends Component {
|
|
176
176
|
construct(config) {
|
177
177
|
super.construct(config);
|
178
178
|
|
179
|
-
let me
|
180
|
-
domListeners = Neo.clone(me.domListeners, true);
|
179
|
+
let me = this;
|
181
180
|
|
182
181
|
me[itemsMounted] = false;
|
183
182
|
|
184
|
-
|
183
|
+
me.addDomListeners({
|
185
184
|
click: me.onClick,
|
186
185
|
wheel: me.onMouseWheel,
|
187
186
|
scope: me
|
188
187
|
});
|
189
|
-
|
190
|
-
me.domListeners = domListeners;
|
191
188
|
}
|
192
189
|
|
193
190
|
/**
|
@@ -579,8 +576,8 @@ class Gallery extends Component {
|
|
579
576
|
let me = this;
|
580
577
|
|
581
578
|
if (me.mouseWheelEnabled) {
|
582
|
-
me._translateX = me.translateX - (
|
583
|
-
me._translateZ = me.translateZ + (
|
579
|
+
me._translateX = me.translateX - (data.deltaX * me.mouseWheelDeltaX); // silent update
|
580
|
+
me._translateZ = me.translateZ + (data.deltaY * me.mouseWheelDeltaY); // silent update
|
584
581
|
|
585
582
|
me.moveOrigin();
|
586
583
|
|
package/src/component/Helix.mjs
CHANGED
@@ -252,8 +252,7 @@ class Helix extends Component {
|
|
252
252
|
construct(config) {
|
253
253
|
super.construct(config);
|
254
254
|
|
255
|
-
let me
|
256
|
-
domListeners = Neo.clone(me.domListeners, true);
|
255
|
+
let me = this;
|
257
256
|
|
258
257
|
me[itemsMounted] = false;
|
259
258
|
me[lockWheel] = false;
|
@@ -262,13 +261,11 @@ class Helix extends Component {
|
|
262
261
|
me.imageSource = Neo.config.resourcesPath + 'examples/';
|
263
262
|
}
|
264
263
|
|
265
|
-
|
264
|
+
me.addDomListeners({
|
266
265
|
click: me.onClick,
|
267
266
|
wheel: me.onMouseWheel,
|
268
267
|
scope: me
|
269
268
|
});
|
270
|
-
|
271
|
-
me.domListeners = domListeners;
|
272
269
|
}
|
273
270
|
|
274
271
|
/**
|
@@ -74,15 +74,12 @@ class Splitter extends Component {
|
|
74
74
|
construct(config) {
|
75
75
|
super.construct(config);
|
76
76
|
|
77
|
-
let me
|
78
|
-
domListeners = me.domListeners;
|
77
|
+
let me = this;
|
79
78
|
|
80
|
-
|
79
|
+
me.addDomListeners([
|
81
80
|
{'drag:end' : me.onDragEnd, scope: me},
|
82
81
|
{'drag:start': me.onDragStart, scope: me}
|
83
|
-
);
|
84
|
-
|
85
|
-
me.domListeners = domListeners;
|
82
|
+
]);
|
86
83
|
}
|
87
84
|
|
88
85
|
/**
|
@@ -99,13 +99,10 @@ class Button extends Component {
|
|
99
99
|
* @protected
|
100
100
|
*/
|
101
101
|
afterSetHandler(value, oldValue) {
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
domListeners.push({click: value, scope: me});
|
107
|
-
me.domListeners = domListeners;
|
108
|
-
}
|
102
|
+
value && this.addDomListeners({
|
103
|
+
click: value,
|
104
|
+
scope: this
|
105
|
+
});
|
109
106
|
}
|
110
107
|
|
111
108
|
/**
|
@@ -77,14 +77,11 @@ class TextField extends Component {
|
|
77
77
|
Neo.main.addon.Mwc.loadTextFieldModule();
|
78
78
|
}
|
79
79
|
|
80
|
-
let me
|
81
|
-
domListeners = me.domListeners;
|
80
|
+
let me = this;
|
82
81
|
|
83
|
-
|
82
|
+
me.addDomListeners(
|
84
83
|
{input: me.onInputValueChange, scope: me}
|
85
84
|
);
|
86
|
-
|
87
|
-
me.domListeners = domListeners;
|
88
85
|
}
|
89
86
|
|
90
87
|
/**
|
@@ -28,17 +28,13 @@ class DropZone extends Base {
|
|
28
28
|
construct(config) {
|
29
29
|
super.construct(config);
|
30
30
|
|
31
|
-
let me
|
32
|
-
owner = me.owner,
|
33
|
-
domListeners = owner.domListeners;
|
31
|
+
let me = this;
|
34
32
|
|
35
|
-
|
33
|
+
me.owner.addDomListeners([
|
36
34
|
{'drop' : me.onDrop, scope: me},
|
37
35
|
{'drop:enter': me.onDropEnter, scope: me},
|
38
36
|
{'drop:leave': me.onDropLeave, scope: me}
|
39
|
-
);
|
40
|
-
|
41
|
-
owner.domListeners = domListeners;
|
37
|
+
]);
|
42
38
|
}
|
43
39
|
|
44
40
|
/**
|
@@ -32,18 +32,15 @@ class DragZone extends BaseDragZone {
|
|
32
32
|
construct(config) {
|
33
33
|
super.construct(config);
|
34
34
|
|
35
|
-
let me
|
36
|
-
owner
|
37
|
-
|
38
|
-
|
39
|
-
store = owner.store;
|
35
|
+
let me = this,
|
36
|
+
owner = me.owner,
|
37
|
+
opts = {delegate: '.neo-draggable', scope: me},
|
38
|
+
store = owner.store;
|
40
39
|
|
41
|
-
|
40
|
+
owner.addDomListeners([
|
42
41
|
{'drag:end' : me.onDragEnd, ...opts},
|
43
42
|
{'drag:start': me.onDragStart, ...opts}
|
44
|
-
);
|
45
|
-
|
46
|
-
owner.domListeners = domListeners;
|
43
|
+
]);
|
47
44
|
|
48
45
|
store.on({
|
49
46
|
load : me.onStoreLoad,
|
@@ -26,18 +26,15 @@ class DragZone extends BaseDragZone {
|
|
26
26
|
construct(config) {
|
27
27
|
super.construct(config);
|
28
28
|
|
29
|
-
let me
|
30
|
-
owner
|
31
|
-
|
32
|
-
opts = {delegate: '.neo-draggable', scope: me};
|
29
|
+
let me = this,
|
30
|
+
owner = me.owner,
|
31
|
+
opts = {delegate: '.neo-draggable', scope: me};
|
33
32
|
|
34
|
-
|
33
|
+
owner.addDomListeners([
|
35
34
|
{'drag:end' : me.onDragEnd, ...opts},
|
36
35
|
{'drag:move' : me.onDragMove, ...opts},
|
37
36
|
{'drag:start': me.onDragStart, ...opts}
|
38
|
-
);
|
39
|
-
|
40
|
-
owner.domListeners = domListeners;
|
37
|
+
]);
|
41
38
|
|
42
39
|
owner.on('insert', me.onItemInsert, me);
|
43
40
|
|
package/src/form/Fieldset.mjs
CHANGED
@@ -126,9 +126,8 @@ class Fieldset extends Container {
|
|
126
126
|
* @protected
|
127
127
|
*/
|
128
128
|
afterSetCollapsible(value, oldValue) {
|
129
|
-
let me
|
130
|
-
cls
|
131
|
-
domListeners = me.domListeners || [];
|
129
|
+
let me = this,
|
130
|
+
cls = me.cls;
|
132
131
|
|
133
132
|
NeoArray[value ? 'add' : 'remove'](cls, 'neo-collapsible');
|
134
133
|
me.cls = cls;
|
@@ -140,12 +139,10 @@ class Fieldset extends Container {
|
|
140
139
|
if (value && !me.hasLabelClickListener) {
|
141
140
|
me.hasLabelClickListener = true;
|
142
141
|
|
143
|
-
|
142
|
+
me.addDomListeners({
|
144
143
|
click : me.onLegendClick,
|
145
144
|
delegate: 'neo-legend'
|
146
145
|
});
|
147
|
-
|
148
|
-
me.domListeners = domListeners;
|
149
146
|
}
|
150
147
|
}
|
151
148
|
|
@@ -75,14 +75,11 @@ class CheckBox extends Base {
|
|
75
75
|
construct(config) {
|
76
76
|
super.construct(config);
|
77
77
|
|
78
|
-
let me
|
79
|
-
domListeners = me.domListeners;
|
78
|
+
let me = this;
|
80
79
|
|
81
|
-
|
80
|
+
me.addDomListeners(
|
82
81
|
{change: me.onInputValueChange, scope: me}
|
83
82
|
);
|
84
|
-
|
85
|
-
me.domListeners = domListeners;
|
86
83
|
}
|
87
84
|
|
88
85
|
/**
|
package/src/form/field/Range.mjs
CHANGED
@@ -51,20 +51,17 @@ class Range extends Number {
|
|
51
51
|
construct(config) {
|
52
52
|
super.construct(config);
|
53
53
|
|
54
|
-
let me
|
55
|
-
|
56
|
-
inputEl = me.vdom.cn[1];
|
54
|
+
let me = this,
|
55
|
+
inputEl = me.vdom.cn[1];
|
57
56
|
|
58
57
|
if (me.useInputEvent) {
|
59
|
-
|
58
|
+
me.addDomListeners({
|
60
59
|
input: {
|
61
60
|
fn : me.onInputValueChange,
|
62
61
|
id : me.vdom.cn[1].id,
|
63
62
|
scope : me
|
64
63
|
}
|
65
64
|
});
|
66
|
-
|
67
|
-
me.domListeners = domListeners;
|
68
65
|
}
|
69
66
|
|
70
67
|
inputEl.cls = ['neo-rangefield-input']; // replace neo-textfield-input
|
package/src/form/field/Text.mjs
CHANGED
@@ -151,14 +151,11 @@ class Text extends Base {
|
|
151
151
|
construct(config) {
|
152
152
|
super.construct(config);
|
153
153
|
|
154
|
-
let me
|
155
|
-
domListeners = me.domListeners;
|
154
|
+
let me = this;
|
156
155
|
|
157
|
-
|
156
|
+
me.addDomListeners(
|
158
157
|
{input: me.onInputValueChange, scope: me}
|
159
158
|
);
|
160
|
-
|
161
|
-
me.domListeners = domListeners;
|
162
159
|
}
|
163
160
|
|
164
161
|
/**
|