@tmagic/editor 1.0.0-rc.3 → 1.0.0-rc.6

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 (63) hide show
  1. package/coverage/clover.xml +505 -446
  2. package/coverage/coverage-final.json +10 -10
  3. package/coverage/lcov-report/index.html +60 -60
  4. package/coverage/lcov-report/src/Editor.vue.html +48 -9
  5. package/coverage/lcov-report/src/components/ContentMenu.vue.html +143 -44
  6. package/coverage/lcov-report/src/components/Icon.vue.html +2 -2
  7. package/coverage/lcov-report/src/components/ScrollViewer.vue.html +1 -1
  8. package/coverage/lcov-report/src/components/ToolButton.vue.html +25 -25
  9. package/coverage/lcov-report/src/components/index.html +20 -20
  10. package/coverage/lcov-report/src/index.html +15 -15
  11. package/coverage/lcov-report/src/layouts/AddPageBox.vue.html +1 -1
  12. package/coverage/lcov-report/src/layouts/Framework.vue.html +1 -1
  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 +1 -1
  17. package/coverage/lcov-report/src/layouts/sidebar/ComponentListPanel.vue.html +1 -1
  18. package/coverage/lcov-report/src/layouts/sidebar/LayerMenu.vue.html +27 -18
  19. package/coverage/lcov-report/src/layouts/sidebar/LayerPanel.vue.html +1 -1
  20. package/coverage/lcov-report/src/layouts/sidebar/Sidebar.vue.html +1 -1
  21. package/coverage/lcov-report/src/layouts/sidebar/TabPane.vue.html +2 -2
  22. package/coverage/lcov-report/src/layouts/sidebar/index.html +19 -19
  23. package/coverage/lcov-report/src/layouts/workspace/PageBar.vue.html +1 -1
  24. package/coverage/lcov-report/src/layouts/workspace/Stage.vue.html +1 -1
  25. package/coverage/lcov-report/src/layouts/workspace/ViewerMenu.vue.html +78 -33
  26. package/coverage/lcov-report/src/layouts/workspace/Workspace.vue.html +79 -34
  27. package/coverage/lcov-report/src/layouts/workspace/index.html +28 -28
  28. package/coverage/lcov-report/src/services/BaseService.ts.html +2 -2
  29. package/coverage/lcov-report/src/services/componentList.ts.html +1 -1
  30. package/coverage/lcov-report/src/services/editor.ts.html +102 -12
  31. package/coverage/lcov-report/src/services/events.ts.html +1 -1
  32. package/coverage/lcov-report/src/services/history.ts.html +1 -1
  33. package/coverage/lcov-report/src/services/index.html +15 -15
  34. package/coverage/lcov-report/src/services/props.ts.html +4 -4
  35. package/coverage/lcov-report/src/services/ui.ts.html +1 -1
  36. package/coverage/lcov-report/src/type.ts.html +1 -1
  37. package/coverage/lcov-report/src/utils/compose.ts.html +1 -1
  38. package/coverage/lcov-report/src/utils/config.ts.html +1 -1
  39. package/coverage/lcov-report/src/utils/editor.ts.html +21 -9
  40. package/coverage/lcov-report/src/utils/index.html +12 -12
  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 +1 -1
  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 +1132 -986
  47. package/dist/tmagic-editor.es.js +148 -62
  48. package/dist/tmagic-editor.es.js.map +1 -1
  49. package/dist/tmagic-editor.umd.js +148 -62
  50. package/dist/tmagic-editor.umd.js.map +1 -1
  51. package/dist/types/src/Editor.vue.d.ts +19 -1
  52. package/dist/types/src/services/BaseService.d.ts +1 -1
  53. package/package.json +7 -7
  54. package/src/Editor.vue +14 -1
  55. package/src/components/ContentMenu.vue +59 -26
  56. package/src/layouts/sidebar/LayerMenu.vue +3 -0
  57. package/src/layouts/sidebar/TabPane.vue +1 -1
  58. package/src/layouts/workspace/ViewerMenu.vue +17 -2
  59. package/src/layouts/workspace/Workspace.vue +38 -23
  60. package/src/services/BaseService.ts +1 -1
  61. package/src/services/editor.ts +33 -3
  62. package/src/services/props.ts +3 -3
  63. package/src/utils/editor.ts +6 -2
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">45.84% </span>
26
+ <span class="strong">38.61% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>127/277</span>
28
+ <span class='fraction'>117/303</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">15.74% </span>
33
+ <span class="strong">12.64% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>71/451</span>
35
+ <span class='fraction'>64/506</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">34.69% </span>
40
+ <span class="strong">23.71% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>34/98</span>
42
+ <span class='fraction'>23/97</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">47.54% </span>
47
+ <span class="strong">40% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>116/244</span>
49
+ <span class='fraction'>108/270</span>
50
50
  </div>
51
51
 
52
52
 
@@ -109,33 +109,33 @@
109
109
  </tr>
110
110
 
111
111
  <tr>
112
- <td class="file medium" data-value="ViewerMenu.vue"><a href="ViewerMenu.vue.html">ViewerMenu.vue</a></td>
113
- <td data-value="69.23" class="pic medium">
114
- <div class="chart"><div class="cover-fill" style="width: 69%"></div><div class="cover-empty" style="width: 31%"></div></div>
112
+ <td class="file low" data-value="ViewerMenu.vue"><a href="ViewerMenu.vue.html">ViewerMenu.vue</a></td>
113
+ <td data-value="42.62" class="pic low">
114
+ <div class="chart"><div class="cover-fill" style="width: 42%"></div><div class="cover-empty" style="width: 58%"></div></div>
115
115
  </td>
116
- <td data-value="69.23" class="pct medium">69.23%</td>
117
- <td data-value="52" class="abs medium">36/52</td>
118
- <td data-value="22.35" class="pct low">22.35%</td>
119
- <td data-value="85" class="abs low">19/85</td>
120
- <td data-value="60" class="pct medium">60%</td>
121
- <td data-value="25" class="abs medium">15/25</td>
122
- <td data-value="68.08" class="pct medium">68.08%</td>
123
- <td data-value="47" class="abs medium">32/47</td>
116
+ <td data-value="42.62" class="pct low">42.62%</td>
117
+ <td data-value="61" class="abs low">26/61</td>
118
+ <td data-value="8.57" class="pct low">8.57%</td>
119
+ <td data-value="140" class="abs low">12/140</td>
120
+ <td data-value="16" class="pct low">16%</td>
121
+ <td data-value="25" class="abs low">4/25</td>
122
+ <td data-value="42.85" class="pct low">42.85%</td>
123
+ <td data-value="56" class="abs low">24/56</td>
124
124
  </tr>
125
125
 
126
126
  <tr>
127
127
  <td class="file low" data-value="Workspace.vue"><a href="Workspace.vue.html">Workspace.vue</a></td>
128
- <td data-value="35.59" class="pic low">
129
- <div class="chart"><div class="cover-fill" style="width: 35%"></div><div class="cover-empty" style="width: 65%"></div></div>
128
+ <td data-value="27.63" class="pic low">
129
+ <div class="chart"><div class="cover-fill" style="width: 27%"></div><div class="cover-empty" style="width: 73%"></div></div>
130
130
  </td>
131
- <td data-value="35.59" class="pct low">35.59%</td>
132
- <td data-value="59" class="abs low">21/59</td>
131
+ <td data-value="27.63" class="pct low">27.63%</td>
132
+ <td data-value="76" class="abs low">21/76</td>
133
133
  <td data-value="7.4" class="pct low">7.4%</td>
134
134
  <td data-value="135" class="abs low">10/135</td>
135
- <td data-value="10.34" class="pct low">10.34%</td>
136
- <td data-value="29" class="abs low">3/29</td>
137
- <td data-value="38.18" class="pct low">38.18%</td>
138
- <td data-value="55" class="abs low">21/55</td>
135
+ <td data-value="10.71" class="pct low">10.71%</td>
136
+ <td data-value="28" class="abs low">3/28</td>
137
+ <td data-value="29.16" class="pct low">29.16%</td>
138
+ <td data-value="72" class="abs low">21/72</td>
139
139
  </tr>
140
140
 
141
141
  </tbody>
@@ -146,7 +146,7 @@
146
146
  <div class='footer quiet pad2 space-top1 center small'>
147
147
  Code coverage generated by
148
148
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
149
- at Wed May 25 2022 14:21:49 GMT+0800 (China Standard Time)
149
+ at Mon Jun 06 2022 15:27:48 GMT+0800 (China Standard Time)
150
150
  </div>
151
151
  <script src="../../../prettify.js"></script>
152
152
  <script>
@@ -528,7 +528,7 @@ const doAction = async (
528
528
  * editorService.afterAdd();
529
529
  * }
530
530
  *
531
- * 调用时的参数会透传到before方法的参数中, 然后before的return 会作为原方法的参数和after的参数,after最后一个参数则是原方法的return值;
531
+ * 调用时的参数会透传到before方法的参数中, 然后before的return 会作为原方法的参数和after的参数,after第一个参数则是原方法的return值;
532
532
  * 如需终止后续方法调用可以return new Error();
533
533
  *
534
534
  * 方法2:
@@ -628,7 +628,7 @@ export default class extends EventEmitter {
628
628
  <div class='footer quiet pad2 space-top1 center small'>
629
629
  Code coverage generated by
630
630
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
631
- at Wed May 25 2022 14:21:49 GMT+0800 (China Standard Time)
631
+ at Mon Jun 06 2022 15:27:48 GMT+0800 (China Standard Time)
632
632
  </div>
633
633
  <script src="../../prettify.js"></script>
634
634
  <script>
@@ -214,7 +214,7 @@ export default new ComponentList();
214
214
  <div class='footer quiet pad2 space-top1 center small'>
215
215
  Code coverage generated by
216
216
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
217
- at Wed May 25 2022 14:21:49 GMT+0800 (China Standard Time)
217
+ at Mon Jun 06 2022 15:27:48 GMT+0800 (China Standard Time)
218
218
  </div>
219
219
  <script src="../../prettify.js"></script>
220
220
  <script>
@@ -23,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">74.3% </span>
26
+ <span class="strong">73.42% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>214/288</span>
28
+ <span class='fraction'>221/301</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">59.82% </span>
33
+ <span class="strong">57.93% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>70/117</span>
35
+ <span class='fraction'>73/126</span>
36
36
  </div>
37
37
 
38
38
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">78.84% </span>
47
+ <span class="strong">77.94% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>205/260</span>
49
+ <span class='fraction'>212/272</span>
50
50
  </div>
51
51
 
52
52
 
@@ -727,7 +727,37 @@
727
727
  <a name='L662'></a><a href='#L662'>662</a>
728
728
  <a name='L663'></a><a href='#L663'>663</a>
729
729
  <a name='L664'></a><a href='#L664'>664</a>
730
- <a name='L665'></a><a href='#L665'>665</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
730
+ <a name='L665'></a><a href='#L665'>665</a>
731
+ <a name='L666'></a><a href='#L666'>666</a>
732
+ <a name='L667'></a><a href='#L667'>667</a>
733
+ <a name='L668'></a><a href='#L668'>668</a>
734
+ <a name='L669'></a><a href='#L669'>669</a>
735
+ <a name='L670'></a><a href='#L670'>670</a>
736
+ <a name='L671'></a><a href='#L671'>671</a>
737
+ <a name='L672'></a><a href='#L672'>672</a>
738
+ <a name='L673'></a><a href='#L673'>673</a>
739
+ <a name='L674'></a><a href='#L674'>674</a>
740
+ <a name='L675'></a><a href='#L675'>675</a>
741
+ <a name='L676'></a><a href='#L676'>676</a>
742
+ <a name='L677'></a><a href='#L677'>677</a>
743
+ <a name='L678'></a><a href='#L678'>678</a>
744
+ <a name='L679'></a><a href='#L679'>679</a>
745
+ <a name='L680'></a><a href='#L680'>680</a>
746
+ <a name='L681'></a><a href='#L681'>681</a>
747
+ <a name='L682'></a><a href='#L682'>682</a>
748
+ <a name='L683'></a><a href='#L683'>683</a>
749
+ <a name='L684'></a><a href='#L684'>684</a>
750
+ <a name='L685'></a><a href='#L685'>685</a>
751
+ <a name='L686'></a><a href='#L686'>686</a>
752
+ <a name='L687'></a><a href='#L687'>687</a>
753
+ <a name='L688'></a><a href='#L688'>688</a>
754
+ <a name='L689'></a><a href='#L689'>689</a>
755
+ <a name='L690'></a><a href='#L690'>690</a>
756
+ <a name='L691'></a><a href='#L691'>691</a>
757
+ <a name='L692'></a><a href='#L692'>692</a>
758
+ <a name='L693'></a><a href='#L693'>693</a>
759
+ <a name='L694'></a><a href='#L694'>694</a>
760
+ <a name='L695'></a><a href='#L695'>695</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
731
761
  <span class="cline-any cline-neutral">&nbsp;</span>
732
762
  <span class="cline-any cline-neutral">&nbsp;</span>
733
763
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -768,6 +798,7 @@
768
798
  <span class="cline-any cline-neutral">&nbsp;</span>
769
799
  <span class="cline-any cline-neutral">&nbsp;</span>
770
800
  <span class="cline-any cline-neutral">&nbsp;</span>
801
+ <span class="cline-any cline-neutral">&nbsp;</span>
771
802
  <span class="cline-any cline-yes">5x</span>
772
803
  <span class="cline-any cline-neutral">&nbsp;</span>
773
804
  <span class="cline-any cline-yes">5x</span>
@@ -831,7 +862,7 @@
831
862
  <span class="cline-any cline-neutral">&nbsp;</span>
832
863
  <span class="cline-any cline-neutral">&nbsp;</span>
833
864
  <span class="cline-any cline-neutral">&nbsp;</span>
834
- <span class="cline-any cline-yes">218x</span>
865
+ <span class="cline-any cline-yes">242x</span>
835
866
  <span class="cline-any cline-neutral">&nbsp;</span>
836
867
  <span class="cline-any cline-neutral">&nbsp;</span>
837
868
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -924,6 +955,20 @@
924
955
  <span class="cline-any cline-neutral">&nbsp;</span>
925
956
  <span class="cline-any cline-neutral">&nbsp;</span>
926
957
  <span class="cline-any cline-yes">24x</span>
958
+ <span class="cline-any cline-yes">24x</span>
959
+ <span class="cline-any cline-neutral">&nbsp;</span>
960
+ <span class="cline-any cline-neutral">&nbsp;</span>
961
+ <span class="cline-any cline-neutral">&nbsp;</span>
962
+ <span class="cline-any cline-neutral">&nbsp;</span>
963
+ <span class="cline-any cline-neutral">&nbsp;</span>
964
+ <span class="cline-any cline-neutral">&nbsp;</span>
965
+ <span class="cline-any cline-neutral">&nbsp;</span>
966
+ <span class="cline-any cline-neutral">&nbsp;</span>
967
+ <span class="cline-any cline-neutral">&nbsp;</span>
968
+ <span class="cline-any cline-neutral">&nbsp;</span>
969
+ <span class="cline-any cline-neutral">&nbsp;</span>
970
+ <span class="cline-any cline-neutral">&nbsp;</span>
971
+ <span class="cline-any cline-yes">24x</span>
927
972
  <span class="cline-any cline-neutral">&nbsp;</span>
928
973
  <span class="cline-any cline-yes">24x</span>
929
974
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -1218,6 +1263,10 @@
1218
1263
  <span class="cline-any cline-neutral">&nbsp;</span>
1219
1264
  <span class="cline-any cline-neutral">&nbsp;</span>
1220
1265
  <span class="cline-any cline-yes">1x</span>
1266
+ <span class="cline-any cline-no">&nbsp;</span>
1267
+ <span class="cline-any cline-neutral">&nbsp;</span>
1268
+ <span class="cline-any cline-neutral">&nbsp;</span>
1269
+ <span class="cline-any cline-yes">1x</span>
1221
1270
  <span class="cline-any cline-neutral">&nbsp;</span>
1222
1271
  <span class="cline-any cline-neutral">&nbsp;</span>
1223
1272
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -1234,6 +1283,17 @@
1234
1283
  <span class="cline-any cline-neutral">&nbsp;</span>
1235
1284
  <span class="cline-any cline-neutral">&nbsp;</span>
1236
1285
  <span class="cline-any cline-yes">1x</span>
1286
+ <span class="cline-any cline-neutral">&nbsp;</span>
1287
+ <span class="cline-any cline-yes">1x</span>
1288
+ <span class="cline-any cline-yes">1x</span>
1289
+ <span class="cline-any cline-neutral">&nbsp;</span>
1290
+ <span class="cline-any cline-yes">1x</span>
1291
+ <span class="cline-any cline-no">&nbsp;</span>
1292
+ <span class="cline-any cline-no">&nbsp;</span>
1293
+ <span class="cline-any cline-no">&nbsp;</span>
1294
+ <span class="cline-any cline-no">&nbsp;</span>
1295
+ <span class="cline-any cline-neutral">&nbsp;</span>
1296
+ <span class="cline-any cline-yes">1x</span>
1237
1297
  <span class="cline-any cline-yes">1x</span>
1238
1298
  <span class="cline-any cline-neutral">&nbsp;</span>
1239
1299
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -1426,6 +1486,7 @@ import {
1426
1486
  change2Fixed,
1427
1487
  COPY_STORAGE_KEY,
1428
1488
  Fixed2Other,
1489
+ generatePageNameByApp,
1429
1490
  getNodeIndex,
1430
1491
  initPosition,
1431
1492
  isFixed,
@@ -1586,6 +1647,20 @@ class Editor extends BaseService {
1586
1647
  } else <span class="missing-if-branch" title="else path not taken" >E</span>{
1587
1648
  <span class="cstat-no" title="statement not covered" > historyService.empty();</span>
1588
1649
  }
1650
+ &nbsp;
1651
+ if (node?.id) {
1652
+ this.get&lt;StageCore&gt;('stage')
1653
+ ?.renderer.runtime?.getApp?.()
1654
+ ?.emit(
1655
+ 'editor:select',
1656
+ {
1657
+ node,
1658
+ page,
1659
+ parent,
1660
+ },
1661
+ getNodePath(node.id, this.get&lt;MApp&gt;('root').items),
1662
+ );
1663
+ }
1589
1664
  &nbsp;
1590
1665
  this.emit('select', node);
1591
1666
  &nbsp;
@@ -1880,6 +1955,10 @@ class Editor extends BaseService {
1880
1955
  ...position,
1881
1956
  };
1882
1957
  }
1958
+ &nbsp;
1959
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (isPage(config)) {
1960
+ <span class="cstat-no" title="statement not covered" > config.name = generatePageNameByApp(this.get('root'));</span>
1961
+ }
1883
1962
  &nbsp;
1884
1963
  return await this.add(config);
1885
1964
  }
@@ -1897,7 +1976,18 @@ class Editor extends BaseService {
1897
1976
  <span class="cstat-no" title="statement not covered" > return;</span>
1898
1977
  }
1899
1978
  &nbsp;
1900
- if (parent.style?.width &amp;&amp; node.style?.width) {
1979
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (!node.style) <span class="cstat-no" title="statement not covered" >return;</span>
1980
+ &nbsp;
1981
+ const stage = this.get&lt;StageCore&gt;('stage');
1982
+ const doc = stage?.renderer.contentWindow?.document;
1983
+ &nbsp;
1984
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (doc) {
1985
+ const parentEl = <span class="cstat-no" title="statement not covered" >doc.getElementById(`${parent.id}`);</span>
1986
+ const el = <span class="cstat-no" title="statement not covered" >doc.getElementById(`${node.id}`);</span>
1987
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (parentEl &amp;&amp; el) {</span>
1988
+ <span class="cstat-no" title="statement not covered" > node.style.left = (parentEl.clientWidth - el.clientWidth) / 2;</span>
1989
+ }
1990
+ } else if (parent.style &amp;&amp; isNumber(parent.style?.width) &amp;&amp; isNumber(node.style?.width)) {
1901
1991
  node.style.left = (parent.style.width - node.style.width) / 2;
1902
1992
  }
1903
1993
  &nbsp;
@@ -1919,9 +2009,9 @@ class Editor extends BaseService {
1919
2009
  const brothers: MNode[] = parent?.items || <span class="branch-1 cbranch-no" title="branch not covered" >[];</span>
1920
2010
  const index = brothers.findIndex((item) =&gt; `${item.id}` === `${node?.id}`);
1921
2011
  &nbsp;
1922
- <span class="missing-if-branch" title="if path not taken" >I</span>if (offset === LayerOffset.BOTTOM) {
2012
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (offset === LayerOffset.TOP) {
1923
2013
  <span class="cstat-no" title="statement not covered" > brothers.splice(brothers.length - 1, 0, brothers.splice(index, 1)[0]);</span>
1924
- } else <span class="missing-if-branch" title="if path not taken" >I</span>if (offset === LayerOffset.TOP) {
2014
+ } else <span class="missing-if-branch" title="if path not taken" >I</span>if (offset === LayerOffset.BOTTOM) {
1925
2015
  <span class="cstat-no" title="statement not covered" > brothers.splice(0, 0, brothers.splice(index, 1)[0]);</span>
1926
2016
  } else {
1927
2017
  brothers.splice(index + parseInt(`${offset}`, 10), 0, brothers.splice(index, 1)[0]);
@@ -2062,7 +2152,7 @@ export default new Editor();
2062
2152
  <div class='footer quiet pad2 space-top1 center small'>
2063
2153
  Code coverage generated by
2064
2154
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
2065
- at Wed May 25 2022 14:21:49 GMT+0800 (China Standard Time)
2155
+ at Mon Jun 06 2022 15:27:48 GMT+0800 (China Standard Time)
2066
2156
  </div>
2067
2157
  <script src="../../prettify.js"></script>
2068
2158
  <script>
@@ -316,7 +316,7 @@ export default new Events();
316
316
  <div class='footer quiet pad2 space-top1 center small'>
317
317
  Code coverage generated by
318
318
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
319
- at Wed May 25 2022 14:21:49 GMT+0800 (China Standard Time)
319
+ at Mon Jun 06 2022 15:27:48 GMT+0800 (China Standard Time)
320
320
  </div>
321
321
  <script src="../../prettify.js"></script>
322
322
  <script>
@@ -463,7 +463,7 @@ export default new History();
463
463
  <div class='footer quiet pad2 space-top1 center small'>
464
464
  Code coverage generated by
465
465
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
466
- at Wed May 25 2022 14:21:49 GMT+0800 (China Standard Time)
466
+ at Mon Jun 06 2022 15:27:48 GMT+0800 (China Standard Time)
467
467
  </div>
468
468
  <script src="../../prettify.js"></script>
469
469
  <script>
@@ -23,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">70.13% </span>
26
+ <span class="strong">69.73% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>364/519</span>
28
+ <span class='fraction'>371/532</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">46.52% </span>
33
+ <span class="strong">45.91% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>87/187</span>
35
+ <span class='fraction'>90/196</span>
36
36
  </div>
37
37
 
38
38
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">73.58% </span>
47
+ <span class="strong">73.21% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>351/477</span>
49
+ <span class='fraction'>358/489</span>
50
50
  </div>
51
51
 
52
52
 
@@ -110,17 +110,17 @@
110
110
 
111
111
  <tr>
112
112
  <td class="file medium" data-value="editor.ts"><a href="editor.ts.html">editor.ts</a></td>
113
- <td data-value="74.3" class="pic medium">
114
- <div class="chart"><div class="cover-fill" style="width: 74%"></div><div class="cover-empty" style="width: 26%"></div></div>
113
+ <td data-value="73.42" class="pic medium">
114
+ <div class="chart"><div class="cover-fill" style="width: 73%"></div><div class="cover-empty" style="width: 27%"></div></div>
115
115
  </td>
116
- <td data-value="74.3" class="pct medium">74.3%</td>
117
- <td data-value="288" class="abs medium">214/288</td>
118
- <td data-value="59.82" class="pct medium">59.82%</td>
119
- <td data-value="117" class="abs medium">70/117</td>
116
+ <td data-value="73.42" class="pct medium">73.42%</td>
117
+ <td data-value="301" class="abs medium">221/301</td>
118
+ <td data-value="57.93" class="pct medium">57.93%</td>
119
+ <td data-value="126" class="abs medium">73/126</td>
120
120
  <td data-value="80" class="pct high">80%</td>
121
121
  <td data-value="35" class="abs high">28/35</td>
122
- <td data-value="78.84" class="pct medium">78.84%</td>
123
- <td data-value="260" class="abs medium">205/260</td>
122
+ <td data-value="77.94" class="pct medium">77.94%</td>
123
+ <td data-value="272" class="abs medium">212/272</td>
124
124
  </tr>
125
125
 
126
126
  <tr>
@@ -191,7 +191,7 @@
191
191
  <div class='footer quiet pad2 space-top1 center small'>
192
192
  Code coverage generated by
193
193
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
194
- at Wed May 25 2022 14:21:49 GMT+0800 (China Standard Time)
194
+ at Mon Jun 06 2022 15:27:48 GMT+0800 (China Standard Time)
195
195
  </div>
196
196
  <script src="../../prettify.js"></script>
197
197
  <script>
@@ -383,10 +383,10 @@ class Props extends BaseService {
383
383
  <span class="cstat-no" title="statement not covered" > return value;</span>
384
384
  }
385
385
  &nbsp;
386
- return cloneDeep({
386
+ return {
387
387
  ...getDefaultPropsValue(type),
388
- ...mergeWith(this.state.propsValueMap[type] || {}, defaultValue),
389
- });
388
+ ...mergeWith(cloneDeep(this.state.propsValueMap[type] || {}), cloneDeep(defaultValue)),
389
+ };
390
390
  }
391
391
  }
392
392
  &nbsp;
@@ -400,7 +400,7 @@ export default new Props();
400
400
  <div class='footer quiet pad2 space-top1 center small'>
401
401
  Code coverage generated by
402
402
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
403
- at Wed May 25 2022 14:21:49 GMT+0800 (China Standard Time)
403
+ at Mon Jun 06 2022 15:27:48 GMT+0800 (China Standard Time)
404
404
  </div>
405
405
  <script src="../../prettify.js"></script>
406
406
  <script>
@@ -565,7 +565,7 @@ export default new Ui();
565
565
  <div class='footer quiet pad2 space-top1 center small'>
566
566
  Code coverage generated by
567
567
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
568
- at Wed May 25 2022 14:21:49 GMT+0800 (China Standard Time)
568
+ at Mon Jun 06 2022 15:27:48 GMT+0800 (China Standard Time)
569
569
  </div>
570
570
  <script src="../../prettify.js"></script>
571
571
  <script>
@@ -835,7 +835,7 @@ export enum Keys {
835
835
  <div class='footer quiet pad2 space-top1 center small'>
836
836
  Code coverage generated by
837
837
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
838
- at Wed May 25 2022 14:21:49 GMT+0800 (China Standard Time)
838
+ at Mon Jun 06 2022 15:27:48 GMT+0800 (China Standard Time)
839
839
  </div>
840
840
  <script src="../prettify.js"></script>
841
841
  <script>
@@ -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 Wed May 25 2022 14:21:49 GMT+0800 (China Standard Time)
172
+ at Mon Jun 06 2022 15:27:48 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 Wed May 25 2022 14:21:49 GMT+0800 (China Standard Time)
160
+ at Mon Jun 06 2022 15:27:48 GMT+0800 (China Standard Time)
161
161
  </div>
162
162
  <script src="../../prettify.js"></script>
163
163
  <script>
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">80.16% </span>
26
+ <span class="strong">78.86% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>97/121</span>
28
+ <span class='fraction'>97/123</span>
29
29
  </div>
30
30
 
31
31
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">78.12% </span>
47
+ <span class="strong">76.53% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>75/96</span>
49
+ <span class='fraction'>75/98</span>
50
50
  </div>
51
51
 
52
52
 
@@ -61,7 +61,7 @@
61
61
  </div>
62
62
  </template>
63
63
  </div>
64
- <div class='status-line high'></div>
64
+ <div class='status-line medium'></div>
65
65
  <pre><table class="coverage">
66
66
  <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
67
  <a name='L2'></a><a href='#L2'>2</a>
@@ -314,7 +314,11 @@
314
314
  <a name='L249'></a><a href='#L249'>249</a>
315
315
  <a name='L250'></a><a href='#L250'>250</a>
316
316
  <a name='L251'></a><a href='#L251'>251</a>
317
- <a name='L252'></a><a href='#L252'>252</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
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></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
318
322
  <span class="cline-any cline-neutral">&nbsp;</span>
319
323
  <span class="cline-any cline-neutral">&nbsp;</span>
320
324
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -463,6 +467,10 @@
463
467
  <span class="cline-any cline-yes">3x</span>
464
468
  <span class="cline-any cline-neutral">&nbsp;</span>
465
469
  <span class="cline-any cline-no">&nbsp;</span>
470
+ <span class="cline-any cline-no">&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-no">&nbsp;</span>
466
474
  <span class="cline-any cline-neutral">&nbsp;</span>
467
475
  <span class="cline-any cline-no">&nbsp;</span>
468
476
  <span class="cline-any cline-no">&nbsp;</span>
@@ -709,9 +717,13 @@ export const toRelative = (node: MNode) =&gt; {
709
717
  &nbsp;
710
718
  const setTop2Middle = (node: MNode, parentNode: MNode, stage: StageCore) =&gt; {
711
719
  const style = node.style || <span class="branch-1 cbranch-no" title="branch not covered" >{};</span>
712
- const height = style.height || 0;
720
+ let height = style.height || 0;
721
+ &nbsp;
722
+ 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> return style;
713
723
  &nbsp;
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;
724
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!isNumber(height)) {</span>
725
+ <span class="cstat-no" title="statement not covered" > height = 0;</span>
726
+ }
715
727
  &nbsp;
716
728
  const { height: parentHeight } = <span class="cstat-no" title="statement not covered" >parentNode.style;</span>
717
729
  &nbsp;
@@ -823,7 +835,7 @@ export const Fixed2Other = async (
823
835
  <div class='footer quiet pad2 space-top1 center small'>
824
836
  Code coverage generated by
825
837
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
826
- at Wed May 25 2022 14:21:49 GMT+0800 (China Standard Time)
838
+ at Mon Jun 06 2022 15:27:48 GMT+0800 (China Standard Time)
827
839
  </div>
828
840
  <script src="../../prettify.js"></script>
829
841
  <script>