zydx-plus 1.32.203 → 1.32.204
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
|
@@ -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,7 +704,13 @@ export default {
|
|
|
702
704
|
}
|
|
703
705
|
// 标注编号
|
|
704
706
|
if (data.key === 'numberMenu') {
|
|
707
|
+
// const {path, pos} = this.editor.state.selection.$head
|
|
705
708
|
const html = butJson(this.editor, this.menusText)[data.key].html
|
|
709
|
+
// if(path[5] === pos) {
|
|
710
|
+
// this.editor.chain().focus().insertContentAt(this.selection(), html).run()
|
|
711
|
+
// }else {
|
|
712
|
+
// this.editor.chain().focus().insertContentAt(this.selection(), html).run()
|
|
713
|
+
// }
|
|
706
714
|
this.editor.chain().focus().insertContentAt(this.selection(), html).run()
|
|
707
715
|
}
|
|
708
716
|
// 关键词
|
|
@@ -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">
|
|
@@ -126,7 +127,7 @@ export default {
|
|
|
126
127
|
name: "zydx-mind",
|
|
127
128
|
data() {
|
|
128
129
|
return {
|
|
129
|
-
id:
|
|
130
|
+
id: null,
|
|
130
131
|
mindMap: null,
|
|
131
132
|
mindShow: false,
|
|
132
133
|
retShow: false,
|
|
@@ -218,17 +219,26 @@ export default {
|
|
|
218
219
|
type: Boolean,
|
|
219
220
|
default: false
|
|
220
221
|
},
|
|
222
|
+
protectShow: {
|
|
223
|
+
type: Boolean,
|
|
224
|
+
default: true
|
|
225
|
+
}
|
|
221
226
|
},
|
|
222
227
|
watch: {
|
|
223
228
|
readOnly: {
|
|
224
229
|
handler: function (val, oldVal) {
|
|
225
230
|
this.mindMap?.setMode(val ? 'readonly' : 'edit')
|
|
226
231
|
},
|
|
232
|
+
deep: true,
|
|
227
233
|
immediate: true
|
|
228
234
|
},
|
|
229
235
|
data: {
|
|
230
236
|
handler: function (val, oldVal) {
|
|
231
|
-
|
|
237
|
+
if(Object.keys(val).length === 0) {
|
|
238
|
+
this.mindMap?.setData(this.defaultData)
|
|
239
|
+
}else {
|
|
240
|
+
this.mindMap?.setData(val)
|
|
241
|
+
}
|
|
232
242
|
},
|
|
233
243
|
immediate: true
|
|
234
244
|
},
|
|
@@ -274,10 +284,10 @@ export default {
|
|
|
274
284
|
},
|
|
275
285
|
},
|
|
276
286
|
mounted() {
|
|
277
|
-
this.id =
|
|
287
|
+
this.id = this.randomId()
|
|
278
288
|
setTimeout(() => {
|
|
279
289
|
this.init()
|
|
280
|
-
},0)
|
|
290
|
+
}, 0)
|
|
281
291
|
window.onresize = () => {
|
|
282
292
|
if (!document.fullscreenElement) {
|
|
283
293
|
this.fullShow = true
|
|
@@ -286,6 +296,10 @@ export default {
|
|
|
286
296
|
}
|
|
287
297
|
},
|
|
288
298
|
methods: {
|
|
299
|
+
randomId() {
|
|
300
|
+
const id = Math.random().toString(36).substr(2)
|
|
301
|
+
return id.replace(/[0-9]/g, '')
|
|
302
|
+
},
|
|
289
303
|
fullScreen(element) {
|
|
290
304
|
if (element.requestFullScreen) {
|
|
291
305
|
element.requestFullScreen()
|
|
@@ -317,14 +331,15 @@ export default {
|
|
|
317
331
|
},
|
|
318
332
|
// 初始化
|
|
319
333
|
init() {
|
|
334
|
+
const that = this
|
|
320
335
|
this.mindMap = new MindMap({
|
|
321
|
-
el: document.getElementById(
|
|
336
|
+
el: document.getElementById(that.id),
|
|
322
337
|
enableFreeDrag: false, // 是否开启自由拖拽
|
|
323
338
|
enableNodeTransitionMove: false, // 是否开启节点过渡动画
|
|
324
339
|
layout: 'logicalStructure', // 节点布局方式
|
|
325
340
|
maxHistoryCount: 100, // 最大历史记录数
|
|
326
341
|
maxNodeCacheCount: 100, // 最大节点缓存数
|
|
327
|
-
data: Object.keys(
|
|
342
|
+
data: Object.keys(that.data).length === 0 ? that.defaultData : that.data
|
|
328
343
|
});
|
|
329
344
|
this.mindMap.setMode(this.readOnly ? 'readonly' : 'edit')
|
|
330
345
|
this.mindMap.on('node_active', (node, activeNodeList) => {
|
|
@@ -398,14 +413,25 @@ export default {
|
|
|
398
413
|
})
|
|
399
414
|
})
|
|
400
415
|
},
|
|
416
|
+
getContent() {
|
|
417
|
+
let that = this
|
|
418
|
+
return new Promise((rl,rs) => {
|
|
419
|
+
that.mindMap.export('png', false, '123213', true).then(r => {
|
|
420
|
+
rl({
|
|
421
|
+
data: that.mindMap.getData(),
|
|
422
|
+
url: r
|
|
423
|
+
})
|
|
424
|
+
})
|
|
425
|
+
})
|
|
426
|
+
},
|
|
401
427
|
nodeStyle() {
|
|
402
|
-
this.$refs.
|
|
403
|
-
this.$refs.
|
|
428
|
+
this.$refs[`${this.id}e`].style.display = 'block'
|
|
429
|
+
this.$refs[this.id].style.overflow = 'hidden'
|
|
404
430
|
this.trans = !this.trans
|
|
405
431
|
setTimeout(() => {
|
|
406
|
-
this.$refs.
|
|
432
|
+
this.$refs[this.id].style.overflow = 'visible'
|
|
407
433
|
if (!this.trans) {
|
|
408
|
-
this.$refs.
|
|
434
|
+
this.$refs[`${this.id}e`].style.display = 'none'
|
|
409
435
|
}
|
|
410
436
|
}, 250)
|
|
411
437
|
},
|
|
@@ -438,6 +464,7 @@ export default {
|
|
|
438
464
|
</script>
|
|
439
465
|
|
|
440
466
|
<style scoped>
|
|
467
|
+
|
|
441
468
|
.table-left {
|
|
442
469
|
display: inline-block;
|
|
443
470
|
margin-right: 5px;
|
|
@@ -558,7 +585,18 @@ export default {
|
|
|
558
585
|
box-shadow: rgba(0, 0, 0, 0.06) 0 2px 16px 0;
|
|
559
586
|
z-index: 10;
|
|
560
587
|
}
|
|
561
|
-
|
|
588
|
+
.style-li{
|
|
589
|
+
position: relative;
|
|
590
|
+
}
|
|
591
|
+
.style-li img{
|
|
592
|
+
position: absolute;
|
|
593
|
+
top: 0;
|
|
594
|
+
right: 0;
|
|
595
|
+
z-index: 1;
|
|
596
|
+
width: 15px;
|
|
597
|
+
height: 15px;
|
|
598
|
+
cursor: pointer;
|
|
599
|
+
}
|
|
562
600
|
.style-list {
|
|
563
601
|
display: flex;
|
|
564
602
|
padding: 5px 0;
|