vite-uni-dev-tool 0.0.12 → 0.0.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.
Files changed (235) hide show
  1. package/dist/const.d.ts +133 -0
  2. package/dist/const.d.ts.map +1 -0
  3. package/dist/const.js +36 -0
  4. package/dist/core.d.ts +52 -0
  5. package/dist/core.d.ts.map +1 -0
  6. package/dist/core.js +80 -0
  7. package/dist/devConsole/index.d.ts +169 -0
  8. package/dist/devConsole/index.d.ts.map +1 -0
  9. package/dist/devConsole/index.js +270 -0
  10. package/dist/devEvent/index.d.ts +286 -0
  11. package/dist/devEvent/index.d.ts.map +1 -0
  12. package/dist/devEvent/index.js +435 -0
  13. package/dist/devEventBus/index.d.ts +42 -0
  14. package/dist/devEventBus/index.d.ts.map +1 -0
  15. package/dist/devEventBus/index.js +70 -0
  16. package/dist/devIntercept/index.d.ts +119 -0
  17. package/dist/devIntercept/index.d.ts.map +1 -0
  18. package/dist/devIntercept/index.js +582 -0
  19. package/dist/devRunJS/index.d.ts +67 -0
  20. package/dist/devRunJS/index.d.ts.map +1 -0
  21. package/dist/devStore/index.d.ts +178 -0
  22. package/dist/devStore/index.d.ts.map +1 -0
  23. package/dist/devStore/index.js +395 -0
  24. package/dist/devToolInfo/index.d.ts +17 -0
  25. package/dist/devToolInfo/index.d.ts.map +1 -0
  26. package/dist/devToolInfo/index.js +15 -0
  27. package/{dev → dist}/plugins/uniDevTool/uniDevTool.d.ts +7 -1
  28. package/dist/plugins/uniDevTool/uniDevTool.d.ts.map +1 -0
  29. package/dist/plugins/uniDevTool/uniDevTool.js +35 -0
  30. package/{dev → dist}/plugins/utils/index.d.ts +3 -0
  31. package/{dev → dist}/plugins/utils/index.d.ts.map +1 -1
  32. package/dist/plugins/utils/index.js +1 -0
  33. package/dist/type.d.ts +264 -0
  34. package/dist/type.d.ts.map +1 -0
  35. package/dist/utils/array.d.ts +2 -0
  36. package/dist/utils/array.d.ts.map +1 -0
  37. package/dist/utils/array.js +12 -0
  38. package/dist/utils/date.d.ts +19 -0
  39. package/dist/utils/date.d.ts.map +1 -0
  40. package/dist/utils/date.js +40 -0
  41. package/dist/utils/file.d.ts +11 -0
  42. package/dist/utils/file.d.ts.map +1 -0
  43. package/dist/utils/file.js +87 -0
  44. package/dist/utils/function.d.ts +28 -0
  45. package/dist/utils/function.d.ts.map +1 -0
  46. package/dist/utils/function.js +46 -0
  47. package/dist/utils/index.d.ts +11 -0
  48. package/dist/utils/index.d.ts.map +1 -0
  49. package/dist/utils/index.js +55 -0
  50. package/dist/utils/ip.d.ts +5 -0
  51. package/dist/utils/ip.d.ts.map +1 -0
  52. package/dist/utils/ip.js +21 -0
  53. package/dist/utils/language.d.ts +29 -0
  54. package/dist/utils/language.d.ts.map +1 -0
  55. package/dist/utils/language.js +50 -0
  56. package/dist/utils/object.d.ts +49 -0
  57. package/dist/utils/object.d.ts.map +1 -0
  58. package/dist/utils/object.js +118 -0
  59. package/dist/utils/page.d.ts +7 -0
  60. package/dist/utils/page.d.ts.map +1 -0
  61. package/dist/utils/page.js +7 -0
  62. package/dist/utils/platform.d.ts +4 -0
  63. package/dist/utils/platform.d.ts.map +1 -0
  64. package/dist/utils/platform.js +14 -0
  65. package/dist/utils/string.d.ts +45 -0
  66. package/dist/utils/string.d.ts.map +1 -0
  67. package/dist/utils/string.js +88 -0
  68. package/dist/utils/utils.d.ts +16 -0
  69. package/dist/utils/utils.d.ts.map +1 -0
  70. package/dist/v2/AppInfo/index.vue +41 -0
  71. package/dist/v2/AutoSizer/index.vue +189 -0
  72. package/dist/v2/AutoSizer/index1.vue +193 -0
  73. package/dist/v2/AutoSizer/utils.d.ts +5 -0
  74. package/dist/v2/AutoSizer/utils.d.ts.map +1 -0
  75. package/dist/v2/CaptureScreen/index.vue +78 -0
  76. package/dist/v2/CloseButton/index.vue +32 -0
  77. package/dist/v2/Connection/index.vue +94 -0
  78. package/dist/v2/ConsoleList/ConsoleItem.vue +235 -0
  79. package/dist/v2/ConsoleList/RunJSInput.vue +243 -0
  80. package/dist/v2/ConsoleList/index.vue +164 -0
  81. package/dist/v2/ConsoleList/staticTips.js +1144 -0
  82. package/dist/v2/DevTool/index.vue +162 -0
  83. package/dist/v2/DevToolButton/index.vue +228 -0
  84. package/dist/v2/DevToolTitle/index.vue +28 -0
  85. package/dist/v2/DevToolWindow/index.vue +1051 -0
  86. package/dist/v2/DeviceInfo/index.vue +48 -0
  87. package/dist/v2/Empty/index.vue +40 -0
  88. package/dist/v2/FilterInput/index.vue +100 -0
  89. package/dist/v2/JsonPretty/components/Brackets/index.vue +30 -0
  90. package/dist/v2/JsonPretty/components/Carets/index.vue +65 -0
  91. package/dist/v2/JsonPretty/components/CheckController/index.vue +127 -0
  92. package/dist/v2/JsonPretty/components/TreeNode/index.vue +417 -0
  93. package/dist/v2/JsonPretty/hooks/useClipboard.d.ts +4 -0
  94. package/dist/v2/JsonPretty/hooks/useClipboard.d.ts.map +1 -0
  95. package/dist/v2/JsonPretty/hooks/useError.d.ts +8 -0
  96. package/dist/v2/JsonPretty/hooks/useError.d.ts.map +1 -0
  97. package/dist/v2/JsonPretty/index.vue +531 -0
  98. package/dist/v2/JsonPretty/type.d.ts +93 -0
  99. package/dist/v2/JsonPretty/type.d.ts.map +1 -0
  100. package/dist/v2/JsonPretty/utils/index.js +211 -0
  101. package/dist/v2/NetworkList/NetworkDetail.vue +215 -0
  102. package/dist/v2/NetworkList/NetworkItem.vue +135 -0
  103. package/dist/v2/NetworkList/index.vue +148 -0
  104. package/dist/v2/PiniaList/index.vue +79 -0
  105. package/dist/v2/RouteList/index.vue +137 -0
  106. package/dist/v2/SettingList/index.vue +318 -0
  107. package/dist/v2/SourceCode/index.vue +237 -0
  108. package/dist/v2/StorageList/index.vue +165 -0
  109. package/dist/v2/SystemInfo/index.vue +49 -0
  110. package/dist/v2/Tabs/index.vue +127 -0
  111. package/dist/v2/Tag/index.vue +91 -0
  112. package/dist/v2/UniEvent/UniEventItem.vue +157 -0
  113. package/dist/v2/UniEvent/index.vue +127 -0
  114. package/dist/v2/UploadList/UploadDetail.vue +204 -0
  115. package/dist/v2/UploadList/UploadItem.vue +134 -0
  116. package/dist/v2/UploadList/index.vue +143 -0
  117. package/dist/v2/VirtualList/index.vue +140 -0
  118. package/dist/v2/VirtualListPro/AutoSize.vue +50 -0
  119. package/dist/v2/VirtualListPro/index.vue +255 -0
  120. package/dist/v2/VuexList/index.vue +80 -0
  121. package/dist/v2/WebSocket/WebSocketItem.vue +129 -0
  122. package/dist/v2/WebSocket/WebSocketList.vue +183 -0
  123. package/dist/v2/WebSocket/index.vue +155 -0
  124. package/dist/v2/WindowInfo/index.vue +49 -0
  125. package/{dev/components → dist/v3}/AppInfo/index.vue +0 -1
  126. package/dist/v3/AutoSizer/utils.d.ts +5 -0
  127. package/dist/v3/AutoSizer/utils.d.ts.map +1 -0
  128. package/dist/v3/AutoSizer/utils.ts +49 -0
  129. package/{dev/components → dist/v3}/CloseButton/index.vue +5 -2
  130. package/{dev/components → dist/v3}/ConsoleList/ConsoleItem.vue +10 -9
  131. package/{dev/components → dist/v3}/ConsoleList/RunJSInput.vue +5 -2
  132. package/dist/v3/ConsoleList/staticTips.d.ts +13 -0
  133. package/dist/v3/ConsoleList/staticTips.d.ts.map +1 -0
  134. package/{dev/components → dist/v3}/DevTool/index.vue +33 -4
  135. package/{dev/components → dist/v3}/DevToolWindow/index.vue +67 -4
  136. package/dist/v3/Empty/empty.png +0 -0
  137. package/{dev/components → dist/v3}/FilterInput/index.vue +5 -4
  138. package/dist/v3/JsonPretty/hooks/useClipboard.d.ts +4 -0
  139. package/dist/v3/JsonPretty/hooks/useClipboard.d.ts.map +1 -0
  140. package/dist/v3/JsonPretty/hooks/useClipboard.ts +21 -0
  141. package/dist/v3/JsonPretty/hooks/useError.d.ts +8 -0
  142. package/dist/v3/JsonPretty/hooks/useError.d.ts.map +1 -0
  143. package/dist/v3/JsonPretty/hooks/useError.ts +21 -0
  144. package/{dev/components → dist/v3}/JsonPretty/index.vue +10 -10
  145. package/dist/v3/JsonPretty/type.d.ts +93 -0
  146. package/dist/v3/JsonPretty/type.d.ts.map +1 -0
  147. package/dist/v3/JsonPretty/type.ts +125 -0
  148. package/dist/v3/JsonPretty/utils/index.d.ts +10 -0
  149. package/dist/v3/JsonPretty/utils/index.d.ts.map +1 -0
  150. package/{dev/components → dist/v3}/NetworkList/NetworkDetail.vue +2 -2
  151. package/{dev/components → dist/v3}/NetworkList/NetworkItem.vue +2 -1
  152. package/dist/v3/RunJS/index.vue +128 -0
  153. package/{dev/components → dist/v3}/SettingList/index.vue +128 -37
  154. package/{dev/components → dist/v3}/SourceCode/index.vue +2 -2
  155. package/{dev/components → dist/v3}/Tag/index.vue +4 -4
  156. package/{dev/components → dist/v3}/UploadList/UploadDetail.vue +3 -15
  157. package/{dev/components → dist/v3}/UploadList/UploadItem.vue +1 -1
  158. package/dist/v3/VirtualListPro/readme.md +40 -0
  159. package/{dev/components → dist/v3}/WebSocket/WebSocketItem.vue +1 -1
  160. package/{dev/components → dist/v3}/WebSocket/WebSocketList.vue +3 -15
  161. package/package.json +5 -5
  162. package/dev/components/Button/index.vue +0 -34
  163. package/dev/components/Checkbox/index.vue +0 -40
  164. package/dev/components/Code/index.vue +0 -230
  165. package/dev/components/ConsoleList/Code.vue +0 -227
  166. package/dev/const.ts +0 -164
  167. package/dev/core.ts +0 -118
  168. package/dev/devConsole/index.ts +0 -350
  169. package/dev/devEvent/index.ts +0 -810
  170. package/dev/devEventBus/index.ts +0 -94
  171. package/dev/devIntercept/index.ts +0 -745
  172. package/dev/devRunJS/index.ts +0 -170
  173. package/dev/devStore/index.ts +0 -732
  174. package/dev/devToolInfo/index.ts +0 -26
  175. package/dev/plugins/uniDevTool/uniDevTool.d.ts.map +0 -1
  176. package/dev/plugins/uniDevTool/uniDevTool.js +0 -36
  177. package/dev/plugins/utils/index.js +0 -1
  178. package/dev/shims-uni.d.ts +0 -43
  179. package/dev/type.ts +0 -291
  180. package/dev/utils/array.ts +0 -15
  181. package/dev/utils/date.ts +0 -75
  182. package/dev/utils/file.ts +0 -121
  183. package/dev/utils/function.ts +0 -192
  184. package/dev/utils/index.d.ts +0 -6
  185. package/dev/utils/index.ts +0 -51
  186. package/dev/utils/ip.ts +0 -79
  187. package/dev/utils/language.ts +0 -77
  188. package/dev/utils/object.ts +0 -306
  189. package/dev/utils/page.ts +0 -13
  190. package/dev/utils/platform.ts +0 -14
  191. package/dev/utils/string.ts +0 -133
  192. package/dev/utils/utils.ts +0 -198
  193. /package/{dev → dist}/index.d.ts +0 -0
  194. /package/{dev → dist}/index.d.ts.map +0 -0
  195. /package/{dev → dist}/index.js +0 -0
  196. /package/{dev → dist}/plugins/uniGlobalComponents/uniGlobalComponents.d.ts +0 -0
  197. /package/{dev → dist}/plugins/uniGlobalComponents/uniGlobalComponents.d.ts.map +0 -0
  198. /package/{dev → dist}/plugins/uniGlobalComponents/uniGlobalComponents.js +0 -0
  199. /package/{dev/components → dist/v2}/AutoSizer/utils.ts +0 -0
  200. /package/{dev/components → dist/v2}/Empty/empty.png +0 -0
  201. /package/{dev/components → dist/v2}/JsonPretty/hooks/useClipboard.ts +0 -0
  202. /package/{dev/components → dist/v2}/JsonPretty/hooks/useError.ts +0 -0
  203. /package/{dev/components → dist/v2}/JsonPretty/type.ts +0 -0
  204. /package/{dev/components → dist/v2}/RunJS/index.vue +0 -0
  205. /package/{dev/components → dist/v2}/VirtualListPro/readme.md +0 -0
  206. /package/{dev/components → dist/v3}/AutoSizer/index.vue +0 -0
  207. /package/{dev/components → dist/v3}/AutoSizer/index1.vue +0 -0
  208. /package/{dev/components → dist/v3}/CaptureScreen/index.vue +0 -0
  209. /package/{dev/components → dist/v3}/Connection/index.vue +0 -0
  210. /package/{dev/components → dist/v3}/ConsoleList/index.vue +0 -0
  211. /package/{dev/components → dist/v3}/ConsoleList/staticTips.ts +0 -0
  212. /package/{dev/components → dist/v3}/DevToolButton/index.vue +0 -0
  213. /package/{dev/components → dist/v3}/DevToolTitle/index.vue +0 -0
  214. /package/{dev/components → dist/v3}/DeviceInfo/index.vue +0 -0
  215. /package/{dev/components → dist/v3}/Empty/index.vue +0 -0
  216. /package/{dev/components → dist/v3}/JsonPretty/components/Brackets/index.vue +0 -0
  217. /package/{dev/components → dist/v3}/JsonPretty/components/Carets/index.vue +0 -0
  218. /package/{dev/components → dist/v3}/JsonPretty/components/CheckController/index.vue +0 -0
  219. /package/{dev/components → dist/v3}/JsonPretty/components/TreeNode/index.vue +0 -0
  220. /package/{dev/components → dist/v3}/JsonPretty/utils/index.ts +0 -0
  221. /package/{dev/components → dist/v3}/NetworkList/index.vue +0 -0
  222. /package/{dev/components → dist/v3}/PiniaList/index.vue +0 -0
  223. /package/{dev/components → dist/v3}/RouteList/index.vue +0 -0
  224. /package/{dev/components → dist/v3}/StorageList/index.vue +0 -0
  225. /package/{dev/components → dist/v3}/SystemInfo/index.vue +0 -0
  226. /package/{dev/components → dist/v3}/Tabs/index.vue +0 -0
  227. /package/{dev/components → dist/v3}/UniEvent/UniEventItem.vue +0 -0
  228. /package/{dev/components → dist/v3}/UniEvent/index.vue +0 -0
  229. /package/{dev/components → dist/v3}/UploadList/index.vue +0 -0
  230. /package/{dev/components → dist/v3}/VirtualList/index.vue +0 -0
  231. /package/{dev/components → dist/v3}/VirtualListPro/AutoSize.vue +0 -0
  232. /package/{dev/components → dist/v3}/VirtualListPro/index.vue +0 -0
  233. /package/{dev/components → dist/v3}/VuexList/index.vue +0 -0
  234. /package/{dev/components → dist/v3}/WebSocket/index.vue +0 -0
  235. /package/{dev/components → dist/v3}/WindowInfo/index.vue +0 -0
@@ -0,0 +1,417 @@
1
+ <template>
2
+ <view
3
+ :class="{
4
+ 'json-pretty-tree-node': true,
5
+ 'has-selector': showSelectController,
6
+ 'has-carets': showIcon,
7
+ 'is-highlight': highlightSelectedNode && checked,
8
+ 'json-pretty-tree-node-active': state.editing,
9
+ dark: theme === 'dark',
10
+ }"
11
+ @click="handleNodeClick"
12
+ @mouseover="handleNodeMouseover"
13
+ :style="style"
14
+ >
15
+ <view v-if="showLineNumber" class="json-pretty-node-index">
16
+ {{ node.id + 1 }}
17
+ </view>
18
+
19
+ <CheckController
20
+ v-if="
21
+ showSelectController &&
22
+ selectable &&
23
+ node.type !== 'objectEnd' &&
24
+ node.type !== 'arrayEnd'
25
+ "
26
+ :isMultiple="isMultiple"
27
+ :checked="checked"
28
+ @change="handleSelectedChange"
29
+ />
30
+
31
+ <view class="json-pretty-indent">
32
+ <view
33
+ v-for="(item, index) in Array(node.level)"
34
+ :key="index"
35
+ :class="{
36
+ 'json-pretty-indent-unit': true,
37
+ 'has-line': showLine,
38
+ }"
39
+ >
40
+ <view v-for="() in Array(indent)" :key="Math.random()">&nbsp;</view>
41
+ </view>
42
+ <Carets v-if="showIcon" :nodeType="node.type" @click="handleIconClick" />
43
+ </view>
44
+
45
+ <view v-if="node.key" class="json-pretty-key">
46
+ <slot name="render-node-key" :node="node" :default-key="prettyKey">
47
+ {{ prettyKey }}
48
+ </slot>
49
+ <view class="json-pretty-colon">
50
+ {{ `:${showKeyValueSpace ? ' ' : ''}` }}
51
+ </view>
52
+ </view>
53
+
54
+ <view class="json-pretty-value-wrapper">
55
+ <Brackets
56
+ v-if="node.type !== 'content' && node.content"
57
+ :data="node.content.toString()"
58
+ @click="handleBracketsClick"
59
+ />
60
+
61
+ <view v-else :class="valueClass" @click="handleValueEdit">
62
+ <input
63
+ v-if="editable && state.editing"
64
+ class="json-pretty-edit-input"
65
+ :value="defaultValue"
66
+ :focus="state.editing"
67
+ @blur="handleInputBlur"
68
+ />
69
+ <view v-else>
70
+ <slot
71
+ name="render-node-value"
72
+ :node="node"
73
+ :default-value="defaultValue"
74
+ >
75
+ {{ defaultValue }}
76
+ </slot>
77
+ <text v-if="node.showComma">,</text>
78
+ </view>
79
+ </view>
80
+
81
+ <view v-if="showLength && collapsed" class="json-pretty-comment">
82
+ // {{ node.length }} items
83
+ </view>
84
+ </view>
85
+ <view class="json-pretty-tree-node-actions" v-if="showNodeActions">
86
+ <slot name="render-node-actions" :copy="handleCopy">
87
+ <view @click="handleCopy" class="json-pretty-tree-node-actions-item">
88
+ copy
89
+ </view>
90
+ </slot>
91
+ </view>
92
+ </view>
93
+ </template>
94
+
95
+ <script>
96
+ import { getDataType, isFunction, stringToAutoType } from '../../utils';
97
+ import { getValueByPath } from '../../../../utils';
98
+ import Brackets from '../Brackets/index.vue';
99
+ import CheckController from '../CheckController/index.vue';
100
+ import Carets from '../Carets/index.vue';
101
+
102
+ export default {
103
+ components: {
104
+ Brackets,
105
+ CheckController,
106
+ Carets,
107
+ },
108
+ props: {
109
+ node: {
110
+ type: Object,
111
+ required: true,
112
+ },
113
+ rootPath: {
114
+ type: String,
115
+ default: 'root',
116
+ },
117
+ indent: {
118
+ type: Number,
119
+ default: 2,
120
+ },
121
+ showDoubleQuotes: {
122
+ type: Boolean,
123
+ default: true,
124
+ },
125
+ showLine: {
126
+ type: Boolean,
127
+ default: true,
128
+ },
129
+ selectOnClickNode: {
130
+ type: Boolean,
131
+ default: true,
132
+ },
133
+ highlightSelectedNode: {
134
+ type: Boolean,
135
+ default: true,
136
+ },
137
+ theme: {
138
+ type: String,
139
+ default: 'light',
140
+ },
141
+ showKeyValueSpace: {
142
+ type: Boolean,
143
+ default: true,
144
+ },
145
+ editableTrigger: {
146
+ type: String,
147
+ default: 'click',
148
+ },
149
+ checked: {
150
+ type: Boolean,
151
+ default: false,
152
+ },
153
+ nodeSelectable: {
154
+ type: Function,
155
+ default: () => false,
156
+ },
157
+ selectableType: {
158
+ type: String,
159
+ default: 'multiple',
160
+ },
161
+ collapsed: {
162
+ type: Boolean,
163
+ default: false,
164
+ },
165
+ showSelectController: {
166
+ type: Boolean,
167
+ default: false,
168
+ },
169
+ showIcon: {
170
+ type: Boolean,
171
+ default: false,
172
+ },
173
+ showLineNumber: {
174
+ type: Boolean,
175
+ default: false,
176
+ },
177
+ showLength: {
178
+ type: Boolean,
179
+ default: false,
180
+ },
181
+ showNodeActions: {
182
+ type: Boolean,
183
+ default: false,
184
+ },
185
+ editable: {
186
+ type: Boolean,
187
+ default: false,
188
+ },
189
+ data: {
190
+ type: Object,
191
+ default: () => ({}),
192
+ },
193
+ style: {
194
+ type: Object,
195
+ default: () => ({}),
196
+ },
197
+ },
198
+ data() {
199
+ return {
200
+ state: {
201
+ editing: false,
202
+ },
203
+ };
204
+ },
205
+ computed: {
206
+ dataType() {
207
+ return getDataType(this.node.content);
208
+ },
209
+ valueClass() {
210
+ return `json-pretty-value json-pretty-value-${this.dataType}`;
211
+ },
212
+ prettyKey() {
213
+ return this.showDoubleQuotes ? `"${this.node.key}"` : this.node.key;
214
+ },
215
+ isMultiple() {
216
+ return this.selectableType === 'multiple';
217
+ },
218
+ isSingle() {
219
+ return this.selectableType === 'single';
220
+ },
221
+ selectable() {
222
+ return (
223
+ isFunction(this.nodeSelectable) &&
224
+ this.nodeSelectable(this.node) &&
225
+ (this.isMultiple || this.isSingle)
226
+ );
227
+ },
228
+ defaultValue() {
229
+ let value = this.node?.content;
230
+ if (value === null) {
231
+ value = 'null';
232
+ } else if (value === undefined) {
233
+ value = 'undefined';
234
+ }
235
+ return this.dataType === 'string' ? `"${value}"` : value?.toString();
236
+ },
237
+ },
238
+ methods: {
239
+ handleInputBlur(e) {
240
+ const source = e.detail.value;
241
+ const value = stringToAutoType(source);
242
+ this.$emit('valueChange', value, this.node.path);
243
+ this.state.editing = false;
244
+ },
245
+ handleBracketsClick() {
246
+ this.$emit('bracketsClick', !this.collapsed, this.node);
247
+ },
248
+ handleIconClick() {
249
+ this.$emit('iconClick', !this.collapsed, this.node);
250
+ },
251
+ handleSelectedChange() {
252
+ this.$emit('selectedChange', this.node);
253
+ },
254
+ handleNodeClick() {
255
+ this.$emit('nodeClick', this.node);
256
+ if (this.selectable && this.selectOnClickNode) {
257
+ this.$emit('selectedChange', this.node);
258
+ }
259
+ },
260
+ handleNodeMouseover() {
261
+ this.$emit('nodeMouseover', this.node);
262
+ },
263
+ handleValueEdit(e) {
264
+ if (!this.editable) return;
265
+ if (!this.state.editing) {
266
+ this.state.editing = true;
267
+ }
268
+ },
269
+ handleCopy() {
270
+ const { key, path } = this.node;
271
+ const rootPath = this.rootPath;
272
+ const content = getValueByPath(this.data, path.slice(rootPath.length));
273
+ const copiedData = JSON.stringify(
274
+ key ? { [key]: content } : content,
275
+ null,
276
+ 2,
277
+ );
278
+
279
+ uni.setClipboardData({
280
+ data: copiedData,
281
+ success() {
282
+ uni.showToast({
283
+ title: '复制成功',
284
+ icon: 'none',
285
+ });
286
+ },
287
+ fail() {
288
+ uni.showToast({
289
+ title: '复制失败',
290
+ icon: 'none',
291
+ });
292
+ },
293
+ });
294
+ },
295
+ },
296
+ };
297
+ </script>
298
+ <style scoped>
299
+ .json-pretty-tree-node {
300
+ display: flex;
301
+ /* align-items: center; */
302
+ position: relative;
303
+ line-height: 20px;
304
+ }
305
+ .json-pretty-tree-node.has-carets {
306
+ padding-left: 15px;
307
+ }
308
+ .json-pretty-tree-node.has-selector,
309
+ .json-pretty-tree-node.has-carets.has-selector {
310
+ padding-left: 30px;
311
+ }
312
+ .json-pretty-tree-node.is-highlight,
313
+ .json-pretty-tree-node:hover {
314
+ background-color: var(--json-pretty-highlight-bg-color);
315
+ border-radius: 4px;
316
+ }
317
+ .json-pretty-tree-node.is-highlight .json-pretty-tree-node-actions,
318
+ .json-pretty-tree-node:hover .json-pretty-tree-node-actions {
319
+ display: block;
320
+ }
321
+ .json-pretty-tree-node .json-pretty-indent {
322
+ display: flex;
323
+ position: relative;
324
+ }
325
+ .json-pretty-tree-node .json-pretty-indent-unit {
326
+ display: flex;
327
+ }
328
+ .json-pretty-tree-node .json-pretty-indent-unit.has-line {
329
+ border-left: 1px dashed var(--json-pretty-border-color);
330
+ }
331
+ .json-pretty-tree-node .json-pretty-tree-node-actions {
332
+ display: none;
333
+ position: absolute;
334
+ right: 0;
335
+ top: 0;
336
+ padding: 0 4px;
337
+ background-color: var(--json-pretty-highlight-bg-color);
338
+ border-radius: 4px;
339
+ }
340
+ .json-pretty-tree-node
341
+ .json-pretty-tree-node-actions
342
+ .json-pretty-tree-node-actions-item {
343
+ cursor: pointer;
344
+ }
345
+ .json-pretty-tree-node
346
+ .json-pretty-tree-node-actions
347
+ .json-pretty-tree-node-actions-item:hover {
348
+ color: var(--json-pretty-color-primary);
349
+ }
350
+ .json-pretty-tree-node.dark.is-highlight,
351
+ .json-pretty-tree-node.dark:hover {
352
+ background-color: var(--json-pretty-highlight-bg-color-dark);
353
+ }
354
+ .json-pretty-tree-node.dark .json-pretty-tree-node-actions {
355
+ background-color: var(--json-pretty-highlight-bg-color-dark);
356
+ }
357
+ .json-pretty-tree-node-active {
358
+ background-color: var(--json-pretty-highlight-bg-color);
359
+ border-radius: 4px;
360
+ }
361
+ .json-pretty-tree-node-active .json-pretty-tree-node-actions {
362
+ display: block;
363
+ }
364
+ .json-pretty-node-index {
365
+ position: absolute;
366
+ right: 100%;
367
+ margin-right: 4px;
368
+ user-select: none;
369
+ }
370
+ .json-pretty-colon {
371
+ white-space: pre;
372
+ }
373
+ .json-pretty-comment {
374
+ color: var(--json-pretty-color-primary);
375
+ }
376
+ .json-pretty-key {
377
+ display: flex;
378
+ }
379
+ .json-pretty-value-wrapper {
380
+ display: flex;
381
+ align-items: center;
382
+ }
383
+ .json-pretty-value {
384
+ word-break: break-all;
385
+ white-space: normal;
386
+ /* white-space: pre-line; */
387
+ /* white-space: nowrap; */
388
+ }
389
+ .json-pretty-value-null {
390
+ color: var(--json-pretty-color-null);
391
+ }
392
+ .json-pretty-value-undefined {
393
+ color: var(--json-pretty-color-undefined);
394
+ }
395
+ .json-pretty-value-number {
396
+ color: var(--json-pretty-color-number);
397
+ }
398
+ .json-pretty-value-boolean {
399
+ color: var(--json-pretty-color-boolean);
400
+ }
401
+ .json-pretty-value-string {
402
+ color: var(--json-pretty-color-string);
403
+ }
404
+ .json-pretty-edit-input {
405
+ padding: 0px 8px;
406
+ border: 1px solid #eee;
407
+ box-shadow: none;
408
+ box-sizing: border-box;
409
+ border-radius: 5;
410
+ font-family: inherit;
411
+ color: #000;
412
+ font-weight: 400;
413
+ background-color: #fff;
414
+ font: unset;
415
+ height: 16px;
416
+ }
417
+ </style>
@@ -0,0 +1,4 @@
1
+ export declare function useClipboard(): {
2
+ copy: (source: string) => Promise<void>;
3
+ };
4
+ //# sourceMappingURL=useClipboard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useClipboard.d.ts","sourceRoot":"","sources":["../../../../dev/v2/JsonPretty/hooks/useClipboard.ts"],"names":[],"mappings":"AAEA,wBAAgB,YAAY;mBAGE,MAAM;EAenC"}
@@ -0,0 +1,8 @@
1
+ type UseErrorOptions = {
2
+ emitListener: boolean;
3
+ };
4
+ export declare function useError(message: string, { emitListener }: UseErrorOptions): {
5
+ emit: () => never;
6
+ };
7
+ export {};
8
+ //# sourceMappingURL=useError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useError.d.ts","sourceRoot":"","sources":["../../../../dev/v2/JsonPretty/hooks/useError.ts"],"names":[],"mappings":"AAEA,KAAK,eAAe,GAAG;IACrB,YAAY,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,EAAE,eAAe;;EAc1E"}