planning
All checks were successful
Publish To Prod / deploy_and_publish (push) Successful in 35s

This commit is contained in:
2024-10-14 09:15:30 +02:00
parent bcba00a730
commit 6e64e138e2
21059 changed files with 2317811 additions and 1 deletions

View File

@@ -0,0 +1,30 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _slate = require("slate");
var _isCursorInEmptyParagraph = _interopRequireDefault(require("./locations/isCursorInEmptyParagraph"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function insertShortcode(editor, pluginConfig) {
const defaultValues = pluginConfig.fields.toMap().mapKeys((_, field) => field.get('name')).filter(field => field.has('default')).map(field => field.get('default'));
const nodeData = {
type: 'shortcode',
id: pluginConfig.id,
data: {
shortcode: pluginConfig.id,
shortcodeNew: true,
shortcodeData: defaultValues.toJS()
},
children: [{
text: ''
}]
};
if ((0, _isCursorInEmptyParagraph.default)(editor)) {
_slate.Transforms.setNodes(editor, nodeData);
return;
}
_slate.Transforms.insertNodes(editor, nodeData);
}
var _default = exports.default = insertShortcode;

View File

@@ -0,0 +1,19 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _slate = require("slate");
function isCursorInEmptyParagraph(editor) {
const {
selection
} = editor;
if (!selection) return false;
const [match] = Array.from(_slate.Editor.nodes(editor, {
match: n => _slate.Element.isElement(n) && _slate.Editor.isBlock(editor, n) && n.type === 'paragraph',
mode: 'lowest'
}));
return !!match && _slate.Editor.isEmpty(editor, match[0]);
}
var _default = exports.default = isCursorInEmptyParagraph;

View File

@@ -0,0 +1,29 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _slate = require("slate");
var _defaultEmptyBlock = _interopRequireDefault(require("../blocks/defaultEmptyBlock"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function withShortcodes(editor) {
const {
isVoid,
normalizeNode
} = editor;
editor.isVoid = element => {
return element.type === 'shortcode' ? true : isVoid(element);
};
// Prevent empty editor after deleting shortcode theat was only child
editor.normalizeNode = entry => {
const [node] = entry;
if (_slate.Editor.isEditor(node) && node.children.length == 0) {
_slate.Transforms.insertNodes(editor, (0, _defaultEmptyBlock.default)());
}
normalizeNode(entry);
};
return editor;
}
var _default = exports.default = withShortcodes;