@tmagic/editor 1.0.0-beta.13 → 1.0.0-beta.16

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.
Files changed (101) hide show
  1. package/coverage/clover.xml +703 -601
  2. package/coverage/coverage-final.json +35 -33
  3. package/coverage/lcov-report/index.html +56 -56
  4. package/coverage/lcov-report/src/Editor.vue.html +1 -1
  5. package/coverage/lcov-report/{layouts/sidebar/LayerMenu.vue.html → src/components/ContentMenu.vue.html} +137 -95
  6. package/coverage/lcov-report/src/components/Icon.vue.html +5 -5
  7. package/coverage/lcov-report/src/components/ScrollViewer.vue.html +1 -1
  8. package/coverage/lcov-report/src/components/ToolButton.vue.html +180 -63
  9. package/coverage/lcov-report/src/components/index.html +34 -19
  10. package/coverage/lcov-report/src/index.html +1 -1
  11. package/coverage/lcov-report/src/layouts/AddPageBox.vue.html +1 -1
  12. package/coverage/lcov-report/src/layouts/Framework.vue.html +13 -13
  13. package/coverage/lcov-report/src/layouts/NavMenu.vue.html +1 -1
  14. package/coverage/lcov-report/src/layouts/PropsPanel.vue.html +1 -1
  15. package/coverage/lcov-report/src/layouts/Resizer.vue.html +1 -1
  16. package/coverage/lcov-report/src/layouts/index.html +15 -15
  17. package/coverage/lcov-report/src/layouts/sidebar/ComponentListPanel.vue.html +78 -12
  18. package/coverage/lcov-report/src/layouts/sidebar/LayerMenu.vue.html +149 -92
  19. package/coverage/lcov-report/src/layouts/sidebar/LayerPanel.vue.html +43 -121
  20. package/coverage/lcov-report/src/layouts/sidebar/Sidebar.vue.html +23 -140
  21. package/coverage/lcov-report/{utils/undo-redo.ts.html → src/layouts/sidebar/TabPane.vue.html} +94 -118
  22. package/coverage/lcov-report/src/layouts/sidebar/index.html +64 -49
  23. package/coverage/lcov-report/src/layouts/workspace/PageBar.vue.html +99 -12
  24. package/coverage/lcov-report/src/layouts/workspace/Stage.vue.html +86 -95
  25. package/coverage/lcov-report/src/layouts/workspace/ViewerMenu.vue.html +208 -97
  26. package/coverage/lcov-report/src/layouts/workspace/Workspace.vue.html +3 -3
  27. package/coverage/lcov-report/src/layouts/workspace/index.html +35 -35
  28. package/coverage/lcov-report/src/services/BaseService.ts.html +11 -11
  29. package/coverage/lcov-report/src/services/componentList.ts.html +1 -1
  30. package/coverage/lcov-report/src/services/editor.ts.html +103 -10
  31. package/coverage/lcov-report/src/services/events.ts.html +1 -1
  32. package/coverage/lcov-report/src/services/history.ts.html +29 -8
  33. package/coverage/lcov-report/src/services/index.html +25 -25
  34. package/coverage/lcov-report/src/services/props.ts.html +4 -7
  35. package/coverage/lcov-report/src/services/ui.ts.html +1 -1
  36. package/coverage/lcov-report/src/type.ts.html +8 -14
  37. package/coverage/lcov-report/src/utils/compose.ts.html +4 -4
  38. package/coverage/lcov-report/src/utils/config.ts.html +1 -1
  39. package/coverage/lcov-report/src/utils/editor.ts.html +2 -2
  40. package/coverage/lcov-report/src/utils/index.html +1 -1
  41. package/coverage/lcov-report/src/utils/index.ts.html +1 -1
  42. package/coverage/lcov-report/src/utils/logger.ts.html +1 -1
  43. package/coverage/lcov-report/src/utils/props.ts.html +59 -2
  44. package/coverage/lcov-report/src/utils/scroll-viewer.ts.html +1 -1
  45. package/coverage/lcov-report/src/utils/undo-redo.ts.html +1 -1
  46. package/coverage/lcov.info +1679 -1402
  47. package/dist/style.css +47 -20
  48. package/dist/tmagic-editor.es.js +732 -485
  49. package/dist/tmagic-editor.es.js.map +1 -1
  50. package/dist/tmagic-editor.umd.js +733 -485
  51. package/dist/tmagic-editor.umd.js.map +1 -1
  52. package/dist/types/src/Editor.vue.d.ts +1 -1
  53. package/dist/types/src/components/ToolButton.vue.d.ts +12 -1
  54. package/dist/types/src/fields/UISelect.vue.d.ts +4 -1
  55. package/dist/types/src/index.d.ts +1 -0
  56. package/dist/types/src/layouts/CodeEditor.vue.d.ts +13 -4
  57. package/dist/types/src/layouts/sidebar/ComponentListPanel.vue.d.ts +1 -0
  58. package/dist/types/src/layouts/sidebar/Sidebar.vue.d.ts +2 -3
  59. package/dist/types/src/layouts/sidebar/TabPane.vue.d.ts +14 -0
  60. package/dist/types/src/layouts/workspace/PageBar.vue.d.ts +2 -0
  61. package/dist/types/src/services/history.d.ts +1 -0
  62. package/dist/types/src/services/props.d.ts +2 -2
  63. package/dist/types/src/type.d.ts +6 -8
  64. package/dist/types/src/utils/polyfills.d.ts +0 -0
  65. package/package.json +15 -10
  66. package/src/components/ContentMenu.vue +107 -0
  67. package/src/components/ToolButton.vue +66 -27
  68. package/src/fields/UISelect.vue +14 -6
  69. package/src/index.ts +2 -0
  70. package/src/layouts/CodeEditor.vue +20 -10
  71. package/src/layouts/Framework.vue +6 -6
  72. package/src/layouts/sidebar/ComponentListPanel.vue +23 -1
  73. package/src/layouts/sidebar/LayerMenu.vue +91 -72
  74. package/src/layouts/sidebar/LayerPanel.vue +23 -49
  75. package/src/layouts/sidebar/Sidebar.vue +13 -52
  76. package/src/layouts/sidebar/TabPane.vue +68 -0
  77. package/src/layouts/workspace/PageBar.vue +35 -6
  78. package/src/layouts/workspace/Stage.vue +41 -44
  79. package/src/layouts/workspace/ViewerMenu.vue +104 -67
  80. package/src/layouts/workspace/Workspace.vue +2 -2
  81. package/src/services/editor.ts +33 -2
  82. package/src/services/history.ts +7 -0
  83. package/src/services/props.ts +2 -3
  84. package/src/theme/common/var.scss +1 -0
  85. package/src/theme/component-list-panel.scss +2 -0
  86. package/src/theme/content-menu.scss +33 -26
  87. package/src/theme/layer-panel.scss +1 -1
  88. package/src/theme/nav-menu.scss +6 -2
  89. package/src/theme/page-bar.scss +22 -1
  90. package/src/theme/props-panel.scss +4 -0
  91. package/src/type.ts +6 -8
  92. package/src/utils/editor.ts +1 -1
  93. package/src/utils/polyfills.ts +22 -0
  94. package/src/utils/props.ts +19 -0
  95. package/coverage/lcov-report/Icon.vue.html +0 -172
  96. package/coverage/lcov-report/ToolButton.vue.html +0 -655
  97. package/coverage/lcov-report/layouts/sidebar/index.html +0 -116
  98. package/coverage/lcov-report/utils/index.html +0 -116
  99. package/dist/types/src/layouts/sidebar/LayerPanel.vue.d.ts +0 -980
  100. package/dist/types/src/layouts/workspace/Stage.vue.d.ts +0 -188
  101. package/dist/types/src/layouts/workspace/ViewerMenu.vue.d.ts +0 -18
@@ -316,11 +316,7 @@
316
316
  <a name='L251'></a><a href='#L251'>251</a>
317
317
  <a name='L252'></a><a href='#L252'>252</a>
318
318
  <a name='L253'></a><a href='#L253'>253</a>
319
- <a name='L254'></a><a href='#L254'>254</a>
320
- <a name='L255'></a><a href='#L255'>255</a>
321
- <a name='L256'></a><a href='#L256'>256</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
322
- <span class="cline-any cline-neutral">&nbsp;</span>
323
- <span class="cline-any cline-neutral">&nbsp;</span>
319
+ <a name='L254'></a><a href='#L254'>254</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
324
320
  <span class="cline-any cline-neutral">&nbsp;</span>
325
321
  <span class="cline-any cline-neutral">&nbsp;</span>
326
322
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -628,6 +624,7 @@ export interface StoreState {
628
624
  highlightNode: MNode | null;
629
625
  stage: StageCore | null;
630
626
  modifiedNodeIds: Map&lt;Id, Id&gt;;
627
+ pageLength: number;
631
628
  }
632
629
  &nbsp;
633
630
  export interface PropsState {
@@ -700,6 +697,8 @@ export interface MenuButton {
700
697
  * zoom: 放大缩小
701
698
  */
702
699
  type: 'button' | 'dropdown' | 'text' | 'divider' | 'zoom';
700
+ /** 当type为divider时有效,分割线方向, 默认vertical */
701
+ direction?: 'horizontal' | 'vertical';
703
702
  /** 展示的文案 */
704
703
  text?: string;
705
704
  /** 鼠标悬浮是显示的气泡中的文案 */
@@ -711,14 +710,9 @@ export interface MenuButton {
711
710
  /** 是否显示,默认为true */
712
711
  display?: boolean | ((data?: Services) =&gt; boolean);
713
712
  /** type为button/dropdown时点击运行的方法 */
714
- handler?: (data?: Services) =&gt; Promise&lt;any&gt; | any;
715
- /** type为dropdown时,下拉的菜单列表 */
716
- items?: {
717
- /** 展示的文案 */
718
- text: string;
719
- /** 点击运行的方法 */
720
- handler(data: Services): any;
721
- }[];
713
+ handler?: (data: Services, event: MouseEvent) =&gt; Promise&lt;any&gt; | any;
714
+ /** type为dropdown时,下拉的菜单列表, 或者有子菜单时 */
715
+ items?: MenuButton[];
722
716
  }
723
717
  &nbsp;
724
718
  export interface MenuComponent {
@@ -835,7 +829,7 @@ export enum Keys {
835
829
  <div class='footer quiet pad2 space-top1 center small'>
836
830
  Code coverage generated by
837
831
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
838
- at Fri Apr 22 2022 12:15:01 GMT+0800 (China Standard Time)
832
+ at Fri May 13 2022 20:42:37 GMT+0800 (China Standard Time)
839
833
  </div>
840
834
  <script src="../prettify.js"></script>
841
835
  <script>
@@ -101,8 +101,8 @@
101
101
  <span class="cline-any cline-neutral">&nbsp;</span>
102
102
  <span class="cline-any cline-neutral">&nbsp;</span>
103
103
  <span class="cline-any cline-yes">6x</span>
104
- <span class="cline-any cline-yes">85x</span>
105
- <span class="cline-any cline-yes">85x</span>
104
+ <span class="cline-any cline-yes">90x</span>
105
+ <span class="cline-any cline-yes">90x</span>
106
106
  <span class="cline-any cline-no">&nbsp;</span>
107
107
  <span class="cline-any cline-neutral">&nbsp;</span>
108
108
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -111,7 +111,7 @@
111
111
  <span class="cline-any cline-neutral">&nbsp;</span>
112
112
  <span class="cline-any cline-neutral">&nbsp;</span>
113
113
  <span class="cline-any cline-neutral">&nbsp;</span>
114
- <span class="cline-any cline-yes">85x</span>
114
+ <span class="cline-any cline-yes">90x</span>
115
115
  <span class="cline-any cline-neutral">&nbsp;</span>
116
116
  <span class="cline-any cline-yes">85x</span>
117
117
  <span class="cline-any cline-yes">85x</span>
@@ -169,7 +169,7 @@ export const compose = (middleware: Function[]) =&gt; {
169
169
  <div class='footer quiet pad2 space-top1 center small'>
170
170
  Code coverage generated by
171
171
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
172
- at Fri Apr 22 2022 12:15:01 GMT+0800 (China Standard Time)
172
+ at Fri May 13 2022 20:42:37 GMT+0800 (China Standard Time)
173
173
  </div>
174
174
  <script src="../../prettify.js"></script>
175
175
  <script>
@@ -157,7 +157,7 @@ export { getConfig, setConfig };
157
157
  <div class='footer quiet pad2 space-top1 center small'>
158
158
  Code coverage generated by
159
159
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
160
- at Fri Apr 22 2022 12:15:01 GMT+0800 (China Standard Time)
160
+ at Fri May 13 2022 20:42:37 GMT+0800 (China Standard Time)
161
161
  </div>
162
162
  <script src="../../prettify.js"></script>
163
163
  <script>
@@ -711,7 +711,7 @@ const setTop2Middle = (node: MNode, parentNode: MNode, stage: StageCore) =&gt; {
711
711
  const style = node.style || <span class="branch-1 cbranch-no" title="branch not covered" >{};</span>
712
712
  const height = style.height || 0;
713
713
  &nbsp;
714
- if (!stage || <span class="branch-1 cbranch-no" title="branch not covered" >style.top </span>|| <span class="branch-2 cbranch-no" title="branch not covered" >!parentNode.style </span>|| <span class="branch-3 cbranch-no" title="branch not covered" >!isNumber(height))</span> return style;
714
+ if (!stage || <span class="branch-1 cbranch-no" title="branch not covered" >typeof style.top !== 'undefined' </span>|| <span class="branch-2 cbranch-no" title="branch not covered" >!parentNode.style </span>|| <span class="branch-3 cbranch-no" title="branch not covered" >!isNumber(height))</span> return style;
715
715
  &nbsp;
716
716
  const { height: parentHeight } = <span class="cstat-no" title="statement not covered" >parentNode.style;</span>
717
717
  &nbsp;
@@ -823,7 +823,7 @@ export const Fixed2Other = async (
823
823
  <div class='footer quiet pad2 space-top1 center small'>
824
824
  Code coverage generated by
825
825
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
826
- at Fri Apr 22 2022 12:15:01 GMT+0800 (China Standard Time)
826
+ at Fri May 13 2022 20:42:37 GMT+0800 (China Standard Time)
827
827
  </div>
828
828
  <script src="../../prettify.js"></script>
829
829
  <script>
@@ -206,7 +206,7 @@
206
206
  <div class='footer quiet pad2 space-top1 center small'>
207
207
  Code coverage generated by
208
208
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
209
- at Fri Apr 22 2022 12:15:01 GMT+0800 (China Standard Time)
209
+ at Fri May 13 2022 20:42:37 GMT+0800 (China Standard Time)
210
210
  </div>
211
211
  <script src="../../prettify.js"></script>
212
212
  <script>
@@ -136,7 +136,7 @@ export * from './editor';
136
136
  <div class='footer quiet pad2 space-top1 center small'>
137
137
  Code coverage generated by
138
138
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
139
- at Fri Apr 22 2022 12:15:01 GMT+0800 (China Standard Time)
139
+ at Fri May 13 2022 20:42:37 GMT+0800 (China Standard Time)
140
140
  </div>
141
141
  <script src="../../prettify.js"></script>
142
142
  <script>
@@ -211,7 +211,7 @@ export const error = <span class="fstat-no" title="function not covered" >(.</sp
211
211
  <div class='footer quiet pad2 space-top1 center small'>
212
212
  Code coverage generated by
213
213
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
214
- at Fri Apr 22 2022 12:15:01 GMT+0800 (China Standard Time)
214
+ at Fri May 13 2022 20:42:37 GMT+0800 (China Standard Time)
215
215
  </div>
216
216
  <script src="../../prettify.js"></script>
217
217
  <script>
@@ -281,7 +281,26 @@
281
281
  <a name='L216'></a><a href='#L216'>216</a>
282
282
  <a name='L217'></a><a href='#L217'>217</a>
283
283
  <a name='L218'></a><a href='#L218'>218</a>
284
- <a name='L219'></a><a href='#L219'>219</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
284
+ <a name='L219'></a><a href='#L219'>219</a>
285
+ <a name='L220'></a><a href='#L220'>220</a>
286
+ <a name='L221'></a><a href='#L221'>221</a>
287
+ <a name='L222'></a><a href='#L222'>222</a>
288
+ <a name='L223'></a><a href='#L223'>223</a>
289
+ <a name='L224'></a><a href='#L224'>224</a>
290
+ <a name='L225'></a><a href='#L225'>225</a>
291
+ <a name='L226'></a><a href='#L226'>226</a>
292
+ <a name='L227'></a><a href='#L227'>227</a>
293
+ <a name='L228'></a><a href='#L228'>228</a>
294
+ <a name='L229'></a><a href='#L229'>229</a>
295
+ <a name='L230'></a><a href='#L230'>230</a>
296
+ <a name='L231'></a><a href='#L231'>231</a>
297
+ <a name='L232'></a><a href='#L232'>232</a>
298
+ <a name='L233'></a><a href='#L233'>233</a>
299
+ <a name='L234'></a><a href='#L234'>234</a>
300
+ <a name='L235'></a><a href='#L235'>235</a>
301
+ <a name='L236'></a><a href='#L236'>236</a>
302
+ <a name='L237'></a><a href='#L237'>237</a>
303
+ <a name='L238'></a><a href='#L238'>238</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
285
304
  <span class="cline-any cline-neutral">&nbsp;</span>
286
305
  <span class="cline-any cline-neutral">&nbsp;</span>
287
306
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -441,6 +460,25 @@
441
460
  <span class="cline-any cline-neutral">&nbsp;</span>
442
461
  <span class="cline-any cline-neutral">&nbsp;</span>
443
462
  <span class="cline-any cline-neutral">&nbsp;</span>
463
+ <span class="cline-any cline-neutral">&nbsp;</span>
464
+ <span class="cline-any cline-neutral">&nbsp;</span>
465
+ <span class="cline-any cline-neutral">&nbsp;</span>
466
+ <span class="cline-any cline-neutral">&nbsp;</span>
467
+ <span class="cline-any cline-neutral">&nbsp;</span>
468
+ <span class="cline-any cline-neutral">&nbsp;</span>
469
+ <span class="cline-any cline-neutral">&nbsp;</span>
470
+ <span class="cline-any cline-neutral">&nbsp;</span>
471
+ <span class="cline-any cline-neutral">&nbsp;</span>
472
+ <span class="cline-any cline-neutral">&nbsp;</span>
473
+ <span class="cline-any cline-neutral">&nbsp;</span>
474
+ <span class="cline-any cline-neutral">&nbsp;</span>
475
+ <span class="cline-any cline-neutral">&nbsp;</span>
476
+ <span class="cline-any cline-neutral">&nbsp;</span>
477
+ <span class="cline-any cline-neutral">&nbsp;</span>
478
+ <span class="cline-any cline-neutral">&nbsp;</span>
479
+ <span class="cline-any cline-neutral">&nbsp;</span>
480
+ <span class="cline-any cline-neutral">&nbsp;</span>
481
+ <span class="cline-any cline-neutral">&nbsp;</span>
444
482
  <span class="cline-any cline-no">&nbsp;</span>
445
483
  <span class="cline-any cline-neutral">&nbsp;</span>
446
484
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -643,6 +681,25 @@ export const fillConfig = (config: FormConfig = []) =&gt; [
643
681
  },
644
682
  ],
645
683
  },
684
+ {
685
+ type: 'fieldset',
686
+ legend: '字体',
687
+ items: [
688
+ {
689
+ name: 'color',
690
+ text: '颜色',
691
+ type: 'colorPicker',
692
+ },
693
+ {
694
+ name: 'fontSize',
695
+ text: '大小',
696
+ },
697
+ {
698
+ name: 'fontWeight',
699
+ text: '粗细',
700
+ },
701
+ ],
702
+ },
646
703
  ],
647
704
  },
648
705
  ],
@@ -724,7 +781,7 @@ export const getDefaultPropsValue = (type: string) =&gt; ({
724
781
  <div class='footer quiet pad2 space-top1 center small'>
725
782
  Code coverage generated by
726
783
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
727
- at Fri Apr 22 2022 12:15:01 GMT+0800 (China Standard Time)
784
+ at Fri May 13 2022 20:42:37 GMT+0800 (China Standard Time)
728
785
  </div>
729
786
  <script src="../../prettify.js"></script>
730
787
  <script>
@@ -718,7 +718,7 @@ export class ScrollViewer {
718
718
  <div class='footer quiet pad2 space-top1 center small'>
719
719
  Code coverage generated by
720
720
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
721
- at Fri Apr 22 2022 12:15:01 GMT+0800 (China Standard Time)
721
+ at Fri May 13 2022 20:42:37 GMT+0800 (China Standard Time)
722
722
  </div>
723
723
  <script src="../../prettify.js"></script>
724
724
  <script>
@@ -298,7 +298,7 @@ export class UndoRedo&lt;T = any&gt; {
298
298
  <div class='footer quiet pad2 space-top1 center small'>
299
299
  Code coverage generated by
300
300
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
301
- at Fri Apr 22 2022 12:15:01 GMT+0800 (China Standard Time)
301
+ at Fri May 13 2022 20:42:37 GMT+0800 (China Standard Time)
302
302
  </div>
303
303
  <script src="../../prettify.js"></script>
304
304
  <script>