neo.mjs 5.13.2 → 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/CircleModel.mjs +12 -16
- package/src/selection/DateSelectorModel.mjs +12 -16
- package/src/selection/GalleryModel.mjs +12 -16
- package/src/selection/HelixModel.mjs +12 -16
- package/src/selection/ListModel.mjs +18 -10
- package/src/selection/menu/ListModel.mjs +7 -0
- package/src/selection/table/CellModel.mjs +12 -16
- package/src/selection/table/ColumnModel.mjs +8 -22
- package/src/selection/table/RowModel.mjs +8 -18
- package/src/table/View.mjs +1 -1
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
|
*/
|
@@ -70,14 +70,12 @@ class CircleModel extends Model {
|
|
70
70
|
id = me.id,
|
71
71
|
view = me.view;
|
72
72
|
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
);
|
80
|
-
}
|
73
|
+
view.keys?._keys.push(
|
74
|
+
{fn: 'onKeyDownLeft' ,key: 'Down' ,scope: id},
|
75
|
+
{fn: 'onKeyDownLeft' ,key: 'Left' ,scope: id},
|
76
|
+
{fn: 'onKeyDownRight' ,key: 'Right' ,scope: id},
|
77
|
+
{fn: 'onKeyDownRight' ,key: 'Up' ,scope: id}
|
78
|
+
);
|
81
79
|
}
|
82
80
|
|
83
81
|
/**
|
@@ -88,14 +86,12 @@ class CircleModel extends Model {
|
|
88
86
|
id = me.id,
|
89
87
|
view = me.view;
|
90
88
|
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
]);
|
98
|
-
}
|
89
|
+
view.keys?.removeKeys([
|
90
|
+
{fn: 'onKeyDownLeft' ,key: 'Down' ,scope: id},
|
91
|
+
{fn: 'onKeyDownLeft' ,key: 'Left' ,scope: id},
|
92
|
+
{fn: 'onKeyDownRight' ,key: 'Right' ,scope: id},
|
93
|
+
{fn: 'onKeyDownRight' ,key: 'Up' ,scope: id}
|
94
|
+
]);
|
99
95
|
|
100
96
|
super.unregister();
|
101
97
|
}
|
@@ -141,14 +141,12 @@ class DateSelectorModel extends Model {
|
|
141
141
|
scope = {scope: me.id},
|
142
142
|
view = me.view;
|
143
143
|
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
);
|
151
|
-
}
|
144
|
+
view.keys?._keys.push(
|
145
|
+
{fn: 'onKeyDownDown' ,key: 'Down' ,...scope},
|
146
|
+
{fn: 'onKeyDownLeft' ,key: 'Left' ,...scope},
|
147
|
+
{fn: 'onKeyDownRight' ,key: 'Right' ,...scope},
|
148
|
+
{fn: 'onKeyDownUp' ,key: 'Up' ,...scope}
|
149
|
+
);
|
152
150
|
}
|
153
151
|
|
154
152
|
/**
|
@@ -159,14 +157,12 @@ class DateSelectorModel extends Model {
|
|
159
157
|
scope = {scope: me.id},
|
160
158
|
view = me.view;
|
161
159
|
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
]);
|
169
|
-
}
|
160
|
+
view.keys?.removeKeys([
|
161
|
+
{fn: 'onKeyDownDown' ,key: 'Down' ,...scope},
|
162
|
+
{fn: 'onKeyDownLeft' ,key: 'Left' ,...scope},
|
163
|
+
{fn: 'onKeyDownRight' ,key: 'Right' ,...scope},
|
164
|
+
{fn: 'onKeyDownUp' ,key: 'Up' ,...scope}
|
165
|
+
]);
|
170
166
|
|
171
167
|
super.unregister();
|
172
168
|
}
|
@@ -210,14 +210,12 @@ class GalleryModel extends Model {
|
|
210
210
|
scope : me
|
211
211
|
});
|
212
212
|
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
);
|
220
|
-
}
|
213
|
+
view.keys?._keys.push(
|
214
|
+
{fn: 'onKeyDownDown' ,key: 'Down' ,scope: id},
|
215
|
+
{fn: 'onKeyDownLeft' ,key: 'Left' ,scope: id},
|
216
|
+
{fn: 'onKeyDownRight' ,key: 'Right' ,scope: id},
|
217
|
+
{fn: 'onKeyDownUp' ,key: 'Up' ,scope: id}
|
218
|
+
);
|
221
219
|
}
|
222
220
|
|
223
221
|
/**
|
@@ -286,14 +284,12 @@ class GalleryModel extends Model {
|
|
286
284
|
id = me.id,
|
287
285
|
view = me.view;
|
288
286
|
|
289
|
-
|
290
|
-
|
291
|
-
|
292
|
-
|
293
|
-
|
294
|
-
|
295
|
-
]);
|
296
|
-
}
|
287
|
+
view.keys?.removeKeys([
|
288
|
+
{fn: 'onKeyDownDown' ,key: 'Down' ,scope: id},
|
289
|
+
{fn: 'onKeyDownLeft' ,key: 'Left' ,scope: id},
|
290
|
+
{fn: 'onKeyDownRight' ,key: 'Right' ,scope: id},
|
291
|
+
{fn: 'onKeyDownUp' ,key: 'Up' ,scope: id}
|
292
|
+
]);
|
297
293
|
|
298
294
|
super.unregister();
|
299
295
|
}
|
@@ -206,14 +206,12 @@ class HelixModel extends Model {
|
|
206
206
|
scope : me
|
207
207
|
});
|
208
208
|
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
);
|
216
|
-
}
|
209
|
+
view.keys?._keys.push(
|
210
|
+
{fn: 'onKeyDownDown' ,key: 'Down' ,scope: id},
|
211
|
+
{fn: 'onKeyDownLeft' ,key: 'Left' ,scope: id},
|
212
|
+
{fn: 'onKeyDownRight' ,key: 'Right' ,scope: id},
|
213
|
+
{fn: 'onKeyDownUp' ,key: 'Up' ,scope: id}
|
214
|
+
);
|
217
215
|
}
|
218
216
|
|
219
217
|
/**
|
@@ -290,14 +288,12 @@ class HelixModel extends Model {
|
|
290
288
|
id = me.id,
|
291
289
|
view = me.view;
|
292
290
|
|
293
|
-
|
294
|
-
|
295
|
-
|
296
|
-
|
297
|
-
|
298
|
-
|
299
|
-
]);
|
300
|
-
}
|
291
|
+
view.keys?.removeKeys([
|
292
|
+
{fn: 'onKeyDownDown' ,key: 'Down' ,scope: id},
|
293
|
+
{fn: 'onKeyDownLeft' ,key: 'Left' ,scope: id},
|
294
|
+
{fn: 'onKeyDownRight' ,key: 'Right' ,scope: id},
|
295
|
+
{fn: 'onKeyDownUp' ,key: 'Up' ,scope: id}
|
296
|
+
]);
|
301
297
|
|
302
298
|
super.unregister();
|
303
299
|
}
|
@@ -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();
|
@@ -145,14 +145,12 @@ class CellModel extends Model {
|
|
145
145
|
id = me.id,
|
146
146
|
view = me.view;
|
147
147
|
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
);
|
155
|
-
}
|
148
|
+
view.keys?._keys.push(
|
149
|
+
{fn: 'onKeyDownDown' ,key: 'Down' ,scope: id},
|
150
|
+
{fn: 'onKeyDownLeft' ,key: 'Left' ,scope: id},
|
151
|
+
{fn: 'onKeyDownRight' ,key: 'Right' ,scope: id},
|
152
|
+
{fn: 'onKeyDownUp' ,key: 'Up' ,scope: id}
|
153
|
+
);
|
156
154
|
}
|
157
155
|
|
158
156
|
/**
|
@@ -163,14 +161,12 @@ class CellModel extends Model {
|
|
163
161
|
id = me.id,
|
164
162
|
view = me.view;
|
165
163
|
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
]);
|
173
|
-
}
|
164
|
+
view.keys?.removeKeys([
|
165
|
+
{fn: 'onKeyDownDown' ,key: 'Down' ,scope: id},
|
166
|
+
{fn: 'onKeyDownLeft' ,key: 'Left' ,scope: id},
|
167
|
+
{fn: 'onKeyDownRight' ,key: 'Right' ,scope: id},
|
168
|
+
{fn: 'onKeyDownUp' ,key: 'Up' ,scope: id}
|
169
|
+
]);
|
174
170
|
|
175
171
|
super.unregister();
|
176
172
|
}
|
@@ -139,17 +139,10 @@ class ColumnModel extends Model {
|
|
139
139
|
id = me.id,
|
140
140
|
view = me.view;
|
141
141
|
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
scope: id
|
147
|
-
}, {
|
148
|
-
fn : 'onKeyDownRight',
|
149
|
-
key : 'Right',
|
150
|
-
scope: id
|
151
|
-
});
|
152
|
-
}
|
142
|
+
view.keys?._keys.push(
|
143
|
+
{fn: 'onKeyDownLeft', key: 'Left', scope: id},
|
144
|
+
{fn: 'onKeyDownRight', key: 'Right', scope: id}
|
145
|
+
);
|
153
146
|
}
|
154
147
|
|
155
148
|
|
@@ -161,17 +154,10 @@ class ColumnModel extends Model {
|
|
161
154
|
id = me.id,
|
162
155
|
view = me.view;
|
163
156
|
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
scope: id
|
169
|
-
}, {
|
170
|
-
fn : 'onKeyDownRight',
|
171
|
-
key : 'Right',
|
172
|
-
scope: id
|
173
|
-
}]);
|
174
|
-
}
|
157
|
+
view.keys?.removeKeys([
|
158
|
+
{fn: 'onKeyDownLeft', key: 'Left', scope: id},
|
159
|
+
{fn: 'onKeyDownRight', key: 'Right', scope: id}
|
160
|
+
]);
|
175
161
|
|
176
162
|
super.unregister();
|
177
163
|
}
|
@@ -148,15 +148,10 @@ class RowModel extends Model {
|
|
148
148
|
let id = this.id,
|
149
149
|
view = this.view;
|
150
150
|
|
151
|
-
view.keys?._keys.push(
|
152
|
-
fn
|
153
|
-
key
|
154
|
-
|
155
|
-
}, {
|
156
|
-
fn : 'onKeyDownUp',
|
157
|
-
key : 'Up',
|
158
|
-
scope: id
|
159
|
-
});
|
151
|
+
view.keys?._keys.push(
|
152
|
+
{fn: 'onKeyDownDown', key: 'Down', scope: id},
|
153
|
+
{fn: 'onKeyDownUp', key: 'Up', scope: id}
|
154
|
+
);
|
160
155
|
}
|
161
156
|
|
162
157
|
/**
|
@@ -166,15 +161,10 @@ class RowModel extends Model {
|
|
166
161
|
let id = this.id,
|
167
162
|
view = this.view;
|
168
163
|
|
169
|
-
view.keys?.removeKeys([
|
170
|
-
fn
|
171
|
-
key
|
172
|
-
|
173
|
-
}, {
|
174
|
-
fn : 'onKeyDownUp',
|
175
|
-
key : 'Up',
|
176
|
-
scope: id
|
177
|
-
}]);
|
164
|
+
view.keys?.removeKeys([
|
165
|
+
{fn: 'onKeyDownDown', key: 'Down', scope: id},
|
166
|
+
{fn: 'onKeyDownUp', key: 'Up', scope: id}
|
167
|
+
]);
|
178
168
|
|
179
169
|
super.unregister();
|
180
170
|
}
|