zydx-plus 1.30.175 → 1.30.176

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.30.175",
3
+ "version": "1.30.176",
4
4
  "description": "Vue.js",
5
5
  "main": "src/index.js",
6
6
  "files": [
@@ -17,7 +17,7 @@
17
17
  <div :style="{'border': (borderShow)? '1px solid #ccc': '0'}" v-if="editorShow">
18
18
  <editor-content class="editor" :editor="editor" :style="heightStyleCont" />
19
19
  </div>
20
- <div class="editor-but" v-if="butText !== ''&& readOnly">
20
+ <div class="editor-but" v-if="butText !== '' && readOnly">
21
21
  <button class="but" @click="complete">{{ butText }}</button>
22
22
  </div>
23
23
  <div class="enclosure" v-if="uploadAttData.length > 0 && enclosureShow">
@@ -84,6 +84,7 @@ import Placeholder from '@tiptap/extension-placeholder'
84
84
  import Color from '@tiptap/extension-color'
85
85
  import textStyle from '@tiptap/extension-text-style'
86
86
  import { sid } from "./sign-id";
87
+ import { FontSize } from "./font-size";
87
88
  export default {
88
89
  name: 'zydx-xiao-editor',
89
90
  components: {
@@ -191,7 +192,7 @@ export default {
191
192
  // 强制监听data变化
192
193
  data: {
193
194
  handler: function (e, oldVal) {
194
- this.editor.commands.setContent(json2html({node: "root",child: (e.html === undefined || null)? [] : e.html}))
195
+ this.editor?.commands.setContent(json2html({node: "root",child: (e.html === undefined || null)? [] : e.html}))
195
196
  this.uploadAttData = (e.enclosure === undefined)? [] : this.enclosureAction(e.enclosure)
196
197
  },
197
198
  deep: true
@@ -218,6 +219,7 @@ export default {
218
219
  sid,
219
220
  StarterKit,
220
221
  textStyle,
222
+ FontSize,
221
223
  Color.configure({
222
224
  types: ['textStyle'],
223
225
  }),
@@ -357,6 +359,9 @@ export default {
357
359
  this.editor.chain().focus().insertContentAt(this.selection(),html).run()
358
360
  }
359
361
  },
362
+ enclosureContent(v) {
363
+ this.uploadAttData = [...this.uploadAttData, ...this.enclosureAction(v)]
364
+ },
360
365
  download(index) {
361
366
  this.$emit('download', this.uploadAttData[index])
362
367
  },
@@ -392,10 +397,10 @@ export default {
392
397
  return json.child
393
398
  },
394
399
  toolTap(v) {
395
- if(v === 'h1') this.editor.chain().focus().toggleHeading({level:1}).run()
396
- if(v === 'h2') this.editor.chain().focus().toggleHeading({level:2}).run()
397
- if(v === 'h3') this.editor.chain().focus().toggleHeading({level:3}).run()
398
- if(v === 'p') this.editor.chain().focus().setParagraph().run()
400
+ if(v === 'h1') this.editor.chain().focus().setFontSize('18px').setBold().run()
401
+ if(v === 'h2') this.editor.chain().focus().setFontSize('16px').setBold().run()
402
+ if(v === 'h3') this.editor.chain().focus().setFontSize('14px').setBold().run()
403
+ if(v === 'p') this.editor.chain().focus().setParagraph().setFontSize('14px').unsetBold().run()
399
404
  if(v === 'bold') this.editor.chain().focus().toggleBold().run()
400
405
  if(v === 'center' || v === 'left' || v === 'right') this.editor.chain().focus().setTextAlign(v).run()
401
406
  if(v === 'add') {
@@ -403,9 +408,9 @@ export default {
403
408
  html += '<p style="text-align: right;"><span style="color: #999;">请填来源</span></p>'
404
409
  this.editor.commands.setContent(html)
405
410
  }
406
- if(v === 'centerH2') this.editor.chain().focus().toggleHeading({level:2}).setTextAlign('center').run()
407
- if(v === 'leftH2') this.editor.chain().focus().toggleHeading({level:2}).setTextAlign('left').run()
408
- if(v === 'rightH2') this.editor.chain().focus().toggleHeading({level:2}).setTextAlign('right').run()
411
+ if(v === 'centerH2') this.editor.chain().focus().setFontSize('16px').setBold().setTextAlign('center').run()
412
+ if(v === 'leftH2') this.editor.chain().focus().setFontSize('16px').setBold().setTextAlign('left').run()
413
+ if(v === 'rightH2') this.editor.chain().focus().setFontSize('16px').setBold().setTextAlign('right').run()
409
414
  }
410
415
  }
411
416
  }
@@ -413,6 +418,22 @@ export default {
413
418
  </script>
414
419
 
415
420
  <style scoped>
421
+ .editor :deep(h1) {
422
+ line-height: 25px;
423
+ font-size: 18px;
424
+ }
425
+ .editor :deep(h2) {
426
+ line-height: 25px;
427
+ font-size: 16px;
428
+ }
429
+ .editor :deep(h3) {
430
+ line-height: 25px;
431
+ font-size: 14px;
432
+ }
433
+ .editor :deep(p) {
434
+ font-size: 14px;
435
+ line-height: 25px;
436
+ }
416
437
  :deep(.ProseMirror) p.is-editor-empty:first-child::before {
417
438
  content: attr(data-placeholder);
418
439
  float: left;
@@ -0,0 +1,49 @@
1
+ import { Extension } from '@tiptap/core'
2
+
3
+ export const FontSize = Extension.create({
4
+ name: 'fontSize',
5
+
6
+ addOptions() {
7
+ return {
8
+ types: ['textStyle'],
9
+ }
10
+ },
11
+
12
+ addGlobalAttributes() {
13
+ return [
14
+ {
15
+ types: this.options.types,
16
+ attributes: {
17
+ fontSize: {
18
+ default: null,
19
+ parseHTML: element => element.style.fontSize.replace(/['"]+/g, ''),
20
+ renderHTML: attributes => {
21
+ if (!attributes.fontSize) {
22
+ return {}
23
+ }
24
+ return {
25
+ style: `font-size: ${attributes.fontSize}`,
26
+ }
27
+ },
28
+ },
29
+ },
30
+ },
31
+ ]
32
+ },
33
+
34
+ addCommands() {
35
+ return {
36
+ setFontSize: fontSize => ({ chain }) => {
37
+ return chain()
38
+ .setMark('textStyle', { fontSize })
39
+ .run()
40
+ },
41
+ unsetFontSize: () => ({ chain }) => {
42
+ return chain()
43
+ .setMark('textStyle', { fontSize: null })
44
+ .removeEmptyTextStyle()
45
+ .run()
46
+ },
47
+ }
48
+ },
49
+ })
package/src/index.js CHANGED
@@ -73,7 +73,7 @@ function install(app) {
73
73
  }
74
74
 
75
75
  export default {
76
- version: '1.30.175',
76
+ version: '1.30.176',
77
77
  install,
78
78
  Calendar,
79
79
  Message,