forked from verdnatura/salix-front
feat: refs #7436 show checkbox
This commit is contained in:
parent
152bd5ff08
commit
ed642b299e
|
@ -187,15 +187,10 @@ function existSummary(routes) {
|
||||||
color: lighten($primary, 20%);
|
color: lighten($primary, 20%);
|
||||||
}
|
}
|
||||||
.q-checkbox {
|
.q-checkbox {
|
||||||
display: flex;
|
|
||||||
margin-bottom: 9px;
|
|
||||||
& .q-checkbox__label {
|
& .q-checkbox__label {
|
||||||
margin-left: 31px;
|
|
||||||
color: var(--vn-text-color);
|
color: var(--vn-text-color);
|
||||||
}
|
}
|
||||||
& .q-checkbox__inner {
|
& .q-checkbox__inner {
|
||||||
position: absolute;
|
|
||||||
left: 0;
|
|
||||||
color: var(--vn-label-color);
|
color: var(--vn-label-color);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
import { dashIfEmpty } from 'src/filters';
|
import { dashIfEmpty } from 'src/filters';
|
||||||
import { useI18n } from 'vue-i18n';
|
import { useI18n } from 'vue-i18n';
|
||||||
import { useClipboard } from 'src/composables/useClipboard';
|
import { useClipboard } from 'src/composables/useClipboard';
|
||||||
|
import { computed } from 'vue';
|
||||||
|
|
||||||
const $props = defineProps({
|
const $props = defineProps({
|
||||||
label: { type: String, default: null },
|
label: { type: String, default: null },
|
||||||
|
@ -24,52 +25,67 @@ function copyValueText() {
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
const val = computed(() => $props.value);
|
||||||
</script>
|
</script>
|
||||||
<style scoped>
|
|
||||||
.label,
|
|
||||||
.value {
|
|
||||||
white-space: pre-line;
|
|
||||||
word-wrap: break-word;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
<template>
|
<template>
|
||||||
<div class="vn-label-value">
|
<div class="vn-label-value">
|
||||||
<div v-if="$props.label || $slots.label" class="label">
|
<QCheckbox
|
||||||
<slot name="label">
|
v-if="typeof value === 'boolean'"
|
||||||
<span>{{ $props.label }}</span>
|
v-model="val"
|
||||||
</slot>
|
:label="label"
|
||||||
</div>
|
disable
|
||||||
<div class="value">
|
dense
|
||||||
<slot name="value">
|
/>
|
||||||
<span :title="$props.value">
|
<template v-else>
|
||||||
{{ $props.dash ? dashIfEmpty($props.value) : $props.value }}
|
<div v-if="label || $slots.label" class="label">
|
||||||
</span>
|
<slot name="label">
|
||||||
</slot>
|
<span>{{ label }}</span>
|
||||||
</div>
|
</slot>
|
||||||
<div class="info" v-if="$props.info">
|
</div>
|
||||||
<QIcon name="info" class="cursor-pointer" size="xs" color="grey">
|
<div class="value">
|
||||||
<QTooltip class="bg-dark text-white shadow-4" :offset="[10, 10]">
|
<slot name="value">
|
||||||
{{ $props.info }}
|
<span :title="value">
|
||||||
</QTooltip>
|
{{ dash ? dashIfEmpty(value) : value }}
|
||||||
</QIcon>
|
</span>
|
||||||
</div>
|
</slot>
|
||||||
<div class="copy" v-if="$props.copy && $props.value" @click="copyValueText()">
|
</div>
|
||||||
<QIcon name="Content_Copy" color="primary">
|
<div class="info" v-if="info">
|
||||||
<QTooltip>{{ t('globals.copyClipboard') }}</QTooltip>
|
<QIcon name="info" class="cursor-pointer" size="xs" color="grey">
|
||||||
</QIcon>
|
<QTooltip class="bg-dark text-white shadow-4" :offset="[10, 10]">
|
||||||
</div>
|
{{ info }}
|
||||||
|
</QTooltip>
|
||||||
|
</QIcon>
|
||||||
|
</div>
|
||||||
|
<div class="copy" v-if="copy && value" @click="copyValueText()">
|
||||||
|
<QIcon name="Content_Copy" color="primary">
|
||||||
|
<QTooltip>{{ t('globals.copyClipboard') }}</QTooltip>
|
||||||
|
</QIcon>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.vn-label-value:hover .copy {
|
.vn-label-value {
|
||||||
visibility: visible;
|
&:hover .copy {
|
||||||
cursor: pointer;
|
visibility: visible;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.label,
|
||||||
|
.value {
|
||||||
|
white-space: pre-line;
|
||||||
|
word-wrap: break-word;
|
||||||
|
}
|
||||||
|
.copy {
|
||||||
|
visibility: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.info {
|
||||||
|
margin-left: 5px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.copy {
|
|
||||||
visibility: hidden;
|
:deep(.q-checkbox.disabled) {
|
||||||
}
|
opacity: 1 !important;
|
||||||
.info {
|
|
||||||
margin-left: 5px;
|
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
Loading…
Reference in New Issue