vue-editify 0.2.21 → 0.2.23
Sign up to get free protection for your applications and to get access to all the features.
- package/examples/App.vue +2 -2
- package/examples/test.html +26 -29
- package/lib/editify/editify.vue.d.ts +0 -1
- package/lib/editify.es.js +13 -16
- package/lib/editify.umd.js +1 -1
- package/lib/index.d.ts +1 -2
- package/package.json +2 -2
- package/src/index.ts +1 -1
package/examples/App.vue
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
<template>
|
2
2
|
<div style="height: 100%">
|
3
|
-
<Editify :dark="dark" ref="editifyRef" border v-model="val" :menu="menuConfig" placeholder="Please Enter Text..." :toolbar="toolbarConfig" locale="zh_CN"
|
3
|
+
<Editify :dark="dark" ref="editifyRef" border v-model="val" :menu="menuConfig" placeholder="Please Enter Text..." :toolbar="toolbarConfig" locale="zh_CN" show-word-length></Editify>
|
4
4
|
</div>
|
5
5
|
</template>
|
6
6
|
<script setup lang="ts">
|
@@ -66,7 +66,7 @@ const toolbarConfig = ref({
|
|
66
66
|
use: true,
|
67
67
|
text: {}
|
68
68
|
})
|
69
|
-
const val = ref<string>(`<p
|
69
|
+
const val = ref<string>(`<p><br/></p>`)
|
70
70
|
</script>
|
71
71
|
<style lang="less">
|
72
72
|
html,
|
package/examples/test.html
CHANGED
@@ -1,32 +1,29 @@
|
|
1
1
|
<!DOCTYPE html>
|
2
2
|
<html lang="en">
|
3
|
+
<head>
|
4
|
+
<meta charset="UTF-8" />
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
6
|
+
<title>Document</title>
|
7
|
+
<script src="../node_modules/vue/dist/vue.global.prod.js"></script>
|
8
|
+
<script src="../lib/editify.umd.js"></script>
|
9
|
+
</head>
|
3
10
|
|
4
|
-
<
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
value: '<p><br></p>'
|
24
|
-
}
|
25
|
-
}
|
26
|
-
})
|
27
|
-
console.log(editify.version)
|
28
|
-
app.use(editify)
|
29
|
-
app.mount('#app')
|
30
|
-
</script>
|
31
|
-
|
32
|
-
</html>
|
11
|
+
<body>
|
12
|
+
<div id="app">
|
13
|
+
<editify v-model="value" placeholder="请输入"></editify>
|
14
|
+
</div>
|
15
|
+
</body>
|
16
|
+
<script>
|
17
|
+
const { createApp } = Vue
|
18
|
+
const app = createApp({
|
19
|
+
data() {
|
20
|
+
return {
|
21
|
+
value: '<p><br></p>'
|
22
|
+
}
|
23
|
+
}
|
24
|
+
})
|
25
|
+
console.log(editify.version)
|
26
|
+
app.use(editify)
|
27
|
+
app.mount('#app')
|
28
|
+
</script>
|
29
|
+
</html>
|
@@ -632,7 +632,6 @@ declare const _default: import('vue').DefineComponent<{
|
|
632
632
|
observe: (target: Node, options?: MutationObserverInit) => void;
|
633
633
|
takeRecords: () => MutationRecord[];
|
634
634
|
} | null;
|
635
|
-
__illegalDoms: Node[];
|
636
635
|
initRange: () => void;
|
637
636
|
delete: () => void;
|
638
637
|
insertText: (data: string) => void;
|
package/lib/editify.es.js
CHANGED
@@ -1623,7 +1623,7 @@ const _AlexElement = class _AlexElement2 {
|
|
1623
1623
|
this.parsedom = parsedom;
|
1624
1624
|
this.marks = marks;
|
1625
1625
|
this.styles = styles2;
|
1626
|
-
this.textContent = textContent;
|
1626
|
+
this.textContent = textContent ? textContent.replace(/\r\n/g, "\n") : textContent;
|
1627
1627
|
}
|
1628
1628
|
/**
|
1629
1629
|
* 是否根级块元素
|
@@ -2849,14 +2849,6 @@ const doPaste = async function(html, text2, files) {
|
|
2849
2849
|
}
|
2850
2850
|
}
|
2851
2851
|
};
|
2852
|
-
const removeIllegalDoms = function() {
|
2853
|
-
var _a;
|
2854
|
-
while (this.__illegalDoms.length > 0) {
|
2855
|
-
const node = this.__illegalDoms[0];
|
2856
|
-
(_a = node.parentNode) == null ? void 0 : _a.removeChild(node);
|
2857
|
-
this.__illegalDoms.splice(0, 1);
|
2858
|
-
}
|
2859
|
-
};
|
2860
2852
|
const setEditorDomObserve = function() {
|
2861
2853
|
if (!window.MutationObserver) {
|
2862
2854
|
console.warn("The current browser does not support MutationObserver");
|
@@ -2866,9 +2858,11 @@ const setEditorDomObserve = function() {
|
|
2866
2858
|
this.__domObserver = null;
|
2867
2859
|
}
|
2868
2860
|
this.__domObserver = new MutationObserver((mutationList) => {
|
2861
|
+
var _a;
|
2869
2862
|
let length = mutationList.length;
|
2870
2863
|
for (let i = 0; i < length; i++) {
|
2871
2864
|
if (mutationList[i].type == "childList") {
|
2865
|
+
const illegalDoms = [];
|
2872
2866
|
const addNodesLength = mutationList[i].addedNodes.length;
|
2873
2867
|
for (let j = 0; j < addNodesLength; j++) {
|
2874
2868
|
const node = mutationList[i].addedNodes[j];
|
@@ -2877,12 +2871,17 @@ const setEditorDomObserve = function() {
|
|
2877
2871
|
const key = parentNode ? data$1.get(parentNode, "data-alex-editor-key") : null;
|
2878
2872
|
const element2 = key ? this.getElementByKey(key) : null;
|
2879
2873
|
if (element2 && !element2.isText()) {
|
2880
|
-
|
2874
|
+
illegalDoms.push(node);
|
2881
2875
|
}
|
2882
2876
|
} else if (element$1.isElement(node) && !data$1.get(node, "data-alex-editor-key")) {
|
2883
|
-
|
2877
|
+
illegalDoms.push(node);
|
2884
2878
|
}
|
2885
2879
|
}
|
2880
|
+
while (illegalDoms.length > 0) {
|
2881
|
+
const node = illegalDoms[0];
|
2882
|
+
(_a = node.parentNode) == null ? void 0 : _a.removeChild(node);
|
2883
|
+
illegalDoms.splice(0, 1);
|
2884
|
+
}
|
2886
2885
|
}
|
2887
2886
|
}
|
2888
2887
|
});
|
@@ -3569,7 +3568,6 @@ class AlexEditor {
|
|
3569
3568
|
__publicField(this, "__innerSelectionChange", false);
|
3570
3569
|
__publicField(this, "__chineseInputTimer", null);
|
3571
3570
|
__publicField(this, "__domObserver", null);
|
3572
|
-
__publicField(this, "__illegalDoms", []);
|
3573
3571
|
this.$el = initEditorNode(node);
|
3574
3572
|
const options = initEditorOptions(opts);
|
3575
3573
|
this.disabled = options.disabled;
|
@@ -3906,7 +3904,7 @@ class AlexEditor {
|
|
3906
3904
|
}
|
3907
3905
|
if (this.range.anchor.element.isText()) {
|
3908
3906
|
let val = this.range.anchor.element.textContent;
|
3909
|
-
this.range.anchor.element.textContent = val.substring(0, this.range.anchor.offset) + data2 + val.substring(this.range.anchor.offset);
|
3907
|
+
this.range.anchor.element.textContent = val.substring(0, this.range.anchor.offset) + data2.replace(/\r\n/g, "\n") + val.substring(this.range.anchor.offset);
|
3910
3908
|
this.range.anchor.offset = this.range.anchor.offset + data2.length;
|
3911
3909
|
this.range.focus.offset = this.range.anchor.offset;
|
3912
3910
|
} else {
|
@@ -4195,7 +4193,6 @@ class AlexEditor {
|
|
4195
4193
|
this.$el.innerHTML = "";
|
4196
4194
|
this.$el.appendChild(fragment);
|
4197
4195
|
} else {
|
4198
|
-
removeIllegalDoms.apply(this);
|
4199
4196
|
patch(this.stack, this.__oldStack, false).forEach((item) => {
|
4200
4197
|
if (item.newElement) {
|
4201
4198
|
const el = item.newElement.parent ? item.newElement.parent : item.newElement;
|
@@ -5008,7 +5005,7 @@ class AlexEditor {
|
|
5008
5005
|
event$1.off(this.$el, "beforeinput.alex_editor compositionstart.alex_editor compositionupdate.alex_editor compositionend.alex_editor keydown.alex_editor cut.alex_editor paste.alex_editor copy.alex_editor dragstart.alex_editor drop.alex_editor focus.alex_editor blur.alex_editor");
|
5009
5006
|
}
|
5010
5007
|
}
|
5011
|
-
const version$2 = "1.4.
|
5008
|
+
const version$2 = "1.4.36";
|
5012
5009
|
console.log(`%c alex-editor %c v${version$2} `, "padding: 2px 1px; border-radius: 3px 0 0 3px; color: #fff; background: #606060; font-weight: bold;", "padding: 2px 1px; border-radius: 0 3px 3px 0; color: #fff; background: #42c02e; font-weight: bold;");
|
5013
5010
|
const number = {
|
5014
5011
|
/**
|
@@ -44683,7 +44680,7 @@ const Editify = withInstall(editify);
|
|
44683
44680
|
const install = (app) => {
|
44684
44681
|
app.component(Editify.name, Editify);
|
44685
44682
|
};
|
44686
|
-
const version = "0.2.
|
44683
|
+
const version = "0.2.23";
|
44687
44684
|
console.log(`%c vue-editify %c v${version} `, "padding: 2px 1px; border-radius: 3px 0 0 3px; color: #fff; background: #606060; font-weight: bold;", "padding: 2px 1px; border-radius: 0 3px 3px 0; color: #fff; background: #42c02e; font-weight: bold;");
|
44688
44685
|
export {
|
44689
44686
|
AlexElement,
|