@wp1001/ui 2.9.13 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. package/@vant-D4fmGxs6.js +1 -3891
  2. package/index.html +28 -0
  3. package/index.js +1 -8419
  4. package/lib/tinymce/zh_CN.js +1 -0
  5. package/package.json +1 -1
  6. package/packages/assets/devtools-detector.js +1 -2
  7. package/packages/components/xarray/index.js +1 -64
  8. package/packages/components/xautorows/index.js +1 -35
  9. package/packages/components/xbutton/mobile.js +1 -3
  10. package/packages/components/xbutton/pc.js +1 -3
  11. package/packages/components/xbuttons/mobile.js +1 -51
  12. package/packages/components/xbuttons/pc.js +1 -51
  13. package/packages/components/xchart/constants.js +1 -58
  14. package/packages/components/xchart/index.js +1 -263
  15. package/packages/components/xchart/utils.js +1 -121
  16. package/packages/components/xcheckboxs/mobile.js +1 -58
  17. package/packages/components/xcheckboxs/pc.js +1 -49
  18. package/packages/components/xcol/mobile.js +1 -10
  19. package/packages/components/xcol/pc.js +1 -10
  20. package/packages/components/xdatepicker/mobile.js +1 -71
  21. package/packages/components/xdatepicker/pc.js +1 -9
  22. package/packages/components/xdialog/mobile.js +1 -60
  23. package/packages/components/xdialog/pc.js +1 -64
  24. package/packages/components/xdict/index.js +1 -47
  25. package/packages/components/xdistrictselect/mobile.js +1 -79
  26. package/packages/components/xdistrictselect/pc.js +1 -127
  27. package/packages/components/xform/mobile.js +1 -29
  28. package/packages/components/xform/pc.js +1 -42
  29. package/packages/components/xform/utils.js +1 -95
  30. package/packages/components/xformitem/mobile.js +1 -56
  31. package/packages/components/xformitem/pc.js +1 -72
  32. package/packages/components/xicon/mobile.js +1 -35
  33. package/packages/components/xicon/pc.js +1 -35
  34. package/packages/components/xinfo/index.js +1 -100
  35. package/packages/components/xlooper/index.js +1 -7
  36. package/packages/components/xpagination/mobile.js +1 -21
  37. package/packages/components/xpagination/pc.js +1 -21
  38. package/packages/components/xpicker/index.js +1 -38
  39. package/packages/components/xradios/mobile.js +1 -40
  40. package/packages/components/xradios/pc.js +1 -53
  41. package/packages/components/xrow/mobile.js +1 -9
  42. package/packages/components/xrow/pc.js +1 -9
  43. package/packages/components/xscan/mobile.js +1 -24
  44. package/packages/components/xscan/pc.js +1 -20
  45. package/packages/components/xsearcher/index.js +1 -198
  46. package/packages/components/xselect/mobile.js +1 -86
  47. package/packages/components/xselect/pc.js +1 -114
  48. package/packages/components/xselect/util.js +1 -66
  49. package/packages/components/xselectv2/index.js +1 -91
  50. package/packages/components/xtable/mobile.js +1 -108
  51. package/packages/components/xtable/pc.js +1 -143
  52. package/packages/components/xtable/searcher.js +1 -477
  53. package/packages/components/xtable/settings.js +1 -80
  54. package/packages/components/xtable/utils.js +1 -692
  55. package/packages/components/xtabletools/mobile.js +1 -25
  56. package/packages/components/xtabletools/pc.js +1 -18
  57. package/packages/components/xtablev2/index.js +1 -53
  58. package/packages/components/xtags/mobile.js +1 -17
  59. package/packages/components/xtags/pc.js +1 -17
  60. package/packages/components/xtinymce/index.js +1 -71
  61. package/packages/components/xuploader/xfileuploader.js +1 -48
  62. package/packages/components/xuploader/ximageuploader.js +1 -53
  63. package/packages/comps.js +1 -108
  64. package/packages/controllers/BaseController.js +1 -125
  65. package/packages/controllers/CrudController.js +1 -907
  66. package/packages/controllers/TempCrudController.js +1 -32
  67. package/packages/controllers/index.js +1 -15
  68. package/packages/directives/el-table-infinite-scroll.js +1 -55
  69. package/packages/directives/index.js +1 -5
  70. package/packages/index.js +1 -81
  71. package/packages/layout/breadcrumb/index.js +1 -41
  72. package/packages/layout/header/inner.js +1 -11
  73. package/packages/layout/screenlock/index.js +1 -129
  74. package/packages/layout/sidebar/item.js +1 -16
  75. package/packages/layout/sidebar/menu.js +1 -72
  76. package/packages/layout/tagsview/ScrollPane.js +1 -65
  77. package/packages/layout/tagsview/index.js +1 -169
  78. package/packages/plop/actions/make-fill-admin-partials-action.js +1 -95
  79. package/packages/plop/generators/make-admin-page.js +1 -39
  80. package/packages/plop/generators/make-database-admin-pages.js +1 -84
  81. package/packages/plop/generators/make-page-generator.js +1 -52
  82. package/packages/plop/generators/make-simple-page.js +1 -20
  83. package/packages/plop/plopfile.js +1 -24
  84. package/packages/plop/utils/index.js +1 -168
  85. package/packages/plop/utils/plop-utils.js +1 -86
  86. package/packages/utils/crypt.js +1 -24
  87. package/packages/utils/decorators.js +1 -67
  88. package/packages/utils/disallowDevtools.js +1 -53
  89. package/packages/utils/effects.js +1 -173
  90. package/packages/utils/funcs.js +1 -78
  91. package/packages/utils/index.js +1 -95
  92. package/packages/utils/message.js +1 -110
  93. package/packages/utils/middlewares.js +1 -86
  94. package/packages/utils/model.js +1 -71
  95. package/packages/utils/modelUtils.js +1 -203
  96. package/packages/utils/request.js +1 -57
  97. package/packages/utils/site.js +1 -33
  98. package/packages/vite-plugins.js +1 -141
  99. package/src/App.vue +134 -0
  100. package/src/main.js +1 -0
  101. package/src/request.js +1 -0
  102. package/style.css +1 -0
  103. package/vite.config.js +1 -0
  104. package/vite.lib.config.js +1 -0
  105. package/.env +0 -6
@@ -1,692 +1 @@
1
- import { getUrlType, getFiletypeIcon } from '../../utils/funcs.js'
2
-
3
- const { highdict } = StardustJs
4
- const { storage } = StardustBrowser
5
-
6
- const { local } = storage
7
-
8
- const TYPES = ['index', 'selection', 'expand', 'radio', '_index']
9
-
10
- export function props () {
11
- return {
12
- table: Object,
13
- loading: Boolean,
14
- data: Array,
15
- columns: Array,
16
- query: Object,
17
- total: Number,
18
- finished: Boolean,
19
- selection: Array,
20
- chartHeight: String,
21
- chartOption: Object,
22
- tref: Object,
23
- defaultValue: '',
24
- slotAll: {
25
- type: Boolean,
26
- default: false
27
- },
28
- onSelectionChange: Function,
29
- onSortChange: Function,
30
- onHeaderDragend: Function,
31
- onCheckedChange: Function,
32
- onKeywordsSearch: Function,
33
- onSearch: Function,
34
- onAdd: Function,
35
- onEdit: Function,
36
- onDelete: Function,
37
- onRowEdit: Function,
38
- onCancelEdit: Function,
39
- onExport: Function,
40
- onSearchExport: Function,
41
- onImport: Function,
42
- onMultiDelete: Function,
43
- onLoad: Function,
44
-
45
- controller: Object,
46
- listen: {
47
- type: String,
48
- default: '*'
49
- },
50
-
51
- actions: {
52
- type: Array,
53
- default: () => []
54
- },
55
-
56
- title: {
57
- type: String,
58
- default: '表格'
59
- },
60
- useCollapse: {
61
- type: Boolean,
62
- default: false
63
- },
64
- uid: String,
65
- doms: Array
66
- }
67
- }
68
-
69
- export function emits () {
70
- return [
71
- 'update:tref',
72
- 'search',
73
- 'add',
74
- 'edit',
75
- 'row-edit',
76
- 'cancel-edit',
77
- 'delete',
78
- 'export',
79
- 'search-export',
80
- 'load'
81
- ]
82
- }
83
-
84
- export function _attrs () {
85
- const platform = this.$.attrs.platform || (window.isMobile ? 'mobile' : 'pc')
86
- const key = platform + 'TableAttrs'
87
- const dict = {}
88
- if (key in this) Object.assign(dict, this[key])
89
- Object.assign(dict, this.$attrs)
90
- return dict
91
- }
92
-
93
- export function domids () {
94
- const domids = {}
95
- const keys = [
96
- 'keywords-search',
97
- 'search',
98
- 'add',
99
- 'multi-delete',
100
- 'export',
101
- 'search-export',
102
- 'import',
103
-
104
- 'edit',
105
- 'row-edit',
106
- 'cancel-edit',
107
- 'delete',
108
- 'operates'
109
- ]
110
- keys.forEach(key => domids[key] = key)
111
- return { ...domids, ...this.$attrs.domids }
112
- }
113
-
114
- export function elTableAttrs () {
115
- const keys = Object.keys(this._attrs).filter(key => !key.endsWith('-btn'))
116
- const attrs = {}
117
- keys.forEach(key => attrs[key] = this._attrs[key])
118
- delete attrs.platform
119
- return {
120
- border: true,
121
- stripe: true,
122
- fit: true,
123
- 'highlight-current-row': true,
124
- ...attrs,
125
- data: this._data,
126
- 'cell-class-name': this.cellClassName,
127
- 'cell-style': this.cellStyle
128
- }
129
- }
130
-
131
- export function _loading () {
132
- const { table, loading } = this.$props
133
- return loading || table?.loading
134
- }
135
-
136
- export function _data () {
137
- const { table, data } = this.$props
138
- return data || table?.list || []
139
- }
140
-
141
- export function _columns () {
142
- const { $props, _query } = this
143
- const { table, columns } = $props
144
- const cols = columns || table?.columns || []
145
- const domids = cols.map(col => col.tableAttrs?.domid)
146
- return cols.filter((col, index) => !domids[index] || this._doms.includes(domids[index])).map(col => {
147
- if (col.type === '_index') {
148
- return Object.assign({
149
- width: 60,
150
- label: '序号',
151
- index (num) {
152
- const { page, limit } = _query
153
- return (table.isInfinite ? 0 : (page - 1) * limit) + num + 1
154
- }
155
- }, col, { type: 'index' })
156
- } else if (col.type === 'radio') {
157
- return Object.assign({ width: 60, label: '单选' }, col)
158
- }
159
- return Object.assign({}, col, col.tableAttrs)
160
- })
161
- }
162
-
163
- export function _doms () {
164
- return this.doms || this.$store?.acl?.routeDoms || []
165
- }
166
-
167
- export function _query () {
168
- const { table, query } = this.$props
169
- return query || table?.query
170
- }
171
-
172
- export function _total () {
173
- const { table, total } = this.$props
174
- return total || table?.total
175
- }
176
-
177
- export function _finished () {
178
- const { table, finished } = this.$props
179
- return finished ?? table?.finished
180
- }
181
-
182
- export function _selection () {
183
- const { table, selection } = this.$props
184
- return selection || table?.selection
185
- }
186
-
187
- export function _actions () {
188
- const path = this.$route?.path.slice(1).replaceAll('/', ':')
189
- const doms = this.$store?.acl?.routeDoms || []
190
- let items = this.$attrs.platform === 'pc' ? [] : [
191
- { name: '编辑', color: '#07c160', domid: 'edit' },
192
- { name: '删除', color: '#eb6f6f', domid: 'delete' },
193
- ]
194
- items = items.concat(this.actions)
195
- items.forEach(it => {
196
- if (this.$attrs.platform === 'pc') {
197
- if (it.type) delete it.color
198
- }
199
- if (typeof it.handler === 'string') {
200
- it.handler = this.controller[it.handler]
201
- }
202
- })
203
- return items.filter(ele => {
204
- return !ele.domid || doms?.includes(this.domids[ele.domid] ?? ele.domid)
205
- })
206
- }
207
-
208
- export function _chartHeight () {
209
- const { table, chartHeight } = this.$props
210
- return chartHeight || table?.chartHeight || (Math.max(window.innerHeight - 300, 360) + 'px')
211
- }
212
-
213
- export function _chartOption () {
214
- const { table, chartOption } = this.$props
215
- return { ...this._attrs.chartOption, ...table?.chartOption, ...chartOption }
216
- }
217
-
218
- export function _onKeywordsSearch () {
219
- if (this.onKeywordsSearch || this._listen['keywords-search']) {
220
- return (...props) => this._emit('keywords-search', ...props)
221
- }
222
- return null
223
- }
224
-
225
- export function _onSearch () {
226
- if (this.hideSearcher) {
227
- return (this.onSearch || this._listen['search']) ? () => this._emit('search') : null
228
- }
229
- if (this.onSearch || this._listen['search']) {
230
- return (params) => {
231
- if (params) {
232
- this._emit('search')
233
- } else {
234
- this.$refs.searcher.open()
235
- }
236
- }
237
- }
238
- return null
239
- }
240
-
241
- export function _onAdd () {
242
- return (this.onAdd || this._listen['add']) ? () => this._emit('add') : null
243
- }
244
-
245
- export function _onExport () {
246
- return (this.onExport || this._listen['export']) ? () => this._emit('export') : null
247
- }
248
-
249
- export function _onSearchExport () {
250
- return (this.onSearchExport || this._listen['search-export']) ? () => this._emit('search-export') : null
251
- }
252
-
253
- export function _onImport () {
254
- return (this.onImport || this._listen['import']) ? () => this._emit('import') : null
255
- }
256
-
257
- export function _onMultiDelete () {
258
- return (this.onMultiDelete || this._listen['multi-delete']) ? () => this._emit('multi-delete') : null
259
- }
260
-
261
- export function _onLoad () {
262
- return this.onLoad || this._listen['load'] ? () => this._emit('load') : () => {}
263
- }
264
-
265
- export function _listen () {
266
- if (!this.controller || !this.listen?.length) return {}
267
- let events = this.listen.split(',')
268
- if (events.includes('*')) {
269
- events = [...new Set([
270
- ...events, 'keywords-search', 'search', 'add', 'multi-delete', 'export', 'search-export', 'import',
271
- 'edit', 'row-edit', 'cancel-edit', 'delete'
272
- ])]
273
- }
274
- const dict = {}
275
- events.forEach(e => {
276
- const funcName = 'handle' + e.split('-').map(p => p[0].toUpperCase() + p.slice(1)).join('')
277
- dict[e] = this.controller[funcName]
278
- })
279
- return dict
280
- }
281
-
282
- export function _visibleColumns () {
283
- const left = this._columns.filter(col => col.type && TYPES.includes(col.type) || col.fixed === 'left')
284
- const right = this.settings.columns.filter(col => !col.hide && col.fixed !== 'left').map(col => {
285
- const column = this._columns.find(c => c.prop === col.prop)
286
- if (!column) return
287
- return {
288
- sortable: 'custom',
289
- ...column,
290
- width: col.width || column.width
291
- }
292
- }).filter(col => col)
293
- return left.concat(right)
294
- }
295
-
296
- export function _uid () {
297
- const { table, uid } = this.$props
298
- return uid || table?.uid || ''
299
- }
300
-
301
- export function plain () {
302
- const { plain } = this._attrs
303
- return plain || plain === ''
304
- }
305
-
306
- export function hideHeader () {
307
- const { 'hide-header': hideHeader } = this._attrs
308
- return hideHeader || hideHeader === ''
309
- }
310
-
311
- export function hideTools () {
312
- const { 'hide-tools': hideTools } = this._attrs
313
- return this.plain ? hideTools !== false : (hideTools || hideTools === '')
314
- }
315
-
316
- export function hideSearcher () {
317
- const { 'hide-searcher': hideSearcher } = this._attrs
318
- return this.plain ? hideSearcher !== false : (hideSearcher || hideSearcher === '')
319
- }
320
-
321
- export function hideChart () {
322
- const { 'hide-chart': hideChart } = this._attrs
323
- return this.plain ? hideChart !== false : (hideChart || hideChart === '')
324
- }
325
-
326
- export function hideSettings () {
327
- const { 'hide-settings': hideSettings } = this._attrs
328
- return this.plain ? hideSettings !== false : (hideSettings || hideSettings === '')
329
- }
330
-
331
- export function hideOperates () {
332
- const { 'hide-operates': hideOperates } = this._attrs
333
- return this.plain ? hideOperates !== false : (hideOperates || hideOperates === '')
334
- }
335
-
336
- export function hidePagination () {
337
- const { 'hide-pagination': hidePagination } = this._attrs
338
- return this.plain ? hidePagination !== false : (hidePagination || hidePagination === '')
339
- }
340
-
341
- export function operatesWidth () {
342
- return this._attrs['operates-width'] ?? 150
343
- }
344
-
345
- export function operatesDropdown () {
346
- return this._attrs['operates-dropdown']
347
- }
348
-
349
- export function searcherColumns () {
350
- return this._columns.filter(col => !col.virtual && col.canSearch !== false && (!col.type || !TYPES.includes(col.type)))
351
- }
352
-
353
- export function searcherConfig () {
354
- const config = this.table.searcherConfig ?? this._attrs['searcher-config'] ?? {}
355
- if (config.conditions?.length) {
356
- const props = this._columns.map(col => col.prop)
357
- config.conditions = config.conditions.filter(con => props.includes(con.prop))
358
- }
359
- return config
360
- }
361
-
362
- export function initSettings () {
363
- const settings = this._uid && local.getJson(`Settings[${this._uid}]`, {}) || {}
364
- if (!settings.columns?.length) {
365
- settings.columns = this._columns.filter(col => {
366
- return col.label && (col.prop || col.prop === 0) && !(col.type && TYPES.includes(col.type))
367
- }).map(col => {
368
- const { prop, label, show, hide, width, virtual, fixed } = col
369
- return { prop, label, show, hide, width, virtual, fixed }
370
- })
371
- }
372
- this.settings = settings
373
- }
374
-
375
- export function saveSettings (value) {
376
- Object.assign(this.settings, value)
377
- local.setJson(`Settings[${this._uid}]`, this.settings)
378
- }
379
-
380
- export function calcValue (row, column) {
381
- const { prop } = column
382
- const value = row[prop]
383
- let { format, formatter } = column.tableAttrs || column
384
- if (formatter) return formatter(value, row)
385
- format = Array.isArray(column.options) ? format !== false : format
386
- if (format) {
387
- const formatProp = `_formatted_${prop}`
388
- if (formatProp in row) {
389
- return row[formatProp]
390
- }
391
- }
392
- if (value == undefined) {
393
- if (prop.includes('.') || prop.includes('[')) {
394
- return highdict.get(row, prop, this.defaultValue)
395
- }
396
- return this.defaultValue
397
- }
398
- if (value === '') {
399
- return this.defaultValue
400
- }
401
- return value
402
- }
403
-
404
- export function calcLink (row, column) {
405
- if (column.link) return column.link(row)
406
- return highdict.get(row, column.linkProp || column.prop)
407
- }
408
-
409
- export function calcOverflowTooltip (column) {
410
- if (['index', 'selection', 'expand'].includes(column.type)) {
411
- return false
412
- }
413
- const { showOverflowTooltip } = column.tableAttrs || column
414
- return showOverflowTooltip !== false
415
- }
416
-
417
- export function handleSearch (params) {
418
- this.params = params
419
- this._emit('search', params)
420
- }
421
-
422
- export function handleResetSettings () {
423
- this.saveSettings({})
424
- this.initSettings()
425
- }
426
-
427
- export function handleHeaderDragend (newWidth, oldWidth, column, event) {
428
- const col = this.settings.columns.find(col => col.prop === column.property)
429
- if (col) {
430
- col.width = newWidth
431
- this.saveSettings(this.settings)
432
- }
433
- if (this.onHeaderDragend) {
434
- this.onHeaderDragend(newWidth, oldWidth, column, event)
435
- }
436
- }
437
-
438
- export function handleSelectionChange (rows) {
439
- if (this._selection) {
440
- this._selection.splice(0)
441
- this._selection.push(...rows)
442
- }
443
- if (this.onSelectionChange) {
444
- this.onSelectionChange(rows)
445
- }
446
- }
447
-
448
- export function handleSortChange (params) {
449
- if (this.onSortChange) {
450
- this.onSortChange(params)
451
- } else {
452
- if (Array.isArray(params)) {
453
- this.controller?.handleSortChange?.(params)
454
- } else if (params.column.sortable === 'custom') {
455
- this.controller?.handleSortChange?.(params)
456
- }
457
- }
458
- }
459
-
460
- export function handleCheckedChange (e) {
461
- this.checked = e.target.value * 1
462
- const row = this._data[this.checked]
463
- if (this.table) {
464
- this.table.checked = row
465
- }
466
- if (this.onCheckedChange) {
467
- this.onCheckedChange(row)
468
- }
469
- }
470
-
471
- export function handleCollapseChange (activeNames) {
472
- if (activeNames.length) {
473
- this.isMinus = false
474
- if (!this.useCollapse) {
475
- this._useCollapse = false
476
- }
477
- }
478
- }
479
-
480
- export function handleMinus () {
481
- this.isMinus = !this.isMinus
482
- if (this.isMinus) {
483
- this._useCollapse = true
484
- this.activeNames = []
485
- } else {
486
- this._useCollapse = this.useCollapse
487
- this.activeNames = ['name']
488
- }
489
- }
490
-
491
- export function handleToggleFullscreen () {
492
- this.isFullscreen = !this.isFullscreen
493
- if (this.isFullscreen) {
494
- this.zoom = document.documentElement.style.zoom
495
- document.documentElement.style.zoom = 1
496
- } else {
497
- document.documentElement.style.zoom = this.zoom
498
- }
499
- }
500
-
501
- export function cellClassName (props) {
502
- let classNames = this._attrs['cell-class-name'] ? this._attrs['cell-class-name'](props) : ''
503
- const col = this._visibleColumns[props.columnIndex]
504
- if (col?.tableAttrs?.class) {
505
- const klass = col.tableAttrs.class
506
- if (typeof klass === 'function') {
507
- classNames += ' ' + klass(props)
508
- } else if (typeof klass === 'string') {
509
- classNames += ' ' + klass
510
- }
511
- }
512
- return !classNames ? '' : [...new Set(classNames.split(' '))].join(' ')
513
- }
514
-
515
- export function cellStyle (props) {
516
- const style = this._attrs['cell-style'] ? this._attrs['cell-style'](props) : {}
517
- const col = this._visibleColumns[props.columnIndex]
518
- if (col?.tableAttrs?.style) {
519
- const sty = col.tableAttrs.style
520
- if (typeof sty === 'function') {
521
- Object.assign(style, sty(props))
522
- } else if (typeof sty === 'object') {
523
- Object.assign(style, sty)
524
- }
525
- }
526
- return Object.keys(style) ? style : null
527
- }
528
-
529
- export function calcTagType (scope, column) {
530
- const { tagTypes, prop, options } = column
531
- const value = scope.row[prop]
532
- if (tagTypes) {
533
- if (typeof tagTypes === 'function') {
534
- return tagTypes(value, scope, column)
535
- } else if (typeof tagTypes === 'object') {
536
- return tagTypes[value]
537
- }
538
- } else if (options) {
539
- const op = options.find(o => o[column.value || 'value'] === value)
540
- if (op?.tagType) return op.tagType
541
- }
542
- return value ? 'success' : 'danger'
543
- }
544
-
545
- export function calcTagValue (scope, column) {
546
- const { tagValues, prop, options } = column
547
- const value = scope.row[prop]
548
- if (tagValues) {
549
- if (typeof tagValues === 'function') {
550
- return tagValues(value, scope, column)
551
- } else if (typeof tagValues === 'object') {
552
- return tagValues[value]
553
- }
554
- } else if (options) {
555
- const op = options.find(o => o[column.value || 'value'] === value)
556
- if (op) return op[column.text || 'text']
557
- }
558
- return value
559
- }
560
-
561
- export function canEdit (row) {
562
- return !!(this.onEdit || this._listen['edit']) && (row.editable !== false) && !row.isEditing
563
- }
564
-
565
- export function canSave (row) {
566
- return !!(this.onRowEdit || this._listen['row-edit']) && this.table.isRowEdit && row.isEditing
567
- }
568
-
569
- export function canRowEdit (row) {
570
- return !!(this.onRowEdit || this._listen['row-edit']) && this.table.isRowEdit && row.isEditing
571
- }
572
-
573
- export function canCancelEdit (row) {
574
- return !!(this.onCancelEdit || this._listen['cancel-edit']) && this.table.isRowEdit && row.isEditing
575
- }
576
-
577
- export function canDelete (row) {
578
- return !!(this.onDelete || this._listen['delete']) && row.deletable !== false
579
- }
580
-
581
- export function calcImages (scope, column) {
582
- const value = scope.row[column.prop]
583
- let images = []
584
- if (column.images) {
585
- images = column.images(value, scope.row)
586
- } else {
587
- images = Array.isArray(value) ? value : [value]
588
- }
589
- images = images.filter(ele => ele).map(ele => {
590
- if (typeof ele !== 'object') {
591
- ele = { url: ele, name: ele.split('/').pop() }
592
- }
593
- ele.type ||= getUrlType(ele.url)
594
- ele.icon = column.icons?.[ele.type] ?? getFiletypeIcon(ele.type)
595
- return ele
596
- })
597
- scope._images = images
598
- scope._urls = images.map(ele => ele.url)
599
- scope._image_urls = images.filter(ele => ele.type === 'image').map(ele => ele.url)
600
- return images
601
- }
602
-
603
- export function _emit (event, payload) {
604
- const funcName = 'on' + event.split('-').map(p => p[0].toUpperCase() + p.slice(1)).join('')
605
- if (this[funcName]) {
606
- this[funcName](payload)
607
- } else if (this._listen[event]) {
608
- this._listen[event](payload)
609
- } else {
610
- this.$emit(event, payload)
611
- }
612
- }
613
-
614
- export function $route () {
615
- if (this.zoom !== 1) {
616
- document.documentElement.style.zoom = this.zoom
617
- }
618
- }
619
-
620
- export default {
621
- props,
622
- emits,
623
- computed: {
624
- _attrs,
625
- domids,
626
- elTableAttrs,
627
- _loading,
628
- _data,
629
- _columns,
630
- _doms,
631
- _query,
632
- _total,
633
- _finished,
634
- _selection,
635
- _actions,
636
- _chartHeight,
637
- _chartOption,
638
- _onKeywordsSearch,
639
- _onSearch,
640
- _onAdd,
641
- _onExport,
642
- _onSearchExport,
643
- _onImport,
644
- _onMultiDelete,
645
- _onLoad,
646
- _listen,
647
- _visibleColumns,
648
- _uid,
649
- plain,
650
- hideHeader,
651
- hideTools,
652
- hideSearcher,
653
- hideChart,
654
- hideSettings,
655
- hideOperates,
656
- hidePagination,
657
- operatesWidth,
658
- operatesDropdown,
659
- searcherColumns,
660
- searcherConfig
661
- },
662
- watch: {
663
- $route
664
- },
665
- methods: {
666
- initSettings,
667
- saveSettings,
668
- calcValue,
669
- calcLink,
670
- calcOverflowTooltip,
671
- handleSearch,
672
- handleResetSettings,
673
- handleHeaderDragend,
674
- handleSelectionChange,
675
- handleSortChange,
676
- handleCheckedChange,
677
- handleCollapseChange,
678
- handleMinus,
679
- handleToggleFullscreen,
680
- cellClassName,
681
- cellStyle,
682
- calcTagType,
683
- calcTagValue,
684
- canEdit,
685
- canSave,
686
- canRowEdit,
687
- canCancelEdit,
688
- canDelete,
689
- calcImages,
690
- _emit
691
- }
692
- }
1
+ const a51_0x2a0a6a=a51_0x351a;(function(_0x208bbe,_0x4d8b2d){const _0x308502=a51_0x351a,_0x55157b=_0x208bbe();while(!![]){try{const _0x92cb68=parseInt(_0x308502(0x170))/0x1*(parseInt(_0x308502(0x1ac))/0x2)+parseInt(_0x308502(0x1b4))/0x3+-parseInt(_0x308502(0x177))/0x4+-parseInt(_0x308502(0x16f))/0x5+-parseInt(_0x308502(0x193))/0x6*(-parseInt(_0x308502(0x14e))/0x7)+parseInt(_0x308502(0x1a7))/0x8+-parseInt(_0x308502(0x159))/0x9;if(_0x92cb68===_0x4d8b2d)break;else _0x55157b['push'](_0x55157b['shift']());}catch(_0x2bec0f){_0x55157b['push'](_0x55157b['shift']());}}}(a51_0x1b90,0x4936f));import{getUrlType,getFiletypeIcon}from'../../utils/funcs.js';const {highdict}=StardustJs,{storage}=StardustBrowser,{local}=storage,TYPES=[a51_0x2a0a6a(0x1a8),a51_0x2a0a6a(0x1af),a51_0x2a0a6a(0x1d6),a51_0x2a0a6a(0x181),a51_0x2a0a6a(0x142)];export function props(){return{'table':Object,'loading':Boolean,'data':Array,'columns':Array,'query':Object,'total':Number,'finished':Boolean,'selection':Array,'chartHeight':String,'chartOption':Object,'tref':Object,'defaultValue':'','slotAll':{'type':Boolean,'default':![]},'onSelectionChange':Function,'onSortChange':Function,'onHeaderDragend':Function,'onCheckedChange':Function,'onKeywordsSearch':Function,'onSearch':Function,'onAdd':Function,'onEdit':Function,'onDelete':Function,'onRowEdit':Function,'onCancelEdit':Function,'onExport':Function,'onSearchExport':Function,'onImport':Function,'onMultiDelete':Function,'onLoad':Function,'controller':Object,'listen':{'type':String,'default':'*'},'actions':{'type':Array,'default':()=>[]},'title':{'type':String,'default':'表格'},'useCollapse':{'type':Boolean,'default':![]},'uid':String,'doms':Array};}export function emits(){const _0x3e3803=a51_0x2a0a6a;return[_0x3e3803(0x197),_0x3e3803(0x1a0),'add',_0x3e3803(0x1b5),_0x3e3803(0x182),_0x3e3803(0x1e7),'delete',_0x3e3803(0x19b),_0x3e3803(0x146),'load'];}export function _attrs(){const _0x14d042=a51_0x2a0a6a,_0x2c2fac=this['$'][_0x14d042(0x1b9)][_0x14d042(0x171)]||(window[_0x14d042(0x17a)]?_0x14d042(0x180):'pc'),_0x34420d=_0x2c2fac+_0x14d042(0x1e2),_0x4544a6={};if(_0x34420d in this)Object[_0x14d042(0x13f)](_0x4544a6,this[_0x34420d]);return Object['assign'](_0x4544a6,this[_0x14d042(0x1b8)]),_0x4544a6;}export function domids(){const _0x21d1a8=a51_0x2a0a6a,_0x4e8d4c={},_0x305a07=[_0x21d1a8(0x1cb),_0x21d1a8(0x1a0),_0x21d1a8(0x195),'multi-delete',_0x21d1a8(0x19b),_0x21d1a8(0x146),_0x21d1a8(0x1e1),_0x21d1a8(0x1b5),'row-edit','cancel-edit',_0x21d1a8(0x1e0),_0x21d1a8(0x150)];return _0x305a07[_0x21d1a8(0x1ab)](_0x26d17c=>_0x4e8d4c[_0x26d17c]=_0x26d17c),{..._0x4e8d4c,...this[_0x21d1a8(0x1b8)]['domids']};}export function elTableAttrs(){const _0x10fc6a=a51_0x2a0a6a,_0x48e6e4=Object[_0x10fc6a(0x19d)](this[_0x10fc6a(0x155)])[_0x10fc6a(0x1bf)](_0x1225e9=>!_0x1225e9[_0x10fc6a(0x14c)](_0x10fc6a(0x168))),_0x138ce8={};return _0x48e6e4[_0x10fc6a(0x1ab)](_0xf358a1=>_0x138ce8[_0xf358a1]=this[_0x10fc6a(0x155)][_0xf358a1]),delete _0x138ce8['platform'],{'border':!![],'stripe':!![],'fit':!![],'highlight-current-row':!![],..._0x138ce8,'data':this[_0x10fc6a(0x148)],'cell-class-name':this[_0x10fc6a(0x166)],'cell-style':this[_0x10fc6a(0x1bd)]};}export function _loading(){const {table:_0x1ea36b,loading:_0x32bbc8}=this['$props'];return _0x32bbc8||_0x1ea36b?.['loading'];}export function _data(){const _0x28fe97=a51_0x2a0a6a,{table:_0x3bb7b1,data:_0x32888c}=this[_0x28fe97(0x1dc)];return _0x32888c||_0x3bb7b1?.[_0x28fe97(0x16b)]||[];}export function _columns(){const _0x5c7280=a51_0x2a0a6a,{$props:_0x418703,_query:_0x372e04}=this,{table:_0x4504d1,columns:_0x531ae5}=_0x418703,_0x15ba41=_0x531ae5||_0x4504d1?.[_0x5c7280(0x145)]||[],_0x32b6d6=_0x15ba41[_0x5c7280(0x1e6)](_0x4ea6aa=>_0x4ea6aa[_0x5c7280(0x164)]?.[_0x5c7280(0x1a4)]);return _0x15ba41[_0x5c7280(0x1bf)]((_0x409083,_0x55aa71)=>!_0x32b6d6[_0x55aa71]||this[_0x5c7280(0x163)][_0x5c7280(0x1a5)](_0x32b6d6[_0x55aa71]))[_0x5c7280(0x1e6)](_0x3c50d7=>{const _0x3766fd=_0x5c7280;if(_0x3c50d7['type']===_0x3766fd(0x142))return Object[_0x3766fd(0x13f)]({'width':0x3c,'label':'序号','index'(_0x5d0fd6){const _0x4bc80a=_0x3766fd,{page:_0x18b28c,limit:_0x55fc55}=_0x372e04;return(_0x4504d1[_0x4bc80a(0x1d3)]?0x0:(_0x18b28c-0x1)*_0x55fc55)+_0x5d0fd6+0x1;}},_0x3c50d7,{'type':_0x3766fd(0x1a8)});else{if(_0x3c50d7[_0x3766fd(0x1da)]===_0x3766fd(0x181))return Object[_0x3766fd(0x13f)]({'width':0x3c,'label':'单选'},_0x3c50d7);}return Object[_0x3766fd(0x13f)]({},_0x3c50d7,_0x3c50d7['tableAttrs']);});}export function _doms(){const _0x222fc6=a51_0x2a0a6a;return this['doms']||this[_0x222fc6(0x16e)]?.[_0x222fc6(0x17f)]?.[_0x222fc6(0x17d)]||[];}export function _query(){const _0x51f8e2=a51_0x2a0a6a,{table:_0x2fbb2a,query:_0x3aa3fe}=this[_0x51f8e2(0x1dc)];return _0x3aa3fe||_0x2fbb2a?.[_0x51f8e2(0x17e)];}export function _total(){const _0x2598c0=a51_0x2a0a6a,{table:_0x455e1b,total:_0x5a4e3e}=this['$props'];return _0x5a4e3e||_0x455e1b?.[_0x2598c0(0x1c2)];}export function _finished(){const _0x2117f0=a51_0x2a0a6a,{table:_0x5d7b6f,finished:_0x1be5e0}=this['$props'];return _0x1be5e0??_0x5d7b6f?.[_0x2117f0(0x17c)];}export function _selection(){const _0x237889=a51_0x2a0a6a,{table:_0x46631f,selection:_0xf88f51}=this[_0x237889(0x1dc)];return _0xf88f51||_0x46631f?.['selection'];}export function _actions(){const _0x5e4c99=a51_0x2a0a6a,_0x41c45d=this[_0x5e4c99(0x198)]?.[_0x5e4c99(0x1cc)][_0x5e4c99(0x15f)](0x1)[_0x5e4c99(0x189)]('/',':'),_0x39afa8=this[_0x5e4c99(0x16e)]?.[_0x5e4c99(0x17f)]?.[_0x5e4c99(0x17d)]||[];let _0x1ed069=this[_0x5e4c99(0x1b8)][_0x5e4c99(0x171)]==='pc'?[]:[{'name':'编辑','color':_0x5e4c99(0x141),'domid':'edit'},{'name':'删除','color':_0x5e4c99(0x1ba),'domid':_0x5e4c99(0x1e0)}];return _0x1ed069=_0x1ed069['concat'](this[_0x5e4c99(0x187)]),_0x1ed069['forEach'](_0x5041bb=>{const _0x4f6282=_0x5e4c99;if(this[_0x4f6282(0x1b8)][_0x4f6282(0x171)]==='pc'){if(_0x5041bb[_0x4f6282(0x1da)])delete _0x5041bb[_0x4f6282(0x14f)];}typeof _0x5041bb[_0x4f6282(0x179)]===_0x4f6282(0x14a)&&(_0x5041bb[_0x4f6282(0x179)]=this['controller'][_0x5041bb[_0x4f6282(0x179)]]);}),_0x1ed069[_0x5e4c99(0x1bf)](_0x5db695=>{const _0x548d0b=_0x5e4c99;return!_0x5db695['domid']||_0x39afa8?.['includes'](this[_0x548d0b(0x196)][_0x5db695[_0x548d0b(0x1a4)]]??_0x5db695[_0x548d0b(0x1a4)]);});}export function _chartHeight(){const _0x1b231d=a51_0x2a0a6a,{table:_0x1e71b2,chartHeight:_0x4cf90a}=this[_0x1b231d(0x1dc)];return _0x4cf90a||_0x1e71b2?.[_0x1b231d(0x18a)]||Math[_0x1b231d(0x1b1)](window[_0x1b231d(0x143)]-0x12c,0x168)+'px';}export function _chartOption(){const _0xaa0c6c=a51_0x2a0a6a,{table:_0x4ad60c,chartOption:_0x17a343}=this[_0xaa0c6c(0x1dc)];return{...this[_0xaa0c6c(0x155)][_0xaa0c6c(0x152)],..._0x4ad60c?.[_0xaa0c6c(0x152)],..._0x17a343};}export function _onKeywordsSearch(){const _0x20eebb=a51_0x2a0a6a;if(this[_0x20eebb(0x1d9)]||this[_0x20eebb(0x16a)]['keywords-search'])return(..._0x3e3031)=>this[_0x20eebb(0x19f)](_0x20eebb(0x1cb),..._0x3e3031);return null;}function a51_0x351a(_0x1b4dff,_0x5d344c){const _0x1b9091=a51_0x1b90();return a51_0x351a=function(_0x351a25,_0x704cc3){_0x351a25=_0x351a25-0x13f;let _0x5a0bbc=_0x1b9091[_0x351a25];return _0x5a0bbc;},a51_0x351a(_0x1b4dff,_0x5d344c);}export function _onSearch(){const _0x461200=a51_0x2a0a6a;if(this[_0x461200(0x149)])return this[_0x461200(0x1e8)]||this[_0x461200(0x16a)]['search']?()=>this['_emit'](_0x461200(0x1a0)):null;if(this[_0x461200(0x1e8)]||this[_0x461200(0x16a)][_0x461200(0x1a0)])return _0xfbeb5b=>{const _0x52aa98=_0x461200;_0xfbeb5b?this['_emit']('search'):this[_0x52aa98(0x1bb)]['searcher'][_0x52aa98(0x156)]();};return null;}export function _onAdd(){const _0x4ee76f=a51_0x2a0a6a;return this[_0x4ee76f(0x154)]||this[_0x4ee76f(0x16a)]['add']?()=>this[_0x4ee76f(0x19f)](_0x4ee76f(0x195)):null;}export function _onExport(){const _0x2ad547=a51_0x2a0a6a;return this[_0x2ad547(0x192)]||this[_0x2ad547(0x16a)][_0x2ad547(0x19b)]?()=>this[_0x2ad547(0x19f)](_0x2ad547(0x19b)):null;}export function _onSearchExport(){const _0x3d930c=a51_0x2a0a6a;return this[_0x3d930c(0x158)]||this[_0x3d930c(0x16a)][_0x3d930c(0x146)]?()=>this[_0x3d930c(0x19f)](_0x3d930c(0x146)):null;}export function _onImport(){const _0x4ab16d=a51_0x2a0a6a;return this['onImport']||this['_listen'][_0x4ab16d(0x1e1)]?()=>this['_emit'](_0x4ab16d(0x1e1)):null;}export function _onMultiDelete(){const _0x2f549e=a51_0x2a0a6a;return this[_0x2f549e(0x15d)]||this[_0x2f549e(0x16a)][_0x2f549e(0x18d)]?()=>this[_0x2f549e(0x19f)](_0x2f549e(0x18d)):null;}export function _onLoad(){const _0x2f8671=a51_0x2a0a6a;return this['onLoad']||this[_0x2f8671(0x16a)][_0x2f8671(0x1be)]?()=>this[_0x2f8671(0x19f)](_0x2f8671(0x1be)):()=>{};}export function _listen(){const _0x5fccf9=a51_0x2a0a6a;if(!this['controller']||!this['listen']?.[_0x5fccf9(0x1b3)])return{};let _0x288093=this[_0x5fccf9(0x1c0)][_0x5fccf9(0x1c1)](',');_0x288093[_0x5fccf9(0x1a5)]('*')&&(_0x288093=[...new Set([..._0x288093,'keywords-search',_0x5fccf9(0x1a0),_0x5fccf9(0x195),'multi-delete',_0x5fccf9(0x19b),'search-export','import','edit',_0x5fccf9(0x182),'cancel-edit',_0x5fccf9(0x1e0)])]);const _0x54d443={};return _0x288093[_0x5fccf9(0x1ab)](_0x5e9d3c=>{const _0x1dc726=_0x5fccf9,_0x5de70b=_0x1dc726(0x16c)+_0x5e9d3c[_0x1dc726(0x1c1)]('-')['map'](_0x5f46d1=>_0x5f46d1[0x0]['toUpperCase']()+_0x5f46d1[_0x1dc726(0x15f)](0x1))[_0x1dc726(0x1e5)]('');_0x54d443[_0x5e9d3c]=this[_0x1dc726(0x1c7)][_0x5de70b];}),_0x54d443;}export function _visibleColumns(){const _0x30f602=a51_0x2a0a6a,_0x3036a6=this[_0x30f602(0x1d0)][_0x30f602(0x1bf)](_0x5e7d47=>_0x5e7d47[_0x30f602(0x1da)]&&TYPES[_0x30f602(0x1a5)](_0x5e7d47[_0x30f602(0x1da)])||_0x5e7d47[_0x30f602(0x1ca)]==='left'),_0x3badf6=this[_0x30f602(0x1bc)][_0x30f602(0x145)][_0x30f602(0x1bf)](_0x4608ec=>!_0x4608ec[_0x30f602(0x1dd)]&&_0x4608ec[_0x30f602(0x1ca)]!==_0x30f602(0x1cf))['map'](_0x18e637=>{const _0x402653=_0x30f602,_0x7dc666=this['_columns'][_0x402653(0x15a)](_0x3b69b0=>_0x3b69b0['prop']===_0x18e637['prop']);if(!_0x7dc666)return;return{'sortable':_0x402653(0x140),..._0x7dc666,'width':_0x18e637[_0x402653(0x188)]||_0x7dc666[_0x402653(0x188)]};})[_0x30f602(0x1bf)](_0x27166a=>_0x27166a);return _0x3036a6[_0x30f602(0x1de)](_0x3badf6);}export function _uid(){const _0x336c63=a51_0x2a0a6a,{table:_0x323cda,uid:_0x34cb42}=this[_0x336c63(0x1dc)];return _0x34cb42||_0x323cda?.[_0x336c63(0x1a6)]||'';}export function plain(){const _0x57c1f4=a51_0x2a0a6a,{plain:_0x36ba3f}=this[_0x57c1f4(0x155)];return _0x36ba3f||_0x36ba3f==='';}export function hideHeader(){const _0x1e05a9=a51_0x2a0a6a,{'hide-header':_0x2b736e}=this[_0x1e05a9(0x155)];return _0x2b736e||_0x2b736e==='';}export function hideTools(){const _0x13805c=a51_0x2a0a6a,{'hide-tools':_0x22c663}=this[_0x13805c(0x155)];return this[_0x13805c(0x19c)]?_0x22c663!==![]:_0x22c663||_0x22c663==='';}export function hideSearcher(){const _0x445cdd=a51_0x2a0a6a,{'hide-searcher':_0x107c30}=this[_0x445cdd(0x155)];return this['plain']?_0x107c30!==![]:_0x107c30||_0x107c30==='';}export function hideChart(){const _0x4565b3=a51_0x2a0a6a,{'hide-chart':_0x218732}=this[_0x4565b3(0x155)];return this['plain']?_0x218732!==![]:_0x218732||_0x218732==='';}export function hideSettings(){const _0x34a605=a51_0x2a0a6a,{'hide-settings':_0x1c6a79}=this[_0x34a605(0x155)];return this[_0x34a605(0x19c)]?_0x1c6a79!==![]:_0x1c6a79||_0x1c6a79==='';}export function hideOperates(){const _0x3ce75a=a51_0x2a0a6a,{'hide-operates':_0x1c47a6}=this[_0x3ce75a(0x155)];return this[_0x3ce75a(0x19c)]?_0x1c47a6!==![]:_0x1c47a6||_0x1c47a6==='';}export function hidePagination(){const _0x14dbda=a51_0x2a0a6a,{'hide-pagination':_0x3f2ffa}=this[_0x14dbda(0x155)];return this[_0x14dbda(0x19c)]?_0x3f2ffa!==![]:_0x3f2ffa||_0x3f2ffa==='';}export function operatesWidth(){const _0x548751=a51_0x2a0a6a;return this[_0x548751(0x155)]['operates-width']??0x96;}export function operatesDropdown(){const _0x51fe38=a51_0x2a0a6a;return this[_0x51fe38(0x155)][_0x51fe38(0x1d4)];}export function searcherColumns(){const _0x25d2bb=a51_0x2a0a6a;return this[_0x25d2bb(0x1d0)][_0x25d2bb(0x1bf)](_0x2ca068=>!_0x2ca068[_0x25d2bb(0x1a1)]&&_0x2ca068['canSearch']!==![]&&(!_0x2ca068[_0x25d2bb(0x1da)]||!TYPES['includes'](_0x2ca068[_0x25d2bb(0x1da)])));}export function searcherConfig(){const _0x50c497=a51_0x2a0a6a,_0x2fa1f2=this['table'][_0x50c497(0x1d8)]??this[_0x50c497(0x155)][_0x50c497(0x191)]??{};if(_0x2fa1f2[_0x50c497(0x176)]?.['length']){const _0x4254b3=this[_0x50c497(0x1d0)][_0x50c497(0x1e6)](_0x959773=>_0x959773[_0x50c497(0x1c4)]);_0x2fa1f2['conditions']=_0x2fa1f2[_0x50c497(0x176)]['filter'](_0x1532cb=>_0x4254b3[_0x50c497(0x1a5)](_0x1532cb['prop']));}return _0x2fa1f2;}export function initSettings(){const _0x1186c1=a51_0x2a0a6a,_0x5ce610=this[_0x1186c1(0x147)]&&local[_0x1186c1(0x1c8)](_0x1186c1(0x1cd)+this[_0x1186c1(0x147)]+']',{})||{};!_0x5ce610['columns']?.[_0x1186c1(0x1b3)]&&(_0x5ce610[_0x1186c1(0x145)]=this[_0x1186c1(0x1d0)][_0x1186c1(0x1bf)](_0x20ddc3=>{const _0x251b3d=_0x1186c1;return _0x20ddc3[_0x251b3d(0x153)]&&(_0x20ddc3['prop']||_0x20ddc3[_0x251b3d(0x1c4)]===0x0)&&!(_0x20ddc3[_0x251b3d(0x1da)]&&TYPES[_0x251b3d(0x1a5)](_0x20ddc3[_0x251b3d(0x1da)]));})['map'](_0x29eba4=>{const {prop:_0x7db769,label:_0x46d0f5,show:_0x1945a7,hide:_0x5cabd3,width:_0x314b45,virtual:_0x52dab5,fixed:_0x1629ce}=_0x29eba4;return{'prop':_0x7db769,'label':_0x46d0f5,'show':_0x1945a7,'hide':_0x5cabd3,'width':_0x314b45,'virtual':_0x52dab5,'fixed':_0x1629ce};})),this['settings']=_0x5ce610;}export function saveSettings(_0x4ed76c){const _0x10eeea=a51_0x2a0a6a;Object[_0x10eeea(0x13f)](this[_0x10eeea(0x1bc)],_0x4ed76c),local[_0x10eeea(0x151)]('Settings['+this[_0x10eeea(0x147)]+']',this[_0x10eeea(0x1bc)]);}export function calcValue(_0x44cd09,_0x5c4cca){const _0x46eeab=a51_0x2a0a6a,{prop:_0x325fdb}=_0x5c4cca,_0x39947e=_0x44cd09[_0x325fdb];let {format:_0x4cf029,formatter:_0x4ab61c}=_0x5c4cca[_0x46eeab(0x164)]||_0x5c4cca;if(_0x4ab61c)return _0x4ab61c(_0x39947e,_0x44cd09);_0x4cf029=Array['isArray'](_0x5c4cca[_0x46eeab(0x1d7)])?_0x4cf029!==![]:_0x4cf029;if(_0x4cf029){const _0x1422fb='_formatted_'+_0x325fdb;if(_0x1422fb in _0x44cd09)return _0x44cd09[_0x1422fb];}if(_0x39947e==undefined){if(_0x325fdb['includes']('.')||_0x325fdb[_0x46eeab(0x1a5)]('['))return highdict['get'](_0x44cd09,_0x325fdb,this[_0x46eeab(0x172)]);return this[_0x46eeab(0x172)];}if(_0x39947e==='')return this[_0x46eeab(0x172)];return _0x39947e;}export function calcLink(_0x4f0cfa,_0x1cbcd4){const _0x2e1957=a51_0x2a0a6a;if(_0x1cbcd4[_0x2e1957(0x1aa)])return _0x1cbcd4[_0x2e1957(0x1aa)](_0x4f0cfa);return highdict[_0x2e1957(0x15c)](_0x4f0cfa,_0x1cbcd4[_0x2e1957(0x157)]||_0x1cbcd4['prop']);}export function calcOverflowTooltip(_0x458b85){const _0x580abe=a51_0x2a0a6a;if([_0x580abe(0x1a8),_0x580abe(0x1af),'expand'][_0x580abe(0x1a5)](_0x458b85[_0x580abe(0x1da)]))return![];const {showOverflowTooltip:_0x4799be}=_0x458b85[_0x580abe(0x164)]||_0x458b85;return _0x4799be!==![];}export function handleSearch(_0xefe66a){const _0x55e157=a51_0x2a0a6a;this['params']=_0xefe66a,this['_emit'](_0x55e157(0x1a0),_0xefe66a);}export function handleResetSettings(){const _0x5a56fa=a51_0x2a0a6a;this[_0x5a56fa(0x160)]({}),this[_0x5a56fa(0x1c6)]();}export function handleHeaderDragend(_0x29c178,_0x415139,_0x2f547a,_0x182529){const _0x204bc7=a51_0x2a0a6a,_0xe870c0=this[_0x204bc7(0x1bc)][_0x204bc7(0x145)][_0x204bc7(0x15a)](_0x1ee0b3=>_0x1ee0b3[_0x204bc7(0x1c4)]===_0x2f547a[_0x204bc7(0x19a)]);_0xe870c0&&(_0xe870c0[_0x204bc7(0x188)]=_0x29c178,this[_0x204bc7(0x160)](this[_0x204bc7(0x1bc)])),this[_0x204bc7(0x1b6)]&&this[_0x204bc7(0x1b6)](_0x29c178,_0x415139,_0x2f547a,_0x182529);}export function handleSelectionChange(_0x4f3356){const _0x198b99=a51_0x2a0a6a;this['_selection']&&(this[_0x198b99(0x1df)][_0x198b99(0x1d1)](0x0),this[_0x198b99(0x1df)][_0x198b99(0x1b7)](..._0x4f3356)),this[_0x198b99(0x165)]&&this['onSelectionChange'](_0x4f3356);}export function handleSortChange(_0x3b4d3f){const _0x2a3e4b=a51_0x2a0a6a;if(this[_0x2a3e4b(0x18c)])this[_0x2a3e4b(0x18c)](_0x3b4d3f);else{if(Array[_0x2a3e4b(0x16d)](_0x3b4d3f))this['controller']?.[_0x2a3e4b(0x1b2)]?.(_0x3b4d3f);else _0x3b4d3f['column'][_0x2a3e4b(0x14d)]===_0x2a3e4b(0x140)&&this[_0x2a3e4b(0x1c7)]?.['handleSortChange']?.(_0x3b4d3f);}}export function handleCheckedChange(_0x4cd18a){const _0x36a1f8=a51_0x2a0a6a;this['checked']=_0x4cd18a[_0x36a1f8(0x19e)][_0x36a1f8(0x1a2)]*0x1;const _0x3af8a4=this[_0x36a1f8(0x148)][this[_0x36a1f8(0x1e4)]];this['table']&&(this[_0x36a1f8(0x1d2)][_0x36a1f8(0x1e4)]=_0x3af8a4),this[_0x36a1f8(0x185)]&&this['onCheckedChange'](_0x3af8a4);}export function handleCollapseChange(_0x3243c0){const _0x3befb6=a51_0x2a0a6a;_0x3243c0['length']&&(this[_0x3befb6(0x194)]=![],!this['useCollapse']&&(this[_0x3befb6(0x1a9)]=![]));}export function handleMinus(){const _0x1532e5=a51_0x2a0a6a;this[_0x1532e5(0x194)]=!this[_0x1532e5(0x194)],this[_0x1532e5(0x194)]?(this['_useCollapse']=!![],this[_0x1532e5(0x161)]=[]):(this[_0x1532e5(0x1a9)]=this['useCollapse'],this[_0x1532e5(0x161)]=['name']);}function a51_0x1b90(){const _0x6d5507=['defaultValue','editable','cell-style','columnIndex','conditions','968480XqcmLn','style','handler','isMobile','icons','finished','routeDoms','query','acl','mobile','radio','row-edit','object','images','onCheckedChange','isFullscreen','actions','width','replaceAll','chartHeight','row','onSortChange','multi-delete','text','cell-class-name','danger','searcher-config','onExport','1819362VrhEBa','isMinus','add','domids','update:tref','$route','class','property','export','plain','keys','target','_emit','search','virtual','value','_images','domid','includes','uid','1497200mnjfLz','index','_useCollapse','link','forEach','2SovlKd','tagType','_visibleColumns','selection','zoom','max','handleSortChange','length','25416ZIPKoc','edit','onHeaderDragend','push','$attrs','attrs','#eb6f6f','$refs','settings','cellStyle','load','filter','listen','split','total','_urls','prop','onCancelEdit','initSettings','controller','getJson','onRowEdit','fixed','keywords-search','path','Settings[','isEditing','left','_columns','splice','table','isInfinite','operates-dropdown','pop','expand','options','searcherConfig','onKeywordsSearch','type','isRowEdit','$props','hide','concat','_selection','delete','import','TableAttrs','function','checked','join','map','cancel-edit','onSearch','assign','custom','#07c160','_index','innerHeight','onDelete','columns','search-export','_uid','_data','hideSearcher','string','image','endsWith','sortable','7ajcLDK','color','operates','setJson','chartOption','label','onAdd','_attrs','open','linkProp','onSearchExport','1341423xNiEMg','find','success','get','onMultiDelete','onEdit','slice','saveSettings','activeNames','url','_doms','tableAttrs','onSelectionChange','cellClassName','documentElement','-btn','$emit','_listen','list','handle','isArray','$store','669180DhZlyH','326041nbFcnK','platform'];a51_0x1b90=function(){return _0x6d5507;};return a51_0x1b90();}export function handleToggleFullscreen(){const _0x2053b0=a51_0x2a0a6a;this[_0x2053b0(0x186)]=!this['isFullscreen'],this[_0x2053b0(0x186)]?(this[_0x2053b0(0x1b0)]=document[_0x2053b0(0x167)][_0x2053b0(0x178)][_0x2053b0(0x1b0)],document['documentElement']['style'][_0x2053b0(0x1b0)]=0x1):document['documentElement'][_0x2053b0(0x178)]['zoom']=this[_0x2053b0(0x1b0)];}export function cellClassName(_0x190f6f){const _0x4695af=a51_0x2a0a6a;let _0x522df1=this[_0x4695af(0x155)]['cell-class-name']?this[_0x4695af(0x155)][_0x4695af(0x18f)](_0x190f6f):'';const _0x1d6279=this[_0x4695af(0x1ae)][_0x190f6f[_0x4695af(0x175)]];if(_0x1d6279?.[_0x4695af(0x164)]?.[_0x4695af(0x199)]){const _0x109314=_0x1d6279[_0x4695af(0x164)]['class'];if(typeof _0x109314==='function')_0x522df1+='\x20'+_0x109314(_0x190f6f);else typeof _0x109314===_0x4695af(0x14a)&&(_0x522df1+='\x20'+_0x109314);}return!_0x522df1?'':[...new Set(_0x522df1[_0x4695af(0x1c1)]('\x20'))][_0x4695af(0x1e5)]('\x20');}export function cellStyle(_0x31d692){const _0x49623c=a51_0x2a0a6a,_0x3f5522=this[_0x49623c(0x155)][_0x49623c(0x174)]?this[_0x49623c(0x155)][_0x49623c(0x174)](_0x31d692):{},_0x5625fa=this[_0x49623c(0x1ae)][_0x31d692[_0x49623c(0x175)]];if(_0x5625fa?.[_0x49623c(0x164)]?.[_0x49623c(0x178)]){const _0x20a26a=_0x5625fa['tableAttrs']['style'];if(typeof _0x20a26a===_0x49623c(0x1e3))Object[_0x49623c(0x13f)](_0x3f5522,_0x20a26a(_0x31d692));else typeof _0x20a26a==='object'&&Object[_0x49623c(0x13f)](_0x3f5522,_0x20a26a);}return Object['keys'](_0x3f5522)?_0x3f5522:null;}export function calcTagType(_0x1261c1,_0x36093c){const _0x43a4ed=a51_0x2a0a6a,{tagTypes:_0x552162,prop:_0x182933,options:_0x4c621e}=_0x36093c,_0x22825c=_0x1261c1[_0x43a4ed(0x18b)][_0x182933];if(_0x552162){if(typeof _0x552162===_0x43a4ed(0x1e3))return _0x552162(_0x22825c,_0x1261c1,_0x36093c);else{if(typeof _0x552162===_0x43a4ed(0x183))return _0x552162[_0x22825c];}}else{if(_0x4c621e){const _0x535740=_0x4c621e[_0x43a4ed(0x15a)](_0xbd4d77=>_0xbd4d77[_0x36093c[_0x43a4ed(0x1a2)]||'value']===_0x22825c);if(_0x535740?.[_0x43a4ed(0x1ad)])return _0x535740[_0x43a4ed(0x1ad)];}}return _0x22825c?_0x43a4ed(0x15b):_0x43a4ed(0x190);}export function calcTagValue(_0x37de81,_0x28318b){const _0x2edf5a=a51_0x2a0a6a,{tagValues:_0x56aee7,prop:_0x3c239e,options:_0x36ffee}=_0x28318b,_0x2ea5a3=_0x37de81[_0x2edf5a(0x18b)][_0x3c239e];if(_0x56aee7){if(typeof _0x56aee7===_0x2edf5a(0x1e3))return _0x56aee7(_0x2ea5a3,_0x37de81,_0x28318b);else{if(typeof _0x56aee7===_0x2edf5a(0x183))return _0x56aee7[_0x2ea5a3];}}else{if(_0x36ffee){const _0x27c668=_0x36ffee[_0x2edf5a(0x15a)](_0x4c247d=>_0x4c247d[_0x28318b[_0x2edf5a(0x1a2)]||_0x2edf5a(0x1a2)]===_0x2ea5a3);if(_0x27c668)return _0x27c668[_0x28318b[_0x2edf5a(0x18e)]||_0x2edf5a(0x18e)];}}return _0x2ea5a3;}export function canEdit(_0x423a8d){const _0x4a4ea6=a51_0x2a0a6a;return!!(this[_0x4a4ea6(0x15e)]||this[_0x4a4ea6(0x16a)][_0x4a4ea6(0x1b5)])&&_0x423a8d[_0x4a4ea6(0x173)]!==![]&&!_0x423a8d[_0x4a4ea6(0x1ce)];}export function canSave(_0x354e23){const _0x56e434=a51_0x2a0a6a;return!!(this['onRowEdit']||this[_0x56e434(0x16a)]['row-edit'])&&this[_0x56e434(0x1d2)][_0x56e434(0x1db)]&&_0x354e23[_0x56e434(0x1ce)];}export function canRowEdit(_0x46709f){const _0x1bee2d=a51_0x2a0a6a;return!!(this[_0x1bee2d(0x1c9)]||this[_0x1bee2d(0x16a)]['row-edit'])&&this[_0x1bee2d(0x1d2)][_0x1bee2d(0x1db)]&&_0x46709f[_0x1bee2d(0x1ce)];}export function canCancelEdit(_0x1ad31b){const _0x1e61c5=a51_0x2a0a6a;return!!(this[_0x1e61c5(0x1c5)]||this[_0x1e61c5(0x16a)][_0x1e61c5(0x1e7)])&&this[_0x1e61c5(0x1d2)][_0x1e61c5(0x1db)]&&_0x1ad31b[_0x1e61c5(0x1ce)];}export function canDelete(_0x30c315){const _0x7a0e05=a51_0x2a0a6a;return!!(this[_0x7a0e05(0x144)]||this[_0x7a0e05(0x16a)][_0x7a0e05(0x1e0)])&&_0x30c315['deletable']!==![];}export function calcImages(_0x4239d8,_0x34a6f6){const _0x3223dd=a51_0x2a0a6a,_0x2fdd07=_0x4239d8[_0x3223dd(0x18b)][_0x34a6f6[_0x3223dd(0x1c4)]];let _0x354a30=[];return _0x34a6f6['images']?_0x354a30=_0x34a6f6[_0x3223dd(0x184)](_0x2fdd07,_0x4239d8[_0x3223dd(0x18b)]):_0x354a30=Array[_0x3223dd(0x16d)](_0x2fdd07)?_0x2fdd07:[_0x2fdd07],_0x354a30=_0x354a30[_0x3223dd(0x1bf)](_0x1ce01a=>_0x1ce01a)[_0x3223dd(0x1e6)](_0xd3b55=>{const _0x52839f=_0x3223dd;return typeof _0xd3b55!==_0x52839f(0x183)&&(_0xd3b55={'url':_0xd3b55,'name':_0xd3b55['split']('/')[_0x52839f(0x1d5)]()}),_0xd3b55['type']||=getUrlType(_0xd3b55[_0x52839f(0x162)]),_0xd3b55['icon']=_0x34a6f6[_0x52839f(0x17b)]?.[_0xd3b55[_0x52839f(0x1da)]]??getFiletypeIcon(_0xd3b55[_0x52839f(0x1da)]),_0xd3b55;}),_0x4239d8[_0x3223dd(0x1a3)]=_0x354a30,_0x4239d8[_0x3223dd(0x1c3)]=_0x354a30[_0x3223dd(0x1e6)](_0x369b95=>_0x369b95[_0x3223dd(0x162)]),_0x4239d8['_image_urls']=_0x354a30['filter'](_0x115c32=>_0x115c32[_0x3223dd(0x1da)]===_0x3223dd(0x14b))['map'](_0x2aad86=>_0x2aad86['url']),_0x354a30;}export function _emit(_0x299f17,_0x31171b){const _0x2ce246=a51_0x2a0a6a,_0x4378de='on'+_0x299f17[_0x2ce246(0x1c1)]('-')[_0x2ce246(0x1e6)](_0x5b6c44=>_0x5b6c44[0x0]['toUpperCase']()+_0x5b6c44['slice'](0x1))[_0x2ce246(0x1e5)]('');if(this[_0x4378de])this[_0x4378de](_0x31171b);else this[_0x2ce246(0x16a)][_0x299f17]?this[_0x2ce246(0x16a)][_0x299f17](_0x31171b):this[_0x2ce246(0x169)](_0x299f17,_0x31171b);}export function $route(){const _0xe34fec=a51_0x2a0a6a;this[_0xe34fec(0x1b0)]!==0x1&&(document[_0xe34fec(0x167)]['style'][_0xe34fec(0x1b0)]=this[_0xe34fec(0x1b0)]);}export default{'props':props,'emits':emits,'computed':{'_attrs':_attrs,'domids':domids,'elTableAttrs':elTableAttrs,'_loading':_loading,'_data':_data,'_columns':_columns,'_doms':_doms,'_query':_query,'_total':_total,'_finished':_finished,'_selection':_selection,'_actions':_actions,'_chartHeight':_chartHeight,'_chartOption':_chartOption,'_onKeywordsSearch':_onKeywordsSearch,'_onSearch':_onSearch,'_onAdd':_onAdd,'_onExport':_onExport,'_onSearchExport':_onSearchExport,'_onImport':_onImport,'_onMultiDelete':_onMultiDelete,'_onLoad':_onLoad,'_listen':_listen,'_visibleColumns':_visibleColumns,'_uid':_uid,'plain':plain,'hideHeader':hideHeader,'hideTools':hideTools,'hideSearcher':hideSearcher,'hideChart':hideChart,'hideSettings':hideSettings,'hideOperates':hideOperates,'hidePagination':hidePagination,'operatesWidth':operatesWidth,'operatesDropdown':operatesDropdown,'searcherColumns':searcherColumns,'searcherConfig':searcherConfig},'watch':{'$route':$route},'methods':{'initSettings':initSettings,'saveSettings':saveSettings,'calcValue':calcValue,'calcLink':calcLink,'calcOverflowTooltip':calcOverflowTooltip,'handleSearch':handleSearch,'handleResetSettings':handleResetSettings,'handleHeaderDragend':handleHeaderDragend,'handleSelectionChange':handleSelectionChange,'handleSortChange':handleSortChange,'handleCheckedChange':handleCheckedChange,'handleCollapseChange':handleCollapseChange,'handleMinus':handleMinus,'handleToggleFullscreen':handleToggleFullscreen,'cellClassName':cellClassName,'cellStyle':cellStyle,'calcTagType':calcTagType,'calcTagValue':calcTagValue,'canEdit':canEdit,'canSave':canSave,'canRowEdit':canRowEdit,'canCancelEdit':canCancelEdit,'canDelete':canDelete,'calcImages':calcImages,'_emit':_emit}};