@atlaskit/editor-plugin-code-block-advanced
Version:
CodeBlockAdvanced plugin for @atlaskit/editor-core
31 lines (30 loc) • 1.11 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.tripleClickSelectAllExtension = void 0;
var _state = require("@codemirror/state");
var _view = require("@codemirror/view");
/**
* To have consistent behaviour with previous code block when a triple click occurs in the editor
* we should select the entire code block rather than the line.
*
* @returns CodeMirror extension
*/
var tripleClickSelectAllExtension = exports.tripleClickSelectAllExtension = function tripleClickSelectAllExtension() {
return _view.EditorView.mouseSelectionStyle.of(function (view, event) {
// Check for a triple-click and avoid non-main "button" events
// https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/button
// https://developer.mozilla.org/en-US/docs/Web/API/UIEvent/detail
if (event.detail !== 3 || event.button !== 0) {
return null;
}
return {
// Select the entire document
get: function get() {
return _state.EditorSelection.single(0, view.state.doc.length);
},
update: function update() {}
};
});
};