created CustomFilter model and api

This commit is contained in:
Chris Scoggins
2022-01-21 15:50:26 -06:00
parent 492febe626
commit 890e9e7242
14 changed files with 637 additions and 49 deletions

View File

@@ -19,7 +19,7 @@
<!-- <span><b-button variant="link" size="sm" class="text-dark shadow-none"><i class="fas fa-chevron-down"></i></b-button></span> -->
<model-menu />
<span>{{ $t(this.this_model.name) }}</span>
<span v-if="apiName !== 'Step'">
<span v-if="apiName !== 'Step' && apiName !== 'CustomFilter'">
<b-button variant="link" @click="startAction({ action: 'new' })">
<i class="fas fa-plus-circle fa-2x"></i>
</b-button> </span

View File

@@ -422,7 +422,7 @@ import "bootstrap-vue/dist/bootstrap-vue.css"
import moment from "moment"
import _debounce from "lodash/debounce"
import { ApiMixin, ResolveUrlMixin } from "@/utils/utils"
import { ApiMixin, ResolveUrlMixin, StandardToasts, ToastMixin } from "@/utils/utils"
import LoadingSpinner from "@/components/LoadingSpinner" // TODO: is this deprecated?
import RecipeCard from "@/components/RecipeCard"
import GenericMultiselect from "@/components/GenericMultiselect"
@@ -438,7 +438,7 @@ let UI_COOKIE_NAME = "ui_search_settings"
export default {
name: "RecipeSearchView",
mixins: [ResolveUrlMixin, ApiMixin],
mixins: [ResolveUrlMixin, ApiMixin, ToastMixin],
components: { GenericMultiselect, RecipeCard, Treeselect, RecipeSwitcher },
data() {
return {
@@ -503,6 +503,7 @@ export default {
pagination_count: 0,
random_search: false,
debug: false,
custom_filters: [],
}
},
computed: {
@@ -857,7 +858,19 @@ export default {
},
saveSearch: function () {
let filtername = window.prompt(this.$t("save_filter"), this.$t("filter_name"))
console.log("you saved: ", filtername, this.buildParams(false))
let params = {
name: filtername,
search: JSON.stringify(this.buildParams(false)),
}
this.genericAPI(this.Models.CUSTOM_FILTER, this.Actions.CREATE, params)
.then((result) => {
StandardToasts.makeStandardToast(StandardToasts.SUCCESS_CREATE)
console.log("you saved: ", filtername, this.buildParams(false), result)
})
.catch((err) => {
console.log(err, Object.keys(err))
StandardToasts.makeStandardToast(StandardToasts.FAIL_CREATE)
})
},
},
}