UNPKG

@atlaskit/editor-plugin-code-block

Version:

Code block plugin for @atlaskit/editor-core

30 lines (29 loc) 1.33 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.refreshBrowserSelection = exports.default = void 0; var _browser = require("@atlaskit/editor-common/browser"); var _pluginKey = require("./plugin-key"); // Workaround for a firefox issue where dom selection is off sync // https://product-fabric.atlassian.net/browse/ED-12442 var refreshBrowserSelection = exports.refreshBrowserSelection = function refreshBrowserSelection() { var domSelection = window.getSelection(); if (domSelection) { var domRange = domSelection && domSelection.rangeCount === 1 && domSelection.getRangeAt(0).cloneRange(); if (domRange) { domSelection.removeAllRanges(); domSelection.addRange(domRange); } } }; var refreshBrowserSelectionOnChange = function refreshBrowserSelectionOnChange(transaction, editorState) { var _pluginKey$getState; var browser = (0, _browser.getBrowserInfo)(); if (browser.gecko && transaction.docChanged && // codeblockState.pos should be set if current selection is in a codeblock. typeof ((_pluginKey$getState = _pluginKey.pluginKey.getState(editorState)) === null || _pluginKey$getState === void 0 ? void 0 : _pluginKey$getState.pos) === 'number') { refreshBrowserSelection(); } }; var _default = exports.default = refreshBrowserSelectionOnChange;