vome-core 0.3.65 → 0.3.67

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 (342) hide show
  1. package/dist/admin/api/client.js +7 -2
  2. package/dist/admin/components/ui/avatar/Avatar.vue +18 -18
  3. package/dist/admin/components/ui/avatar/AvatarFallback.vue +21 -21
  4. package/dist/admin/components/ui/avatar/AvatarImage.vue +16 -16
  5. package/dist/admin/components/ui/avatar/index.js +1 -1
  6. package/dist/admin/components/ui/badge/Badge.vue +26 -26
  7. package/dist/admin/components/ui/button/Button.vue +31 -31
  8. package/dist/admin/components/ui/checkbox/Checkbox.vue +35 -35
  9. package/dist/admin/components/ui/checkbox/index.js +1 -1
  10. package/dist/admin/components/ui/dialog/Dialog.vue +19 -19
  11. package/dist/admin/components/ui/dialog/DialogClose.vue +15 -15
  12. package/dist/admin/components/ui/dialog/DialogContent.vue +267 -267
  13. package/dist/admin/components/ui/dialog/DialogDescription.vue +23 -23
  14. package/dist/admin/components/ui/dialog/DialogFooter.vue +27 -27
  15. package/dist/admin/components/ui/dialog/DialogHeader.vue +17 -17
  16. package/dist/admin/components/ui/dialog/DialogOverlay.vue +21 -21
  17. package/dist/admin/components/ui/dialog/DialogScrollContent.vue +60 -60
  18. package/dist/admin/components/ui/dialog/DialogTitle.vue +23 -23
  19. package/dist/admin/components/ui/dialog/DialogTrigger.vue +15 -15
  20. package/dist/admin/components/ui/dialog/index.js +1 -1
  21. package/dist/admin/components/ui/dropdown-menu/DropdownMenu.vue +19 -19
  22. package/dist/admin/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue +39 -39
  23. package/dist/admin/components/ui/dropdown-menu/DropdownMenuContent.vue +39 -39
  24. package/dist/admin/components/ui/dropdown-menu/DropdownMenuGroup.vue +15 -15
  25. package/dist/admin/components/ui/dropdown-menu/DropdownMenuItem.vue +31 -31
  26. package/dist/admin/components/ui/dropdown-menu/DropdownMenuLabel.vue +23 -23
  27. package/dist/admin/components/ui/dropdown-menu/DropdownMenuRadioGroup.vue +21 -21
  28. package/dist/admin/components/ui/dropdown-menu/DropdownMenuRadioItem.vue +40 -40
  29. package/dist/admin/components/ui/dropdown-menu/DropdownMenuSeparator.vue +23 -23
  30. package/dist/admin/components/ui/dropdown-menu/DropdownMenuShortcut.vue +17 -17
  31. package/dist/admin/components/ui/dropdown-menu/DropdownMenuSub.vue +18 -18
  32. package/dist/admin/components/ui/dropdown-menu/DropdownMenuSubContent.vue +27 -27
  33. package/dist/admin/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue +31 -31
  34. package/dist/admin/components/ui/dropdown-menu/DropdownMenuTrigger.vue +17 -17
  35. package/dist/admin/components/ui/dropdown-menu/index.js +1 -1
  36. package/dist/admin/components/ui/input/Input.vue +183 -183
  37. package/dist/admin/components/ui/input/index.js +1 -1
  38. package/dist/admin/components/ui/label/Label.vue +26 -26
  39. package/dist/admin/components/ui/label/index.js +1 -1
  40. package/dist/admin/components/ui/scroll-area/ScrollArea.vue +33 -33
  41. package/dist/admin/components/ui/scroll-area/ScrollBar.vue +32 -32
  42. package/dist/admin/components/ui/scroll-area/index.js +1 -1
  43. package/dist/admin/components/ui/select/Select.vue +19 -19
  44. package/dist/admin/components/ui/select/SelectContent.vue +51 -51
  45. package/dist/admin/components/ui/select/SelectGroup.vue +15 -15
  46. package/dist/admin/components/ui/select/SelectItem.vue +53 -53
  47. package/dist/admin/components/ui/select/SelectItemText.vue +15 -15
  48. package/dist/admin/components/ui/select/SelectLabel.vue +17 -17
  49. package/dist/admin/components/ui/select/SelectScrollDownButton.vue +26 -26
  50. package/dist/admin/components/ui/select/SelectScrollUpButton.vue +26 -26
  51. package/dist/admin/components/ui/select/SelectSeparator.vue +19 -19
  52. package/dist/admin/components/ui/select/SelectTrigger.vue +44 -44
  53. package/dist/admin/components/ui/select/SelectValue.vue +15 -15
  54. package/dist/admin/components/ui/select/index.js +1 -1
  55. package/dist/admin/components/ui/separator/Separator.vue +29 -29
  56. package/dist/admin/components/ui/separator/index.js +1 -1
  57. package/dist/admin/components/ui/sheet/Sheet.vue +19 -19
  58. package/dist/admin/components/ui/sheet/SheetClose.vue +15 -15
  59. package/dist/admin/components/ui/sheet/SheetContent.vue +63 -63
  60. package/dist/admin/components/ui/sheet/SheetDescription.vue +21 -21
  61. package/dist/admin/components/ui/sheet/SheetFooter.vue +16 -16
  62. package/dist/admin/components/ui/sheet/SheetHeader.vue +15 -15
  63. package/dist/admin/components/ui/sheet/SheetOverlay.vue +21 -21
  64. package/dist/admin/components/ui/sheet/SheetTitle.vue +21 -21
  65. package/dist/admin/components/ui/sheet/SheetTrigger.vue +15 -15
  66. package/dist/admin/components/ui/sheet/index.js +1 -1
  67. package/dist/admin/components/ui/sonner/Toaster.vue +117 -117
  68. package/dist/admin/components/ui/sonner/index.js +1 -1
  69. package/dist/admin/components/ui/table/Table.vue +16 -16
  70. package/dist/admin/components/ui/table/TableBody.vue +17 -17
  71. package/dist/admin/components/ui/table/TableCaption.vue +17 -17
  72. package/dist/admin/components/ui/table/TableCell.vue +22 -22
  73. package/dist/admin/components/ui/table/TableEmpty.vue +34 -34
  74. package/dist/admin/components/ui/table/TableFooter.vue +17 -17
  75. package/dist/admin/components/ui/table/TableHead.vue +17 -17
  76. package/dist/admin/components/ui/table/TableHeader.vue +17 -17
  77. package/dist/admin/components/ui/table/TableRow.vue +17 -17
  78. package/dist/admin/components/ui/table/index.js +1 -1
  79. package/dist/admin/components/ui/tabs/Tabs.vue +24 -24
  80. package/dist/admin/components/ui/tabs/TabsContent.vue +21 -21
  81. package/dist/admin/components/ui/tabs/TabsList.vue +24 -24
  82. package/dist/admin/components/ui/tabs/TabsTrigger.vue +26 -26
  83. package/dist/admin/components/ui/tabs/index.js +1 -1
  84. package/dist/admin/components/ui/tooltip/Tooltip.vue +19 -19
  85. package/dist/admin/components/ui/tooltip/TooltipContent.vue +34 -34
  86. package/dist/admin/components/ui/tooltip/TooltipProvider.vue +14 -14
  87. package/dist/admin/components/ui/tooltip/TooltipTrigger.vue +15 -15
  88. package/dist/admin/components/ui/tooltip/index.js +1 -1
  89. package/dist/admin/components/vm-action-btn.vue +136 -136
  90. package/dist/admin/components/vm-aside-list-item.vue +136 -136
  91. package/dist/admin/components/vm-aside.vue +229 -229
  92. package/dist/admin/components/vm-auto-perm-dialog.vue +371 -371
  93. package/dist/admin/components/vm-card-grid.vue +37 -37
  94. package/dist/admin/components/vm-card-head.vue +45 -45
  95. package/dist/admin/components/vm-card-meta.vue +22 -22
  96. package/dist/admin/components/vm-card-title.vue +56 -56
  97. package/dist/admin/components/vm-card.vue +176 -176
  98. package/dist/admin/components/vm-check-tree.vue +340 -340
  99. package/dist/admin/components/vm-clamp-text.vue +39 -39
  100. package/dist/admin/components/vm-dept-tree.vue +497 -497
  101. package/dist/admin/components/vm-empty.vue +68 -68
  102. package/dist/admin/components/vm-eps-perm-picker.vue +123 -123
  103. package/dist/admin/components/vm-form-dialog.vue +632 -632
  104. package/dist/admin/components/vm-group-cascader.vue +560 -560
  105. package/dist/admin/components/vm-icon-btn.vue +88 -88
  106. package/dist/admin/components/vm-icon-picker.vue +647 -647
  107. package/dist/admin/components/vm-inline-search.vue +61 -61
  108. package/dist/admin/components/vm-loading.vue +114 -114
  109. package/dist/admin/components/vm-markdown.vue +405 -405
  110. package/dist/admin/components/vm-marquee.vue +265 -265
  111. package/dist/admin/components/vm-page-tabs.vue +94 -94
  112. package/dist/admin/components/vm-perm-section.vue +57 -57
  113. package/dist/admin/components/vm-ri-icon.vue +23 -23
  114. package/dist/admin/components/vm-role-picker.vue +314 -314
  115. package/dist/admin/components/vm-split-layout.vue +106 -106
  116. package/dist/admin/components/vm-thumb.vue +49 -49
  117. package/dist/admin/components/vm-view-path-picker.vue +59 -59
  118. package/dist/admin/crud/auto-fields.js +1 -1
  119. package/dist/admin/crud/components/vm-avatar.vue +104 -104
  120. package/dist/admin/crud/components/vm-color-picker.vue +1626 -1626
  121. package/dist/admin/crud/components/vm-column-custom.vue +193 -193
  122. package/dist/admin/crud/components/vm-context-menu.vue +105 -105
  123. package/dist/admin/crud/components/vm-copy-btn.vue +102 -102
  124. package/dist/admin/crud/components/vm-date-calendar-panel.vue +537 -537
  125. package/dist/admin/crud/components/vm-date-picker.vue +75 -75
  126. package/dist/admin/crud/components/vm-date-range.vue +88 -88
  127. package/dist/admin/crud/components/vm-date-text.vue +42 -42
  128. package/dist/admin/crud/components/vm-datetime-field.vue +215 -215
  129. package/dist/admin/crud/components/vm-datetime-picker.vue +9 -9
  130. package/dist/admin/crud/components/vm-dict-tag.vue +112 -112
  131. package/dist/admin/crud/components/vm-ellipsis-text.vue +34 -34
  132. package/dist/admin/crud/components/vm-form-hint.vue +81 -81
  133. package/dist/admin/crud/components/vm-json-code.vue +41 -41
  134. package/dist/admin/crud/components/vm-json-editor.vue +161 -161
  135. package/dist/admin/crud/components/vm-json-kv-editor.vue +318 -318
  136. package/dist/admin/crud/components/vm-kv-row.vue +51 -51
  137. package/dist/admin/crud/components/vm-multi-select.vue +279 -279
  138. package/dist/admin/crud/components/vm-number-range.vue +204 -204
  139. package/dist/admin/crud/components/vm-preview-viewer.vue +894 -894
  140. package/dist/admin/crud/components/vm-radio.vue +87 -87
  141. package/dist/admin/crud/components/vm-richtext.vue +313 -313
  142. package/dist/admin/crud/components/vm-select.vue +570 -570
  143. package/dist/admin/crud/components/vm-status-tag.vue +158 -158
  144. package/dist/admin/crud/components/vm-switch.vue +158 -158
  145. package/dist/admin/crud/components/vm-tag-list.vue +108 -108
  146. package/dist/admin/crud/components/vm-text-link.vue +52 -52
  147. package/dist/admin/crud/components/vm-toggle-switch.vue +84 -84
  148. package/dist/admin/crud/components/vm-tree-select.vue +450 -450
  149. package/dist/admin/crud/components/vm-upload-item.vue +298 -298
  150. package/dist/admin/crud/components/vm-upload.vue +436 -436
  151. package/dist/admin/crud/config.js +1 -1
  152. package/dist/admin/crud/confirm.js +1 -1
  153. package/dist/admin/crud/crud-page-request.js +1 -1
  154. package/dist/admin/crud/data-i18n.js +1 -1
  155. package/dist/admin/crud/dict.js +1 -1
  156. package/dist/admin/crud/export-fetch.js +1 -1
  157. package/dist/admin/crud/index.js +1 -0
  158. package/dist/admin/crud/key.js +1 -1
  159. package/dist/admin/crud/plugins.js +1 -1
  160. package/dist/admin/crud/span.js +1 -1
  161. package/dist/admin/crud/style.js +1 -1
  162. package/dist/admin/crud/useCrud.js +3 -0
  163. package/dist/admin/crud/validate.js +1 -1
  164. package/dist/admin/crud/vm-add-btn.vue +70 -70
  165. package/dist/admin/crud/vm-adv-search.vue +83 -83
  166. package/dist/admin/crud/vm-crud.vue +711 -711
  167. package/dist/admin/crud/vm-data-i18n-btn.vue +456 -456
  168. package/dist/admin/crud/vm-data-i18n-lang.vue +183 -183
  169. package/dist/admin/crud/vm-export-btn.vue +183 -183
  170. package/dist/admin/crud/vm-flex.vue +14 -14
  171. package/dist/admin/crud/vm-form.vue +33 -15
  172. package/dist/admin/crud/vm-import-btn.vue +747 -747
  173. package/dist/admin/crud/vm-multi-delete-btn.vue +49 -49
  174. package/dist/admin/crud/vm-pagination.vue +212 -212
  175. package/dist/admin/crud/vm-refresh-btn.vue +35 -35
  176. package/dist/admin/crud/vm-row.vue +55 -55
  177. package/dist/admin/crud/vm-search-key.vue +78 -78
  178. package/dist/admin/crud/vm-search.vue +466 -466
  179. package/dist/admin/crud/vm-table.vue +1390 -1390
  180. package/dist/admin/crud/vm-tabs.vue +94 -94
  181. package/dist/admin/crud/vm-toolbar.vue +357 -357
  182. package/dist/admin/crud/vm-upsert.vue +765 -765
  183. package/dist/admin/directives/perm.js +1 -1
  184. package/dist/admin/env.d.ts +1 -1
  185. package/dist/admin/hooks/useUpload.js +1 -1
  186. package/dist/admin/index.d.ts +1 -31
  187. package/dist/admin/lib/browser.js +1 -1
  188. package/dist/admin/lib/cn.js +1 -1
  189. package/dist/admin/lib/dialog-float.js +1 -1
  190. package/dist/admin/lib/export-excel.js +1 -1
  191. package/dist/admin/lib/import-excel.js +1 -1
  192. package/dist/admin/lib/json.js +1 -1
  193. package/dist/admin/lib/menu.js +1 -1
  194. package/dist/admin/lib/micro-locale.js +1 -1
  195. package/dist/admin/lib/micro-theme.js +1 -1
  196. package/dist/admin/lib/shell.js +1 -1
  197. package/dist/admin/lib/theme-color-options.js +1 -1
  198. package/dist/admin/lib/tree.js +1 -1
  199. package/dist/admin/lib/upload.js +1 -1
  200. package/dist/admin/lib/video-frame.js +1 -1
  201. package/dist/admin/router/create.js +1 -1
  202. package/dist/admin/router/guards.js +1 -1
  203. package/dist/admin/router/index.d.ts +1 -5
  204. package/dist/admin/service/index.d.ts +1 -11
  205. package/dist/admin/styles/base.css +121 -121
  206. package/dist/admin/vendor/browser-image-compression.js +1144 -1144
  207. package/dist/admin/vendor/decimal-js.js +12 -12
  208. package/dist/admin/vendor/xlsx.js +263 -263
  209. package/dist/ai/index.js +1 -1
  210. package/dist/client/admin-vendor.d.ts +1 -13
  211. package/dist/client/ai-model-registry.js +1 -1
  212. package/dist/client/base.js +1 -1
  213. package/dist/client/configure.js +1 -1
  214. package/dist/client/dict.js +1 -1
  215. package/dist/client/eps-payload.js +1 -1
  216. package/dist/client/eps.js +1 -1
  217. package/dist/client/index.d.ts +1 -7
  218. package/dist/client/index.js +1 -1
  219. package/dist/client/locale-change.js +1 -1
  220. package/dist/client/locale-store.js +1 -1
  221. package/dist/client/service.js +1 -1
  222. package/dist/client/vite-admin.d.ts +1 -40
  223. package/dist/client/vite-admin.js +1 -1
  224. package/dist/client/vite-auto-import.d.ts +1 -2
  225. package/dist/client/vite-auto-import.js +1 -1
  226. package/dist/client/vite-micro-proxy.d.ts +1 -20
  227. package/dist/client/vite-micro-proxy.js +1 -1
  228. package/dist/client/vite-plugin-eps.d.ts +1 -20
  229. package/dist/client/vite-plugin-eps.js +1 -1
  230. package/dist/client/vite-resolve.d.ts +1 -16
  231. package/dist/client/vite-resolve.js +1 -1
  232. package/dist/config/index.js +1 -1
  233. package/dist/index.js +1 -1
  234. package/dist/server/index.js +1 -1
  235. package/dist/shared/datetime-picker.js +1 -1
  236. package/dist/shared/decimal.js +1 -1
  237. package/dist/shared/excel.js +1 -1
  238. package/dist/shared/index.js +1 -1
  239. package/dist/shared/locale-json.js +1 -1
  240. package/dist/shared/tree.js +1 -1
  241. package/package.json +1 -1
  242. package/typings/admin/base/auth.ts +24 -24
  243. package/typings/admin/base/permission.ts +19 -19
  244. package/typings/admin/comm/cascader.ts +7 -7
  245. package/typings/admin/comm/check-tree.ts +7 -7
  246. package/typings/admin/comm/crud.ts +427 -427
  247. package/typings/admin/comm/eps.ts +86 -86
  248. package/typings/admin/comm/request.ts +16 -16
  249. package/typings/admin/comm/service.ts +43 -43
  250. package/typings/admin/comm/upload.ts +39 -39
  251. package/typings/admin/theme.ts +10 -10
  252. package/typings/admin/vome/browser.ts +11 -11
  253. package/typings/admin/vome/module.ts +13 -13
  254. package/typings/admin/vome/tags.ts +9 -9
  255. package/typings/comm/crud.ts +83 -83
  256. package/typings/comm/page.ts +18 -18
  257. package/typings/comm/scan.ts +6 -6
  258. package/typings/common.ts +4 -4
  259. package/typings/context/data.ts +10 -10
  260. package/typings/ext/market-seat.ts +42 -42
  261. package/typings/ext/market.ts +55 -55
  262. package/typings/ext/module.ts +64 -64
  263. package/typings/ext/plugin.ts +38 -38
  264. package/typings/ioc/metadata.ts +34 -34
  265. package/typings/logger/config.ts +6 -6
  266. package/typings/routing/crud.ts +199 -199
  267. package/typings/routing/eps.ts +88 -88
  268. package/typings/routing/meta.ts +63 -63
  269. package/typings/routing/register.ts +21 -21
  270. package/typings/routing/scan-context.ts +7 -7
  271. package/dist/admin/api/client.d.ts +0 -50
  272. package/dist/admin/components/ui/avatar/index.d.ts +0 -3
  273. package/dist/admin/components/ui/badge/index.d.ts +0 -6
  274. package/dist/admin/components/ui/button/index.d.ts +0 -7
  275. package/dist/admin/components/ui/checkbox/index.d.ts +0 -1
  276. package/dist/admin/components/ui/dialog/index.d.ts +0 -10
  277. package/dist/admin/components/ui/dropdown-menu/index.d.ts +0 -15
  278. package/dist/admin/components/ui/input/index.d.ts +0 -1
  279. package/dist/admin/components/ui/label/index.d.ts +0 -1
  280. package/dist/admin/components/ui/scroll-area/index.d.ts +0 -2
  281. package/dist/admin/components/ui/select/index.d.ts +0 -11
  282. package/dist/admin/components/ui/separator/index.d.ts +0 -1
  283. package/dist/admin/components/ui/sheet/index.d.ts +0 -8
  284. package/dist/admin/components/ui/sonner/index.d.ts +0 -1
  285. package/dist/admin/components/ui/table/index.d.ts +0 -9
  286. package/dist/admin/components/ui/tabs/index.d.ts +0 -4
  287. package/dist/admin/components/ui/tooltip/index.d.ts +0 -4
  288. package/dist/admin/crud/auto-fields.d.ts +0 -68
  289. package/dist/admin/crud/config.d.ts +0 -5
  290. package/dist/admin/crud/confirm.d.ts +0 -19
  291. package/dist/admin/crud/crud-page-request.d.ts +0 -21
  292. package/dist/admin/crud/data-i18n.d.ts +0 -62
  293. package/dist/admin/crud/dict.d.ts +0 -4
  294. package/dist/admin/crud/export-fetch.d.ts +0 -22
  295. package/dist/admin/crud/index.d.ts +0 -60
  296. package/dist/admin/crud/json-kv.d.ts +0 -9
  297. package/dist/admin/crud/key.d.ts +0 -22
  298. package/dist/admin/crud/paging.d.ts +0 -2
  299. package/dist/admin/crud/plugins.d.ts +0 -63
  300. package/dist/admin/crud/registry.d.ts +0 -3
  301. package/dist/admin/crud/span.d.ts +0 -17
  302. package/dist/admin/crud/style.d.ts +0 -82
  303. package/dist/admin/crud/useCrud.d.ts +0 -21
  304. package/dist/admin/crud/validate.d.ts +0 -7
  305. package/dist/admin/directives/perm.d.ts +0 -3
  306. package/dist/admin/hooks/useBrowser.d.ts +0 -6
  307. package/dist/admin/hooks/useUpload.d.ts +0 -8
  308. package/dist/admin/hooks/useVome.d.ts +0 -10
  309. package/dist/admin/lib/browser.d.ts +0 -3
  310. package/dist/admin/lib/cn.d.ts +0 -2
  311. package/dist/admin/lib/compress-image.d.ts +0 -12
  312. package/dist/admin/lib/dialog-float.d.ts +0 -8
  313. package/dist/admin/lib/eps.d.ts +0 -2
  314. package/dist/admin/lib/export-excel.d.ts +0 -9
  315. package/dist/admin/lib/file-preview.d.ts +0 -9
  316. package/dist/admin/lib/import-excel.d.ts +0 -21
  317. package/dist/admin/lib/json.d.ts +0 -11
  318. package/dist/admin/lib/menu.d.ts +0 -3
  319. package/dist/admin/lib/micro-locale.d.ts +0 -5
  320. package/dist/admin/lib/micro-theme.d.ts +0 -14
  321. package/dist/admin/lib/module.d.ts +0 -21
  322. package/dist/admin/lib/scarce-assets.d.ts +0 -5
  323. package/dist/admin/lib/shell.d.ts +0 -8
  324. package/dist/admin/lib/theme-color-options.d.ts +0 -15
  325. package/dist/admin/lib/tree.d.ts +0 -2
  326. package/dist/admin/lib/upload.d.ts +0 -17
  327. package/dist/admin/lib/video-frame.d.ts +0 -6
  328. package/dist/admin/router/create.d.ts +0 -16
  329. package/dist/admin/router/guards.d.ts +0 -6
  330. package/dist/admin/router/menu-routes.d.ts +0 -13
  331. package/dist/admin/stores/app.d.ts +0 -13
  332. package/dist/admin/stores/tags.d.ts +0 -14
  333. package/dist/admin/stores/user.d.ts +0 -48
  334. package/dist/client/ai-model-registry.d.ts +0 -16
  335. package/dist/client/base.d.ts +0 -28
  336. package/dist/client/configure.d.ts +0 -33
  337. package/dist/client/dict.d.ts +0 -31
  338. package/dist/client/eps-payload.d.ts +0 -3
  339. package/dist/client/eps.d.ts +0 -17
  340. package/dist/client/locale-change.d.ts +0 -16
  341. package/dist/client/locale-store.d.ts +0 -105
  342. package/dist/client/service.d.ts +0 -29
@@ -1,106 +1,106 @@
1
- <template>
2
- <div
3
- class="vm-split-layout"
4
- :class="{ 'has-toolbar': Boolean($slots.toolbar) }"
5
- :style="gridStyle"
6
- >
7
- <div v-if="$slots.toolbar" class="vm-split-layout__toolbar">
8
- <slot name="toolbar" />
9
- </div>
10
- <aside v-if="$slots.aside" class="vm-split-layout__aside">
11
- <slot name="aside" />
12
- </aside>
13
- <div class="vm-split-layout__main">
14
- <slot />
15
- </div>
16
- </div>
17
- </template>
18
-
19
- <script setup lang="ts">
20
- import { computed } from 'vue'
21
-
22
- defineOptions({ name: 'vm-split-layout' })
23
-
24
- const props = withDefaults(
25
- defineProps<{
26
- asideWidth?: string
27
- }>(),
28
- {
29
- asideWidth: '240px',
30
- },
31
- )
32
-
33
- const gridStyle = computed(() => ({
34
- '--vm-split-aside': props.asideWidth,
35
- }))
36
- </script>
37
-
38
- <style lang="scss" scoped>
39
- .vm-split-layout {
40
- display: grid;
41
- width: 100%;
42
- flex: 1;
43
- min-height: 0;
44
- align-self: stretch;
45
- overflow: hidden;
46
- border-radius: var(--radius);
47
- background: var(--card);
48
- box-shadow: var(--shadow-soft);
49
- grid-template-columns: var(--vm-split-aside, 240px) minmax(0, 1fr);
50
- grid-template-rows: minmax(0, 1fr);
51
- }
52
-
53
- .vm-split-layout.has-toolbar {
54
- grid-template-rows: auto minmax(0, 1fr);
55
- }
56
-
57
- .vm-split-layout__toolbar {
58
- grid-row: 1;
59
- grid-column: 1 / -1;
60
- display: flex;
61
- flex-wrap: wrap;
62
- align-items: center;
63
- justify-content: space-between;
64
- gap: 8px;
65
- padding: 12px 16px;
66
- border-bottom: 1px solid color-mix(in srgb, var(--foreground) 8%, transparent);
67
- }
68
-
69
- .vm-split-layout__aside {
70
- grid-row: 1;
71
- grid-column: 1;
72
- min-height: 0;
73
- overflow: hidden;
74
- border-right: 1px solid color-mix(in srgb, var(--foreground) 8%, transparent);
75
-
76
- :deep(.vm-aside) {
77
- border-right: none;
78
- }
79
- }
80
-
81
- .has-toolbar .vm-split-layout__aside {
82
- grid-row: 2;
83
- }
84
-
85
- .vm-split-layout__main {
86
- grid-row: 1;
87
- grid-column: 2;
88
- display: flex;
89
- flex-direction: column;
90
- min-width: 0;
91
- min-height: 0;
92
- overflow: hidden;
93
- }
94
-
95
- .has-toolbar .vm-split-layout__main {
96
- grid-row: 2;
97
- }
98
-
99
- .vm-split-layout__main :deep(.vm-crud) {
100
- flex: 1;
101
- min-height: 0;
102
- height: 100%;
103
- border-radius: 0;
104
- box-shadow: none;
105
- }
106
- </style>
1
+ <template>
2
+ <div
3
+ class="vm-split-layout"
4
+ :class="{ 'has-toolbar': Boolean($slots.toolbar) }"
5
+ :style="gridStyle"
6
+ >
7
+ <div v-if="$slots.toolbar" class="vm-split-layout__toolbar">
8
+ <slot name="toolbar" />
9
+ </div>
10
+ <aside v-if="$slots.aside" class="vm-split-layout__aside">
11
+ <slot name="aside" />
12
+ </aside>
13
+ <div class="vm-split-layout__main">
14
+ <slot />
15
+ </div>
16
+ </div>
17
+ </template>
18
+
19
+ <script setup lang="ts">
20
+ import { computed } from 'vue'
21
+
22
+ defineOptions({ name: 'vm-split-layout' })
23
+
24
+ const props = withDefaults(
25
+ defineProps<{
26
+ asideWidth?: string
27
+ }>(),
28
+ {
29
+ asideWidth: '240px',
30
+ },
31
+ )
32
+
33
+ const gridStyle = computed(() => ({
34
+ '--vm-split-aside': props.asideWidth,
35
+ }))
36
+ </script>
37
+
38
+ <style lang="scss" scoped>
39
+ .vm-split-layout {
40
+ display: grid;
41
+ width: 100%;
42
+ flex: 1;
43
+ min-height: 0;
44
+ align-self: stretch;
45
+ overflow: hidden;
46
+ border-radius: var(--radius);
47
+ background: var(--card);
48
+ box-shadow: var(--shadow-soft);
49
+ grid-template-columns: var(--vm-split-aside, 240px) minmax(0, 1fr);
50
+ grid-template-rows: minmax(0, 1fr);
51
+ }
52
+
53
+ .vm-split-layout.has-toolbar {
54
+ grid-template-rows: auto minmax(0, 1fr);
55
+ }
56
+
57
+ .vm-split-layout__toolbar {
58
+ grid-row: 1;
59
+ grid-column: 1 / -1;
60
+ display: flex;
61
+ flex-wrap: wrap;
62
+ align-items: center;
63
+ justify-content: space-between;
64
+ gap: 8px;
65
+ padding: 12px 16px;
66
+ border-bottom: 1px solid color-mix(in srgb, var(--foreground) 8%, transparent);
67
+ }
68
+
69
+ .vm-split-layout__aside {
70
+ grid-row: 1;
71
+ grid-column: 1;
72
+ min-height: 0;
73
+ overflow: hidden;
74
+ border-right: 1px solid color-mix(in srgb, var(--foreground) 8%, transparent);
75
+
76
+ :deep(.vm-aside) {
77
+ border-right: none;
78
+ }
79
+ }
80
+
81
+ .has-toolbar .vm-split-layout__aside {
82
+ grid-row: 2;
83
+ }
84
+
85
+ .vm-split-layout__main {
86
+ grid-row: 1;
87
+ grid-column: 2;
88
+ display: flex;
89
+ flex-direction: column;
90
+ min-width: 0;
91
+ min-height: 0;
92
+ overflow: hidden;
93
+ }
94
+
95
+ .has-toolbar .vm-split-layout__main {
96
+ grid-row: 2;
97
+ }
98
+
99
+ .vm-split-layout__main :deep(.vm-crud) {
100
+ flex: 1;
101
+ min-height: 0;
102
+ height: 100%;
103
+ border-radius: 0;
104
+ box-shadow: none;
105
+ }
106
+ </style>
@@ -1,49 +1,49 @@
1
- <template>
2
- <span class="vm-thumb" :style="boxStyle">
3
- <img v-if="src" :src="src" alt="" />
4
- <i v-else-if="icon" :class="icon" aria-hidden="true" />
5
- <slot v-else />
6
- </span>
7
- </template>
8
-
9
- <script setup lang="ts">
10
- import { computed } from 'vue'
11
-
12
- defineOptions({ name: 'vm-thumb' })
13
-
14
- const props = withDefaults(
15
- defineProps<{
16
- src?: string
17
- icon?: string
18
- size?: number
19
- }>(),
20
- {
21
- size: 32,
22
- },
23
- )
24
-
25
- const boxStyle = computed(() => ({
26
- width: `${props.size}px`,
27
- height: `${props.size}px`,
28
- }))
29
- </script>
30
-
31
- <style lang="scss" scoped>
32
- .vm-thumb {
33
- display: inline-flex;
34
- flex-shrink: 0;
35
- align-items: center;
36
- justify-content: center;
37
- overflow: hidden;
38
- border-radius: 8px;
39
- background: color-mix(in srgb, var(--brand) 12%, var(--card));
40
- color: var(--brand);
41
- font-size: 16px;
42
-
43
- img {
44
- width: 100%;
45
- height: 100%;
46
- object-fit: cover;
47
- }
48
- }
49
- </style>
1
+ <template>
2
+ <span class="vm-thumb" :style="boxStyle">
3
+ <img v-if="src" :src="src" alt="" />
4
+ <i v-else-if="icon" :class="icon" aria-hidden="true" />
5
+ <slot v-else />
6
+ </span>
7
+ </template>
8
+
9
+ <script setup lang="ts">
10
+ import { computed } from 'vue'
11
+
12
+ defineOptions({ name: 'vm-thumb' })
13
+
14
+ const props = withDefaults(
15
+ defineProps<{
16
+ src?: string
17
+ icon?: string
18
+ size?: number
19
+ }>(),
20
+ {
21
+ size: 32,
22
+ },
23
+ )
24
+
25
+ const boxStyle = computed(() => ({
26
+ width: `${props.size}px`,
27
+ height: `${props.size}px`,
28
+ }))
29
+ </script>
30
+
31
+ <style lang="scss" scoped>
32
+ .vm-thumb {
33
+ display: inline-flex;
34
+ flex-shrink: 0;
35
+ align-items: center;
36
+ justify-content: center;
37
+ overflow: hidden;
38
+ border-radius: 8px;
39
+ background: color-mix(in srgb, var(--brand) 12%, var(--card));
40
+ color: var(--brand);
41
+ font-size: 16px;
42
+
43
+ img {
44
+ width: 100%;
45
+ height: 100%;
46
+ object-fit: cover;
47
+ }
48
+ }
49
+ </style>
@@ -1,59 +1,59 @@
1
- <template>
2
- <vm-group-cascader
3
- :model-value="modelValue ?? ''"
4
- :tree="tree"
5
- :placeholder="placeholder ?? crudLabel('pickFilePath')"
6
- :clearable="clearable"
7
- :editable="editable"
8
- :disabled="disabled"
9
- @update:model-value="(v) => emit('update:modelValue', v)"
10
- />
11
- </template>
12
-
13
- <script setup lang="ts">
14
- import { crudLabel } from '../crud/style'
15
- import { ref, onMounted, onUnmounted } from 'vue'
16
- import {
17
- listViewsTree,
18
- VIEWS_RESCAN_EVENT,
19
- } from '../lib/module'
20
- import type { ViewsTreeNode } from '../../../typings/admin/vome/module'
21
- defineOptions({ name: 'vm-view-path-picker' })
22
-
23
- withDefaults(
24
- defineProps<{
25
- modelValue?: string | null
26
- placeholder?: string
27
- clearable?: boolean
28
- editable?: boolean
29
- disabled?: boolean
30
- }>(),
31
- {
32
- placeholder: undefined,
33
- clearable: true,
34
- editable: true,
35
- },
36
- )
37
-
38
- const emit = defineEmits<{
39
- 'update:modelValue': [v: string]
40
- }>()
41
-
42
- const tree = ref<ViewsTreeNode[]>([])
43
-
44
- function rescan() {
45
- tree.value = listViewsTree()
46
- }
47
-
48
- onMounted(() => {
49
- rescan()
50
- window.addEventListener(VIEWS_RESCAN_EVENT, rescan)
51
- })
52
-
53
- onUnmounted(() => {
54
- window.removeEventListener(VIEWS_RESCAN_EVENT, rescan)
55
- })
56
-
57
- // 打开选择器前再扫一次(配合 HMR 事件)
58
- defineExpose({ rescan })
59
- </script>
1
+ <template>
2
+ <vm-group-cascader
3
+ :model-value="modelValue ?? ''"
4
+ :tree="tree"
5
+ :placeholder="placeholder ?? crudLabel('pickFilePath')"
6
+ :clearable="clearable"
7
+ :editable="editable"
8
+ :disabled="disabled"
9
+ @update:model-value="(v) => emit('update:modelValue', v)"
10
+ />
11
+ </template>
12
+
13
+ <script setup lang="ts">
14
+ import { crudLabel } from '../crud/style'
15
+ import { ref, onMounted, onUnmounted } from 'vue'
16
+ import {
17
+ listViewsTree,
18
+ VIEWS_RESCAN_EVENT,
19
+ } from '../lib/module'
20
+ import type { ViewsTreeNode } from '../../../typings/admin/vome/module'
21
+ defineOptions({ name: 'vm-view-path-picker' })
22
+
23
+ withDefaults(
24
+ defineProps<{
25
+ modelValue?: string | null
26
+ placeholder?: string
27
+ clearable?: boolean
28
+ editable?: boolean
29
+ disabled?: boolean
30
+ }>(),
31
+ {
32
+ placeholder: undefined,
33
+ clearable: true,
34
+ editable: true,
35
+ },
36
+ )
37
+
38
+ const emit = defineEmits<{
39
+ 'update:modelValue': [v: string]
40
+ }>()
41
+
42
+ const tree = ref<ViewsTreeNode[]>([])
43
+
44
+ function rescan() {
45
+ tree.value = listViewsTree()
46
+ }
47
+
48
+ onMounted(() => {
49
+ rescan()
50
+ window.addEventListener(VIEWS_RESCAN_EVENT, rescan)
51
+ })
52
+
53
+ onUnmounted(() => {
54
+ window.removeEventListener(VIEWS_RESCAN_EVENT, rescan)
55
+ })
56
+
57
+ // 打开选择器前再扫一次(配合 HMR 事件)
58
+ defineExpose({ rescan })
59
+ </script>
@@ -1 +1 @@
1
- const _0x4ba0c9=_0x5900;(function(_0x215067,_0x135e74){const _0x5a04a1=_0x5900,_0x4ed747=_0x215067();while(!![]){try{const _0x1fe352=-parseInt(_0x5a04a1(0xf9))/0x1+-parseInt(_0x5a04a1(0xe2))/0x2+-parseInt(_0x5a04a1(0xee))/0x3+-parseInt(_0x5a04a1(0xd2))/0x4*(parseInt(_0x5a04a1(0xcc))/0x5)+-parseInt(_0x5a04a1(0xe3))/0x6+parseInt(_0x5a04a1(0xf8))/0x7*(parseInt(_0x5a04a1(0xce))/0x8)+parseInt(_0x5a04a1(0xdb))/0x9;if(_0x1fe352===_0x135e74)break;else _0x4ed747['push'](_0x4ed747['shift']());}catch(_0x41aa17){_0x4ed747['push'](_0x4ed747['shift']());}}}(_0x1a78,0x32e2e));import{findEpsEntity}from'../lib/eps';import{getDictOptions}from'../../client';export const UPSERT_BUILTIN_IGNORE=['id',_0x4ba0c9(0x100),_0x4ba0c9(0x111),_0x4ba0c9(0xd3),_0x4ba0c9(0xd0)];export const TABLE_BUILTIN_IGNORE=[_0x4ba0c9(0xd0),_0x4ba0c9(0xd3)];export function buildAutoOpButtons(_0x4192d3){const _0x3e189b=_0x4ba0c9,_0x30655d=_0x4192d3['permission'],_0x293643=_0x426b3c=>_0x30655d!=null&&typeof _0x30655d===_0x3e189b(0xe5)&&Object[_0x3e189b(0x103)]['hasOwnProperty']['call'](_0x30655d,_0x426b3c),_0x19e1f6=_0x2f7db1=>Boolean(_0x4192d3[_0x3e189b(0x107)]?.[_0x2f7db1]),_0x48ec4a=[];if(_0x293643(_0x3e189b(0xd9))&&_0x19e1f6(_0x3e189b(0xd9)))_0x48ec4a[_0x3e189b(0xdc)]('edit');if(_0x293643('delete')&&_0x19e1f6(_0x3e189b(0xe0)))_0x48ec4a[_0x3e189b(0xdc)](_0x3e189b(0xe0));return _0x48ec4a;}function dictKeyOf(_0x4aeb87){const _0x395800=_0x4ba0c9;if(typeof _0x4aeb87[_0x395800(0xfc)]===_0x395800(0xff)&&_0x4aeb87[_0x395800(0xfc)])return _0x4aeb87[_0x395800(0xfc)];if(Array['isArray'](_0x4aeb87[_0x395800(0xfc)])&&_0x4aeb87['dict'][0x0])return _0x4aeb87[_0x395800(0xfc)][0x0];return;}function isSwitchDict(_0x540ded){const _0x343ec3=_0x4ba0c9;return _0x540ded===_0x343ec3(0xe1)||_0x540ded===_0x343ec3(0xfa)||_0x540ded==='yes_no_number';}function switchDefaultValue(_0x5cb125){const _0x1581cb=_0x4ba0c9;if(_0x5cb125===_0x1581cb(0xfa))return![];if(_0x5cb125===_0x1581cb(0x10e))return 0x0;return 0x1;}function switchFormItem(_0x470655,_0x13b710,_0x2b3204){const _0x3bbb18=_0x4ba0c9;return{..._0x470655,'type':_0x3bbb18(0x113),'value':_0x2b3204,'dict':_0x13b710,'component':{'props':()=>mapDictOptions(_0x13b710)}};}export function mapDictOptions(_0x2f7cdf){const _0xb93202=_0x4ba0c9;return getDictOptions(_0x2f7cdf)[_0xb93202(0xf5)](_0x48de29=>{const _0xa3e343=_0xb93202;let _0x30fa64=_0x48de29[_0xa3e343(0xfb)];return typeof _0x48de29['value']===_0xa3e343(0xff)&&/^-?\d+(\.\d+)?$/[_0xa3e343(0x104)](_0x48de29[_0xa3e343(0xfb)])&&(_0x30fa64=Number(_0x48de29[_0xa3e343(0xfb)])),{'label':String(_0x48de29[_0xa3e343(0x10a)]??''),'value':_0x30fa64,'color':_0x48de29[_0xa3e343(0xe9)]};});}export function dictFirstValue(_0x58ff82){const _0x478b01=_0x4ba0c9,_0x150cd9=mapDictOptions(_0x58ff82)[0x0];return _0x150cd9?.[_0x478b01(0xfb)];}export function resolveFormItemValue(_0x3e83f1){const _0x5e63a5=_0x4ba0c9;return typeof _0x3e83f1===_0x5e63a5(0x108)?_0x3e83f1():_0x3e83f1;}function isMainTableCol(_0xbdedf6){const _0x215247=_0x4ba0c9;return!_0xbdedf6['source']||_0xbdedf6[_0x215247(0xed)]['startsWith']('a.');}function epsTableIgnore(_0x1948a5){const _0x67a8b=_0x4ba0c9,_0x2669e6=_0x1948a5[_0x67a8b(0xda)]?findEpsEntity('/'+_0x1948a5['namespace']):undefined,_0x395f74=_0x2669e6?.[_0x67a8b(0x10f)]?.[_0x67a8b(0x110)];return Array[_0x67a8b(0xf2)](_0x395f74)?_0x395f74[_0x67a8b(0xf4)](_0x3fba53=>typeof _0x3fba53===_0x67a8b(0xff)&&_0x3fba53):[];}function _0x5900(_0x535440,_0x55db53){_0x535440=_0x535440-0xcc;const _0x1a78ae=_0x1a78();let _0x590010=_0x1a78ae[_0x535440];if(_0x5900['NYdGim']===undefined){var _0x47d8fa=function(_0x559794){const _0x4451da='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4192d3='',_0x30655d='';for(let _0x293643=0x0,_0x19e1f6,_0x48ec4a,_0x426b3c=0x0;_0x48ec4a=_0x559794['charAt'](_0x426b3c++);~_0x48ec4a&&(_0x19e1f6=_0x293643%0x4?_0x19e1f6*0x40+_0x48ec4a:_0x48ec4a,_0x293643++%0x4)?_0x4192d3+=String['fromCharCode'](0xff&_0x19e1f6>>(-0x2*_0x293643&0x6)):0x0){_0x48ec4a=_0x4451da['indexOf'](_0x48ec4a);}for(let _0x2f7db1=0x0,_0x4aeb87=_0x4192d3['length'];_0x2f7db1<_0x4aeb87;_0x2f7db1++){_0x30655d+='%'+('00'+_0x4192d3['charCodeAt'](_0x2f7db1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x30655d);};_0x5900['ZyrYWU']=_0x47d8fa,_0x5900['YThnLB']={},_0x5900['NYdGim']=!![];}const _0x4785fb=_0x1a78ae[0x0],_0x299df7=_0x535440+_0x4785fb,_0xad9db0=_0x5900['YThnLB'][_0x299df7];return!_0xad9db0?(_0x590010=_0x5900['ZyrYWU'](_0x590010),_0x5900['YThnLB'][_0x299df7]=_0x590010):_0x590010=_0xad9db0,_0x590010;}function epsColumns(_0x3a62b7){const _0x49770e=_0x4ba0c9,_0x51fa41=_0x3a62b7['namespace']?findEpsEntity('/'+_0x3a62b7[_0x49770e(0xda)]):undefined;if(!_0x51fa41)return[];const _0x44e906=[..._0x51fa41['columns']||[],..._0x51fa41[_0x49770e(0xdd)]||[]],_0x423f2f=new Set(),_0x41d19c=[];for(const _0x2a263d of _0x44e906){if(!_0x2a263d[_0x49770e(0x105)]||!isMainTableCol(_0x2a263d))continue;if(_0x423f2f[_0x49770e(0xde)](_0x2a263d[_0x49770e(0x105)]))continue;_0x423f2f[_0x49770e(0xf1)](_0x2a263d[_0x49770e(0x105)]),_0x41d19c[_0x49770e(0xdc)](_0x2a263d);}return _0x41d19c;}function columnTypeOf(_0x4b536f){return String(_0x4b536f['columnType']||'');}function sqlTypeOf(_0x1d83be){const _0x6a15fd=_0x4ba0c9;return String(_0x1d83be['sqlType']||'')[_0x6a15fd(0x10b)]();}function isTextCol(_0x39678b){const _0x3afce7=_0x4ba0c9,_0x495c3c=columnTypeOf(_0x39678b);if(_0x495c3c===_0x3afce7(0xef))return!![];return sqlTypeOf(_0x39678b)==='text';}function isIntegerCol(_0x24ed72){const _0x157a33=_0x4ba0c9,_0x354ca7=columnTypeOf(_0x24ed72);if(_0x354ca7==='PgInteger'||_0x354ca7==='PgSerial'||_0x354ca7===_0x157a33(0xe7)||_0x354ca7===_0x157a33(0xf0)||_0x354ca7===_0x157a33(0x10c)||_0x354ca7===_0x157a33(0xe8))return!![];if(_0x24ed72[_0x157a33(0xdf)]===_0x157a33(0xfe)&&!isNumericCol(_0x24ed72))return!![];return/^(integer|serial|smallint|bigint|smallserial|bigserial)\b/[_0x157a33(0x104)](sqlTypeOf(_0x24ed72));}function isNumericCol(_0x5d4165){const _0xa6da35=_0x4ba0c9,_0xec4f39=columnTypeOf(_0x5d4165);if(_0xec4f39===_0xa6da35(0xd4)||_0xec4f39==='PgDoublePrecision'||_0xec4f39==='PgReal')return!![];return/^(numeric|decimal|double|real)\b/[_0xa6da35(0x104)](sqlTypeOf(_0x5d4165));}function isBooleanCol(_0x1e0087){const _0x4ad525=_0x4ba0c9;return columnTypeOf(_0x1e0087)===_0x4ad525(0xd6)||_0x1e0087[_0x4ad525(0xdf)]===_0x4ad525(0xd7)||sqlTypeOf(_0x1e0087)[_0x4ad525(0x106)](_0x4ad525(0xd7));}function numberPrecision(_0x1eb443){const _0x9a58f6=_0x4ba0c9;if(isIntegerCol(_0x1eb443))return 0x0;if(typeof _0x1eb443[_0x9a58f6(0xfd)]==='number')return _0x1eb443[_0x9a58f6(0xfd)];return 0x2;}export function mergeByProp(_0x2d4898,_0xa6e526){const _0x32e606=_0x4ba0c9,_0x28a759=_0xa6e526['filter'](_0x50e685=>Boolean(_0x50e685[_0x32e606(0x101)])),_0x3374c7=_0xa6e526[_0x32e606(0xf4)](_0x4caca3=>!_0x4caca3['prop']&&_0x4caca3[_0x32e606(0xdf)]),_0x2694bd=new Map(_0x28a759['map'](_0x44e3ce=>[String(_0x44e3ce['prop']),_0x44e3ce])),_0x492279=new Set(_0x3374c7['map'](_0x3b5c42=>String(_0x3b5c42['type']))),_0x5ba2fe=new Set(),_0x519734=[];for(const _0xe3a372 of _0x2d4898){if(!_0xe3a372[_0x32e606(0x101)]&&_0xe3a372[_0x32e606(0xdf)]){if(_0x492279[_0x32e606(0xde)](String(_0xe3a372[_0x32e606(0xdf)])))continue;_0x519734[_0x32e606(0xdc)](_0xe3a372);continue;}if(!_0xe3a372[_0x32e606(0x101)])continue;const _0x1e6b36=String(_0xe3a372[_0x32e606(0x101)]),_0x50436d=_0x2694bd[_0x32e606(0xe4)](_0x1e6b36);_0x50436d?(_0x519734[_0x32e606(0xdc)]({..._0xe3a372,..._0x50436d}),_0x5ba2fe[_0x32e606(0xf1)](_0x1e6b36)):_0x519734['push'](_0xe3a372);}for(const _0x3a77bd of _0x28a759){const _0x31b491=String(_0x3a77bd[_0x32e606(0x101)]);if(!_0x5ba2fe[_0x32e606(0xde)](_0x31b491))_0x519734[_0x32e606(0xdc)](_0x3a77bd);}return _0x519734[_0x32e606(0xdc)](..._0x3374c7),_0x519734;}export function resolveMergedTableColumns(_0x989996){const _0x190597=_0x4ba0c9,_0x290af6=_0x989996[_0x190597(0xea)]?.[_0x190597(0xd1)]?_0x989996['manual']:_0x989996[_0x190597(0xeb)]?.[_0x190597(0xd8)]||[],_0x4f2820=(_0x989996['tablePlugins']||[])['find'](_0x163566=>_0x163566?.[_0x190597(0x112)]===_0x190597(0x114)),_0xe147d7=_0x989996[_0x190597(0xeb)]?.[_0x190597(0x10d)]!==![]&&Boolean(_0x4f2820);if(!_0xe147d7)return pinOpColumnsLast(_0x290af6);const _0x3e4ea4=_0x4f2820?.[_0x190597(0x110)]||[],_0x2fb1bf=_0x989996[_0x190597(0xeb)]?.[_0x190597(0x110)]||[],_0x16ab96=buildAutoTableColumns(_0x989996[_0x190597(0xec)],{'ignoreFields':[..._0x3e4ea4,..._0x2fb1bf]});return pinOpColumnsLast(mergeByProp(_0x16ab96,_0x290af6));}export function pinOpColumnsLast(_0x294b07){const _0x9251e6=_0x4ba0c9,_0x7e2188=[],_0x578352=[];for(const _0xd71074 of _0x294b07){_0xd71074[_0x9251e6(0xdf)]==='op'?_0x7e2188[_0x9251e6(0xdc)]({..._0xd71074,'fixed':_0x9251e6(0xcf)}):_0x578352[_0x9251e6(0xdc)](_0xd71074);}if(!_0x7e2188[_0x9251e6(0xd1)])return _0x294b07;return[..._0x578352,..._0x7e2188];}function _0x1a78(){const _0x2aa943=['C2vYDMLJzq','C291CMnL','mtaWmtu4nLPeB3zAEa','ugDuzxH0','ugDcAwDjBNq','ywrK','AxnbCNjHEq','BNvSBgfIBgu','zMLSDgvY','BwfW','y29TBwvUDa','Aw5WDxq','n01Su3LeDG','mZaYmZe4tLPWzLry','EwvZx25Vx2jVB2XLyw4','DMfSDwu','zgLJDa','C2nHBgu','BNvTyMvY','C3rYAw5N','DgvUyw50swq','ChjVCa','AgfZrgvMyxvSDa','ChjVDg90ExbL','DgvZDa','ChjVCgvYDhLoyw1L','C3rHCNrZv2L0Aa','x3bLCM1PC3nPB24','zNvUy3rPB24','Dgv4DgfYzwe','BgfIzwW','Dg9mB3DLCKnHC2u','ugDtBwfSBfnLCMLHBa','yxv0BW','EwvZx25Vx251BwjLCG','CgfNzvf1zxj5t3a','AwDUB3jLrMLLBgrZ','y3jLyxrLvgLTzq','x19WBhvNAw4','C3DPDgnO','C2v0qxv0BW','ntGZmdq1rgLtEgrT','DM0TC3DPDgnO','mtu1mJC2ogTVz09SAa','CMLNAhq','zgvSzxrLvgLTzq','BgvUz3rO','oeH0rePMDa','DxbKyxrLvgLTzq','ugDoDw1LCMLJ','CMvXDwLYzwq','ugDcB29SzwfU','yM9VBgvHBG','y29SDw1UCW','DxbKyxrL','BMfTzxnWywnL','mteWnda5mtj4t2zQy1O','ChvZAa','CgfNzunVBhvTBNm','AgfZ','DhLWzq','zgvSzxrL','C3rHDhvZ','mZyXnZbMzwHcEu0','mtK0otCWnK1HtgLotq','z2v0','B2jQzwn0','C2vSzwn0Aw9U','ugDtBwfSBeLUDa','ugDcAwDtzxjPywW','y29SB3i','BwfUDwfS','DgfIBgvpChrZ'];_0x1a78=function(){return _0x2aa943;};return _0x1a78();}export function sortRequiredFirst(_0x522556){const _0x171a7a=_0x4ba0c9,_0x1e98fd=[],_0x299ee2=[];for(const _0x3f5bfc of _0x522556){_0x3f5bfc[_0x171a7a(0xd5)]===!![]||typeof _0x3f5bfc[_0x171a7a(0xd5)]===_0x171a7a(0x108)?_0x1e98fd[_0x171a7a(0xdc)](_0x3f5bfc):_0x299ee2[_0x171a7a(0xdc)](_0x3f5bfc);}return[..._0x1e98fd,..._0x299ee2];}export function buildAutoUpsertItems(_0x336f23,_0x13b8e7={}){const _0x4a4209=_0x4ba0c9,_0x314ea9=new Set([...UPSERT_BUILTIN_IGNORE,..._0x13b8e7[_0x4a4209(0x110)]||[]]),_0x2e188b=[];for(const _0x35b2a5 of epsColumns(_0x336f23)){const _0xe70a79=_0x35b2a5['propertyName'];if(_0x314ea9['has'](_0xe70a79))continue;const _0x3d4db9=_0x35b2a5[_0x4a4209(0xf6)]||_0xe70a79,_0x1e2fbb=dictKeyOf(_0x35b2a5),_0x3d8ed7=_0x35b2a5[_0x4a4209(0xf3)]===![]&&_0x35b2a5[_0x4a4209(0x102)]!==!![],_0x376f5e={'prop':_0xe70a79,'label':_0x3d4db9,'span':0xc,..._0x3d8ed7?{'required':!![]}:{}};if(_0xe70a79===_0x4a4209(0xe1)){const _0x16e83a=_0x1e2fbb||_0x4a4209(0xe1);isSwitchDict(_0x16e83a)?_0x2e188b[_0x4a4209(0xdc)](switchFormItem(_0x376f5e,_0x16e83a,switchDefaultValue(_0x16e83a))):_0x2e188b[_0x4a4209(0xdc)]({..._0x376f5e,'type':'select','dict':_0x16e83a,'value':()=>dictFirstValue(_0x16e83a)});continue;}if(_0x1e2fbb){isSwitchDict(_0x1e2fbb)?_0x2e188b['push'](switchFormItem(_0x376f5e,_0x1e2fbb,switchDefaultValue(_0x1e2fbb))):_0x2e188b[_0x4a4209(0xdc)]({..._0x376f5e,'type':'select','dict':_0x1e2fbb,'value':()=>dictFirstValue(_0x1e2fbb)});continue;}if(isTextCol(_0x35b2a5)){_0x2e188b['push']({..._0x376f5e,'type':_0x4a4209(0x109),'span':0xc});continue;}if(isBooleanCol(_0x35b2a5)){_0x2e188b[_0x4a4209(0xdc)]({..._0x376f5e,'type':_0x4a4209(0x113),'value':![],'component':{'props':()=>mapDictOptions('yes_no_boolean')},'dict':_0x4a4209(0xfa)});continue;}if(isIntegerCol(_0x35b2a5)||isNumericCol(_0x35b2a5)){const _0x3645de=numberPrecision(_0x35b2a5);_0x2e188b[_0x4a4209(0xdc)]({..._0x376f5e,'type':_0x4a4209(0xfe),'component':{'props':{'type':_0x4a4209(0xfe),'precision':_0x3645de,'controls':![]}}});continue;}_0x2e188b[_0x4a4209(0xdc)]({..._0x376f5e,'type':_0x4a4209(0xf7)});}return _0x2e188b;}export function buildAutoTableColumns(_0x1c2e9e,_0x15585e={}){const _0x4e324d=_0x4ba0c9,_0x441b5f=new Set([...TABLE_BUILTIN_IGNORE,...epsTableIgnore(_0x1c2e9e),..._0x15585e[_0x4e324d(0x110)]||[]]),_0x4ff34b=[];!_0x441b5f[_0x4e324d(0xde)]('selection')&&_0x4ff34b[_0x4e324d(0xdc)]({'type':_0x4e324d(0xe6),'width':0x32});for(const _0x4d07c7 of epsColumns(_0x1c2e9e)){const _0xe16f6e=_0x4d07c7['propertyName'];if(_0x441b5f[_0x4e324d(0xde)](_0xe16f6e))continue;const _0x28a65c=_0x4d07c7['comment']||_0xe16f6e,_0x2ab00a=dictKeyOf(_0x4d07c7);if(_0xe16f6e===_0x4e324d(0xe1)){const _0xa04c87=_0x2ab00a||_0x4e324d(0xe1);isSwitchDict(_0xa04c87)?_0x4ff34b[_0x4e324d(0xdc)]({'prop':_0xe16f6e,'label':_0x28a65c,'width':0x50,'component':{'name':'vm-switch','props':()=>mapDictOptions(_0xa04c87)}}):_0x4ff34b['push']({'prop':_0xe16f6e,'label':_0x28a65c,'width':0x64,'dict':()=>mapDictOptions(_0xa04c87)});continue;}if(_0x2ab00a&&isSwitchDict(_0x2ab00a)){_0x4ff34b[_0x4e324d(0xdc)]({'prop':_0xe16f6e,'label':_0x28a65c,'width':0x50,'component':{'name':_0x4e324d(0xcd),'props':()=>mapDictOptions(_0x2ab00a)}});continue;}if(_0xe16f6e==='id'){_0x4ff34b[_0x4e324d(0xdc)]({'prop':_0xe16f6e,'label':_0x28a65c,'width':0x50});continue;}if(_0xe16f6e==='createTime'){_0x4ff34b[_0x4e324d(0xdc)]({'prop':_0xe16f6e,'label':_0x28a65c,'width':0xa0});continue;}if(_0x2ab00a){_0x4ff34b[_0x4e324d(0xdc)]({'prop':_0xe16f6e,'label':_0x28a65c,'minWidth':0x78,'dict':()=>mapDictOptions(_0x2ab00a)});continue;}if(isTextCol(_0x4d07c7)){_0x4ff34b[_0x4e324d(0xdc)]({'prop':_0xe16f6e,'label':_0x28a65c,'minWidth':0xa0,'showOverflowTooltip':!![]});continue;}_0x4ff34b[_0x4e324d(0xdc)]({'prop':_0xe16f6e,'label':_0x28a65c,'minWidth':0x78});}if(!_0x441b5f[_0x4e324d(0xde)]('op')){const _0x5a926a=buildAutoOpButtons(_0x1c2e9e);_0x5a926a[_0x4e324d(0xd1)]&&_0x4ff34b[_0x4e324d(0xdc)]({'type':'op','buttons':_0x5a926a,'fixed':'right'});}return _0x4ff34b;}
1
+ const _0x1004e9=_0x19aa;(function(_0x38f34e,_0x3f8660){const _0x212f92=_0x19aa,_0x2608e2=_0x38f34e();while(!![]){try{const _0x1c9661=parseInt(_0x212f92(0xf7))/0x1*(-parseInt(_0x212f92(0x120))/0x2)+-parseInt(_0x212f92(0x10e))/0x3*(-parseInt(_0x212f92(0xec))/0x4)+parseInt(_0x212f92(0x107))/0x5*(-parseInt(_0x212f92(0x106))/0x6)+parseInt(_0x212f92(0x10a))/0x7*(-parseInt(_0x212f92(0x113))/0x8)+parseInt(_0x212f92(0xe9))/0x9+-parseInt(_0x212f92(0xe5))/0xa*(-parseInt(_0x212f92(0xf1))/0xb)+parseInt(_0x212f92(0xe7))/0xc;if(_0x1c9661===_0x3f8660)break;else _0x2608e2['push'](_0x2608e2['shift']());}catch(_0x2c765d){_0x2608e2['push'](_0x2608e2['shift']());}}}(_0x48ff,0xc8e9d));import{findEpsEntity}from'../lib/eps';import{getDictOptions}from'../../client';export const UPSERT_BUILTIN_IGNORE=['id','tenantId','createTime',_0x1004e9(0x117),_0x1004e9(0xea)];export const TABLE_BUILTIN_IGNORE=[_0x1004e9(0xea),_0x1004e9(0x117)];export function buildAutoOpButtons(_0x2dbc4d){const _0x3ec5e3=_0x1004e9,_0x51553f=_0x2dbc4d[_0x3ec5e3(0x118)],_0x514239=_0x242ddb=>_0x51553f!=null&&typeof _0x51553f==='object'&&Object[_0x3ec5e3(0xfd)][_0x3ec5e3(0xe6)][_0x3ec5e3(0xf5)](_0x51553f,_0x242ddb),_0x24ad1b=_0x190d0c=>Boolean(_0x2dbc4d[_0x3ec5e3(0xe1)]?.[_0x190d0c]),_0x4d29d8=[];if(_0x514239('update')&&_0x24ad1b(_0x3ec5e3(0x11d)))_0x4d29d8[_0x3ec5e3(0x105)](_0x3ec5e3(0xd9));if(_0x514239(_0x3ec5e3(0xe3))&&_0x24ad1b(_0x3ec5e3(0xe3)))_0x4d29d8[_0x3ec5e3(0x105)](_0x3ec5e3(0xe3));return _0x4d29d8;}function dictKeyOf(_0x5be491){const _0x5008c1=_0x1004e9;if(typeof _0x5be491[_0x5008c1(0xdf)]===_0x5008c1(0xf8)&&_0x5be491['dict'])return _0x5be491[_0x5008c1(0xdf)];if(Array[_0x5008c1(0x103)](_0x5be491[_0x5008c1(0xdf)])&&_0x5be491[_0x5008c1(0xdf)][0x0])return _0x5be491['dict'][0x0];return;}function isSwitchDict(_0x121de3){const _0x450da7=_0x1004e9;return _0x121de3===_0x450da7(0xf6)||_0x121de3===_0x450da7(0x101)||_0x121de3===_0x450da7(0xf3);}function switchDefaultValue(_0x464d5c){const _0x4b1b34=_0x1004e9;if(_0x464d5c==='yes_no_boolean')return![];if(_0x464d5c===_0x4b1b34(0xf3))return 0x0;return 0x1;}function switchFormItem(_0x3d8515,_0x339bb4,_0x7e1a7b){const _0x802551=_0x1004e9;return{..._0x3d8515,'type':_0x802551(0xf2),'value':_0x7e1a7b,'dict':_0x339bb4,'component':{'props':()=>mapDictOptions(_0x339bb4)}};}export function mapDictOptions(_0x4ebb4d){const _0x4fdc3b=_0x1004e9;return getDictOptions(_0x4ebb4d)[_0x4fdc3b(0x123)](_0x42b7a7=>{const _0x192681=_0x4fdc3b;let _0x2b1f5b=_0x42b7a7[_0x192681(0xe4)];return typeof _0x42b7a7[_0x192681(0xe4)]==='string'&&/^-?\d+(\.\d+)?$/['test'](_0x42b7a7['value'])&&(_0x2b1f5b=Number(_0x42b7a7[_0x192681(0xe4)])),{'label':String(_0x42b7a7[_0x192681(0xf0)]??''),'value':_0x2b1f5b,'color':_0x42b7a7['color']};});}export function dictFirstValue(_0x2e882d){const _0x547853=_0x1004e9,_0x358d2f=mapDictOptions(_0x2e882d)[0x0];return _0x358d2f?.[_0x547853(0xe4)];}export function resolveFormItemValue(_0x3454c6){const _0x1a69b6=_0x1004e9;return typeof _0x3454c6===_0x1a69b6(0xe8)?_0x3454c6():_0x3454c6;}function isMainTableCol(_0x10a22f){const _0x3b81ab=_0x1004e9;return!_0x10a22f[_0x3b81ab(0xee)]||_0x10a22f[_0x3b81ab(0xee)]['startsWith']('a.');}function _0x48ff(){const _0x22dc54=['mtKWBNHbs3Ld','AgfZt3DUuhjVCgvYDhK','mJKZotq2mfndAwnmsa','zNvUy3rPB24','ndy1nJKXnu1uqNnxwG','zgvSzxrLvgLTzq','yxv0BW','nJi3mZa3nMnusvftEq','x19WBhvNAw4','C291CMnL','ugDoDw1LCMLJ','BgfIzwW','mZq4odiXy3L0Aw1P','C3DPDgnO','EwvZx25Vx251BwjLCG','zMLUza','y2fSBa','C3rHDhvZ','mJq0odjvyKHfCw8','C3rYAw5N','AgfZrgvMyxvSDa','ChjVCgvYDhLoyw1L','C2vYDMLJzq','BgvUz3rO','ChjVDg90ExbL','CgfNzvf1zxj5t3a','y29SDw1UCW','y29SDw1UvhLWzq','EwvZx25Vx2jVB2XLyw4','y29TBwvUDa','AxnbCNjHEq','CMvXDwLYzwq','ChvZAa','nJu5ntK4mg5pELHKCW','nvDRDxH5qq','C3fSvhLWzq','yM9VBgvHBG','n1LLtNLZBq','AgfZ','BMfTzxnWywnL','C2v0qxv0BW','m0rgtfbcta','C2vSzwn0','zMLSDgvY','ugDszwfS','CMLNAhq','ntKZmJC2mfPxtgjKzG','Aw5WDxq','C2vSzwn0Aw9U','AwDUB3jLrMLLBgrZ','DxbKyxrLvgLTzq','CgvYBwLZC2LVBG','ugDcAwDjBNq','ugDtBwfSBeLUDa','DgvZDa','DM0TC3DPDgnO','DxbKyxrL','DgfIBgvpChrZ','DhLWzq','mJjtBK5su0O','ugDeB3vIBgvqCMvJAxnPB24','ChjVCa','BwfW','ywrK','CgfNzunVBhvTBNm','Dgv4DgfYzwe','C2nHBgu','BwfUDwfS','zwrPDa','BNvTyMvY','ugDcAwDtzxjPywW','BNvSBgfIBgu','y3jLyxrLvgLTzq','C3rHCNrZv2L0Aa','zgLJDa','Dg9mB3DLCKnHC2u','x3bLCM1PC3nPB24','ugDtBwfSBfnLCMLHBa','zgvSzxrL','DMfSDwu'];_0x48ff=function(){return _0x22dc54;};return _0x48ff();}function epsTableIgnore(_0xa886ed){const _0x34d069=_0x1004e9,_0x1d4024=_0xa886ed[_0x34d069(0x10c)]?findEpsEntity('/'+_0xa886ed[_0x34d069(0x10c)]):undefined,_0x1550ee=_0x1d4024?.[_0x34d069(0xfe)]?.[_0x34d069(0x116)];return Array[_0x34d069(0x103)](_0x1550ee)?_0x1550ee[_0x34d069(0x110)](_0x59307a=>typeof _0x59307a===_0x34d069(0xf8)&&_0x59307a):[];}function epsColumns(_0x50cf23){const _0x5bea93=_0x1004e9,_0x4c8b8f=_0x50cf23[_0x5bea93(0x10c)]?findEpsEntity('/'+_0x50cf23[_0x5bea93(0x10c)]):undefined;if(!_0x4c8b8f)return[];const _0x2745cd=[..._0x4c8b8f[_0x5bea93(0xff)]||[],..._0x4c8b8f[_0x5bea93(0xd5)]||[]],_0x324c89=new Set(),_0x4adeb3=[];for(const _0x282356 of _0x2745cd){if(!_0x282356[_0x5bea93(0xfa)]||!isMainTableCol(_0x282356))continue;if(_0x324c89[_0x5bea93(0x10b)](_0x282356[_0x5bea93(0xfa)]))continue;_0x324c89[_0x5bea93(0xd4)](_0x282356[_0x5bea93(0xfa)]),_0x4adeb3['push'](_0x282356);}return _0x4adeb3;}function _0x19aa(_0x4c134c,_0x1f6e0e){_0x4c134c=_0x4c134c-0xd4;const _0x48ffdc=_0x48ff();let _0x19aa5c=_0x48ffdc[_0x4c134c];if(_0x19aa['WoVkkr']===undefined){var _0x54a4aa=function(_0x3a8202){const _0x3616b6='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2dbc4d='',_0x51553f='';for(let _0x514239=0x0,_0x24ad1b,_0x4d29d8,_0x242ddb=0x0;_0x4d29d8=_0x3a8202['charAt'](_0x242ddb++);~_0x4d29d8&&(_0x24ad1b=_0x514239%0x4?_0x24ad1b*0x40+_0x4d29d8:_0x4d29d8,_0x514239++%0x4)?_0x2dbc4d+=String['fromCharCode'](0xff&_0x24ad1b>>(-0x2*_0x514239&0x6)):0x0){_0x4d29d8=_0x3616b6['indexOf'](_0x4d29d8);}for(let _0x190d0c=0x0,_0x5be491=_0x2dbc4d['length'];_0x190d0c<_0x5be491;_0x190d0c++){_0x51553f+='%'+('00'+_0x2dbc4d['charCodeAt'](_0x190d0c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x51553f);};_0x19aa['qVshNv']=_0x54a4aa,_0x19aa['vlFIxm']={},_0x19aa['WoVkkr']=!![];}const _0x5540e5=_0x48ffdc[0x0],_0x1569a3=_0x4c134c+_0x5540e5,_0x2d5a2e=_0x19aa['vlFIxm'][_0x1569a3];return!_0x2d5a2e?(_0x19aa5c=_0x19aa['qVshNv'](_0x19aa5c),_0x19aa['vlFIxm'][_0x1569a3]=_0x19aa5c):_0x19aa5c=_0x2d5a2e,_0x19aa5c;}function columnTypeOf(_0xe7a277){const _0x1dde0d=_0x1004e9;return String(_0xe7a277[_0x1dde0d(0x100)]||'');}function sqlTypeOf(_0x28d77d){const _0x22e840=_0x1004e9;return String(_0x28d77d[_0x22e840(0x108)]||'')[_0x22e840(0xe0)]();}function isTextCol(_0xc8f74b){const _0x59dc77=columnTypeOf(_0xc8f74b);if(_0x59dc77==='PgText')return!![];return sqlTypeOf(_0xc8f74b)==='text';}function isIntegerCol(_0x366b72){const _0x2edba7=_0x1004e9,_0x36b570=columnTypeOf(_0x366b72);if(_0x36b570==='PgInteger'||_0x36b570==='PgSerial'||_0x36b570===_0x2edba7(0x11a)||_0x36b570===_0x2edba7(0x119)||_0x36b570===_0x2edba7(0xe2)||_0x36b570===_0x2edba7(0xdb))return!![];if(_0x366b72[_0x2edba7(0x11f)]===_0x2edba7(0xda)&&!isNumericCol(_0x366b72))return!![];return/^(integer|serial|smallint|bigint|smallserial|bigserial)\b/[_0x2edba7(0x11b)](sqlTypeOf(_0x366b72));}function isNumericCol(_0x212671){const _0x47cc28=_0x1004e9,_0xcb3074=columnTypeOf(_0x212671);if(_0xcb3074===_0x47cc28(0xef)||_0xcb3074===_0x47cc28(0x121)||_0xcb3074===_0x47cc28(0x111))return!![];return/^(numeric|decimal|double|real)\b/[_0x47cc28(0x11b)](sqlTypeOf(_0x212671));}function isBooleanCol(_0x50fde0){const _0x177f79=_0x1004e9;return columnTypeOf(_0x50fde0)==='PgBoolean'||_0x50fde0[_0x177f79(0x11f)]==='boolean'||sqlTypeOf(_0x50fde0)[_0x177f79(0xde)](_0x177f79(0x109));}function numberPrecision(_0x3a5eef){const _0x47f196=_0x1004e9;if(isIntegerCol(_0x3a5eef))return 0x0;if(typeof _0x3a5eef[_0x47f196(0xd7)]==='number')return _0x3a5eef[_0x47f196(0xd7)];return 0x2;}export function mergeByProp(_0x1cbf09,_0x2106ae){const _0x5dbe77=_0x1004e9,_0x105d1f=_0x2106ae[_0x5dbe77(0x110)](_0x538916=>Boolean(_0x538916[_0x5dbe77(0x122)])),_0x4c6a4c=_0x2106ae[_0x5dbe77(0x110)](_0x48444e=>!_0x48444e[_0x5dbe77(0x122)]&&_0x48444e['type']),_0x1dfd78=new Map(_0x105d1f[_0x5dbe77(0x123)](_0xda82ea=>[String(_0xda82ea['prop']),_0xda82ea])),_0x366d07=new Set(_0x4c6a4c[_0x5dbe77(0x123)](_0x1677c2=>String(_0x1677c2[_0x5dbe77(0x11f)]))),_0x56b81c=new Set(),_0x378d4d=[];for(const _0x2148a5 of _0x1cbf09){if(!_0x2148a5[_0x5dbe77(0x122)]&&_0x2148a5[_0x5dbe77(0x11f)]){if(_0x366d07['has'](String(_0x2148a5[_0x5dbe77(0x11f)])))continue;_0x378d4d[_0x5dbe77(0x105)](_0x2148a5);continue;}if(!_0x2148a5[_0x5dbe77(0x122)])continue;const _0x3ca31d=String(_0x2148a5['prop']),_0x4e5cef=_0x1dfd78['get'](_0x3ca31d);_0x4e5cef?(_0x378d4d['push']({..._0x2148a5,..._0x4e5cef}),_0x56b81c[_0x5dbe77(0xd4)](_0x3ca31d)):_0x378d4d['push'](_0x2148a5);}for(const _0x1ad36f of _0x105d1f){const _0x23ecad=String(_0x1ad36f[_0x5dbe77(0x122)]);if(!_0x56b81c['has'](_0x23ecad))_0x378d4d['push'](_0x1ad36f);}return _0x378d4d['push'](..._0x4c6a4c),_0x378d4d;}export function resolveMergedTableColumns(_0xfbc937){const _0x367b86=_0x1004e9,_0x1fc754=_0xfbc937[_0x367b86(0xd8)]?.['length']?_0xfbc937[_0x367b86(0xd8)]:_0xfbc937['tableOpts']?.[_0x367b86(0xff)]||[],_0x217e8d=(_0xfbc937['tablePlugins']||[])[_0x367b86(0xf4)](_0x559772=>_0x559772?.[_0x367b86(0xed)]===_0x367b86(0x10d)),_0x125826=_0xfbc937[_0x367b86(0x11e)]?.[_0x367b86(0xeb)]!==![]&&Boolean(_0x217e8d);if(!_0x125826)return pinOpColumnsLast(_0x1fc754);const _0x29ff43=_0x217e8d?.[_0x367b86(0x116)]||[],_0x508490=_0xfbc937[_0x367b86(0x11e)]?.[_0x367b86(0x116)]||[],_0x24e9c7=buildAutoTableColumns(_0xfbc937[_0x367b86(0xfb)],{'ignoreFields':[..._0x29ff43,..._0x508490]});return pinOpColumnsLast(mergeByProp(_0x24e9c7,_0x1fc754));}export function pinOpColumnsLast(_0x1571a8){const _0x415b61=_0x1004e9,_0x7658b=[],_0x2f2d6a=[];for(const _0x4e5a03 of _0x1571a8){_0x4e5a03['type']==='op'?_0x7658b[_0x415b61(0x105)]({..._0x4e5a03,'fixed':_0x415b61(0x112)}):_0x2f2d6a[_0x415b61(0x105)](_0x4e5a03);}if(!_0x7658b[_0x415b61(0xfc)])return _0x1571a8;return[..._0x2f2d6a,..._0x7658b];}export function sortRequiredFirst(_0x5b994a){const _0x6bf180=_0x1004e9,_0x1e4f78=[],_0x566eef=[];for(const _0x2fd682 of _0x5b994a){_0x2fd682[_0x6bf180(0x104)]===!![]||typeof _0x2fd682[_0x6bf180(0x104)]==='function'?_0x1e4f78['push'](_0x2fd682):_0x566eef[_0x6bf180(0x105)](_0x2fd682);}return[..._0x1e4f78,..._0x566eef];}export function buildAutoUpsertItems(_0x44d2fd,_0x5b412e={}){const _0x535785=_0x1004e9,_0x3aa91b=new Set([...UPSERT_BUILTIN_IGNORE,..._0x5b412e[_0x535785(0x116)]||[]]),_0x1efc97=[];for(const _0x2e4cc4 of epsColumns(_0x44d2fd)){const _0x285728=_0x2e4cc4[_0x535785(0xfa)];if(_0x3aa91b[_0x535785(0x10b)](_0x285728))continue;const _0x4fb29c=_0x2e4cc4[_0x535785(0x102)]||_0x285728,_0x53df35=dictKeyOf(_0x2e4cc4),_0x5f2f12=_0x2e4cc4[_0x535785(0xdc)]===![]&&_0x2e4cc4[_0x535785(0xf9)]!==!![],_0x5ce3d6={'prop':_0x285728,'label':_0x4fb29c,'span':0xc,..._0x5f2f12?{'required':!![]}:{}};if(_0x285728===_0x535785(0xf6)){const _0x1b95bc=_0x53df35||_0x535785(0xf6);isSwitchDict(_0x1b95bc)?_0x1efc97['push'](switchFormItem(_0x5ce3d6,_0x1b95bc,switchDefaultValue(_0x1b95bc))):_0x1efc97['push']({..._0x5ce3d6,'type':'select','dict':_0x1b95bc,'value':()=>dictFirstValue(_0x1b95bc)});continue;}if(_0x53df35){isSwitchDict(_0x53df35)?_0x1efc97['push'](switchFormItem(_0x5ce3d6,_0x53df35,switchDefaultValue(_0x53df35))):_0x1efc97[_0x535785(0x105)]({..._0x5ce3d6,'type':_0x535785(0x10f),'dict':_0x53df35,'value':()=>dictFirstValue(_0x53df35)});continue;}if(isTextCol(_0x2e4cc4)){_0x1efc97[_0x535785(0x105)]({..._0x5ce3d6,'type':_0x535785(0xd6),'span':0xc});continue;}if(isBooleanCol(_0x2e4cc4)){_0x1efc97[_0x535785(0x105)]({..._0x5ce3d6,'type':_0x535785(0xf2),'value':![],'component':{'props':()=>mapDictOptions(_0x535785(0x101))},'dict':'yes_no_boolean'});continue;}if(isIntegerCol(_0x2e4cc4)||isNumericCol(_0x2e4cc4)){const _0x4b72b2=numberPrecision(_0x2e4cc4);_0x1efc97[_0x535785(0x105)]({..._0x5ce3d6,'type':'number','component':{'props':{'type':'number','precision':_0x4b72b2,'controls':![]}}});continue;}_0x1efc97['push']({..._0x5ce3d6,'type':_0x535785(0x114)});}return _0x1efc97;}export function buildAutoTableColumns(_0x2f7b33,_0x5cfa4d={}){const _0x21f96d=_0x1004e9,_0x52af97=new Set([...TABLE_BUILTIN_IGNORE,...epsTableIgnore(_0x2f7b33),..._0x5cfa4d['ignoreFields']||[]]),_0x142fd6=[];!_0x52af97[_0x21f96d(0x10b)](_0x21f96d(0x115))&&_0x142fd6[_0x21f96d(0x105)]({'type':_0x21f96d(0x115),'width':0x32});for(const _0x49a1cf of epsColumns(_0x2f7b33)){const _0x4a208f=_0x49a1cf[_0x21f96d(0xfa)];if(_0x52af97[_0x21f96d(0x10b)](_0x4a208f))continue;const _0x28f525=_0x49a1cf[_0x21f96d(0x102)]||_0x4a208f,_0x1078d8=dictKeyOf(_0x49a1cf);if(_0x4a208f===_0x21f96d(0xf6)){const _0xc7a027=_0x1078d8||_0x21f96d(0xf6);isSwitchDict(_0xc7a027)?_0x142fd6[_0x21f96d(0x105)]({'prop':_0x4a208f,'label':_0x28f525,'width':0x50,'component':{'name':_0x21f96d(0x11c),'props':()=>mapDictOptions(_0xc7a027)}}):_0x142fd6[_0x21f96d(0x105)]({'prop':_0x4a208f,'label':_0x28f525,'width':0x64,'dict':()=>mapDictOptions(_0xc7a027)});continue;}if(_0x1078d8&&isSwitchDict(_0x1078d8)){_0x142fd6[_0x21f96d(0x105)]({'prop':_0x4a208f,'label':_0x28f525,'width':0x50,'component':{'name':'vm-switch','props':()=>mapDictOptions(_0x1078d8)}});continue;}if(_0x4a208f==='id'){_0x142fd6['push']({'prop':_0x4a208f,'label':_0x28f525,'width':0x50});continue;}if(_0x4a208f===_0x21f96d(0xdd)){_0x142fd6[_0x21f96d(0x105)]({'prop':_0x4a208f,'label':_0x28f525,'width':0xa0});continue;}if(_0x1078d8){_0x142fd6['push']({'prop':_0x4a208f,'label':_0x28f525,'minWidth':0x78,'dict':()=>mapDictOptions(_0x1078d8)});continue;}if(isTextCol(_0x49a1cf)){_0x142fd6[_0x21f96d(0x105)]({'prop':_0x4a208f,'label':_0x28f525,'minWidth':0xa0,'showOverflowTooltip':!![]});continue;}_0x142fd6[_0x21f96d(0x105)]({'prop':_0x4a208f,'label':_0x28f525,'minWidth':0x78});}if(!_0x52af97[_0x21f96d(0x10b)]('op')){const _0x47f52d=buildAutoOpButtons(_0x2f7b33);_0x47f52d['length']&&_0x142fd6[_0x21f96d(0x105)]({'type':'op','buttons':_0x47f52d,'fixed':_0x21f96d(0x112)});}return _0x142fd6;}