const formInputMixin = {
methods: { initialize: function(){ const self = this let data = {}; for (let key in this.$refs) { let initValue = this.$refs[key]["attributes"]["init-value"]; self.$set(self.$parent.data, key.replace("input.", ""), null) if (initValue) { self.setValue(initValue["value"]) self.afterInitialize(initValue["value"]) } else { self.setValue(null) self.afterInitialize(null) } } }, filesAdded: function (key) { const dataTransfer = event.dataTransfer || event.target; const files = dataTransfer.files; if (event.target.attributes.multiple) { this.$parent.data[key] = []; for (let index in files) { if (files[index] instanceof File) { this.$parent.data[key].push(files[index]); } } } else { this.$parent.data[key] = files[0]; } }, inputChanged: function (key) { if (this.$parent.isNestedForm){ this.$parent.data["_destroy"] = false; } this.$parent.resetErrors(key); }, afterInitialize: function(value){ // can be used in the main component for further initialization steps }, setValue: function (value){ this.$parent.data[this.props["key"]] = value; } }
}
export default formInputMixin