vome-core 0.1.25 → 0.1.27
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/config/plugin-dev.js +1 -1
- package/dist/admin/crud/components/vm-color-picker.vue +355 -15
- package/dist/admin/crud/components/vm-richtext.vue +180 -236
- package/dist/admin/crud/config.js +1 -1
- package/dist/admin/crud/confirm.js +1 -1
- package/dist/admin/crud/dict.js +1 -1
- package/dist/admin/crud/key.js +1 -1
- package/dist/admin/crud/mitt.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/directives/perm.js +1 -1
- package/dist/admin/hooks/useUpload.js +1 -1
- 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/tree.js +1 -1
- package/dist/admin/lib/upload.js +1 -1
- package/dist/admin/lib/video-frame.js +1 -1
- package/dist/index.js +1 -1
- package/dist/server/index.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 +9 -1
|
@@ -1,41 +1,11 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div
|
|
3
3
|
class="vm-richtext"
|
|
4
|
-
:class="{
|
|
4
|
+
:class="{
|
|
5
|
+
'is-readonly': readOnlyMode,
|
|
6
|
+
'is-disabled': disabled,
|
|
7
|
+
}"
|
|
5
8
|
>
|
|
6
|
-
<div v-if="!readOnlyMode" class="vm-richtext__toolbar" role="toolbar">
|
|
7
|
-
<button
|
|
8
|
-
v-for="btn in toolbar"
|
|
9
|
-
:key="btn.cmd"
|
|
10
|
-
type="button"
|
|
11
|
-
class="vm-richtext__tool"
|
|
12
|
-
:title="btn.title"
|
|
13
|
-
:disabled="disabled"
|
|
14
|
-
@mousedown.prevent
|
|
15
|
-
@click="runCmd(btn.cmd, 'value' in btn ? btn.value : undefined)"
|
|
16
|
-
>
|
|
17
|
-
<i :class="btn.icon" aria-hidden="true" />
|
|
18
|
-
</button>
|
|
19
|
-
<button
|
|
20
|
-
type="button"
|
|
21
|
-
class="vm-richtext__tool"
|
|
22
|
-
title="插入图片"
|
|
23
|
-
:disabled="disabled || uploading || !uploadImage"
|
|
24
|
-
@mousedown.prevent
|
|
25
|
-
@click="pickImage"
|
|
26
|
-
>
|
|
27
|
-
<i class="ri-image-add-line" aria-hidden="true" />
|
|
28
|
-
</button>
|
|
29
|
-
<input
|
|
30
|
-
ref="fileRef"
|
|
31
|
-
type="file"
|
|
32
|
-
accept="image/*"
|
|
33
|
-
multiple
|
|
34
|
-
class="vm-richtext__file"
|
|
35
|
-
@change="onFileChange"
|
|
36
|
-
/>
|
|
37
|
-
</div>
|
|
38
|
-
|
|
39
9
|
<div
|
|
40
10
|
v-if="readOnlyMode"
|
|
41
11
|
class="vm-richtext__html"
|
|
@@ -44,32 +14,49 @@
|
|
|
44
14
|
|
|
45
15
|
<div
|
|
46
16
|
v-else
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
17
|
+
class="vm-richtext__shell"
|
|
18
|
+
:style="shellStyle"
|
|
19
|
+
>
|
|
20
|
+
<Toolbar
|
|
21
|
+
class="vm-richtext__toolbar"
|
|
22
|
+
:editor="editorRef"
|
|
23
|
+
:default-config="toolbarConfig"
|
|
24
|
+
mode="default"
|
|
25
|
+
/>
|
|
26
|
+
<Editor
|
|
27
|
+
class="vm-richtext__editor"
|
|
28
|
+
:default-config="editorConfig"
|
|
29
|
+
mode="default"
|
|
30
|
+
@on-created="onEditorCreated"
|
|
31
|
+
@on-change="onEditorChange"
|
|
32
|
+
/>
|
|
33
|
+
</div>
|
|
56
34
|
</div>
|
|
57
35
|
</template>
|
|
58
36
|
|
|
59
37
|
<script setup lang="ts">
|
|
60
|
-
import
|
|
38
|
+
import '@wangeditor/editor/dist/css/style.css'
|
|
39
|
+
import { computed, onBeforeUnmount, shallowRef, watch } from 'vue'
|
|
61
40
|
import DOMPurify from 'dompurify'
|
|
41
|
+
import { Editor, Toolbar } from '@wangeditor/editor-for-vue'
|
|
42
|
+
import type { IDomEditor, IEditorConfig, IToolbarConfig } from '@wangeditor/editor'
|
|
43
|
+
import { useUpload } from '../../hooks/useUpload'
|
|
62
44
|
|
|
63
45
|
defineOptions({ name: 'vm-richtext' })
|
|
64
46
|
|
|
65
47
|
const RICH_TAGS = [
|
|
66
48
|
'p',
|
|
67
49
|
'br',
|
|
50
|
+
'div',
|
|
51
|
+
'span',
|
|
68
52
|
'strong',
|
|
69
53
|
'b',
|
|
70
54
|
'em',
|
|
71
55
|
'i',
|
|
72
56
|
'u',
|
|
57
|
+
's',
|
|
58
|
+
'del',
|
|
59
|
+
'strike',
|
|
73
60
|
'a',
|
|
74
61
|
'ul',
|
|
75
62
|
'ol',
|
|
@@ -78,30 +65,43 @@ const RICH_TAGS = [
|
|
|
78
65
|
'h2',
|
|
79
66
|
'h3',
|
|
80
67
|
'h4',
|
|
68
|
+
'h5',
|
|
69
|
+
'h6',
|
|
81
70
|
'blockquote',
|
|
82
71
|
'code',
|
|
83
72
|
'pre',
|
|
84
|
-
'span',
|
|
85
|
-
'div',
|
|
86
73
|
'img',
|
|
74
|
+
'table',
|
|
75
|
+
'thead',
|
|
76
|
+
'tbody',
|
|
77
|
+
'tr',
|
|
78
|
+
'th',
|
|
79
|
+
'td',
|
|
80
|
+
'hr',
|
|
81
|
+
'sup',
|
|
82
|
+
'sub',
|
|
87
83
|
]
|
|
88
84
|
|
|
89
85
|
const props = withDefaults(
|
|
90
86
|
defineProps<{
|
|
91
87
|
modelValue?: string | null
|
|
92
|
-
/** 只读展示(表格列) */
|
|
93
88
|
readonly?: boolean
|
|
94
89
|
disabled?: boolean
|
|
95
90
|
placeholder?: string
|
|
96
|
-
/** 编辑区高度 */
|
|
97
91
|
height?: number | string
|
|
98
|
-
/**
|
|
92
|
+
/** 自定义上传;未传且 autoUpload=true 时走 useUpload 直传 OSS */
|
|
99
93
|
uploadImage?: (file: File) => Promise<string>
|
|
94
|
+
/** autoUpload 默认前缀(须 app/public/**) */
|
|
95
|
+
uploadPrefixPath?: string
|
|
96
|
+
/** false 时禁用插图/粘贴上传(不自动 useUpload) */
|
|
97
|
+
autoUpload?: boolean
|
|
100
98
|
}>(),
|
|
101
99
|
{
|
|
102
100
|
readonly: false,
|
|
103
101
|
placeholder: '请输入内容…',
|
|
104
|
-
height:
|
|
102
|
+
height: 320,
|
|
103
|
+
uploadPrefixPath: 'app/public/richtext',
|
|
104
|
+
autoUpload: true,
|
|
105
105
|
},
|
|
106
106
|
)
|
|
107
107
|
|
|
@@ -109,161 +109,119 @@ const emit = defineEmits<{
|
|
|
109
109
|
'update:modelValue': [v: string]
|
|
110
110
|
}>()
|
|
111
111
|
|
|
112
|
-
const
|
|
113
|
-
const
|
|
114
|
-
const
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
{
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
{ cmd: 'removeFormat', icon: 'ri-format-clear', title: '清除格式' },
|
|
126
|
-
] as const
|
|
112
|
+
const { toUpload } = useUpload()
|
|
113
|
+
const editorRef = shallowRef<IDomEditor>()
|
|
114
|
+
const syncing = shallowRef(false)
|
|
115
|
+
|
|
116
|
+
const readOnlyMode = computed(() => props.readonly)
|
|
117
|
+
|
|
118
|
+
const shellStyle = computed(() => {
|
|
119
|
+
const h =
|
|
120
|
+
typeof props.height === 'number' ? `${props.height}px` : String(props.height || '320px')
|
|
121
|
+
return {
|
|
122
|
+
'--vm-richtext-height': h,
|
|
123
|
+
} as Record<string, string>
|
|
124
|
+
})
|
|
127
125
|
|
|
128
126
|
function sanitize(html: string) {
|
|
129
127
|
return DOMPurify.sanitize(html, {
|
|
130
128
|
ALLOWED_TAGS: RICH_TAGS,
|
|
131
|
-
ALLOWED_ATTR: [
|
|
129
|
+
ALLOWED_ATTR: [
|
|
130
|
+
'href',
|
|
131
|
+
'target',
|
|
132
|
+
'rel',
|
|
133
|
+
'class',
|
|
134
|
+
'src',
|
|
135
|
+
'alt',
|
|
136
|
+
'title',
|
|
137
|
+
'width',
|
|
138
|
+
'height',
|
|
139
|
+
'colspan',
|
|
140
|
+
'rowspan',
|
|
141
|
+
'align',
|
|
142
|
+
],
|
|
132
143
|
})
|
|
133
144
|
}
|
|
134
145
|
|
|
135
146
|
const safeHtml = computed(() => sanitize(String(props.modelValue || '')))
|
|
136
|
-
const readOnlyMode = computed(() => props.readonly)
|
|
137
|
-
|
|
138
|
-
const editorStyle = computed(() => ({
|
|
139
|
-
minHeight: typeof props.height === 'number' ? `${props.height}px` : props.height,
|
|
140
|
-
}))
|
|
141
|
-
|
|
142
|
-
function syncEditorFromModel() {
|
|
143
|
-
if (props.readonly || !editorRef.value) return
|
|
144
|
-
const next = safeHtml.value
|
|
145
|
-
if (editorRef.value.innerHTML !== next) {
|
|
146
|
-
editorRef.value.innerHTML = next || ''
|
|
147
|
-
}
|
|
148
|
-
innerHtml.value = next
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
function emitHtml(html: string) {
|
|
152
|
-
const clean = sanitize(html)
|
|
153
|
-
innerHtml.value = clean
|
|
154
|
-
emit('update:modelValue', clean)
|
|
155
|
-
}
|
|
156
147
|
|
|
157
|
-
|
|
158
|
-
if (!editorRef.value) return
|
|
159
|
-
emitHtml(editorRef.value.innerHTML)
|
|
160
|
-
}
|
|
148
|
+
const toolbarConfig: Partial<IToolbarConfig> = {}
|
|
161
149
|
|
|
162
|
-
function
|
|
163
|
-
|
|
164
|
-
if (
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
img.src = url
|
|
168
|
-
img.alt = alt
|
|
169
|
-
const sel = window.getSelection()
|
|
170
|
-
if (sel?.rangeCount) {
|
|
171
|
-
const range = sel.getRangeAt(0)
|
|
172
|
-
if (ed.contains(range.commonAncestorContainer)) {
|
|
173
|
-
range.deleteContents()
|
|
174
|
-
range.insertNode(img)
|
|
175
|
-
range.setStartAfter(img)
|
|
176
|
-
range.collapse(true)
|
|
177
|
-
sel.removeAllRanges()
|
|
178
|
-
sel.addRange(range)
|
|
179
|
-
} else {
|
|
180
|
-
ed.appendChild(img)
|
|
181
|
-
}
|
|
182
|
-
} else {
|
|
183
|
-
ed.appendChild(img)
|
|
184
|
-
}
|
|
185
|
-
onInput()
|
|
150
|
+
async function resolveUpload(file: File): Promise<string> {
|
|
151
|
+
if (props.uploadImage) return props.uploadImage(file)
|
|
152
|
+
if (props.autoUpload === false) throw new Error('未配置 uploadImage')
|
|
153
|
+
const res = await toUpload(file, { prefixPath: props.uploadPrefixPath })
|
|
154
|
+
return res.url
|
|
186
155
|
}
|
|
187
156
|
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
157
|
+
const editorConfig = computed<Partial<IEditorConfig>>(() => {
|
|
158
|
+
const uploadEnabled = Boolean(props.uploadImage) || props.autoUpload !== false
|
|
159
|
+
return {
|
|
160
|
+
placeholder: props.placeholder,
|
|
161
|
+
readOnly: props.disabled,
|
|
162
|
+
autoFocus: false,
|
|
163
|
+
MENU_CONF: uploadEnabled
|
|
164
|
+
? {
|
|
165
|
+
uploadImage: {
|
|
166
|
+
maxFileSize: 10 * 1024 * 1024,
|
|
167
|
+
allowedFileTypes: ['image/*'],
|
|
168
|
+
async customUpload(file: File, insertFn: (url: string, alt: string, href: string) => void) {
|
|
169
|
+
const url = await resolveUpload(file)
|
|
170
|
+
const alt =
|
|
171
|
+
(file.name || 'image').replace(/\.[^.]+$/, '').trim() || 'image'
|
|
172
|
+
insertFn(url, alt, url)
|
|
173
|
+
},
|
|
174
|
+
},
|
|
175
|
+
}
|
|
176
|
+
: {},
|
|
200
177
|
}
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
function pickImage() {
|
|
204
|
-
if (props.disabled || uploading.value || !props.uploadImage) return
|
|
205
|
-
fileRef.value?.click()
|
|
206
|
-
}
|
|
178
|
+
})
|
|
207
179
|
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
const files = Array.from(input.files || []).filter((f) =>
|
|
211
|
-
f.type.startsWith('image/'),
|
|
212
|
-
)
|
|
213
|
-
input.value = ''
|
|
214
|
-
await uploadFiles(files)
|
|
180
|
+
function emitHtml(html: string) {
|
|
181
|
+
emit('update:modelValue', sanitize(html))
|
|
215
182
|
}
|
|
216
183
|
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
if (file) files.push(file)
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
}
|
|
229
|
-
if (files.length) {
|
|
230
|
-
e.preventDefault()
|
|
231
|
-
await uploadFiles(files)
|
|
232
|
-
return
|
|
233
|
-
}
|
|
234
|
-
}
|
|
235
|
-
e.preventDefault()
|
|
236
|
-
const text = e.clipboardData?.getData('text/plain') || ''
|
|
237
|
-
document.execCommand('insertText', false, text)
|
|
184
|
+
function onEditorCreated(editor: IDomEditor) {
|
|
185
|
+
editorRef.value = editor
|
|
186
|
+
if (props.disabled) editor.disable()
|
|
187
|
+
syncing.value = true
|
|
188
|
+
const html = safeHtml.value
|
|
189
|
+
if (html) editor.setHtml(html)
|
|
190
|
+
else editor.clear()
|
|
191
|
+
syncing.value = false
|
|
238
192
|
}
|
|
239
193
|
|
|
240
|
-
function
|
|
241
|
-
if (
|
|
242
|
-
|
|
243
|
-
if (cmd === 'createLink') {
|
|
244
|
-
const url = window.prompt('链接地址', 'https://')
|
|
245
|
-
if (!url) return
|
|
246
|
-
document.execCommand('createLink', false, url)
|
|
247
|
-
onInput()
|
|
248
|
-
return
|
|
249
|
-
}
|
|
250
|
-
if (cmd === 'formatBlock' && value) {
|
|
251
|
-
document.execCommand('formatBlock', false, value)
|
|
252
|
-
} else {
|
|
253
|
-
document.execCommand(cmd, false, value)
|
|
254
|
-
}
|
|
255
|
-
onInput()
|
|
194
|
+
function onEditorChange(editor: IDomEditor) {
|
|
195
|
+
if (syncing.value) return
|
|
196
|
+
emitHtml(editor.getHtml())
|
|
256
197
|
}
|
|
257
198
|
|
|
258
199
|
watch(
|
|
259
200
|
() => props.modelValue,
|
|
260
|
-
() => {
|
|
261
|
-
|
|
201
|
+
(next) => {
|
|
202
|
+
const editor = editorRef.value
|
|
203
|
+
if (!editor || readOnlyMode.value) return
|
|
204
|
+
const html = sanitize(String(next || ''))
|
|
205
|
+
if (editor.getHtml() === html) return
|
|
206
|
+
syncing.value = true
|
|
207
|
+
if (html) editor.setHtml(html)
|
|
208
|
+
else editor.clear()
|
|
209
|
+
syncing.value = false
|
|
210
|
+
},
|
|
211
|
+
)
|
|
212
|
+
|
|
213
|
+
watch(
|
|
214
|
+
() => props.disabled,
|
|
215
|
+
(v) => {
|
|
216
|
+
const editor = editorRef.value
|
|
217
|
+
if (!editor) return
|
|
218
|
+
if (v) editor.disable()
|
|
219
|
+
else editor.enable()
|
|
262
220
|
},
|
|
263
221
|
)
|
|
264
222
|
|
|
265
|
-
|
|
266
|
-
|
|
223
|
+
onBeforeUnmount(() => {
|
|
224
|
+
editorRef.value?.destroy()
|
|
267
225
|
})
|
|
268
226
|
</script>
|
|
269
227
|
|
|
@@ -271,10 +229,7 @@ onMounted(() => {
|
|
|
271
229
|
.vm-richtext {
|
|
272
230
|
width: 100%;
|
|
273
231
|
min-width: 0;
|
|
274
|
-
|
|
275
|
-
border-radius: var(--vm-control-radius);
|
|
276
|
-
background: var(--card);
|
|
277
|
-
overflow: hidden;
|
|
232
|
+
box-sizing: border-box;
|
|
278
233
|
}
|
|
279
234
|
|
|
280
235
|
.vm-richtext.is-disabled {
|
|
@@ -282,64 +237,25 @@ onMounted(() => {
|
|
|
282
237
|
pointer-events: none;
|
|
283
238
|
}
|
|
284
239
|
|
|
285
|
-
.vm-
|
|
240
|
+
.vm-richtext__shell {
|
|
286
241
|
display: flex;
|
|
287
|
-
flex-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
border
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
.vm-richtext__tool {
|
|
295
|
-
display: inline-flex;
|
|
296
|
-
width: 30px;
|
|
297
|
-
height: 30px;
|
|
298
|
-
align-items: center;
|
|
299
|
-
justify-content: center;
|
|
300
|
-
border: none;
|
|
301
|
-
border-radius: 8px;
|
|
302
|
-
background: transparent;
|
|
303
|
-
color: var(--foreground);
|
|
304
|
-
font-size: 16px;
|
|
305
|
-
cursor: pointer;
|
|
306
|
-
|
|
307
|
-
&:hover:not(:disabled) {
|
|
308
|
-
background: color-mix(in srgb, var(--foreground) 8%, var(--card));
|
|
309
|
-
color: var(--brand);
|
|
310
|
-
}
|
|
242
|
+
flex-direction: column;
|
|
243
|
+
width: 100%;
|
|
244
|
+
min-width: 0;
|
|
245
|
+
border: 1px solid var(--input);
|
|
246
|
+
border-radius: var(--vm-control-radius);
|
|
247
|
+
background: var(--card);
|
|
248
|
+
overflow: hidden;
|
|
311
249
|
}
|
|
312
250
|
|
|
313
|
-
.vm-
|
|
314
|
-
|
|
251
|
+
.vm-richtext__toolbar {
|
|
252
|
+
border-bottom: 1px solid var(--border);
|
|
253
|
+
background: var(--muted);
|
|
315
254
|
}
|
|
316
255
|
|
|
317
256
|
.vm-richtext__editor {
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
color: var(--foreground);
|
|
321
|
-
font-size: 14px;
|
|
322
|
-
line-height: 1.65;
|
|
323
|
-
overflow: auto;
|
|
324
|
-
word-break: break-word;
|
|
325
|
-
|
|
326
|
-
&:empty::before {
|
|
327
|
-
content: attr(data-placeholder);
|
|
328
|
-
color: var(--muted-foreground);
|
|
329
|
-
pointer-events: none;
|
|
330
|
-
}
|
|
331
|
-
|
|
332
|
-
:deep(a) {
|
|
333
|
-
color: var(--brand);
|
|
334
|
-
text-decoration: underline;
|
|
335
|
-
}
|
|
336
|
-
|
|
337
|
-
:deep(img) {
|
|
338
|
-
max-width: 100%;
|
|
339
|
-
height: auto;
|
|
340
|
-
margin: 8px 0;
|
|
341
|
-
border-radius: 8px;
|
|
342
|
-
}
|
|
257
|
+
height: var(--vm-richtext-height, 320px);
|
|
258
|
+
overflow-y: auto;
|
|
343
259
|
}
|
|
344
260
|
|
|
345
261
|
.vm-richtext__html {
|
|
@@ -371,6 +287,18 @@ onMounted(() => {
|
|
|
371
287
|
border-radius: 8px;
|
|
372
288
|
}
|
|
373
289
|
|
|
290
|
+
:deep(table) {
|
|
291
|
+
width: 100%;
|
|
292
|
+
border-collapse: collapse;
|
|
293
|
+
margin: 8px 0;
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
:deep(th),
|
|
297
|
+
:deep(td) {
|
|
298
|
+
border: 1px solid var(--border);
|
|
299
|
+
padding: 6px 8px;
|
|
300
|
+
}
|
|
301
|
+
|
|
374
302
|
:deep(h1),
|
|
375
303
|
:deep(h2),
|
|
376
304
|
:deep(h3),
|
|
@@ -387,3 +315,19 @@ onMounted(() => {
|
|
|
387
315
|
background: transparent;
|
|
388
316
|
}
|
|
389
317
|
</style>
|
|
318
|
+
|
|
319
|
+
<style lang="scss">
|
|
320
|
+
/* wangEditor 全局层:对齐后台 token(勿 scoped,编辑器 DOM 在组件外生成) */
|
|
321
|
+
.vm-richtext__shell .w-e-text-container {
|
|
322
|
+
background: var(--card);
|
|
323
|
+
color: var(--foreground);
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
.vm-richtext__shell .w-e-scroll {
|
|
327
|
+
background: var(--card);
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
.vm-richtext__shell .w-e-bar {
|
|
331
|
+
background: var(--muted);
|
|
332
|
+
}
|
|
333
|
+
</style>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x826569,_0xd5f065){const _0x5453f8=_0x456c,_0x4d599c=_0x826569();while(!![]){try{const _0x50d486=-parseInt(_0x5453f8(0x1be))/0x1*(parseInt(_0x5453f8(0x1bc))/0x2)+-parseInt(_0x5453f8(0x1b9))/0x3*(-parseInt(_0x5453f8(0x1bb))/0x4)+-parseInt(_0x5453f8(0x1c3))/0x5*(-parseInt(_0x5453f8(0x1c4))/0x6)+parseInt(_0x5453f8(0x1b5))/0x7*(-parseInt(_0x5453f8(0x1ba))/0x8)+parseInt(_0x5453f8(0x1b8))/0x9+parseInt(_0x5453f8(0x1c6))/0xa*(parseInt(_0x5453f8(0x1b7))/0xb)+parseInt(_0x5453f8(0x1c5))/0xc*(parseInt(_0x5453f8(0x1bf))/0xd);if(_0x50d486===_0xd5f065)break;else _0x4d599c['push'](_0x4d599c['shift']());}catch(_0x45080f){_0x4d599c['push'](_0x4d599c['shift']());}}}(_0x9673,0x4dd57));function _0x456c(_0x1d13bf,_0x23b9ef){_0x1d13bf=_0x1d13bf-0x1b5;const _0x967317=_0x9673();let _0x456ca2=_0x967317[_0x1d13bf];if(_0x456c['CgeZXM']===undefined){var _0x184268=function(_0x5db693){const _0x387aef='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x125789='',_0x564a6b='';for(let _0xd7c0e9=0x0,_0x2b5ef5,_0x17315d,_0x80a5f1=0x0;_0x17315d=_0x5db693['charAt'](_0x80a5f1++);~_0x17315d&&(_0x2b5ef5=_0xd7c0e9%0x4?_0x2b5ef5*0x40+_0x17315d:_0x17315d,_0xd7c0e9++%0x4)?_0x125789+=String['fromCharCode'](0xff&_0x2b5ef5>>(-0x2*_0xd7c0e9&0x6)):0x0){_0x17315d=_0x387aef['indexOf'](_0x17315d);}for(let _0x372956=0x0,_0x358475=_0x125789['length'];_0x372956<_0x358475;_0x372956++){_0x564a6b+='%'+('00'+_0x125789['charCodeAt'](_0x372956)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x564a6b);};_0x456c['ENOBkQ']=_0x184268,_0x456c['clwRDm']={},_0x456c['CgeZXM']=!![];}const _0x4d56cf=_0x967317[0x0],_0x439416=_0x1d13bf+_0x4d56cf,_0x39e880=_0x456c['clwRDm'][_0x439416];return!_0x39e880?(_0x456ca2=_0x456c['ENOBkQ'](_0x456ca2),_0x456c['clwRDm'][_0x439416]=_0x456ca2):_0x456ca2=_0x39e880,_0x456ca2;}import{getCrudConfig}from'./style';function _0x9673(){const _0x204aba=['nNLrrNbKsG','mtu2z2HZD01X','mZa4mJe1merWvfPPCG','mtC1mJfsDe5eBg0','yxbP','mtfPv0v5y1y','mtyWodu1mLzSsxLjuG','mteXCfLXA0LN','mtG0wKPlvhLy','mta4mdrbDwLjt2u','mZa1nMD3ELj3uW','CgfNAw5HDgLVBG','mZq3z2rhqxfK','mJqXnZyXr2z4Bxfx','C29YDa','BgfIzwW','C2vHCMnO','mZG5nZu1AvvPvKv5'];_0x9673=function(){return _0x204aba;};return _0x9673();}import{CRUD_LABELS,DEFAULT_CRUD_DICT}from'./dict';export{CRUD_LABELS,DEFAULT_CRUD_DICT};export const DEFAULT_CRUD_PERMISSION={'page':!![],'list':!![],'info':!![],'add':!![],'delete':!![],'update':!![]};export function mergeDict(_0x125789){const _0x2cd363=_0x456c,_0x564a6b=getCrudConfig()['dict'];if(!_0x125789)return{..._0x564a6b,'label':{..._0x564a6b['label']}};return{..._0x564a6b,..._0x125789,'api':{..._0x564a6b[_0x2cd363(0x1b6)],..._0x125789[_0x2cd363(0x1b6)]},'pagination':{..._0x564a6b[_0x2cd363(0x1bd)],..._0x125789[_0x2cd363(0x1bd)]},'search':{..._0x564a6b[_0x2cd363(0x1c2)],..._0x125789['search']},'sort':{..._0x564a6b[_0x2cd363(0x1c0)],..._0x125789[_0x2cd363(0x1c0)]},'label':{..._0x564a6b[_0x2cd363(0x1c1)],..._0x125789[_0x2cd363(0x1c1)]}};}export function mergePermission(_0xd7c0e9,_0x2b5ef5){return{...DEFAULT_CRUD_PERMISSION,..._0x2b5ef5,..._0xd7c0e9};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _0x4a3814=_0x5d9b;(function(_0x322690,_0x372369){const _0x5b9b91=_0x5d9b,_0x43314c=_0x322690();while(!![]){try{const _0x5a2873=-parseInt(_0x5b9b91(0xc8))/0x1*(-parseInt(_0x5b9b91(0xc9))/0x2)+parseInt(_0x5b9b91(0xb7))/0x3+parseInt(_0x5b9b91(0xc5))/0x4*(parseInt(_0x5b9b91(0xa9))/0x5)+parseInt(_0x5b9b91(0xcb))/0x6*(-parseInt(_0x5b9b91(0xb5))/0x7)+-parseInt(_0x5b9b91(0xc6))/0x8*(-parseInt(_0x5b9b91(0xac))/0x9)+-parseInt(_0x5b9b91(0xbf))/0xa*(-parseInt(_0x5b9b91(0xc2))/0xb)+parseInt(_0x5b9b91(0xb8))/0xc*(-parseInt(_0x5b9b91(0xba))/0xd);if(_0x5a2873===_0x372369)break;else _0x43314c['push'](_0x43314c['shift']());}catch(_0x30c665){_0x43314c['push'](_0x43314c['shift']());}}}(_0x1c85,0xcc64f));import{createApp,h,ref}from'vue';function _0x5d9b(_0x2d1013,_0x49a5d4){_0x2d1013=_0x2d1013-0xa9;const _0x1c8550=_0x1c85();let _0x5d9b07=_0x1c8550[_0x2d1013];if(_0x5d9b['LzklvQ']===undefined){var _0x55040c=function(_0x41e21a){const _0x5b67c9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x569966='',_0x430a1d='';for(let _0x39c684=0x0,_0x314703,_0x5a9265,_0x3f1f2b=0x0;_0x5a9265=_0x41e21a['charAt'](_0x3f1f2b++);~_0x5a9265&&(_0x314703=_0x39c684%0x4?_0x314703*0x40+_0x5a9265:_0x5a9265,_0x39c684++%0x4)?_0x569966+=String['fromCharCode'](0xff&_0x314703>>(-0x2*_0x39c684&0x6)):0x0){_0x5a9265=_0x5b67c9['indexOf'](_0x5a9265);}for(let _0x36e910=0x0,_0x8f4874=_0x569966['length'];_0x36e910<_0x8f4874;_0x36e910++){_0x430a1d+='%'+('00'+_0x569966['charCodeAt'](_0x36e910)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x430a1d);};_0x5d9b['HSFYgZ']=_0x55040c,_0x5d9b['mRVMMd']={},_0x5d9b['LzklvQ']=!![];}const _0x414c37=_0x1c8550[0x0],_0x356218=_0x2d1013+_0x414c37,_0x3523ae=_0x5d9b['mRVMMd'][_0x356218];return!_0x3523ae?(_0x5d9b07=_0x5d9b['HSFYgZ'](_0x5d9b07),_0x5d9b['mRVMMd'][_0x356218]=_0x5d9b07):_0x5d9b07=_0x3523ae,_0x5d9b07;}import{Dialog,DialogContent,DialogFooter,DialogHeader,DialogTitle}from'#vome-host/components/ui/dialog';export function vmConfirm(_0x569966){const _0x56c574=_0x5d9b,_0x430a1d=typeof _0x569966===_0x56c574(0xbd)?{'message':_0x569966}:_0x569966;return new Promise(_0x39c684=>{const _0x5e6d40=_0x56c574,_0x314703=ref(!![]),_0x5a9265=document['createElement']('div');document['body'][_0x5e6d40(0xb9)](_0x5a9265);const _0x3f1f2b=createApp({'setup'(){const _0xaffb7b=_0x5e6d40;function _0x36e910(_0x8f4874){_0x314703['value']=![],_0x39c684(_0x8f4874),setTimeout(()=>{const _0x15e6a2=_0x5d9b;_0x3f1f2b[_0x15e6a2(0xc4)](),_0x5a9265['remove']();},0xc8);}return()=>h(Dialog,{'open':_0x314703[_0xaffb7b(0xb4)],'onUpdate:open':_0x21095a=>{if(!_0x21095a)_0x36e910(![]);}},{'default':()=>h(DialogContent,{'class':_0xaffb7b(0xb3),'showCloseButton':![]},{'default':()=>[h(DialogHeader,{'class':_0xaffb7b(0xbc)},()=>h(DialogTitle,{'class':'vm-confirm__title'},()=>_0x430a1d[_0xaffb7b(0xca)]||'提示')),h(_0xaffb7b(0xb2),{'class':_0xaffb7b(0xad)},_0x430a1d[_0xaffb7b(0xab)]),h(DialogFooter,{'class':'vm-confirm__foot'},()=>[h(_0xaffb7b(0xc3),{'type':'button','class':_0xaffb7b(0xb1),'onClick':()=>_0x36e910(![])},_0x430a1d['cancelText']||'取消'),h('button',{'type':'button','class':_0xaffb7b(0xc0),'onClick':()=>_0x36e910(!![])},_0x430a1d[_0xaffb7b(0xbe)]||'确定')])]})});}});_0x3f1f2b[_0x5e6d40(0xaf)](_0x5a9265);});}function _0x1c85(){const _0x18ce70=['DM0Ty29UzMLYBv9FyNrUigLZlwDOB3n0','zgL2','DM0Ty29UzMLYBq','DMfSDwu','n3bLu21Yzq','AgvHza','mtaYntaYofjAENDiuq','mJi1nJyWBhnvy1zw','yxbWzw5Kq2HPBgq','mtq0m0nVtg9rzq','cI52Bs1JB25MAxjTw2rHDgeTC2XVDd0NzgLHBg9NlwnVBNrLBNqNxsb7cIaGD2LKDgG6ig1PBIG0mdbWEcWGy2fSyYGXmdb2DYaTidmYChGPksaHAw1WB3j0yw50oWOGig1HEc13Awr0AdOGBwLUkdqWmhb4lcbJywXJkdeWmhz3ic0GmZjWEcKPicfPBxbVCNrHBNq7cIaGz2fWoIaWicfPBxbVCNrHBNq7cIaGCgfKzgLUzZOGmcaHAw1WB3j0yw50oWOGigjVCMrLCJOGBM9UzsaHAw1WB3j0yw50oWOGigjVCMrLCI1YywrPDxm6idi0ChGGiwLTCg9YDgfUDdSkicbIB3GTC2HHzg93oIb2yxiOls1ZAgfKB3CTC29MDcKGiwLTCg9YDgfUDdSkFqOUDM0Ty29UzMLYBv9FAgvHzcb7ihbHzgrPBMC6ide4ChGGmJjWEcaWoYbIB3jKzxiTyM90Dg9ToIbUB25LoYb9cI52Bs1JB25MAxjTx190AxrSzsb7igzVBNqTC2L6ztOGmtzWEdSGzM9UDc13zwLNAhq6idy1mdSGFqOUDM0Ty29UzMLYBv9FyM9KEsb7cIaGCgfKzgLUzZOGmtjWEcaYmNb4idHWEdSkicbJB2XVCJOGDMfYkc0TzM9YzwDYB3vUzcK7cIaGzM9UDc1ZAxPLoIaXnhb4oWOGigXPBMuTAgvPz2H0oIaXlJy7cN0klNzTlwnVBMzPCM1Fx2zVB3qGEWOGigrPC3bSyxK6igzSzxG7cIaGANvZDgLMEs1JB250zw50oIbMBgv4lwvUzdSkicbNyxa6idHWEdSkicbWywrKAw5NoIaXnhb4idiYChG7cN0klNzTlwnVBMzPCM1Fx2j0BIb7cIaGAgvPz2H0oIaZnNb4oWOGihbHzgrPBMC6idaGmtzWEdSkicbIB3jKzxi6ig5VBMu7cIaGyM9YzgvYlxjHzgL1CZOGmtjWEdSkicbMB250lxnPEMu6ideZChG7cIaGzM9UDc13zwLNAhq6idyWmdSkicbJDxjZB3i6ihbVAw50zxi7cN0klNzTlwnVBMzPCM1Fx2j0BI5PCY1WCMLTyxj5ihSGyMfJA2DYB3vUzdOGDMfYkc0TyNjHBMqPoYbJB2XVCJOGi2zMzJSGFqOUDM0Ty29UzMLYBv9FyNrUlMLZlxbYAw1HCNK6Ag92zxiGEYbIywnRz3jVDw5KoIb2yxiOls1ICMfUzc1KzwvWktSGFqOUDM0Ty29UzMLYBv9FyNrUlMLZlwDOB3n0ihSGyMfJA2DYB3vUzdOGDMfYkc0TBxv0zwqPoYbJB2XVCJOGDMfYkc0TzM9YzwDYB3vUzcK7ih0k','DM0Ty29UzMLYBv9FAgvHza','C3rYAw5N','y29UzMLYBvrLEhq','nZy4odG2men2AfDtAW','DM0Ty29UzMLYBv9FyNrUigLZlxbYAw1HCNK','y3jLyxrLrwXLBwvUDa','mtfsB3zvrNC','yNv0Dg9U','Dw5TB3vUDa','mta4DgXSuhHs','nJK1nJKXmNjsywruAW','z2v0rwXLBwvUDej5swq','mJeYnZGZt2jwzg5x','ngnvrwfewG','DgL0Bgu','mteXotCWmNbVDgfZvq','mtmWnJm1seHgB09p','DM0Ty29UzMLYBs1ZDhLSzq','BwvZC2fNzq','ovbur1L4Bq','DM0Ty29UzMLYBv9FyM9KEq','C3r5Bgu','Bw91BNq','Dw5KzwzPBMvK'];_0x1c85=function(){return _0x18ce70;};return _0x1c85();}if(typeof document!==_0x4a3814(0xb0)&&!document[_0x4a3814(0xc7)](_0x4a3814(0xaa))){const style=document[_0x4a3814(0xc1)](_0x4a3814(0xae));style['id']=_0x4a3814(0xaa),style['textContent']=_0x4a3814(0xbb),document[_0x4a3814(0xb6)][_0x4a3814(0xb9)](style);}
|
package/dist/admin/crud/dict.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _0xb0f0ad=_0x29be;(function(_0x169ab4,_0x555515){const _0x1b7be6=_0x29be,_0x4b68de=_0x169ab4();while(!![]){try{const _0x2ab180=-parseInt(_0x1b7be6(0x174))/0x1+-parseInt(_0x1b7be6(0x159))/0x2+-parseInt(_0x1b7be6(0x15d))/0x3*(parseInt(_0x1b7be6(0x166))/0x4)+-parseInt(_0x1b7be6(0x158))/0x5+-parseInt(_0x1b7be6(0x156))/0x6+-parseInt(_0x1b7be6(0x16f))/0x7+parseInt(_0x1b7be6(0x16a))/0x8*(parseInt(_0x1b7be6(0x168))/0x9);if(_0x2ab180===_0x555515)break;else _0x4b68de['push'](_0x4b68de['shift']());}catch(_0x46075b){_0x4b68de['push'](_0x4b68de['shift']());}}}(_0x452d,0x467ef));function _0x29be(_0xab0ea9,_0x39b6a2){_0xab0ea9=_0xab0ea9-0x153;const _0x452de7=_0x452d();let _0x29be29=_0x452de7[_0xab0ea9];if(_0x29be['ByTOHG']===undefined){var _0x1aa7e4=function(_0x1511c3){const _0x174a36='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x140223='',_0x25c9d8='';for(let _0x271c81=0x0,_0x2602a2,_0xcc8a1b,_0x3a9f10=0x0;_0xcc8a1b=_0x1511c3['charAt'](_0x3a9f10++);~_0xcc8a1b&&(_0x2602a2=_0x271c81%0x4?_0x2602a2*0x40+_0xcc8a1b:_0xcc8a1b,_0x271c81++%0x4)?_0x140223+=String['fromCharCode'](0xff&_0x2602a2>>(-0x2*_0x271c81&0x6)):0x0){_0xcc8a1b=_0x174a36['indexOf'](_0xcc8a1b);}for(let _0x14de88=0x0,_0x8e4bb3=_0x140223['length'];_0x14de88<_0x8e4bb3;_0x14de88++){_0x25c9d8+='%'+('00'+_0x140223['charCodeAt'](_0x14de88)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x25c9d8);};_0x29be['xyGujZ']=_0x1aa7e4,_0x29be['NwmGUG']={},_0x29be['ByTOHG']=!![];}const _0xf5087=_0x452de7[0x0],_0x40d875=_0xab0ea9+_0xf5087,_0x4b1fb0=_0x29be['NwmGUG'][_0x40d875];return!_0x4b1fb0?(_0x29be29=_0x29be['xyGujZ'](_0x29be29),_0x29be['NwmGUG'][_0x40d875]=_0x29be29):_0x29be29=_0x4b1fb0,_0x29be29;}export const CRUD_LABELS={'op':'操作','add':'新增','delete':'删除','multiDelete':'删除','export':'导出','import':'导入','update':'编辑','refresh':'刷新','info':'详情','search':'搜索','reset':'重置','clear':'清空','save':'保存','close':'取消','confirm':'确定','advSearch':_0xb0f0ad(0x15b),'searchKey':_0xb0f0ad(0x16c),'placeholder':_0xb0f0ad(0x169),'tips':'提示','saveSuccess':_0xb0f0ad(0x163),'deleteSuccess':'删除成功','deleteConfirm':_0xb0f0ad(0x160),'forceDeleteConfirm':'此操作将永久删除选中数据,是否继续?','empty':_0xb0f0ad(0x153),'desc':'降序','asc':'升序','select':'选择','deselect':_0xb0f0ad(0x165),'seeMore':'查看更多','hideContent':_0xb0f0ad(0x167),'nonEmpty':_0xb0f0ad(0x173),'list':'列表','trash':_0xb0f0ad(0x15e),'searchNamed':'搜索{0}','selectNamed':_0xb0f0ad(0x171),'keyword':_0xb0f0ad(0x175),'range':'区间','min':'最小值','max':_0xb0f0ad(0x16e),'start':'开始','end':'结束','total':'共\x20{0}\x20条','pageSize':_0xb0f0ad(0x176),'prevPage':_0xb0f0ad(0x16b),'nextPage':'下一页','forceDeleted':_0xb0f0ad(0x157),'deleted':_0xb0f0ad(0x172),'restore':'恢复','forceDelete':_0xb0f0ad(0x162),'loading':_0xb0f0ad(0x16d)};export const DEFAULT_CRUD_DICT={'primaryId':'id','api':{'list':_0xb0f0ad(0x15f),'add':'add','update':_0xb0f0ad(0x161),'delete':_0xb0f0ad(0x170),'info':_0xb0f0ad(0x164),'page':'page'},'pagination':{'page':_0xb0f0ad(0x154),'size':_0xb0f0ad(0x15c)},'search':{'keyWord':_0xb0f0ad(0x15a),'query':'query'},'sort':{'prop':_0xb0f0ad(0x155),'order':_0xb0f0ad(0x177)},'label':CRUD_LABELS};function _0x452d(){const _0x18ef5a=['BgLZDa','5Q2K5Pon5l2C5Bcg5PwW5O2U5Qch6k6W5lI65BEY5yIG6zMK77Ym5PIV5zcM57UN57UT77YF','DxbKyxrL','5B275BQv5yIG6zMK','5l+D5A2y5OIq5yQF','Aw5MBW','5y+w5RAi6ycj5OUP','mtu2mZaWDg5quuPK','6zQq6jEp5yAf5A65','mtCXotu3ndj4uu11wMq','6k+36l6t5ywL','oe1iuwzkuq','5lIk5lIa6Ag1','5PcC57sI5ywZ6zsU5A2x','5yQG6l295lIT4OcM','5PYa5AsN5yc8','mJi3mZKWmwPSA0HNEa','zgvSzxrL','6ycj5OUPEZb9','5BEY5yIG6zMK','5lIn6io95lI656M6','mte5oteYwfjqDKHL','5ywZ6zsU5A2x','EZb9ic8G6Ag1','C29YDa','5PQc5PEG5PwW5O2U','CgfNzq','B3jKzxi','mZe5otq0mfnvA1vUCa','5BEY5B275BQv5yIG6zMK','mJeXmZG5mgnczwTmyG','mJa3nZC4yLHrDMzT','A2v5v29Yza','6AUy57QN5PcC57sI','C2L6zq','ouTZqLHtsq','5zUE5Ps256Uz'];_0x452d=function(){return _0x18ef5a;};return _0x452d();}
|
package/dist/admin/crud/key.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function _0x3744(_0x2f9f61,_0x338b1b){_0x2f9f61=_0x2f9f61-0x186;const _0x16c91e=_0x16c9();let _0x3744b7=_0x16c91e[_0x2f9f61];if(_0x3744['FNLTvS']===undefined){var _0xbfff43=function(_0x1d3ead){const _0x37be9e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3b7321='',_0x3aabb6='';for(let _0x1a5359=0x0,_0x85afa5,_0x405b61,_0x4322b7=0x0;_0x405b61=_0x1d3ead['charAt'](_0x4322b7++);~_0x405b61&&(_0x85afa5=_0x1a5359%0x4?_0x85afa5*0x40+_0x405b61:_0x405b61,_0x1a5359++%0x4)?_0x3b7321+=String['fromCharCode'](0xff&_0x85afa5>>(-0x2*_0x1a5359&0x6)):0x0){_0x405b61=_0x37be9e['indexOf'](_0x405b61);}for(let _0x360a7d=0x0,_0x3779b6=_0x3b7321['length'];_0x360a7d<_0x3779b6;_0x360a7d++){_0x3aabb6+='%'+('00'+_0x3b7321['charCodeAt'](_0x360a7d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3aabb6);};_0x3744['daFaUj']=_0xbfff43,_0x3744['LXfIHr']={},_0x3744['FNLTvS']=!![];}const _0x506b37=_0x16c91e[0x0],_0x36c58c=_0x2f9f61+_0x506b37,_0x3975ea=_0x3744['LXfIHr'][_0x36c58c];return!_0x3975ea?(_0x3744b7=_0x3744['daFaUj'](_0x3744b7),_0x3744['LXfIHr'][_0x36c58c]=_0x3744b7):_0x3744b7=_0x3975ea,_0x3744b7;}function _0x16c9(){const _0xe54429=['nte3mtqZnK9utKfdqW','mtC2mtm4mgjkD0nQyq','mJK2mty4t3LhDxjX','ntq1mZaWnwf6uLP6DG','DxnLvxbZzxj0x19VChrPB25Z','mJrbs0P2Afm','DM0Ty3j1zc1TAxr0','DxnLu2vHCMnOx19VChrPB25Z','mJjVsMPKt28','DM0TDgfIBguTyxbP','mZaZmZa5sM13tNDI','mti4rgPTvvvs','nJa5mde4sg1twu1L','DM0Ty3j1za','oda4odaXv2PdzfDr','mJrmzKr1A0O','mwDYAwjHsa','DxnLq3j1zf9FB3b0Aw9UCW'];_0x16c9=function(){return _0xe54429;};return _0x16c9();}const _0x3bce24=_0x3744;(function(_0x90b0d7,_0x580346){const _0x7c66e6=_0x3744,_0x5dbc58=_0x90b0d7();while(!![]){try{const _0x3a08db=parseInt(_0x7c66e6(0x193))/0x1*(parseInt(_0x7c66e6(0x18f))/0x2)+parseInt(_0x7c66e6(0x188))/0x3*(-parseInt(_0x7c66e6(0x197))/0x4)+-parseInt(_0x7c66e6(0x186))/0x5+parseInt(_0x7c66e6(0x192))/0x6*(parseInt(_0x7c66e6(0x191))/0x7)+parseInt(_0x7c66e6(0x18e))/0x8*(parseInt(_0x7c66e6(0x18d))/0x9)+parseInt(_0x7c66e6(0x196))/0xa+-parseInt(_0x7c66e6(0x18b))/0xb*(-parseInt(_0x7c66e6(0x195))/0xc);if(_0x3a08db===_0x580346)break;else _0x5dbc58['push'](_0x5dbc58['shift']());}catch(_0xdcaf02){_0x5dbc58['push'](_0x5dbc58['shift']());}}}(_0x16c9,0xa160c));import{inject}from'vue';export const CRUD_KEY=Symbol(_0x3bce24(0x190));export const CRUD_MITT_KEY=Symbol(_0x3bce24(0x189));export const CRUD_OPTIONS_KEY=Symbol(_0x3bce24(0x194));export const TABLE_OPTIONS_KEY=Symbol('useTable__options');export const UPSERT_OPTIONS_KEY=Symbol(_0x3bce24(0x187));export const SEARCH_OPTIONS_KEY=Symbol(_0x3bce24(0x18a));export const TABLE_API_KEY=Symbol(_0x3bce24(0x18c));export function injectCrudOptions(){return inject(CRUD_OPTIONS_KEY,undefined);}export function injectTableOptions(){return inject(TABLE_OPTIONS_KEY,undefined);}export function injectUpsertOptions(){return inject(UPSERT_OPTIONS_KEY,undefined);}export function injectSearchOptions(){return inject(SEARCH_OPTIONS_KEY,undefined);}
|