mirror of
https://github.com/google/blockly.git
synced 2026-01-08 17:40:09 +01:00
Migrate core/shortcut_items.js named requires
This commit is contained in:
@@ -13,14 +13,15 @@
|
||||
goog.module('Blockly.ShortcutItems');
|
||||
goog.module.declareLegacyNamespace();
|
||||
|
||||
goog.require('Blockly');
|
||||
goog.require('Blockly.clipboard');
|
||||
goog.require('Blockly.Gesture');
|
||||
goog.require('Blockly.ShortcutRegistry');
|
||||
goog.require('Blockly.utils.KeyCodes');
|
||||
|
||||
goog.requireType('Blockly.BlockSvg');
|
||||
goog.requireType('Blockly.ICopyable');
|
||||
const Blockly = goog.require('Blockly');
|
||||
/* eslint-disable-next-line no-unused-vars */
|
||||
const BlockSvg = goog.requireType('Blockly.BlockSvg');
|
||||
const Gesture = goog.require('Blockly.Gesture');
|
||||
/* eslint-disable-next-line no-unused-vars */
|
||||
const ICopyable = goog.requireType('Blockly.ICopyable');
|
||||
const KeyCodes = goog.require('Blockly.utils.KeyCodes');
|
||||
const ShortcutRegistry = goog.require('Blockly.ShortcutRegistry');
|
||||
const clipboard = goog.require('Blockly.clipboard');
|
||||
|
||||
|
||||
/**
|
||||
@@ -40,7 +41,7 @@ exports.names = names;
|
||||
|
||||
/** Keyboard shortcut to hide chaff on escape. */
|
||||
const registerEscape = function() {
|
||||
/** @type {!Blockly.ShortcutRegistry.KeyboardShortcut} */
|
||||
/** @type {!ShortcutRegistry.KeyboardShortcut} */
|
||||
const escapeAction = {
|
||||
name: names.ESCAPE,
|
||||
preconditionFn: function (workspace) {
|
||||
@@ -51,15 +52,15 @@ const registerEscape = function() {
|
||||
return true;
|
||||
}
|
||||
};
|
||||
Blockly.ShortcutRegistry.registry.register(escapeAction);
|
||||
Blockly.ShortcutRegistry.registry.addKeyMapping(
|
||||
Blockly.utils.KeyCodes.ESC, escapeAction.name);
|
||||
ShortcutRegistry.registry.register(escapeAction);
|
||||
ShortcutRegistry.registry.addKeyMapping(
|
||||
KeyCodes.ESC, escapeAction.name);
|
||||
};
|
||||
exports.registerEscape = registerEscape;
|
||||
|
||||
/** Keyboard shortcut to delete a block on delete or backspace */
|
||||
const registerDelete = function() {
|
||||
/** @type {!Blockly.ShortcutRegistry.KeyboardShortcut} */
|
||||
/** @type {!ShortcutRegistry.KeyboardShortcut} */
|
||||
const deleteShortcut = {
|
||||
name: names.DELETE,
|
||||
preconditionFn: function (workspace) {
|
||||
@@ -74,29 +75,29 @@ const registerDelete = function() {
|
||||
// data loss.
|
||||
e.preventDefault();
|
||||
// Don't delete while dragging. Jeez.
|
||||
if (Blockly.Gesture.inProgress()) {
|
||||
if (Gesture.inProgress()) {
|
||||
return false;
|
||||
}
|
||||
Blockly.deleteBlock(/** @type {!Blockly.BlockSvg} */ (Blockly.selected));
|
||||
Blockly.deleteBlock(/** @type {!BlockSvg} */ (Blockly.selected));
|
||||
return true;
|
||||
}
|
||||
};
|
||||
Blockly.ShortcutRegistry.registry.register(deleteShortcut);
|
||||
Blockly.ShortcutRegistry.registry.addKeyMapping(
|
||||
Blockly.utils.KeyCodes.DELETE, deleteShortcut.name);
|
||||
Blockly.ShortcutRegistry.registry.addKeyMapping(
|
||||
Blockly.utils.KeyCodes.BACKSPACE, deleteShortcut.name);
|
||||
ShortcutRegistry.registry.register(deleteShortcut);
|
||||
ShortcutRegistry.registry.addKeyMapping(
|
||||
KeyCodes.DELETE, deleteShortcut.name);
|
||||
ShortcutRegistry.registry.addKeyMapping(
|
||||
KeyCodes.BACKSPACE, deleteShortcut.name);
|
||||
};
|
||||
exports.registerDelete = registerDelete;
|
||||
|
||||
/** Keyboard shortcut to copy a block on ctrl+c, cmd+c, or alt+c. */
|
||||
const registerCopy = function() {
|
||||
/** @type {!Blockly.ShortcutRegistry.KeyboardShortcut} */
|
||||
/** @type {!ShortcutRegistry.KeyboardShortcut} */
|
||||
const copyShortcut = {
|
||||
name: names.COPY,
|
||||
preconditionFn: function (workspace) {
|
||||
return !workspace.options.readOnly &&
|
||||
!Blockly.Gesture.inProgress() &&
|
||||
!Gesture.inProgress() &&
|
||||
Blockly.selected &&
|
||||
Blockly.selected.isDeletable() &&
|
||||
Blockly.selected.isMovable();
|
||||
@@ -106,99 +107,99 @@ const registerCopy = function() {
|
||||
// an error due to the lack of a selection.
|
||||
e.preventDefault();
|
||||
Blockly.hideChaff();
|
||||
Blockly.clipboard.copy(/** @type {!Blockly.ICopyable} */ (Blockly.selected));
|
||||
clipboard.copy(/** @type {!ICopyable} */ (Blockly.selected));
|
||||
return true;
|
||||
}
|
||||
};
|
||||
Blockly.ShortcutRegistry.registry.register(copyShortcut);
|
||||
ShortcutRegistry.registry.register(copyShortcut);
|
||||
|
||||
const ctrlC = Blockly.ShortcutRegistry.registry.createSerializedKey(
|
||||
Blockly.utils.KeyCodes.C, [Blockly.utils.KeyCodes.CTRL]);
|
||||
Blockly.ShortcutRegistry.registry.addKeyMapping(ctrlC, copyShortcut.name);
|
||||
const ctrlC = ShortcutRegistry.registry.createSerializedKey(
|
||||
KeyCodes.C, [KeyCodes.CTRL]);
|
||||
ShortcutRegistry.registry.addKeyMapping(ctrlC, copyShortcut.name);
|
||||
|
||||
const altC = Blockly.ShortcutRegistry.registry.createSerializedKey(
|
||||
Blockly.utils.KeyCodes.C, [Blockly.utils.KeyCodes.ALT]);
|
||||
Blockly.ShortcutRegistry.registry.addKeyMapping(altC, copyShortcut.name);
|
||||
const altC = ShortcutRegistry.registry.createSerializedKey(
|
||||
KeyCodes.C, [KeyCodes.ALT]);
|
||||
ShortcutRegistry.registry.addKeyMapping(altC, copyShortcut.name);
|
||||
|
||||
const metaC = Blockly.ShortcutRegistry.registry.createSerializedKey(
|
||||
Blockly.utils.KeyCodes.C, [Blockly.utils.KeyCodes.META]);
|
||||
Blockly.ShortcutRegistry.registry.addKeyMapping(metaC, copyShortcut.name);
|
||||
const metaC = ShortcutRegistry.registry.createSerializedKey(
|
||||
KeyCodes.C, [KeyCodes.META]);
|
||||
ShortcutRegistry.registry.addKeyMapping(metaC, copyShortcut.name);
|
||||
};
|
||||
exports.registerCopy = registerCopy;
|
||||
|
||||
/** Keyboard shortcut to copy and delete a block on ctrl+x, cmd+x, or alt+x. */
|
||||
const registerCut = function() {
|
||||
/** @type {!Blockly.ShortcutRegistry.KeyboardShortcut} */
|
||||
/** @type {!ShortcutRegistry.KeyboardShortcut} */
|
||||
const cutShortcut = {
|
||||
name: names.CUT,
|
||||
preconditionFn: function (workspace) {
|
||||
return !workspace.options.readOnly &&
|
||||
!Blockly.Gesture.inProgress() &&
|
||||
!Gesture.inProgress() &&
|
||||
Blockly.selected &&
|
||||
Blockly.selected.isDeletable() &&
|
||||
Blockly.selected.isMovable() &&
|
||||
!Blockly.selected.workspace.isFlyout;
|
||||
},
|
||||
callback: function() {
|
||||
Blockly.clipboard.copy(/** @type {!Blockly.ICopyable} */ (Blockly.selected));
|
||||
Blockly.deleteBlock(/** @type {!Blockly.BlockSvg} */ (Blockly.selected));
|
||||
clipboard.copy(/** @type {!ICopyable} */ (Blockly.selected));
|
||||
Blockly.deleteBlock(/** @type {!BlockSvg} */ (Blockly.selected));
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
||||
Blockly.ShortcutRegistry.registry.register(cutShortcut);
|
||||
ShortcutRegistry.registry.register(cutShortcut);
|
||||
|
||||
const ctrlX = Blockly.ShortcutRegistry.registry.createSerializedKey(
|
||||
Blockly.utils.KeyCodes.X, [Blockly.utils.KeyCodes.CTRL]);
|
||||
Blockly.ShortcutRegistry.registry.addKeyMapping(ctrlX, cutShortcut.name);
|
||||
const ctrlX = ShortcutRegistry.registry.createSerializedKey(
|
||||
KeyCodes.X, [KeyCodes.CTRL]);
|
||||
ShortcutRegistry.registry.addKeyMapping(ctrlX, cutShortcut.name);
|
||||
|
||||
const altX = Blockly.ShortcutRegistry.registry.createSerializedKey(
|
||||
Blockly.utils.KeyCodes.X, [Blockly.utils.KeyCodes.ALT]);
|
||||
Blockly.ShortcutRegistry.registry.addKeyMapping(altX, cutShortcut.name);
|
||||
const altX = ShortcutRegistry.registry.createSerializedKey(
|
||||
KeyCodes.X, [KeyCodes.ALT]);
|
||||
ShortcutRegistry.registry.addKeyMapping(altX, cutShortcut.name);
|
||||
|
||||
const metaX = Blockly.ShortcutRegistry.registry.createSerializedKey(
|
||||
Blockly.utils.KeyCodes.X, [Blockly.utils.KeyCodes.META]);
|
||||
Blockly.ShortcutRegistry.registry.addKeyMapping(metaX, cutShortcut.name);
|
||||
const metaX = ShortcutRegistry.registry.createSerializedKey(
|
||||
KeyCodes.X, [KeyCodes.META]);
|
||||
ShortcutRegistry.registry.addKeyMapping(metaX, cutShortcut.name);
|
||||
};
|
||||
exports.registerCut = registerCut;
|
||||
|
||||
/** Keyboard shortcut to paste a block on ctrl+v, cmd+v, or alt+v. */
|
||||
const registerPaste = function() {
|
||||
/** @type {!Blockly.ShortcutRegistry.KeyboardShortcut} */
|
||||
/** @type {!ShortcutRegistry.KeyboardShortcut} */
|
||||
const pasteShortcut = {
|
||||
name: names.PASTE,
|
||||
preconditionFn: function (workspace) {
|
||||
return !workspace.options.readOnly && !Blockly.Gesture.inProgress();
|
||||
return !workspace.options.readOnly && !Gesture.inProgress();
|
||||
},
|
||||
callback: function() {
|
||||
return Blockly.clipboard.paste();
|
||||
return clipboard.paste();
|
||||
}
|
||||
};
|
||||
|
||||
Blockly.ShortcutRegistry.registry.register(pasteShortcut);
|
||||
ShortcutRegistry.registry.register(pasteShortcut);
|
||||
|
||||
const ctrlV = Blockly.ShortcutRegistry.registry.createSerializedKey(
|
||||
Blockly.utils.KeyCodes.V, [Blockly.utils.KeyCodes.CTRL]);
|
||||
Blockly.ShortcutRegistry.registry.addKeyMapping(ctrlV, pasteShortcut.name);
|
||||
const ctrlV = ShortcutRegistry.registry.createSerializedKey(
|
||||
KeyCodes.V, [KeyCodes.CTRL]);
|
||||
ShortcutRegistry.registry.addKeyMapping(ctrlV, pasteShortcut.name);
|
||||
|
||||
const altV = Blockly.ShortcutRegistry.registry.createSerializedKey(
|
||||
Blockly.utils.KeyCodes.V, [Blockly.utils.KeyCodes.ALT]);
|
||||
Blockly.ShortcutRegistry.registry.addKeyMapping(altV, pasteShortcut.name);
|
||||
const altV = ShortcutRegistry.registry.createSerializedKey(
|
||||
KeyCodes.V, [KeyCodes.ALT]);
|
||||
ShortcutRegistry.registry.addKeyMapping(altV, pasteShortcut.name);
|
||||
|
||||
const metaV = Blockly.ShortcutRegistry.registry.createSerializedKey(
|
||||
Blockly.utils.KeyCodes.V, [Blockly.utils.KeyCodes.META]);
|
||||
Blockly.ShortcutRegistry.registry.addKeyMapping(metaV, pasteShortcut.name);
|
||||
const metaV = ShortcutRegistry.registry.createSerializedKey(
|
||||
KeyCodes.V, [KeyCodes.META]);
|
||||
ShortcutRegistry.registry.addKeyMapping(metaV, pasteShortcut.name);
|
||||
};
|
||||
exports.registerPaste = registerPaste;
|
||||
|
||||
/** Keyboard shortcut to undo the previous action on ctrl+z, cmd+z, or alt+z. */
|
||||
const registerUndo = function() {
|
||||
/** @type {!Blockly.ShortcutRegistry.KeyboardShortcut} */
|
||||
/** @type {!ShortcutRegistry.KeyboardShortcut} */
|
||||
const undoShortcut = {
|
||||
name: names.UNDO,
|
||||
preconditionFn: function (workspace) {
|
||||
return !workspace.options.readOnly &&
|
||||
!Blockly.Gesture.inProgress();
|
||||
!Gesture.inProgress();
|
||||
},
|
||||
callback: function (workspace) {
|
||||
// 'z' for undo 'Z' is for redo.
|
||||
@@ -207,29 +208,29 @@ const registerUndo = function() {
|
||||
return true;
|
||||
}
|
||||
};
|
||||
Blockly.ShortcutRegistry.registry.register(undoShortcut);
|
||||
ShortcutRegistry.registry.register(undoShortcut);
|
||||
|
||||
const ctrlZ = Blockly.ShortcutRegistry.registry.createSerializedKey(
|
||||
Blockly.utils.KeyCodes.Z, [Blockly.utils.KeyCodes.CTRL]);
|
||||
Blockly.ShortcutRegistry.registry.addKeyMapping(ctrlZ, undoShortcut.name);
|
||||
const ctrlZ = ShortcutRegistry.registry.createSerializedKey(
|
||||
KeyCodes.Z, [KeyCodes.CTRL]);
|
||||
ShortcutRegistry.registry.addKeyMapping(ctrlZ, undoShortcut.name);
|
||||
|
||||
const altZ = Blockly.ShortcutRegistry.registry.createSerializedKey(
|
||||
Blockly.utils.KeyCodes.Z, [Blockly.utils.KeyCodes.ALT]);
|
||||
Blockly.ShortcutRegistry.registry.addKeyMapping(altZ, undoShortcut.name);
|
||||
const altZ = ShortcutRegistry.registry.createSerializedKey(
|
||||
KeyCodes.Z, [KeyCodes.ALT]);
|
||||
ShortcutRegistry.registry.addKeyMapping(altZ, undoShortcut.name);
|
||||
|
||||
const metaZ = Blockly.ShortcutRegistry.registry.createSerializedKey(
|
||||
Blockly.utils.KeyCodes.Z, [Blockly.utils.KeyCodes.META]);
|
||||
Blockly.ShortcutRegistry.registry.addKeyMapping(metaZ, undoShortcut.name);
|
||||
const metaZ = ShortcutRegistry.registry.createSerializedKey(
|
||||
KeyCodes.Z, [KeyCodes.META]);
|
||||
ShortcutRegistry.registry.addKeyMapping(metaZ, undoShortcut.name);
|
||||
};
|
||||
exports.registerUndo = registerUndo;
|
||||
|
||||
/** Keyboard shortcut to redo the previous action on ctrl+shift+z, cmd+shift+z, or alt+shift+z. */
|
||||
const registerRedo = function() {
|
||||
/** @type {!Blockly.ShortcutRegistry.KeyboardShortcut} */
|
||||
/** @type {!ShortcutRegistry.KeyboardShortcut} */
|
||||
const redoShortcut = {
|
||||
name: names.REDO,
|
||||
preconditionFn: function (workspace) {
|
||||
return !Blockly.Gesture.inProgress() && !workspace.options.readOnly;
|
||||
return !Gesture.inProgress() && !workspace.options.readOnly;
|
||||
},
|
||||
callback: function (workspace) {
|
||||
// 'z' for undo 'Z' is for redo.
|
||||
@@ -238,29 +239,29 @@ const registerRedo = function() {
|
||||
return true;
|
||||
}
|
||||
};
|
||||
Blockly.ShortcutRegistry.registry.register(redoShortcut);
|
||||
ShortcutRegistry.registry.register(redoShortcut);
|
||||
|
||||
const ctrlShiftZ = Blockly.ShortcutRegistry.registry.createSerializedKey(
|
||||
Blockly.utils.KeyCodes.Z,
|
||||
[Blockly.utils.KeyCodes.SHIFT, Blockly.utils.KeyCodes.CTRL]);
|
||||
Blockly.ShortcutRegistry.registry.addKeyMapping(
|
||||
const ctrlShiftZ = ShortcutRegistry.registry.createSerializedKey(
|
||||
KeyCodes.Z,
|
||||
[KeyCodes.SHIFT, KeyCodes.CTRL]);
|
||||
ShortcutRegistry.registry.addKeyMapping(
|
||||
ctrlShiftZ, redoShortcut.name);
|
||||
|
||||
const altShiftZ = Blockly.ShortcutRegistry.registry.createSerializedKey(
|
||||
Blockly.utils.KeyCodes.Z,
|
||||
[Blockly.utils.KeyCodes.SHIFT, Blockly.utils.KeyCodes.ALT]);
|
||||
Blockly.ShortcutRegistry.registry.addKeyMapping(altShiftZ, redoShortcut.name);
|
||||
const altShiftZ = ShortcutRegistry.registry.createSerializedKey(
|
||||
KeyCodes.Z,
|
||||
[KeyCodes.SHIFT, KeyCodes.ALT]);
|
||||
ShortcutRegistry.registry.addKeyMapping(altShiftZ, redoShortcut.name);
|
||||
|
||||
const metaShiftZ = Blockly.ShortcutRegistry.registry.createSerializedKey(
|
||||
Blockly.utils.KeyCodes.Z,
|
||||
[Blockly.utils.KeyCodes.SHIFT, Blockly.utils.KeyCodes.META]);
|
||||
Blockly.ShortcutRegistry.registry.addKeyMapping(
|
||||
const metaShiftZ = ShortcutRegistry.registry.createSerializedKey(
|
||||
KeyCodes.Z,
|
||||
[KeyCodes.SHIFT, KeyCodes.META]);
|
||||
ShortcutRegistry.registry.addKeyMapping(
|
||||
metaShiftZ, redoShortcut.name);
|
||||
|
||||
// Ctrl-y is redo in Windows. Command-y is never valid on Macs.
|
||||
const ctrlY = Blockly.ShortcutRegistry.registry.createSerializedKey(
|
||||
Blockly.utils.KeyCodes.Y, [Blockly.utils.KeyCodes.CTRL]);
|
||||
Blockly.ShortcutRegistry.registry.addKeyMapping(ctrlY, redoShortcut.name);
|
||||
const ctrlY = ShortcutRegistry.registry.createSerializedKey(
|
||||
KeyCodes.Y, [KeyCodes.CTRL]);
|
||||
ShortcutRegistry.registry.addKeyMapping(ctrlY, redoShortcut.name);
|
||||
};
|
||||
exports.registerRedo = registerRedo;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user