@tmagic/editor 1.0.0-beta.13 → 1.0.0-beta.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/coverage/clover.xml +646 -550
- package/coverage/coverage-final.json +19 -18
- package/coverage/lcov-report/index.html +55 -55
- package/coverage/lcov-report/src/Editor.vue.html +1 -1
- package/coverage/lcov-report/{layouts/sidebar/LayerMenu.vue.html → src/components/ContentMenu.vue.html} +137 -95
- package/coverage/lcov-report/src/components/Icon.vue.html +5 -5
- package/coverage/lcov-report/src/components/ScrollViewer.vue.html +1 -1
- package/coverage/lcov-report/src/components/ToolButton.vue.html +180 -63
- package/coverage/lcov-report/src/components/index.html +34 -19
- package/coverage/lcov-report/src/index.html +1 -1
- package/coverage/lcov-report/src/layouts/AddPageBox.vue.html +1 -1
- package/coverage/lcov-report/src/layouts/Framework.vue.html +13 -13
- package/coverage/lcov-report/src/layouts/NavMenu.vue.html +1 -1
- package/coverage/lcov-report/src/layouts/PropsPanel.vue.html +1 -1
- package/coverage/lcov-report/src/layouts/Resizer.vue.html +1 -1
- package/coverage/lcov-report/src/layouts/index.html +15 -15
- package/coverage/lcov-report/src/layouts/sidebar/ComponentListPanel.vue.html +78 -12
- package/coverage/lcov-report/src/layouts/sidebar/LayerMenu.vue.html +149 -92
- package/coverage/lcov-report/src/layouts/sidebar/LayerPanel.vue.html +43 -121
- package/coverage/lcov-report/src/layouts/sidebar/Sidebar.vue.html +1 -1
- package/coverage/lcov-report/src/layouts/sidebar/index.html +40 -40
- package/coverage/lcov-report/src/layouts/workspace/PageBar.vue.html +99 -12
- package/coverage/lcov-report/src/layouts/workspace/Stage.vue.html +86 -95
- package/coverage/lcov-report/src/layouts/workspace/ViewerMenu.vue.html +208 -97
- package/coverage/lcov-report/src/layouts/workspace/Workspace.vue.html +3 -3
- package/coverage/lcov-report/src/layouts/workspace/index.html +35 -35
- package/coverage/lcov-report/src/services/BaseService.ts.html +11 -11
- package/coverage/lcov-report/src/services/componentList.ts.html +1 -1
- package/coverage/lcov-report/src/services/editor.ts.html +102 -9
- package/coverage/lcov-report/src/services/events.ts.html +1 -1
- package/coverage/lcov-report/src/services/history.ts.html +29 -8
- package/coverage/lcov-report/src/services/index.html +25 -25
- package/coverage/lcov-report/src/services/props.ts.html +4 -7
- package/coverage/lcov-report/src/services/ui.ts.html +1 -1
- package/coverage/lcov-report/src/type.ts.html +8 -14
- package/coverage/lcov-report/src/utils/compose.ts.html +4 -4
- package/coverage/lcov-report/src/utils/config.ts.html +1 -1
- package/coverage/lcov-report/src/utils/editor.ts.html +2 -2
- package/coverage/lcov-report/src/utils/index.html +1 -1
- package/coverage/lcov-report/src/utils/index.ts.html +1 -1
- package/coverage/lcov-report/src/utils/logger.ts.html +1 -1
- package/coverage/lcov-report/src/utils/props.ts.html +59 -2
- package/coverage/lcov-report/src/utils/scroll-viewer.ts.html +1 -1
- package/coverage/lcov-report/src/utils/undo-redo.ts.html +1 -1
- package/coverage/lcov.info +1623 -1354
- package/dist/style.css +39 -18
- package/dist/tmagic-editor.es.js +598 -412
- package/dist/tmagic-editor.es.js.map +1 -1
- package/dist/tmagic-editor.umd.js +595 -408
- package/dist/tmagic-editor.umd.js.map +1 -1
- package/dist/types/src/Editor.vue.d.ts +1 -1
- package/dist/types/src/components/ToolButton.vue.d.ts +12 -1
- package/dist/types/src/index.d.ts +1 -0
- package/dist/types/src/layouts/sidebar/ComponentListPanel.vue.d.ts +1 -0
- package/dist/types/src/layouts/workspace/PageBar.vue.d.ts +2 -0
- package/dist/types/src/services/history.d.ts +1 -0
- package/dist/types/src/services/props.d.ts +2 -2
- package/dist/types/src/type.d.ts +6 -8
- package/dist/types/src/utils/polyfills.d.ts +0 -0
- package/package.json +8 -7
- package/src/components/ContentMenu.vue +107 -0
- package/src/components/ToolButton.vue +66 -27
- package/src/index.ts +2 -0
- package/src/layouts/Framework.vue +6 -6
- package/src/layouts/sidebar/ComponentListPanel.vue +23 -1
- package/src/layouts/sidebar/LayerMenu.vue +91 -72
- package/src/layouts/sidebar/LayerPanel.vue +23 -49
- package/src/layouts/workspace/PageBar.vue +35 -6
- package/src/layouts/workspace/Stage.vue +41 -44
- package/src/layouts/workspace/ViewerMenu.vue +104 -67
- package/src/layouts/workspace/Workspace.vue +2 -2
- package/src/services/editor.ts +32 -1
- package/src/services/history.ts +7 -0
- package/src/services/props.ts +2 -3
- package/src/theme/common/var.scss +1 -0
- package/src/theme/component-list-panel.scss +2 -0
- package/src/theme/content-menu.scss +33 -26
- package/src/theme/layer-panel.scss +1 -1
- package/src/theme/page-bar.scss +22 -1
- package/src/type.ts +6 -8
- package/src/utils/editor.ts +1 -1
- package/src/utils/polyfills.ts +22 -0
- package/src/utils/props.ts +19 -0
- package/coverage/lcov-report/Icon.vue.html +0 -172
- package/coverage/lcov-report/ToolButton.vue.html +0 -655
- package/coverage/lcov-report/layouts/sidebar/index.html +0 -116
- package/coverage/lcov-report/utils/index.html +0 -116
- package/coverage/lcov-report/utils/undo-redo.ts.html +0 -313
- package/dist/types/src/layouts/sidebar/LayerPanel.vue.d.ts +0 -980
- package/dist/types/src/layouts/workspace/Stage.vue.d.ts +0 -188
- 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">
|
|
26
|
+
<span class="strong">60.94% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>966/1585</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">28.41% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>335/
|
|
35
|
+
<span class='fraction'>335/1179</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">56.66% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>221/390</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">63.35% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>894/1411</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -95,77 +95,77 @@
|
|
|
95
95
|
|
|
96
96
|
<tr>
|
|
97
97
|
<td class="file medium" data-value="src/components"><a href="src/components/index.html">src/components</a></td>
|
|
98
|
-
<td data-value="
|
|
99
|
-
<div class="chart"><div class="cover-fill" style="width:
|
|
98
|
+
<td data-value="64.8" class="pic medium">
|
|
99
|
+
<div class="chart"><div class="cover-fill" style="width: 64%"></div><div class="cover-empty" style="width: 36%"></div></div>
|
|
100
100
|
</td>
|
|
101
|
-
<td data-value="
|
|
102
|
-
<td data-value="
|
|
103
|
-
<td data-value="
|
|
104
|
-
<td data-value="
|
|
105
|
-
<td data-value="
|
|
106
|
-
<td data-value="
|
|
107
|
-
<td data-value="
|
|
108
|
-
<td data-value="
|
|
101
|
+
<td data-value="64.8" class="pct medium">64.8%</td>
|
|
102
|
+
<td data-value="125" class="abs medium">81/125</td>
|
|
103
|
+
<td data-value="40.97" class="pct low">40.97%</td>
|
|
104
|
+
<td data-value="144" class="abs low">59/144</td>
|
|
105
|
+
<td data-value="60.52" class="pct medium">60.52%</td>
|
|
106
|
+
<td data-value="38" class="abs medium">23/38</td>
|
|
107
|
+
<td data-value="71.17" class="pct medium">71.17%</td>
|
|
108
|
+
<td data-value="111" class="abs medium">79/111</td>
|
|
109
109
|
</tr>
|
|
110
110
|
|
|
111
111
|
<tr>
|
|
112
112
|
<td class="file medium" data-value="src/layouts"><a href="src/layouts/index.html">src/layouts</a></td>
|
|
113
|
-
<td data-value="
|
|
114
|
-
<div class="chart"><div class="cover-fill" style="width:
|
|
113
|
+
<td data-value="62.92" class="pic medium">
|
|
114
|
+
<div class="chart"><div class="cover-fill" style="width: 62%"></div><div class="cover-empty" style="width: 38%"></div></div>
|
|
115
115
|
</td>
|
|
116
|
-
<td data-value="
|
|
117
|
-
<td data-value="
|
|
118
|
-
<td data-value="
|
|
119
|
-
<td data-value="
|
|
120
|
-
<td data-value="
|
|
121
|
-
<td data-value="21" class="abs medium">
|
|
116
|
+
<td data-value="62.92" class="pct medium">62.92%</td>
|
|
117
|
+
<td data-value="89" class="abs medium">56/89</td>
|
|
118
|
+
<td data-value="30.43" class="pct low">30.43%</td>
|
|
119
|
+
<td data-value="69" class="abs low">21/69</td>
|
|
120
|
+
<td data-value="61.9" class="pct medium">61.9%</td>
|
|
121
|
+
<td data-value="21" class="abs medium">13/21</td>
|
|
122
122
|
<td data-value="67.1" class="pct medium">67.1%</td>
|
|
123
123
|
<td data-value="76" class="abs medium">51/76</td>
|
|
124
124
|
</tr>
|
|
125
125
|
|
|
126
126
|
<tr>
|
|
127
127
|
<td class="file low" data-value="src/layouts/sidebar"><a href="src/layouts/sidebar/index.html">src/layouts/sidebar</a></td>
|
|
128
|
-
<td data-value="47.
|
|
128
|
+
<td data-value="47.45" class="pic low">
|
|
129
129
|
<div class="chart"><div class="cover-fill" style="width: 47%"></div><div class="cover-empty" style="width: 53%"></div></div>
|
|
130
130
|
</td>
|
|
131
|
-
<td data-value="47.
|
|
132
|
-
<td data-value="
|
|
133
|
-
<td data-value="
|
|
134
|
-
<td data-value="
|
|
135
|
-
<td data-value="
|
|
136
|
-
<td data-value="
|
|
137
|
-
<td data-value="
|
|
138
|
-
<td data-value="
|
|
131
|
+
<td data-value="47.45" class="pct low">47.45%</td>
|
|
132
|
+
<td data-value="177" class="abs low">84/177</td>
|
|
133
|
+
<td data-value="18.06" class="pct low">18.06%</td>
|
|
134
|
+
<td data-value="238" class="abs low">43/238</td>
|
|
135
|
+
<td data-value="43.63" class="pct low">43.63%</td>
|
|
136
|
+
<td data-value="55" class="abs low">24/55</td>
|
|
137
|
+
<td data-value="50.32" class="pct medium">50.32%</td>
|
|
138
|
+
<td data-value="153" class="abs medium">77/153</td>
|
|
139
139
|
</tr>
|
|
140
140
|
|
|
141
141
|
<tr>
|
|
142
142
|
<td class="file low" data-value="src/layouts/workspace"><a href="src/layouts/workspace/index.html">src/layouts/workspace</a></td>
|
|
143
|
-
<td data-value="44.
|
|
143
|
+
<td data-value="44.32" class="pic low">
|
|
144
144
|
<div class="chart"><div class="cover-fill" style="width: 44%"></div><div class="cover-empty" style="width: 56%"></div></div>
|
|
145
145
|
</td>
|
|
146
|
-
<td data-value="44.
|
|
147
|
-
<td data-value="
|
|
148
|
-
<td data-value="16.
|
|
149
|
-
<td data-value="
|
|
150
|
-
<td data-value="
|
|
151
|
-
<td data-value="
|
|
152
|
-
<td data-value="45.
|
|
153
|
-
<td data-value="
|
|
146
|
+
<td data-value="44.32" class="pct low">44.32%</td>
|
|
147
|
+
<td data-value="282" class="abs low">125/282</td>
|
|
148
|
+
<td data-value="16.11" class="pct low">16.11%</td>
|
|
149
|
+
<td data-value="422" class="abs low">68/422</td>
|
|
150
|
+
<td data-value="36.55" class="pct low">36.55%</td>
|
|
151
|
+
<td data-value="93" class="abs low">34/93</td>
|
|
152
|
+
<td data-value="45.6" class="pct low">45.6%</td>
|
|
153
|
+
<td data-value="250" class="abs low">114/250</td>
|
|
154
154
|
</tr>
|
|
155
155
|
|
|
156
156
|
<tr>
|
|
157
157
|
<td class="file medium" data-value="src/services"><a href="src/services/index.html">src/services</a></td>
|
|
158
|
-
<td data-value="
|
|
159
|
-
<div class="chart"><div class="cover-fill" style="width:
|
|
158
|
+
<td data-value="71.14" class="pic medium">
|
|
159
|
+
<div class="chart"><div class="cover-fill" style="width: 71%"></div><div class="cover-empty" style="width: 29%"></div></div>
|
|
160
160
|
</td>
|
|
161
|
-
<td data-value="
|
|
162
|
-
<td data-value="
|
|
163
|
-
<td data-value="
|
|
164
|
-
<td data-value="
|
|
165
|
-
<td data-value="
|
|
166
|
-
<td data-value="
|
|
167
|
-
<td data-value="
|
|
168
|
-
<td data-value="
|
|
161
|
+
<td data-value="71.14" class="pct medium">71.14%</td>
|
|
162
|
+
<td data-value="506" class="abs medium">360/506</td>
|
|
163
|
+
<td data-value="47.02" class="pct low">47.02%</td>
|
|
164
|
+
<td data-value="185" class="abs low">87/185</td>
|
|
165
|
+
<td data-value="73.62" class="pct medium">73.62%</td>
|
|
166
|
+
<td data-value="91" class="abs medium">67/91</td>
|
|
167
|
+
<td data-value="74.78" class="pct medium">74.78%</td>
|
|
168
|
+
<td data-value="464" class="abs medium">347/464</td>
|
|
169
169
|
</tr>
|
|
170
170
|
|
|
171
171
|
<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
|
|
194
|
+
at Sat May 07 2022 17:04:32 GMT+0800 (China Standard Time)
|
|
195
195
|
</div>
|
|
196
196
|
<script src="prettify.js"></script>
|
|
197
197
|
<script>
|
|
@@ -772,7 +772,7 @@ export default defineComponent({
|
|
|
772
772
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
773
773
|
Code coverage generated by
|
|
774
774
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
775
|
-
at
|
|
775
|
+
at Sat May 07 2022 17:04:32 GMT+0800 (China Standard Time)
|
|
776
776
|
</div>
|
|
777
777
|
<script src="../prettify.js"></script>
|
|
778
778
|
<script>
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<html lang="en">
|
|
4
4
|
|
|
5
5
|
<head>
|
|
6
|
-
<title>Code coverage report for
|
|
6
|
+
<title>Code coverage report for src/components/ContentMenu.vue</title>
|
|
7
7
|
<meta charset="utf-8" />
|
|
8
8
|
<link rel="stylesheet" href="../../prettify.css" />
|
|
9
9
|
<link rel="stylesheet" href="../../base.css" />
|
|
@@ -19,34 +19,34 @@
|
|
|
19
19
|
<body>
|
|
20
20
|
<div class='wrapper'>
|
|
21
21
|
<div class='pad1'>
|
|
22
|
-
<h1><a href="../../index.html">All files</a> / <a href="index.html">
|
|
22
|
+
<h1><a href="../../index.html">All files</a> / <a href="index.html">src/components</a> ContentMenu.vue</h1>
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">40% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>12/30</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">0% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>0/23</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">25% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>2/8</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">40% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>12/30</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
|
|
64
|
+
<div class='status-line low'></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>
|
|
@@ -156,12 +156,21 @@
|
|
|
156
156
|
<a name='L91'></a><a href='#L91'>91</a>
|
|
157
157
|
<a name='L92'></a><a href='#L92'>92</a>
|
|
158
158
|
<a name='L93'></a><a href='#L93'>93</a>
|
|
159
|
-
<a name='L94'></a><a href='#L94'>94</a
|
|
160
|
-
<
|
|
161
|
-
<
|
|
162
|
-
<
|
|
163
|
-
<
|
|
164
|
-
<
|
|
159
|
+
<a name='L94'></a><a href='#L94'>94</a>
|
|
160
|
+
<a name='L95'></a><a href='#L95'>95</a>
|
|
161
|
+
<a name='L96'></a><a href='#L96'>96</a>
|
|
162
|
+
<a name='L97'></a><a href='#L97'>97</a>
|
|
163
|
+
<a name='L98'></a><a href='#L98'>98</a>
|
|
164
|
+
<a name='L99'></a><a href='#L99'>99</a>
|
|
165
|
+
<a name='L100'></a><a href='#L100'>100</a>
|
|
166
|
+
<a name='L101'></a><a href='#L101'>101</a>
|
|
167
|
+
<a name='L102'></a><a href='#L102'>102</a>
|
|
168
|
+
<a name='L103'></a><a href='#L103'>103</a>
|
|
169
|
+
<a name='L104'></a><a href='#L104'>104</a>
|
|
170
|
+
<a name='L105'></a><a href='#L105'>105</a>
|
|
171
|
+
<a name='L106'></a><a href='#L106'>106</a>
|
|
172
|
+
<a name='L107'></a><a href='#L107'>107</a>
|
|
173
|
+
<a name='L108'></a><a href='#L108'>108</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
165
174
|
<span class="cline-any cline-neutral"> </span>
|
|
166
175
|
<span class="cline-any cline-neutral"> </span>
|
|
167
176
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -180,54 +189,70 @@
|
|
|
180
189
|
<span class="cline-any cline-neutral"> </span>
|
|
181
190
|
<span class="cline-any cline-neutral"> </span>
|
|
182
191
|
<span class="cline-any cline-neutral"> </span>
|
|
192
|
+
<span class="cline-any cline-yes">2x</span>
|
|
183
193
|
<span class="cline-any cline-neutral"> </span>
|
|
184
194
|
<span class="cline-any cline-neutral"> </span>
|
|
185
195
|
<span class="cline-any cline-neutral"> </span>
|
|
196
|
+
<span class="cline-any cline-yes">2x</span>
|
|
186
197
|
<span class="cline-any cline-neutral"> </span>
|
|
198
|
+
<span class="cline-any cline-yes">2x</span>
|
|
187
199
|
<span class="cline-any cline-neutral"> </span>
|
|
188
200
|
<span class="cline-any cline-neutral"> </span>
|
|
189
201
|
<span class="cline-any cline-neutral"> </span>
|
|
190
202
|
<span class="cline-any cline-neutral"> </span>
|
|
191
203
|
<span class="cline-any cline-neutral"> </span>
|
|
204
|
+
<span class="cline-any cline-no"> </span>
|
|
192
205
|
<span class="cline-any cline-neutral"> </span>
|
|
193
206
|
<span class="cline-any cline-neutral"> </span>
|
|
194
207
|
<span class="cline-any cline-neutral"> </span>
|
|
195
208
|
<span class="cline-any cline-neutral"> </span>
|
|
209
|
+
<span class="cline-any cline-yes">6x</span>
|
|
210
|
+
<span class="cline-any cline-yes">6x</span>
|
|
211
|
+
<span class="cline-any cline-yes">6x</span>
|
|
212
|
+
<span class="cline-any cline-yes">6x</span>
|
|
213
|
+
<span class="cline-any cline-yes">6x</span>
|
|
196
214
|
<span class="cline-any cline-neutral"> </span>
|
|
197
215
|
<span class="cline-any cline-neutral"> </span>
|
|
198
216
|
<span class="cline-any cline-neutral"> </span>
|
|
199
217
|
<span class="cline-any cline-neutral"> </span>
|
|
218
|
+
<span class="cline-any cline-yes">6x</span>
|
|
219
|
+
<span class="cline-any cline-no"> </span>
|
|
200
220
|
<span class="cline-any cline-neutral"> </span>
|
|
201
221
|
<span class="cline-any cline-neutral"> </span>
|
|
222
|
+
<span class="cline-any cline-yes">6x</span>
|
|
223
|
+
<span class="cline-any cline-yes">6x</span>
|
|
202
224
|
<span class="cline-any cline-neutral"> </span>
|
|
203
225
|
<span class="cline-any cline-neutral"> </span>
|
|
226
|
+
<span class="cline-any cline-no"> </span>
|
|
227
|
+
<span class="cline-any cline-no"> </span>
|
|
204
228
|
<span class="cline-any cline-neutral"> </span>
|
|
229
|
+
<span class="cline-any cline-no"> </span>
|
|
205
230
|
<span class="cline-any cline-neutral"> </span>
|
|
206
231
|
<span class="cline-any cline-neutral"> </span>
|
|
207
232
|
<span class="cline-any cline-neutral"> </span>
|
|
208
|
-
<span class="cline-any cline-yes">1x</span>
|
|
209
233
|
<span class="cline-any cline-neutral"> </span>
|
|
210
234
|
<span class="cline-any cline-neutral"> </span>
|
|
235
|
+
<span class="cline-any cline-yes">6x</span>
|
|
211
236
|
<span class="cline-any cline-neutral"> </span>
|
|
212
237
|
<span class="cline-any cline-neutral"> </span>
|
|
213
238
|
<span class="cline-any cline-neutral"> </span>
|
|
214
|
-
<span class="cline-any cline-yes">1x</span>
|
|
215
239
|
<span class="cline-any cline-neutral"> </span>
|
|
216
240
|
<span class="cline-any cline-neutral"> </span>
|
|
217
241
|
<span class="cline-any cline-neutral"> </span>
|
|
218
|
-
<span class="cline-any cline-yes">4x</span>
|
|
219
|
-
<span class="cline-any cline-yes">4x</span>
|
|
220
|
-
<span class="cline-any cline-yes">4x</span>
|
|
221
242
|
<span class="cline-any cline-neutral"> </span>
|
|
222
|
-
<span class="cline-any cline-yes">4x</span>
|
|
223
243
|
<span class="cline-any cline-neutral"> </span>
|
|
224
244
|
<span class="cline-any cline-neutral"> </span>
|
|
245
|
+
<span class="cline-any cline-no"> </span>
|
|
225
246
|
<span class="cline-any cline-neutral"> </span>
|
|
247
|
+
<span class="cline-any cline-no"> </span>
|
|
248
|
+
<span class="cline-any cline-no"> </span>
|
|
226
249
|
<span class="cline-any cline-neutral"> </span>
|
|
227
250
|
<span class="cline-any cline-no"> </span>
|
|
251
|
+
<span class="cline-any cline-no"> </span>
|
|
252
|
+
<span class="cline-any cline-no"> </span>
|
|
228
253
|
<span class="cline-any cline-neutral"> </span>
|
|
229
254
|
<span class="cline-any cline-neutral"> </span>
|
|
230
|
-
<span class="cline-any cline-
|
|
255
|
+
<span class="cline-any cline-no"> </span>
|
|
231
256
|
<span class="cline-any cline-neutral"> </span>
|
|
232
257
|
<span class="cline-any cline-neutral"> </span>
|
|
233
258
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -235,108 +260,125 @@
|
|
|
235
260
|
<span class="cline-any cline-neutral"> </span>
|
|
236
261
|
<span class="cline-any cline-neutral"> </span>
|
|
237
262
|
<span class="cline-any cline-neutral"> </span>
|
|
238
|
-
<span class="cline-any cline-
|
|
263
|
+
<span class="cline-any cline-no"> </span>
|
|
264
|
+
<span class="cline-any cline-no"> </span>
|
|
265
|
+
<span class="cline-any cline-no"> </span>
|
|
239
266
|
<span class="cline-any cline-neutral"> </span>
|
|
240
267
|
<span class="cline-any cline-neutral"> </span>
|
|
268
|
+
<span class="cline-any cline-no"> </span>
|
|
269
|
+
<span class="cline-any cline-no"> </span>
|
|
270
|
+
<span class="cline-any cline-no"> </span>
|
|
241
271
|
<span class="cline-any cline-neutral"> </span>
|
|
242
|
-
<span class="cline-any cline-yes">1x</span>
|
|
243
272
|
<span class="cline-any cline-neutral"> </span>
|
|
244
273
|
<span class="cline-any cline-neutral"> </span>
|
|
245
274
|
<span class="cline-any cline-neutral"> </span>
|
|
246
|
-
<span class="cline-any cline-yes">1x</span>
|
|
247
275
|
<span class="cline-any cline-neutral"> </span>
|
|
248
276
|
<span class="cline-any cline-neutral"> </span>
|
|
249
277
|
<span class="cline-any cline-neutral"> </span>
|
|
250
278
|
<span class="cline-any cline-neutral"> </span>
|
|
251
279
|
<span class="cline-any cline-neutral"> </span>
|
|
252
280
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js"><template>
|
|
253
|
-
<div v-if="
|
|
254
|
-
<div
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
<div
|
|
264
|
-
v-if="node.type !== 'app' && node.type !== 'page'"
|
|
265
|
-
class="magic-editor-content-menu-item"
|
|
266
|
-
@click="() => remove()"
|
|
267
|
-
>
|
|
268
|
-
删除
|
|
269
|
-
</div>
|
|
270
|
-
<div class="subMenu" v-show="subVisible" @mouseenter="setSubVisitable(true)" @mouseleave="setSubVisitable(false)">
|
|
271
|
-
<el-scrollbar>
|
|
272
|
-
<template v-if="node.type === 'tabs'">
|
|
273
|
-
<div
|
|
274
|
-
class="magic-editor-content-menu-item"
|
|
275
|
-
@click="
|
|
276
|
-
() =>
|
|
277
|
-
append({
|
|
278
|
-
type: 'tab-pane',
|
|
279
|
-
})
|
|
280
|
-
"
|
|
281
|
-
>
|
|
282
|
-
标签
|
|
283
|
-
</div>
|
|
284
|
-
</template>
|
|
285
|
-
<template v-else-if="node.items">
|
|
286
|
-
<div v-for="list in componentGroupList" :key="list.title">
|
|
287
|
-
<template v-for="item in list.items">
|
|
288
|
-
<div class="magic-editor-content-menu-item" v-if="item" :key="item.type" @click="() => append(item)">
|
|
289
|
-
{{ item.text }}
|
|
290
|
-
</div>
|
|
291
|
-
</template>
|
|
292
|
-
<div class="separation"></div>
|
|
293
|
-
</div>
|
|
294
|
-
</template>
|
|
295
|
-
</el-scrollbar>
|
|
281
|
+
<div v-if="menuData.length" v-show="visible" class="magic-editor-content-menu" ref="menu" :style="menuStyle">
|
|
282
|
+
<div>
|
|
283
|
+
<tool-button
|
|
284
|
+
v-for="(item, index) in menuData"
|
|
285
|
+
event-type="mouseup"
|
|
286
|
+
:data="item"
|
|
287
|
+
:key="index"
|
|
288
|
+
@mouseup="hide"
|
|
289
|
+
@mouseenter="showSubMenu(item)"
|
|
290
|
+
></tool-button>
|
|
296
291
|
</div>
|
|
292
|
+
<teleport to="body">
|
|
293
|
+
<content-menu class="sub-menu" ref="subMenu" :menu-data="subMenuData"></content-menu>
|
|
294
|
+
</teleport>
|
|
297
295
|
</div>
|
|
298
296
|
</template>
|
|
299
297
|
|
|
300
298
|
<script lang="ts">
|
|
301
|
-
import {
|
|
299
|
+
import { defineComponent, nextTick, onMounted, PropType, ref } from 'vue';
|
|
302
300
|
|
|
303
|
-
import
|
|
301
|
+
import { MenuButton, MenuItem } from '@editor/type';
|
|
304
302
|
|
|
305
|
-
import
|
|
303
|
+
import ToolButton from './ToolButton.vue';
|
|
306
304
|
|
|
307
305
|
export default defineComponent({
|
|
308
|
-
|
|
306
|
+
components: { ToolButton },
|
|
307
|
+
|
|
308
|
+
props: {
|
|
309
|
+
menuData: {
|
|
310
|
+
type: Array as PropType<MenuItem[]>,
|
|
311
|
+
default: <span class="fstat-no" title="function not covered" >() => <span class="cstat-no" title="statement not covered" >[</span>],</span>
|
|
312
|
+
},
|
|
313
|
+
},
|
|
309
314
|
|
|
310
315
|
setup() {
|
|
311
|
-
const
|
|
312
|
-
const
|
|
313
|
-
const
|
|
316
|
+
const menu = ref<HTMLDivElement>();
|
|
317
|
+
const subMenu = ref<any>();
|
|
318
|
+
const visible = ref(false);
|
|
319
|
+
const subMenuData = ref<MenuItem[]>([]);
|
|
320
|
+
const menuStyle = ref({
|
|
321
|
+
left: '0',
|
|
322
|
+
top: '0',
|
|
323
|
+
});
|
|
324
|
+
|
|
325
|
+
const hide = <span class="fstat-no" title="function not covered" >() => {</span>
|
|
326
|
+
<span class="cstat-no" title="statement not covered" > visible.</span>value = false;
|
|
327
|
+
};
|
|
328
|
+
|
|
329
|
+
onMounted(() => {
|
|
330
|
+
globalThis.addEventListener(
|
|
331
|
+
'mousedown',
|
|
332
|
+
<span class="fstat-no" title="function not covered" > (e</span>: MouseEvent) => {
|
|
333
|
+
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!visible.value || (e.target && menu.value?.contains(e.target as HTMLElement))) {</span>
|
|
334
|
+
<span class="cstat-no" title="statement not covered" > return;</span>
|
|
335
|
+
}
|
|
336
|
+
<span class="cstat-no" title="statement not covered" > hide();</span>
|
|
337
|
+
},
|
|
338
|
+
true,
|
|
339
|
+
);
|
|
340
|
+
});
|
|
314
341
|
|
|
315
342
|
return {
|
|
316
|
-
|
|
343
|
+
menu,
|
|
344
|
+
subMenu,
|
|
345
|
+
visible,
|
|
346
|
+
menuStyle,
|
|
347
|
+
subMenuData,
|
|
317
348
|
|
|
318
|
-
|
|
349
|
+
hide,
|
|
319
350
|
|
|
320
|
-
|
|
351
|
+
<span class="fstat-no" title="function not covered" > show(</span>e: MouseEvent) {
|
|
352
|
+
<span class="cstat-no" title="statement not covered" > visible.</span>value = true;
|
|
321
353
|
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
name: config.text,
|
|
325
|
-
type: config.type,
|
|
326
|
-
...(config.data || {}),
|
|
327
|
-
});
|
|
328
|
-
},
|
|
354
|
+
<span class="cstat-no" title="statement not covered" > nextTick(<span class="fstat-no" title="function not covered" >(</span>) => {</span>
|
|
355
|
+
const menuHeight = <span class="cstat-no" title="statement not covered" >menu.value?.clientHeight || 0;</span>
|
|
329
356
|
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
357
|
+
let top = <span class="cstat-no" title="statement not covered" >e.clientY;</span>
|
|
358
|
+
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (menuHeight + e.clientY > document.body.clientHeight) {</span>
|
|
359
|
+
<span class="cstat-no" title="statement not covered" > top </span>= document.body.clientHeight - menuHeight;
|
|
360
|
+
}
|
|
333
361
|
|
|
334
|
-
|
|
335
|
-
|
|
362
|
+
<span class="cstat-no" title="statement not covered" > menuStyle.</span>value = {
|
|
363
|
+
top: `${top}px`,
|
|
364
|
+
left: `${e.clientX}px`,
|
|
365
|
+
};
|
|
366
|
+
});
|
|
336
367
|
},
|
|
337
368
|
|
|
338
|
-
|
|
339
|
-
|
|
369
|
+
<span class="fstat-no" title="function not covered" > showSubMenu(</span>item: MenuItem) {
|
|
370
|
+
const menuItem = <span class="cstat-no" title="statement not covered" >item as MenuButton;</span>
|
|
371
|
+
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (typeof item !== 'object' || !menuItem.items?.length) {</span>
|
|
372
|
+
<span class="cstat-no" title="statement not covered" > return;</span>
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
<span class="cstat-no" title="statement not covered" > subMenuData.</span>value = menuItem.items;
|
|
376
|
+
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (menu.value) {</span>
|
|
377
|
+
<span class="cstat-no" title="statement not covered" > subMenu.</span>value.show({
|
|
378
|
+
clientX: menu.value.offsetLeft + menu.value.clientWidth,
|
|
379
|
+
clientY: menu.value.offsetTop,
|
|
380
|
+
});
|
|
381
|
+
}
|
|
340
382
|
},
|
|
341
383
|
};
|
|
342
384
|
},
|
|
@@ -349,7 +391,7 @@ export default defineComponent({
|
|
|
349
391
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
350
392
|
Code coverage generated by
|
|
351
393
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
352
|
-
at
|
|
394
|
+
at Sat May 07 2022 17:04:32 GMT+0800 (China Standard Time)
|
|
353
395
|
</div>
|
|
354
396
|
<script src="../../prettify.js"></script>
|
|
355
397
|
<script>
|
|
@@ -100,10 +100,10 @@
|
|
|
100
100
|
<span class="cline-any cline-neutral"> </span>
|
|
101
101
|
<span class="cline-any cline-neutral"> </span>
|
|
102
102
|
<span class="cline-any cline-neutral"> </span>
|
|
103
|
-
<span class="cline-any cline-yes">
|
|
104
|
-
<span class="cline-any cline-yes">
|
|
103
|
+
<span class="cline-any cline-yes">4x</span>
|
|
104
|
+
<span class="cline-any cline-yes">4x</span>
|
|
105
105
|
<span class="cline-any cline-neutral"> </span>
|
|
106
|
-
<span class="cline-any cline-yes">
|
|
106
|
+
<span class="cline-any cline-yes">4x</span>
|
|
107
107
|
<span class="cline-any cline-neutral"> </span>
|
|
108
108
|
<span class="cline-any cline-neutral"> </span>
|
|
109
109
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -115,7 +115,7 @@
|
|
|
115
115
|
<span class="cline-any cline-neutral"> </span>
|
|
116
116
|
<span class="cline-any cline-neutral"> </span>
|
|
117
117
|
<span class="cline-any cline-neutral"> </span>
|
|
118
|
-
<span class="cline-any cline-yes">
|
|
118
|
+
<span class="cline-any cline-yes">22x</span>
|
|
119
119
|
<span class="cline-any cline-neutral"> </span>
|
|
120
120
|
<span class="cline-any cline-neutral"> </span>
|
|
121
121
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -157,7 +157,7 @@ export default defineComponent({
|
|
|
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
|
|
160
|
+
at Sat May 07 2022 17:04:32 GMT+0800 (China Standard Time)
|
|
161
161
|
</div>
|
|
162
162
|
<script src="../../prettify.js"></script>
|
|
163
163
|
<script>
|
|
@@ -268,7 +268,7 @@ export default defineComponent({
|
|
|
268
268
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
269
269
|
Code coverage generated by
|
|
270
270
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
271
|
-
at
|
|
271
|
+
at Sat May 07 2022 17:04:32 GMT+0800 (China Standard Time)
|
|
272
272
|
</div>
|
|
273
273
|
<script src="../../prettify.js"></script>
|
|
274
274
|
<script>
|