vome-core 0.3.68 → 0.3.70
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/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/button/index.d.ts +1 -1
- 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.d.ts +7 -0
- 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.d.ts +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/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-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/hooks/useVome.d.ts +2 -2
- 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/stores/app.d.ts +13 -1
- package/dist/admin/stores/tags.d.ts +14 -1
- package/dist/admin/stores/user.d.ts +48 -1
- 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/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.d.ts +7 -4
- package/dist/client/eps.js +1 -1
- package/dist/client/index.d.ts +1 -1
- package/dist/client/index.js +1 -1
- package/dist/client/locale-change.js +1 -1
- package/dist/client/locale-store.d.ts +45 -1
- package/dist/client/locale-store.js +1 -1
- package/dist/client/path.js +1 -1
- package/dist/client/service.d.ts +8 -0
- package/dist/client/service.js +1 -1
- package/dist/client/vite-admin.js +1 -1
- package/dist/client/vite-auto-import.js +1 -1
- package/dist/client/vite-micro-proxy.js +1 -1
- package/dist/client/vite-plugin-eps.d.ts +5 -0
- package/dist/client/vite-plugin-eps.js +1 -1
- package/dist/client/vite-resolve.js +1 -1
- package/dist/config/index.js +1 -1
- package/dist/core/index.d.ts +2 -2
- package/dist/index.js +1 -1
- package/dist/orm/entity-cache.d.ts +1 -1
- package/dist/orm/service.d.ts +5 -5
- package/dist/routing/context.d.ts +12 -2
- package/dist/routing/eps.d.ts +4 -1
- package/dist/routing/index.d.ts +2 -1
- package/dist/routing/metadata.d.ts +7 -3
- package/dist/server/index.d.ts +2 -2
- 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/dist/typings/routing/eps.d.ts +3 -1
- package/dist/typings/routing/meta.d.ts +15 -0
- 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 +88 -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 +90 -88
- package/typings/routing/meta.ts +80 -63
- package/typings/routing/register.ts +21 -21
- package/typings/routing/scan-context.ts +7 -7
|
@@ -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>
|
|
@@ -32,9 +32,16 @@ type TableAutoPlugin = {
|
|
|
32
32
|
__plugin?: string;
|
|
33
33
|
ignoreFields?: string[];
|
|
34
34
|
};
|
|
35
|
+
/**
|
|
36
|
+
* 已有 userId 时:用户ID 后紧跟昵称、邮箱。
|
|
37
|
+
* 无 userId 时原样返回——禁止凭空造列(配置页等无用户字段的表)。
|
|
38
|
+
* 幂等:可重复调用。
|
|
39
|
+
*/
|
|
40
|
+
export declare function placeNickEmailAfterUserId(columns: CrudColumn[]): CrudColumn[];
|
|
35
41
|
/**
|
|
36
42
|
* 与 vm-table 同源:按 service.namespace 从 EPS 拉全列,再与页面手写 columns 浅合并。
|
|
37
43
|
* 导出按钮在表格兄弟节点,inject 不到 Table.getColumns(),须自己走同一套合并。
|
|
44
|
+
* 合并结果含 userId 时自动在其后插入昵称/邮箱(ignoreFields 含 userId 时跳过)。
|
|
38
45
|
*/
|
|
39
46
|
export declare function resolveMergedTableColumns(opts: {
|
|
40
47
|
service: Pick<CrudService, 'namespace' | 'permission' | '_permission'>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x5a70a5=_0x1592;(function(_0xcd0a94,_0x4b595d){const _0x34ccd9=_0x1592,_0x55d0cd=_0xcd0a94();while(!![]){try{const _0x2ac239=-parseInt(_0x34ccd9(0x10c))/0x1*(parseInt(_0x34ccd9(0x109))/0x2)+-parseInt(_0x34ccd9(0xff))/0x3*(parseInt(_0x34ccd9(0xf2))/0x4)+parseInt(_0x34ccd9(0x107))/0x5+-parseInt(_0x34ccd9(0x10f))/0x6+-parseInt(_0x34ccd9(0x12b))/0x7*(parseInt(_0x34ccd9(0x10e))/0x8)+parseInt(_0x34ccd9(0x12f))/0x9*(parseInt(_0x34ccd9(0xfe))/0xa)+-parseInt(_0x34ccd9(0xe7))/0xb*(-parseInt(_0x34ccd9(0x131))/0xc);if(_0x2ac239===_0x4b595d)break;else _0x55d0cd['push'](_0x55d0cd['shift']());}catch(_0x2ab5ab){_0x55d0cd['push'](_0x55d0cd['shift']());}}}(_0x3091,0x3b025));import{findEpsEntity}from'../lib/eps';import{getDictOptions}from'../../client';export const UPSERT_BUILTIN_IGNORE=['id',_0x5a70a5(0x111),_0x5a70a5(0x119),_0x5a70a5(0xfb),_0x5a70a5(0x101)];export const TABLE_BUILTIN_IGNORE=[_0x5a70a5(0x101),_0x5a70a5(0xfb)];export function buildAutoOpButtons(_0x19511f){const _0x5524a5=_0x5a70a5,_0x19ed8f=_0x19511f[_0x5524a5(0xfa)],_0x4f1819=_0x4996ab=>_0x19ed8f!=null&&typeof _0x19ed8f==='object'&&Object['prototype'][_0x5524a5(0x113)]['call'](_0x19ed8f,_0x4996ab),_0x1a4e58=_0x257b13=>Boolean(_0x19511f[_0x5524a5(0xf9)]?.[_0x257b13]),_0x5aa294=[];if(_0x4f1819('update')&&_0x1a4e58(_0x5524a5(0xf3)))_0x5aa294['push']('edit');if(_0x4f1819(_0x5524a5(0xf6))&&_0x1a4e58('delete'))_0x5aa294[_0x5524a5(0x11f)](_0x5524a5(0xf6));return _0x5aa294;}function dictKeyOf(_0x4416a5){const _0x1eab65=_0x5a70a5;if(typeof _0x4416a5[_0x1eab65(0x10a)]===_0x1eab65(0x125)&&_0x4416a5[_0x1eab65(0x10a)])return _0x4416a5[_0x1eab65(0x10a)];if(Array[_0x1eab65(0x11d)](_0x4416a5['dict'])&&_0x4416a5[_0x1eab65(0x10a)][0x0])return _0x4416a5[_0x1eab65(0x10a)][0x0];return;}function isSwitchDict(_0x29e76c){const _0x33ff3b=_0x5a70a5;return _0x29e76c===_0x33ff3b(0x12c)||_0x29e76c===_0x33ff3b(0x114)||_0x29e76c===_0x33ff3b(0xe8);}function switchDefaultValue(_0x4683eb){const _0x2f7d3f=_0x5a70a5;if(_0x4683eb===_0x2f7d3f(0x114))return![];if(_0x4683eb==='yes_no_number')return 0x0;return 0x1;}function switchFormItem(_0x11e5c2,_0x5ddc8d,_0x1f52b8){const _0x5a374e=_0x5a70a5;return{..._0x11e5c2,'type':_0x5a374e(0x115),'value':_0x1f52b8,'dict':_0x5ddc8d,'component':{'props':()=>mapDictOptions(_0x5ddc8d)}};}export function mapDictOptions(_0x3ef557){const _0x44452f=_0x5a70a5;return getDictOptions(_0x3ef557)[_0x44452f(0xf1)](_0x20b2bc=>{const _0x4dc248=_0x44452f;let _0x89a70e=_0x20b2bc[_0x4dc248(0x105)];return typeof _0x20b2bc[_0x4dc248(0x105)]===_0x4dc248(0x125)&&/^-?\d+(\.\d+)?$/[_0x4dc248(0x120)](_0x20b2bc[_0x4dc248(0x105)])&&(_0x89a70e=Number(_0x20b2bc['value'])),{'label':String(_0x20b2bc[_0x4dc248(0x100)]??''),'value':_0x89a70e,'color':_0x20b2bc[_0x4dc248(0x102)]};});}export function dictFirstValue(_0x53d12a){const _0x51ffa4=_0x5a70a5,_0x3072d=mapDictOptions(_0x53d12a)[0x0];return _0x3072d?.[_0x51ffa4(0x105)];}export function resolveFormItemValue(_0x29649f){const _0x362c6a=_0x5a70a5;return typeof _0x29649f===_0x362c6a(0x130)?_0x29649f():_0x29649f;}function isMainTableCol(_0x14f16c){const _0x39626d=_0x5a70a5;return!_0x14f16c[_0x39626d(0xea)]||_0x14f16c[_0x39626d(0xea)][_0x39626d(0xed)]('a.');}function epsTableIgnore(_0x4e21c2){const _0x5905f3=_0x5a70a5,_0x3d14fe=_0x4e21c2['namespace']?findEpsEntity('/'+_0x4e21c2[_0x5905f3(0x11b)]):undefined,_0x2d5f6f=_0x3d14fe?.['pageQueryOp']?.[_0x5905f3(0xf4)];return Array['isArray'](_0x2d5f6f)?_0x2d5f6f['filter'](_0x286b51=>typeof _0x286b51===_0x5905f3(0x125)&&_0x286b51):[];}function epsColumns(_0x22eab7){const _0x1556ae=_0x5a70a5,_0x2c1c2e=_0x22eab7[_0x1556ae(0x11b)]?findEpsEntity('/'+_0x22eab7[_0x1556ae(0x11b)]):undefined;if(!_0x2c1c2e)return[];const _0x1e9a0a=[..._0x2c1c2e['columns']||[],..._0x2c1c2e['pageColumns']||[]],_0x5dc984=new Set(),_0x5171b6=[];for(const _0x45ed46 of _0x1e9a0a){if(!_0x45ed46['propertyName']||!isMainTableCol(_0x45ed46))continue;if(_0x5dc984[_0x1556ae(0x12a)](_0x45ed46[_0x1556ae(0xee)]))continue;_0x5dc984['add'](_0x45ed46[_0x1556ae(0xee)]),_0x5171b6[_0x1556ae(0x11f)](_0x45ed46);}return _0x5171b6;}function columnTypeOf(_0x1209fd){const _0x5431fe=_0x5a70a5;return String(_0x1209fd[_0x5431fe(0x10b)]||'');}function _0x3091(){const _0x94aa5e=['AgfZt3DUuhjVCgvYDhK','EwvZx25Vx2jVB2XLyw4','C3DPDgnO','Aw5WDxq','C2vSzwn0','DgfIBgvpChrZ','y3jLyxrLvgLTzq','ugDcAwDjBNq','BMfTzxnWywnL','ugDtzxjPywW','AxnbCNjHEq','CMvXDwLYzwq','ChvZAa','DgvZDa','BNvTyMvY','ugDcB29SzwfU','DgfIBgvqBhvNAw5Z','y29SDw1UCW','C3rYAw5N','ugDuzxH0','C2nHBgu','ugDjBNrLz2vY','BNvSBgfIBgu','AgfZ','ndLfrgDLrg0','C3rHDhvZ','ywrK','y29TBwvUDa','ovHLDwLmDq','zNvUy3rPB24','mZy2mtjpAhvxveK','nta2meHPDfvVsq','EwvZx25Vx251BwjLCG','C2v0qxv0BW','C291CMnL','ChjVCa','C3fSvhLWzq','C3rHCNrZv2L0Aa','ChjVCgvYDhLoyw1L','ugDtBwfSBeLUDa','CMLNAhq','BwfW','mtiWodHithfOEg8','DxbKyxrL','AwDUB3jLrMLLBgrZ','BwfUDwfS','zgvSzxrL','C2vSzwn0Aw9U','DhLWzq','x3bLCM1PC3nPB24','CgvYBwLZC2LVBG','DxbKyxrLvgLTzq','x19WBhvNAw4','ugDtBwfSBfnLCMLHBa','mtGWnZCWt2zzsePX','mJyXEhDXq0L0','BgfIzwW','zgvSzxrLvgLTzq','y29SB3i','zMLSDgvY','z2v0','DMfSDwu','ugDeB3vIBgvqCMvJAxnPB24','mtuZmJiXnwXzq3zoyG','C2vYDMLJzq','oteWnti2wgXwr0P1','zgLJDa','y29SDw1UvhLWzq','mwP0CwfKBG','DM0TC3DPDgnO','mZC1mty4rMH2v3bI','mJyZodK4mfHfzK9buG','BgvUz3rO','DgvUyw50swq','yM9VBgvHBG'];_0x3091=function(){return _0x94aa5e;};return _0x3091();}function sqlTypeOf(_0x169a6e){const _0x4ba621=_0x5a70a5;return String(_0x169a6e[_0x4ba621(0xec)]||'')['toLowerCase']();}function isTextCol(_0x208387){const _0x2c0978=_0x5a70a5,_0x13534d=columnTypeOf(_0x208387);if(_0x13534d===_0x2c0978(0x126))return!![];return sqlTypeOf(_0x208387)==='text';}function _0x1592(_0x502845,_0x3d6c2f){_0x502845=_0x502845-0xe7;const _0x3091b6=_0x3091();let _0x159207=_0x3091b6[_0x502845];if(_0x1592['nmvqzX']===undefined){var _0x2b5582=function(_0x291b26){const _0x43323d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x19511f='',_0x19ed8f='';for(let _0x4f1819=0x0,_0x1a4e58,_0x5aa294,_0x4996ab=0x0;_0x5aa294=_0x291b26['charAt'](_0x4996ab++);~_0x5aa294&&(_0x1a4e58=_0x4f1819%0x4?_0x1a4e58*0x40+_0x5aa294:_0x5aa294,_0x4f1819++%0x4)?_0x19511f+=String['fromCharCode'](0xff&_0x1a4e58>>(-0x2*_0x4f1819&0x6)):0x0){_0x5aa294=_0x43323d['indexOf'](_0x5aa294);}for(let _0x257b13=0x0,_0x4416a5=_0x19511f['length'];_0x257b13<_0x4416a5;_0x257b13++){_0x19ed8f+='%'+('00'+_0x19511f['charCodeAt'](_0x257b13)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x19ed8f);};_0x1592['enLPGl']=_0x2b5582,_0x1592['EPTCTm']={},_0x1592['nmvqzX']=!![];}const _0x45d465=_0x3091b6[0x0],_0x32cf7e=_0x502845+_0x45d465,_0x5669c1=_0x1592['EPTCTm'][_0x32cf7e];return!_0x5669c1?(_0x159207=_0x1592['enLPGl'](_0x159207),_0x1592['EPTCTm'][_0x32cf7e]=_0x159207):_0x159207=_0x5669c1,_0x159207;}function isIntegerCol(_0x273a6d){const _0x331808=_0x5a70a5,_0x461b0e=columnTypeOf(_0x273a6d);if(_0x461b0e===_0x331808(0x128)||_0x461b0e===_0x331808(0x11c)||_0x461b0e===_0x331808(0xef)||_0x461b0e===_0x331808(0x11a)||_0x461b0e===_0x331808(0xfd)||_0x461b0e==='PgBigSerial')return!![];if(_0x273a6d['type']===_0x331808(0x121)&&!isNumericCol(_0x273a6d))return!![];return/^(integer|serial|smallint|bigint|smallserial|bigserial)\b/[_0x331808(0x120)](sqlTypeOf(_0x273a6d));}function isNumericCol(_0x5bf73d){const _0x562f7e=_0x5a70a5,_0x4d4181=columnTypeOf(_0x5bf73d);if(_0x4d4181==='PgNumeric'||_0x4d4181===_0x562f7e(0x106)||_0x4d4181==='PgReal')return!![];return/^(numeric|decimal|double|real)\b/['test'](sqlTypeOf(_0x5bf73d));}function isBooleanCol(_0x571a85){const _0x40f41d=_0x5a70a5;return columnTypeOf(_0x571a85)===_0x40f41d(0x122)||_0x571a85[_0x40f41d(0xf8)]==='boolean'||sqlTypeOf(_0x571a85)['startsWith'](_0x40f41d(0x112));}function numberPrecision(_0x3a4bf4){const _0x36d36d=_0x5a70a5;if(isIntegerCol(_0x3a4bf4))return 0x0;if(typeof _0x3a4bf4[_0x36d36d(0x127)]===_0x36d36d(0x121))return _0x3a4bf4[_0x36d36d(0x127)];return 0x2;}export function mergeByProp(_0x29581a,_0x366ab2){const _0x54b93f=_0x5a70a5,_0x5ccf16=_0x366ab2[_0x54b93f(0x103)](_0x305f8f=>Boolean(_0x305f8f[_0x54b93f(0xeb)])),_0xf6167e=_0x366ab2[_0x54b93f(0x103)](_0x103ac8=>!_0x103ac8[_0x54b93f(0xeb)]&&_0x103ac8['type']),_0x4a8222=new Map(_0x5ccf16[_0x54b93f(0xf1)](_0x260e4e=>[String(_0x260e4e['prop']),_0x260e4e])),_0x9c5af8=new Set(_0xf6167e[_0x54b93f(0xf1)](_0x372d5c=>String(_0x372d5c[_0x54b93f(0xf8)]))),_0xd3c9f4=new Set(),_0x1eb97c=[];for(const _0x4f2c3d of _0x29581a){if(!_0x4f2c3d[_0x54b93f(0xeb)]&&_0x4f2c3d[_0x54b93f(0xf8)]){if(_0x9c5af8[_0x54b93f(0x12a)](String(_0x4f2c3d['type'])))continue;_0x1eb97c['push'](_0x4f2c3d);continue;}if(!_0x4f2c3d['prop'])continue;const _0x29ec45=String(_0x4f2c3d['prop']),_0x3fe79b=_0x4a8222[_0x54b93f(0x104)](_0x29ec45);_0x3fe79b?(_0x1eb97c[_0x54b93f(0x11f)]({..._0x4f2c3d,..._0x3fe79b}),_0xd3c9f4[_0x54b93f(0x12d)](_0x29ec45)):_0x1eb97c['push'](_0x4f2c3d);}for(const _0x560046 of _0x5ccf16){const _0x242f15=String(_0x560046[_0x54b93f(0xeb)]);if(!_0xd3c9f4[_0x54b93f(0x12a)](_0x242f15))_0x1eb97c['push'](_0x560046);}return _0x1eb97c[_0x54b93f(0x11f)](..._0xf6167e),_0x1eb97c;}export function resolveMergedTableColumns(_0x5125c8){const _0x240701=_0x5a70a5,_0x23183c=_0x5125c8[_0x240701(0xf5)]?.[_0x240701(0x110)]?_0x5125c8[_0x240701(0xf5)]:_0x5125c8[_0x240701(0x118)]?.[_0x240701(0x124)]||[],_0x4b9cd4=(_0x5125c8[_0x240701(0x123)]||[])['find'](_0x3a286c=>_0x3a286c?.[_0x240701(0xfc)]===_0x240701(0xe9)),_0x5b1e76=_0x5125c8[_0x240701(0x118)]?.['auto']!==![]&&Boolean(_0x4b9cd4);if(!_0x5b1e76)return pinOpColumnsLast(_0x23183c);const _0x2dd017=_0x4b9cd4?.['ignoreFields']||[],_0x13e6b7=_0x5125c8[_0x240701(0x118)]?.[_0x240701(0xf4)]||[],_0x537f74=buildAutoTableColumns(_0x5125c8[_0x240701(0x108)],{'ignoreFields':[..._0x2dd017,..._0x13e6b7]});return pinOpColumnsLast(mergeByProp(_0x537f74,_0x23183c));}export function pinOpColumnsLast(_0x54c4ae){const _0x22d462=_0x5a70a5,_0x4f4255=[],_0x337c5a=[];for(const _0x4a2192 of _0x54c4ae){_0x4a2192[_0x22d462(0xf8)]==='op'?_0x4f4255[_0x22d462(0x11f)]({..._0x4a2192,'fixed':_0x22d462(0xf0)}):_0x337c5a[_0x22d462(0x11f)](_0x4a2192);}if(!_0x4f4255['length'])return _0x54c4ae;return[..._0x337c5a,..._0x4f4255];}export function sortRequiredFirst(_0x25c9e0){const _0x3df42e=_0x5a70a5,_0x483342=[],_0x1c2250=[];for(const _0x3d4e41 of _0x25c9e0){_0x3d4e41['required']===!![]||typeof _0x3d4e41[_0x3df42e(0x11e)]==='function'?_0x483342['push'](_0x3d4e41):_0x1c2250['push'](_0x3d4e41);}return[..._0x483342,..._0x1c2250];}export function buildAutoUpsertItems(_0x3371b5,_0x1012e2={}){const _0x1fcab4=_0x5a70a5,_0x46a936=new Set([...UPSERT_BUILTIN_IGNORE,..._0x1012e2[_0x1fcab4(0xf4)]||[]]),_0x14b7a1=[];for(const _0x30a8f6 of epsColumns(_0x3371b5)){const _0x3337b9=_0x30a8f6[_0x1fcab4(0xee)];if(_0x46a936[_0x1fcab4(0x12a)](_0x3337b9))continue;const _0xcd6bc2=_0x30a8f6['comment']||_0x3337b9,_0x1738e9=dictKeyOf(_0x30a8f6),_0x53a8e6=_0x30a8f6[_0x1fcab4(0x129)]===![]&&_0x30a8f6['hasDefault']!==!![],_0x2109ba={'prop':_0x3337b9,'label':_0xcd6bc2,'span':0xc,..._0x53a8e6?{'required':!![]}:{}};if(_0x3337b9===_0x1fcab4(0x12c)){const _0x29eed4=_0x1738e9||_0x1fcab4(0x12c);isSwitchDict(_0x29eed4)?_0x14b7a1[_0x1fcab4(0x11f)](switchFormItem(_0x2109ba,_0x29eed4,switchDefaultValue(_0x29eed4))):_0x14b7a1[_0x1fcab4(0x11f)]({..._0x2109ba,'type':_0x1fcab4(0x117),'dict':_0x29eed4,'value':()=>dictFirstValue(_0x29eed4)});continue;}if(_0x1738e9){isSwitchDict(_0x1738e9)?_0x14b7a1[_0x1fcab4(0x11f)](switchFormItem(_0x2109ba,_0x1738e9,switchDefaultValue(_0x1738e9))):_0x14b7a1[_0x1fcab4(0x11f)]({..._0x2109ba,'type':_0x1fcab4(0x117),'dict':_0x1738e9,'value':()=>dictFirstValue(_0x1738e9)});continue;}if(isTextCol(_0x30a8f6)){_0x14b7a1['push']({..._0x2109ba,'type':'textarea','span':0xc});continue;}if(isBooleanCol(_0x30a8f6)){_0x14b7a1[_0x1fcab4(0x11f)]({..._0x2109ba,'type':_0x1fcab4(0x115),'value':![],'component':{'props':()=>mapDictOptions(_0x1fcab4(0x114))},'dict':_0x1fcab4(0x114)});continue;}if(isIntegerCol(_0x30a8f6)||isNumericCol(_0x30a8f6)){const _0x54993d=numberPrecision(_0x30a8f6);_0x14b7a1[_0x1fcab4(0x11f)]({..._0x2109ba,'type':_0x1fcab4(0x121),'component':{'props':{'type':'number','precision':_0x54993d,'controls':![]}}});continue;}_0x14b7a1[_0x1fcab4(0x11f)]({..._0x2109ba,'type':_0x1fcab4(0x116)});}return _0x14b7a1;}export function buildAutoTableColumns(_0xe3c22c,_0x2b6897={}){const _0x4217be=_0x5a70a5,_0x1953a3=new Set([...TABLE_BUILTIN_IGNORE,...epsTableIgnore(_0xe3c22c),..._0x2b6897[_0x4217be(0xf4)]||[]]),_0x3ef580=[];!_0x1953a3[_0x4217be(0x12a)](_0x4217be(0xf7))&&_0x3ef580[_0x4217be(0x11f)]({'type':_0x4217be(0xf7),'width':0x32});for(const _0x2349e0 of epsColumns(_0xe3c22c)){const _0x353a45=_0x2349e0['propertyName'];if(_0x1953a3[_0x4217be(0x12a)](_0x353a45))continue;const _0x5f3a0e=_0x2349e0[_0x4217be(0x12e)]||_0x353a45,_0x455acc=dictKeyOf(_0x2349e0);if(_0x353a45===_0x4217be(0x12c)){const _0x72e56d=_0x455acc||'status';isSwitchDict(_0x72e56d)?_0x3ef580[_0x4217be(0x11f)]({'prop':_0x353a45,'label':_0x5f3a0e,'width':0x50,'component':{'name':_0x4217be(0x10d),'props':()=>mapDictOptions(_0x72e56d)}}):_0x3ef580['push']({'prop':_0x353a45,'label':_0x5f3a0e,'width':0x64,'dict':()=>mapDictOptions(_0x72e56d)});continue;}if(_0x455acc&&isSwitchDict(_0x455acc)){_0x3ef580[_0x4217be(0x11f)]({'prop':_0x353a45,'label':_0x5f3a0e,'width':0x50,'component':{'name':_0x4217be(0x10d),'props':()=>mapDictOptions(_0x455acc)}});continue;}if(_0x353a45==='id'){_0x3ef580[_0x4217be(0x11f)]({'prop':_0x353a45,'label':_0x5f3a0e,'width':0x50});continue;}if(_0x353a45===_0x4217be(0x119)){_0x3ef580[_0x4217be(0x11f)]({'prop':_0x353a45,'label':_0x5f3a0e,'width':0xa0});continue;}if(_0x455acc){_0x3ef580[_0x4217be(0x11f)]({'prop':_0x353a45,'label':_0x5f3a0e,'minWidth':0x78,'dict':()=>mapDictOptions(_0x455acc)});continue;}if(isTextCol(_0x2349e0)){_0x3ef580[_0x4217be(0x11f)]({'prop':_0x353a45,'label':_0x5f3a0e,'minWidth':0xa0,'showOverflowTooltip':!![]});continue;}_0x3ef580[_0x4217be(0x11f)]({'prop':_0x353a45,'label':_0x5f3a0e,'minWidth':0x78});}if(!_0x1953a3['has']('op')){const _0xa18881=buildAutoOpButtons(_0xe3c22c);_0xa18881[_0x4217be(0x110)]&&_0x3ef580[_0x4217be(0x11f)]({'type':'op','buttons':_0xa18881,'fixed':_0x4217be(0xf0)});}return _0x3ef580;}
|
|
1
|
+
const _0x45a34b=_0x2c8c;(function(_0xc85264,_0xa06496){const _0x4a3096=_0x2c8c,_0x963630=_0xc85264();while(!![]){try{const _0x578254=-parseInt(_0x4a3096(0x114))/0x1+-parseInt(_0x4a3096(0x14e))/0x2+parseInt(_0x4a3096(0x115))/0x3+-parseInt(_0x4a3096(0x110))/0x4*(-parseInt(_0x4a3096(0x13a))/0x5)+-parseInt(_0x4a3096(0x117))/0x6+-parseInt(_0x4a3096(0x148))/0x7*(parseInt(_0x4a3096(0x120))/0x8)+-parseInt(_0x4a3096(0x131))/0x9*(-parseInt(_0x4a3096(0x129))/0xa);if(_0x578254===_0xa06496)break;else _0x963630['push'](_0x963630['shift']());}catch(_0x69db3d){_0x963630['push'](_0x963630['shift']());}}}(_0x287f,0xb7f43));import{findEpsEntity}from'../lib/eps';import{getDictOptions}from'../../client';export const UPSERT_BUILTIN_IGNORE=['id',_0x45a34b(0x150),_0x45a34b(0x141),'updateTime',_0x45a34b(0x118)];export const TABLE_BUILTIN_IGNORE=[_0x45a34b(0x118),_0x45a34b(0x10b)];export function buildAutoOpButtons(_0x3c2e6c){const _0x28e35a=_0x45a34b,_0x59e319=_0x3c2e6c[_0x28e35a(0x109)],_0x36cc3c=_0x589912=>_0x59e319!=null&&typeof _0x59e319===_0x28e35a(0x128)&&Object['prototype'][_0x28e35a(0x136)][_0x28e35a(0x140)](_0x59e319,_0x589912),_0x48dd21=_0x59dd9c=>Boolean(_0x3c2e6c[_0x28e35a(0x126)]?.[_0x59dd9c]),_0x45bf00=[];if(_0x36cc3c(_0x28e35a(0x10e))&&_0x48dd21(_0x28e35a(0x10e)))_0x45bf00[_0x28e35a(0x155)]('edit');if(_0x36cc3c(_0x28e35a(0x119))&&_0x48dd21('delete'))_0x45bf00[_0x28e35a(0x155)](_0x28e35a(0x119));return _0x45bf00;}function dictKeyOf(_0x34464a){const _0x3c63e4=_0x45a34b;if(typeof _0x34464a['dict']==='string'&&_0x34464a['dict'])return _0x34464a[_0x3c63e4(0x124)];if(Array[_0x3c63e4(0x111)](_0x34464a[_0x3c63e4(0x124)])&&_0x34464a[_0x3c63e4(0x124)][0x0])return _0x34464a[_0x3c63e4(0x124)][0x0];return;}function isSwitchDict(_0x49f592){const _0x160a39=_0x45a34b;return _0x49f592===_0x160a39(0x138)||_0x49f592===_0x160a39(0x113)||_0x49f592==='yes_no_number';}function switchDefaultValue(_0x4e9cb4){const _0x427b0e=_0x45a34b;if(_0x4e9cb4===_0x427b0e(0x113))return![];if(_0x4e9cb4==='yes_no_number')return 0x0;return 0x1;}function switchFormItem(_0x59d522,_0x2834fa,_0x23e18b){const _0x505591=_0x45a34b;return{..._0x59d522,'type':_0x505591(0x13c),'value':_0x23e18b,'dict':_0x2834fa,'component':{'props':()=>mapDictOptions(_0x2834fa)}};}export function mapDictOptions(_0x1fb478){const _0xa347f=_0x45a34b;return getDictOptions(_0x1fb478)[_0xa347f(0x132)](_0xa236ce=>{const _0x399f77=_0xa347f;let _0x34545b=_0xa236ce['value'];return typeof _0xa236ce[_0x399f77(0x149)]===_0x399f77(0x108)&&/^-?\d+(\.\d+)?$/['test'](_0xa236ce[_0x399f77(0x149)])&&(_0x34545b=Number(_0xa236ce[_0x399f77(0x149)])),{'label':String(_0xa236ce[_0x399f77(0x139)]??''),'value':_0x34545b,'color':_0xa236ce['color']};});}export function dictFirstValue(_0x2eb76f){const _0x492a73=mapDictOptions(_0x2eb76f)[0x0];return _0x492a73?.['value'];}export function resolveFormItemValue(_0x3ea3ba){return typeof _0x3ea3ba==='function'?_0x3ea3ba():_0x3ea3ba;}function isMainTableCol(_0x57ee2e){const _0x545752=_0x45a34b;return!_0x57ee2e[_0x545752(0x127)]||_0x57ee2e[_0x545752(0x127)][_0x545752(0x10a)]('a.');}function epsTableIgnore(_0x2ea282){const _0x488c4a=_0x45a34b,_0x36ae40=_0x2ea282[_0x488c4a(0x14b)]?findEpsEntity('/'+_0x2ea282[_0x488c4a(0x14b)]):undefined,_0x186308=_0x36ae40?.[_0x488c4a(0x153)]?.[_0x488c4a(0x134)];return Array['isArray'](_0x186308)?_0x186308[_0x488c4a(0x142)](_0x3f0228=>typeof _0x3f0228==='string'&&_0x3f0228):[];}function epsColumns(_0x5dc4f5){const _0x3f999e=_0x45a34b,_0x2d92c8=_0x5dc4f5[_0x3f999e(0x14b)]?findEpsEntity('/'+_0x5dc4f5[_0x3f999e(0x14b)]):undefined;if(!_0x2d92c8)return[];const _0x381789=[..._0x2d92c8['columns']||[],..._0x2d92c8[_0x3f999e(0x12d)]||[]],_0x24d22e=new Set(),_0x20a3e9=[];for(const _0x15f4c8 of _0x381789){if(!_0x15f4c8[_0x3f999e(0x133)]||!isMainTableCol(_0x15f4c8))continue;if(_0x24d22e[_0x3f999e(0x112)](_0x15f4c8[_0x3f999e(0x133)]))continue;_0x24d22e[_0x3f999e(0x152)](_0x15f4c8[_0x3f999e(0x133)]),_0x20a3e9[_0x3f999e(0x155)](_0x15f4c8);}return _0x20a3e9;}function columnTypeOf(_0x5c3a60){return String(_0x5c3a60['columnType']||'');}function sqlTypeOf(_0xc2a538){const _0x8dcc32=_0x45a34b;return String(_0xc2a538[_0x8dcc32(0x122)]||'')[_0x8dcc32(0x130)]();}function isTextCol(_0x4e7424){const _0x3e6f6c=_0x45a34b,_0x1135f7=columnTypeOf(_0x4e7424);if(_0x1135f7===_0x3e6f6c(0x11f))return!![];return sqlTypeOf(_0x4e7424)===_0x3e6f6c(0x11a);}function isIntegerCol(_0x59fb5f){const _0x4e3ae9=_0x45a34b,_0x47e9c5=columnTypeOf(_0x59fb5f);if(_0x47e9c5==='PgInteger'||_0x47e9c5===_0x4e3ae9(0x158)||_0x47e9c5===_0x4e3ae9(0x125)||_0x47e9c5===_0x4e3ae9(0x144)||_0x47e9c5===_0x4e3ae9(0x11c)||_0x47e9c5==='PgBigSerial')return!![];if(_0x59fb5f[_0x4e3ae9(0x11e)]===_0x4e3ae9(0x123)&&!isNumericCol(_0x59fb5f))return!![];return/^(integer|serial|smallint|bigint|smallserial|bigserial)\b/[_0x4e3ae9(0x13d)](sqlTypeOf(_0x59fb5f));}function isNumericCol(_0x155834){const _0x2b93c2=_0x45a34b,_0x490ae1=columnTypeOf(_0x155834);if(_0x490ae1===_0x2b93c2(0x10c)||_0x490ae1===_0x2b93c2(0x14d)||_0x490ae1===_0x2b93c2(0x11b))return!![];return/^(numeric|decimal|double|real)\b/[_0x2b93c2(0x13d)](sqlTypeOf(_0x155834));}function isBooleanCol(_0x38689e){const _0x38304d=_0x45a34b;return columnTypeOf(_0x38689e)==='PgBoolean'||_0x38689e['type']===_0x38304d(0x107)||sqlTypeOf(_0x38689e)['startsWith'](_0x38304d(0x107));}function numberPrecision(_0x450da1){const _0x39e767=_0x45a34b;if(isIntegerCol(_0x450da1))return 0x0;if(typeof _0x450da1[_0x39e767(0x10d)]===_0x39e767(0x123))return _0x450da1[_0x39e767(0x10d)];return 0x2;}export function mergeByProp(_0x2f7e6e,_0x277913){const _0x38f2fc=_0x45a34b,_0x3ccd06=_0x277913[_0x38f2fc(0x142)](_0x23f503=>Boolean(_0x23f503[_0x38f2fc(0x12f)])),_0x5a5d0c=_0x277913[_0x38f2fc(0x142)](_0x9f4511=>!_0x9f4511[_0x38f2fc(0x12f)]&&_0x9f4511[_0x38f2fc(0x11e)]),_0xcacf23=new Map(_0x3ccd06[_0x38f2fc(0x132)](_0xce07bb=>[String(_0xce07bb['prop']),_0xce07bb])),_0x1a093e=new Set(_0x5a5d0c[_0x38f2fc(0x132)](_0x9e718b=>String(_0x9e718b[_0x38f2fc(0x11e)]))),_0x38bf5d=new Set(),_0xc321ab=[];for(const _0xf06ec6 of _0x2f7e6e){if(!_0xf06ec6[_0x38f2fc(0x12f)]&&_0xf06ec6[_0x38f2fc(0x11e)]){if(_0x1a093e[_0x38f2fc(0x112)](String(_0xf06ec6[_0x38f2fc(0x11e)])))continue;_0xc321ab[_0x38f2fc(0x155)](_0xf06ec6);continue;}if(!_0xf06ec6[_0x38f2fc(0x12f)])continue;const _0x578c37=String(_0xf06ec6[_0x38f2fc(0x12f)]),_0x181081=_0xcacf23[_0x38f2fc(0x116)](_0x578c37);_0x181081?(_0xc321ab[_0x38f2fc(0x155)]({..._0xf06ec6,..._0x181081}),_0x38bf5d[_0x38f2fc(0x152)](_0x578c37)):_0xc321ab['push'](_0xf06ec6);}for(const _0xc19bc1 of _0x3ccd06){const _0x2ac669=String(_0xc19bc1[_0x38f2fc(0x12f)]);if(!_0x38bf5d['has'](_0x2ac669))_0xc321ab[_0x38f2fc(0x155)](_0xc19bc1);}return _0xc321ab['push'](..._0x5a5d0c),_0xc321ab;}const USER_ID_COL={'prop':_0x45a34b(0x13e),'label':_0x45a34b(0x157),'labelKey':'common.userId'},NICK_COL={'prop':_0x45a34b(0x10f),'label':'昵称','minWidth':0x78},EMAIL_COL={'prop':_0x45a34b(0x12a),'label':'邮箱','minWidth':0xa0};export function placeNickEmailAfterUserId(_0x43a084){const _0x1796b3=_0x45a34b,_0x1b7730=_0x43a084[_0x1796b3(0x12c)](_0x2e230d=>_0x2e230d?.[_0x1796b3(0x12f)]===_0x1796b3(0x13e));if(_0x1b7730<0x0)return _0x43a084;const _0x191457=_0x43a084['filter'](_0x3260cc=>_0x3260cc?.[_0x1796b3(0x12f)]!==_0x1796b3(0x10f)&&_0x3260cc?.['prop']!==_0x1796b3(0x12a)&&_0x3260cc?.[_0x1796b3(0x12f)]!=='phone'),_0x2a59ba=_0x191457[_0x1796b3(0x12c)](_0x379258=>_0x379258?.[_0x1796b3(0x12f)]===_0x1796b3(0x13e)),_0x3b0e69=_0x191457[_0x2a59ba];return _0x191457[_0x2a59ba]={...USER_ID_COL,..._0x3b0e69,'label':USER_ID_COL[_0x1796b3(0x139)],'labelKey':USER_ID_COL[_0x1796b3(0x147)]},_0x191457[_0x1796b3(0x121)](_0x2a59ba+0x1,0x0,{...NICK_COL},{...EMAIL_COL}),_0x191457;}export function resolveMergedTableColumns(_0x105eb5){const _0x5779d6=_0x45a34b,_0x35f67b=_0x105eb5[_0x5779d6(0x145)]?.[_0x5779d6(0x14c)]?_0x105eb5[_0x5779d6(0x145)]:_0x105eb5[_0x5779d6(0x156)]?.['columns']||[],_0x1314a5=(_0x105eb5['tablePlugins']||[])[_0x5779d6(0x12b)](_0x1ef5a6=>_0x1ef5a6?.[_0x5779d6(0x13b)]==='setAuto'),_0x648c26=_0x105eb5[_0x5779d6(0x156)]?.['auto']!==![]&&Boolean(_0x1314a5),_0x5b7fd3=_0x1314a5?.['ignoreFields']||[],_0xbf193c=_0x105eb5[_0x5779d6(0x156)]?.[_0x5779d6(0x134)]||[],_0x18f3b3=new Set([..._0x5b7fd3,..._0xbf193c]),_0x2191d3=_0x2069ba=>{const _0x4532be=_0x5779d6,_0x42eb99=pinOpColumnsLast(_0x2069ba);if(_0x18f3b3[_0x4532be(0x112)](_0x4532be(0x13e)))return _0x42eb99;return placeNickEmailAfterUserId(_0x42eb99);};if(!_0x648c26)return _0x2191d3(_0x35f67b);const _0xa99167=buildAutoTableColumns(_0x105eb5[_0x5779d6(0x135)],{'ignoreFields':[..._0x5b7fd3,..._0xbf193c]});return _0x2191d3(mergeByProp(_0xa99167,_0x35f67b));}function _0x287f(){const _0x5173aa=['DxnLCKLK','y29TBwvUDa','y2fSBa','y3jLyxrLvgLTzq','zMLSDgvY','zNvUy3rPB24','ugDcAwDjBNq','BwfUDwfS','Aw5WDxq','BgfIzwXlzxK','mZGYnZeXD29nD3bl','DMfSDwu','CMLNAhq','BMfTzxnWywnL','BgvUz3rO','ugDeB3vIBgvqCMvJAxnPB24','mtK1nti1nLPTv1jWsa','DM0TC3DPDgnO','DgvUyw50swq','BNvSBgfIBgu','ywrK','CgfNzvf1zxj5t3a','AgfZrgvMyxvSDa','ChvZAa','DgfIBgvpChrZ','55sO5OI3suq','ugDtzxjPywW','yM9VBgvHBG','C3rYAw5N','CgvYBwLZC2LVBG','C3rHCNrZv2L0Aa','DxbKyxrLvgLTzq','ugDoDw1LCMLJ','C2nHBgu','DxbKyxrL','BMLJA05HBwu','ndqYmZzzsuXACfe','AxnbCNjHEq','AgfZ','EwvZx25Vx2jVB2XLyw4','nZy4mZKYD3njBuDd','mZq4nZu5qxfIsNfY','z2v0','nJq1nZaXnfDqDKjUAG','zgvSzxrLvgLTzq','zgvSzxrL','Dgv4Da','ugDszwfS','ugDtBwfSBfnLCMLHBa','C2vSzwn0','DhLWzq','ugDuzxH0','mtKYsLrlB2TV','C3bSAwnL','C3fSvhLWzq','BNvTyMvY','zgLJDa','ugDtBwfSBeLUDa','x3bLCM1PC3nPB24','C291CMnL','B2jQzwn0','mJGWqxPXwMjc','zw1HAwW','zMLUza','zMLUzeLUzgv4','CgfNzunVBhvTBNm','CMvXDwLYzwq','ChjVCa','Dg9mB3DLCKnHC2u','mtqZmdyZmvjov1LbtG','BwfW','ChjVCgvYDhLoyw1L','AwDUB3jLrMLLBgrZ','C2vYDMLJzq','AgfZt3DUuhjVCgvYDhK','Dgv4DgfYzwe','C3rHDhvZ','BgfIzwW','mtq1uKPuqM9s','x19WBhvNAw4','C3DPDgnO','DgvZDa'];_0x287f=function(){return _0x5173aa;};return _0x287f();}export function pinOpColumnsLast(_0x2d82ae){const _0x9f78fb=_0x45a34b,_0x559bc8=[],_0x533db4=[];for(const _0x406202 of _0x2d82ae){_0x406202[_0x9f78fb(0x11e)]==='op'?_0x559bc8['push']({..._0x406202,'fixed':'right'}):_0x533db4[_0x9f78fb(0x155)](_0x406202);}if(!_0x559bc8[_0x9f78fb(0x14c)])return _0x2d82ae;return[..._0x533db4,..._0x559bc8];}export function sortRequiredFirst(_0x229213){const _0x3fc2af=_0x45a34b,_0x1b1626=[],_0x7c7932=[];for(const _0x5c8896 of _0x229213){_0x5c8896[_0x3fc2af(0x12e)]===!![]||typeof _0x5c8896[_0x3fc2af(0x12e)]===_0x3fc2af(0x143)?_0x1b1626['push'](_0x5c8896):_0x7c7932[_0x3fc2af(0x155)](_0x5c8896);}return[..._0x1b1626,..._0x7c7932];}function _0x2c8c(_0x90f9fb,_0x462bb4){_0x90f9fb=_0x90f9fb-0x107;const _0x287f22=_0x287f();let _0x2c8cce=_0x287f22[_0x90f9fb];if(_0x2c8c['AceZJG']===undefined){var _0x53067f=function(_0x25102a){const _0x5d1f2f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3c2e6c='',_0x59e319='';for(let _0x36cc3c=0x0,_0x48dd21,_0x45bf00,_0x589912=0x0;_0x45bf00=_0x25102a['charAt'](_0x589912++);~_0x45bf00&&(_0x48dd21=_0x36cc3c%0x4?_0x48dd21*0x40+_0x45bf00:_0x45bf00,_0x36cc3c++%0x4)?_0x3c2e6c+=String['fromCharCode'](0xff&_0x48dd21>>(-0x2*_0x36cc3c&0x6)):0x0){_0x45bf00=_0x5d1f2f['indexOf'](_0x45bf00);}for(let _0x59dd9c=0x0,_0x34464a=_0x3c2e6c['length'];_0x59dd9c<_0x34464a;_0x59dd9c++){_0x59e319+='%'+('00'+_0x3c2e6c['charCodeAt'](_0x59dd9c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x59e319);};_0x2c8c['ZLQAAh']=_0x53067f,_0x2c8c['KglAit']={},_0x2c8c['AceZJG']=!![];}const _0x4c2bcd=_0x287f22[0x0],_0x26b764=_0x90f9fb+_0x4c2bcd,_0x699074=_0x2c8c['KglAit'][_0x26b764];return!_0x699074?(_0x2c8cce=_0x2c8c['ZLQAAh'](_0x2c8cce),_0x2c8c['KglAit'][_0x26b764]=_0x2c8cce):_0x2c8cce=_0x699074,_0x2c8cce;}export function buildAutoUpsertItems(_0x3ef488,_0x3bafc9={}){const _0x31e416=_0x45a34b,_0x2ce346=new Set([...UPSERT_BUILTIN_IGNORE,..._0x3bafc9[_0x31e416(0x134)]||[]]),_0x258592=[];for(const _0x424f57 of epsColumns(_0x3ef488)){const _0x2cecf7=_0x424f57['propertyName'];if(_0x2ce346[_0x31e416(0x112)](_0x2cecf7))continue;const _0x35f778=_0x424f57[_0x31e416(0x13f)]||_0x2cecf7,_0x4f5078=dictKeyOf(_0x424f57),_0x22c20b=_0x424f57[_0x31e416(0x151)]===![]&&_0x424f57[_0x31e416(0x154)]!==!![],_0x1c6e2b={'prop':_0x2cecf7,'label':_0x35f778,'span':0xc,..._0x22c20b?{'required':!![]}:{}};if(_0x2cecf7===_0x31e416(0x138)){const _0x55544c=_0x4f5078||_0x31e416(0x138);isSwitchDict(_0x55544c)?_0x258592[_0x31e416(0x155)](switchFormItem(_0x1c6e2b,_0x55544c,switchDefaultValue(_0x55544c))):_0x258592[_0x31e416(0x155)]({..._0x1c6e2b,'type':'select','dict':_0x55544c,'value':()=>dictFirstValue(_0x55544c)});continue;}if(_0x4f5078){isSwitchDict(_0x4f5078)?_0x258592[_0x31e416(0x155)](switchFormItem(_0x1c6e2b,_0x4f5078,switchDefaultValue(_0x4f5078))):_0x258592[_0x31e416(0x155)]({..._0x1c6e2b,'type':_0x31e416(0x11d),'dict':_0x4f5078,'value':()=>dictFirstValue(_0x4f5078)});continue;}if(isTextCol(_0x424f57)){_0x258592[_0x31e416(0x155)]({..._0x1c6e2b,'type':_0x31e416(0x137),'span':0xc});continue;}if(isBooleanCol(_0x424f57)){_0x258592[_0x31e416(0x155)]({..._0x1c6e2b,'type':_0x31e416(0x13c),'value':![],'component':{'props':()=>mapDictOptions(_0x31e416(0x113))},'dict':_0x31e416(0x113)});continue;}if(isIntegerCol(_0x424f57)||isNumericCol(_0x424f57)){const _0x181bf4=numberPrecision(_0x424f57);_0x258592[_0x31e416(0x155)]({..._0x1c6e2b,'type':'number','component':{'props':{'type':_0x31e416(0x123),'precision':_0x181bf4,'controls':![]}}});continue;}_0x258592[_0x31e416(0x155)]({..._0x1c6e2b,'type':_0x31e416(0x146)});}return _0x258592;}export function buildAutoTableColumns(_0x5761a8,_0x29a450={}){const _0x4dfe8c=_0x45a34b,_0xf07867=new Set([...TABLE_BUILTIN_IGNORE,...epsTableIgnore(_0x5761a8),..._0x29a450[_0x4dfe8c(0x134)]||[]]),_0x678b13=[];!_0xf07867['has']('selection')&&_0x678b13[_0x4dfe8c(0x155)]({'type':'selection','width':0x32});for(const _0x12703d of epsColumns(_0x5761a8)){const _0x2c198c=_0x12703d[_0x4dfe8c(0x133)];if(_0xf07867['has'](_0x2c198c))continue;const _0x1bebdf=_0x12703d[_0x4dfe8c(0x13f)]||_0x2c198c,_0x44cd6e=dictKeyOf(_0x12703d);if(_0x2c198c===_0x4dfe8c(0x138)){const _0x217f51=_0x44cd6e||_0x4dfe8c(0x138);isSwitchDict(_0x217f51)?_0x678b13[_0x4dfe8c(0x155)]({'prop':_0x2c198c,'label':_0x1bebdf,'width':0x50,'component':{'name':_0x4dfe8c(0x14f),'props':()=>mapDictOptions(_0x217f51)}}):_0x678b13[_0x4dfe8c(0x155)]({'prop':_0x2c198c,'label':_0x1bebdf,'width':0x64,'dict':()=>mapDictOptions(_0x217f51)});continue;}if(_0x44cd6e&&isSwitchDict(_0x44cd6e)){_0x678b13[_0x4dfe8c(0x155)]({'prop':_0x2c198c,'label':_0x1bebdf,'width':0x50,'component':{'name':_0x4dfe8c(0x14f),'props':()=>mapDictOptions(_0x44cd6e)}});continue;}if(_0x2c198c==='id'){_0x678b13[_0x4dfe8c(0x155)]({'prop':_0x2c198c,'label':_0x1bebdf,'width':0x50});continue;}if(_0x2c198c===_0x4dfe8c(0x141)){_0x678b13[_0x4dfe8c(0x155)]({'prop':_0x2c198c,'label':_0x1bebdf,'width':0xa0});continue;}if(_0x44cd6e){_0x678b13['push']({'prop':_0x2c198c,'label':_0x1bebdf,'minWidth':0x78,'dict':()=>mapDictOptions(_0x44cd6e)});continue;}if(isTextCol(_0x12703d)){_0x678b13[_0x4dfe8c(0x155)]({'prop':_0x2c198c,'label':_0x1bebdf,'minWidth':0xa0,'showOverflowTooltip':!![]});continue;}_0x678b13[_0x4dfe8c(0x155)]({'prop':_0x2c198c,'label':_0x1bebdf,'minWidth':0x78});}if(!_0xf07867['has']('op')){const _0x44e237=buildAutoOpButtons(_0x5761a8);_0x44e237[_0x4dfe8c(0x14c)]&&_0x678b13[_0x4dfe8c(0x155)]({'type':'op','buttons':_0x44e237,'fixed':_0x4dfe8c(0x14a)});}return _0x678b13;}
|