@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.
- package/coverage/clover.xml +703 -601
- package/coverage/coverage-final.json +35 -33
- package/coverage/lcov-report/index.html +56 -56
- 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 +23 -140
- package/coverage/lcov-report/{utils/undo-redo.ts.html → src/layouts/sidebar/TabPane.vue.html} +94 -118
- package/coverage/lcov-report/src/layouts/sidebar/index.html +64 -49
- 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 +103 -10
- 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 +1679 -1402
- package/dist/style.css +47 -20
- package/dist/tmagic-editor.es.js +732 -485
- package/dist/tmagic-editor.es.js.map +1 -1
- package/dist/tmagic-editor.umd.js +733 -485
- 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/fields/UISelect.vue.d.ts +4 -1
- package/dist/types/src/index.d.ts +1 -0
- package/dist/types/src/layouts/CodeEditor.vue.d.ts +13 -4
- package/dist/types/src/layouts/sidebar/ComponentListPanel.vue.d.ts +1 -0
- package/dist/types/src/layouts/sidebar/Sidebar.vue.d.ts +2 -3
- package/dist/types/src/layouts/sidebar/TabPane.vue.d.ts +14 -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 +15 -10
- package/src/components/ContentMenu.vue +107 -0
- package/src/components/ToolButton.vue +66 -27
- package/src/fields/UISelect.vue +14 -6
- package/src/index.ts +2 -0
- package/src/layouts/CodeEditor.vue +20 -10
- 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/sidebar/Sidebar.vue +13 -52
- package/src/layouts/sidebar/TabPane.vue +68 -0
- 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 +33 -2
- 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/nav-menu.scss +6 -2
- package/src/theme/page-bar.scss +22 -1
- package/src/theme/props-panel.scss +4 -0
- 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/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">69.23% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>36/52</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">22.35% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>19/85</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">60% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>15/25</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">68.08% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>32/47</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -175,37 +175,57 @@
|
|
|
175
175
|
<a name='L110'></a><a href='#L110'>110</a>
|
|
176
176
|
<a name='L111'></a><a href='#L111'>111</a>
|
|
177
177
|
<a name='L112'></a><a href='#L112'>112</a>
|
|
178
|
-
<a name='L113'></a><a href='#L113'>113</a
|
|
179
|
-
<
|
|
180
|
-
<
|
|
181
|
-
<
|
|
182
|
-
<
|
|
183
|
-
<
|
|
184
|
-
<
|
|
185
|
-
<
|
|
186
|
-
<
|
|
187
|
-
<
|
|
188
|
-
<
|
|
189
|
-
<
|
|
190
|
-
<
|
|
191
|
-
<
|
|
192
|
-
<
|
|
193
|
-
<
|
|
194
|
-
<
|
|
195
|
-
<
|
|
196
|
-
<
|
|
197
|
-
<
|
|
178
|
+
<a name='L113'></a><a href='#L113'>113</a>
|
|
179
|
+
<a name='L114'></a><a href='#L114'>114</a>
|
|
180
|
+
<a name='L115'></a><a href='#L115'>115</a>
|
|
181
|
+
<a name='L116'></a><a href='#L116'>116</a>
|
|
182
|
+
<a name='L117'></a><a href='#L117'>117</a>
|
|
183
|
+
<a name='L118'></a><a href='#L118'>118</a>
|
|
184
|
+
<a name='L119'></a><a href='#L119'>119</a>
|
|
185
|
+
<a name='L120'></a><a href='#L120'>120</a>
|
|
186
|
+
<a name='L121'></a><a href='#L121'>121</a>
|
|
187
|
+
<a name='L122'></a><a href='#L122'>122</a>
|
|
188
|
+
<a name='L123'></a><a href='#L123'>123</a>
|
|
189
|
+
<a name='L124'></a><a href='#L124'>124</a>
|
|
190
|
+
<a name='L125'></a><a href='#L125'>125</a>
|
|
191
|
+
<a name='L126'></a><a href='#L126'>126</a>
|
|
192
|
+
<a name='L127'></a><a href='#L127'>127</a>
|
|
193
|
+
<a name='L128'></a><a href='#L128'>128</a>
|
|
194
|
+
<a name='L129'></a><a href='#L129'>129</a>
|
|
195
|
+
<a name='L130'></a><a href='#L130'>130</a>
|
|
196
|
+
<a name='L131'></a><a href='#L131'>131</a>
|
|
197
|
+
<a name='L132'></a><a href='#L132'>132</a>
|
|
198
|
+
<a name='L133'></a><a href='#L133'>133</a>
|
|
199
|
+
<a name='L134'></a><a href='#L134'>134</a>
|
|
200
|
+
<a name='L135'></a><a href='#L135'>135</a>
|
|
201
|
+
<a name='L136'></a><a href='#L136'>136</a>
|
|
202
|
+
<a name='L137'></a><a href='#L137'>137</a>
|
|
203
|
+
<a name='L138'></a><a href='#L138'>138</a>
|
|
204
|
+
<a name='L139'></a><a href='#L139'>139</a>
|
|
205
|
+
<a name='L140'></a><a href='#L140'>140</a>
|
|
206
|
+
<a name='L141'></a><a href='#L141'>141</a>
|
|
207
|
+
<a name='L142'></a><a href='#L142'>142</a>
|
|
208
|
+
<a name='L143'></a><a href='#L143'>143</a>
|
|
209
|
+
<a name='L144'></a><a href='#L144'>144</a>
|
|
210
|
+
<a name='L145'></a><a href='#L145'>145</a>
|
|
211
|
+
<a name='L146'></a><a href='#L146'>146</a>
|
|
212
|
+
<a name='L147'></a><a href='#L147'>147</a>
|
|
213
|
+
<a name='L148'></a><a href='#L148'>148</a>
|
|
214
|
+
<a name='L149'></a><a href='#L149'>149</a>
|
|
215
|
+
<a name='L150'></a><a href='#L150'>150</a></td><td class="line-coverage quiet"><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>
|
|
200
218
|
<span class="cline-any cline-neutral"> </span>
|
|
201
219
|
<span class="cline-any cline-neutral"> </span>
|
|
202
220
|
<span class="cline-any cline-yes">2x</span>
|
|
221
|
+
<span class="cline-any cline-yes">2x</span>
|
|
203
222
|
<span class="cline-any cline-neutral"> </span>
|
|
204
223
|
<span class="cline-any cline-yes">2x</span>
|
|
205
224
|
<span class="cline-any cline-neutral"> </span>
|
|
206
225
|
<span class="cline-any cline-neutral"> </span>
|
|
207
226
|
<span class="cline-any cline-yes">2x</span>
|
|
208
227
|
<span class="cline-any cline-yes">2x</span>
|
|
228
|
+
<span class="cline-any cline-yes">2x</span>
|
|
209
229
|
<span class="cline-any cline-neutral"> </span>
|
|
210
230
|
<span class="cline-any cline-yes">2x</span>
|
|
211
231
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -219,6 +239,7 @@
|
|
|
219
239
|
<span class="cline-any cline-neutral"> </span>
|
|
220
240
|
<span class="cline-any cline-yes">2x</span>
|
|
221
241
|
<span class="cline-any cline-yes">2x</span>
|
|
242
|
+
<span class="cline-any cline-yes">2x</span>
|
|
222
243
|
<span class="cline-any cline-neutral"> </span>
|
|
223
244
|
<span class="cline-any cline-yes">2x</span>
|
|
224
245
|
<span class="cline-any cline-yes">2x</span>
|
|
@@ -241,46 +262,99 @@
|
|
|
241
262
|
<span class="cline-any cline-neutral"> </span>
|
|
242
263
|
<span class="cline-any cline-neutral"> </span>
|
|
243
264
|
<span class="cline-any cline-neutral"> </span>
|
|
244
|
-
<span class="cline-any cline-yes">2x</span>
|
|
245
|
-
<span class="cline-any cline-yes">2x</span>
|
|
246
265
|
<span class="cline-any cline-neutral"> </span>
|
|
247
266
|
<span class="cline-any cline-neutral"> </span>
|
|
267
|
+
<span class="cline-any cline-yes">2x</span>
|
|
248
268
|
<span class="cline-any cline-neutral"> </span>
|
|
249
269
|
<span class="cline-any cline-no"> </span>
|
|
250
270
|
<span class="cline-any cline-neutral"> </span>
|
|
251
271
|
<span class="cline-any cline-neutral"> </span>
|
|
252
272
|
<span class="cline-any cline-neutral"> </span>
|
|
273
|
+
<span class="cline-any cline-neutral"> </span>
|
|
274
|
+
<span class="cline-any cline-neutral"> </span>
|
|
275
|
+
<span class="cline-any cline-neutral"> </span>
|
|
276
|
+
<span class="cline-any cline-neutral"> </span>
|
|
253
277
|
<span class="cline-any cline-no"> </span>
|
|
254
278
|
<span class="cline-any cline-no"> </span>
|
|
255
279
|
<span class="cline-any cline-neutral"> </span>
|
|
256
280
|
<span class="cline-any cline-neutral"> </span>
|
|
257
281
|
<span class="cline-any cline-neutral"> </span>
|
|
282
|
+
<span class="cline-any cline-neutral"> </span>
|
|
283
|
+
<span class="cline-any cline-neutral"> </span>
|
|
284
|
+
<span class="cline-any cline-yes">2x</span>
|
|
285
|
+
<span class="cline-any cline-neutral"> </span>
|
|
258
286
|
<span class="cline-any cline-no"> </span>
|
|
259
287
|
<span class="cline-any cline-no"> </span>
|
|
260
288
|
<span class="cline-any cline-no"> </span>
|
|
261
289
|
<span class="cline-any cline-neutral"> </span>
|
|
262
290
|
<span class="cline-any cline-neutral"> </span>
|
|
263
291
|
<span class="cline-any cline-neutral"> </span>
|
|
292
|
+
<span class="cline-any cline-neutral"> </span>
|
|
293
|
+
<span class="cline-any cline-neutral"> </span>
|
|
294
|
+
<span class="cline-any cline-yes">2x</span>
|
|
295
|
+
<span class="cline-any cline-neutral"> </span>
|
|
296
|
+
<span class="cline-any cline-neutral"> </span>
|
|
297
|
+
<span class="cline-any cline-neutral"> </span>
|
|
298
|
+
<span class="cline-any cline-neutral"> </span>
|
|
299
|
+
<span class="cline-any cline-neutral"> </span>
|
|
300
|
+
<span class="cline-any cline-yes">2x</span>
|
|
301
|
+
<span class="cline-any cline-neutral"> </span>
|
|
302
|
+
<span class="cline-any cline-no"> </span>
|
|
303
|
+
<span class="cline-any cline-neutral"> </span>
|
|
304
|
+
<span class="cline-any cline-neutral"> </span>
|
|
305
|
+
<span class="cline-any cline-neutral"> </span>
|
|
306
|
+
<span class="cline-any cline-neutral"> </span>
|
|
307
|
+
<span class="cline-any cline-neutral"> </span>
|
|
308
|
+
<span class="cline-any cline-neutral"> </span>
|
|
309
|
+
<span class="cline-any cline-yes">2x</span>
|
|
310
|
+
<span class="cline-any cline-neutral"> </span>
|
|
264
311
|
<span class="cline-any cline-no"> </span>
|
|
265
312
|
<span class="cline-any cline-neutral"> </span>
|
|
266
313
|
<span class="cline-any cline-neutral"> </span>
|
|
267
314
|
<span class="cline-any cline-neutral"> </span>
|
|
315
|
+
<span class="cline-any cline-neutral"> </span>
|
|
316
|
+
<span class="cline-any cline-neutral"> </span>
|
|
317
|
+
<span class="cline-any cline-yes">2x</span>
|
|
318
|
+
<span class="cline-any cline-neutral"> </span>
|
|
268
319
|
<span class="cline-any cline-no"> </span>
|
|
269
320
|
<span class="cline-any cline-neutral"> </span>
|
|
270
321
|
<span class="cline-any cline-neutral"> </span>
|
|
271
322
|
<span class="cline-any cline-neutral"> </span>
|
|
323
|
+
<span class="cline-any cline-neutral"> </span>
|
|
324
|
+
<span class="cline-any cline-neutral"> </span>
|
|
325
|
+
<span class="cline-any cline-yes">2x</span>
|
|
326
|
+
<span class="cline-any cline-neutral"> </span>
|
|
272
327
|
<span class="cline-any cline-no"> </span>
|
|
273
328
|
<span class="cline-any cline-neutral"> </span>
|
|
274
329
|
<span class="cline-any cline-neutral"> </span>
|
|
275
330
|
<span class="cline-any cline-neutral"> </span>
|
|
331
|
+
<span class="cline-any cline-neutral"> </span>
|
|
332
|
+
<span class="cline-any cline-neutral"> </span>
|
|
333
|
+
<span class="cline-any cline-yes">2x</span>
|
|
334
|
+
<span class="cline-any cline-neutral"> </span>
|
|
335
|
+
<span class="cline-any cline-neutral"> </span>
|
|
336
|
+
<span class="cline-any cline-neutral"> </span>
|
|
337
|
+
<span class="cline-any cline-neutral"> </span>
|
|
338
|
+
<span class="cline-any cline-neutral"> </span>
|
|
339
|
+
<span class="cline-any cline-yes">2x</span>
|
|
340
|
+
<span class="cline-any cline-neutral"> </span>
|
|
276
341
|
<span class="cline-any cline-no"> </span>
|
|
277
342
|
<span class="cline-any cline-neutral"> </span>
|
|
278
343
|
<span class="cline-any cline-neutral"> </span>
|
|
279
344
|
<span class="cline-any cline-neutral"> </span>
|
|
345
|
+
<span class="cline-any cline-neutral"> </span>
|
|
346
|
+
<span class="cline-any cline-neutral"> </span>
|
|
347
|
+
<span class="cline-any cline-neutral"> </span>
|
|
348
|
+
<span class="cline-any cline-neutral"> </span>
|
|
349
|
+
<span class="cline-any cline-neutral"> </span>
|
|
350
|
+
<span class="cline-any cline-neutral"> </span>
|
|
351
|
+
<span class="cline-any cline-neutral"> </span>
|
|
280
352
|
<span class="cline-any cline-no"> </span>
|
|
281
353
|
<span class="cline-any cline-neutral"> </span>
|
|
282
354
|
<span class="cline-any cline-neutral"> </span>
|
|
283
355
|
<span class="cline-any cline-neutral"> </span>
|
|
356
|
+
<span class="cline-any cline-neutral"> </span>
|
|
357
|
+
<span class="cline-any cline-neutral"> </span>
|
|
284
358
|
<span class="cline-any cline-no"> </span>
|
|
285
359
|
<span class="cline-any cline-neutral"> </span>
|
|
286
360
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -288,49 +362,33 @@
|
|
|
288
362
|
<span class="cline-any cline-neutral"> </span>
|
|
289
363
|
<span class="cline-any cline-neutral"> </span>
|
|
290
364
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js"><template>
|
|
291
|
-
<
|
|
292
|
-
<div>
|
|
293
|
-
<div class="magic-editor-content-menu-item" @click="() => center()" v-if="canCenter">水平居中</div>
|
|
294
|
-
<div class="magic-editor-content-menu-item" @click="() => copy()">复制</div>
|
|
295
|
-
<div class="magic-editor-content-menu-item" @click="paste" v-if="canPaste">粘贴</div>
|
|
296
|
-
<template v-if="canMoveZPos">
|
|
297
|
-
<div class="separation"></div>
|
|
298
|
-
<div class="magic-editor-content-menu-item" @click="topItem">上移一层</div>
|
|
299
|
-
<div class="magic-editor-content-menu-item" @click="bottomItem">下移一层</div>
|
|
300
|
-
<div class="magic-editor-content-menu-item" @click="top">置顶</div>
|
|
301
|
-
<div class="magic-editor-content-menu-item" @click="bottom">置底</div>
|
|
302
|
-
</template>
|
|
303
|
-
<template v-if="canDelete">
|
|
304
|
-
<div class="separation"></div>
|
|
305
|
-
<div class="magic-editor-content-menu-item" @click="() => remove()">删除</div>
|
|
306
|
-
</template>
|
|
307
|
-
<div class="separation"></div>
|
|
308
|
-
<div class="magic-editor-content-menu-item" @click="clearGuides">清空参考线</div>
|
|
309
|
-
</div>
|
|
310
|
-
</div>
|
|
365
|
+
<content-menu :menu-data="menuData" ref="menu"></content-menu>
|
|
311
366
|
</template>
|
|
312
367
|
|
|
313
368
|
<script lang="ts">
|
|
314
|
-
import { computed, defineComponent, inject, onMounted, ref, watch } from 'vue';
|
|
369
|
+
import { computed, defineComponent, inject, markRaw, onMounted, reactive, ref, watch } from 'vue';
|
|
370
|
+
import { Bottom, Delete, DocumentCopy, Top } from '@element-plus/icons';
|
|
315
371
|
|
|
316
372
|
import { NodeType } from '@tmagic/schema';
|
|
317
373
|
import type StageCore from '@tmagic/stage';
|
|
318
374
|
|
|
319
|
-
import
|
|
375
|
+
import ContentMenu from '@editor/components/ContentMenu.vue';
|
|
376
|
+
import { LayerOffset, Layout, MenuItem, Services } from '@editor/type';
|
|
320
377
|
import { COPY_STORAGE_KEY } from '@editor/utils/editor';
|
|
321
378
|
|
|
322
379
|
export default defineComponent({
|
|
323
|
-
|
|
380
|
+
components: { ContentMenu },
|
|
324
381
|
|
|
325
382
|
setup() {
|
|
326
383
|
const services = inject<Services>('services');
|
|
327
384
|
const editorService = services?.editorService;
|
|
328
|
-
const menu = ref<
|
|
385
|
+
const menu = ref<InstanceType<typeof ContentMenu>>();
|
|
329
386
|
const canPaste = ref(false);
|
|
330
387
|
const canCenter = ref(false);
|
|
331
388
|
|
|
332
389
|
const node = computed(() => editorService?.get('node'));
|
|
333
390
|
const parent = computed(() => editorService?.get('parent'));
|
|
391
|
+
const isPage = computed(() => node.value<span class="branch-1 cbranch-no" title="branch not covered" >?.type === N</span>odeType.PAGE);
|
|
334
392
|
|
|
335
393
|
onMounted(() => {
|
|
336
394
|
const data = globalThis.localStorage.getItem(COPY_STORAGE_KEY);
|
|
@@ -351,49 +409,102 @@ export default defineComponent({
|
|
|
351
409
|
|
|
352
410
|
return {
|
|
353
411
|
menu,
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
&
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
<span class="
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
<span class="
|
|
393
|
-
|
|
412
|
+
menuData: reactive<MenuItem[]>([
|
|
413
|
+
{
|
|
414
|
+
type: 'button',
|
|
415
|
+
text: '水平居中',
|
|
416
|
+
display: () => canCenter.value,
|
|
417
|
+
handler: <span class="fstat-no" title="function not covered" >() => {</span>
|
|
418
|
+
<span class="cstat-no" title="statement not covered" > node.</span>value && editorService?.alignCenter(node.value);
|
|
419
|
+
},
|
|
420
|
+
},
|
|
421
|
+
{
|
|
422
|
+
type: 'button',
|
|
423
|
+
text: '复制',
|
|
424
|
+
icon: markRaw(DocumentCopy),
|
|
425
|
+
handler: <span class="fstat-no" title="function not covered" >() => {</span>
|
|
426
|
+
<span class="cstat-no" title="statement not covered" > node.</span>value && editorService?.copy(node.value);
|
|
427
|
+
<span class="cstat-no" title="statement not covered" > canPaste.</span>value = true;
|
|
428
|
+
},
|
|
429
|
+
},
|
|
430
|
+
{
|
|
431
|
+
type: 'button',
|
|
432
|
+
text: '粘贴',
|
|
433
|
+
display: () => canPaste.value,
|
|
434
|
+
handler: <span class="fstat-no" title="function not covered" >() => {</span>
|
|
435
|
+
const top = <span class="cstat-no" title="statement not covered" >menu.value?.$el.offsetTop || 0;</span>
|
|
436
|
+
const left = <span class="cstat-no" title="statement not covered" >menu.value?.$el.offsetLeft || 0;</span>
|
|
437
|
+
<span class="cstat-no" title="statement not covered" > editorService?</span>.paste({ left, top });
|
|
438
|
+
},
|
|
439
|
+
},
|
|
440
|
+
{
|
|
441
|
+
type: 'divider',
|
|
442
|
+
direction: 'horizontal',
|
|
443
|
+
display: () => !isPage.value,
|
|
444
|
+
},
|
|
445
|
+
{
|
|
446
|
+
type: 'button',
|
|
447
|
+
text: '上移一层',
|
|
448
|
+
icon: markRaw(Top),
|
|
449
|
+
display: () => !isPage.value,
|
|
450
|
+
handler: <span class="fstat-no" title="function not covered" >() => {</span>
|
|
451
|
+
<span class="cstat-no" title="statement not covered" > editorService?</span>.moveLayer(1);
|
|
452
|
+
},
|
|
453
|
+
},
|
|
454
|
+
{
|
|
455
|
+
type: 'button',
|
|
456
|
+
text: '下移一层',
|
|
457
|
+
icon: markRaw(Bottom),
|
|
458
|
+
display: () => !isPage.value,
|
|
459
|
+
handler: <span class="fstat-no" title="function not covered" >() => {</span>
|
|
460
|
+
<span class="cstat-no" title="statement not covered" > editorService?</span>.moveLayer(-1);
|
|
461
|
+
},
|
|
462
|
+
},
|
|
463
|
+
{
|
|
464
|
+
type: 'button',
|
|
465
|
+
text: '置顶',
|
|
466
|
+
display: () => !isPage.value,
|
|
467
|
+
handler: <span class="fstat-no" title="function not covered" >() => {</span>
|
|
468
|
+
<span class="cstat-no" title="statement not covered" > editorService?</span>.moveLayer(LayerOffset.TOP);
|
|
469
|
+
},
|
|
470
|
+
},
|
|
471
|
+
{
|
|
472
|
+
type: 'button',
|
|
473
|
+
text: '置底',
|
|
474
|
+
display: () => !isPage.value,
|
|
475
|
+
handler: <span class="fstat-no" title="function not covered" >() => {</span>
|
|
476
|
+
<span class="cstat-no" title="statement not covered" > editorService?</span>.moveLayer(LayerOffset.BOTTOM);
|
|
477
|
+
},
|
|
478
|
+
},
|
|
479
|
+
{
|
|
480
|
+
type: 'divider',
|
|
481
|
+
direction: 'horizontal',
|
|
482
|
+
display: () => !isPage.value,
|
|
483
|
+
},
|
|
484
|
+
{
|
|
485
|
+
type: 'button',
|
|
486
|
+
text: '删除',
|
|
487
|
+
icon: Delete,
|
|
488
|
+
display: () => !isPage.value,
|
|
489
|
+
handler: <span class="fstat-no" title="function not covered" >() => {</span>
|
|
490
|
+
<span class="cstat-no" title="statement not covered" > node.</span>value && editorService?.remove(node.value);
|
|
491
|
+
},
|
|
492
|
+
},
|
|
493
|
+
{
|
|
494
|
+
type: 'divider',
|
|
495
|
+
direction: 'horizontal',
|
|
496
|
+
},
|
|
497
|
+
{
|
|
498
|
+
type: 'button',
|
|
499
|
+
text: '清空参考线',
|
|
500
|
+
handler: <span class="fstat-no" title="function not covered" >() => {</span>
|
|
501
|
+
<span class="cstat-no" title="statement not covered" > editorService?</span>.get<StageCore>('stage').clearGuides();
|
|
502
|
+
},
|
|
503
|
+
},
|
|
504
|
+
]),
|
|
394
505
|
|
|
395
|
-
<span class="fstat-no" title="function not covered" >
|
|
396
|
-
<span class="cstat-no" title="statement not covered" >
|
|
506
|
+
<span class="fstat-no" title="function not covered" > show(</span>e: MouseEvent) {
|
|
507
|
+
<span class="cstat-no" title="statement not covered" > menu.</span>value?.show(e);
|
|
397
508
|
},
|
|
398
509
|
};
|
|
399
510
|
},
|
|
@@ -406,7 +517,7 @@ export default defineComponent({
|
|
|
406
517
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
407
518
|
Code coverage generated by
|
|
408
519
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
409
|
-
at Fri
|
|
520
|
+
at Fri May 13 2022 20:42:37 GMT+0800 (China Standard Time)
|
|
410
521
|
</div>
|
|
411
522
|
<script src="../../../prettify.js"></script>
|
|
412
523
|
<script>
|
|
@@ -483,11 +483,11 @@ export default defineComponent({
|
|
|
483
483
|
<span class="cstat-no" title="statement not covered" > e.</span>inputEvent.preventDefault();
|
|
484
484
|
<span class="cstat-no" title="statement not covered" > node.</span>value && services?.editorService.copy(node.value);
|
|
485
485
|
})
|
|
486
|
-
.
|
|
486
|
+
.keydown([ctrl, 'v'], <span class="fstat-no" title="function not covered" >(e</span>) => {
|
|
487
487
|
<span class="cstat-no" title="statement not covered" > e.</span>inputEvent.preventDefault();
|
|
488
488
|
<span class="cstat-no" title="statement not covered" > node.</span>value && services?.editorService.paste();
|
|
489
489
|
})
|
|
490
|
-
.
|
|
490
|
+
.keydown([ctrl, 'x'], <span class="fstat-no" title="function not covered" >(e</span>) => {
|
|
491
491
|
<span class="cstat-no" title="statement not covered" > e.</span>inputEvent.preventDefault();
|
|
492
492
|
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!node.value || isPage(node.value)) <span class="cstat-no" title="statement not covered" >return;</span></span>
|
|
493
493
|
<span class="cstat-no" title="statement not covered" > services?</span>.editorService.copy(node.value);
|
|
@@ -571,7 +571,7 @@ export default defineComponent({
|
|
|
571
571
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
572
572
|
Code coverage generated by
|
|
573
573
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
574
|
-
at Fri
|
|
574
|
+
at Fri May 13 2022 20:42:37 GMT+0800 (China Standard Time)
|
|
575
575
|
</div>
|
|
576
576
|
<script src="../../../prettify.js"></script>
|
|
577
577
|
<script>
|
|
@@ -23,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">44.
|
|
26
|
+
<span class="strong">44.32% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>125/282</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">16.
|
|
33
|
+
<span class="strong">16.11% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>68/422</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">36.55% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>34/93</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">45.
|
|
47
|
+
<span class="strong">45.6% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>114/250</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -80,47 +80,47 @@
|
|
|
80
80
|
</thead>
|
|
81
81
|
<tbody><tr>
|
|
82
82
|
<td class="file low" data-value="PageBar.vue"><a href="PageBar.vue.html">PageBar.vue</a></td>
|
|
83
|
-
<td data-value="
|
|
84
|
-
<div class="chart"><div class="cover-fill" style="width:
|
|
83
|
+
<td data-value="46.47" class="pic low">
|
|
84
|
+
<div class="chart"><div class="cover-fill" style="width: 46%"></div><div class="cover-empty" style="width: 54%"></div></div>
|
|
85
85
|
</td>
|
|
86
|
-
<td data-value="
|
|
87
|
-
<td data-value="
|
|
86
|
+
<td data-value="46.47" class="pct low">46.47%</td>
|
|
87
|
+
<td data-value="71" class="abs low">33/71</td>
|
|
88
88
|
<td data-value="31.48" class="pct low">31.48%</td>
|
|
89
89
|
<td data-value="54" class="abs low">17/54</td>
|
|
90
90
|
<td data-value="52.94" class="pct medium">52.94%</td>
|
|
91
91
|
<td data-value="17" class="abs medium">9/17</td>
|
|
92
|
-
<td data-value="
|
|
93
|
-
<td data-value="
|
|
92
|
+
<td data-value="50" class="pct medium">50%</td>
|
|
93
|
+
<td data-value="62" class="abs medium">31/62</td>
|
|
94
94
|
</tr>
|
|
95
95
|
|
|
96
96
|
<tr>
|
|
97
97
|
<td class="file low" data-value="Stage.vue"><a href="Stage.vue.html">Stage.vue</a></td>
|
|
98
|
-
<td data-value="
|
|
99
|
-
<div class="chart"><div class="cover-fill" style="width:
|
|
98
|
+
<td data-value="38.94" class="pic low">
|
|
99
|
+
<div class="chart"><div class="cover-fill" style="width: 38%"></div><div class="cover-empty" style="width: 62%"></div></div>
|
|
100
100
|
</td>
|
|
101
|
-
<td data-value="
|
|
102
|
-
<td data-value="
|
|
103
|
-
<td data-value="14.
|
|
104
|
-
<td data-value="
|
|
105
|
-
<td data-value="
|
|
106
|
-
<td data-value="
|
|
107
|
-
<td data-value="
|
|
108
|
-
<td data-value="
|
|
101
|
+
<td data-value="38.94" class="pct low">38.94%</td>
|
|
102
|
+
<td data-value="95" class="abs low">37/95</td>
|
|
103
|
+
<td data-value="14.28" class="pct low">14.28%</td>
|
|
104
|
+
<td data-value="175" class="abs low">25/175</td>
|
|
105
|
+
<td data-value="25.92" class="pct low">25.92%</td>
|
|
106
|
+
<td data-value="27" class="abs low">7/27</td>
|
|
107
|
+
<td data-value="40" class="pct low">40%</td>
|
|
108
|
+
<td data-value="80" class="abs low">32/80</td>
|
|
109
109
|
</tr>
|
|
110
110
|
|
|
111
111
|
<tr>
|
|
112
112
|
<td class="file medium" data-value="ViewerMenu.vue"><a href="ViewerMenu.vue.html">ViewerMenu.vue</a></td>
|
|
113
|
-
<td data-value="
|
|
114
|
-
<div class="chart"><div class="cover-fill" style="width:
|
|
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>
|
|
115
115
|
</td>
|
|
116
|
-
<td data-value="
|
|
117
|
-
<td data-value="
|
|
118
|
-
<td data-value="
|
|
119
|
-
<td data-value="85" class="abs low">
|
|
120
|
-
<td data-value="
|
|
121
|
-
<td data-value="
|
|
122
|
-
<td data-value="
|
|
123
|
-
<td data-value="
|
|
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>
|
|
124
124
|
</tr>
|
|
125
125
|
|
|
126
126
|
<tr>
|
|
@@ -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 Fri
|
|
149
|
+
at Fri May 13 2022 20:42:37 GMT+0800 (China Standard Time)
|
|
150
150
|
</div>
|
|
151
151
|
<script src="../../../prettify.js"></script>
|
|
152
152
|
<script>
|