zydx-plus 1.32.203 → 1.32.205
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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "zydx-plus",
|
|
3
|
-
"version": "1.32.
|
|
3
|
+
"version": "1.32.205",
|
|
4
4
|
"description": "Vue.js",
|
|
5
5
|
"main": "src/index.js",
|
|
6
6
|
"files": [
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"pdfjs-dist": "^2.0.943",
|
|
25
25
|
"snabbdom": "^3.5.1",
|
|
26
26
|
"katex": "^0.15.6",
|
|
27
|
-
"simple-mind-map": "^0.
|
|
27
|
+
"simple-mind-map": "^0.6.14",
|
|
28
28
|
"html2json": "^1.0.2",
|
|
29
29
|
"@tiptap/extension-image": "^2.0.3",
|
|
30
30
|
"@tiptap/starter-kit": "^2.0.3",
|
|
@@ -64,7 +64,10 @@ export function butJson (editor,data) {
|
|
|
64
64
|
name: '标注编号',
|
|
65
65
|
key: 'numberMenu',
|
|
66
66
|
menuKeys: [],
|
|
67
|
-
html:
|
|
67
|
+
html: [
|
|
68
|
+
`<sup>[${menusData(data,'numberMenu').text}]</sup>`,
|
|
69
|
+
`<sup>[${menusData(data,'numberMenu').text}]</sup><span> </span>`
|
|
70
|
+
]
|
|
68
71
|
},
|
|
69
72
|
keywordMenu: {
|
|
70
73
|
name: '关键词',
|
|
@@ -91,7 +94,8 @@ export function butJson (editor,data) {
|
|
|
91
94
|
html: [
|
|
92
95
|
`<sup>${num[numSort(editor)]}</sup>`,
|
|
93
96
|
`<hr class="custom-link" contenteditable="false">`,
|
|
94
|
-
`<p data-signId="s-${numSort(editor)}"><span style="font-family: KaiTi">${num[numSort(editor)]}填写标注内容<span></p
|
|
97
|
+
`<p data-signId="s-${numSort(editor)}"><span style="font-family: KaiTi">${num[numSort(editor)]}填写标注内容<span></p>`,
|
|
98
|
+
`<sup>${num[numSort(editor)]}</sup><span> </span>`,
|
|
95
99
|
],
|
|
96
100
|
index: numSort(editor)
|
|
97
101
|
},
|
|
@@ -155,4 +159,4 @@ function getTime() {
|
|
|
155
159
|
let month = date.getMonth() + 1
|
|
156
160
|
let day = date.getDate() < 10 ? '0' + date.getDate() : date.getDate()
|
|
157
161
|
return year + '年' + month + '月' + day + '日'
|
|
158
|
-
}
|
|
162
|
+
}
|
|
@@ -356,7 +356,7 @@ export default {
|
|
|
356
356
|
const data = document.querySelectorAll('.editing-cont')[0].childNodes[0].childNodes
|
|
357
357
|
this.wit = document.getElementsByClassName('editor-content')[0].offsetWidth
|
|
358
358
|
if(this.wit > 900) this.wit = 900
|
|
359
|
-
let max = this.wit * 1.4
|
|
359
|
+
let max = this.wit * 1.4 - 200
|
|
360
360
|
let pHeight = 0
|
|
361
361
|
let html = ''
|
|
362
362
|
for (let i = 0; i < data.length; i++) {
|
|
@@ -381,12 +381,12 @@ export default {
|
|
|
381
381
|
html = ''
|
|
382
382
|
}
|
|
383
383
|
if ((pHeight + text) > max) {
|
|
384
|
-
const {start, end} = this.rows(data[i], max - pHeight)
|
|
385
|
-
html += `<p>${start.data}</p>`
|
|
384
|
+
const {start, end, size} = this.rows(data[i], max - pHeight)
|
|
385
|
+
html += `<p class="text"><span style="font-family: SimSun; font-size: ${size}px">${start.data}</span></p>`
|
|
386
386
|
this.htmlArr.push(html)
|
|
387
387
|
pHeight = 0
|
|
388
388
|
html = ''
|
|
389
|
-
html += `<p>${end.data}</p>`
|
|
389
|
+
html += `<p class="text"><span style="font-family: SimSun;font-size: ${size}px">${end.data}</span></p>`
|
|
390
390
|
pHeight = end.size
|
|
391
391
|
}else {
|
|
392
392
|
pHeight += text
|
|
@@ -412,7 +412,9 @@ export default {
|
|
|
412
412
|
let end = text.slice(textLen)
|
|
413
413
|
return {
|
|
414
414
|
start: {data: start, size: num},
|
|
415
|
-
end: {data: end, size: height - num}
|
|
415
|
+
end: {data: end, size: height - num},
|
|
416
|
+
size: size,
|
|
417
|
+
// family: fontFamily.replace(/\"/g,"")
|
|
416
418
|
}
|
|
417
419
|
},
|
|
418
420
|
measureText (text, fontSize=10, max=0) {
|
|
@@ -702,8 +704,11 @@ export default {
|
|
|
702
704
|
}
|
|
703
705
|
// 标注编号
|
|
704
706
|
if (data.key === 'numberMenu') {
|
|
707
|
+
let index = 0
|
|
708
|
+
const {path, pos} = this.editor.state.selection.$head
|
|
705
709
|
const html = butJson(this.editor, this.menusText)[data.key].html
|
|
706
|
-
|
|
710
|
+
if(path[5] === pos) index = 1
|
|
711
|
+
this.editor.chain().focus().insertContentAt(this.selection(), html[index]).run()
|
|
707
712
|
}
|
|
708
713
|
// 关键词
|
|
709
714
|
if (data.key === 'keywordMenu') {
|
|
@@ -739,15 +744,18 @@ export default {
|
|
|
739
744
|
}
|
|
740
745
|
// 添加标注
|
|
741
746
|
if (data.key === 'taggingMenu') {
|
|
742
|
-
|
|
747
|
+
let ind = 0
|
|
748
|
+
const {path, pos} = this.editor.state.selection.$head
|
|
749
|
+
let index = this.editor.state.selection.$anchor.path[1] // 获取当前光标所行数
|
|
743
750
|
const content = this.editor.state.selection.$anchor.path[0].content.content // 获取内容
|
|
744
751
|
const name = content[index + 1]?.type.name
|
|
745
752
|
const num = this.cursorPosition(content, index) // 获取当前光标位置
|
|
746
753
|
const html = butJson(this.editor, this.menusText)[data.key].html
|
|
747
|
-
|
|
754
|
+
if(path[5] === pos) ind = 3
|
|
755
|
+
this.editor.chain().focus().insertContentAt(this.selection(), html[ind]).run()
|
|
748
756
|
const si = butJson(this.editor, this.menusText)[data.key].index - 1 // 获取标记的位置
|
|
749
|
-
const signID = this.selectionPath(`s-${si}`)
|
|
750
|
-
if (name !== 'horizontalRule') {
|
|
757
|
+
const signID = this.selectionPath(`s-${si}`) // 获取标记的位置
|
|
758
|
+
if (name !== 'horizontalRule') { // 判断是否有分割线
|
|
751
759
|
this.editor.chain().focus().insertContentAt(num, html[1]).run()
|
|
752
760
|
this.editor.chain().focus().insertContentAt(num + 2, html[2]).run()
|
|
753
761
|
} else {
|
|
@@ -1117,4 +1125,4 @@ li {
|
|
|
1117
1125
|
width: 100%;
|
|
1118
1126
|
}
|
|
1119
1127
|
}
|
|
1120
|
-
</style>
|
|
1128
|
+
</style>
|
|
@@ -4,12 +4,12 @@
|
|
|
4
4
|
<div class="ed-title" v-if="titleShow" :style="titleStyle" v-html="title"></div>
|
|
5
5
|
<div class="ed-but" v-if="readOnly">
|
|
6
6
|
<div class="ed-head-but" v-for="(item,index) in toolbar">
|
|
7
|
-
<button v-if="item.key === 'but'" class="
|
|
7
|
+
<button v-if="item.key === 'but'" class="buts" @click="item.onClick(item,info)" :style="{color: (item.active)? '#00ff00' :'#000'}">{{ item.title }}</button>
|
|
8
8
|
<label v-else-if="item.key === 'upImg' || item.key === 'uploadAtt'">
|
|
9
9
|
<input type="file" @change="upload($event,item.key)" :accept="(item.key === 'upImg')?'image/*':'.docx,.pptx,.pdf,.xlsx,.mp3,.mp4'" style="display: none;">
|
|
10
|
-
<span class="
|
|
10
|
+
<span class="buts">{{ item.title }}</span>
|
|
11
11
|
</label>
|
|
12
|
-
<button v-else class="
|
|
12
|
+
<button v-else class="buts" @click="toolTap(item.key)">{{ item.title }}</button>
|
|
13
13
|
</div>
|
|
14
14
|
</div>
|
|
15
15
|
</div>
|
|
@@ -549,7 +549,7 @@ export default {
|
|
|
549
549
|
.ed-head{
|
|
550
550
|
text-align: right;
|
|
551
551
|
}
|
|
552
|
-
.
|
|
552
|
+
.buts{
|
|
553
553
|
margin-left: 1px;
|
|
554
554
|
font-size: 12px;
|
|
555
555
|
background-color: transparent;
|
|
@@ -10,14 +10,15 @@
|
|
|
10
10
|
<button :disabled="mindShow" @click="associativeLine">关联线</button>
|
|
11
11
|
<button :disabled="mindShow" @click="nodeStyle">节点样式</button>
|
|
12
12
|
<button @click="structure">结构切换</button>
|
|
13
|
-
<button @click="preservation">保存</button>
|
|
13
|
+
<button v-if="protectShow" @click="preservation">保存</button>
|
|
14
14
|
</div>
|
|
15
15
|
<button @click="fullTap" v-if="fullShow">全屏</button>
|
|
16
16
|
<button @click="fullDel" v-else>退出</button>
|
|
17
17
|
</div>
|
|
18
18
|
<div :id="id" class="mindMapContainer"></div>
|
|
19
|
-
<div class="node-style" ref="
|
|
19
|
+
<div class="node-style" :ref="id+'e'" :class="{'node-s': trans, 'node-h': !trans}">
|
|
20
20
|
<div class="style-li">
|
|
21
|
+
<img @click="nodeStyle" src="data:image/png;base64,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" alt="" />
|
|
21
22
|
<div class="style-title">文字</div>
|
|
22
23
|
<div class="style-list">
|
|
23
24
|
<div class="node-left zIndex2">
|
|
@@ -113,20 +114,13 @@
|
|
|
113
114
|
import Select from '../../select/src/select.vue'
|
|
114
115
|
import Coloring from '../../coloring/src/coloring.vue'
|
|
115
116
|
import MindMap from "simple-mind-map";
|
|
116
|
-
import Drag from 'simple-mind-map/src/Drag.js'
|
|
117
|
-
import AssociativeLine from 'simple-mind-map/src/AssociativeLine.js'
|
|
118
|
-
import Export from 'simple-mind-map/src/Export.js'
|
|
119
|
-
import "simple-mind-map/dist/simpleMindMap.esm.css";
|
|
120
|
-
|
|
121
|
-
// 注册插件
|
|
122
|
-
MindMap.usePlugin(Drag).usePlugin(AssociativeLine).usePlugin(Export)
|
|
123
117
|
|
|
124
118
|
export default {
|
|
125
119
|
components: {Select, Coloring},
|
|
126
120
|
name: "zydx-mind",
|
|
127
121
|
data() {
|
|
128
122
|
return {
|
|
129
|
-
id:
|
|
123
|
+
id: null,
|
|
130
124
|
mindMap: null,
|
|
131
125
|
mindShow: false,
|
|
132
126
|
retShow: false,
|
|
@@ -218,17 +212,26 @@ export default {
|
|
|
218
212
|
type: Boolean,
|
|
219
213
|
default: false
|
|
220
214
|
},
|
|
215
|
+
protectShow: {
|
|
216
|
+
type: Boolean,
|
|
217
|
+
default: true
|
|
218
|
+
}
|
|
221
219
|
},
|
|
222
220
|
watch: {
|
|
223
221
|
readOnly: {
|
|
224
222
|
handler: function (val, oldVal) {
|
|
225
223
|
this.mindMap?.setMode(val ? 'readonly' : 'edit')
|
|
226
224
|
},
|
|
225
|
+
deep: true,
|
|
227
226
|
immediate: true
|
|
228
227
|
},
|
|
229
228
|
data: {
|
|
230
229
|
handler: function (val, oldVal) {
|
|
231
|
-
|
|
230
|
+
if(Object.keys(val).length === 0) {
|
|
231
|
+
this.mindMap?.setData(this.defaultData)
|
|
232
|
+
}else {
|
|
233
|
+
this.mindMap?.setData(val)
|
|
234
|
+
}
|
|
232
235
|
},
|
|
233
236
|
immediate: true
|
|
234
237
|
},
|
|
@@ -274,10 +277,10 @@ export default {
|
|
|
274
277
|
},
|
|
275
278
|
},
|
|
276
279
|
mounted() {
|
|
277
|
-
this.id =
|
|
280
|
+
this.id = this.randomId()
|
|
278
281
|
setTimeout(() => {
|
|
279
282
|
this.init()
|
|
280
|
-
},0)
|
|
283
|
+
}, 0)
|
|
281
284
|
window.onresize = () => {
|
|
282
285
|
if (!document.fullscreenElement) {
|
|
283
286
|
this.fullShow = true
|
|
@@ -286,6 +289,10 @@ export default {
|
|
|
286
289
|
}
|
|
287
290
|
},
|
|
288
291
|
methods: {
|
|
292
|
+
randomId() {
|
|
293
|
+
const id = Math.random().toString(36).substr(2)
|
|
294
|
+
return id.replace(/[0-9]/g, '')
|
|
295
|
+
},
|
|
289
296
|
fullScreen(element) {
|
|
290
297
|
if (element.requestFullScreen) {
|
|
291
298
|
element.requestFullScreen()
|
|
@@ -317,14 +324,15 @@ export default {
|
|
|
317
324
|
},
|
|
318
325
|
// 初始化
|
|
319
326
|
init() {
|
|
327
|
+
const that = this
|
|
320
328
|
this.mindMap = new MindMap({
|
|
321
|
-
el: document.getElementById(
|
|
329
|
+
el: document.getElementById(that.id),
|
|
322
330
|
enableFreeDrag: false, // 是否开启自由拖拽
|
|
323
331
|
enableNodeTransitionMove: false, // 是否开启节点过渡动画
|
|
324
332
|
layout: 'logicalStructure', // 节点布局方式
|
|
325
333
|
maxHistoryCount: 100, // 最大历史记录数
|
|
326
334
|
maxNodeCacheCount: 100, // 最大节点缓存数
|
|
327
|
-
data: Object.keys(
|
|
335
|
+
data: Object.keys(that.data).length === 0 ? that.defaultData : that.data
|
|
328
336
|
});
|
|
329
337
|
this.mindMap.setMode(this.readOnly ? 'readonly' : 'edit')
|
|
330
338
|
this.mindMap.on('node_active', (node, activeNodeList) => {
|
|
@@ -398,14 +406,25 @@ export default {
|
|
|
398
406
|
})
|
|
399
407
|
})
|
|
400
408
|
},
|
|
409
|
+
getContent() {
|
|
410
|
+
let that = this
|
|
411
|
+
return new Promise((rl,rs) => {
|
|
412
|
+
that.mindMap.export('png', false, '123213', true).then(r => {
|
|
413
|
+
rl({
|
|
414
|
+
data: that.mindMap.getData(),
|
|
415
|
+
url: r
|
|
416
|
+
})
|
|
417
|
+
})
|
|
418
|
+
})
|
|
419
|
+
},
|
|
401
420
|
nodeStyle() {
|
|
402
|
-
this.$refs.
|
|
403
|
-
this.$refs.
|
|
421
|
+
this.$refs[`${this.id}e`].style.display = 'block'
|
|
422
|
+
this.$refs[this.id].style.overflow = 'hidden'
|
|
404
423
|
this.trans = !this.trans
|
|
405
424
|
setTimeout(() => {
|
|
406
|
-
this.$refs.
|
|
425
|
+
this.$refs[this.id].style.overflow = 'visible'
|
|
407
426
|
if (!this.trans) {
|
|
408
|
-
this.$refs.
|
|
427
|
+
this.$refs[`${this.id}e`].style.display = 'none'
|
|
409
428
|
}
|
|
410
429
|
}, 250)
|
|
411
430
|
},
|
|
@@ -438,6 +457,7 @@ export default {
|
|
|
438
457
|
</script>
|
|
439
458
|
|
|
440
459
|
<style scoped>
|
|
460
|
+
|
|
441
461
|
.table-left {
|
|
442
462
|
display: inline-block;
|
|
443
463
|
margin-right: 5px;
|
|
@@ -558,7 +578,18 @@ export default {
|
|
|
558
578
|
box-shadow: rgba(0, 0, 0, 0.06) 0 2px 16px 0;
|
|
559
579
|
z-index: 10;
|
|
560
580
|
}
|
|
561
|
-
|
|
581
|
+
.style-li{
|
|
582
|
+
position: relative;
|
|
583
|
+
}
|
|
584
|
+
.style-li img{
|
|
585
|
+
position: absolute;
|
|
586
|
+
top: 0;
|
|
587
|
+
right: 0;
|
|
588
|
+
z-index: 1;
|
|
589
|
+
width: 15px;
|
|
590
|
+
height: 15px;
|
|
591
|
+
cursor: pointer;
|
|
592
|
+
}
|
|
562
593
|
.style-list {
|
|
563
594
|
display: flex;
|
|
564
595
|
padding: 5px 0;
|