vome-core 0.3.65 → 0.3.66

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 _0xa29614=_0x3714;(function(_0x102dc3,_0x50d0a3){const _0x8e780b=_0x3714,_0x4a91d4=_0x102dc3();while(!![]){try{const _0x462b3a=-parseInt(_0x8e780b(0x118))/0x1+parseInt(_0x8e780b(0x12b))/0x2*(-parseInt(_0x8e780b(0x12f))/0x3)+parseInt(_0x8e780b(0x12c))/0x4+-parseInt(_0x8e780b(0x12a))/0x5+-parseInt(_0x8e780b(0xf6))/0x6*(parseInt(_0x8e780b(0x115))/0x7)+-parseInt(_0x8e780b(0xfd))/0x8*(parseInt(_0x8e780b(0xf0))/0x9)+parseInt(_0x8e780b(0xe9))/0xa;if(_0x462b3a===_0x50d0a3)break;else _0x4a91d4['push'](_0x4a91d4['shift']());}catch(_0x21c297){_0x4a91d4['push'](_0x4a91d4['shift']());}}}(_0x49fe,0x28670));import{findEpsEntity}from'../lib/eps';import{getDictOptions}from'../../client';function _0x3714(_0x1c2ab0,_0x5cb7a9){_0x1c2ab0=_0x1c2ab0-0xe2;const _0x49fed5=_0x49fe();let _0x3714ea=_0x49fed5[_0x1c2ab0];if(_0x3714['lqvxAz']===undefined){var _0x2f2590=function(_0x35a067){const _0x34b967='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x739273='',_0x17ffc1='';for(let _0x2372e4=0x0,_0x3f5266,_0x37d93c,_0xbe8e73=0x0;_0x37d93c=_0x35a067['charAt'](_0xbe8e73++);~_0x37d93c&&(_0x3f5266=_0x2372e4%0x4?_0x3f5266*0x40+_0x37d93c:_0x37d93c,_0x2372e4++%0x4)?_0x739273+=String['fromCharCode'](0xff&_0x3f5266>>(-0x2*_0x2372e4&0x6)):0x0){_0x37d93c=_0x34b967['indexOf'](_0x37d93c);}for(let _0x538ad9=0x0,_0x5d8e7c=_0x739273['length'];_0x538ad9<_0x5d8e7c;_0x538ad9++){_0x17ffc1+='%'+('00'+_0x739273['charCodeAt'](_0x538ad9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x17ffc1);};_0x3714['pACTei']=_0x2f2590,_0x3714['lJFmPT']={},_0x3714['lqvxAz']=!![];}const _0x38a0f4=_0x49fed5[0x0],_0x5e938b=_0x1c2ab0+_0x38a0f4,_0x173ca9=_0x3714['lJFmPT'][_0x5e938b];return!_0x173ca9?(_0x3714ea=_0x3714['pACTei'](_0x3714ea),_0x3714['lJFmPT'][_0x5e938b]=_0x3714ea):_0x3714ea=_0x173ca9,_0x3714ea;}export const UPSERT_BUILTIN_IGNORE=['id',_0xa29614(0xf1),_0xa29614(0xe3),_0xa29614(0xee),_0xa29614(0xff)];export const TABLE_BUILTIN_IGNORE=[_0xa29614(0xff),_0xa29614(0xee)];export function buildAutoOpButtons(_0x739273){const _0xa836ca=_0xa29614,_0x17ffc1=_0x739273['permission'],_0x2372e4=_0xbe8e73=>_0x17ffc1!=null&&typeof _0x17ffc1===_0xa836ca(0x122)&&Object['prototype'][_0xa836ca(0x108)][_0xa836ca(0xf5)](_0x17ffc1,_0xbe8e73),_0x3f5266=_0x538ad9=>Boolean(_0x739273[_0xa836ca(0x10c)]?.[_0x538ad9]),_0x37d93c=[];if(_0x2372e4('update')&&_0x3f5266(_0xa836ca(0x113)))_0x37d93c[_0xa836ca(0xe5)](_0xa836ca(0x125));if(_0x2372e4(_0xa836ca(0x11e))&&_0x3f5266('delete'))_0x37d93c[_0xa836ca(0xe5)]('delete');return _0x37d93c;}function dictKeyOf(_0x5d8e7c){const _0x52cb48=_0xa29614;if(typeof _0x5d8e7c['dict']===_0x52cb48(0x104)&&_0x5d8e7c[_0x52cb48(0xe4)])return _0x5d8e7c[_0x52cb48(0xe4)];if(Array[_0x52cb48(0xf3)](_0x5d8e7c[_0x52cb48(0xe4)])&&_0x5d8e7c[_0x52cb48(0xe4)][0x0])return _0x5d8e7c[_0x52cb48(0xe4)][0x0];return;}function isSwitchDict(_0x58693d){const _0x57acfc=_0xa29614;return _0x58693d==='status'||_0x58693d==='yes_no_boolean'||_0x58693d===_0x57acfc(0x111);}function switchDefaultValue(_0x59ae2b){const _0x8a8f60=_0xa29614;if(_0x59ae2b===_0x8a8f60(0x116))return![];if(_0x59ae2b===_0x8a8f60(0x111))return 0x0;return 0x1;}function switchFormItem(_0x3d62fe,_0x237f1c,_0x313dea){const _0x1c2c81=_0xa29614;return{..._0x3d62fe,'type':_0x1c2c81(0xf9),'value':_0x313dea,'dict':_0x237f1c,'component':{'props':()=>mapDictOptions(_0x237f1c)}};}export function mapDictOptions(_0x22b668){const _0x5106bf=_0xa29614;return getDictOptions(_0x22b668)[_0x5106bf(0xf2)](_0x540d78=>{const _0x1d6ef6=_0x5106bf;let _0x2e73e3=_0x540d78[_0x1d6ef6(0xe6)];return typeof _0x540d78[_0x1d6ef6(0xe6)]===_0x1d6ef6(0x104)&&/^-?\d+(\.\d+)?$/[_0x1d6ef6(0xed)](_0x540d78[_0x1d6ef6(0xe6)])&&(_0x2e73e3=Number(_0x540d78['value'])),{'label':String(_0x540d78[_0x1d6ef6(0xef)]??''),'value':_0x2e73e3,'color':_0x540d78[_0x1d6ef6(0x110)]};});}export function dictFirstValue(_0x4eb35f){const _0x11e2bb=mapDictOptions(_0x4eb35f)[0x0];return _0x11e2bb?.['value'];}export function resolveFormItemValue(_0x211e77){const _0x4b7ba6=_0xa29614;return typeof _0x211e77===_0x4b7ba6(0x11f)?_0x211e77():_0x211e77;}function isMainTableCol(_0xf76185){const _0x590d86=_0xa29614;return!_0xf76185['source']||_0xf76185[_0x590d86(0x11b)][_0x590d86(0x123)]('a.');}function _0x49fe(){const _0x218ff7=['z2v0','ugDuzxH0','DgvZDa','DxbKyxrLvgLTzq','BgfIzwW','mtmZmJLXD1DyrMG','DgvUyw50swq','BwfW','AxnbCNjHEq','ywrK','y2fSBa','ndjQyw5eD3e','ugDjBNrLz2vY','ugDtzxjPywW','C3DPDgnO','ugDszwfS','AgfZrgvMyxvSDa','DhLWzq','mteXmLLkEvreuq','ChjVCgvYDhLoyw1L','zgvSzxrLvgLTzq','DgfIBgvpChrZ','CgfNzunVBhvTBNm','DgfIBgvqBhvNAw5Z','BNvSBgfIBgu','C3rYAw5N','Aw5WDxq','y29SDw1UvhLWzq','DM0TC3DPDgnO','AgfZt3DUuhjVCgvYDhK','ugDoDw1LCMLJ','x19WBhvNAw4','BMfTzxnWywnL','x3bLCM1PC3nPB24','Dgv4DgfYzwe','BwfUDwfS','C3rHDhvZ','y29SB3i','EwvZx25Vx251BwjLCG','ugDcB29SzwfU','DxbKyxrL','C3fSvhLWzq','nZDuqNvzA2i','EwvZx25Vx2jVB2XLyw4','CMvXDwLYzwq','mtm1odq3BwLlEhnO','C2v0qxv0BW','y29TBwvUDa','C291CMnL','yM9VBgvHBG','C2vYDMLJzq','zgvSzxrL','zNvUy3rPB24','AwDUB3jLrMLLBgrZ','BgvUz3rO','B2jQzwn0','C3rHCNrZv2L0Aa','AgfZ','zwrPDa','CMLNAhq','BNvTyMvY','C2vSzwn0Aw9U','C2vSzwn0','mta1mZi5nxD5wgvmwG','nJiWnZC4BMnsvhHo','mZq2nZy0yLHuuu1R','zMLSDgvY','ugDtBwfSBfnLCMLHBa','m1viALbVtq','Dg9mB3DLCKnHC2u','C2nHBgu','y3jLyxrLvgLTzq','zgLJDa','ChvZAa','DMfSDwu','y29SDw1UCW','ChjVCa','otqXnJi4mgHuCvLLzq','yxv0BW'];_0x49fe=function(){return _0x218ff7;};return _0x49fe();}function epsTableIgnore(_0x53a956){const _0x394cef=_0xa29614,_0xdee02f=_0x53a956[_0x394cef(0x10b)]?findEpsEntity('/'+_0x53a956[_0x394cef(0x10b)]):undefined,_0x3058a6=_0xdee02f?.['pageQueryOp']?.[_0x394cef(0x120)];return Array[_0x394cef(0xf3)](_0x3058a6)?_0x3058a6[_0x394cef(0x12d)](_0xb19748=>typeof _0xb19748===_0x394cef(0x104)&&_0xb19748):[];}function epsColumns(_0x4c398f){const _0x4584cb=_0xa29614,_0x19f154=_0x4c398f['namespace']?findEpsEntity('/'+_0x4c398f[_0x4584cb(0x10b)]):undefined;if(!_0x19f154)return[];const _0x42186d=[..._0x19f154['columns']||[],..._0x19f154[_0x4584cb(0x101)]||[]],_0x4ef7eb=new Set(),_0x29c147=[];for(const _0x50f8d6 of _0x42186d){if(!_0x50f8d6[_0x4584cb(0xfe)]||!isMainTableCol(_0x50f8d6))continue;if(_0x4ef7eb[_0x4584cb(0x124)](_0x50f8d6[_0x4584cb(0xfe)]))continue;_0x4ef7eb[_0x4584cb(0xf4)](_0x50f8d6[_0x4584cb(0xfe)]),_0x29c147[_0x4584cb(0xe5)](_0x50f8d6);}return _0x29c147;}function columnTypeOf(_0x54f5aa){const _0x28f38e=_0xa29614;return String(_0x54f5aa[_0x28f38e(0x106)]||'');}function sqlTypeOf(_0x604d3c){const _0xcdb25d=_0xa29614;return String(_0x604d3c[_0xcdb25d(0x114)]||'')[_0xcdb25d(0x130)]();}function isTextCol(_0x23d09b){const _0x2e831d=_0xa29614,_0x246c6f=columnTypeOf(_0x23d09b);if(_0x246c6f===_0x2e831d(0xec))return!![];return sqlTypeOf(_0x23d09b)==='text';}function isIntegerCol(_0x59394f){const _0x32913c=_0xa29614,_0x576101=columnTypeOf(_0x59394f);if(_0x576101===_0x32913c(0xf7)||_0x576101===_0x32913c(0xf8)||_0x576101==='PgSmallInt'||_0x576101==='PgBigInt'||_0x576101===_0x32913c(0x12e)||_0x576101==='PgBigSerial')return!![];if(_0x59394f[_0x32913c(0xfc)]===_0x32913c(0x127)&&!isNumericCol(_0x59394f))return!![];return/^(integer|serial|smallint|bigint|smallserial|bigserial)\b/[_0x32913c(0xed)](sqlTypeOf(_0x59394f));}function isNumericCol(_0x9631ee){const _0x4d5689=_0xa29614,_0x8230a2=columnTypeOf(_0x9631ee);if(_0x8230a2===_0x4d5689(0x109)||_0x8230a2==='PgDoublePrecision'||_0x8230a2===_0x4d5689(0xfa))return!![];return/^(numeric|decimal|double|real)\b/[_0x4d5689(0xed)](sqlTypeOf(_0x9631ee));}function isBooleanCol(_0x3333d){const _0x42c678=_0xa29614;return columnTypeOf(_0x3333d)===_0x42c678(0x112)||_0x3333d['type']===_0x42c678(0x11c)||sqlTypeOf(_0x3333d)[_0x42c678(0x123)](_0x42c678(0x11c));}function numberPrecision(_0x4b20ee){const _0x12b026=_0xa29614;if(isIntegerCol(_0x4b20ee))return 0x0;if(typeof _0x4b20ee[_0x12b026(0xe2)]===_0x12b026(0x127))return _0x4b20ee['scale'];return 0x2;}export function mergeByProp(_0x237f64,_0x3d824f){const _0xa6f584=_0xa29614,_0x5504cb=_0x3d824f[_0xa6f584(0x12d)](_0x220392=>Boolean(_0x220392[_0xa6f584(0xe8)])),_0x3ad641=_0x3d824f[_0xa6f584(0x12d)](_0x1ee5e7=>!_0x1ee5e7[_0xa6f584(0xe8)]&&_0x1ee5e7[_0xa6f584(0xfc)]),_0x26b17d=new Map(_0x5504cb[_0xa6f584(0xf2)](_0x4b9e9e=>[String(_0x4b9e9e[_0xa6f584(0xe8)]),_0x4b9e9e])),_0x2d879e=new Set(_0x3ad641['map'](_0x55badc=>String(_0x55badc[_0xa6f584(0xfc)]))),_0x33bf7e=new Set(),_0x4ba439=[];for(const _0x21ed78 of _0x237f64){if(!_0x21ed78[_0xa6f584(0xe8)]&&_0x21ed78[_0xa6f584(0xfc)]){if(_0x2d879e['has'](String(_0x21ed78['type'])))continue;_0x4ba439[_0xa6f584(0xe5)](_0x21ed78);continue;}if(!_0x21ed78['prop'])continue;const _0x57c127=String(_0x21ed78[_0xa6f584(0xe8)]),_0x3e6760=_0x26b17d[_0xa6f584(0xeb)](_0x57c127);_0x3e6760?(_0x4ba439[_0xa6f584(0xe5)]({..._0x21ed78,..._0x3e6760}),_0x33bf7e[_0xa6f584(0xf4)](_0x57c127)):_0x4ba439[_0xa6f584(0xe5)](_0x21ed78);}for(const _0x1d0498 of _0x5504cb){const _0x1e1628=String(_0x1d0498[_0xa6f584(0xe8)]);if(!_0x33bf7e[_0xa6f584(0x124)](_0x1e1628))_0x4ba439[_0xa6f584(0xe5)](_0x1d0498);}return _0x4ba439['push'](..._0x3ad641),_0x4ba439;}export function resolveMergedTableColumns(_0x5d57de){const _0xc9b47b=_0xa29614,_0x3ef16b=_0x5d57de[_0xc9b47b(0x10e)]?.[_0xc9b47b(0x121)]?_0x5d57de[_0xc9b47b(0x10e)]:_0x5d57de['tableOpts']?.[_0xc9b47b(0xe7)]||[],_0x2534d4=(_0x5d57de[_0xc9b47b(0x102)]||[])['find'](_0xe9dfa4=>_0xe9dfa4?.[_0xc9b47b(0x10a)]===_0xc9b47b(0x119)),_0x251216=_0x5d57de[_0xc9b47b(0x100)]?.[_0xc9b47b(0xea)]!==![]&&Boolean(_0x2534d4);if(!_0x251216)return pinOpColumnsLast(_0x3ef16b);const _0x180a27=_0x2534d4?.[_0xc9b47b(0x120)]||[],_0x4e71a8=_0x5d57de[_0xc9b47b(0x100)]?.[_0xc9b47b(0x120)]||[],_0x15dffc=buildAutoTableColumns(_0x5d57de[_0xc9b47b(0x11d)],{'ignoreFields':[..._0x180a27,..._0x4e71a8]});return pinOpColumnsLast(mergeByProp(_0x15dffc,_0x3ef16b));}export function pinOpColumnsLast(_0x338beb){const _0x560409=_0xa29614,_0x3659f0=[],_0xaaa9b8=[];for(const _0x20c3c6 of _0x338beb){_0x20c3c6[_0x560409(0xfc)]==='op'?_0x3659f0['push']({..._0x20c3c6,'fixed':_0x560409(0x126)}):_0xaaa9b8[_0x560409(0xe5)](_0x20c3c6);}if(!_0x3659f0[_0x560409(0x121)])return _0x338beb;return[..._0xaaa9b8,..._0x3659f0];}export function sortRequiredFirst(_0x13d31b){const _0x3eedd6=_0xa29614,_0x96b931=[],_0x408d88=[];for(const _0x474f59 of _0x13d31b){_0x474f59[_0x3eedd6(0x117)]===!![]||typeof _0x474f59['required']===_0x3eedd6(0x11f)?_0x96b931[_0x3eedd6(0xe5)](_0x474f59):_0x408d88[_0x3eedd6(0xe5)](_0x474f59);}return[..._0x96b931,..._0x408d88];}export function buildAutoUpsertItems(_0x5d353e,_0x5232f9={}){const _0x2e8411=_0xa29614,_0x1ce8f8=new Set([...UPSERT_BUILTIN_IGNORE,..._0x5232f9[_0x2e8411(0x120)]||[]]),_0x475e36=[];for(const _0x3a6d3e of epsColumns(_0x5d353e)){const _0x14fac2=_0x3a6d3e[_0x2e8411(0xfe)];if(_0x1ce8f8[_0x2e8411(0x124)](_0x14fac2))continue;const _0x42bb6d=_0x3a6d3e['comment']||_0x14fac2,_0x41e61c=dictKeyOf(_0x3a6d3e),_0x5793ae=_0x3a6d3e[_0x2e8411(0x103)]===![]&&_0x3a6d3e[_0x2e8411(0xfb)]!==!![],_0x24347c={'prop':_0x14fac2,'label':_0x42bb6d,'span':0xc,..._0x5793ae?{'required':!![]}:{}};if(_0x14fac2===_0x2e8411(0x10f)){const _0x451b10=_0x41e61c||_0x2e8411(0x10f);isSwitchDict(_0x451b10)?_0x475e36[_0x2e8411(0xe5)](switchFormItem(_0x24347c,_0x451b10,switchDefaultValue(_0x451b10))):_0x475e36[_0x2e8411(0xe5)]({..._0x24347c,'type':_0x2e8411(0x129),'dict':_0x451b10,'value':()=>dictFirstValue(_0x451b10)});continue;}if(_0x41e61c){isSwitchDict(_0x41e61c)?_0x475e36[_0x2e8411(0xe5)](switchFormItem(_0x24347c,_0x41e61c,switchDefaultValue(_0x41e61c))):_0x475e36[_0x2e8411(0xe5)]({..._0x24347c,'type':'select','dict':_0x41e61c,'value':()=>dictFirstValue(_0x41e61c)});continue;}if(isTextCol(_0x3a6d3e)){_0x475e36[_0x2e8411(0xe5)]({..._0x24347c,'type':_0x2e8411(0x10d),'span':0xc});continue;}if(isBooleanCol(_0x3a6d3e)){_0x475e36[_0x2e8411(0xe5)]({..._0x24347c,'type':_0x2e8411(0xf9),'value':![],'component':{'props':()=>mapDictOptions('yes_no_boolean')},'dict':_0x2e8411(0x116)});continue;}if(isIntegerCol(_0x3a6d3e)||isNumericCol(_0x3a6d3e)){const _0x366e1c=numberPrecision(_0x3a6d3e);_0x475e36['push']({..._0x24347c,'type':_0x2e8411(0x127),'component':{'props':{'type':_0x2e8411(0x127),'precision':_0x366e1c,'controls':![]}}});continue;}_0x475e36['push']({..._0x24347c,'type':_0x2e8411(0x105)});}return _0x475e36;}export function buildAutoTableColumns(_0xeb5286,_0x2c2783={}){const _0x1c4ee0=_0xa29614,_0x37c374=new Set([...TABLE_BUILTIN_IGNORE,...epsTableIgnore(_0xeb5286),..._0x2c2783[_0x1c4ee0(0x120)]||[]]),_0x2b7f22=[];!_0x37c374[_0x1c4ee0(0x124)](_0x1c4ee0(0x128))&&_0x2b7f22[_0x1c4ee0(0xe5)]({'type':_0x1c4ee0(0x128),'width':0x32});for(const _0x1bc4e3 of epsColumns(_0xeb5286)){const _0x2b7e57=_0x1bc4e3[_0x1c4ee0(0xfe)];if(_0x37c374[_0x1c4ee0(0x124)](_0x2b7e57))continue;const _0x4d0702=_0x1bc4e3[_0x1c4ee0(0x11a)]||_0x2b7e57,_0x467268=dictKeyOf(_0x1bc4e3);if(_0x2b7e57===_0x1c4ee0(0x10f)){const _0x3948e7=_0x467268||_0x1c4ee0(0x10f);isSwitchDict(_0x3948e7)?_0x2b7f22[_0x1c4ee0(0xe5)]({'prop':_0x2b7e57,'label':_0x4d0702,'width':0x50,'component':{'name':_0x1c4ee0(0x107),'props':()=>mapDictOptions(_0x3948e7)}}):_0x2b7f22[_0x1c4ee0(0xe5)]({'prop':_0x2b7e57,'label':_0x4d0702,'width':0x64,'dict':()=>mapDictOptions(_0x3948e7)});continue;}if(_0x467268&&isSwitchDict(_0x467268)){_0x2b7f22[_0x1c4ee0(0xe5)]({'prop':_0x2b7e57,'label':_0x4d0702,'width':0x50,'component':{'name':_0x1c4ee0(0x107),'props':()=>mapDictOptions(_0x467268)}});continue;}if(_0x2b7e57==='id'){_0x2b7f22[_0x1c4ee0(0xe5)]({'prop':_0x2b7e57,'label':_0x4d0702,'width':0x50});continue;}if(_0x2b7e57===_0x1c4ee0(0xe3)){_0x2b7f22[_0x1c4ee0(0xe5)]({'prop':_0x2b7e57,'label':_0x4d0702,'width':0xa0});continue;}if(_0x467268){_0x2b7f22[_0x1c4ee0(0xe5)]({'prop':_0x2b7e57,'label':_0x4d0702,'minWidth':0x78,'dict':()=>mapDictOptions(_0x467268)});continue;}if(isTextCol(_0x1bc4e3)){_0x2b7f22[_0x1c4ee0(0xe5)]({'prop':_0x2b7e57,'label':_0x4d0702,'minWidth':0xa0,'showOverflowTooltip':!![]});continue;}_0x2b7f22['push']({'prop':_0x2b7e57,'label':_0x4d0702,'minWidth':0x78});}if(!_0x37c374[_0x1c4ee0(0x124)]('op')){const _0x1866c7=buildAutoOpButtons(_0xeb5286);_0x1866c7[_0x1c4ee0(0x121)]&&_0x2b7f22[_0x1c4ee0(0xe5)]({'type':'op','buttons':_0x1866c7,'fixed':_0x1c4ee0(0x126)});}return _0x2b7f22;}