@atlaskit/editor-plugin-panel
Version:
Panel plugin for @atlaskit/editor-core.
37 lines (36 loc) • 1.51 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.createPlugin = void 0;
var _panel = require("@atlaskit/editor-common/panel");
var _safePlugin = require("@atlaskit/editor-common/safe-plugin");
var _selection = require("@atlaskit/editor-common/selection");
var _panel2 = require("../nodeviews/panel");
var _panelPluginType = require("../panelPluginType");
var _utils = require("./utils/utils");
var createPlugin = exports.createPlugin = function createPlugin(dispatch, providerFactory, pluginOptions, api, nodeViewPortalProviderAPI) {
var _pluginOptions$useLon = pluginOptions.useLongPressSelection,
useLongPressSelection = _pluginOptions$useLon === void 0 ? false : _pluginOptions$useLon;
return new _safePlugin.SafePlugin({
key: _panelPluginType.pluginKey,
appendTransaction: function appendTransaction(transactions, oldState, newState) {
var tr = transactions.find(function (tr) {
return tr.getMeta('uiEvent') === 'cut';
});
if (tr) {
return (0, _utils.handleCut)(newState, oldState);
}
},
props: {
nodeViews: {
panel: (0, _panel2.getPanelNodeView)(pluginOptions, api, nodeViewPortalProviderAPI, providerFactory)
},
handleClickOn: (0, _selection.createSelectionClickHandler)(['panel'], function (target) {
return !!target.closest(".".concat(_panel.PanelSharedCssClassName.prefix));
}, {
useLongPressSelection: useLongPressSelection
})
}
});
};