adminforth 3.13.13 → 3.13.14
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.
|
@@ -2,16 +2,22 @@
|
|
|
2
2
|
<div class="inline-flex items-center gap-1">
|
|
3
3
|
<Tooltip v-if="tooltipText">
|
|
4
4
|
<div
|
|
5
|
-
class="
|
|
6
|
-
:class="{
|
|
5
|
+
class="rounded-default me-2"
|
|
6
|
+
:class="{
|
|
7
|
+
'overflow-hidden max-h-[20px]': !isMultiline,
|
|
8
|
+
'shrink-0 w-[90px]': compact,
|
|
9
|
+
}"
|
|
7
10
|
@click="toggle"
|
|
8
11
|
>
|
|
9
12
|
<span
|
|
10
13
|
class="cursor-pointer select-none transition-all duration-200 text-lightListTableText dark:text-darkListTableText"
|
|
11
14
|
:class="{
|
|
12
15
|
'block truncate': compact,
|
|
16
|
+
'block': isMultiline,
|
|
13
17
|
'blur-[7px] hover:blur-[5px] brightness-50 dark:brightness-150': !show,
|
|
18
|
+
'pointer-events-none': isMultiline && !show,
|
|
14
19
|
}"
|
|
20
|
+
@click="onValueClick"
|
|
15
21
|
>
|
|
16
22
|
<template v-if="compact">{{ visualValue }}</template>
|
|
17
23
|
<ValueRenderer v-else :column="column" :record="record" />
|
|
@@ -23,16 +29,22 @@
|
|
|
23
29
|
</Tooltip>
|
|
24
30
|
<div
|
|
25
31
|
v-else
|
|
26
|
-
class="
|
|
27
|
-
:class="{
|
|
32
|
+
class="rounded-default me-2"
|
|
33
|
+
:class="{
|
|
34
|
+
'overflow-hidden max-h-[20px]': !isMultiline,
|
|
35
|
+
'shrink-0 w-[90px]': compact,
|
|
36
|
+
}"
|
|
28
37
|
@click="toggle"
|
|
29
38
|
>
|
|
30
39
|
<span
|
|
31
40
|
class="cursor-pointer select-none transition-all duration-200 text-lightListTableText dark:text-darkListTableText"
|
|
32
41
|
:class="{
|
|
33
42
|
'block truncate': compact,
|
|
43
|
+
'block': isMultiline,
|
|
34
44
|
'blur-[7px] hover:blur-[5px] brightness-50 dark:brightness-150': !show,
|
|
45
|
+
'pointer-events-none': isMultiline && !show,
|
|
35
46
|
}"
|
|
47
|
+
@click="onValueClick"
|
|
36
48
|
>
|
|
37
49
|
<template v-if="compact">{{ visualValue }}</template>
|
|
38
50
|
<ValueRenderer v-else :column="column" :record="record" />
|
|
@@ -83,16 +95,25 @@ const { alert } = useAdminforth();
|
|
|
83
95
|
|
|
84
96
|
const show = ref(false);
|
|
85
97
|
|
|
86
|
-
const rawValue = computed(() =>
|
|
98
|
+
const rawValue = computed(() => {
|
|
99
|
+
const value = props.record[props.column.name];
|
|
100
|
+
if (value === null || value === undefined) {
|
|
101
|
+
return '';
|
|
102
|
+
}
|
|
103
|
+
return typeof value === 'object' ? JSON.stringify(value) : String(value);
|
|
104
|
+
});
|
|
87
105
|
|
|
88
106
|
const compact = computed(() => props.meta?.compact);
|
|
89
107
|
const showCopy = computed(() => props.meta?.copy);
|
|
90
|
-
|
|
108
|
+
|
|
109
|
+
const isMultiline = computed(
|
|
110
|
+
() => props.column.type === 'json' && !props.column.isArray?.enabled && !compact.value
|
|
111
|
+
);
|
|
112
|
+
const eyeButton = computed(() => props.meta?.eyeButton ?? isMultiline.value);
|
|
91
113
|
const visualValue = computed(() => {
|
|
92
114
|
const val = rawValue.value;
|
|
93
|
-
if (val
|
|
94
|
-
|
|
95
|
-
return `${s.slice(0, 4)}...${s.slice(-4)}`;
|
|
115
|
+
if (val.length > 8) {
|
|
116
|
+
return `${val.slice(0, 4)}...${val.slice(-4)}`;
|
|
96
117
|
}
|
|
97
118
|
return val;
|
|
98
119
|
});
|
|
@@ -112,6 +133,12 @@ function toggle(event: MouseEvent) {
|
|
|
112
133
|
event.stopPropagation();
|
|
113
134
|
}
|
|
114
135
|
|
|
136
|
+
function onValueClick(event: MouseEvent) {
|
|
137
|
+
if (isMultiline.value && show.value && eyeButton.value) {
|
|
138
|
+
event.stopPropagation();
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
|
|
115
142
|
function copyToCB() {
|
|
116
143
|
navigator.clipboard.writeText(rawValue.value);
|
|
117
144
|
alert({
|