mirror of
https://github.com/flarum/framework.git
synced 2025-02-22 07:33:43 +08:00
Customize behavior for various navigation callbacks, pass KeyboardEvent instance to callback
Refs #264.
This commit is contained in:
parent
a2b961e525
commit
829f0e0275
37
framework/core/js/forum/dist/app.js
vendored
37
framework/core/js/forum/dist/app.js
vendored
@ -31658,28 +31658,53 @@ System.register('flarum/utils/KeyboardNavigatable', [], function (_export, _cont
|
||||
babelHelpers.createClass(KeyboardNavigatable, [{
|
||||
key: 'onUp',
|
||||
value: function onUp(callback) {
|
||||
this.callbacks[38] = callback;
|
||||
this.callbacks[38] = function (e) {
|
||||
e.preventDefault();
|
||||
callback(e);
|
||||
};
|
||||
|
||||
return this;
|
||||
}
|
||||
}, {
|
||||
key: 'onDown',
|
||||
value: function onDown(callback) {
|
||||
this.callbacks[40] = callback;
|
||||
this.callbacks[40] = function (e) {
|
||||
e.preventDefault();
|
||||
callback(e);
|
||||
};
|
||||
|
||||
return this;
|
||||
}
|
||||
}, {
|
||||
key: 'onSelect',
|
||||
value: function onSelect(callback) {
|
||||
this.callbacks[9] = this.callbacks[13] = callback;
|
||||
this.callbacks[9] = this.callbacks[13] = function (e) {
|
||||
e.preventDefault();
|
||||
callback(e);
|
||||
};
|
||||
|
||||
return this;
|
||||
}
|
||||
}, {
|
||||
key: 'onCancel',
|
||||
value: function onCancel(callback) {
|
||||
this.callbacks[27] = callback;
|
||||
this.callbacks[27] = function (e) {
|
||||
e.stopPropagation();
|
||||
e.preventDefault();
|
||||
callback(e);
|
||||
};
|
||||
|
||||
return this;
|
||||
}
|
||||
}, {
|
||||
key: 'onRemove',
|
||||
value: function onRemove(callback) {
|
||||
this.callbacks[8] = function (e) {
|
||||
if (e.target.selectionStart === 0 && e.target.selectionEnd === 0) {
|
||||
callback(e);
|
||||
e.preventDefault();
|
||||
}
|
||||
};
|
||||
|
||||
return this;
|
||||
}
|
||||
@ -31704,9 +31729,7 @@ System.register('flarum/utils/KeyboardNavigatable', [], function (_export, _cont
|
||||
|
||||
var keyCallback = this.callbacks[event.which];
|
||||
if (keyCallback) {
|
||||
keyCallback();
|
||||
event.stopPropagation();
|
||||
event.preventDefault();
|
||||
keyCallback(event);
|
||||
}
|
||||
}
|
||||
}]);
|
||||
|
@ -23,7 +23,10 @@ export default class KeyboardNavigatable {
|
||||
* @return {KeyboardNavigatable}
|
||||
*/
|
||||
onUp(callback) {
|
||||
this.callbacks[38] = callback;
|
||||
this.callbacks[38] = e => {
|
||||
e.preventDefault();
|
||||
callback(e);
|
||||
};
|
||||
|
||||
return this;
|
||||
}
|
||||
@ -38,7 +41,10 @@ export default class KeyboardNavigatable {
|
||||
* @return {KeyboardNavigatable}
|
||||
*/
|
||||
onDown(callback) {
|
||||
this.callbacks[40] = callback;
|
||||
this.callbacks[40] = e => {
|
||||
e.preventDefault();
|
||||
callback(e);
|
||||
};
|
||||
|
||||
return this;
|
||||
}
|
||||
@ -53,7 +59,10 @@ export default class KeyboardNavigatable {
|
||||
* @return {KeyboardNavigatable}
|
||||
*/
|
||||
onSelect(callback) {
|
||||
this.callbacks[9] = this.callbacks[13] = callback;
|
||||
this.callbacks[9] = this.callbacks[13] = e => {
|
||||
e.preventDefault();
|
||||
callback(e);
|
||||
};
|
||||
|
||||
return this;
|
||||
}
|
||||
@ -68,7 +77,31 @@ export default class KeyboardNavigatable {
|
||||
* @return {KeyboardNavigatable}
|
||||
*/
|
||||
onCancel(callback) {
|
||||
this.callbacks[27] = callback;
|
||||
this.callbacks[27] = e => {
|
||||
e.stopPropagation();
|
||||
e.preventDefault();
|
||||
callback(e);
|
||||
}
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Provide a callback to be executed when previous input is removed.
|
||||
*
|
||||
* This will be triggered by the Backspace key.
|
||||
*
|
||||
* @public
|
||||
* @param {Function} callback
|
||||
* @return {KeyboardNavigatable}
|
||||
*/
|
||||
onRemove(callback) {
|
||||
this.callbacks[8] = e => {
|
||||
if (e.target.selectionStart === 0 && e.target.selectionEnd === 0) {
|
||||
callback(e);
|
||||
e.preventDefault();
|
||||
}
|
||||
};
|
||||
|
||||
return this;
|
||||
}
|
||||
@ -109,9 +142,7 @@ export default class KeyboardNavigatable {
|
||||
|
||||
const keyCallback = this.callbacks[event.which];
|
||||
if (keyCallback) {
|
||||
keyCallback();
|
||||
event.stopPropagation();
|
||||
event.preventDefault();
|
||||
keyCallback(event);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user