108 lines
2.3 KiB
Vue
108 lines
2.3 KiB
Vue
<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>
|