vome-core 0.3.64 → 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.
- package/dist/admin/api/client.js +7 -2
- package/dist/admin/components/ui/avatar/Avatar.vue +18 -18
- package/dist/admin/components/ui/avatar/AvatarFallback.vue +21 -21
- package/dist/admin/components/ui/avatar/AvatarImage.vue +16 -16
- package/dist/admin/components/ui/avatar/index.js +1 -1
- package/dist/admin/components/ui/badge/Badge.vue +26 -26
- package/dist/admin/components/ui/button/Button.vue +31 -31
- package/dist/admin/components/ui/checkbox/Checkbox.vue +35 -35
- package/dist/admin/components/ui/checkbox/index.js +1 -1
- package/dist/admin/components/ui/dialog/Dialog.vue +19 -19
- package/dist/admin/components/ui/dialog/DialogClose.vue +15 -15
- package/dist/admin/components/ui/dialog/DialogContent.vue +267 -267
- package/dist/admin/components/ui/dialog/DialogDescription.vue +23 -23
- package/dist/admin/components/ui/dialog/DialogFooter.vue +27 -27
- package/dist/admin/components/ui/dialog/DialogHeader.vue +17 -17
- package/dist/admin/components/ui/dialog/DialogOverlay.vue +21 -21
- package/dist/admin/components/ui/dialog/DialogScrollContent.vue +60 -60
- package/dist/admin/components/ui/dialog/DialogTitle.vue +23 -23
- package/dist/admin/components/ui/dialog/DialogTrigger.vue +15 -15
- package/dist/admin/components/ui/dialog/index.js +1 -1
- package/dist/admin/components/ui/dropdown-menu/DropdownMenu.vue +19 -19
- package/dist/admin/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue +39 -39
- package/dist/admin/components/ui/dropdown-menu/DropdownMenuContent.vue +39 -39
- package/dist/admin/components/ui/dropdown-menu/DropdownMenuGroup.vue +15 -15
- package/dist/admin/components/ui/dropdown-menu/DropdownMenuItem.vue +31 -31
- package/dist/admin/components/ui/dropdown-menu/DropdownMenuLabel.vue +23 -23
- package/dist/admin/components/ui/dropdown-menu/DropdownMenuRadioGroup.vue +21 -21
- package/dist/admin/components/ui/dropdown-menu/DropdownMenuRadioItem.vue +40 -40
- package/dist/admin/components/ui/dropdown-menu/DropdownMenuSeparator.vue +23 -23
- package/dist/admin/components/ui/dropdown-menu/DropdownMenuShortcut.vue +17 -17
- package/dist/admin/components/ui/dropdown-menu/DropdownMenuSub.vue +18 -18
- package/dist/admin/components/ui/dropdown-menu/DropdownMenuSubContent.vue +27 -27
- package/dist/admin/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue +31 -31
- package/dist/admin/components/ui/dropdown-menu/DropdownMenuTrigger.vue +17 -17
- package/dist/admin/components/ui/dropdown-menu/index.js +1 -1
- package/dist/admin/components/ui/input/Input.vue +183 -183
- package/dist/admin/components/ui/input/index.js +1 -1
- package/dist/admin/components/ui/label/Label.vue +26 -26
- package/dist/admin/components/ui/label/index.js +1 -1
- package/dist/admin/components/ui/scroll-area/ScrollArea.vue +33 -33
- package/dist/admin/components/ui/scroll-area/ScrollBar.vue +32 -32
- package/dist/admin/components/ui/scroll-area/index.js +1 -1
- package/dist/admin/components/ui/select/Select.vue +19 -19
- package/dist/admin/components/ui/select/SelectContent.vue +51 -51
- package/dist/admin/components/ui/select/SelectGroup.vue +15 -15
- package/dist/admin/components/ui/select/SelectItem.vue +53 -53
- package/dist/admin/components/ui/select/SelectItemText.vue +15 -15
- package/dist/admin/components/ui/select/SelectLabel.vue +17 -17
- package/dist/admin/components/ui/select/SelectScrollDownButton.vue +26 -26
- package/dist/admin/components/ui/select/SelectScrollUpButton.vue +26 -26
- package/dist/admin/components/ui/select/SelectSeparator.vue +19 -19
- package/dist/admin/components/ui/select/SelectTrigger.vue +44 -44
- package/dist/admin/components/ui/select/SelectValue.vue +15 -15
- package/dist/admin/components/ui/select/index.js +1 -1
- package/dist/admin/components/ui/separator/Separator.vue +29 -29
- package/dist/admin/components/ui/separator/index.js +1 -1
- package/dist/admin/components/ui/sheet/Sheet.vue +19 -19
- package/dist/admin/components/ui/sheet/SheetClose.vue +15 -15
- package/dist/admin/components/ui/sheet/SheetContent.vue +63 -63
- package/dist/admin/components/ui/sheet/SheetDescription.vue +21 -21
- package/dist/admin/components/ui/sheet/SheetFooter.vue +16 -16
- package/dist/admin/components/ui/sheet/SheetHeader.vue +15 -15
- package/dist/admin/components/ui/sheet/SheetOverlay.vue +21 -21
- package/dist/admin/components/ui/sheet/SheetTitle.vue +21 -21
- package/dist/admin/components/ui/sheet/SheetTrigger.vue +15 -15
- package/dist/admin/components/ui/sheet/index.js +1 -1
- package/dist/admin/components/ui/sonner/Toaster.vue +117 -117
- package/dist/admin/components/ui/sonner/index.js +1 -1
- package/dist/admin/components/ui/table/Table.vue +16 -16
- package/dist/admin/components/ui/table/TableBody.vue +17 -17
- package/dist/admin/components/ui/table/TableCaption.vue +17 -17
- package/dist/admin/components/ui/table/TableCell.vue +22 -22
- package/dist/admin/components/ui/table/TableEmpty.vue +34 -34
- package/dist/admin/components/ui/table/TableFooter.vue +17 -17
- package/dist/admin/components/ui/table/TableHead.vue +17 -17
- package/dist/admin/components/ui/table/TableHeader.vue +17 -17
- package/dist/admin/components/ui/table/TableRow.vue +17 -17
- package/dist/admin/components/ui/table/index.js +1 -1
- package/dist/admin/components/ui/tabs/Tabs.vue +24 -24
- package/dist/admin/components/ui/tabs/TabsContent.vue +21 -21
- package/dist/admin/components/ui/tabs/TabsList.vue +24 -24
- package/dist/admin/components/ui/tabs/TabsTrigger.vue +26 -26
- package/dist/admin/components/ui/tabs/index.js +1 -1
- package/dist/admin/components/ui/tooltip/Tooltip.vue +19 -19
- package/dist/admin/components/ui/tooltip/TooltipContent.vue +34 -34
- package/dist/admin/components/ui/tooltip/TooltipProvider.vue +14 -14
- package/dist/admin/components/ui/tooltip/TooltipTrigger.vue +15 -15
- package/dist/admin/components/ui/tooltip/index.js +1 -1
- package/dist/admin/components/vm-action-btn.vue +136 -136
- package/dist/admin/components/vm-aside-list-item.vue +136 -136
- package/dist/admin/components/vm-aside.vue +229 -229
- package/dist/admin/components/vm-auto-perm-dialog.vue +371 -371
- package/dist/admin/components/vm-card-grid.vue +37 -37
- package/dist/admin/components/vm-card-head.vue +45 -45
- package/dist/admin/components/vm-card-meta.vue +22 -22
- package/dist/admin/components/vm-card-title.vue +56 -56
- package/dist/admin/components/vm-card.vue +176 -176
- package/dist/admin/components/vm-check-tree.vue +340 -340
- package/dist/admin/components/vm-clamp-text.vue +39 -39
- package/dist/admin/components/vm-dept-tree.vue +497 -497
- package/dist/admin/components/vm-empty.vue +68 -68
- package/dist/admin/components/vm-eps-perm-picker.vue +123 -123
- package/dist/admin/components/vm-form-dialog.vue +632 -632
- package/dist/admin/components/vm-group-cascader.vue +560 -560
- package/dist/admin/components/vm-icon-btn.vue +88 -88
- package/dist/admin/components/vm-icon-picker.vue +647 -647
- package/dist/admin/components/vm-inline-search.vue +61 -61
- package/dist/admin/components/vm-loading.vue +114 -114
- package/dist/admin/components/vm-markdown.vue +405 -405
- package/dist/admin/components/vm-marquee.vue +265 -265
- package/dist/admin/components/vm-page-tabs.vue +94 -94
- package/dist/admin/components/vm-perm-section.vue +57 -57
- package/dist/admin/components/vm-ri-icon.vue +23 -23
- package/dist/admin/components/vm-role-picker.vue +314 -314
- package/dist/admin/components/vm-split-layout.vue +106 -106
- package/dist/admin/components/vm-thumb.vue +49 -49
- package/dist/admin/components/vm-view-path-picker.vue +59 -59
- package/dist/admin/crud/auto-fields.js +1 -1
- package/dist/admin/crud/components/vm-avatar.vue +104 -104
- package/dist/admin/crud/components/vm-color-picker.vue +1626 -1626
- package/dist/admin/crud/components/vm-column-custom.vue +193 -193
- package/dist/admin/crud/components/vm-context-menu.vue +105 -105
- package/dist/admin/crud/components/vm-copy-btn.vue +102 -102
- package/dist/admin/crud/components/vm-date-calendar-panel.vue +537 -537
- package/dist/admin/crud/components/vm-date-picker.vue +75 -75
- package/dist/admin/crud/components/vm-date-range.vue +88 -88
- package/dist/admin/crud/components/vm-date-text.vue +42 -42
- package/dist/admin/crud/components/vm-datetime-field.vue +215 -215
- package/dist/admin/crud/components/vm-datetime-picker.vue +9 -9
- package/dist/admin/crud/components/vm-dict-tag.vue +112 -112
- package/dist/admin/crud/components/vm-ellipsis-text.vue +34 -34
- package/dist/admin/crud/components/vm-form-hint.vue +81 -81
- package/dist/admin/crud/components/vm-json-code.vue +41 -41
- package/dist/admin/crud/components/vm-json-editor.vue +161 -161
- package/dist/admin/crud/components/vm-json-kv-editor.vue +318 -318
- package/dist/admin/crud/components/vm-kv-row.vue +51 -51
- package/dist/admin/crud/components/vm-multi-select.vue +279 -279
- package/dist/admin/crud/components/vm-number-range.vue +204 -204
- package/dist/admin/crud/components/vm-preview-viewer.vue +894 -894
- package/dist/admin/crud/components/vm-radio.vue +87 -87
- package/dist/admin/crud/components/vm-richtext.vue +313 -313
- package/dist/admin/crud/components/vm-select.vue +570 -570
- package/dist/admin/crud/components/vm-status-tag.vue +158 -158
- package/dist/admin/crud/components/vm-switch.vue +158 -158
- package/dist/admin/crud/components/vm-tag-list.vue +108 -108
- package/dist/admin/crud/components/vm-text-link.vue +52 -52
- package/dist/admin/crud/components/vm-toggle-switch.vue +84 -84
- package/dist/admin/crud/components/vm-tree-select.vue +450 -450
- package/dist/admin/crud/components/vm-upload-item.vue +298 -298
- package/dist/admin/crud/components/vm-upload.vue +436 -436
- package/dist/admin/crud/config.js +1 -1
- package/dist/admin/crud/confirm.js +1 -1
- package/dist/admin/crud/crud-page-request.js +1 -1
- package/dist/admin/crud/data-i18n.js +1 -1
- package/dist/admin/crud/dict.js +1 -1
- package/dist/admin/crud/export-fetch.js +1 -1
- package/dist/admin/crud/index.js +1 -0
- package/dist/admin/crud/key.js +1 -1
- package/dist/admin/crud/plugins.js +1 -1
- package/dist/admin/crud/span.js +1 -1
- package/dist/admin/crud/style.js +1 -1
- package/dist/admin/crud/useCrud.js +3 -0
- package/dist/admin/crud/validate.js +1 -1
- package/dist/admin/crud/vm-add-btn.vue +70 -70
- package/dist/admin/crud/vm-adv-search.vue +83 -83
- package/dist/admin/crud/vm-crud.vue +711 -711
- package/dist/admin/crud/vm-data-i18n-btn.vue +456 -456
- package/dist/admin/crud/vm-data-i18n-lang.vue +183 -183
- package/dist/admin/crud/vm-export-btn.vue +183 -183
- package/dist/admin/crud/vm-flex.vue +14 -14
- package/dist/admin/crud/vm-form.vue +33 -15
- package/dist/admin/crud/vm-import-btn.vue +747 -747
- package/dist/admin/crud/vm-multi-delete-btn.vue +49 -49
- package/dist/admin/crud/vm-pagination.vue +212 -212
- package/dist/admin/crud/vm-refresh-btn.vue +35 -35
- package/dist/admin/crud/vm-row.vue +55 -55
- package/dist/admin/crud/vm-search-key.vue +78 -78
- package/dist/admin/crud/vm-search.vue +466 -466
- package/dist/admin/crud/vm-table.vue +1390 -1390
- package/dist/admin/crud/vm-tabs.vue +94 -94
- package/dist/admin/crud/vm-toolbar.vue +357 -357
- package/dist/admin/crud/vm-upsert.vue +765 -765
- package/dist/admin/directives/perm.js +1 -1
- package/dist/admin/env.d.ts +1 -1
- package/dist/admin/hooks/useUpload.js +1 -1
- package/dist/admin/index.d.ts +1 -31
- package/dist/admin/lib/browser.js +1 -1
- package/dist/admin/lib/cn.js +1 -1
- package/dist/admin/lib/dialog-float.js +1 -1
- package/dist/admin/lib/export-excel.js +1 -1
- package/dist/admin/lib/import-excel.js +1 -1
- package/dist/admin/lib/json.js +1 -1
- package/dist/admin/lib/menu.js +1 -1
- package/dist/admin/lib/micro-locale.js +1 -1
- package/dist/admin/lib/micro-theme.js +1 -1
- package/dist/admin/lib/shell.js +1 -1
- package/dist/admin/lib/theme-color-options.js +1 -1
- package/dist/admin/lib/tree.js +1 -1
- package/dist/admin/lib/upload.js +1 -1
- package/dist/admin/lib/video-frame.js +1 -1
- package/dist/admin/router/create.js +1 -1
- package/dist/admin/router/guards.js +1 -1
- package/dist/admin/router/index.d.ts +1 -5
- package/dist/admin/service/index.d.ts +1 -11
- package/dist/admin/styles/base.css +121 -121
- package/dist/admin/vendor/browser-image-compression.js +1144 -1144
- package/dist/admin/vendor/decimal-js.js +12 -12
- package/dist/admin/vendor/xlsx.js +263 -263
- package/dist/ai/index.js +1 -1
- package/dist/client/admin-vendor.d.ts +1 -13
- package/dist/client/ai-model-registry.js +1 -1
- package/dist/client/base.js +1 -1
- package/dist/client/configure.js +1 -1
- package/dist/client/dict.js +1 -1
- package/dist/client/eps-payload.js +1 -1
- package/dist/client/eps.js +1 -1
- package/dist/client/index.d.ts +1 -7
- package/dist/client/index.js +1 -1
- package/dist/client/locale-change.js +1 -1
- package/dist/client/locale-store.js +1 -1
- package/dist/client/service.js +1 -1
- package/dist/client/vite-admin.d.ts +1 -40
- package/dist/client/vite-admin.js +1 -1
- package/dist/client/vite-auto-import.d.ts +1 -2
- package/dist/client/vite-auto-import.js +1 -1
- package/dist/client/vite-micro-proxy.d.ts +1 -20
- package/dist/client/vite-micro-proxy.js +1 -1
- package/dist/client/vite-plugin-eps.d.ts +1 -20
- package/dist/client/vite-plugin-eps.js +1 -1
- package/dist/client/vite-resolve.d.ts +1 -16
- package/dist/client/vite-resolve.js +1 -1
- package/dist/config/index.js +1 -1
- package/dist/core/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/ioc/index.d.ts +1 -1
- package/dist/server/index.d.ts +1 -1
- package/dist/server/index.js +1 -1
- package/dist/shared/datetime-picker.js +1 -1
- package/dist/shared/decimal.js +1 -1
- package/dist/shared/excel.js +1 -1
- package/dist/shared/index.js +1 -1
- package/dist/shared/locale-json.js +1 -1
- package/dist/shared/tree.js +1 -1
- package/package.json +1 -1
- package/typings/admin/base/auth.ts +24 -24
- package/typings/admin/base/permission.ts +19 -19
- package/typings/admin/comm/cascader.ts +7 -7
- package/typings/admin/comm/check-tree.ts +7 -7
- package/typings/admin/comm/crud.ts +427 -427
- package/typings/admin/comm/eps.ts +86 -86
- package/typings/admin/comm/request.ts +16 -16
- package/typings/admin/comm/service.ts +43 -43
- package/typings/admin/comm/upload.ts +39 -39
- package/typings/admin/theme.ts +10 -10
- package/typings/admin/vome/browser.ts +11 -11
- package/typings/admin/vome/module.ts +13 -13
- package/typings/admin/vome/tags.ts +9 -9
- package/typings/comm/crud.ts +83 -83
- package/typings/comm/page.ts +18 -18
- package/typings/comm/scan.ts +6 -6
- package/typings/common.ts +4 -4
- package/typings/context/data.ts +10 -10
- package/typings/ext/market-seat.ts +42 -42
- package/typings/ext/market.ts +55 -55
- package/typings/ext/module.ts +64 -64
- package/typings/ext/plugin.ts +38 -38
- package/typings/ioc/metadata.ts +34 -34
- package/typings/logger/config.ts +6 -6
- package/typings/routing/crud.ts +199 -199
- package/typings/routing/eps.ts +88 -88
- package/typings/routing/meta.ts +63 -63
- package/typings/routing/register.ts +21 -21
- package/typings/routing/scan-context.ts +7 -7
- package/dist/admin/api/client.d.ts +0 -50
- package/dist/admin/components/ui/avatar/index.d.ts +0 -3
- package/dist/admin/components/ui/badge/index.d.ts +0 -6
- package/dist/admin/components/ui/button/index.d.ts +0 -7
- package/dist/admin/components/ui/checkbox/index.d.ts +0 -1
- package/dist/admin/components/ui/dialog/index.d.ts +0 -10
- package/dist/admin/components/ui/dropdown-menu/index.d.ts +0 -15
- package/dist/admin/components/ui/input/index.d.ts +0 -1
- package/dist/admin/components/ui/label/index.d.ts +0 -1
- package/dist/admin/components/ui/scroll-area/index.d.ts +0 -2
- package/dist/admin/components/ui/select/index.d.ts +0 -11
- package/dist/admin/components/ui/separator/index.d.ts +0 -1
- package/dist/admin/components/ui/sheet/index.d.ts +0 -8
- package/dist/admin/components/ui/sonner/index.d.ts +0 -1
- package/dist/admin/components/ui/table/index.d.ts +0 -9
- package/dist/admin/components/ui/tabs/index.d.ts +0 -4
- package/dist/admin/components/ui/tooltip/index.d.ts +0 -4
- package/dist/admin/crud/auto-fields.d.ts +0 -68
- package/dist/admin/crud/config.d.ts +0 -5
- package/dist/admin/crud/confirm.d.ts +0 -19
- package/dist/admin/crud/crud-page-request.d.ts +0 -21
- package/dist/admin/crud/data-i18n.d.ts +0 -62
- package/dist/admin/crud/dict.d.ts +0 -4
- package/dist/admin/crud/export-fetch.d.ts +0 -22
- package/dist/admin/crud/index.d.ts +0 -60
- package/dist/admin/crud/json-kv.d.ts +0 -9
- package/dist/admin/crud/key.d.ts +0 -22
- package/dist/admin/crud/paging.d.ts +0 -2
- package/dist/admin/crud/plugins.d.ts +0 -63
- package/dist/admin/crud/registry.d.ts +0 -3
- package/dist/admin/crud/span.d.ts +0 -17
- package/dist/admin/crud/style.d.ts +0 -82
- package/dist/admin/crud/useCrud.d.ts +0 -21
- package/dist/admin/crud/validate.d.ts +0 -7
- package/dist/admin/directives/perm.d.ts +0 -3
- package/dist/admin/hooks/useBrowser.d.ts +0 -6
- package/dist/admin/hooks/useUpload.d.ts +0 -8
- package/dist/admin/hooks/useVome.d.ts +0 -10
- package/dist/admin/lib/browser.d.ts +0 -3
- package/dist/admin/lib/cn.d.ts +0 -2
- package/dist/admin/lib/compress-image.d.ts +0 -12
- package/dist/admin/lib/dialog-float.d.ts +0 -8
- package/dist/admin/lib/eps.d.ts +0 -2
- package/dist/admin/lib/export-excel.d.ts +0 -9
- package/dist/admin/lib/file-preview.d.ts +0 -9
- package/dist/admin/lib/import-excel.d.ts +0 -21
- package/dist/admin/lib/json.d.ts +0 -11
- package/dist/admin/lib/menu.d.ts +0 -3
- package/dist/admin/lib/micro-locale.d.ts +0 -5
- package/dist/admin/lib/micro-theme.d.ts +0 -14
- package/dist/admin/lib/module.d.ts +0 -21
- package/dist/admin/lib/scarce-assets.d.ts +0 -5
- package/dist/admin/lib/shell.d.ts +0 -8
- package/dist/admin/lib/theme-color-options.d.ts +0 -15
- package/dist/admin/lib/tree.d.ts +0 -2
- package/dist/admin/lib/upload.d.ts +0 -17
- package/dist/admin/lib/video-frame.d.ts +0 -6
- package/dist/admin/router/create.d.ts +0 -16
- package/dist/admin/router/guards.d.ts +0 -6
- package/dist/admin/router/menu-routes.d.ts +0 -13
- package/dist/admin/stores/app.d.ts +0 -13
- package/dist/admin/stores/tags.d.ts +0 -14
- package/dist/admin/stores/user.d.ts +0 -48
- package/dist/client/ai-model-registry.d.ts +0 -16
- package/dist/client/base.d.ts +0 -28
- package/dist/client/configure.d.ts +0 -33
- package/dist/client/dict.d.ts +0 -31
- package/dist/client/eps-payload.d.ts +0 -3
- package/dist/client/eps.d.ts +0 -17
- package/dist/client/locale-change.d.ts +0 -16
- package/dist/client/locale-store.d.ts +0 -105
- 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 _0x487ae9=_0x4415;(function(_0x2ad4cc,_0x4d91bd){const _0x3c9396=_0x4415,_0x52789f=_0x2ad4cc();while(!![]){try{const _0x5740ca=parseInt(_0x3c9396(0xe5))/0x1+-parseInt(_0x3c9396(0xe3))/0x2*(parseInt(_0x3c9396(0x113))/0x3)+parseInt(_0x3c9396(0x11d))/0x4+parseInt(_0x3c9396(0xdd))/0x5*(-parseInt(_0x3c9396(0xe9))/0x6)+parseInt(_0x3c9396(0xf6))/0x7*(parseInt(_0x3c9396(0xec))/0x8)+-parseInt(_0x3c9396(0x111))/0x9*(-parseInt(_0x3c9396(0x116))/0xa)+-parseInt(_0x3c9396(0xda))/0xb;if(_0x5740ca===_0x4d91bd)break;else _0x52789f['push'](_0x52789f['shift']());}catch(_0x585e5c){_0x52789f['push'](_0x52789f['shift']());}}}(_0x4c5e,0x49afe));import{findEpsEntity}from'../lib/eps';import{getDictOptions}from'../../client';export const UPSERT_BUILTIN_IGNORE=['id',_0x487ae9(0x10e),'createTime',_0x487ae9(0xe7),_0x487ae9(0x101)];export const TABLE_BUILTIN_IGNORE=[_0x487ae9(0x101),_0x487ae9(0xe7)];export function buildAutoOpButtons(_0x4b2e8e){const _0x99da74=_0x487ae9,_0x4a43c9=_0x4b2e8e[_0x99da74(0xdc)],_0x51e57a=_0x2513ec=>_0x4a43c9!=null&&typeof _0x4a43c9===_0x99da74(0xf0)&&Object[_0x99da74(0xdf)][_0x99da74(0xd5)][_0x99da74(0xde)](_0x4a43c9,_0x2513ec),_0x42d848=_0x105558=>Boolean(_0x4b2e8e['_permission']?.[_0x105558]),_0x3cba01=[];if(_0x51e57a(_0x99da74(0x106))&&_0x42d848(_0x99da74(0x106)))_0x3cba01[_0x99da74(0xd3)](_0x99da74(0xfb));if(_0x51e57a(_0x99da74(0xf9))&&_0x42d848('delete'))_0x3cba01[_0x99da74(0xd3)](_0x99da74(0xf9));return _0x3cba01;}function dictKeyOf(_0x266d72){const _0x37961d=_0x487ae9;if(typeof _0x266d72['dict']===_0x37961d(0xea)&&_0x266d72[_0x37961d(0xe1)])return _0x266d72['dict'];if(Array[_0x37961d(0x107)](_0x266d72[_0x37961d(0xe1)])&&_0x266d72[_0x37961d(0xe1)][0x0])return _0x266d72[_0x37961d(0xe1)][0x0];return;}function isSwitchDict(_0x93d917){const _0x13eb85=_0x487ae9;return _0x93d917===_0x13eb85(0xd2)||_0x93d917===_0x13eb85(0xd9)||_0x93d917===_0x13eb85(0x104);}function switchDefaultValue(_0x39b64e){const _0x256a98=_0x487ae9;if(_0x39b64e==='yes_no_boolean')return![];if(_0x39b64e===_0x256a98(0x104))return 0x0;return 0x1;}function _0x4415(_0x29ee63,_0x13060f){_0x29ee63=_0x29ee63-0xd1;const _0x4c5e3b=_0x4c5e();let _0x441501=_0x4c5e3b[_0x29ee63];if(_0x4415['WaBYuF']===undefined){var _0x3907d4=function(_0x3963da){const _0x4ef317='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4b2e8e='',_0x4a43c9='';for(let _0x51e57a=0x0,_0x42d848,_0x3cba01,_0x2513ec=0x0;_0x3cba01=_0x3963da['charAt'](_0x2513ec++);~_0x3cba01&&(_0x42d848=_0x51e57a%0x4?_0x42d848*0x40+_0x3cba01:_0x3cba01,_0x51e57a++%0x4)?_0x4b2e8e+=String['fromCharCode'](0xff&_0x42d848>>(-0x2*_0x51e57a&0x6)):0x0){_0x3cba01=_0x4ef317['indexOf'](_0x3cba01);}for(let _0x105558=0x0,_0x266d72=_0x4b2e8e['length'];_0x105558<_0x266d72;_0x105558++){_0x4a43c9+='%'+('00'+_0x4b2e8e['charCodeAt'](_0x105558)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4a43c9);};_0x4415['kvlfqz']=_0x3907d4,_0x4415['cwGTtm']={},_0x4415['WaBYuF']=!![];}const _0x8fe44d=_0x4c5e3b[0x0],_0x2a7b90=_0x29ee63+_0x8fe44d,_0x21eeae=_0x4415['cwGTtm'][_0x2a7b90];return!_0x21eeae?(_0x441501=_0x4415['kvlfqz'](_0x441501),_0x4415['cwGTtm'][_0x2a7b90]=_0x441501):_0x441501=_0x21eeae,_0x441501;}function switchFormItem(_0x152379,_0x278aee,_0x2d2113){return{..._0x152379,'type':'switch','value':_0x2d2113,'dict':_0x278aee,'component':{'props':()=>mapDictOptions(_0x278aee)}};}export function mapDictOptions(_0x52da71){const _0x349c4a=_0x487ae9;return getDictOptions(_0x52da71)[_0x349c4a(0x102)](_0x19d860=>{const _0x282a89=_0x349c4a;let _0x16b740=_0x19d860[_0x282a89(0xef)];return typeof _0x19d860['value']===_0x282a89(0xea)&&/^-?\d+(\.\d+)?$/[_0x282a89(0x120)](_0x19d860['value'])&&(_0x16b740=Number(_0x19d860[_0x282a89(0xef)])),{'label':String(_0x19d860['label']??''),'value':_0x16b740,'color':_0x19d860[_0x282a89(0xf8)]};});}export function dictFirstValue(_0x534403){const _0x2a1cb2=_0x487ae9,_0x4c7b59=mapDictOptions(_0x534403)[0x0];return _0x4c7b59?.[_0x2a1cb2(0xef)];}export function resolveFormItemValue(_0x1800a9){const _0x3b37ae=_0x487ae9;return typeof _0x1800a9===_0x3b37ae(0x105)?_0x1800a9():_0x1800a9;}function isMainTableCol(_0x5e9a74){const _0x35b764=_0x487ae9;return!_0x5e9a74[_0x35b764(0xfa)]||_0x5e9a74['source'][_0x35b764(0xe0)]('a.');}function epsTableIgnore(_0x2df9ad){const _0x2ef3e2=_0x487ae9,_0x4600d5=_0x2df9ad[_0x2ef3e2(0xd8)]?findEpsEntity('/'+_0x2df9ad['namespace']):undefined,_0x314f7a=_0x4600d5?.[_0x2ef3e2(0x10a)]?.[_0x2ef3e2(0x11c)];return Array[_0x2ef3e2(0x107)](_0x314f7a)?_0x314f7a[_0x2ef3e2(0xf2)](_0x540f43=>typeof _0x540f43===_0x2ef3e2(0xea)&&_0x540f43):[];}function epsColumns(_0x44c82a){const _0x13be55=_0x487ae9,_0x2e2631=_0x44c82a[_0x13be55(0xd8)]?findEpsEntity('/'+_0x44c82a['namespace']):undefined;if(!_0x2e2631)return[];const _0x55366a=[..._0x2e2631[_0x13be55(0xff)]||[],..._0x2e2631[_0x13be55(0x109)]||[]],_0x5df06d=new Set(),_0x38bb93=[];for(const _0x1dca80 of _0x55366a){if(!_0x1dca80[_0x13be55(0x10c)]||!isMainTableCol(_0x1dca80))continue;if(_0x5df06d['has'](_0x1dca80['propertyName']))continue;_0x5df06d[_0x13be55(0xe2)](_0x1dca80['propertyName']),_0x38bb93['push'](_0x1dca80);}return _0x38bb93;}function columnTypeOf(_0x4a8ff7){return String(_0x4a8ff7['columnType']||'');}function sqlTypeOf(_0x363d05){const _0x54edc0=_0x487ae9;return String(_0x363d05[_0x54edc0(0x114)]||'')[_0x54edc0(0x11a)]();}function isTextCol(_0x375196){const _0x364544=_0x487ae9,_0x4c1813=columnTypeOf(_0x375196);if(_0x4c1813===_0x364544(0x10f))return!![];return sqlTypeOf(_0x375196)===_0x364544(0xfc);}function _0x4c5e(){const _0x498932=['ugDuzxH0','yxv0BW','mtiYoty3uNbttvvw','DgfIBgvqBhvNAw5Z','nJiWnZK5qw5su2Dn','C3fSvhLWzq','y3jLyxrLvgLTzq','mZaWt256tgLT','CMLNAhq','AgfZrgvMyxvSDa','AgfZ','Dg9mB3DLCKnHC2u','ugDtBwfSBeLUDa','AwDUB3jLrMLLBgrZ','mtyXmdG0nfnrEKvWsG','DM0TC3DPDgnO','C2vSzwn0','DgvZDa','BNvSBgfIBgu','C3rHDhvZ','ChvZAa','ugDszwfS','AgfZt3DUuhjVCgvYDhK','ugDtzxjPywW','ugDcAwDtzxjPywW','BMfTzxnWywnL','EwvZx25Vx2jVB2XLyw4','otu1nJiZouHUuNHbra','BwfUDwfS','CgvYBwLZC2LVBG','ntqWotvjC3vwy08','y2fSBa','ChjVDg90ExbL','C3rHCNrZv2L0Aa','zgLJDa','ywrK','nfrUy0Psrq','zMLUza','nty2odiYvxPWrNP1','CMvXDwLYzwq','DxbKyxrLvgLTzq','z2v0','mJrxtKT3zgq','C3rYAw5N','ugDjBNrLz2vY','mtK4nJmYy1P1veDg','C3DPDgnO','ChjVCa','DMfSDwu','B2jQzwn0','C2vSzwn0Aw9U','zMLSDgvY','Dgv4DgfYzwe','DhLWzq','C2vYDMLJzq','nZb2wfPWChO','ugDcAwDjBNq','y29SB3i','zgvSzxrL','C291CMnL','zwrPDa','Dgv4Da','BgvUz3rO','y29TBwvUDa','y29SDw1UCW','ugDoDw1LCMLJ','zgvSzxrLvgLTzq','BwfW','DgfIBgvpChrZ','EwvZx25Vx251BwjLCG','zNvUy3rPB24','DxbKyxrL','AxnbCNjHEq','C2nHBgu','CgfNzunVBhvTBNm','CgfNzvf1zxj5t3a','yM9VBgvHBG','ChjVCgvYDhLoyw1L','BNvTyMvY','DgvUyw50swq'];_0x4c5e=function(){return _0x498932;};return _0x4c5e();}function isIntegerCol(_0x5580bc){const _0x443699=_0x487ae9,_0x29db58=columnTypeOf(_0x5580bc);if(_0x29db58===_0x443699(0xeb)||_0x29db58===_0x443699(0xd6)||_0x29db58===_0x443699(0x11b)||_0x29db58===_0x443699(0xf7)||_0x29db58==='PgSmallSerial'||_0x29db58===_0x443699(0xd7))return!![];if(_0x5580bc[_0x443699(0xf4)]===_0x443699(0x10d)&&!isNumericCol(_0x5580bc))return!![];return/^(integer|serial|smallint|bigint|smallserial|bigserial)\b/[_0x443699(0x120)](sqlTypeOf(_0x5580bc));}function isNumericCol(_0x19fc73){const _0x283a01=_0x487ae9,_0x1b5343=columnTypeOf(_0x19fc73);if(_0x1b5343===_0x283a01(0x100)||_0x1b5343==='PgDoublePrecision'||_0x1b5343===_0x283a01(0xd4))return!![];return/^(numeric|decimal|double|real)\b/[_0x283a01(0x120)](sqlTypeOf(_0x19fc73));}function isBooleanCol(_0x29c271){const _0x1177e1=_0x487ae9;return columnTypeOf(_0x29c271)==='PgBoolean'||_0x29c271['type']===_0x1177e1(0x10b)||sqlTypeOf(_0x29c271)[_0x1177e1(0xe0)](_0x1177e1(0x10b));}function numberPrecision(_0x1e3924){const _0x4425b1=_0x487ae9;if(isIntegerCol(_0x1e3924))return 0x0;if(typeof _0x1e3924[_0x4425b1(0x108)]==='number')return _0x1e3924[_0x4425b1(0x108)];return 0x2;}export function mergeByProp(_0x3fe6b7,_0x17ac12){const _0x49dfd9=_0x487ae9,_0x118d20=_0x17ac12[_0x49dfd9(0xf2)](_0xa5cfdb=>Boolean(_0xa5cfdb[_0x49dfd9(0xee)])),_0x1fffae=_0x17ac12[_0x49dfd9(0xf2)](_0x3b9652=>!_0x3b9652[_0x49dfd9(0xee)]&&_0x3b9652[_0x49dfd9(0xf4)]),_0x2d77e9=new Map(_0x118d20[_0x49dfd9(0x102)](_0x111652=>[String(_0x111652[_0x49dfd9(0xee)]),_0x111652])),_0x3c8e3b=new Set(_0x1fffae['map'](_0x5dc2d5=>String(_0x5dc2d5['type']))),_0x59ed8a=new Set(),_0x3253fe=[];for(const _0x227863 of _0x3fe6b7){if(!_0x227863['prop']&&_0x227863[_0x49dfd9(0xf4)]){if(_0x3c8e3b[_0x49dfd9(0x119)](String(_0x227863['type'])))continue;_0x3253fe[_0x49dfd9(0xd3)](_0x227863);continue;}if(!_0x227863['prop'])continue;const _0x8840e0=String(_0x227863[_0x49dfd9(0xee)]),_0x1d82a5=_0x2d77e9[_0x49dfd9(0xe8)](_0x8840e0);_0x1d82a5?(_0x3253fe[_0x49dfd9(0xd3)]({..._0x227863,..._0x1d82a5}),_0x59ed8a[_0x49dfd9(0xe2)](_0x8840e0)):_0x3253fe[_0x49dfd9(0xd3)](_0x227863);}for(const _0x36b997 of _0x118d20){const _0x55d0c2=String(_0x36b997[_0x49dfd9(0xee)]);if(!_0x59ed8a[_0x49dfd9(0x119)](_0x55d0c2))_0x3253fe[_0x49dfd9(0xd3)](_0x36b997);}return _0x3253fe[_0x49dfd9(0xd3)](..._0x1fffae),_0x3253fe;}export function resolveMergedTableColumns(_0x30ffb8){const _0x963a77=_0x487ae9,_0x534c2e=_0x30ffb8[_0x963a77(0xdb)]?.['length']?_0x30ffb8[_0x963a77(0xdb)]:_0x30ffb8[_0x963a77(0x103)]?.[_0x963a77(0xff)]||[],_0x440a69=(_0x30ffb8[_0x963a77(0x112)]||[])[_0x963a77(0xe4)](_0x6055d8=>_0x6055d8?.['__plugin']==='setAuto'),_0x410060=_0x30ffb8[_0x963a77(0x103)]?.[_0x963a77(0x110)]!==![]&&Boolean(_0x440a69);if(!_0x410060)return pinOpColumnsLast(_0x534c2e);const _0x4df7fa=_0x440a69?.[_0x963a77(0x11c)]||[],_0x36222b=_0x30ffb8['tableOpts']?.[_0x963a77(0x11c)]||[],_0x30e64f=buildAutoTableColumns(_0x30ffb8[_0x963a77(0xf5)],{'ignoreFields':[..._0x4df7fa,..._0x36222b]});return pinOpColumnsLast(mergeByProp(_0x30e64f,_0x534c2e));}export function pinOpColumnsLast(_0x2fd59a){const _0x5f073d=_0x487ae9,_0x5c9462=[],_0x414fc2=[];for(const _0x1350d6 of _0x2fd59a){_0x1350d6[_0x5f073d(0xf4)]==='op'?_0x5c9462[_0x5f073d(0xd3)]({..._0x1350d6,'fixed':_0x5f073d(0x117)}):_0x414fc2[_0x5f073d(0xd3)](_0x1350d6);}if(!_0x5c9462[_0x5f073d(0xfd)])return _0x2fd59a;return[..._0x414fc2,..._0x5c9462];}export function sortRequiredFirst(_0x420c2d){const _0x161d13=_0x487ae9,_0x5443e0=[],_0x1d48af=[];for(const _0x45c51b of _0x420c2d){_0x45c51b['required']===!![]||typeof _0x45c51b[_0x161d13(0xe6)]===_0x161d13(0x105)?_0x5443e0[_0x161d13(0xd3)](_0x45c51b):_0x1d48af['push'](_0x45c51b);}return[..._0x5443e0,..._0x1d48af];}export function buildAutoUpsertItems(_0x5df27c,_0x432f6a={}){const _0x476e8d=_0x487ae9,_0x4b8df1=new Set([...UPSERT_BUILTIN_IGNORE,..._0x432f6a[_0x476e8d(0x11c)]||[]]),_0x417b30=[];for(const _0x35cb49 of epsColumns(_0x5df27c)){const _0x375098=_0x35cb49[_0x476e8d(0x10c)];if(_0x4b8df1['has'](_0x375098))continue;const _0x43bd8f=_0x35cb49[_0x476e8d(0xfe)]||_0x375098,_0x120042=dictKeyOf(_0x35cb49),_0x2b61f4=_0x35cb49[_0x476e8d(0xd1)]===![]&&_0x35cb49[_0x476e8d(0x118)]!==!![],_0x560f03={'prop':_0x375098,'label':_0x43bd8f,'span':0xc,..._0x2b61f4?{'required':!![]}:{}};if(_0x375098==='status'){const _0x122e26=_0x120042||_0x476e8d(0xd2);isSwitchDict(_0x122e26)?_0x417b30[_0x476e8d(0xd3)](switchFormItem(_0x560f03,_0x122e26,switchDefaultValue(_0x122e26))):_0x417b30[_0x476e8d(0xd3)]({..._0x560f03,'type':_0x476e8d(0x11f),'dict':_0x122e26,'value':()=>dictFirstValue(_0x122e26)});continue;}if(_0x120042){isSwitchDict(_0x120042)?_0x417b30[_0x476e8d(0xd3)](switchFormItem(_0x560f03,_0x120042,switchDefaultValue(_0x120042))):_0x417b30[_0x476e8d(0xd3)]({..._0x560f03,'type':_0x476e8d(0x11f),'dict':_0x120042,'value':()=>dictFirstValue(_0x120042)});continue;}if(isTextCol(_0x35cb49)){_0x417b30[_0x476e8d(0xd3)]({..._0x560f03,'type':_0x476e8d(0xf3),'span':0xc});continue;}if(isBooleanCol(_0x35cb49)){_0x417b30[_0x476e8d(0xd3)]({..._0x560f03,'type':_0x476e8d(0xed),'value':![],'component':{'props':()=>mapDictOptions(_0x476e8d(0xd9))},'dict':_0x476e8d(0xd9)});continue;}if(isIntegerCol(_0x35cb49)||isNumericCol(_0x35cb49)){const _0x3f7200=numberPrecision(_0x35cb49);_0x417b30[_0x476e8d(0xd3)]({..._0x560f03,'type':_0x476e8d(0x10d),'component':{'props':{'type':_0x476e8d(0x10d),'precision':_0x3f7200,'controls':![]}}});continue;}_0x417b30[_0x476e8d(0xd3)]({..._0x560f03,'type':'input'});}return _0x417b30;}export function buildAutoTableColumns(_0x1c2f5f,_0x19843d={}){const _0x240c63=_0x487ae9,_0x86ac8d=new Set([...TABLE_BUILTIN_IGNORE,...epsTableIgnore(_0x1c2f5f),..._0x19843d[_0x240c63(0x11c)]||[]]),_0x485ff9=[];!_0x86ac8d['has']('selection')&&_0x485ff9['push']({'type':_0x240c63(0xf1),'width':0x32});for(const _0x3e7026 of epsColumns(_0x1c2f5f)){const _0x107525=_0x3e7026[_0x240c63(0x10c)];if(_0x86ac8d[_0x240c63(0x119)](_0x107525))continue;const _0x4fd046=_0x3e7026[_0x240c63(0xfe)]||_0x107525,_0x52a163=dictKeyOf(_0x3e7026);if(_0x107525==='status'){const _0x59345d=_0x52a163||_0x240c63(0xd2);isSwitchDict(_0x59345d)?_0x485ff9[_0x240c63(0xd3)]({'prop':_0x107525,'label':_0x4fd046,'width':0x50,'component':{'name':'vm-switch','props':()=>mapDictOptions(_0x59345d)}}):_0x485ff9[_0x240c63(0xd3)]({'prop':_0x107525,'label':_0x4fd046,'width':0x64,'dict':()=>mapDictOptions(_0x59345d)});continue;}if(_0x52a163&&isSwitchDict(_0x52a163)){_0x485ff9[_0x240c63(0xd3)]({'prop':_0x107525,'label':_0x4fd046,'width':0x50,'component':{'name':_0x240c63(0x11e),'props':()=>mapDictOptions(_0x52a163)}});continue;}if(_0x107525==='id'){_0x485ff9[_0x240c63(0xd3)]({'prop':_0x107525,'label':_0x4fd046,'width':0x50});continue;}if(_0x107525===_0x240c63(0x115)){_0x485ff9['push']({'prop':_0x107525,'label':_0x4fd046,'width':0xa0});continue;}if(_0x52a163){_0x485ff9[_0x240c63(0xd3)]({'prop':_0x107525,'label':_0x4fd046,'minWidth':0x78,'dict':()=>mapDictOptions(_0x52a163)});continue;}if(isTextCol(_0x3e7026)){_0x485ff9[_0x240c63(0xd3)]({'prop':_0x107525,'label':_0x4fd046,'minWidth':0xa0,'showOverflowTooltip':!![]});continue;}_0x485ff9[_0x240c63(0xd3)]({'prop':_0x107525,'label':_0x4fd046,'minWidth':0x78});}if(!_0x86ac8d[_0x240c63(0x119)]('op')){const _0x487538=buildAutoOpButtons(_0x1c2f5f);_0x487538[_0x240c63(0xfd)]&&_0x485ff9[_0x240c63(0xd3)]({'type':'op','buttons':_0x487538,'fixed':'right'});}return _0x485ff9;}
|
|
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;}
|