@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
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">34.28% </span>
26
+ <span class="strong">34.02% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>36/105</span>
28
+ <span class='fraction'>33/97</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">6.45% </span>
33
+ <span class="strong">7.91% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>8/124</span>
35
+ <span class='fraction'>11/139</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">37.5% </span>
40
+ <span class="strong">30.43% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>9/24</span>
42
+ <span class='fraction'>7/23</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">34.4% </span>
47
+ <span class="strong">34.11% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>32/93</span>
49
+ <span class='fraction'>29/85</span>
50
50
  </div>
51
51
 
52
52
 
@@ -293,33 +293,7 @@
293
293
  <a name='L228'></a><a href='#L228'>228</a>
294
294
  <a name='L229'></a><a href='#L229'>229</a>
295
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>
304
- <a name='L239'></a><a href='#L239'>239</a>
305
- <a name='L240'></a><a href='#L240'>240</a>
306
- <a name='L241'></a><a href='#L241'>241</a>
307
- <a name='L242'></a><a href='#L242'>242</a>
308
- <a name='L243'></a><a href='#L243'>243</a>
309
- <a name='L244'></a><a href='#L244'>244</a>
310
- <a name='L245'></a><a href='#L245'>245</a>
311
- <a name='L246'></a><a href='#L246'>246</a>
312
- <a name='L247'></a><a href='#L247'>247</a>
313
- <a name='L248'></a><a href='#L248'>248</a>
314
- <a name='L249'></a><a href='#L249'>249</a>
315
- <a name='L250'></a><a href='#L250'>250</a>
316
- <a name='L251'></a><a href='#L251'>251</a>
317
- <a name='L252'></a><a href='#L252'>252</a>
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>
322
- <a name='L257'></a><a href='#L257'>257</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
296
+ <a name='L231'></a><a href='#L231'>231</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
323
297
  <span class="cline-any cline-neutral">&nbsp;</span>
324
298
  <span class="cline-any cline-neutral">&nbsp;</span>
325
299
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -491,8 +465,6 @@
491
465
  <span class="cline-any cline-neutral">&nbsp;</span>
492
466
  <span class="cline-any cline-neutral">&nbsp;</span>
493
467
  <span class="cline-any cline-yes">1x</span>
494
- <span class="cline-any cline-yes">1x</span>
495
- <span class="cline-any cline-neutral">&nbsp;</span>
496
468
  <span class="cline-any cline-neutral">&nbsp;</span>
497
469
  <span class="cline-any cline-neutral">&nbsp;</span>
498
470
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -500,33 +472,25 @@
500
472
  <span class="cline-any cline-neutral">&nbsp;</span>
501
473
  <span class="cline-any cline-yes">1x</span>
502
474
  <span class="cline-any cline-yes">1x</span>
503
- <span class="cline-any cline-neutral">&nbsp;</span>
504
- <span class="cline-any cline-neutral">&nbsp;</span>
475
+ <span class="cline-any cline-yes">1x</span>
476
+ <span class="cline-any cline-yes">1x</span>
477
+ <span class="cline-any cline-yes">1x</span>
478
+ <span class="cline-any cline-yes">1x</span>
505
479
  <span class="cline-any cline-no">&nbsp;</span>
506
480
  <span class="cline-any cline-neutral">&nbsp;</span>
507
481
  <span class="cline-any cline-neutral">&nbsp;</span>
508
- <span class="cline-any cline-neutral">&nbsp;</span>
509
- <span class="cline-any cline-neutral">&nbsp;</span>
510
- <span class="cline-any cline-neutral">&nbsp;</span>
511
482
  <span class="cline-any cline-yes">1x</span>
512
- <span class="cline-any cline-neutral">&nbsp;</span>
513
- <span class="cline-any cline-neutral">&nbsp;</span>
514
- <span class="cline-any cline-neutral">&nbsp;</span>
515
483
  <span class="cline-any cline-no">&nbsp;</span>
516
484
  <span class="cline-any cline-neutral">&nbsp;</span>
517
- <span class="cline-any cline-no">&nbsp;</span>
518
- <span class="cline-any cline-no">&nbsp;</span>
519
485
  <span class="cline-any cline-neutral">&nbsp;</span>
520
- <span class="cline-any cline-no">&nbsp;</span>
486
+ <span class="cline-any cline-yes">1x</span>
487
+ <span class="cline-any cline-yes">1x</span>
521
488
  <span class="cline-any cline-no">&nbsp;</span>
522
489
  <span class="cline-any cline-neutral">&nbsp;</span>
523
490
  <span class="cline-any cline-neutral">&nbsp;</span>
491
+ <span class="cline-any cline-yes">1x</span>
524
492
  <span class="cline-any cline-no">&nbsp;</span>
525
493
  <span class="cline-any cline-no">&nbsp;</span>
526
- <span class="cline-any cline-no">&nbsp;</span>
527
- <span class="cline-any cline-neutral">&nbsp;</span>
528
- <span class="cline-any cline-no">&nbsp;</span>
529
- <span class="cline-any cline-neutral">&nbsp;</span>
530
494
  <span class="cline-any cline-neutral">&nbsp;</span>
531
495
  <span class="cline-any cline-neutral">&nbsp;</span>
532
496
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -536,25 +500,6 @@
536
500
  <span class="cline-any cline-neutral">&nbsp;</span>
537
501
  <span class="cline-any cline-neutral">&nbsp;</span>
538
502
  <span class="cline-any cline-neutral">&nbsp;</span>
539
- <span class="cline-any cline-yes">1x</span>
540
- <span class="cline-any cline-yes">1x</span>
541
- <span class="cline-any cline-yes">1x</span>
542
- <span class="cline-any cline-yes">1x</span>
543
- <span class="cline-any cline-yes">1x</span>
544
- <span class="cline-any cline-no">&nbsp;</span>
545
- <span class="cline-any cline-neutral">&nbsp;</span>
546
- <span class="cline-any cline-neutral">&nbsp;</span>
547
- <span class="cline-any cline-yes">1x</span>
548
- <span class="cline-any cline-no">&nbsp;</span>
549
- <span class="cline-any cline-neutral">&nbsp;</span>
550
- <span class="cline-any cline-neutral">&nbsp;</span>
551
- <span class="cline-any cline-yes">1x</span>
552
- <span class="cline-any cline-yes">1x</span>
553
- <span class="cline-any cline-no">&nbsp;</span>
554
- <span class="cline-any cline-neutral">&nbsp;</span>
555
- <span class="cline-any cline-neutral">&nbsp;</span>
556
- <span class="cline-any cline-yes">1x</span>
557
- <span class="cline-any cline-neutral">&nbsp;</span>
558
503
  <span class="cline-any cline-neutral">&nbsp;</span>
559
504
  <span class="cline-any cline-neutral">&nbsp;</span>
560
505
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -570,6 +515,9 @@
570
515
  <span class="cline-any cline-neutral">&nbsp;</span>
571
516
  <span class="cline-any cline-neutral">&nbsp;</span>
572
517
  <span class="cline-any cline-neutral">&nbsp;</span>
518
+ <span class="cline-any cline-no">&nbsp;</span>
519
+ <span class="cline-any cline-no">&nbsp;</span>
520
+ <span class="cline-any cline-no">&nbsp;</span>
573
521
  <span class="cline-any cline-neutral">&nbsp;</span>
574
522
  <span class="cline-any cline-neutral">&nbsp;</span>
575
523
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -610,8 +558,8 @@
610
558
  &lt;div
611
559
  :id="data.id"
612
560
  class="cus-tree-node"
613
- @mousedown="toogleClickFlag"
614
- @mouseup="toogleClickFlag"
561
+ @mousedown="toggleClickFlag"
562
+ @mouseup="toggleClickFlag"
615
563
  @mouseenter="highlightHandler(data)"
616
564
  :class="{ 'cus-tree-node-hover': canHighlight &amp;&amp; data.id === highlightNode?.id }"
617
565
  &gt;
@@ -625,13 +573,13 @@
625
573
  &lt;/el-tree&gt;
626
574
  &nbsp;
627
575
  &lt;teleport to="body"&gt;
628
- &lt;layer-menu :style="menuStyle"&gt;&lt;/layer-menu&gt;
576
+ &lt;layer-menu ref="menu"&gt;&lt;/layer-menu&gt;
629
577
  &lt;/teleport&gt;
630
578
  &lt;/el-scrollbar&gt;
631
579
  &lt;/template&gt;
632
580
  &nbsp;
633
581
  &lt;script lang="ts"&gt;
634
- import { computed, defineComponent, inject, onMounted, Ref, ref, watchEffect } from 'vue';
582
+ import { computed, defineComponent, inject, Ref, ref, watchEffect } from 'vue';
635
583
  import type { ElTree } from 'element-plus';
636
584
  import { throttle } from 'lodash-es';
637
585
  &nbsp;
@@ -746,46 +694,6 @@ const useFilter = (tree: Ref&lt;InstanceType&lt;typeof ElTree&gt; | undefined&gt
746
694
  },
747
695
  });
748
696
  &nbsp;
749
- const useContentMenu = (editorService?: EditorService) =&gt; {
750
- const menuStyle = ref({
751
- position: 'absolute',
752
- left: '0',
753
- top: '0',
754
- display: 'none',
755
- });
756
- &nbsp;
757
- onMounted(() =&gt; {
758
- document.addEventListener(
759
- 'click',
760
- <span class="fstat-no" title="function not covered" > () =&gt; {</span>
761
- <span class="cstat-no" title="statement not covered" > menuStyle.</span>value.display = 'none';
762
- },
763
- true,
764
- );
765
- });
766
- &nbsp;
767
- return {
768
- menuStyle,
769
- &nbsp;
770
- <span class="fstat-no" title="function not covered" > contextmenu(</span>event: MouseEvent, data: MNode) {
771
- const bodyHeight = <span class="cstat-no" title="statement not covered" >globalThis.document.body.clientHeight;</span>
772
- &nbsp;
773
- const left = <span class="cstat-no" title="statement not covered" >`${e</span>vent.clientX + 20}px`;
774
- let top = <span class="cstat-no" title="statement not covered" >`${e</span>vent.clientY - 10}px`;
775
- &nbsp;
776
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (event.clientY + 300 &gt; bodyHeight) {</span>
777
- <span class="cstat-no" title="statement not covered" > top </span>= `${bodyHeight - 300}px`;
778
- }
779
- &nbsp;
780
- <span class="cstat-no" title="statement not covered" > menuStyle.</span>value.left = left;
781
- <span class="cstat-no" title="statement not covered" > menuStyle.</span>value.top = top;
782
- <span class="cstat-no" title="statement not covered" > menuStyle.</span>value.display = '';
783
- &nbsp;
784
- <span class="cstat-no" title="statement not covered" > select(</span>data, editorService);
785
- },
786
- };
787
- };
788
- &nbsp;
789
697
  export default defineComponent({
790
698
  name: 'magic-editor-layer-panel',
791
699
  &nbsp;
@@ -794,13 +702,14 @@ export default defineComponent({
794
702
  setup() {
795
703
  const services = inject&lt;Services&gt;('services');
796
704
  const tree = ref&lt;InstanceType&lt;typeof ElTree&gt;&gt;();
705
+ const menu = ref&lt;InstanceType&lt;typeof LayerMenu&gt;&gt;();
797
706
  const clicked = ref(false);
798
707
  const editorService = services<span class="branch-0 cbranch-no" title="branch not covered" >?.e</span>ditorService;
799
708
  const highlightHandler = throttle(<span class="fstat-no" title="function not covered" >(d</span>ata: MNode) =&gt; {
800
709
  <span class="cstat-no" title="statement not covered" > highlight(</span>data, editorService);
801
710
  }, throttleTime);
802
711
  &nbsp;
803
- const toogleClickFlag = <span class="fstat-no" title="function not covered" >() =&gt; {</span>
712
+ const toggleClickFlag = <span class="fstat-no" title="function not covered" >() =&gt; {</span>
804
713
  <span class="cstat-no" title="statement not covered" > clicked.</span>value = !clicked.value;
805
714
  };
806
715
  &nbsp;
@@ -808,13 +717,23 @@ export default defineComponent({
808
717
  const canHighlight = computed(
809
718
  <span class="fstat-no" title="function not covered" > () =&gt; <span class="cstat-no" title="statement not covered" >s</span>tatusData.</span>highlightNode.value?.id !== statusData.clickNode.value?.id &amp;&amp; !clicked.value,
810
719
  );
720
+ &nbsp;
721
+ editorService<span class="branch-0 cbranch-no" title="branch not covered" >?.o</span>n('remove', <span class="fstat-no" title="function not covered" >() =&gt; {</span>
722
+ <span class="cstat-no" title="statement not covered" > setTimeout(<span class="fstat-no" title="function not covered" ></span>() =&gt; {</span>
723
+ <span class="cstat-no" title="statement not covered" > tree.</span>value?.getNode(editorService.get('node').id)?.updateChildren();
724
+ }, 0);
725
+ });
811
726
  &nbsp;
812
727
  return {
813
728
  tree,
729
+ menu,
814
730
  ...statusData,
815
731
  ...useDrop(tree, editorService),
816
732
  ...useFilter(tree),
817
- ...useContentMenu(editorService),
733
+ &nbsp;
734
+ highlightHandler,
735
+ toggleClickFlag,
736
+ canHighlight,
818
737
  &nbsp;
819
738
  <span class="fstat-no" title="function not covered" > clickHandler(</span>data: MNode): void {
820
739
  <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (services?.uiService.get&lt;boolean&gt;('uiSelectMode')) {</span>
@@ -824,9 +743,12 @@ export default defineComponent({
824
743
  <span class="cstat-no" title="statement not covered" > tree.</span>value?.setCurrentKey(data.id);
825
744
  <span class="cstat-no" title="statement not covered" > select(</span>data, editorService);
826
745
  },
827
- highlightHandler,
828
- toogleClickFlag,
829
- canHighlight,
746
+ &nbsp;
747
+ <span class="fstat-no" title="function not covered" > async c</span>ontextmenu(event: MouseEvent, data: MNode) {
748
+ <span class="cstat-no" title="statement not covered" > event.</span>preventDefault();
749
+ <span class="cstat-no" title="statement not covered" > await s</span>elect(data, editorService);
750
+ <span class="cstat-no" title="statement not covered" > menu.</span>value?.show(event);
751
+ },
830
752
  };
831
753
  },
832
754
  });
@@ -838,7 +760,7 @@ export default defineComponent({
838
760
  <div class='footer quiet pad2 space-top1 center small'>
839
761
  Code coverage generated by
840
762
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
841
- at Fri Apr 22 2022 12:15:01 GMT+0800 (China Standard Time)
763
+ at Fri May 13 2022 20:42:37 GMT+0800 (China Standard Time)
842
764
  </div>
843
765
  <script src="../../../prettify.js"></script>
844
766
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">84.21% </span>
26
+ <span class="strong">88.88% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>16/19</span>
28
+ <span class='fraction'>8/9</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">61.11% </span>
33
+ <span class="strong">60% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>11/18</span>
35
+ <span class='fraction'>6/10</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">83.33% </span>
40
+ <span class="strong">75% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>5/6</span>
42
+ <span class='fraction'>3/4</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">84.21% </span>
47
+ <span class="strong">88.88% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>16/19</span>
49
+ <span class='fraction'>8/9</span>
50
50
  </div>
51
51
 
52
52
 
@@ -110,46 +110,7 @@
110
110
  <a name='L45'></a><a href='#L45'>45</a>
111
111
  <a name='L46'></a><a href='#L46'>46</a>
112
112
  <a name='L47'></a><a href='#L47'>47</a>
113
- <a name='L48'></a><a href='#L48'>48</a>
114
- <a name='L49'></a><a href='#L49'>49</a>
115
- <a name='L50'></a><a href='#L50'>50</a>
116
- <a name='L51'></a><a href='#L51'>51</a>
117
- <a name='L52'></a><a href='#L52'>52</a>
118
- <a name='L53'></a><a href='#L53'>53</a>
119
- <a name='L54'></a><a href='#L54'>54</a>
120
- <a name='L55'></a><a href='#L55'>55</a>
121
- <a name='L56'></a><a href='#L56'>56</a>
122
- <a name='L57'></a><a href='#L57'>57</a>
123
- <a name='L58'></a><a href='#L58'>58</a>
124
- <a name='L59'></a><a href='#L59'>59</a>
125
- <a name='L60'></a><a href='#L60'>60</a>
126
- <a name='L61'></a><a href='#L61'>61</a>
127
- <a name='L62'></a><a href='#L62'>62</a>
128
- <a name='L63'></a><a href='#L63'>63</a>
129
- <a name='L64'></a><a href='#L64'>64</a>
130
- <a name='L65'></a><a href='#L65'>65</a>
131
- <a name='L66'></a><a href='#L66'>66</a>
132
- <a name='L67'></a><a href='#L67'>67</a>
133
- <a name='L68'></a><a href='#L68'>68</a>
134
- <a name='L69'></a><a href='#L69'>69</a>
135
- <a name='L70'></a><a href='#L70'>70</a>
136
- <a name='L71'></a><a href='#L71'>71</a>
137
- <a name='L72'></a><a href='#L72'>72</a>
138
- <a name='L73'></a><a href='#L73'>73</a>
139
- <a name='L74'></a><a href='#L74'>74</a>
140
- <a name='L75'></a><a href='#L75'>75</a>
141
- <a name='L76'></a><a href='#L76'>76</a>
142
- <a name='L77'></a><a href='#L77'>77</a>
143
- <a name='L78'></a><a href='#L78'>78</a>
144
- <a name='L79'></a><a href='#L79'>79</a>
145
- <a name='L80'></a><a href='#L80'>80</a>
146
- <a name='L81'></a><a href='#L81'>81</a>
147
- <a name='L82'></a><a href='#L82'>82</a>
148
- <a name='L83'></a><a href='#L83'>83</a>
149
- <a name='L84'></a><a href='#L84'>84</a>
150
- <a name='L85'></a><a href='#L85'>85</a>
151
- <a name='L86'></a><a href='#L86'>86</a>
152
- <a name='L87'></a><a href='#L87'>87</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
113
+ <a name='L48'></a><a href='#L48'>48</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
153
114
  <span class="cline-any cline-neutral">&nbsp;</span>
154
115
  <span class="cline-any cline-neutral">&nbsp;</span>
155
116
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -162,21 +123,11 @@
162
123
  <span class="cline-any cline-neutral">&nbsp;</span>
163
124
  <span class="cline-any cline-neutral">&nbsp;</span>
164
125
  <span class="cline-any cline-neutral">&nbsp;</span>
165
- <span class="cline-any cline-neutral">&nbsp;</span>
166
- <span class="cline-any cline-neutral">&nbsp;</span>
167
- <span class="cline-any cline-neutral">&nbsp;</span>
168
- <span class="cline-any cline-neutral">&nbsp;</span>
169
- <span class="cline-any cline-neutral">&nbsp;</span>
170
- <span class="cline-any cline-neutral">&nbsp;</span>
171
- <span class="cline-any cline-neutral">&nbsp;</span>
172
- <span class="cline-any cline-yes">1x</span>
173
126
  <span class="cline-any cline-yes">1x</span>
174
127
  <span class="cline-any cline-neutral">&nbsp;</span>
175
- <span class="cline-any cline-yes">1x</span>
176
128
  <span class="cline-any cline-neutral">&nbsp;</span>
177
129
  <span class="cline-any cline-neutral">&nbsp;</span>
178
130
  <span class="cline-any cline-yes">1x</span>
179
- <span class="cline-any cline-yes">1x</span>
180
131
  <span class="cline-any cline-neutral">&nbsp;</span>
181
132
  <span class="cline-any cline-yes">1x</span>
182
133
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -204,70 +155,31 @@
204
155
  <span class="cline-any cline-neutral">&nbsp;</span>
205
156
  <span class="cline-any cline-neutral">&nbsp;</span>
206
157
  <span class="cline-any cline-neutral">&nbsp;</span>
207
- <span class="cline-any cline-yes">1x</span>
208
- <span class="cline-any cline-yes">2x</span>
209
- <span class="cline-any cline-no">&nbsp;</span>
210
- <span class="cline-any cline-neutral">&nbsp;</span>
211
- <span class="cline-any cline-neutral">&nbsp;</span>
212
- <span class="cline-any cline-yes">2x</span>
213
- <span class="cline-any cline-neutral">&nbsp;</span>
214
- <span class="cline-any cline-yes">1x</span>
215
- <span class="cline-any cline-neutral">&nbsp;</span>
216
- <span class="cline-any cline-neutral">&nbsp;</span>
217
- <span class="cline-any cline-neutral">&nbsp;</span>
218
- <span class="cline-any cline-neutral">&nbsp;</span>
219
- <span class="cline-any cline-neutral">&nbsp;</span>
220
- <span class="cline-any cline-neutral">&nbsp;</span>
221
- <span class="cline-any cline-neutral">&nbsp;</span>
222
- <span class="cline-any cline-yes">1x</span>
223
- <span class="cline-any cline-neutral">&nbsp;</span>
224
- <span class="cline-any cline-neutral">&nbsp;</span>
225
- <span class="cline-any cline-neutral">&nbsp;</span>
226
- <span class="cline-any cline-neutral">&nbsp;</span>
227
- <span class="cline-any cline-neutral">&nbsp;</span>
228
- <span class="cline-any cline-neutral">&nbsp;</span>
229
- <span class="cline-any cline-neutral">&nbsp;</span>
230
- <span class="cline-any cline-no">&nbsp;</span>
231
- <span class="cline-any cline-neutral">&nbsp;</span>
232
- <span class="cline-any cline-neutral">&nbsp;</span>
233
- <span class="cline-any cline-neutral">&nbsp;</span>
234
- <span class="cline-any cline-neutral">&nbsp;</span>
235
- <span class="cline-any cline-neutral">&nbsp;</span>
236
158
  <span class="cline-any cline-neutral">&nbsp;</span>
237
159
  <span class="cline-any cline-neutral">&nbsp;</span>
238
160
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">&lt;template&gt;
239
- &lt;el-tabs v-if="data.type === 'tabs'" class="m-editor-sidebar" v-model="activeTabName" type="card" tab-position="left"&gt;
240
- &lt;el-tab-pane v-for="item in items" :key="item.text" :name="item.text"&gt;
241
- &lt;template #label&gt;
242
- &lt;span&gt;
243
- &lt;m-icon v-if="item.icon" :icon="item.icon"&gt;&lt;/m-icon&gt;
244
- &lt;div v-if="item.text" class="magic-editor-tab-panel-title"&gt;{{ item.text }}&lt;/div&gt;
245
- &lt;/span&gt;
246
- &lt;/template&gt;
247
- &nbsp;
248
- &lt;component :is="item.component" v-bind="item.props || {}" v-on="item.listeners || {}"&gt;
249
- &lt;template #layer-node-content="{ data, node }" v-if="item.slots?.layerNodeContent"&gt;
250
- &lt;component :is="item.slots.layerNodeContent" :data="data" :node="node" /&gt;
251
- &lt;/template&gt;
252
- &lt;/component&gt;
253
- &lt;/el-tab-pane&gt;
161
+ &lt;el-tabs
162
+ v-if="data.type === 'tabs' &amp;&amp; data.items.length"
163
+ class="m-editor-sidebar"
164
+ v-model="activeTabName"
165
+ type="card"
166
+ tab-position="left"
167
+ &gt;
168
+ &lt;tab-pane v-for="(item, index) in data.items" :key="index" :data="item"&gt;&lt;/tab-pane&gt;
254
169
  &lt;/el-tabs&gt;
255
170
  &lt;/template&gt;
256
171
  &nbsp;
257
172
  &lt;script lang="ts"&gt;
258
- import { computed, defineComponent, PropType, ref, watch } from 'vue';
259
- import { Coin, Files } from '@element-plus/icons';
173
+ import { defineComponent, PropType, ref, watch } from 'vue';
260
174
  &nbsp;
261
- import MIcon from '@editor/components/Icon.vue';
262
- import { SideBarData, SideComponent } from '@editor/type';
175
+ import { SideBarData } from '@editor/type';
263
176
  &nbsp;
264
- import ComponentListPanel from './ComponentListPanel.vue';
265
- import LayerPanel from './LayerPanel.vue';
177
+ import TabPane from './TabPane.vue';
266
178
  &nbsp;
267
179
  export default defineComponent({
268
- name: 'm-sidebar',
180
+ components: { TabPane },
269
181
  &nbsp;
270
- components: { MIcon },
182
+ name: 'm-sidebar',
271
183
  &nbsp;
272
184
  props: {
273
185
  data: {
@@ -288,35 +200,6 @@ export default defineComponent({
288
200
  &nbsp;
289
201
  return {
290
202
  activeTabName,
291
- &nbsp;
292
- items: computed&lt;SideComponent[] | Record&lt;string, any&gt;[]&gt;(() =&gt;
293
- props.data<span class="branch-0 cbranch-no" title="branch not covered" >?.i</span>tems.map((item) =&gt; {
294
- <span class="missing-if-branch" title="if path not taken" >I</span>if (typeof item !== 'string') {
295
- <span class="cstat-no" title="statement not covered" > return i</span>tem;
296
- }
297
- &nbsp;
298
- switch (item) {
299
- case 'component-list':
300
- return {
301
- type: 'component',
302
- icon: Coin,
303
- text: '组件',
304
- component: ComponentListPanel,
305
- slots: {},
306
- };
307
- case 'layer':
308
- return {
309
- type: 'component',
310
- icon: Files,
311
- text: '已选组件',
312
- component: LayerPanel,
313
- slots: {},
314
- };
315
- <span class="branch-2 cbranch-no" title="branch not covered" > default:</span>
316
- <span class="cstat-no" title="statement not covered" > return {</span>};
317
- }
318
- }),
319
- ),
320
203
  };
321
204
  },
322
205
  });
@@ -328,7 +211,7 @@ export default defineComponent({
328
211
  <div class='footer quiet pad2 space-top1 center small'>
329
212
  Code coverage generated by
330
213
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
331
- 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)
332
215
  </div>
333
216
  <script src="../../../prettify.js"></script>
334
217
  <script>