vue-editify 0.0.37 → 0.0.39
Sign up to get free protection for your applications and to get access to all the features.
- package/examples/App.vue +11 -5
- package/lib/editify.es.js +16 -7
- package/lib/editify.umd.js +1 -1
- package/lib/style.css +1 -1
- package/package.json +2 -2
- package/src/Editify.vue +2 -5
- package/src/components/bussiness/Menu.vue +1 -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'] }" autofocus :custom-parse-node="parseNode" show-word-length></editify>
|
4
4
|
</div>
|
5
5
|
</template>
|
6
6
|
<script>
|
@@ -11,9 +11,9 @@ export default {
|
|
11
11
|
name: 'App',
|
12
12
|
data() {
|
13
13
|
return {
|
14
|
-
value: '<p><span
|
14
|
+
value: '<p><span>这是一个基于<img src="https://www.ling0523.cn/images/image_0_1701164609409.jpg"/> </span><code>Vue3 + alex-editor</code><span> 构建的一套</span><span style="font-weight: bold;">精美UI样式</span><span>的</span><span style="font-weight: bold;">开箱即用</span><span>的</span><span style="color: #ec1a0a;">富文本编辑器</span></p>',
|
15
15
|
menuConfig: {
|
16
|
-
|
16
|
+
mode: 'inner',
|
17
17
|
sequence: {
|
18
18
|
alert: 100,
|
19
19
|
zip: 101
|
@@ -99,6 +99,12 @@ export default {
|
|
99
99
|
// setTimeout(() => {
|
100
100
|
// this.value = '<p><br></p>'
|
101
101
|
// }, 3000)
|
102
|
+
setTimeout(() => {
|
103
|
+
const el = this.$refs.editify.editor.getElementByKey(4)
|
104
|
+
this.$refs.editify.editor.range.anchor.moveToStart(el)
|
105
|
+
this.$refs.editify.editor.range.focus.moveToStart(el)
|
106
|
+
this.$refs.editify.editor.rangeRender()
|
107
|
+
}, 100)
|
102
108
|
},
|
103
109
|
methods: {
|
104
110
|
afterRender() {
|
@@ -119,10 +125,10 @@ export default {
|
|
119
125
|
return ele
|
120
126
|
},
|
121
127
|
change() {
|
122
|
-
console.log(this.$refs.editify.textValue)
|
128
|
+
//console.log(this.$refs.editify.textValue)
|
123
129
|
},
|
124
130
|
operate(name, val) {
|
125
|
-
console.log('触发operate事件', name, val)
|
131
|
+
//console.log('触发operate事件', name, val)
|
126
132
|
}
|
127
133
|
}
|
128
134
|
}
|
package/lib/editify.es.js
CHANGED
@@ -3865,11 +3865,12 @@ class AlexEditor {
|
|
3865
3865
|
const index = elements.findIndex((item) => {
|
3866
3866
|
return this.range.anchor.element.isEqual(item);
|
3867
3867
|
});
|
3868
|
+
const offset = this.range.anchor.offset;
|
3868
3869
|
this.range.focus.moveToEnd(block);
|
3869
3870
|
this.delete();
|
3870
3871
|
const newElements = AlexElement.flatElements(newBlock.children);
|
3871
3872
|
this.range.focus.element = newElements[index];
|
3872
|
-
this.range.focus.offset =
|
3873
|
+
this.range.focus.offset = offset;
|
3873
3874
|
this.range.anchor.moveToStart(newBlock);
|
3874
3875
|
this.delete();
|
3875
3876
|
this.emit("insertParagraph", newBlock, block);
|
@@ -15413,6 +15414,13 @@ const editorProps = {
|
|
15413
15414
|
pasteKeepStyles: {
|
15414
15415
|
type: Object,
|
15415
15416
|
default: null
|
15417
|
+
},
|
15418
|
+
//自定义渲染规则
|
15419
|
+
renderRules: {
|
15420
|
+
type: Array,
|
15421
|
+
default: function() {
|
15422
|
+
return [];
|
15423
|
+
}
|
15416
15424
|
}
|
15417
15425
|
};
|
15418
15426
|
const getColNumbers = (row) => {
|
@@ -19980,7 +19988,7 @@ function _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {
|
|
19980
19988
|
]);
|
19981
19989
|
}
|
19982
19990
|
const InsertTable = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["render", _sfc_render$2], ["__scopeId", "data-v-227ede65"]]);
|
19983
|
-
const
|
19991
|
+
const Menu_vue_vue_type_style_index_0_scoped_a3e32a29_lang = "";
|
19984
19992
|
const _sfc_main$1 = {
|
19985
19993
|
name: "Menu",
|
19986
19994
|
props: {
|
@@ -21198,8 +21206,8 @@ function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
|
|
21198
21206
|
}), 256))
|
21199
21207
|
], 14, _hoisted_1$1);
|
21200
21208
|
}
|
21201
|
-
const Menu = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["render", _sfc_render$1], ["__scopeId", "data-v-
|
21202
|
-
const
|
21209
|
+
const Menu = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["render", _sfc_render$1], ["__scopeId", "data-v-a3e32a29"]]);
|
21210
|
+
const Editify_vue_vue_type_style_index_0_scoped_2702e06f_lang = "";
|
21203
21211
|
const _sfc_main = {
|
21204
21212
|
name: "editify",
|
21205
21213
|
props: { ...editorProps },
|
@@ -21330,7 +21338,8 @@ const _sfc_main = {
|
|
21330
21338
|
(el) => {
|
21331
21339
|
var _a, _b, _c, _d, _e, _f;
|
21332
21340
|
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]);
|
21333
|
-
}
|
21341
|
+
},
|
21342
|
+
...this.renderRules
|
21334
21343
|
],
|
21335
21344
|
allowCopy: this.allowCopy,
|
21336
21345
|
allowPaste: this.allowPaste,
|
@@ -22816,7 +22825,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
22816
22825
|
])) : createCommentVNode("", true)
|
22817
22826
|
]);
|
22818
22827
|
}
|
22819
|
-
const Editify = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-
|
22828
|
+
const Editify = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-2702e06f"]]);
|
22820
22829
|
const iconfont = "";
|
22821
22830
|
const en_US = {
|
22822
22831
|
textWrapUp: "Up feed",
|
@@ -22995,7 +23004,7 @@ const i18n = (locale) => {
|
|
22995
23004
|
return translations[locale][key];
|
22996
23005
|
};
|
22997
23006
|
};
|
22998
|
-
const version = "0.0.
|
23007
|
+
const version = "0.0.39";
|
22999
23008
|
const install = (app, props) => {
|
23000
23009
|
const locale = (props ? props.locale : "zh_CN") || "zh_CN";
|
23001
23010
|
app.provide("$editTrans", i18n(locale));
|