base_ui/pages/data-setting/StopWord.vue

108 lines
2.3 KiB
Vue
Raw Permalink Normal View History

2025-02-01 09:34:55 +00:00
<template>
<div>
<the-content-loading v-if="fetchingData"></the-content-loading>
<form v-else @submit.prevent="onSave()">
<div class="form-group">
<!-- <label for="stop-words"></label> -->
<textarea
v-model="stopWords"
class="form-control"
id="stop-words"
rows="10"
style="height: auto"
></textarea>
</div>
<button-component
type="submit"
classes="btn-primary"
:buttonText="saveButtonText"
>
</button-component>
</form>
</div>
</template>
<script>
import settingsApi from "~/apis/settingsApi";
export default {
props: {
saveButtonText: {
default: "ذخیره",
},
},
data() {
return {
stopWords: "",
fetchingData: false,
data: undefined,
buttonLoading: false,
};
},
methods: {
getData() {
var vm = this;
this.fetchingData = true;
var url = settingsApi.app.getByKey;
url = url.replace("{{key_option}}", "words_stop");
// let url = apis.admin.get.replace("{{system}}", this.$route.meta.apiKey);
ApiService.getRequest(url)
.then((response) => {
vm.fetchingData = false;
this.stopWords = response.data.hits.hits[0]._source.value;
this.data = response.data.hits.hits[0]._source;
})
.finally(() => {
vm.fetchingData = false;
});
},
onSave() {
if (this.buttonLoading) return;
this.buttonLoading = true;
// var url = apis.admin.save;
// const payload = { ...this.data, ...{ value: this.stopWords } };
var url = settingsApi.app.saveByKey;
url = url.replace("{{key_option}}", "words_stop");
const payload = { value: this.stopWords }
ApiService.postRequest(url, payload)
.then((response) => {
this.mySwalToast({
title: "تبریک",
html: response.data.message,
icon: "success",
});
})
.finally(() => {
this.buttonLoading = false;
});
},
},
mounted() {
this.getData();
},
watch: {
// $route: {
// handler: function () {
// this.$store.state.collapsed = false;
// },
// deep: true,
// immediate: true,
// },
},
};
</script>