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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zydx-plus",
3
- "version": "1.32.203",
3
+ "version": "1.32.204",
4
4
  "description": "Vue.js",
5
5
  "main": "src/index.js",
6
6
  "files": [
@@ -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="but" @click="item.onClick(item,info)" :style="{color: (item.active)? '#00ff00' :'#000'}">{{ item.title }}</button>
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="but">{{ item.title }}</span>
10
+ <span class="buts">{{ item.title }}</span>
11
11
  </label>
12
- <button v-else class="but" @click="toolTap(item.key)">{{ item.title }}</button>
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
- .but{
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="nodeStyle" :class="{'node-s': trans, 'node-h': !trans}">
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
- this.mindMap?.setData(val)
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 = Math.random().toString(36).substr(2)
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(this.id),
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(this.data).length === 0 ? this.defaultData : this.data
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.nodeStyle.style.display = 'block'
403
- this.$refs.mind.style.overflow = 'hidden'
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.mind.style.overflow = 'visible'
432
+ this.$refs[this.id].style.overflow = 'visible'
407
433
  if (!this.trans) {
408
- this.$refs.nodeStyle.style.display = 'none'
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;
package/src/index.js CHANGED
@@ -77,7 +77,7 @@ function install(app) {
77
77
  }
78
78
 
79
79
  export default {
80
- version: '1.32.203',
80
+ version: '1.32.204',
81
81
  install,
82
82
  Calendar,
83
83
  Message,