@revolist/revogrid
Version:
Virtual reactive data grid spreadsheet component - RevoGrid.
111 lines (106 loc) • 4.02 kB
JavaScript
/*!
* Built by Revolist OU ❤️
*/
;
var dimension_helpers = require('./dimension.helpers-CaIsYC99.js');
function isMetaKey(code) {
const keys = [
dimension_helpers.KeyCodesEnum.ARROW_DOWN,
dimension_helpers.KeyCodesEnum.ARROW_UP,
dimension_helpers.KeyCodesEnum.ARROW_LEFT,
dimension_helpers.KeyCodesEnum.ARROW_RIGHT,
dimension_helpers.KeyCodesEnum.HOME,
dimension_helpers.KeyCodesEnum.END,
dimension_helpers.KeyCodesEnum.DELETE,
dimension_helpers.KeyCodesEnum.BACKSPACE,
dimension_helpers.KeyCodesEnum.F1,
dimension_helpers.KeyCodesEnum.F2,
dimension_helpers.KeyCodesEnum.F3,
dimension_helpers.KeyCodesEnum.F4,
dimension_helpers.KeyCodesEnum.F5,
dimension_helpers.KeyCodesEnum.F6,
dimension_helpers.KeyCodesEnum.F7,
dimension_helpers.KeyCodesEnum.F8,
dimension_helpers.KeyCodesEnum.F9,
dimension_helpers.KeyCodesEnum.F10,
dimension_helpers.KeyCodesEnum.F11,
dimension_helpers.KeyCodesEnum.F12,
dimension_helpers.KeyCodesEnum.TAB,
dimension_helpers.KeyCodesEnum.PAGE_DOWN,
dimension_helpers.KeyCodesEnum.PAGE_UP,
dimension_helpers.KeyCodesEnum.ENTER,
dimension_helpers.KeyCodesEnum.ESCAPE,
dimension_helpers.KeyCodesEnum.SHIFT,
dimension_helpers.KeyCodesEnum.CAPS_LOCK,
dimension_helpers.KeyCodesEnum.ALT,
];
return keys.indexOf(code) !== -1;
}
// navigator.platform
function isCtrlKey(code, platform) {
if (platform.includes(dimension_helpers.OsPlatform.mac)) {
return [
dimension_helpers.KeyCodesEnum.COMMAND_LEFT,
dimension_helpers.KeyCodesEnum.COMMAND_RIGHT,
dimension_helpers.KeyCodesEnum.COMMAND_FIREFOX,
].includes(code);
}
return code === dimension_helpers.KeyCodesEnum.CONTROL;
}
function isCtrlMetaKey(code) {
return [
dimension_helpers.KeyCodesEnum.CONTROL,
dimension_helpers.KeyCodesEnum.COMMAND_LEFT,
dimension_helpers.KeyCodesEnum.COMMAND_RIGHT,
dimension_helpers.KeyCodesEnum.COMMAND_FIREFOX,
].includes(code);
}
function isClear(code) {
return dimension_helpers.codesLetter.BACKSPACE === code || dimension_helpers.codesLetter.DELETE === code;
}
function isTab(code) {
return dimension_helpers.codesLetter.TAB === code;
}
function isTabKeyValue(key) {
return dimension_helpers.keyValues.TAB === key;
}
function isEnterKeyValue(key) {
return dimension_helpers.keyValues.ENTER === key;
}
function isCut(event) {
return ((event.ctrlKey && event.code === 'KeyX') || // Ctrl + X on Windows
(event.metaKey && event.code === 'KeyX')); // Cmd + X on Mac
}
function isCopy(event) {
return ((event.ctrlKey && event.code === 'KeyC') || // Ctrl + C on Windows
(event.metaKey && event.code === 'KeyC')); // Cmd + C on Mac
}
function isPaste(event) {
return ((event.ctrlKey && event.code === 'KeyV') || // Ctrl + V on Windows
(event.metaKey && event.code === 'KeyV')); // Cmd + V on Mac
}
function isAll(event) {
return ((event.ctrlKey && event.code === 'KeyA') || // Ctrl + A on Windows
(event.metaKey && event.code === 'KeyA')); // Cmd + A on Mac
}
// is edit input
function isEditInput(el) {
return !!(el === null || el === void 0 ? void 0 : el.closest(`.${dimension_helpers.EDIT_INPUT_WR}`));
}
// Type guard for EditorCtrConstructible
function isEditorCtrConstructible(editor) {
return typeof editor === 'function' && typeof editor.prototype === 'object';
}
exports.isAll = isAll;
exports.isClear = isClear;
exports.isCopy = isCopy;
exports.isCtrlKey = isCtrlKey;
exports.isCtrlMetaKey = isCtrlMetaKey;
exports.isCut = isCut;
exports.isEditInput = isEditInput;
exports.isEditorCtrConstructible = isEditorCtrConstructible;
exports.isEnterKeyValue = isEnterKeyValue;
exports.isMetaKey = isMetaKey;
exports.isPaste = isPaste;
exports.isTab = isTab;
exports.isTabKeyValue = isTabKeyValue;