Skip to content

Commit 6551b6a

Browse files
Fixing reactivity and global setttings to work better
1 parent d8d051b commit 6551b6a

File tree

7 files changed

+70
-59
lines changed

7 files changed

+70
-59
lines changed

src/plugin/components/VInlineCheckbox/VInlineCheckbox.vue

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,19 +15,19 @@
1515
>
1616
<div class="v-selection-control__wrapper">
1717
<div
18-
v-if="icons"
18+
v-if="settings.icons"
1919
class="v-inline-fields--boolean-icons-container"
2020
:class="displayValueClass"
2121
:style="displayValueStyle"
2222
>
2323
<BooleanIcons
2424
v-model="truthyModelValue"
25-
:icon-false="iconFalse"
25+
:icon-false="settings.iconFalse"
2626
:icon-false-color="settings.iconFalseColor"
27-
:icon-false-title="iconFalseTitle"
28-
:icon-true="iconTrue"
27+
:icon-false-title="settings.iconFalseTitle"
28+
:icon-true="settings.iconTrue"
2929
:icon-true-color="settings.iconTrueColor"
30-
:icon-true-title="iconTrueTitle"
30+
:icon-true-title="settings.iconTrueTitle"
3131
/>
3232
</div>
3333

@@ -82,7 +82,7 @@
8282
#append
8383
>
8484
<SaveFieldButtons
85-
:cancel-button-color="cancelButtonColor"
85+
:cancel-button-color="settings.cancelButtonColor"
8686
:cancel-button-size="settings.cancelButtonSize"
8787
:cancel-button-title="settings.cancelButtonTitle"
8888
:cancel-button-variant="settings.cancelButtonVariant"
@@ -178,8 +178,6 @@ watchEffect(() => {
178178
Object.assign(settings, { ...attrs, ...props, ...injectedOptions });
179179
});
180180
181-
const { cancelButtonColor } = toRefs(settings);
182-
183181
const disabled = computed(() => props.disabled);
184182
const loadingProp = computed(() => props.loading);
185183
const underlineColor = computed(() => settings.underlineColor);

src/plugin/components/VInlineSelect/VInlineSelect.vue

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -244,18 +244,18 @@ const bindingSettings = computed(() => useBindingSettings(settings));
244244
const bindingDisplay = computed(() => {
245245
return {
246246
color: settings.color,
247-
displayAppendIcon: props.displayAppendIcon,
248-
displayAppendIconColor: props.displayAppendIconColor,
249-
displayAppendIconSize: props.displayAppendIconSize,
250-
displayAppendInnerIcon: props.displayAppendInnerIcon,
251-
displayAppendInnerIconColor: props.displayAppendInnerIconColor,
252-
displayAppendInnerIconSize: props.displayAppendInnerIconSize,
253-
displayPrependIcon: props.displayPrependIcon,
254-
displayPrependIconColor: props.displayPrependIconColor,
255-
displayPrependIconSize: props.displayPrependIconSize,
256-
displayPrependInnerIcon: props.displayPrependInnerIcon,
257-
displayPrependInnerIconColor: props.displayPrependInnerIconColor,
258-
displayPrependInnerIconSize: props.displayPrependInnerIconSize,
247+
displayAppendIcon: settings.displayAppendIcon,
248+
displayAppendIconColor: settings.displayAppendIconColor,
249+
displayAppendIconSize: settings.displayAppendIconSize,
250+
displayAppendInnerIcon: settings.displayAppendInnerIcon,
251+
displayAppendInnerIconColor: settings.displayAppendInnerIconColor,
252+
displayAppendInnerIconSize: settings.displayAppendInnerIconSize,
253+
displayPrependIcon: settings.displayPrependIcon,
254+
displayPrependIconColor: settings.displayPrependIconColor,
255+
displayPrependIconSize: settings.displayPrependIconSize,
256+
displayPrependInnerIcon: settings.displayPrependInnerIcon,
257+
displayPrependInnerIconColor: settings.displayPrependInnerIconColor,
258+
displayPrependInnerIconSize: settings.displayPrependInnerIconSize,
259259
displayValue: displayValue.value,
260260
empty: empty.value,
261261
error: error.value,

src/plugin/components/VInlineSwitch/VInlineSwitch.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
>
1616
<div class="v-selection-control__wrapper">
1717
<div
18-
v-if="icons"
18+
v-if="settings.icons"
1919
class="v-inline-fields--boolean-icons-container"
2020
:class="displayValueClass"
2121
:style="displayValueStyle"

src/plugin/components/VInlineTextField/VInlineTextField.vue

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -242,18 +242,18 @@ const bindingSettings = computed(() => useBindingSettings(settings));
242242
const bindingDisplay = computed(() => {
243243
return {
244244
color: settings.color,
245-
displayAppendIcon: props.displayAppendIcon,
246-
displayAppendIconColor: props.displayAppendIconColor,
247-
displayAppendIconSize: props.displayAppendIconSize,
248-
displayAppendInnerIcon: props.displayAppendInnerIcon,
249-
displayAppendInnerIconColor: props.displayAppendInnerIconColor,
250-
displayAppendInnerIconSize: props.displayAppendInnerIconSize,
251-
displayPrependIcon: props.displayPrependIcon,
252-
displayPrependIconColor: props.displayPrependIconColor,
253-
displayPrependIconSize: props.displayPrependIconSize,
254-
displayPrependInnerIcon: props.displayPrependInnerIcon,
255-
displayPrependInnerIconColor: props.displayPrependInnerIconColor,
256-
displayPrependInnerIconSize: props.displayPrependInnerIconSize,
245+
displayAppendIcon: settings.displayAppendIcon,
246+
displayAppendIconColor: settings.displayAppendIconColor,
247+
displayAppendIconSize: settings.displayAppendIconSize,
248+
displayAppendInnerIcon: settings.displayAppendInnerIcon,
249+
displayAppendInnerIconColor: settings.displayAppendInnerIconColor,
250+
displayAppendInnerIconSize: settings.displayAppendInnerIconSize,
251+
displayPrependIcon: settings.displayPrependIcon,
252+
displayPrependIconColor: settings.displayPrependIconColor,
253+
displayPrependIconSize: settings.displayPrependIconSize,
254+
displayPrependInnerIcon: settings.displayPrependInnerIcon,
255+
displayPrependInnerIconColor: settings.displayPrependInnerIconColor,
256+
displayPrependInnerIconSize: settings.displayPrependInnerIconSize,
257257
displayValue: displayValue.value,
258258
empty: empty.value,
259259
error: error.value,

src/plugin/components/VInlineTextarea/VInlineTextarea.vue

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -243,18 +243,18 @@ const bindingSettings = computed(() => useBindingSettings(settings));
243243
const bindingDisplay = computed(() => {
244244
return {
245245
color: settings.color,
246-
displayAppendIcon: props.displayAppendIcon,
247-
displayAppendIconColor: props.displayAppendIconColor,
248-
displayAppendIconSize: props.displayAppendIconSize,
249-
displayAppendInnerIcon: props.displayAppendInnerIcon,
250-
displayAppendInnerIconColor: props.displayAppendInnerIconColor,
251-
displayAppendInnerIconSize: props.displayAppendInnerIconSize,
252-
displayPrependIcon: props.displayPrependIcon,
253-
displayPrependIconColor: props.displayPrependIconColor,
254-
displayPrependIconSize: props.displayPrependIconSize,
255-
displayPrependInnerIcon: props.displayPrependInnerIcon,
256-
displayPrependInnerIconColor: props.displayPrependInnerIconColor,
257-
displayPrependInnerIconSize: props.displayPrependInnerIconSize,
246+
displayAppendIcon: settings.displayAppendIcon,
247+
displayAppendIconColor: settings.displayAppendIconColor,
248+
displayAppendIconSize: settings.displayAppendIconSize,
249+
displayAppendInnerIcon: settings.displayAppendInnerIcon,
250+
displayAppendInnerIconColor: settings.displayAppendInnerIconColor,
251+
displayAppendInnerIconSize: settings.displayAppendInnerIconSize,
252+
displayPrependIcon: settings.displayPrependIcon,
253+
displayPrependIconColor: settings.displayPrependIconColor,
254+
displayPrependIconSize: settings.displayPrependIconSize,
255+
displayPrependInnerIcon: settings.displayPrependInnerIcon,
256+
displayPrependInnerIconColor: settings.displayPrependInnerIconColor,
257+
displayPrependInnerIconSize: settings.displayPrependInnerIconSize,
258258
displayValue: displayValue.value,
259259
empty: empty.value,
260260
error: error.value,

src/plugin/components/common/BooleanIcons.vue

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,19 +28,25 @@ import { VIcon } from 'vuetify/components';
2828
const props = withDefaults(defineProps<BooleanIcons>(), {});
2929
const iconOptions = inject<IconOptions>(Symbol.for('vuetify:icons'));
3030
31+
const settings = reactive({ ...props });
32+
33+
watchEffect(() => {
34+
Object.assign(settings, { ...props });
35+
});
36+
3137
const modelValue = defineModel();
3238
3339
const theFalseIcon = computed(() => {
3440
return useGetIcon({
35-
icon: props.iconFalse,
41+
icon: settings.iconFalse,
3642
iconOptions,
3743
name: 'false',
3844
});
3945
});
4046
4147
const theTrueIcon = computed(() => {
4248
return useGetIcon({
43-
icon: props.iconTrue,
49+
icon: settings.iconTrue,
4450
iconOptions,
4551
name: 'true',
4652
});

src/plugin/components/common/DisplayedValue.vue

Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@
1717
/>
1818
<v-icon
1919
v-else
20-
:color="displayPrependIconColor"
21-
:icon="displayPrependIcon"
22-
size="x-small"
20+
:color="settings.displayPrependIconColor"
21+
:icon="settings.displayPrependIcon"
22+
:size="settings.displayPrependIconSize"
2323
></v-icon>
2424
</div>
2525
<div
@@ -39,9 +39,9 @@
3939
/>
4040
<v-icon
4141
v-else
42-
:color="displayPrependInnerIconColor"
43-
:icon="displayPrependInnerIcon"
44-
size="x-small"
42+
:color="settings.displayPrependInnerIconColor"
43+
:icon="settings.displayPrependInnerIcon"
44+
:size="settings.displayPrependInnerIconSize"
4545
></v-icon>
4646
</div>
4747

@@ -59,9 +59,9 @@
5959
/>
6060
<v-icon
6161
v-else
62-
:color="displayAppendInnerIconColor"
63-
:icon="displayAppendInnerIcon"
64-
size="x-small"
62+
:color="settings.displayAppendInnerIconColor"
63+
:icon="settings.displayAppendInnerIcon"
64+
:size="settings.displayAppendInnerIconSize"
6565
></v-icon>
6666
</div>
6767
</div>
@@ -79,9 +79,9 @@
7979
/>
8080
<v-icon
8181
v-else
82-
:color="displayAppendIconColor"
83-
:icon="displayAppendIcon"
84-
size="x-small"
82+
:color="settings.displayAppendIconColor"
83+
:icon="settings.displayAppendIcon"
84+
:size="settings.displayAppendIconSize"
8585
></v-icon>
8686
</div>
8787
</div>
@@ -101,11 +101,18 @@ import {
101101
} from '@composables/styles';
102102
103103
104+
const attrs = useAttrs();
104105
const emit = defineEmits(['toggleField']);
105106
const props = defineProps<DisplayValueProps>();
106107
const slots = useSlots();
107108
const theme = useTheme();
108109
110+
const settings = reactive({ ...attrs, ...props });
111+
112+
watchEffect(() => {
113+
Object.assign(settings, { ...attrs, ...props });
114+
});
115+
109116
const slotBindings = {
110117
displayValue: props.displayValue,
111118
empty: props.empty,

0 commit comments

Comments
 (0)