UNPKG

cheetah-framework

Version:

Cheetah Framework JS used in all our applications

67 lines (55 loc) 1.52 kB
import FormErrorHelper from './FormErrorHelper' const defaultOptions = { successMessage: false, onSuccess: false, onError: false, onErrorPreventDefault: false } export default { formHelper: true, mixins: [FormErrorHelper], data () { return { } }, methods: { /** * @param {String} method * @param {Object} payload * @param {Object} options */ saveInstance (method, payload, options = {}) { options = _.assignIn({}, defaultOptions, options) return new Promise((resolve, reject) => { this.$store.dispatch(method, payload).then(response => { // Success message Message.success(options.successMessage ? options.successMessage : this.$t( this.isPersisted ? 'save_success' : 'create_success' )) if (options.onSuccess instanceof Function) { options.onSuccess(response) } resolve(response) }).catch(error => { if (options.onError instanceof Function) { options.onError(error) } if (options.onErrorPreventDefault) { reject(error) return } if (error.response) { this.formErrors.set(error.response.data.errors) } else { RemoteErrors(error) } reject(error) }).then(() => { if (options.onFinally instanceof Function) { options.onFinally() } }) }) } } }