75
75
v-if =" ! slots .append "
76
76
#append
77
77
>
78
- <v-btn
79
- v-if =" !settings.fieldOnly"
80
- class =" ms-1"
81
- :color =" settings.cancelButtonColor"
82
- :disabled =" loading"
83
- icon
84
- :size =" settings.cancelButtonSize"
85
- :title =" settings.cancelButtonTitle"
86
- :variant =" settings.cancelButtonVariant"
87
- @click =" toggleField"
88
- >
89
- <v-icon
90
- :color =" settings.cancelIconColor"
91
- :icon =" theCancelIcon"
92
- />
93
- </v-btn >
78
+ <SaveFieldButtons
79
+ :cancel-button-color =" settings.cancelButtonColor"
80
+ :cancel-button-size =" settings.cancelButtonSize"
81
+ :cancel-button-title =" settings.cancelButtonTitle"
82
+ :cancel-button-variant =" settings.cancelButtonVariant"
83
+ :cancel-icon =" settings.cancelIcon"
84
+ :cancel-icon-color =" settings.cancelIconColor"
85
+ :error =" error"
86
+ :field-only =" settings.fieldOnly"
87
+ :hide-save-icon =" true"
88
+ :loading =" loading"
89
+ :loading-icon =" settings.loadingIcon"
90
+ :loading-icon-color =" settings.loadingIconColor"
91
+ :save-button-color =" settings.saveButtonColor"
92
+ :save-button-size =" settings.saveButtonSize"
93
+ :save-button-title =" settings.saveButtonTitle"
94
+ :save-button-variant =" settings.saveButtonVariant"
95
+ :save-icon =" settings.saveIcon"
96
+ :save-icon-color =" settings.saveIconColor"
97
+ @close =" closeField"
98
+ @save =" saveValue"
99
+ />
94
100
</template >
95
101
</v-checkbox >
96
102
</div >
@@ -106,7 +112,10 @@ import {
106
112
} from ' @/types' ;
107
113
import type { IconOptions } from ' vuetify' ;
108
114
import { checkboxProps } from ' ./utils/props' ;
109
- import { BooleanIcons } from ' ./components/index' ;
115
+ import {
116
+ BooleanIcons ,
117
+ SaveFieldButtons ,
118
+ } from ' ./components/index' ;
110
119
import { useToggleField } from ' ./composables/methods' ;
111
120
import { useGetIcon } from ' ./composables/icons' ;
112
121
import {
@@ -130,8 +139,6 @@ const slots = useSlots();
130
139
const emit = defineEmits ([... inlineEmits ]);
131
140
const iconOptions = inject <IconOptions >(Symbol .for (' vuetify:icons' ));
132
141
133
- console .log (iconOptions );
134
-
135
142
const props = withDefaults (defineProps <VInlineCheckboxProps >(), { ... checkboxProps });
136
143
let settings = reactive ({ ... attrs , ... props });
137
144
@@ -149,14 +156,6 @@ watch(() => props.loading, (newVal, oldVal) => {
149
156
150
157
151
158
// ------------------------------------------------ Icons //
152
- const theCancelIcon = computed (() => {
153
- return useGetIcon ({
154
- icon: settings .cancelIcon ,
155
- iconOptions ,
156
- name: ' false' ,
157
- });
158
- });
159
-
160
159
const theFalseIcon = computed (() => {
161
160
return useGetIcon ({
162
161
icon: props .trueIcon ,
@@ -225,6 +224,13 @@ const displayValueStyle = computed(() => useDisplayValueStyles({
225
224
}));
226
225
227
226
227
+ // ------------------------------------------------ Key event to cancel/close field //
228
+ function closeField() {
229
+ error .value = false ;
230
+ toggleField ();
231
+ }
232
+
233
+
228
234
// ------------------------------------------------ Toggle the field //
229
235
function toggleField() {
230
236
if (settings .disabled || (settings .loadingWait && props .loading )) {
0 commit comments