@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,9 +23,9 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">46.47% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>33/71</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">
|
|
47
|
+
<span class="strong">50% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>31/62</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -245,7 +245,50 @@
|
|
|
245
245
|
<a name='L180'></a><a href='#L180'>180</a>
|
|
246
246
|
<a name='L181'></a><a href='#L181'>181</a>
|
|
247
247
|
<a name='L182'></a><a href='#L182'>182</a>
|
|
248
|
-
<a name='L183'></a><a href='#L183'>183</a
|
|
248
|
+
<a name='L183'></a><a href='#L183'>183</a>
|
|
249
|
+
<a name='L184'></a><a href='#L184'>184</a>
|
|
250
|
+
<a name='L185'></a><a href='#L185'>185</a>
|
|
251
|
+
<a name='L186'></a><a href='#L186'>186</a>
|
|
252
|
+
<a name='L187'></a><a href='#L187'>187</a>
|
|
253
|
+
<a name='L188'></a><a href='#L188'>188</a>
|
|
254
|
+
<a name='L189'></a><a href='#L189'>189</a>
|
|
255
|
+
<a name='L190'></a><a href='#L190'>190</a>
|
|
256
|
+
<a name='L191'></a><a href='#L191'>191</a>
|
|
257
|
+
<a name='L192'></a><a href='#L192'>192</a>
|
|
258
|
+
<a name='L193'></a><a href='#L193'>193</a>
|
|
259
|
+
<a name='L194'></a><a href='#L194'>194</a>
|
|
260
|
+
<a name='L195'></a><a href='#L195'>195</a>
|
|
261
|
+
<a name='L196'></a><a href='#L196'>196</a>
|
|
262
|
+
<a name='L197'></a><a href='#L197'>197</a>
|
|
263
|
+
<a name='L198'></a><a href='#L198'>198</a>
|
|
264
|
+
<a name='L199'></a><a href='#L199'>199</a>
|
|
265
|
+
<a name='L200'></a><a href='#L200'>200</a>
|
|
266
|
+
<a name='L201'></a><a href='#L201'>201</a>
|
|
267
|
+
<a name='L202'></a><a href='#L202'>202</a>
|
|
268
|
+
<a name='L203'></a><a href='#L203'>203</a>
|
|
269
|
+
<a name='L204'></a><a href='#L204'>204</a>
|
|
270
|
+
<a name='L205'></a><a href='#L205'>205</a>
|
|
271
|
+
<a name='L206'></a><a href='#L206'>206</a>
|
|
272
|
+
<a name='L207'></a><a href='#L207'>207</a>
|
|
273
|
+
<a name='L208'></a><a href='#L208'>208</a>
|
|
274
|
+
<a name='L209'></a><a href='#L209'>209</a>
|
|
275
|
+
<a name='L210'></a><a href='#L210'>210</a>
|
|
276
|
+
<a name='L211'></a><a href='#L211'>211</a>
|
|
277
|
+
<a name='L212'></a><a href='#L212'>212</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
278
|
+
<span class="cline-any cline-neutral"> </span>
|
|
279
|
+
<span class="cline-any cline-neutral"> </span>
|
|
280
|
+
<span class="cline-any cline-neutral"> </span>
|
|
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-neutral"> </span>
|
|
285
|
+
<span class="cline-any cline-neutral"> </span>
|
|
286
|
+
<span class="cline-any cline-neutral"> </span>
|
|
287
|
+
<span class="cline-any cline-neutral"> </span>
|
|
288
|
+
<span class="cline-any cline-neutral"> </span>
|
|
289
|
+
<span class="cline-any cline-neutral"> </span>
|
|
290
|
+
<span class="cline-any cline-neutral"> </span>
|
|
291
|
+
<span class="cline-any cline-neutral"> </span>
|
|
249
292
|
<span class="cline-any cline-neutral"> </span>
|
|
250
293
|
<span class="cline-any cline-neutral"> </span>
|
|
251
294
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -292,11 +335,23 @@
|
|
|
292
335
|
<span class="cline-any cline-neutral"> </span>
|
|
293
336
|
<span class="cline-any cline-neutral"> </span>
|
|
294
337
|
<span class="cline-any cline-yes">2x</span>
|
|
338
|
+
<span class="cline-any cline-neutral"> </span>
|
|
339
|
+
<span class="cline-any cline-neutral"> </span>
|
|
340
|
+
<span class="cline-any cline-neutral"> </span>
|
|
341
|
+
<span class="cline-any cline-neutral"> </span>
|
|
342
|
+
<span class="cline-any cline-neutral"> </span>
|
|
343
|
+
<span class="cline-any cline-neutral"> </span>
|
|
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>
|
|
295
349
|
<span class="cline-any cline-yes">2x</span>
|
|
296
350
|
<span class="cline-any cline-neutral"> </span>
|
|
297
351
|
<span class="cline-any cline-neutral"> </span>
|
|
298
352
|
<span class="cline-any cline-yes">2x</span>
|
|
299
353
|
<span class="cline-any cline-neutral"> </span>
|
|
354
|
+
<span class="cline-any cline-yes">2x</span>
|
|
300
355
|
<span class="cline-any cline-neutral"> </span>
|
|
301
356
|
<span class="cline-any cline-yes">2x</span>
|
|
302
357
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -397,6 +452,9 @@
|
|
|
397
452
|
<span class="cline-any cline-neutral"> </span>
|
|
398
453
|
<span class="cline-any cline-neutral"> </span>
|
|
399
454
|
<span class="cline-any cline-neutral"> </span>
|
|
455
|
+
<span class="cline-any cline-neutral"> </span>
|
|
456
|
+
<span class="cline-any cline-neutral"> </span>
|
|
457
|
+
<span class="cline-any cline-neutral"> </span>
|
|
400
458
|
<span class="cline-any cline-yes">3x</span>
|
|
401
459
|
<span class="cline-any cline-neutral"> </span>
|
|
402
460
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -451,11 +509,25 @@
|
|
|
451
509
|
</slot>
|
|
452
510
|
</div>
|
|
453
511
|
|
|
454
|
-
<el-popover placement="top" :width="160" trigger="hover">
|
|
512
|
+
<el-popover popper-class="page-bar-popover" placement="top" :width="160" trigger="hover">
|
|
455
513
|
<div>
|
|
456
514
|
<slot name="page-bar-popover" :page="item">
|
|
457
|
-
<
|
|
458
|
-
|
|
515
|
+
<tool-button
|
|
516
|
+
:data="{
|
|
517
|
+
type: 'button',
|
|
518
|
+
text: '复制',
|
|
519
|
+
icon: DocumentCopy,
|
|
520
|
+
handler: () => copy(item),
|
|
521
|
+
}"
|
|
522
|
+
></tool-button>
|
|
523
|
+
<tool-button
|
|
524
|
+
:data="{
|
|
525
|
+
type: 'button',
|
|
526
|
+
text: '删除',
|
|
527
|
+
icon: Delete,
|
|
528
|
+
handler: () => remove(item),
|
|
529
|
+
}"
|
|
530
|
+
></tool-button>
|
|
459
531
|
</slot>
|
|
460
532
|
</div>
|
|
461
533
|
<template #reference>
|
|
@@ -473,12 +545,24 @@
|
|
|
473
545
|
</template>
|
|
474
546
|
|
|
475
547
|
<script lang="ts">
|
|
476
|
-
import {
|
|
477
|
-
|
|
548
|
+
import {
|
|
549
|
+
computed,
|
|
550
|
+
ComputedRef,
|
|
551
|
+
defineComponent,
|
|
552
|
+
inject,
|
|
553
|
+
markRaw,
|
|
554
|
+
onMounted,
|
|
555
|
+
onUnmounted,
|
|
556
|
+
ref,
|
|
557
|
+
toRaw,
|
|
558
|
+
watch,
|
|
559
|
+
} from 'vue';
|
|
560
|
+
import { ArrowLeftBold, ArrowRightBold, CaretBottom, Delete, DocumentCopy, Plus } from '@element-plus/icons';
|
|
478
561
|
|
|
479
562
|
import type { MApp, MPage } from '@tmagic/schema';
|
|
480
563
|
import { NodeType } from '@tmagic/schema';
|
|
481
564
|
|
|
565
|
+
import ToolButton from '@editor/components/ToolButton.vue';
|
|
482
566
|
import type { Services } from '@editor/type';
|
|
483
567
|
import { generatePageNameByApp } from '@editor/utils/editor';
|
|
484
568
|
|
|
@@ -567,7 +651,7 @@ const useScroll = (root: ComputedRef<MApp | undefined>) => {
|
|
|
567
651
|
};
|
|
568
652
|
|
|
569
653
|
export default defineComponent({
|
|
570
|
-
components: { ArrowLeftBold, ArrowRightBold, CaretBottom, Plus },
|
|
654
|
+
components: { ArrowLeftBold, ArrowRightBold, CaretBottom, Plus, ToolButton },
|
|
571
655
|
|
|
572
656
|
setup() {
|
|
573
657
|
const services = inject<Services>('services');
|
|
@@ -576,6 +660,9 @@ export default defineComponent({
|
|
|
576
660
|
const root = computed(() => editorService<span class="branch-0 cbranch-no" title="branch not covered" >?.g</span>et<MApp>('root'));
|
|
577
661
|
|
|
578
662
|
return {
|
|
663
|
+
Delete: markRaw(Delete),
|
|
664
|
+
DocumentCopy: markRaw(DocumentCopy),
|
|
665
|
+
|
|
579
666
|
...useScroll(root),
|
|
580
667
|
|
|
581
668
|
root,
|
|
@@ -616,7 +703,7 @@ export default defineComponent({
|
|
|
616
703
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
617
704
|
Code coverage generated by
|
|
618
705
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
619
|
-
at Fri
|
|
706
|
+
at Fri May 13 2022 20:42:37 GMT+0800 (China Standard Time)
|
|
620
707
|
</div>
|
|
621
708
|
<script src="../../../prettify.js"></script>
|
|
622
709
|
<script>
|
|
@@ -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">38.94% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>37/95</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">14.
|
|
33
|
+
<span class="strong">14.28% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>25/175</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.92% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>7/27</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'>32/80</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -287,10 +287,7 @@
|
|
|
287
287
|
<a name='L222'></a><a href='#L222'>222</a>
|
|
288
288
|
<a name='L223'></a><a href='#L223'>223</a>
|
|
289
289
|
<a name='L224'></a><a href='#L224'>224</a>
|
|
290
|
-
<a name='L225'></a><a href='#L225'>225</a>
|
|
291
|
-
<a name='L226'></a><a href='#L226'>226</a>
|
|
292
|
-
<a name='L227'></a><a href='#L227'>227</a>
|
|
293
|
-
<a name='L228'></a><a href='#L228'>228</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
290
|
+
<a name='L225'></a><a href='#L225'>225</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
294
291
|
<span class="cline-any cline-neutral"> </span>
|
|
295
292
|
<span class="cline-any cline-neutral"> </span>
|
|
296
293
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -311,10 +308,9 @@
|
|
|
311
308
|
<span class="cline-any cline-neutral"> </span>
|
|
312
309
|
<span class="cline-any cline-neutral"> </span>
|
|
313
310
|
<span class="cline-any cline-neutral"> </span>
|
|
314
|
-
<span class="cline-any cline-yes">2x</span>
|
|
315
|
-
<span class="cline-any cline-neutral"> </span>
|
|
316
311
|
<span class="cline-any cline-neutral"> </span>
|
|
317
312
|
<span class="cline-any cline-neutral"> </span>
|
|
313
|
+
<span class="cline-any cline-yes">2x</span>
|
|
318
314
|
<span class="cline-any cline-neutral"> </span>
|
|
319
315
|
<span class="cline-any cline-neutral"> </span>
|
|
320
316
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -324,56 +320,20 @@
|
|
|
324
320
|
<span class="cline-any cline-neutral"> </span>
|
|
325
321
|
<span class="cline-any cline-neutral"> </span>
|
|
326
322
|
<span class="cline-any cline-neutral"> </span>
|
|
327
|
-
<span class="cline-any cline-yes">2x</span>
|
|
328
323
|
<span class="cline-any cline-neutral"> </span>
|
|
329
324
|
<span class="cline-any cline-neutral"> </span>
|
|
330
325
|
<span class="cline-any cline-neutral"> </span>
|
|
331
326
|
<span class="cline-any cline-yes">2x</span>
|
|
332
327
|
<span class="cline-any cline-neutral"> </span>
|
|
333
|
-
<span class="cline-any cline-yes">2x</span>
|
|
334
328
|
<span class="cline-any cline-neutral"> </span>
|
|
335
329
|
<span class="cline-any cline-neutral"> </span>
|
|
336
330
|
<span class="cline-any cline-yes">2x</span>
|
|
337
331
|
<span class="cline-any cline-neutral"> </span>
|
|
338
332
|
<span class="cline-any cline-yes">2x</span>
|
|
339
333
|
<span class="cline-any cline-yes">2x</span>
|
|
340
|
-
<span class="cline-any cline-yes">2x</span>
|
|
341
334
|
<span class="cline-any cline-neutral"> </span>
|
|
342
|
-
<span class="cline-any cline-neutral"> </span>
|
|
343
|
-
<span class="cline-any cline-neutral"> </span>
|
|
344
|
-
<span class="cline-any cline-neutral"> </span>
|
|
345
|
-
<span class="cline-any cline-neutral"> </span>
|
|
346
|
-
<span class="cline-any cline-yes">2x</span>
|
|
347
335
|
<span class="cline-any cline-yes">2x</span>
|
|
348
336
|
<span class="cline-any cline-neutral"> </span>
|
|
349
|
-
<span class="cline-any cline-neutral"> </span>
|
|
350
|
-
<span class="cline-any cline-no"> </span>
|
|
351
|
-
<span class="cline-any cline-neutral"> </span>
|
|
352
|
-
<span class="cline-any cline-neutral"> </span>
|
|
353
|
-
<span class="cline-any cline-neutral"> </span>
|
|
354
|
-
<span class="cline-any cline-neutral"> </span>
|
|
355
|
-
<span class="cline-any cline-neutral"> </span>
|
|
356
|
-
<span class="cline-any cline-yes">2x</span>
|
|
357
|
-
<span class="cline-any cline-neutral"> </span>
|
|
358
|
-
<span class="cline-any cline-neutral"> </span>
|
|
359
|
-
<span class="cline-any cline-neutral"> </span>
|
|
360
|
-
<span class="cline-any cline-neutral"> </span>
|
|
361
|
-
<span class="cline-any cline-no"> </span>
|
|
362
|
-
<span class="cline-any cline-neutral"> </span>
|
|
363
|
-
<span class="cline-any cline-no"> </span>
|
|
364
|
-
<span class="cline-any cline-no"> </span>
|
|
365
|
-
<span class="cline-any cline-no"> </span>
|
|
366
|
-
<span class="cline-any cline-no"> </span>
|
|
367
|
-
<span class="cline-any cline-neutral"> </span>
|
|
368
|
-
<span class="cline-any cline-no"> </span>
|
|
369
|
-
<span class="cline-any cline-neutral"> </span>
|
|
370
|
-
<span class="cline-any cline-neutral"> </span>
|
|
371
|
-
<span class="cline-any cline-neutral"> </span>
|
|
372
|
-
<span class="cline-any cline-neutral"> </span>
|
|
373
|
-
<span class="cline-any cline-neutral"> </span>
|
|
374
|
-
<span class="cline-any cline-neutral"> </span>
|
|
375
|
-
<span class="cline-any cline-neutral"> </span>
|
|
376
|
-
<span class="cline-any cline-neutral"> </span>
|
|
377
337
|
<span class="cline-any cline-yes">2x</span>
|
|
378
338
|
<span class="cline-any cline-neutral"> </span>
|
|
379
339
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -407,6 +367,7 @@
|
|
|
407
367
|
<span class="cline-any cline-neutral"> </span>
|
|
408
368
|
<span class="cline-any cline-yes">2x</span>
|
|
409
369
|
<span class="cline-any cline-yes">2x</span>
|
|
370
|
+
<span class="cline-any cline-yes">2x</span>
|
|
410
371
|
<span class="cline-any cline-neutral"> </span>
|
|
411
372
|
<span class="cline-any cline-yes">2x</span>
|
|
412
373
|
<span class="cline-any cline-yes">2x</span>
|
|
@@ -515,6 +476,39 @@
|
|
|
515
476
|
<span class="cline-any cline-neutral"> </span>
|
|
516
477
|
<span class="cline-any cline-neutral"> </span>
|
|
517
478
|
<span class="cline-any cline-neutral"> </span>
|
|
479
|
+
<span class="cline-any cline-no"> </span>
|
|
480
|
+
<span class="cline-any cline-no"> </span>
|
|
481
|
+
<span class="cline-any cline-neutral"> </span>
|
|
482
|
+
<span class="cline-any cline-neutral"> </span>
|
|
483
|
+
<span class="cline-any cline-neutral"> </span>
|
|
484
|
+
<span class="cline-any cline-no"> </span>
|
|
485
|
+
<span class="cline-any cline-no"> </span>
|
|
486
|
+
<span class="cline-any cline-no"> </span>
|
|
487
|
+
<span class="cline-any cline-neutral"> </span>
|
|
488
|
+
<span class="cline-any cline-neutral"> </span>
|
|
489
|
+
<span class="cline-any cline-neutral"> </span>
|
|
490
|
+
<span class="cline-any cline-neutral"> </span>
|
|
491
|
+
<span class="cline-any cline-no"> </span>
|
|
492
|
+
<span class="cline-any cline-no"> </span>
|
|
493
|
+
<span class="cline-any cline-neutral"> </span>
|
|
494
|
+
<span class="cline-any cline-no"> </span>
|
|
495
|
+
<span class="cline-any cline-no"> </span>
|
|
496
|
+
<span class="cline-any cline-neutral"> </span>
|
|
497
|
+
<span class="cline-any cline-no"> </span>
|
|
498
|
+
<span class="cline-any cline-no"> </span>
|
|
499
|
+
<span class="cline-any cline-no"> </span>
|
|
500
|
+
<span class="cline-any cline-no"> </span>
|
|
501
|
+
<span class="cline-any cline-neutral"> </span>
|
|
502
|
+
<span class="cline-any cline-neutral"> </span>
|
|
503
|
+
<span class="cline-any cline-neutral"> </span>
|
|
504
|
+
<span class="cline-any cline-neutral"> </span>
|
|
505
|
+
<span class="cline-any cline-neutral"> </span>
|
|
506
|
+
<span class="cline-any cline-neutral"> </span>
|
|
507
|
+
<span class="cline-any cline-no"> </span>
|
|
508
|
+
<span class="cline-any cline-neutral"> </span>
|
|
509
|
+
<span class="cline-any cline-neutral"> </span>
|
|
510
|
+
<span class="cline-any cline-neutral"> </span>
|
|
511
|
+
<span class="cline-any cline-neutral"> </span>
|
|
518
512
|
<span class="cline-any cline-neutral"> </span>
|
|
519
513
|
<span class="cline-any cline-neutral"> </span>
|
|
520
514
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js"><template>
|
|
@@ -528,11 +522,13 @@
|
|
|
528
522
|
<div
|
|
529
523
|
class="m-editor-stage-container"
|
|
530
524
|
ref="stageContainer"
|
|
531
|
-
@contextmenu="contextmenuHandler"
|
|
532
525
|
:style="`transform: scale(${zoom})`"
|
|
526
|
+
@contextmenu="contextmenuHandler"
|
|
527
|
+
@drop="dropHandler"
|
|
528
|
+
@dragover="dragoverHandler"
|
|
533
529
|
></div>
|
|
534
530
|
<teleport to="body">
|
|
535
|
-
<viewer-menu ref="menu"
|
|
531
|
+
<viewer-menu ref="menu"></viewer-menu>
|
|
536
532
|
</teleport>
|
|
537
533
|
</scroll-viewer>
|
|
538
534
|
</template>
|
|
@@ -558,49 +554,10 @@ import type { MoveableOptions, Runtime, SortEventData, UpdateEventData } from '@
|
|
|
558
554
|
import StageCore from '@tmagic/stage';
|
|
559
555
|
|
|
560
556
|
import ScrollViewer from '@editor/components/ScrollViewer.vue';
|
|
561
|
-
import
|
|
557
|
+
import { Layout, Services, StageRect } from '@editor/type';
|
|
562
558
|
|
|
563
559
|
import ViewerMenu from './ViewerMenu.vue';
|
|
564
560
|
|
|
565
|
-
const useMenu = () => {
|
|
566
|
-
const menu = ref<InstanceType<typeof ViewerMenu>>();
|
|
567
|
-
const menuStyle = ref({
|
|
568
|
-
display: 'none',
|
|
569
|
-
left: '0',
|
|
570
|
-
top: '0',
|
|
571
|
-
});
|
|
572
|
-
|
|
573
|
-
onMounted(() => {
|
|
574
|
-
document.addEventListener(
|
|
575
|
-
'click',
|
|
576
|
-
<span class="fstat-no" title="function not covered" > () => {</span>
|
|
577
|
-
<span class="cstat-no" title="statement not covered" > menuStyle.</span>value.display = 'none';
|
|
578
|
-
},
|
|
579
|
-
true,
|
|
580
|
-
);
|
|
581
|
-
});
|
|
582
|
-
|
|
583
|
-
return {
|
|
584
|
-
menu,
|
|
585
|
-
menuStyle,
|
|
586
|
-
|
|
587
|
-
<span class="fstat-no" title="function not covered" > contextmenuHandler(</span>e: MouseEvent) {
|
|
588
|
-
<span class="cstat-no" title="statement not covered" > e.</span>preventDefault();
|
|
589
|
-
|
|
590
|
-
const menuHeight = <span class="cstat-no" title="statement not covered" >menu.value?.$el.clientHeight;</span>
|
|
591
|
-
let top = <span class="cstat-no" title="statement not covered" >e.clientY;</span>
|
|
592
|
-
<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>
|
|
593
|
-
<span class="cstat-no" title="statement not covered" > top </span>= document.body.clientHeight - menuHeight;
|
|
594
|
-
}
|
|
595
|
-
<span class="cstat-no" title="statement not covered" > menuStyle.</span>value = {
|
|
596
|
-
display: 'block',
|
|
597
|
-
top: `${top}px`,
|
|
598
|
-
left: `${e.clientX}px`,
|
|
599
|
-
};
|
|
600
|
-
},
|
|
601
|
-
};
|
|
602
|
-
};
|
|
603
|
-
|
|
604
561
|
export default defineComponent({
|
|
605
562
|
name: 'magic-stage',
|
|
606
563
|
|
|
@@ -634,12 +591,13 @@ export default defineComponent({
|
|
|
634
591
|
|
|
635
592
|
const stageWrap = ref<InstanceType<typeof ScrollViewer>>();
|
|
636
593
|
const stageContainer = ref<HTMLDivElement>();
|
|
594
|
+
const menu = ref<InstanceType<typeof ViewerMenu>>();
|
|
637
595
|
|
|
638
596
|
const stageRect = computed(() => services?.uiService.get<StageRect>('stageRect'));
|
|
639
597
|
const uiSelectMode = computed(<span class="fstat-no" title="function not covered" >() => <span class="cstat-no" title="statement not covered" >s</span>ervices?</span>.uiService.get<boolean>('uiSelectMode'));
|
|
640
598
|
const root = computed(() => services?.editorService.get<MApp>('root'));
|
|
641
599
|
const page = computed(<span class="fstat-no" title="function not covered" >() => <span class="cstat-no" title="statement not covered" >s</span>ervices?</span>.editorService.get<MPage>('page'));
|
|
642
|
-
const zoom = computed(() => services?.uiService.get<number>('zoom'));
|
|
600
|
+
const zoom = computed(() => services?.uiService.get<number>('zoom') || 1);
|
|
643
601
|
const node = computed(<span class="fstat-no" title="function not covered" >() => <span class="cstat-no" title="statement not covered" >s</span>ervices?</span>.editorService.get<MNode>('node'));
|
|
644
602
|
|
|
645
603
|
let stage: StageCore | null = null;
|
|
@@ -737,9 +695,42 @@ export default defineComponent({
|
|
|
737
695
|
return {
|
|
738
696
|
stageWrap,
|
|
739
697
|
stageContainer,
|
|
698
|
+
menu,
|
|
740
699
|
stageRect,
|
|
741
700
|
zoom,
|
|
742
|
-
|
|
701
|
+
|
|
702
|
+
<span class="fstat-no" title="function not covered" > contextmenuHandler(</span>e: MouseEvent) {
|
|
703
|
+
<span class="cstat-no" title="statement not covered" > e.</span>preventDefault();
|
|
704
|
+
<span class="cstat-no" title="statement not covered" > menu.</span>value?.show(e);
|
|
705
|
+
},
|
|
706
|
+
|
|
707
|
+
<span class="fstat-no" title="function not covered" > dragoverHandler(</span>e: DragEvent) {
|
|
708
|
+
<span class="cstat-no" title="statement not covered" > e.</span>preventDefault();
|
|
709
|
+
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (e.dataTransfer) {</span>
|
|
710
|
+
<span class="cstat-no" title="statement not covered" > e.</span>dataTransfer.dropEffect = 'move';
|
|
711
|
+
}
|
|
712
|
+
},
|
|
713
|
+
|
|
714
|
+
<span class="fstat-no" title="function not covered" > async d</span>ropHandler(e: DragEvent) {
|
|
715
|
+
<span class="cstat-no" title="statement not covered" > e.</span>preventDefault();
|
|
716
|
+
if (<span class="cstat-no" title="statement not covered" ><span class="missing-if-branch" title="if path not taken" >I</span>e.</span>dataTransfer && page.value && stageContainer.value && stage) {
|
|
717
|
+
// eslint-disable-next-line no-eval
|
|
718
|
+
const <span class="cstat-no" title="statement not covered" >config </span>= eval(`(${e.dataTransfer.getData('data')})`);
|
|
719
|
+
const <span class="cstat-no" title="statement not covered" >layout </span>= <span class="cstat-no" title="statement not covered" >await s</span>ervices?.editorService.getLayout(page.value);
|
|
720
|
+
|
|
721
|
+
const <span class="cstat-no" title="statement not covered" >containerRect </span>= stageContainer.value.getBoundingClientRect();
|
|
722
|
+
const <span class="cstat-no" title="statement not covered" >{ s</span>crollTop, scrollLeft } = stage.mask;
|
|
723
|
+
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (layout === Layout.ABSOLUTE) {</span>
|
|
724
|
+
<span class="cstat-no" title="statement not covered" > config.</span>style = {
|
|
725
|
+
position: 'absolute',
|
|
726
|
+
top: e.clientY - containerRect.top + scrollTop,
|
|
727
|
+
left: e.clientX - containerRect.left + scrollLeft,
|
|
728
|
+
};
|
|
729
|
+
}
|
|
730
|
+
|
|
731
|
+
<span class="cstat-no" title="statement not covered" > services?</span>.editorService.add(config, page.value);
|
|
732
|
+
}
|
|
733
|
+
},
|
|
743
734
|
};
|
|
744
735
|
},
|
|
745
736
|
});
|
|
@@ -751,7 +742,7 @@ export default defineComponent({
|
|
|
751
742
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
752
743
|
Code coverage generated by
|
|
753
744
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
754
|
-
at Fri
|
|
745
|
+
at Fri May 13 2022 20:42:37 GMT+0800 (China Standard Time)
|
|
755
746
|
</div>
|
|
756
747
|
<script src="../../../prettify.js"></script>
|
|
757
748
|
<script>
|