@danielgindi/selectbox 1.0.78 → 1.0.79
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/dist/lib.cjs.js +33 -48
- package/dist/lib.cjs.js.map +1 -1
- package/dist/lib.cjs.min.js +2 -2
- package/dist/lib.cjs.min.js.map +1 -1
- package/dist/lib.es6.js +37 -52
- package/dist/lib.es6.js.map +1 -1
- package/dist/lib.es6.min.js +2 -2
- package/dist/lib.es6.min.js.map +1 -1
- package/dist/lib.umd.js +33 -48
- package/dist/lib.umd.js.map +1 -1
- package/dist/lib.umd.min.js +2 -2
- package/dist/lib.umd.min.js.map +1 -1
- package/lib/DropList.js +8 -6
- package/lib/SelectBox.js +30 -47
- package/package.json +1 -1
package/dist/lib.es6.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* @danielgindi/selectbox 1.0.
|
|
2
|
+
* @danielgindi/selectbox 1.0.79
|
|
3
3
|
* git://github.com/danielgindi/selectbox.git
|
|
4
4
|
*/
|
|
5
5
|
import { createElement, closestUntil, setElementAttrs, next, prev } from '@danielgindi/dom-utils/lib/Dom';
|
|
@@ -475,6 +475,14 @@ class DropList {
|
|
|
475
475
|
this._move('prev_page', event);
|
|
476
476
|
}
|
|
477
477
|
|
|
478
|
+
goToFirst(event) {
|
|
479
|
+
this._move('first', event);
|
|
480
|
+
}
|
|
481
|
+
|
|
482
|
+
goToLast(event) {
|
|
483
|
+
this._move('last', event);
|
|
484
|
+
}
|
|
485
|
+
|
|
478
486
|
toggleFocusedItem() {
|
|
479
487
|
const p = this._p;
|
|
480
488
|
|
|
@@ -1500,12 +1508,6 @@ class DropList {
|
|
|
1500
1508
|
const p = this._p;
|
|
1501
1509
|
|
|
1502
1510
|
p.sink
|
|
1503
|
-
.add(p.el, 'mousedown', (event) => {
|
|
1504
|
-
const li = closestUntil(event.target, 'li', event.currentTarget);
|
|
1505
|
-
if (!li) return;
|
|
1506
|
-
|
|
1507
|
-
event.preventDefault();
|
|
1508
|
-
})
|
|
1509
1511
|
.add(p.el, 'mouseup', (event) => {
|
|
1510
1512
|
const li = closestUntil(event.target, 'li', event.currentTarget);
|
|
1511
1513
|
if (!li) return;
|
|
@@ -4150,6 +4152,16 @@ class SelectBox {
|
|
|
4150
4152
|
case VALUE_PAGE_DOWN:
|
|
4151
4153
|
case VALUE_UP:
|
|
4152
4154
|
case VALUE_DOWN:
|
|
4155
|
+
case VALUE_HOME:
|
|
4156
|
+
case VALUE_END:
|
|
4157
|
+
if ((evt.key === VALUE_HOME || evt.key === VALUE_END) &&
|
|
4158
|
+
p.input && p.input.value.length > 0 && !p.lastKeyAllowsNonTypeKeys) {
|
|
4159
|
+
// Allow using HOME/END button within the textbox
|
|
4160
|
+
suppressKeyPressRepeat = true;
|
|
4161
|
+
dropList._keydownFreeType(evt);
|
|
4162
|
+
break;
|
|
4163
|
+
}
|
|
4164
|
+
|
|
4153
4165
|
suppressKeyPress = true;
|
|
4154
4166
|
evt.preventDefault();
|
|
4155
4167
|
|
|
@@ -4177,11 +4189,18 @@ class SelectBox {
|
|
|
4177
4189
|
}
|
|
4178
4190
|
break;
|
|
4179
4191
|
|
|
4192
|
+
case VALUE_HOME:
|
|
4193
|
+
dropList.goToFirst(evt);
|
|
4194
|
+
break;
|
|
4195
|
+
|
|
4196
|
+
case VALUE_END:
|
|
4197
|
+
dropList.goToLast(evt);
|
|
4198
|
+
break;
|
|
4180
4199
|
}
|
|
4181
4200
|
break;
|
|
4182
4201
|
|
|
4183
4202
|
case VALUE_SPACE:
|
|
4184
|
-
if (p.
|
|
4203
|
+
if (p.lastKeyAllowsNonTypeKeys) {
|
|
4185
4204
|
if (dropList.isVisible() && dropList.hasFocusedItem()) {
|
|
4186
4205
|
suppressKeyPress = true;
|
|
4187
4206
|
suppressKeyPressRepeat = true;
|
|
@@ -4222,11 +4241,13 @@ class SelectBox {
|
|
|
4222
4241
|
break;
|
|
4223
4242
|
}
|
|
4224
4243
|
|
|
4225
|
-
p.
|
|
4244
|
+
p.lastKeyAllowsNonTypeKeys = evt.key === VALUE_UP ||
|
|
4226
4245
|
evt.key === VALUE_DOWN ||
|
|
4227
4246
|
evt.key === VALUE_PAGE_UP ||
|
|
4228
4247
|
evt.key === VALUE_PAGE_DOWN ||
|
|
4229
|
-
|
|
4248
|
+
evt.key === VALUE_HOME ||
|
|
4249
|
+
evt.key === VALUE_END ||
|
|
4250
|
+
(evt.key === VALUE_SPACE && !!p.lastKeyAllowsNonTypeKeys);
|
|
4230
4251
|
})
|
|
4231
4252
|
.add(keyEventsTarget, 'keypress.dropdown', evt => {
|
|
4232
4253
|
if (suppressKeyPress) {
|
|
@@ -4238,52 +4259,16 @@ class SelectBox {
|
|
|
4238
4259
|
if (suppressKeyPressRepeat)
|
|
4239
4260
|
return;
|
|
4240
4261
|
|
|
4241
|
-
if (evt.key === VALUE_ENTER ||
|
|
4242
|
-
|
|
4243
|
-
|
|
4244
|
-
|
|
4245
|
-
|
|
4246
|
-
|
|
4247
|
-
)
|
|
4262
|
+
if (evt.key === VALUE_ENTER || (
|
|
4263
|
+
evt.key === VALUE_SPACE &&
|
|
4264
|
+
p.lastKeyAllowsNonTypeKeys &&
|
|
4265
|
+
!p.multi &&
|
|
4266
|
+
!dropList.hasFocusedItem()
|
|
4267
|
+
)
|
|
4248
4268
|
) {
|
|
4249
4269
|
this.toggleList();
|
|
4250
4270
|
evt.preventDefault();
|
|
4251
4271
|
evt.stopPropagation();
|
|
4252
|
-
return;
|
|
4253
|
-
}
|
|
4254
|
-
|
|
4255
|
-
switch (evt.key) {
|
|
4256
|
-
case VALUE_PAGE_UP:
|
|
4257
|
-
case VALUE_PAGE_DOWN:
|
|
4258
|
-
case VALUE_UP:
|
|
4259
|
-
case VALUE_DOWN:
|
|
4260
|
-
evt.preventDefault();
|
|
4261
|
-
|
|
4262
|
-
switch (evt.key) {
|
|
4263
|
-
case VALUE_PAGE_UP:
|
|
4264
|
-
if (dropList.isVisible())
|
|
4265
|
-
dropList.previousPage(evt);
|
|
4266
|
-
break;
|
|
4267
|
-
case VALUE_PAGE_DOWN:
|
|
4268
|
-
if (dropList.isVisible())
|
|
4269
|
-
dropList.nextPage(evt);
|
|
4270
|
-
break;
|
|
4271
|
-
case VALUE_UP:
|
|
4272
|
-
if (dropList.isVisible()) {
|
|
4273
|
-
dropList.previous(evt);
|
|
4274
|
-
} else {
|
|
4275
|
-
this._movePrev();
|
|
4276
|
-
}
|
|
4277
|
-
break;
|
|
4278
|
-
case VALUE_DOWN:
|
|
4279
|
-
if (dropList.isVisible()) {
|
|
4280
|
-
dropList.next(evt);
|
|
4281
|
-
} else {
|
|
4282
|
-
this._moveNext();
|
|
4283
|
-
}
|
|
4284
|
-
break;
|
|
4285
|
-
}
|
|
4286
|
-
break;
|
|
4287
4272
|
}
|
|
4288
4273
|
});
|
|
4289
4274
|
|