86c99b10a2
* Activate more linting rules from eslint and typescript * Properly add VForm as type information * Fix usage of native types * Fix more linting issues * Rename vuetify types file, add VTooltip * Fix some more typing problems * Use composition API for more components * Convert RecipeRating * Convert RecipeNutrition * Convert more components to composition API * Fix globals plugin for type checking * Add missing icon types * Fix vuetify types in Nuxt context * Use composition API for RecipeActionMenu * Convert error.vue to composition API * Convert RecipeContextMenu to composition API * Use more composition API and type checking in recipe/create * Convert AppButtonUpload to composition API * Fix some type checking in RecipeContextMenu * Remove unused components BaseAutoForm and BaseColorPicker * Convert RecipeCategoryTagDialog to composition API * Convert RecipeCardSection to composition API * Convert RecipeCategoryTagSelector to composition API * Properly import vuetify type definitions * Convert BaseButton to composition API * Convert AutoForm to composition API * Remove unused requests API file * Remove static routes from recipe API * Fix more type errors * Convert AppHeader to composition API, fixing some search bar focus problems * Convert RecipeDialogSearch to composition API * Update API types from pydantic models, handle undefined values * Improve more typing problems * Add types to other plugins * Properly type the CRUD API access * Fix typing of static image routes * Fix more typing stuff * Fix some more typing problems * Turn off more rules
79 lines
1.6 KiB
Vue
79 lines
1.6 KiB
Vue
<template>
|
|
<div>
|
|
<v-checkbox
|
|
v-for="(option, index) in options"
|
|
:key="index"
|
|
v-model="option.value"
|
|
class="mb-n4 mt-n3"
|
|
dense
|
|
:label="option.text"
|
|
@change="emitValue()"
|
|
></v-checkbox>
|
|
<template v-if="importBackup">
|
|
<v-divider class="my-3"></v-divider>
|
|
<v-checkbox
|
|
v-model="forceImport"
|
|
class="mb-n4"
|
|
dense
|
|
:label="$t('settings.remove-existing-entries-matching-imported-entries')"
|
|
@change="emitValue()"
|
|
></v-checkbox>
|
|
</template>
|
|
</div>
|
|
</template>
|
|
|
|
<script lang="ts">
|
|
import { defineComponent, onMounted, useContext } from "@nuxtjs/composition-api";
|
|
|
|
const UPDATE_EVENT = "input";
|
|
export default defineComponent({
|
|
props: {
|
|
importBackup: {
|
|
type: Boolean,
|
|
default: false,
|
|
},
|
|
},
|
|
setup(_, context) {
|
|
const { i18n } = useContext();
|
|
|
|
const options = {
|
|
recipes: {
|
|
value: true,
|
|
text: i18n.t("general.recipes"),
|
|
},
|
|
users: {
|
|
value: true,
|
|
text: i18n.t("user.users"),
|
|
},
|
|
groups: {
|
|
value: true,
|
|
text: i18n.t("group.groups"),
|
|
},
|
|
}
|
|
const forceImport = false;
|
|
|
|
function emitValue() {
|
|
context.emit(UPDATE_EVENT, {
|
|
recipes: options.recipes.value,
|
|
settings: false,
|
|
themes: false,
|
|
pages: false,
|
|
users: options.users.value,
|
|
groups: options.groups.value,
|
|
notifications: false,
|
|
forceImport,
|
|
});
|
|
}
|
|
|
|
onMounted(() => {
|
|
emitValue();
|
|
});
|
|
|
|
return {
|
|
options,
|
|
forceImport,
|
|
emitValue,
|
|
};
|
|
},
|
|
});
|
|
</script>
|