vue-editify 0.0.36 → 0.0.38
Sign up to get free protection for your applications and to get access to all the features.
- package/examples/App.vue +7 -2
- package/lib/editify.es.js +20 -10
- package/lib/editify.umd.js +1 -1
- package/lib/style.css +1 -1
- package/package.json +2 -2
- package/src/Editify.vue +2 -1
- package/src/core/index.js +7 -0
- package/src/index.js +1 -1
package/examples/App.vue
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
<template>
|
2
2
|
<div style="padding: 100px 50px 50px 50px">
|
3
|
-
<editify v-model="value" placeholder="请输入正文内容..." allow-paste-html border @change="change" :menu="menuConfig" ref="editify" height="400px" @after-render="afterRender" :paste-keep-marks="{ 'data-zip': ['span'] }" :custom-parse-node="parseNode"></editify>
|
3
|
+
<editify v-model="value" placeholder="请输入正文内容..." allow-paste-html border @change="change" :menu="menuConfig" ref="editify" height="400px" @after-render="afterRender" :paste-keep-marks="{ 'data-zip': ['span'] }" :custom-parse-node="parseNode" :renderRules="renderRules"></editify>
|
4
4
|
</div>
|
5
5
|
</template>
|
6
6
|
<script>
|
@@ -92,7 +92,12 @@ export default {
|
|
92
92
|
}
|
93
93
|
}
|
94
94
|
},
|
95
|
-
btn: null
|
95
|
+
btn: null,
|
96
|
+
renderRules: [
|
97
|
+
el => {
|
98
|
+
console.log(el)
|
99
|
+
}
|
100
|
+
]
|
96
101
|
}
|
97
102
|
},
|
98
103
|
mounted() {
|
package/lib/editify.es.js
CHANGED
@@ -2485,9 +2485,11 @@ class AlexHistory {
|
|
2485
2485
|
const focusElement = AlexElement.flatElements(newStack).find((ele) => {
|
2486
2486
|
return ele.key == range.focus.element.key;
|
2487
2487
|
});
|
2488
|
-
|
2489
|
-
|
2490
|
-
|
2488
|
+
if (anchorElement && focusElement) {
|
2489
|
+
const anchor = new AlexPoint(anchorElement, range.anchor.offset);
|
2490
|
+
const focus = new AlexPoint(focusElement, range.focus.offset);
|
2491
|
+
return new AlexRange(anchor, focus);
|
2492
|
+
}
|
2491
2493
|
}
|
2492
2494
|
return null;
|
2493
2495
|
}
|
@@ -4822,7 +4824,7 @@ class AlexEditor {
|
|
4822
4824
|
/**
|
4823
4825
|
* 查询虚拟光标包含的文本元素是否具有某个样式
|
4824
4826
|
*/
|
4825
|
-
queryTextStyle(name, value, useCache) {
|
4827
|
+
queryTextStyle(name, value, useCache = false) {
|
4826
4828
|
if (!name) {
|
4827
4829
|
throw new Error("The first argument cannot be null");
|
4828
4830
|
}
|
@@ -4889,7 +4891,7 @@ class AlexEditor {
|
|
4889
4891
|
this.insertElement(el);
|
4890
4892
|
} else {
|
4891
4893
|
const el = AlexElement.getSpaceElement();
|
4892
|
-
el.marks =
|
4894
|
+
el.marks = cloneData(marks);
|
4893
4895
|
this.insertElement(el);
|
4894
4896
|
}
|
4895
4897
|
} else {
|
@@ -4952,7 +4954,7 @@ class AlexEditor {
|
|
4952
4954
|
/**
|
4953
4955
|
* 查询选区内的文本元素是否具有某个标记
|
4954
4956
|
*/
|
4955
|
-
queryTextMark(name, value, useCache) {
|
4957
|
+
queryTextMark(name, value, useCache = false) {
|
4956
4958
|
if (!name) {
|
4957
4959
|
throw new Error("The first argument cannot be null");
|
4958
4960
|
}
|
@@ -15411,6 +15413,13 @@ const editorProps = {
|
|
15411
15413
|
pasteKeepStyles: {
|
15412
15414
|
type: Object,
|
15413
15415
|
default: null
|
15416
|
+
},
|
15417
|
+
//自定义渲染规则
|
15418
|
+
renderRules: {
|
15419
|
+
type: Array,
|
15420
|
+
default: function() {
|
15421
|
+
return [];
|
15422
|
+
}
|
15414
15423
|
}
|
15415
15424
|
};
|
15416
15425
|
const getColNumbers = (row) => {
|
@@ -21197,7 +21206,7 @@ function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
|
|
21197
21206
|
], 14, _hoisted_1$1);
|
21198
21207
|
}
|
21199
21208
|
const Menu = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["render", _sfc_render$1], ["__scopeId", "data-v-42f60b43"]]);
|
21200
|
-
const
|
21209
|
+
const Editify_vue_vue_type_style_index_0_scoped_744c85a9_lang = "";
|
21201
21210
|
const _sfc_main = {
|
21202
21211
|
name: "editify",
|
21203
21212
|
props: { ...editorProps },
|
@@ -21328,7 +21337,8 @@ const _sfc_main = {
|
|
21328
21337
|
(el) => {
|
21329
21338
|
var _a, _b, _c, _d, _e, _f;
|
21330
21339
|
preHandle.apply(this.editor, [el, ((_a = this.toolbarConfig) == null ? void 0 : _a.use) && ((_d = (_c = (_b = this.toolbarConfig) == null ? void 0 : _b.codeBlock) == null ? void 0 : _c.languages) == null ? void 0 : _d.show), (_f = (_e = this.toolbarConfig) == null ? void 0 : _e.codeBlock) == null ? void 0 : _f.languages.options]);
|
21331
|
-
}
|
21340
|
+
},
|
21341
|
+
...this.renderRules
|
21332
21342
|
],
|
21333
21343
|
allowCopy: this.allowCopy,
|
21334
21344
|
allowPaste: this.allowPaste,
|
@@ -22814,7 +22824,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
22814
22824
|
])) : createCommentVNode("", true)
|
22815
22825
|
]);
|
22816
22826
|
}
|
22817
|
-
const Editify = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-
|
22827
|
+
const Editify = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-744c85a9"]]);
|
22818
22828
|
const iconfont = "";
|
22819
22829
|
const en_US = {
|
22820
22830
|
textWrapUp: "Up feed",
|
@@ -22993,7 +23003,7 @@ const i18n = (locale) => {
|
|
22993
23003
|
return translations[locale][key];
|
22994
23004
|
};
|
22995
23005
|
};
|
22996
|
-
const version = "0.0.
|
23006
|
+
const version = "0.0.38";
|
22997
23007
|
const install = (app, props) => {
|
22998
23008
|
const locale = (props ? props.locale : "zh_CN") || "zh_CN";
|
22999
23009
|
app.provide("$editTrans", i18n(locale));
|