vue-editify 0.0.38 → 0.0.40
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/examples/App.vue +12 -11
- package/lib/editify.es.js +11 -10
- 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/base/Button.vue +1 -1
- package/src/components/bussiness/Menu.vue +1 -1
- 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"
|
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
|
@@ -92,18 +92,19 @@ export default {
|
|
92
92
|
}
|
93
93
|
}
|
94
94
|
},
|
95
|
-
btn: null
|
96
|
-
renderRules: [
|
97
|
-
el => {
|
98
|
-
console.log(el)
|
99
|
-
}
|
100
|
-
]
|
95
|
+
btn: null
|
101
96
|
}
|
102
97
|
},
|
103
98
|
mounted() {
|
104
99
|
// setTimeout(() => {
|
105
100
|
// this.value = '<p><br></p>'
|
106
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)
|
107
108
|
},
|
108
109
|
methods: {
|
109
110
|
afterRender() {
|
@@ -124,10 +125,10 @@ export default {
|
|
124
125
|
return ele
|
125
126
|
},
|
126
127
|
change() {
|
127
|
-
console.log(this.$refs.editify.textValue)
|
128
|
+
//console.log(this.$refs.editify.textValue)
|
128
129
|
},
|
129
130
|
operate(name, val) {
|
130
|
-
console.log('触发operate事件', name, val)
|
131
|
+
//console.log('触发operate事件', name, val)
|
131
132
|
}
|
132
133
|
}
|
133
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);
|
@@ -17290,7 +17291,7 @@ function _sfc_render$a(_ctx, _cache, $props, $setup, $data, $options) {
|
|
17290
17291
|
}, null, 2);
|
17291
17292
|
}
|
17292
17293
|
const Icon = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["render", _sfc_render$a], ["__scopeId", "data-v-5ed6cd4d"]]);
|
17293
|
-
const
|
17294
|
+
const Button_vue_vue_type_style_index_0_scoped_32253355_lang = "";
|
17294
17295
|
const _sfc_main$9 = {
|
17295
17296
|
name: "Button",
|
17296
17297
|
emits: ["operate", "layerShow", "layerShown", "layerHidden"],
|
@@ -17613,7 +17614,7 @@ function _sfc_render$9(_ctx, _cache, $props, $setup, $data, $options) {
|
|
17613
17614
|
border: "",
|
17614
17615
|
fade: "",
|
17615
17616
|
placement: "bottom-start",
|
17616
|
-
"z-index":
|
17617
|
+
"z-index": 12,
|
17617
17618
|
animation: "translate",
|
17618
17619
|
onShow: $options.layerShow,
|
17619
17620
|
onShown: $options.layerShown,
|
@@ -17654,7 +17655,7 @@ function _sfc_render$9(_ctx, _cache, $props, $setup, $data, $options) {
|
|
17654
17655
|
], 2)
|
17655
17656
|
]);
|
17656
17657
|
}
|
17657
|
-
const Button = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["render", _sfc_render$9], ["__scopeId", "data-v-
|
17658
|
+
const Button = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["render", _sfc_render$9], ["__scopeId", "data-v-32253355"]]);
|
17658
17659
|
const Checkbox_vue_vue_type_style_index_0_scoped_50cd9e6c_lang = "";
|
17659
17660
|
const _sfc_main$8 = {
|
17660
17661
|
name: "Checkbox",
|
@@ -19987,7 +19988,7 @@ function _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {
|
|
19987
19988
|
]);
|
19988
19989
|
}
|
19989
19990
|
const InsertTable = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["render", _sfc_render$2], ["__scopeId", "data-v-227ede65"]]);
|
19990
|
-
const
|
19991
|
+
const Menu_vue_vue_type_style_index_0_scoped_85cbaf03_lang = "";
|
19991
19992
|
const _sfc_main$1 = {
|
19992
19993
|
name: "Menu",
|
19993
19994
|
props: {
|
@@ -21205,8 +21206,8 @@ function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
|
|
21205
21206
|
}), 256))
|
21206
21207
|
], 14, _hoisted_1$1);
|
21207
21208
|
}
|
21208
|
-
const Menu = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["render", _sfc_render$1], ["__scopeId", "data-v-
|
21209
|
-
const
|
21209
|
+
const Menu = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["render", _sfc_render$1], ["__scopeId", "data-v-85cbaf03"]]);
|
21210
|
+
const Editify_vue_vue_type_style_index_0_scoped_5506c37b_lang = "";
|
21210
21211
|
const _sfc_main = {
|
21211
21212
|
name: "editify",
|
21212
21213
|
props: { ...editorProps },
|
@@ -21535,7 +21536,7 @@ const _sfc_main = {
|
|
21535
21536
|
}
|
21536
21537
|
}
|
21537
21538
|
}
|
21538
|
-
if (!obj.element.isContains(this.$el, e.target)) {
|
21539
|
+
if (!obj.element.isContains(this.$el, e.target) && !this.isSourceView) {
|
21539
21540
|
this.canUseMenu = false;
|
21540
21541
|
}
|
21541
21542
|
},
|
@@ -22824,7 +22825,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
22824
22825
|
])) : createCommentVNode("", true)
|
22825
22826
|
]);
|
22826
22827
|
}
|
22827
|
-
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-5506c37b"]]);
|
22828
22829
|
const iconfont = "";
|
22829
22830
|
const en_US = {
|
22830
22831
|
textWrapUp: "Up feed",
|
@@ -23003,7 +23004,7 @@ const i18n = (locale) => {
|
|
23003
23004
|
return translations[locale][key];
|
23004
23005
|
};
|
23005
23006
|
};
|
23006
|
-
const version = "0.0.
|
23007
|
+
const version = "0.0.40";
|
23007
23008
|
const install = (app, props) => {
|
23008
23009
|
const locale = (props ? props.locale : "zh_CN") || "zh_CN";
|
23009
23010
|
app.provide("$editTrans", i18n(locale));
|