@tmagic/editor 1.0.0-rc.1 → 1.0.0-rc.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/dist/style.css +6 -3
  2. package/dist/tmagic-editor.es.js +292 -1394
  3. package/dist/tmagic-editor.es.js.map +1 -1
  4. package/dist/tmagic-editor.umd.js +292 -1396
  5. package/dist/tmagic-editor.umd.js.map +1 -1
  6. package/dist/types/src/Editor.vue.d.ts +49 -1
  7. package/dist/types/src/fields/Code.vue.d.ts +4 -4
  8. package/dist/types/src/fields/CodeLink.vue.d.ts +1 -3
  9. package/dist/types/src/layouts/Framework.vue.d.ts +15 -3
  10. package/dist/types/src/layouts/PropsPanel.vue.d.ts +2 -4
  11. package/dist/types/src/layouts/workspace/Workspace.vue.d.ts +3 -27
  12. package/dist/types/src/services/BaseService.d.ts +1 -1
  13. package/dist/types/src/services/history.d.ts +1 -18
  14. package/dist/types/src/services/props.d.ts +8 -2
  15. package/dist/types/src/type.d.ts +9 -0
  16. package/dist/types/src/utils/editor.d.ts +0 -6
  17. package/dist/types/src/utils/props.d.ts +8 -1
  18. package/package.json +17 -18
  19. package/src/Editor.vue +44 -9
  20. package/src/components/ContentMenu.vue +59 -26
  21. package/src/layouts/CodeEditor.vue +1 -4
  22. package/src/layouts/Framework.vue +14 -1
  23. package/src/layouts/PropsPanel.vue +1 -1
  24. package/src/layouts/sidebar/LayerMenu.vue +3 -0
  25. package/src/layouts/sidebar/TabPane.vue +1 -1
  26. package/src/layouts/workspace/Stage.vue +12 -29
  27. package/src/layouts/workspace/ViewerMenu.vue +17 -2
  28. package/src/layouts/workspace/Workspace.vue +21 -26
  29. package/src/services/BaseService.ts +1 -1
  30. package/src/services/editor.ts +34 -5
  31. package/src/services/props.ts +64 -9
  32. package/src/theme/props-panel.scss +6 -4
  33. package/src/theme/workspace.scss +4 -0
  34. package/src/type.ts +10 -0
  35. package/src/utils/editor.ts +7 -52
  36. package/src/utils/polyfills.ts +5 -19
  37. package/src/utils/props.ts +30 -7
  38. package/LICENSE +0 -5432
  39. package/coverage/clover.xml +0 -1560
  40. package/coverage/coverage-final.json +0 -36
  41. package/coverage/lcov-report/base.css +0 -224
  42. package/coverage/lcov-report/block-navigation.js +0 -87
  43. package/coverage/lcov-report/favicon.png +0 -0
  44. package/coverage/lcov-report/index.html +0 -206
  45. package/coverage/lcov-report/prettify.css +0 -1
  46. package/coverage/lcov-report/prettify.js +0 -2
  47. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  48. package/coverage/lcov-report/sorter.js +0 -196
  49. package/coverage/lcov-report/src/Editor.vue.html +0 -787
  50. package/coverage/lcov-report/src/components/ContentMenu.vue.html +0 -406
  51. package/coverage/lcov-report/src/components/Icon.vue.html +0 -172
  52. package/coverage/lcov-report/src/components/ScrollViewer.vue.html +0 -283
  53. package/coverage/lcov-report/src/components/ToolButton.vue.html +0 -772
  54. package/coverage/lcov-report/src/components/index.html +0 -161
  55. package/coverage/lcov-report/src/index.html +0 -131
  56. package/coverage/lcov-report/src/layouts/AddPageBox.vue.html +0 -214
  57. package/coverage/lcov-report/src/layouts/Framework.vue.html +0 -304
  58. package/coverage/lcov-report/src/layouts/NavMenu.vue.html +0 -208
  59. package/coverage/lcov-report/src/layouts/PropsPanel.vue.html +0 -319
  60. package/coverage/lcov-report/src/layouts/Resizer.vue.html +0 -268
  61. package/coverage/lcov-report/src/layouts/index.html +0 -176
  62. package/coverage/lcov-report/src/layouts/sidebar/ComponentListPanel.vue.html +0 -358
  63. package/coverage/lcov-report/src/layouts/sidebar/LayerMenu.vue.html +0 -421
  64. package/coverage/lcov-report/src/layouts/sidebar/LayerPanel.vue.html +0 -775
  65. package/coverage/lcov-report/src/layouts/sidebar/Sidebar.vue.html +0 -226
  66. package/coverage/lcov-report/src/layouts/sidebar/TabPane.vue.html +0 -289
  67. package/coverage/lcov-report/src/layouts/sidebar/index.html +0 -176
  68. package/coverage/lcov-report/src/layouts/workspace/PageBar.vue.html +0 -718
  69. package/coverage/lcov-report/src/layouts/workspace/Stage.vue.html +0 -757
  70. package/coverage/lcov-report/src/layouts/workspace/ViewerMenu.vue.html +0 -532
  71. package/coverage/lcov-report/src/layouts/workspace/Workspace.vue.html +0 -586
  72. package/coverage/lcov-report/src/layouts/workspace/index.html +0 -161
  73. package/coverage/lcov-report/src/services/BaseService.ts.html +0 -643
  74. package/coverage/lcov-report/src/services/componentList.ts.html +0 -229
  75. package/coverage/lcov-report/src/services/editor.ts.html +0 -2077
  76. package/coverage/lcov-report/src/services/events.ts.html +0 -331
  77. package/coverage/lcov-report/src/services/history.ts.html +0 -478
  78. package/coverage/lcov-report/src/services/index.html +0 -206
  79. package/coverage/lcov-report/src/services/props.ts.html +0 -415
  80. package/coverage/lcov-report/src/services/ui.ts.html +0 -580
  81. package/coverage/lcov-report/src/type.ts.html +0 -850
  82. package/coverage/lcov-report/src/utils/compose.ts.html +0 -184
  83. package/coverage/lcov-report/src/utils/config.ts.html +0 -172
  84. package/coverage/lcov-report/src/utils/editor.ts.html +0 -838
  85. package/coverage/lcov-report/src/utils/index.html +0 -221
  86. package/coverage/lcov-report/src/utils/index.ts.html +0 -151
  87. package/coverage/lcov-report/src/utils/logger.ts.html +0 -226
  88. package/coverage/lcov-report/src/utils/props.ts.html +0 -796
  89. package/coverage/lcov-report/src/utils/scroll-viewer.ts.html +0 -733
  90. package/coverage/lcov-report/src/utils/undo-redo.ts.html +0 -313
  91. package/coverage/lcov.info +0 -3708
  92. package/dist/types/src/components/ToolButton.vue.d.ts +0 -46
  93. package/dist/types/src/fields/UISelect.vue.d.ts +0 -35
  94. package/dist/types/src/layouts/workspace/PageBar.vue.d.ts +0 -18
@@ -1,184 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for src/utils/compose.ts</title>
7
- <meta charset="utf-8" />
8
- <link rel="stylesheet" href="../../prettify.css" />
9
- <link rel="stylesheet" href="../../base.css" />
10
- <link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
11
- <meta name="viewport" content="width=device-width, initial-scale=1" />
12
- <style type='text/css'>
13
- .coverage-summary .sorter {
14
- background-image: url(../../sort-arrow-sprite.png);
15
- }
16
- </style>
17
- </head>
18
-
19
- <body>
20
- <div class='wrapper'>
21
- <div class='pad1'>
22
- <h1><a href="../../index.html">All files</a> / <a href="index.html">src/utils</a> compose.ts</h1>
23
- <div class='clearfix'>
24
-
25
- <div class='fl pad1y space-right2'>
26
- <span class="strong">71.42% </span>
27
- <span class="quiet">Statements</span>
28
- <span class='fraction'>15/21</span>
29
- </div>
30
-
31
-
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">42.85% </span>
34
- <span class="quiet">Branches</span>
35
- <span class='fraction'>3/7</span>
36
- </div>
37
-
38
-
39
- <div class='fl pad1y space-right2'>
40
- <span class="strong">100% </span>
41
- <span class="quiet">Functions</span>
42
- <span class='fraction'>3/3</span>
43
- </div>
44
-
45
-
46
- <div class='fl pad1y space-right2'>
47
- <span class="strong">86.66% </span>
48
- <span class="quiet">Lines</span>
49
- <span class='fraction'>13/15</span>
50
- </div>
51
-
52
-
53
- </div>
54
- <p class="quiet">
55
- Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
- </p>
57
- <template id="filterTemplate">
58
- <div class="quiet">
59
- Filter:
60
- <input oninput="onInput()" type="search" id="fileSearch">
61
- </div>
62
- </template>
63
- </div>
64
- <div class='status-line medium'></div>
65
- <pre><table class="coverage">
66
- <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
- <a name='L2'></a><a href='#L2'>2</a>
68
- <a name='L3'></a><a href='#L3'>3</a>
69
- <a name='L4'></a><a href='#L4'>4</a>
70
- <a name='L5'></a><a href='#L5'>5</a>
71
- <a name='L6'></a><a href='#L6'>6</a>
72
- <a name='L7'></a><a href='#L7'>7</a>
73
- <a name='L8'></a><a href='#L8'>8</a>
74
- <a name='L9'></a><a href='#L9'>9</a>
75
- <a name='L10'></a><a href='#L10'>10</a>
76
- <a name='L11'></a><a href='#L11'>11</a>
77
- <a name='L12'></a><a href='#L12'>12</a>
78
- <a name='L13'></a><a href='#L13'>13</a>
79
- <a name='L14'></a><a href='#L14'>14</a>
80
- <a name='L15'></a><a href='#L15'>15</a>
81
- <a name='L16'></a><a href='#L16'>16</a>
82
- <a name='L17'></a><a href='#L17'>17</a>
83
- <a name='L18'></a><a href='#L18'>18</a>
84
- <a name='L19'></a><a href='#L19'>19</a>
85
- <a name='L20'></a><a href='#L20'>20</a>
86
- <a name='L21'></a><a href='#L21'>21</a>
87
- <a name='L22'></a><a href='#L22'>22</a>
88
- <a name='L23'></a><a href='#L23'>23</a>
89
- <a name='L24'></a><a href='#L24'>24</a>
90
- <a name='L25'></a><a href='#L25'>25</a>
91
- <a name='L26'></a><a href='#L26'>26</a>
92
- <a name='L27'></a><a href='#L27'>27</a>
93
- <a name='L28'></a><a href='#L28'>28</a>
94
- <a name='L29'></a><a href='#L29'>29</a>
95
- <a name='L30'></a><a href='#L30'>30</a>
96
- <a name='L31'></a><a href='#L31'>31</a>
97
- <a name='L32'></a><a href='#L32'>32</a>
98
- <a name='L33'></a><a href='#L33'>33</a>
99
- <a name='L34'></a><a href='#L34'>34</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
100
- <span class="cline-any cline-neutral">&nbsp;</span>
101
- <span class="cline-any cline-neutral">&nbsp;</span>
102
- <span class="cline-any cline-neutral">&nbsp;</span>
103
- <span class="cline-any cline-yes">6x</span>
104
- <span class="cline-any cline-yes">90x</span>
105
- <span class="cline-any cline-yes">90x</span>
106
- <span class="cline-any cline-no">&nbsp;</span>
107
- <span class="cline-any cline-neutral">&nbsp;</span>
108
- <span class="cline-any cline-neutral">&nbsp;</span>
109
- <span class="cline-any cline-neutral">&nbsp;</span>
110
- <span class="cline-any cline-neutral">&nbsp;</span>
111
- <span class="cline-any cline-neutral">&nbsp;</span>
112
- <span class="cline-any cline-neutral">&nbsp;</span>
113
- <span class="cline-any cline-neutral">&nbsp;</span>
114
- <span class="cline-any cline-yes">90x</span>
115
- <span class="cline-any cline-neutral">&nbsp;</span>
116
- <span class="cline-any cline-yes">85x</span>
117
- <span class="cline-any cline-yes">85x</span>
118
- <span class="cline-any cline-neutral">&nbsp;</span>
119
- <span class="cline-any cline-yes">85x</span>
120
- <span class="cline-any cline-yes">85x</span>
121
- <span class="cline-any cline-yes">85x</span>
122
- <span class="cline-any cline-yes">85x</span>
123
- <span class="cline-any cline-yes">85x</span>
124
- <span class="cline-any cline-yes">85x</span>
125
- <span class="cline-any cline-yes">85x</span>
126
- <span class="cline-any cline-neutral">&nbsp;</span>
127
- <span class="cline-any cline-no">&nbsp;</span>
128
- <span class="cline-any cline-neutral">&nbsp;</span>
129
- <span class="cline-any cline-neutral">&nbsp;</span>
130
- <span class="cline-any cline-neutral">&nbsp;</span>
131
- <span class="cline-any cline-neutral">&nbsp;</span>
132
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">/**
133
- * @param {Array} middleware
134
- * @return {Function}
135
- */
136
- export const compose = (middleware: Function[]) =&gt; {
137
- <span class="missing-if-branch" title="if path not taken" >I</span>if (!Array.isArray(middleware)) <span class="cstat-no" title="statement not covered" >throw new TypeError('Middleware 必须是一个数组!');</span>
138
- for (const fn of middleware) {
139
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (typeof fn !== 'function') <span class="cstat-no" title="statement not covered" >throw new TypeError('Middleware 必须由函数组成!');</span></span>
140
- }
141
- &nbsp;
142
- /**
143
- * @param {Object} args
144
- * @return {Promise}
145
- * @api public
146
- */
147
- return (args: any[], next?: Function) =&gt; {
148
- // last called middleware #
149
- let index = -1;
150
- return dispatch(0);
151
- function dispatch(i: number): Promise&lt;void&gt; {
152
- <span class="missing-if-branch" title="if path not taken" >I</span>if (i &lt;= index) <span class="cstat-no" title="statement not covered" >return Promise.reject(new Error('next() 被多次调用'));</span>
153
- index = i;
154
- let fn = middleware[i];
155
- if (i === middleware.length &amp;&amp; next) fn = next;
156
- <span class="missing-if-branch" title="if path not taken" >I</span>if (!fn) <span class="cstat-no" title="statement not covered" >return Promise.resolve();</span>
157
- try {
158
- return Promise.resolve(fn(...args, dispatch.bind(null, i + 1)));
159
- } catch (err) {
160
- <span class="cstat-no" title="statement not covered" > return Promise.reject(err);</span>
161
- }
162
- }
163
- };
164
- };
165
- &nbsp;</pre></td></tr></table></pre>
166
-
167
- <div class='push'></div><!-- for sticky footer -->
168
- </div><!-- /wrapper -->
169
- <div class='footer quiet pad2 space-top1 center small'>
170
- Code coverage generated by
171
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
172
- at Wed May 18 2022 17:42:38 GMT+0800 (China Standard Time)
173
- </div>
174
- <script src="../../prettify.js"></script>
175
- <script>
176
- window.onload = function () {
177
- prettyPrint();
178
- };
179
- </script>
180
- <script src="../../sorter.js"></script>
181
- <script src="../../block-navigation.js"></script>
182
- </body>
183
- </html>
184
-
@@ -1,172 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for src/utils/config.ts</title>
7
- <meta charset="utf-8" />
8
- <link rel="stylesheet" href="../../prettify.css" />
9
- <link rel="stylesheet" href="../../base.css" />
10
- <link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
11
- <meta name="viewport" content="width=device-width, initial-scale=1" />
12
- <style type='text/css'>
13
- .coverage-summary .sorter {
14
- background-image: url(../../sort-arrow-sprite.png);
15
- }
16
- </style>
17
- </head>
18
-
19
- <body>
20
- <div class='wrapper'>
21
- <div class='pad1'>
22
- <h1><a href="../../index.html">All files</a> / <a href="index.html">src/utils</a> config.ts</h1>
23
- <div class='clearfix'>
24
-
25
- <div class='fl pad1y space-right2'>
26
- <span class="strong">71.42% </span>
27
- <span class="quiet">Statements</span>
28
- <span class='fraction'>5/7</span>
29
- </div>
30
-
31
-
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">100% </span>
34
- <span class="quiet">Branches</span>
35
- <span class='fraction'>0/0</span>
36
- </div>
37
-
38
-
39
- <div class='fl pad1y space-right2'>
40
- <span class="strong">0% </span>
41
- <span class="quiet">Functions</span>
42
- <span class='fraction'>0/2</span>
43
- </div>
44
-
45
-
46
- <div class='fl pad1y space-right2'>
47
- <span class="strong">80% </span>
48
- <span class="quiet">Lines</span>
49
- <span class='fraction'>4/5</span>
50
- </div>
51
-
52
-
53
- </div>
54
- <p class="quiet">
55
- Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
- </p>
57
- <template id="filterTemplate">
58
- <div class="quiet">
59
- Filter:
60
- <input oninput="onInput()" type="search" id="fileSearch">
61
- </div>
62
- </template>
63
- </div>
64
- <div class='status-line medium'></div>
65
- <pre><table class="coverage">
66
- <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
- <a name='L2'></a><a href='#L2'>2</a>
68
- <a name='L3'></a><a href='#L3'>3</a>
69
- <a name='L4'></a><a href='#L4'>4</a>
70
- <a name='L5'></a><a href='#L5'>5</a>
71
- <a name='L6'></a><a href='#L6'>6</a>
72
- <a name='L7'></a><a href='#L7'>7</a>
73
- <a name='L8'></a><a href='#L8'>8</a>
74
- <a name='L9'></a><a href='#L9'>9</a>
75
- <a name='L10'></a><a href='#L10'>10</a>
76
- <a name='L11'></a><a href='#L11'>11</a>
77
- <a name='L12'></a><a href='#L12'>12</a>
78
- <a name='L13'></a><a href='#L13'>13</a>
79
- <a name='L14'></a><a href='#L14'>14</a>
80
- <a name='L15'></a><a href='#L15'>15</a>
81
- <a name='L16'></a><a href='#L16'>16</a>
82
- <a name='L17'></a><a href='#L17'>17</a>
83
- <a name='L18'></a><a href='#L18'>18</a>
84
- <a name='L19'></a><a href='#L19'>19</a>
85
- <a name='L20'></a><a href='#L20'>20</a>
86
- <a name='L21'></a><a href='#L21'>21</a>
87
- <a name='L22'></a><a href='#L22'>22</a>
88
- <a name='L23'></a><a href='#L23'>23</a>
89
- <a name='L24'></a><a href='#L24'>24</a>
90
- <a name='L25'></a><a href='#L25'>25</a>
91
- <a name='L26'></a><a href='#L26'>26</a>
92
- <a name='L27'></a><a href='#L27'>27</a>
93
- <a name='L28'></a><a href='#L28'>28</a>
94
- <a name='L29'></a><a href='#L29'>29</a>
95
- <a name='L30'></a><a href='#L30'>30</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
96
- <span class="cline-any cline-neutral">&nbsp;</span>
97
- <span class="cline-any cline-neutral">&nbsp;</span>
98
- <span class="cline-any cline-neutral">&nbsp;</span>
99
- <span class="cline-any cline-neutral">&nbsp;</span>
100
- <span class="cline-any cline-neutral">&nbsp;</span>
101
- <span class="cline-any cline-neutral">&nbsp;</span>
102
- <span class="cline-any cline-neutral">&nbsp;</span>
103
- <span class="cline-any cline-neutral">&nbsp;</span>
104
- <span class="cline-any cline-neutral">&nbsp;</span>
105
- <span class="cline-any cline-neutral">&nbsp;</span>
106
- <span class="cline-any cline-neutral">&nbsp;</span>
107
- <span class="cline-any cline-neutral">&nbsp;</span>
108
- <span class="cline-any cline-neutral">&nbsp;</span>
109
- <span class="cline-any cline-neutral">&nbsp;</span>
110
- <span class="cline-any cline-neutral">&nbsp;</span>
111
- <span class="cline-any cline-neutral">&nbsp;</span>
112
- <span class="cline-any cline-neutral">&nbsp;</span>
113
- <span class="cline-any cline-neutral">&nbsp;</span>
114
- <span class="cline-any cline-neutral">&nbsp;</span>
115
- <span class="cline-any cline-yes">2x</span>
116
- <span class="cline-any cline-neutral">&nbsp;</span>
117
- <span class="cline-any cline-yes">2x</span>
118
- <span class="cline-any cline-no">&nbsp;</span>
119
- <span class="cline-any cline-neutral">&nbsp;</span>
120
- <span class="cline-any cline-neutral">&nbsp;</span>
121
- <span class="cline-any cline-yes">2x</span>
122
- <span class="cline-any cline-neutral">&nbsp;</span>
123
- <span class="cline-any cline-yes">2x</span>
124
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">/*
125
- * Tencent is pleased to support the open source community by making TMagicEditor available.
126
- *
127
- * Copyright (C) 2021 THL A29 Limited, a Tencent company. All rights reserved.
128
- *
129
- * Licensed under the Apache License, Version 2.0 (the "License");
130
- * you may not use this file except in compliance with the License.
131
- * You may obtain a copy of the License at
132
- *
133
- * http://www.apache.org/licenses/LICENSE-2.0
134
- *
135
- * Unless required by applicable law or agreed to in writing, software
136
- * distributed under the License is distributed on an "AS IS" BASIS,
137
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
138
- * See the License for the specific language governing permissions and
139
- * limitations under the License.
140
- */
141
- &nbsp;
142
- import { InstallOptions } from '@editor/type';
143
- &nbsp;
144
- let $TMAGIC_EDITOR: InstallOptions = {} as any;
145
- &nbsp;
146
- const setConfig = <span class="fstat-no" title="function not covered" >(o</span>ption: InstallOptions): void =&gt; {
147
- <span class="cstat-no" title="statement not covered" > $TMAGIC_EDITOR = option;</span>
148
- };
149
- &nbsp;
150
- const getConfig = <span class="fstat-no" title="function not covered" >(k</span>ey: keyof InstallOptions): unknown =&gt; <span class="cstat-no" title="statement not covered" >$TMAGIC_EDITOR[key];</span>
151
- &nbsp;
152
- export { getConfig, setConfig };
153
- &nbsp;</pre></td></tr></table></pre>
154
-
155
- <div class='push'></div><!-- for sticky footer -->
156
- </div><!-- /wrapper -->
157
- <div class='footer quiet pad2 space-top1 center small'>
158
- Code coverage generated by
159
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
160
- at Wed May 18 2022 17:42:38 GMT+0800 (China Standard Time)
161
- </div>
162
- <script src="../../prettify.js"></script>
163
- <script>
164
- window.onload = function () {
165
- prettyPrint();
166
- };
167
- </script>
168
- <script src="../../sorter.js"></script>
169
- <script src="../../block-navigation.js"></script>
170
- </body>
171
- </html>
172
-