neo.mjs 5.13.3 → 5.13.4
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/ServiceWorker.mjs +2 -2
- package/examples/ServiceWorker.mjs +2 -2
- package/package.json +1 -1
- package/resources/scss/src/form/field/Text.scss +1 -1
- package/src/DefaultConfig.mjs +2 -2
- package/src/button/Base.mjs +2 -1
- package/src/menu/List.mjs +53 -3
- package/src/selection/ListModel.mjs +18 -10
- package/src/selection/menu/ListModel.mjs +7 -0
package/apps/ServiceWorker.mjs
CHANGED
package/package.json
CHANGED
@@ -24,7 +24,7 @@
|
|
24
24
|
|
25
25
|
.neo-textfield-input {
|
26
26
|
border-color: v(textfield-border-color-active);
|
27
|
-
outline : v(textfield-outline-active);
|
27
|
+
outline : v(textfield-outline-active) !important; // important is needed, since the default &:focus selector would get a prio
|
28
28
|
}
|
29
29
|
}
|
30
30
|
|
package/src/DefaultConfig.mjs
CHANGED
@@ -236,12 +236,12 @@ const DefaultConfig = {
|
|
236
236
|
useVdomWorker: true,
|
237
237
|
/**
|
238
238
|
* buildScripts/injectPackageVersion.mjs will update this value
|
239
|
-
* @default '5.13.
|
239
|
+
* @default '5.13.4'
|
240
240
|
* @memberOf! module:Neo
|
241
241
|
* @name config.version
|
242
242
|
* @type String
|
243
243
|
*/
|
244
|
-
version: '5.13.
|
244
|
+
version: '5.13.4'
|
245
245
|
};
|
246
246
|
|
247
247
|
Object.assign(DefaultConfig, {
|
package/src/button/Base.mjs
CHANGED
package/src/menu/List.mjs
CHANGED
@@ -342,15 +342,49 @@ class List extends BaseList {
|
|
342
342
|
onItemClick(node, data) {
|
343
343
|
super.onItemClick(node, data);
|
344
344
|
|
345
|
-
let me
|
345
|
+
let me = this,
|
346
|
+
record = data.record;
|
346
347
|
|
347
|
-
|
348
|
+
record.handler?.call(me, record);
|
348
349
|
|
349
|
-
if (me.hideOnLeafItemClick && !
|
350
|
+
if (me.hideOnLeafItemClick && !record.items) {
|
350
351
|
me.unmount()
|
351
352
|
}
|
352
353
|
}
|
353
354
|
|
355
|
+
/**
|
356
|
+
* @param {String} nodeId
|
357
|
+
*/
|
358
|
+
onKeyDownEnter(nodeId) {
|
359
|
+
if (nodeId) {
|
360
|
+
let me = this,
|
361
|
+
recordId = me.getItemRecordId(nodeId),
|
362
|
+
record = me.store.get(recordId),
|
363
|
+
submenu;
|
364
|
+
|
365
|
+
record.handler?.call(me, record);
|
366
|
+
|
367
|
+
if (me.hideOnLeafItemClick && !record.items) {
|
368
|
+
me.unmount()
|
369
|
+
}
|
370
|
+
|
371
|
+
if (record.items) {
|
372
|
+
submenu = me.subMenuMap[me.getMenuMapId(recordId)];
|
373
|
+
|
374
|
+
if (submenu) {
|
375
|
+
me.toggleSubMenu(nodeId, record)
|
376
|
+
}
|
377
|
+
}
|
378
|
+
}
|
379
|
+
}
|
380
|
+
|
381
|
+
/**
|
382
|
+
* @param {Object} data
|
383
|
+
*/
|
384
|
+
onKeyDownEscape(data) {
|
385
|
+
this.floating && this.unmount()
|
386
|
+
}
|
387
|
+
|
354
388
|
/**
|
355
389
|
* @param {String[]} items
|
356
390
|
*/
|
@@ -415,6 +449,22 @@ class List extends BaseList {
|
|
415
449
|
});
|
416
450
|
}
|
417
451
|
|
452
|
+
/**
|
453
|
+
* @param {String} nodeId
|
454
|
+
* @param {Object} record
|
455
|
+
*/
|
456
|
+
toggleSubMenu(nodeId, record) {
|
457
|
+
let me = this,
|
458
|
+
recordId = record[me.getKeyProperty()],
|
459
|
+
submenu = me.subMenuMap[me.getMenuMapId(recordId)];
|
460
|
+
|
461
|
+
if (!submenu?.mounted) {
|
462
|
+
me.showSubMenu(nodeId, record)
|
463
|
+
} else {
|
464
|
+
me.hideSubMenu()
|
465
|
+
}
|
466
|
+
}
|
467
|
+
|
418
468
|
/**
|
419
469
|
*
|
420
470
|
*/
|
@@ -38,6 +38,12 @@ class ListModel extends Model {
|
|
38
38
|
!view.disableSelection && view.onKeyDownEnter?.(this.getSelection()[0]);
|
39
39
|
}
|
40
40
|
|
41
|
+
/**
|
42
|
+
* Placeholder method to get overridden by class extension list menu.ListModel
|
43
|
+
* @param {Object} data
|
44
|
+
*/
|
45
|
+
onKeyDownEscape(data) {}
|
46
|
+
|
41
47
|
/**
|
42
48
|
* @param {Object} data
|
43
49
|
*/
|
@@ -136,11 +142,12 @@ class ListModel extends Model {
|
|
136
142
|
view = me.view;
|
137
143
|
|
138
144
|
view.keys?._keys.push(
|
139
|
-
{fn: 'onKeyDownDown'
|
140
|
-
{fn: 'onKeyDownEnter'
|
141
|
-
{fn: '
|
142
|
-
{fn: '
|
143
|
-
{fn: '
|
145
|
+
{fn: 'onKeyDownDown' ,key: 'Down' ,scope: id},
|
146
|
+
{fn: 'onKeyDownEnter' ,key: 'Enter' ,scope: id},
|
147
|
+
{fn: 'onKeyDownEscape' ,key: 'Escape' ,scope: id},
|
148
|
+
{fn: 'onKeyDownLeft' ,key: 'Left' ,scope: id},
|
149
|
+
{fn: 'onKeyDownRight' ,key: 'Right' ,scope: id},
|
150
|
+
{fn: 'onKeyDownUp' ,key: 'Up' ,scope: id}
|
144
151
|
);
|
145
152
|
}
|
146
153
|
|
@@ -167,11 +174,12 @@ class ListModel extends Model {
|
|
167
174
|
view = me.view;
|
168
175
|
|
169
176
|
view.keys?.removeKeys([
|
170
|
-
{fn: 'onKeyDownDown'
|
171
|
-
{fn: 'onKeyDownEnter'
|
172
|
-
{fn: '
|
173
|
-
{fn: '
|
174
|
-
{fn: '
|
177
|
+
{fn: 'onKeyDownDown' ,key: 'Down' ,scope: id},
|
178
|
+
{fn: 'onKeyDownEnter' ,key: 'Enter' ,scope: id},
|
179
|
+
{fn: 'onKeyDownEscape' ,key: 'Escape' ,scope: id},
|
180
|
+
{fn: 'onKeyDownLeft' ,key: 'Left' ,scope: id},
|
181
|
+
{fn: 'onKeyDownRight' ,key: 'Right' ,scope: id},
|
182
|
+
{fn: 'onKeyDownUp' ,key: 'Up' ,scope: id}
|
175
183
|
]);
|
176
184
|
|
177
185
|
super.unregister();
|