Browse Source

添加编辑器及处理搜索问题

yangg 7 tháng trước cách đây
mục cha
commit
160ec09fa9
100 tập tin đã thay đổi với 229 bổ sung1 xóa
  1. 1 1
      .env.development
  2. 1 0
      package.json
  3. 23 0
      src/api/knowledge.js
  4. 1 0
      src/components/CanvasEditor/assets/images/alignment.svg
  5. 1 0
      src/components/CanvasEditor/assets/images/arrow-left.svg
  6. 1 0
      src/components/CanvasEditor/assets/images/arrow-right.svg
  7. 1 0
      src/components/CanvasEditor/assets/images/block.svg
  8. 1 0
      src/components/CanvasEditor/assets/images/bold.svg
  9. 1 0
      src/components/CanvasEditor/assets/images/catalog.svg
  10. 1 0
      src/components/CanvasEditor/assets/images/center.svg
  11. 1 0
      src/components/CanvasEditor/assets/images/checkbox.svg
  12. 1 0
      src/components/CanvasEditor/assets/images/close.svg
  13. 1 0
      src/components/CanvasEditor/assets/images/codeblock.svg
  14. 1 0
      src/components/CanvasEditor/assets/images/color.svg
  15. 1 0
      src/components/CanvasEditor/assets/images/control.svg
  16. 1 0
      src/components/CanvasEditor/assets/images/date.svg
  17. 1 0
      src/components/CanvasEditor/assets/images/exit-fullscreen.svg
  18. 1 0
      src/components/CanvasEditor/assets/images/format.svg
  19. 1 0
      src/components/CanvasEditor/assets/images/highlight.svg
  20. 1 0
      src/components/CanvasEditor/assets/images/hyperlink.svg
  21. 1 0
      src/components/CanvasEditor/assets/images/image.svg
  22. 1 0
      src/components/CanvasEditor/assets/images/italic.svg
  23. 7 0
      src/components/CanvasEditor/assets/images/justify.svg
  24. 1 0
      src/components/CanvasEditor/assets/images/latex.svg
  25. 1 0
      src/components/CanvasEditor/assets/images/left.svg
  26. 1 0
      src/components/CanvasEditor/assets/images/line-dash-dot-dot.svg
  27. 1 0
      src/components/CanvasEditor/assets/images/line-dash-dot.svg
  28. 1 0
      src/components/CanvasEditor/assets/images/line-dash-large-gap.svg
  29. 1 0
      src/components/CanvasEditor/assets/images/line-dash-small-gap.svg
  30. 1 0
      src/components/CanvasEditor/assets/images/line-dot.svg
  31. 1 0
      src/components/CanvasEditor/assets/images/line-double.svg
  32. 1 0
      src/components/CanvasEditor/assets/images/line-single.svg
  33. 1 0
      src/components/CanvasEditor/assets/images/line-wavy.svg
  34. 1 0
      src/components/CanvasEditor/assets/images/list.svg
  35. 0 0
      src/components/CanvasEditor/assets/images/option.svg
  36. 1 0
      src/components/CanvasEditor/assets/images/page-break.svg
  37. 1 0
      src/components/CanvasEditor/assets/images/page-mode.svg
  38. 1 0
      src/components/CanvasEditor/assets/images/page-scale-add.svg
  39. 1 0
      src/components/CanvasEditor/assets/images/page-scale-minus.svg
  40. 1 0
      src/components/CanvasEditor/assets/images/painter.svg
  41. 1 0
      src/components/CanvasEditor/assets/images/paper-direction.svg
  42. 1 0
      src/components/CanvasEditor/assets/images/paper-margin.svg
  43. 1 0
      src/components/CanvasEditor/assets/images/paper-size.svg
  44. 1 0
      src/components/CanvasEditor/assets/images/print.svg
  45. 4 0
      src/components/CanvasEditor/assets/images/radio.svg
  46. 1 0
      src/components/CanvasEditor/assets/images/redo.svg
  47. 1 0
      src/components/CanvasEditor/assets/images/request-fullscreen.svg
  48. 1 0
      src/components/CanvasEditor/assets/images/right.svg
  49. 1 0
      src/components/CanvasEditor/assets/images/row-margin.svg
  50. 1 0
      src/components/CanvasEditor/assets/images/search.svg
  51. 1 0
      src/components/CanvasEditor/assets/images/separator.svg
  52. 1 0
      src/components/CanvasEditor/assets/images/signature-undo.svg
  53. 1 0
      src/components/CanvasEditor/assets/images/signature.svg
  54. 1 0
      src/components/CanvasEditor/assets/images/size-add.svg
  55. 1 0
      src/components/CanvasEditor/assets/images/size-minus.svg
  56. 1 0
      src/components/CanvasEditor/assets/images/strikeout.svg
  57. 1 0
      src/components/CanvasEditor/assets/images/subscript.svg
  58. 1 0
      src/components/CanvasEditor/assets/images/superscript.svg
  59. 1 0
      src/components/CanvasEditor/assets/images/table.svg
  60. 1 0
      src/components/CanvasEditor/assets/images/title.svg
  61. 1 0
      src/components/CanvasEditor/assets/images/trash.svg
  62. 1 0
      src/components/CanvasEditor/assets/images/underline.svg
  63. 1 0
      src/components/CanvasEditor/assets/images/undo.svg
  64. 1 0
      src/components/CanvasEditor/assets/images/watermark.svg
  65. 1 0
      src/components/CanvasEditor/assets/images/word-tool.svg
  66. BIN
      src/components/CanvasEditor/assets/snapshots/main_v0.2.1.png
  67. BIN
      src/components/CanvasEditor/assets/snapshots/main_v0.2.2.png
  68. BIN
      src/components/CanvasEditor/assets/snapshots/main_v0.3.0.png
  69. BIN
      src/components/CanvasEditor/assets/snapshots/main_v0.3.1.png
  70. BIN
      src/components/CanvasEditor/assets/snapshots/main_v0.5.0.png
  71. BIN
      src/components/CanvasEditor/assets/snapshots/main_v0.5.1.png
  72. BIN
      src/components/CanvasEditor/assets/snapshots/main_v0.6.0.png
  73. BIN
      src/components/CanvasEditor/assets/snapshots/main_v0.6.1.png
  74. BIN
      src/components/CanvasEditor/assets/snapshots/main_v0.7.0.png
  75. BIN
      src/components/CanvasEditor/assets/snapshots/main_v0.7.1.png
  76. BIN
      src/components/CanvasEditor/assets/snapshots/main_v0.7.2.png
  77. BIN
      src/components/CanvasEditor/assets/snapshots/main_v0.7.3.png
  78. BIN
      src/components/CanvasEditor/assets/snapshots/main_v0.7.4.png
  79. BIN
      src/components/CanvasEditor/assets/snapshots/main_v0.7.6.png
  80. BIN
      src/components/CanvasEditor/assets/snapshots/main_v0.7.7.png
  81. BIN
      src/components/CanvasEditor/assets/snapshots/main_v0.8.0.png
  82. BIN
      src/components/CanvasEditor/assets/snapshots/main_v0.8.5.png
  83. BIN
      src/components/CanvasEditor/assets/snapshots/main_v0.8.6.png
  84. BIN
      src/components/CanvasEditor/assets/snapshots/main_v0.8.7.png
  85. BIN
      src/components/CanvasEditor/assets/snapshots/main_v0.8.8.png
  86. BIN
      src/components/CanvasEditor/assets/snapshots/main_v0.9.0.png
  87. BIN
      src/components/CanvasEditor/assets/snapshots/main_v0.9.1.png
  88. BIN
      src/components/CanvasEditor/assets/snapshots/main_v0.9.2.png
  89. BIN
      src/components/CanvasEditor/assets/snapshots/main_v0.9.23.png
  90. BIN
      src/components/CanvasEditor/assets/snapshots/main_v0.9.28.png
  91. BIN
      src/components/CanvasEditor/assets/snapshots/main_v0.9.29.png
  92. BIN
      src/components/CanvasEditor/assets/snapshots/main_v0.9.3.png
  93. BIN
      src/components/CanvasEditor/assets/snapshots/main_v0.9.30.png
  94. BIN
      src/components/CanvasEditor/assets/snapshots/main_v0.9.32.png
  95. BIN
      src/components/CanvasEditor/assets/snapshots/main_v0.9.35.png
  96. BIN
      src/components/CanvasEditor/assets/snapshots/main_v0.9.4.png
  97. BIN
      src/components/CanvasEditor/assets/snapshots/main_v0.9.5.png
  98. BIN
      src/components/CanvasEditor/assets/snapshots/main_v0.9.6.png
  99. BIN
      src/components/CanvasEditor/assets/snapshots/main_v0.9.8.png
  100. 134 0
      src/components/CanvasEditor/components/dialog/Dialog.js

+ 1 - 1
.env.development

@@ -2,7 +2,7 @@
 ENV = 'development'
 port = 8080
 # base api
-VUE_APP_BASE_API = 'http://183.195.216.54:8084'
+VUE_APP_BASE_API = 'http://192.168.66.187:8084'
 #192.168.66.187
 
 #183.195.216.54

+ 1 - 0
package.json

@@ -19,6 +19,7 @@
     "@amcharts/amcharts5": "^5.10.7",
     "@handsontable-pro/vue": "^3.1.1",
     "@handsontable/vue": "^14.1.0",
+    "@hufe921/canvas-editor": "^0.9.96",
     "@jiaminghi/data-view": "^2.10.0",
     "@tinymce/tinymce-vue": "^3.2.8",
     "axios": "0.18.1",

+ 23 - 0
src/api/knowledge.js

@@ -704,3 +704,26 @@ export function TemplateUpdate(data) {
     data
   })
 }
+
+/* 获取标签分类 */
+
+export function categories(data) {
+  return request({
+    url: 'literature-tags/categories/',
+    method: 'post',
+    data
+  })
+}
+
+/* 批量关联标签分类   */
+
+export function categoriesUpdata(data) {
+  return request({
+    url: 'literature-tags/batch-update-category/',
+    method: 'post',
+    headers: {
+      'Content-Type': 'application/json'
+    },
+    data
+  })
+}

+ 1 - 0
src/components/CanvasEditor/assets/images/alignment.svg

@@ -0,0 +1 @@
+<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="M2 13h12v1H2v-1zm0-3h12v1H2v-1zm0-3h12v1H2V7zm0-6h12v1H2V1zm0 3h12v1H2V4z" fill="#3D4757" fill-rule="evenodd"/></svg>

+ 1 - 0
src/components/CanvasEditor/assets/images/arrow-left.svg

@@ -0,0 +1 @@
+<svg width="4" height="7" xmlns="http://www.w3.org/2000/svg"><path fill="#6F6F6F" d="M0 3.5L4 0v7z" fill-rule="evenodd"/></svg>

+ 1 - 0
src/components/CanvasEditor/assets/images/arrow-right.svg

@@ -0,0 +1 @@
+<svg width="4" height="7" xmlns="http://www.w3.org/2000/svg"><path fill="#6F6F6F" d="M4 3.5L0 0v7z" fill-rule="evenodd"/></svg>

+ 1 - 0
src/components/CanvasEditor/assets/images/block.svg

@@ -0,0 +1 @@
+<svg width="16" height="16" xmlns="http://www.w3.org/2000/svg"><g fill="#3D4757"><path d="M8.923 11v1h-2A2 2 0 015 10.55c.328-.15.638-.335.923-.55a1 1 0 001 1h2zm0-6h-2a1 1 0 00-1 1A4.997 4.997 0 005 5.45 2 2 0 016.923 4h2v1z"/><path d="M4 10a2 2 0 100-4 2 2 0 000 4zm0 1a3 3 0 110-6 3 3 0 010 6zm6-9a1 1 0 00-1 1v3a1 1 0 001 1h3a1 1 0 001-1V3a1 1 0 00-1-1h-3zm0-1h3a2 2 0 012 2v3a2 2 0 01-2 2h-3a2 2 0 01-2-2V3a2 2 0 012-2zm0 10a1 1 0 00-1 1v1a1 1 0 001 1h3a1 1 0 001-1v-1a1 1 0 00-1-1h-3zm0-1h3a2 2 0 012 2v1a2 2 0 01-2 2h-3a2 2 0 01-2-2v-1a2 2 0 012-2z"/></g></svg>

+ 1 - 0
src/components/CanvasEditor/assets/images/bold.svg

@@ -0,0 +1 @@
+<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="M8.131 6.9c2.035 0 2.569-.9 2.569-1.869 0-.968-.64-1.831-2.623-1.831H5.2v3.7h2.931zm.524 5.9c2.045 0 2.545-1.305 2.545-2.3 0-.985-.506-2.4-2.81-2.4H5.2v4.7h3.455zM4 2h4.71c2.367 0 3.19 1.583 3.19 3s-.325 1.852-1.1 2.5c1.2.5 1.569 1.379 1.6 3 .03 1.606-.586 3.5-3.769 3.5H4V2z" fill="#3D4757" fill-rule="evenodd"/></svg>

+ 1 - 0
src/components/CanvasEditor/assets/images/catalog.svg

@@ -0,0 +1 @@
+<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><g fill="#3D4757"><path d="M13 0c.552 0 1 .48 1 1.071V13.93c0 .59-.448 1.07-1 1.07H3c-.552 0-1-.48-1-1.071V1.07C2 .48 2.448 0 3 0h10zm0 1H3v13h10V1z"/><path d="M5 10v1H4v-1h1zm6 0v1H6v-1h5zM5 7v1H4V7h1zm6 0v1H6V7h5zM5 4v1H4V4h1zm6 0v1H6V4h5z"/></g></svg>

+ 1 - 0
src/components/CanvasEditor/assets/images/center.svg

@@ -0,0 +1 @@
+<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="M2 13h12v1H2v-1zm2-3h8v1H4v-1zM2 7h12v1H2V7zm0-6h12v1H2V1zm2 3h8v1H4V4z" fill="#3D4757" fill-rule="evenodd"/></svg>

+ 1 - 0
src/components/CanvasEditor/assets/images/checkbox.svg

@@ -0,0 +1 @@
+<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" x="0" y="0" viewBox="0 0 16 16" xml:space="preserve"><style>.st0{fill:#3d4757}</style><g id="_x30_1-文字_x2F_01开始_x2F_任务列表-16px"><path id="合并形状" class="st0" d="M10.1 2H2v11h11V8.7l1-1V13c0 .6-.4 1-1 1H2c-.6 0-1-.4-1-1V2c0-.6.4-1 1-1h9.1l-1 1z"/><path id="路径" class="st0" d="M7.7 8.5l5.7-5.8.9.8-6.1 5.9-.5.5-3.9-3.4.8-.7z"/></g></svg>

+ 1 - 0
src/components/CanvasEditor/assets/images/close.svg

@@ -0,0 +1 @@
+<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="M8.9 8.192l4.242 4.243-.707.707L8.192 8.9 3.95 13.142l-.707-.707 4.242-4.243L3.243 3.95l.707-.707 4.242 4.242 4.243-4.242.707.707L8.9 8.192z" fill="#6A6A6A" fill-rule="evenodd"/></svg>

+ 1 - 0
src/components/CanvasEditor/assets/images/codeblock.svg

@@ -0,0 +1 @@
+<svg width="14" height="14" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path stroke="#525C6F" stroke-linejoin="round" d="M4 4.5L1.5 7 4 9.5M10 4.5L12.5 7 10 9.5"></path><rect fill="#525C6F" transform="scale(1 -1) rotate(70 16.711 0)" x="2.671" y="6.53" width="8" height="1" rx=".2"></rect></g></svg>

+ 1 - 0
src/components/CanvasEditor/assets/images/color.svg

@@ -0,0 +1 @@
+<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="M7.997 3.429L6.398 8h3.2L7.997 3.429zM8.497 2L12 12h-1L9.949 9h-3.9L5 12H4L7.496 2h1z" fill="#3D4757" fill-rule="evenodd"/></svg>

+ 1 - 0
src/components/CanvasEditor/assets/images/control.svg

@@ -0,0 +1 @@
+<svg width="16" height="16" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="M9.793 1.5H3a.5.5 0 00-.5.5v12a.5.5 0 00.5.5h9a.5.5 0 00.5-.5V4.207L9.793 1.5z" stroke="#3D4757"/><g fill="#3D4757"><path d="M7 7h1v5H7z"/><path d="M5 7h5v1H5z"/></g><path fill="#3D4757" fill-rule="nonzero" d="M9 2h1v3H9z"/><path fill="#3D4757" fill-rule="nonzero" d="M9 4h3v1H9z"/></g></svg>

+ 1 - 0
src/components/CanvasEditor/assets/images/date.svg

@@ -0,0 +1 @@
+<svg width="16" height="16" xmlns="http://www.w3.org/2000/svg"><g fill="#3D4757" fill-rule="evenodd"><path d="M7.5 14.154a5.654 5.654 0 100-11.308 5.654 5.654 0 000 11.308zm0 .846a6.5 6.5 0 110-13 6.5 6.5 0 010 13z" fill-rule="nonzero"/><path d="M8 8h4v1H7V4h1v4z"/></g></svg>

+ 1 - 0
src/components/CanvasEditor/assets/images/exit-fullscreen.svg

@@ -0,0 +1 @@
+<svg width="16" height="16" xmlns="http://www.w3.org/2000/svg"><g fill="#3D4757" fill-rule="evenodd"><path d="M9 9h1v4H9z"/><path d="M9 9h4v1H9zM7 7H6V3h1z"/><path d="M7 7H3V6h4z"/></g></svg>

+ 1 - 0
src/components/CanvasEditor/assets/images/format.svg

@@ -0,0 +1 @@
+<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><g fill="#3D4757" fill-rule="evenodd"><path d="M8.213 13H6.8l6.636-6.636-4.243-4.243-7.07 7.071L5.928 13H4.515L1.06 9.546a.5.5 0 010-.707L8.839 1.06a.5.5 0 01.707 0l4.95 4.95a.5.5 0 010 .707L8.213 13z" fill-rule="nonzero"/><path d="M4.536 6.364l4.95 4.95-.707.707-4.95-4.95zM4.521 13h10.03v1H5.496z"/></g></svg>

+ 1 - 0
src/components/CanvasEditor/assets/images/highlight.svg

@@ -0,0 +1 @@
+<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><g fill="#3D4757" fill-rule="evenodd"><path d="M13.31 5h-1.92a2.203 2.203 0 00-.39-.034c-.135 0-.27.012-.402.034H10v.18c-.578.256-1 .714-1 1.214v1.928c0 .196.117.43.3.658v1.23a3.543 3.543 0 01-.3-.4V11H8V1h1v4.265C9 4.763 10 4 10.942 4c1.19 0 1.92.422 2.367 1zM2 6c-.03-.498-.175-2 2.5-2C7.11 4 7 5 7 6.902V11H5.984v-.993c.38.662-.115.993-1.484.993C2.708 11 2 9.931 2 9c0-1.428.447-2 2.5-2h1.484c0-1 .031-2-1.484-2-1.533 0-1.577.485-1.577 1H2zm2.5 2C3.601 8 3 7.768 3 9c0 1.31.438 1 1.5 1 .617 0 1.484-.665 1.484-1.847V8H4.5z"/><path d="M13.085 6.316l-2.814 3a1 1 0 101.458 1.368l2.815-3a1 1 0 00-1.459-1.368z" fill-rule="nonzero"/></g></svg>

+ 1 - 0
src/components/CanvasEditor/assets/images/hyperlink.svg

@@ -0,0 +1 @@
+<svg width="16" height="16" xmlns="http://www.w3.org/2000/svg"><g transform="rotate(45 5.5 13.328)" fill="#3D4757" fill-rule="evenodd"><path d="M7 6H6V3.515a2.5 2.5 0 10-5 0V6H0V3.515a3.5 3.5 0 117 0V6zm0 4v2.5a3.5 3.5 0 01-7 0V10h1v2.5a2.5 2.5 0 105 0V10h1z" fill-rule="nonzero"/><rect x="3.062" y="5.209" width="1" height="5.5" rx=".5"/></g></svg>

+ 1 - 0
src/components/CanvasEditor/assets/images/image.svg

@@ -0,0 +1 @@
+<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" x="0" y="0" viewBox="0 0 16 16" xml:space="preserve"><style>.st0{fill:#3d4757}</style><g id="_x30_0-公共_x2F_02工具栏_x2F_插入图片-16px-"><g id="Group-19" transform="translate(1 1)"><path id="Combined-Shape" class="st0" d="M1 0h12c.6 0 1 .4 1 1v11c0 .6-.4 1-1 1H1c-.6 0-1-.4-1-1V1c0-.6.4-1 1-1zm0 1v11h12V1H1z"/><circle id="椭圆形" class="st0" cx="10" cy="4" r="1"/><path id="Path" class="st0" d="M8.5 11.2l-4-4.1L1 10.7V9.2c1.7-1.6 2.7-2.5 3-2.8.4-.5.7-.4 1 0L8.5 10 11 7.3c.4-.5.6-.5 1-.1l2 2.8v1.5l-2.5-3.4-3 3.1z"/></g></g></svg>

+ 1 - 0
src/components/CanvasEditor/assets/images/italic.svg

@@ -0,0 +1 @@
+<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="M10.017 3L8.08 13H9v1H6v-1h1.182L9 3H8V2h3v1h-.983z" fill="#3D4757"/></svg>

+ 7 - 0
src/components/CanvasEditor/assets/images/justify.svg

@@ -0,0 +1,7 @@
+<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
+  <path stroke="#3D4757" fill="#3D4757" d="M2 10.5H14M2 13.5H14" stroke-linecap="round" stroke-linejoin="miter">
+  </path>
+  <path stroke="#3D4757" fill="#3D4757" d="M14 3.5L12 1.5M14 3.5L12 5.5M14 3.5L2 3.5M4 1.5L2 3.5M2 3.5L4 5.5"
+    stroke-linecap="round" stroke-linejoin="miter">
+  </path>
+</svg>

+ 1 - 0
src/components/CanvasEditor/assets/images/latex.svg

@@ -0,0 +1 @@
+<svg width="16" height="16" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="M9 13.5H2.982a.5.5 0 01-.404-.794l3.208-4.412a.5.5 0 000-.588L2.578 3.294a.5.5 0 01.404-.794H9" stroke="#3D4757"/><path d="M14.447 7l.809.588-2.139 2.942 2.139 2.942-.81.588-1.946-2.68-1.947 2.68-.809-.588 2.138-2.942-2.138-2.942.81-.588L12.5 9.679 14.447 7z" fill="#3D4757"/></g></svg>

+ 1 - 0
src/components/CanvasEditor/assets/images/left.svg

@@ -0,0 +1 @@
+<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><path d="M2 13h12v1H2zm0-3h8v1H2zm0-3h12v1H2zm0-6h12v1H2zm0 3h8v1H2z" fill="#3d4757" fill-rule="evenodd"/></svg>

+ 1 - 0
src/components/CanvasEditor/assets/images/line-dash-dot-dot.svg

@@ -0,0 +1 @@
+<svg width="126" height="20" xmlns="http://www.w3.org/2000/svg"><path d="M4 10h5v1H4zm7 0h2v1h-2zm4 0h2v1h-2zm4 0h5v1h-5zm7 0h2v1h-2zm4 0h2v1h-2zm4 0h5v1h-5zm7 0h2v1h-2zm4 0h2v1h-2zm4 0h5v1h-5zm7 0h2v1h-2zm4 0h2v1h-2zm4 0h5v1h-5zm7 0h2v1h-2zm4 0h2v1h-2zm4 0h5v1h-5zm7 0h2v1h-2zm4 0h2v1h-2zm4 0h5v1h-5zm7 0h2v1h-2zm4 0h2v1h-2zm4 0h5v1h-5zm7 0h2v1h-2zm4 0h2v1h-2z" fill-rule="evenodd"/></svg>

+ 1 - 0
src/components/CanvasEditor/assets/images/line-dash-dot.svg

@@ -0,0 +1 @@
+<svg width="126" height="20" xmlns="http://www.w3.org/2000/svg"><path d="M4 10h6v1H4zm9 0h3v1h-3zm6 0h6v1h-6zm9 0h3v1h-3zm6 0h6v1h-6zm9 0h3v1h-3zm6 0h6v1h-6zm9 0h3v1h-3zm6 0h6v1h-6zm9 0h3v1h-3zm6 0h6v1h-6zm9 0h3v1h-3zm6 0h6v1h-6zm9 0h3v1h-3zm6 0h6v1h-6zm9 0h3v1h-3z" fill-rule="evenodd"/></svg>

+ 1 - 0
src/components/CanvasEditor/assets/images/line-dash-large-gap.svg

@@ -0,0 +1 @@
+<svg width="126" height="20" xmlns="http://www.w3.org/2000/svg"><path d="M5 10h4v1H5zm8 0h4v1h-4zm8 0h4v1h-4zm8 0h4v1h-4zm8 0h4v1h-4zm8 0h4v1h-4zm8 0h4v1h-4zm8 0h4v1h-4zm8 0h4v1h-4zm8 0h4v1h-4zm8 0h4v1h-4zm8 0h4v1h-4zm8 0h4v1h-4zm8 0h4v1h-4zm8 0h4v1h-4z" fill-rule="evenodd"/></svg>

+ 1 - 0
src/components/CanvasEditor/assets/images/line-dash-small-gap.svg

@@ -0,0 +1 @@
+<svg width="126" height="20" xmlns="http://www.w3.org/2000/svg"><path d="M4 10h4v1H4zm5 0h4v1H9zm5 0h4v1h-4zm5 0h4v1h-4zm5 0h4v1h-4zm5 0h4v1h-4zm5 0h4v1h-4zm5 0h4v1h-4zm5 0h4v1h-4zm5 0h4v1h-4zm5 0h4v1h-4zm5 0h4v1h-4zm5 0h4v1h-4zm5 0h4v1h-4zm5 0h4v1h-4zm5 0h4v1h-4zm5 0h4v1h-4zm5 0h4v1h-4zm5 0h4v1h-4zm5 0h4v1h-4zm5 0h4v1h-4zm5 0h4v1h-4zm5 0h4v1h-4zm5 0h3v1h-3z" fill-rule="evenodd"/></svg>

+ 1 - 0
src/components/CanvasEditor/assets/images/line-dot.svg

@@ -0,0 +1 @@
+<svg width="126" height="20" xmlns="http://www.w3.org/2000/svg"><path d="M4 10h1v1H4zm12 0h1v1h-1zM6 10h1v1H6zm12 0h1v1h-1zM8 10h1v1H8zm12 0h1v1h-1zm-10 0h1v1h-1zm12 0h1v1h-1zm-10 0h1v1h-1zm12 0h1v1h-1zm-10 0h1v1h-1zm12 0h1v1h-1zm2 0h1v1h-1zm12 0h1v1h-1zm-10 0h1v1h-1zm12 0h1v1h-1zm-10 0h1v1h-1zm12 0h1v1h-1zm-10 0h1v1h-1zm12 0h1v1h-1zm-10 0h1v1h-1zm12 0h1v1h-1zm-10 0h1v1h-1zm12 0h1v1h-1zm2 0h1v1h-1zm12 0h1v1h-1zm-10 0h1v1h-1zm12 0h1v1h-1zm-10 0h1v1h-1zm12 0h1v1h-1zm-10 0h1v1h-1zm12 0h1v1h-1zm-10 0h1v1h-1zm12 0h1v1h-1zm-10 0h1v1h-1zm12 0h1v1h-1zm2 0h1v1h-1zm12 0h1v1h-1zm-10 0h1v1h-1zm12 0h1v1h-1zm-10 0h1v1h-1zm12 0h1v1h-1zm-10 0h1v1h-1zm12 0h1v1h-1zm-10 0h1v1h-1zm12 0h1v1h-1zm-10 0h1v1h-1zm12 0h1v1h-1zm2 0h1v1h-1zm12 0h1v1h-1zm-10 0h1v1h-1zm12 0h1v1h-1zm-10 0h1v1h-1zm12 0h1v1h-1zm-10 0h1v1h-1zm12 0h1v1h-1zm-10 0h1v1h-1zm12 0h1v1h-1zm-10 0h1v1h-1z" fill-rule="evenodd"/></svg>

+ 1 - 0
src/components/CanvasEditor/assets/images/line-double.svg

@@ -0,0 +1 @@
+<svg width="126" height="20" xmlns="http://www.w3.org/2000/svg"><path d="M4 10h118v1H4zm0 3h118v1H4z"/></svg>

+ 1 - 0
src/components/CanvasEditor/assets/images/line-single.svg

@@ -0,0 +1 @@
+<svg width="126" height="20" xmlns="http://www.w3.org/2000/svg"><path d="M4 10h118v1H4z" fill-rule="evenodd"/></svg>

+ 1 - 0
src/components/CanvasEditor/assets/images/line-wavy.svg

@@ -0,0 +1 @@
+<svg width="126" height="20" xmlns="http://www.w3.org/2000/svg"><path fill="none" stroke="#000000" d="M4 10 Q6 8,8 10 T12 10 T16 10 T20 10 T24 10 T28 10 T32 10 T36 10 T40 10 T44 10 T48 10 T52 10 T56 10 T60 10 T64 10 T68 10 T72 10 T76 10 T80 10 T84 10 T88 10 T92 10 T96 10 T100 10 T104 10 T108 10 T112 10 T116 10 T120 10 T124 10"/></svg>

+ 1 - 0
src/components/CanvasEditor/assets/images/list.svg

@@ -0,0 +1 @@
+<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path fill="#3D4757" d="M7 12h7v1H7zm0-5h7v1H7zm0-5h7v1H7zM3 4V2H2V1h2v3h1v1H2V4h1z"/><path d="M2 6h3v1H2V6zm0 3h3v1H2V9z" fill="#4F4F4F"/><path fill="#3D4757" fill-rule="nonzero" d="M4.5 6L5 7l-2.5 3L2 9z"/><path d="M4 14l-1-2H2v-1h3v1H4l1 2v1H2v-1h2z" fill="#3D4757"/></g></svg>

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
src/components/CanvasEditor/assets/images/option.svg


+ 1 - 0
src/components/CanvasEditor/assets/images/page-break.svg

@@ -0,0 +1 @@
+<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" x="0" y="0" viewBox="0 0 16 16" xml:space="preserve"><style>.st0{fill:none;stroke:#3d4757}.st1{fill:#3d4757}</style><g id="_x30_1-文字_x2F_02插入_x2F_分页-16px"><path id="矩形" class="st0" d="M5.5 2.5h7c.6 0 1 .4 1 1v3c0 .6-.4 1-1 1h-7c-.6 0-1-.4-1-1v-3c0-.6.4-1 1-1z"/><path id="三角形" class="st1" d="M4 8.5L1 6v5z"/><path id="合并形状" class="st0" d="M10.8 9.5H5c-.3 0-.5.2-.5.5v4c0 .3.2.5.5.5h8c.3 0 .5-.2.5-.5v-1.8l-2.7-2.7z"/><path id="矩形_1_" class="st1" d="M10 10h1v3h-1z"/><path id="矩形-copy-2" class="st1" d="M10 12h3v1h-3z"/></g></svg>

+ 1 - 0
src/components/CanvasEditor/assets/images/page-mode.svg

@@ -0,0 +1 @@
+<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><g transform="translate(2 1)"><rect stroke="#3D4757" x=".5" y=".5" width="11" height="8" rx="1"/><path fill="#3D4757" fill-rule="nonzero" d="M2 3h4v1H2zm0 2h8v1H2z"/></g><g fill="#3D4757" fill-rule="nonzero"><path d="M14 15h-1v-5H3v5H2V9h12v6z"/><path d="M4 12h4v1H4zm0 2h8v1H4z"/></g></g></svg>

+ 1 - 0
src/components/CanvasEditor/assets/images/page-scale-add.svg

@@ -0,0 +1 @@
+<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="M7 7V3h2v4h4v2H9v4H7V9H3V7h4z" fill="#636363" fill-rule="evenodd"/></svg>

+ 1 - 0
src/components/CanvasEditor/assets/images/page-scale-minus.svg

@@ -0,0 +1 @@
+<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="M3 7h10v2H3z" fill="#636363" fill-rule="evenodd"/></svg>

+ 1 - 0
src/components/CanvasEditor/assets/images/painter.svg

@@ -0,0 +1 @@
+<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="M7.5 2v2.5H4a.5.5 0 00-.5.5v2a.5.5 0 00.5.5h9a.5.5 0 00.5-.5V5a.5.5 0 00-.5-.5H9.5V2a.5.5 0 00-.5-.5H8a.5.5 0 00-.5.5z" stroke="#3D4757"/><path fill="#3D4757" d="M13 7h1v4h-1z"/><path d="M11 13a2 2 0 002-2V8.764A3 3 0 118.764 13H11z" fill="#3D4757"/><path fill="#3D4757" d="M1 13h10v1H1z"/><path d="M1 13a2 2 0 002-2V8.764A3 3 0 011 14v-1z" fill="#3D4757"/><path fill="#3D4757" d="M3 7h1v4H3z"/></g></svg>

+ 1 - 0
src/components/CanvasEditor/assets/images/paper-direction.svg

@@ -0,0 +1 @@
+<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" x="0" y="0" viewBox="0 0 16 16" xml:space="preserve"><style>.st0{fill:#3d4757}</style><g id="_x30_1-文字_x2F_04页面_x2F_纸张方向-16px"><g id="编组" transform="translate(1 1)"><path id="合并形状" class="st0" d="M14 6v7c0 .6-.4 1-1 1H4c-.6 0-1-.4-1-1V6c0-.6.4-1 1-1h9c.6 0 1 .4 1 1zm-1 0H4v7h9V6z"/><path id="路径" class="st0" d="M9 4H8V1H1v9h1v1H1c-.6 0-1-.4-1-1V1c0-.6.4-1 1-1h7c.6 0 1 .4 1 1v3z"/><path id="矩形" class="st0" d="M11 7h1v5h-1z"/><path id="矩形-copy-2" class="st0" d="M2 2h5v1H2z"/></g></g></svg>

+ 1 - 0
src/components/CanvasEditor/assets/images/paper-margin.svg

@@ -0,0 +1 @@
+<svg width="16" height="16" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><rect stroke="#3D4757" x="2.5" y="1.5" width="11" height="13" rx="1"/><path fill="#3D4757" fill-rule="nonzero" d="M3 4h10v1H3zm0 7h10v1H3z"/><path fill="#3D4757" fill-rule="nonzero" d="M5 14V2h1v12zm5 0V2h1v12z"/></g></svg>

+ 1 - 0
src/components/CanvasEditor/assets/images/paper-size.svg

@@ -0,0 +1 @@
+<svg width="16" height="16" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><g fill-rule="nonzero"><path d="M10.793 1.5L13.5 4.207V14L3 14.5 2.5 2l8.293-.5z" stroke="#3D4757"/><path fill="#3D4757" d="M10 2h1v3h-1z"/><path fill="#3D4757" d="M10 4h3v1h-3z"/></g><path d="M7 3v1H5v2H4V3h3z" fill="#3D4757"/><path fill="#3D4757" d="M5.169 3.43l6.62 8.784-.799.602-6.62-8.785z"/><path d="M9 13v-1h2v-2h1v3H9z" fill="#3D4757"/></g></svg>

+ 1 - 0
src/components/CanvasEditor/assets/images/print.svg

@@ -0,0 +1 @@
+<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><g fill="#3D4757" fill-rule="evenodd"><path d="M12 4h-1V2H5v2H4V2a1 1 0 011-1h6a1 1 0 011 1v2zm0 5v4a1 1 0 01-1 1H5a1 1 0 01-1-1V9h1v4h6V9h1z"/><path d="M12 12v-1h2V5H2v6h2v1H2a1 1 0 01-1-1V5a1 1 0 011-1h12a1 1 0 011 1v6a1 1 0 01-1 1h-2z"/><path d="M3 8h10v1H3zm8-2h2v1h-2z"/></g></svg>

+ 4 - 0
src/components/CanvasEditor/assets/images/radio.svg

@@ -0,0 +1,4 @@
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
+  <circle cx="12" cy="12" r="10" stroke="#3d4757" stroke-width="1.5" fill="none" />
+  <circle cx="12" cy="12" r="3.5" fill="#3d4757" />
+</svg>

+ 1 - 0
src/components/CanvasEditor/assets/images/redo.svg

@@ -0,0 +1 @@
+<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="M3 14v-3a4 4 0 014-4h3V6H7a5 5 0 00-5 5v3h1zm7.016-11.282v7.543l4.29-3.73z" fill="#3D4757"/></svg>

+ 1 - 0
src/components/CanvasEditor/assets/images/request-fullscreen.svg

@@ -0,0 +1 @@
+<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><g fill="#3D4757" fill-rule="evenodd"><path d="M3 3h1v4H3z"/><path d="M3 3h4v1H3zm10 10h-1V9h1z"/><path d="M13 13H9v-1h4z"/></g></svg>

+ 1 - 0
src/components/CanvasEditor/assets/images/right.svg

@@ -0,0 +1 @@
+<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="M2 13h12v1H2v-1zm4-3h8v1H6v-1zM2 7h12v1H2V7zm0-6h12v1H2V1zm4 3h8v1H6V4z" fill="#3D4757" fill-rule="evenodd"/></svg>

+ 1 - 0
src/components/CanvasEditor/assets/images/row-margin.svg

@@ -0,0 +1 @@
+<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="M2 14h12v1H2v-1zm7-5h5v1H9V9zm0-3h5v1H9V6zM2 1h12v1H2V1zm2.5 3L7 7H2zm0 8L7 9H2z" fill="#3D4757" fill-rule="evenodd"/></svg>

+ 1 - 0
src/components/CanvasEditor/assets/images/search.svg

@@ -0,0 +1 @@
+<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><circle stroke="#3D4757" cx="6" cy="6" r="4.5"/><path d="M10.061 10.968L8.707 9.414l.707-.707 1.514 1.457.435-.404 2.632 2.462a1.154 1.154 0 01.05 1.635 1.184 1.184 0 01-1.655.064l-2.788-2.527.46-.426z" fill="#3D4757" fill-rule="nonzero"/></g></svg>

+ 1 - 0
src/components/CanvasEditor/assets/images/separator.svg

@@ -0,0 +1 @@
+<svg width="16" height="16" xmlns="http://www.w3.org/2000/svg"><path d="M3.9 2.8l2.01 2.506c.2.25.58.25.78 0L8.7 2.799l2.01 2.507c.2.25.58.25.78 0l2.4-2.993-.78-.626-2.01 2.507-2.01-2.507a.5.5 0 00-.78 0L6.3 4.194 4.29 1.687a.5.5 0 00-.78 0l-2.4 3 .78.625L3.9 2.8zM1 8h13v1H1zm0 4h3v1H1zm5 0h3v1H6zm5 0h3v1h-3z" fill="#3D4757"/></svg>

+ 1 - 0
src/components/CanvasEditor/assets/images/signature-undo.svg

@@ -0,0 +1 @@
+<svg width="24" height="24" xmlns="http://www.w3.org/2000/svg"><path d="M8 6h5.5a7 7 0 010 14v-2a5 5 0 000-10H8v3L4 7l4-4v3z" fill="#3d4757" fill-rule="evenodd"/></svg>

+ 1 - 0
src/components/CanvasEditor/assets/images/signature.svg

@@ -0,0 +1 @@
+<svg width="16" height="16" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path fill="#3D4757" d="M2 13h12v1H2z"/><path fill="#4B5463" fill-rule="nonzero" d="M5.26 8.458l2.23 1.28L6 12H3z"/><path d="M5.666 6.149L4.31 8.168l4.045 2.48 1.503-2.159-4.192-2.34zm1.106-4.156l-1.986 3.44 6.3 3.648 2.037-2.943-6.351-4.145z" stroke="#4B5463"/></g></svg>

+ 1 - 0
src/components/CanvasEditor/assets/images/size-add.svg

@@ -0,0 +1 @@
+<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><g fill="#3D4757" fill-rule="evenodd"><path d="M6.215 3.29H7.64L11.855 14H10.52l-1.14-3H4.46l-1.14 3H2L6.215 3.29zM4.85 9.965h4.14L6.965 4.61h-.06L4.85 9.965z"/><path d="M12 4V2h1v2h2v1h-2v2h-1V5h-2V4h2z" fill-rule="nonzero"/></g></svg>

+ 1 - 0
src/components/CanvasEditor/assets/images/size-minus.svg

@@ -0,0 +1 @@
+<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><g fill="#3D4757" fill-rule="evenodd"><path fill-rule="nonzero" d="M11 4h4v1h-4z"/><path d="M6.215 3.29H7.64L11.855 14H10.52l-1.14-3H4.46l-1.14 3H2L6.215 3.29zM4.85 9.965h4.14L6.965 4.61h-.06L4.85 9.965z"/></g></svg>

+ 1 - 0
src/components/CanvasEditor/assets/images/strikeout.svg

@@ -0,0 +1 @@
+<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><g fill="#3D4757" fill-rule="evenodd"><path d="M10.42 7.903H6.692a9.182 9.182 0 01-.41-.172 5.54 5.54 0 01-.814-.447 2.955 2.955 0 01-.655-.595 2.728 2.728 0 01-.44-.777 2.877 2.877 0 01-.162-1.006c0-.472.094-.888.282-1.25.188-.36.453-.663.793-.907s.747-.43 1.22-.558A5.97 5.97 0 018.063 2c.504 0 .95.049 1.337.147.387.097.725.23 1.013.398.287.169.53.365.73.59a3.337 3.337 0 01.772 1.486c.03.13.054.255.073.379h-1.276a2.393 2.393 0 00-.22-.615 2.315 2.315 0 00-.59-.724 2.467 2.467 0 00-.834-.44 3.376 3.376 0 00-1.005-.146 4.69 4.69 0 00-.958.097 2.77 2.77 0 00-.839.314 1.765 1.765 0 00-.597.566c-.152.233-.229.518-.229.854 0 .348.086.642.258.884.171.241.401.449.689.622.287.174.615.323.983.448s.749.247 1.142.367c.31.097.62.196.934.297a8.439 8.439 0 01.973.38zm1.376 1c.175.217.315.466.418.746.105.285.158.612.158.98 0 .554-.104 1.041-.312 1.462-.207.42-.496.772-.867 1.054-.37.282-.81.495-1.32.64A6.12 6.12 0 018.205 14c-.543 0-1.071-.09-1.586-.273a4.44 4.44 0 01-1.374-.773 3.873 3.873 0 01-.97-1.217 3.695 3.695 0 01-.395-1.612h1.27c.028.407.122.78.282 1.12a2.835 2.835 0 001.581 1.465c.363.138.76.207 1.192.207.387 0 .758-.042 1.112-.126a2.85 2.85 0 00.938-.399 2.01 2.01 0 00.647-.708c.16-.29.241-.642.241-1.054 0-.337-.087-.623-.261-.86a2.333 2.333 0 00-.69-.61 4.651 4.651 0 00-.495-.257h2.099z"/><path d="M3 7h10v1H3z"/></g></svg>

+ 1 - 0
src/components/CanvasEditor/assets/images/subscript.svg

@@ -0,0 +1 @@
+<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" x="0" y="0" viewBox="0 0 16 16" xml:space="preserve"><style>.st0{fill:#3d4757}</style><g id="_x30_0-公共_x2F_02工具栏_x2F_subscript"><path id="_x32_" class="st0" d="M15 13.3v.7h-3c0-.3.1-.5.3-.8.2-.2.5-.6 1-1 .4-.3.6-.5.7-.7.1-.2.2-.3.2-.5s-.1-.3-.2-.4c-.1-.1-.2-.1-.4-.1s-.3 0-.4.1-.2.4-.2.7l-.9-.1c.1-.4.2-.7.5-.9.3-.2.6-.3 1-.3s.8.1 1 .3c.3.2.4.5.4.8 0 .2 0 .4-.1.5-.1.2-.2.3-.3.5-.1.1-.3.3-.6.5s-.4.4-.5.4c-.1.1-.1.2-.2.3H15z"/><path id="合并形状" class="st0" d="M7.2 8.5l4 5.5H9.8L6.5 9.4 3.2 14H1.8l4-5.5-4-5.5h1.4l3.3 4.6L9.8 3h1.3L7.2 8.5z"/></g></svg>

+ 1 - 0
src/components/CanvasEditor/assets/images/superscript.svg

@@ -0,0 +1 @@
+<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" x="0" y="0" viewBox="0 0 16 16" xml:space="preserve"><style>.st0{fill:#3d4757}</style><g id="_x30_0-公共_x2F_02工具栏_x2F_superscript"><path id="_x32_" class="st0" d="M15 6.3V7h-3c0-.3.1-.5.3-.8.2-.2.5-.6 1-1 .3-.2.6-.5.7-.6.1-.2.2-.3.2-.5s-.1-.3-.2-.4c-.1-.1-.2-.1-.4-.1s-.3 0-.4.1-.2.3-.2.6l-.9-.1c.1-.4.2-.7.5-.9s.6-.3 1-.3.8.1 1 .3c.3.2.4.5.4.8 0 .2 0 .4-.1.5s-.2.4-.4.5c-.1.1-.3.3-.6.5s-.4.4-.4.5c-.1.1-.1.2-.2.3l1.7-.1z"/><path id="合并形状" class="st0" d="M7.4 8.5l4 5.5H10L6.7 9.4 3.4 14H2l4-5.5L2 3h1.4l3.3 4.6L10 3h1.3L7.4 8.5z"/></g></svg>

+ 1 - 0
src/components/CanvasEditor/assets/images/table.svg

@@ -0,0 +1 @@
+<svg width="16" height="16" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><rect x=".5" y=".5" width="12" height="12" rx="1" transform="translate(1 1)" stroke="#3D4757"/><path fill="#3D4757" fill-rule="nonzero" d="M2 9h12v1H2zm0-4h12v1H2z"/><path fill="#3D4757" fill-rule="nonzero" d="M5 1h1v13H5zm4 0h1v13H9z"/></g></svg>

+ 1 - 0
src/components/CanvasEditor/assets/images/title.svg

@@ -0,0 +1 @@
+<svg width="16" height="16" xmlns="http://www.w3.org/2000/svg"><g fill="#3D4757" fill-rule="evenodd"><path d="M14 1a1 1 0 011 1v12a1 1 0 01-1 1H2a1 1 0 01-1-1V2a1 1 0 011-1h12zm0 1H2v12h12V2z" fill-rule="nonzero"/><path fill-rule="nonzero" d="M4 11h8v1H4zm0-3h4v1H4zm0-3h2v1H4z"/><path d="M9 5h1v4H9z"/><path d="M7 5h5v1H7z"/></g></svg>

+ 1 - 0
src/components/CanvasEditor/assets/images/trash.svg

@@ -0,0 +1 @@
+<svg width="24" height="24" xmlns="http://www.w3.org/2000/svg"><g fill="#3d4757" fill-rule="evenodd"><path d="M17 3v4h4v2h-2v13H6V9H4V7h4V3h9zm0 6H8v11h9V9zm-2-4h-5v2h5V5z" fill-rule="nonzero"/><path d="M10 10h2v7h-2zm3 0h2v7h-2z"/></g></svg>

+ 1 - 0
src/components/CanvasEditor/assets/images/underline.svg

@@ -0,0 +1 @@
+<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="M5 2v6a3 3 0 106 0V2h1v6a4 4 0 11-8 0V2h1zM4 13h8v1H4z" fill="#3D4757"/></svg>

+ 1 - 0
src/components/CanvasEditor/assets/images/undo.svg

@@ -0,0 +1 @@
+<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="M6 2.763v7.544l-4.29-3.73zM13 14v-3a4 4 0 00-4-4H6V6h3a5 5 0 015 5v3h-1z" fill="#3D4757"/></svg>

+ 1 - 0
src/components/CanvasEditor/assets/images/watermark.svg

@@ -0,0 +1 @@
+<svg width="16" height="16" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><rect stroke="#3D4757" x="2.5" y="1.5" width="11" height="13" rx="1"/><path d="M4 7h8v1H4V7zm0-2h8v1H4V5zm0 6h8v1H4v-1zm0-2h8v1H4V9z" fill="#909AA9" fill-rule="nonzero"/><path d="M6 5.623c.36-.354.936-.638 2-.604 1.785.057 2-.008 2 1.894v4.098H8.984v-.993c1.046.662.885.993-.484.993-1.792 0-2.5-1.068-2.5-2 0-1.427.447-2 2.5-2h.484c0-1-.006-1.007-.984-1-.978.008-1.419.437-2 .437v-.825zm2.5 2.389c-.899 0-1.5-.232-1.5 1 0 1.31.438 1 1.5 1 .617 0 .484-.665.484-1.848v-.152H8.5z" fill="#3D4757"/></g></svg>

+ 1 - 0
src/components/CanvasEditor/assets/images/word-tool.svg

@@ -0,0 +1 @@
+<svg width="16" height="16" xmlns="http://www.w3.org/2000/svg"><g fill="#3D4757" fill-rule="evenodd"><path d="M1 0h1v15H1zm5 4h7v1H6zm-3 6h7v1H3z"/><path d="M1 0h4v1H1zm10 14h4v1h-4zM3 7h10v1H3z"/><path d="M14 0h1v15h-1zM8 0l3 3V0zm6 0h-3v1h3zM8 15l-3-3v3zm-6-1h3v1H2z"/></g></svg>

BIN
src/components/CanvasEditor/assets/snapshots/main_v0.2.1.png


BIN
src/components/CanvasEditor/assets/snapshots/main_v0.2.2.png


BIN
src/components/CanvasEditor/assets/snapshots/main_v0.3.0.png


BIN
src/components/CanvasEditor/assets/snapshots/main_v0.3.1.png


BIN
src/components/CanvasEditor/assets/snapshots/main_v0.5.0.png


BIN
src/components/CanvasEditor/assets/snapshots/main_v0.5.1.png


BIN
src/components/CanvasEditor/assets/snapshots/main_v0.6.0.png


BIN
src/components/CanvasEditor/assets/snapshots/main_v0.6.1.png


BIN
src/components/CanvasEditor/assets/snapshots/main_v0.7.0.png


BIN
src/components/CanvasEditor/assets/snapshots/main_v0.7.1.png


BIN
src/components/CanvasEditor/assets/snapshots/main_v0.7.2.png


BIN
src/components/CanvasEditor/assets/snapshots/main_v0.7.3.png


BIN
src/components/CanvasEditor/assets/snapshots/main_v0.7.4.png


BIN
src/components/CanvasEditor/assets/snapshots/main_v0.7.6.png


BIN
src/components/CanvasEditor/assets/snapshots/main_v0.7.7.png


BIN
src/components/CanvasEditor/assets/snapshots/main_v0.8.0.png


BIN
src/components/CanvasEditor/assets/snapshots/main_v0.8.5.png


BIN
src/components/CanvasEditor/assets/snapshots/main_v0.8.6.png


BIN
src/components/CanvasEditor/assets/snapshots/main_v0.8.7.png


BIN
src/components/CanvasEditor/assets/snapshots/main_v0.8.8.png


BIN
src/components/CanvasEditor/assets/snapshots/main_v0.9.0.png


BIN
src/components/CanvasEditor/assets/snapshots/main_v0.9.1.png


BIN
src/components/CanvasEditor/assets/snapshots/main_v0.9.2.png


BIN
src/components/CanvasEditor/assets/snapshots/main_v0.9.23.png


BIN
src/components/CanvasEditor/assets/snapshots/main_v0.9.28.png


BIN
src/components/CanvasEditor/assets/snapshots/main_v0.9.29.png


BIN
src/components/CanvasEditor/assets/snapshots/main_v0.9.3.png


BIN
src/components/CanvasEditor/assets/snapshots/main_v0.9.30.png


BIN
src/components/CanvasEditor/assets/snapshots/main_v0.9.32.png


BIN
src/components/CanvasEditor/assets/snapshots/main_v0.9.35.png


BIN
src/components/CanvasEditor/assets/snapshots/main_v0.9.4.png


BIN
src/components/CanvasEditor/assets/snapshots/main_v0.9.5.png


BIN
src/components/CanvasEditor/assets/snapshots/main_v0.9.6.png


BIN
src/components/CanvasEditor/assets/snapshots/main_v0.9.8.png


+ 134 - 0
src/components/CanvasEditor/components/dialog/Dialog.js

@@ -0,0 +1,134 @@
+/* import { EditorComponent, EDITOR_COMPONENT } from '../../editor' */
+import './dialog.css'
+
+export class Dialog {
+  constructor(options) {
+    this.options = options
+    this.mask = null
+    this.container = null
+    this.inputList = []
+    this._render()
+  }
+
+  _render() {
+    const { title, data, onClose, onCancel, onConfirm } = this.options
+    // 渲染遮罩层
+    const mask = document.createElement('div')
+    mask.classList.add('dialog-mask')
+ /*    mask.setAttribute(EDITOR_COMPONENT, EditorComponent.COMPONENT) */
+    document.body.append(mask)
+    // 渲染容器
+    const container = document.createElement('div')
+    container.classList.add('dialog-container')
+  /*   container.setAttribute(EDITOR_COMPONENT, EditorComponent.COMPONENT) */
+    // ... existing code ...
+    const dialogContainer = document.createElement('div')
+    dialogContainer.classList.add('dialog')
+    container.append(dialogContainer)
+    // ... existing code ...
+    const titleContainer = document.createElement('div')
+    titleContainer.classList.add('dialog-title')
+    // 标题&关闭按钮
+    const titleSpan = document.createElement('span')
+    titleSpan.append(document.createTextNode(title))
+    const titleClose = document.createElement('i')
+    titleClose.onclick = () => {
+      if (onClose) {
+        onClose()
+      }
+      this._dispose()
+    }
+    titleContainer.append(titleSpan)
+    titleContainer.append(titleClose)
+    dialogContainer.append(titleContainer)
+    // 选项容器
+    const optionContainer = document.createElement('div')
+    optionContainer.classList.add('dialog-option')
+    // 选项
+    for (let i = 0; i < data.length; i++) {
+      const option = data[i]
+      const optionItemContainer = document.createElement('div')
+      optionItemContainer.classList.add('dialog-option__item')
+      // 选项名称
+      if (option.label) {
+        const optionName = document.createElement('span')
+        optionName.append(document.createTextNode(option.label))
+        optionItemContainer.append(optionName)
+        if (option.required) {
+          optionName.classList.add('dialog-option__item--require')
+        }
+      }
+      // 选项输入框
+      let optionInput
+      if (option.type === 'select') {
+        optionInput = document.createElement('select')
+        option.options?.forEach(item => {
+          const optionItem = document.createElement('option')
+          optionItem.value = item.value
+          optionItem.label = item.label
+          optionInput.append(optionItem)
+        })
+      } else if (option.type === 'textarea') {
+        optionInput = document.createElement('textarea')
+      } else {
+        optionInput = document.createElement('input')
+        optionInput.type = option.type
+      }
+      if (option.width) {
+        optionInput.style.width = `${option.width}px`
+      }
+      if (option.height) {
+        optionInput.style.height = `${option.height}px`
+      }
+      optionInput.name = option.name
+      optionInput.value = option.value || ''
+      if (!(optionInput instanceof HTMLSelectElement)) {
+        optionInput.placeholder = option.placeholder || ''
+      }
+      optionItemContainer.append(optionInput)
+      optionContainer.append(optionItemContainer)
+      this.inputList.push(optionInput)
+    }
+    dialogContainer.append(optionContainer)
+    // 按钮容器
+    const menuContainer = document.createElement('div')
+    menuContainer.classList.add('dialog-menu')
+    // 取消按钮
+    const cancelBtn = document.createElement('button')
+    cancelBtn.classList.add('dialog-menu__cancel')
+    cancelBtn.append(document.createTextNode('取消'))
+    cancelBtn.type = 'button'
+    cancelBtn.onclick = () => {
+      if (onCancel) {
+        onCancel()
+      }
+      this._dispose()
+    }
+    menuContainer.append(cancelBtn)
+    // 确认按钮
+    const confirmBtn = document.createElement('button')
+    confirmBtn.append(document.createTextNode('确定'))
+    confirmBtn.type = 'submit'
+    confirmBtn.onclick = () => {
+      if (onConfirm) {
+        const payload = this.inputList.map(input => ({
+          name: input.name,
+          value: input.value
+        }))
+        onConfirm(payload)
+      }
+      this._dispose()
+    }
+    menuContainer.append(confirmBtn)
+    dialogContainer.append(menuContainer)
+    // 渲染
+    document.body.append(container)
+    this.container = container
+    this.mask = mask
+  }
+
+  _dispose() {
+    this.mask?.remove()
+    this.container?.remove()
+  }
+}

Một số tệp đã không được hiển thị bởi vì quá nhiều tập tin thay đổi trong này khác