Skip to content

Commit

Permalink
Merge pull request #15 from gewaer/development
Browse files Browse the repository at this point in the history
  • Loading branch information
SparoHawk authored Oct 15, 2020
2 parents 3d5e2eb + 98a75dd commit 7da23d2
Show file tree
Hide file tree
Showing 9 changed files with 1,960 additions and 3,615 deletions.
1,019 changes: 57 additions & 962 deletions dist/vue-form-generator.common.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/vue-form-generator.common.js.map

Large diffs are not rendered by default.

1,019 changes: 57 additions & 962 deletions dist/vue-form-generator.umd.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/vue-form-generator.umd.js.map

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions dist/vue-form-generator.umd.min.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/vue-form-generator.umd.min.js.map

Large diffs are not rendered by default.

3,462 changes: 1,801 additions & 1,661 deletions package-lock.json

Large diffs are not rendered by default.

28 changes: 14 additions & 14 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@gewaer/vue-form-generator",
"version": "0.1.1",
"version": "0.1.2",
"description": "Form generator component based on JSON schemas for Vue.",
"main": "./dist/vue-form-generator.umd.min.js",
"files": [
Expand Down Expand Up @@ -32,22 +32,22 @@
"lint"
],
"dependencies": {
"core-js": "^3.4.3",
"core-js": "^3.6.4",
"lodash": "^4.17.15",
"ramda": "^0.26.1",
"slugify": "^1.3.6",
"vue": "^2.6.10"
"ramda": "^0.27.0",
"slugify": "^1.4.0",
"vue": "^2.6.11"
},
"devDependencies": {
"@vue/cli-plugin-babel": "^4.0.5",
"@vue/cli-plugin-eslint": "^4.0.5",
"@vue/cli-service": "^4.0.5",
"babel-eslint": "^10.0.3",
"eslint": "^6.7.1",
"eslint-plugin-vue": "^6.0.1",
"node-sass": "^4.13.0",
"@vue/cli-plugin-babel": "^4.2.3",
"@vue/cli-plugin-eslint": "^4.2.3",
"@vue/cli-service": "^4.2.3",
"babel-eslint": "^10.1.0",
"eslint": "^6.8.0",
"eslint-plugin-vue": "^6.2.2",
"node-sass": "^4.13.1",
"pre-commit": "^1.2.2",
"sass-loader": "^8.0.0",
"vue-template-compiler": "^2.6.10"
"sass-loader": "^8.0.2",
"vue-template-compiler": "^2.6.11"
}
}
37 changes: 26 additions & 11 deletions src/form.vue
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
<form-control ref="control" :item="item" @updateValue="updateValue" />
</div>
</template>
<template v-if="$children.length">
<template v-if="formFields.length">
<div :class="formOptions.actionsWrapperClass || {}">
<input
v-if="formOptions.buttons.reset"
Expand Down Expand Up @@ -56,14 +56,14 @@
</template>

<script>
import { flatten, pickAll, pipe, map } from "ramda";
// import { flatten, pickAll, pipe, map } from "ramda";
import { every } from "lodash";
import Label from "./fields/label";
import Control from "./fields/control";
const getLabels = ({ label }) => label;
const valueToProp = (object) => pickAll(object, {});
// const getLabels = ({ label }) => label;
// const valueToProp = (object) => pickAll(object, {});
export default {
name: "Form",
Expand Down Expand Up @@ -121,11 +121,22 @@ export default {
},
data() {
return {
formValues: undefined,
formValues: {},
allControls: []
}
},
computed: {
changedFields() {
const fields = [];
this.$validator._base.fields.items.forEach(item => {
if (item.flags.changed) {
fields.push(item.name);
}
});
return fields;
},
isFormValid() {
const allControlRequired = this.allControls.filter(({ item }) => item.validations && item.validations.required);
const isAllControlRequiredWithValue = allControlRequired.every(({ value }) => !!value);
Expand All @@ -135,12 +146,12 @@ export default {
}
},
created() {
this.formValues = pipe(flatten, map(getLabels), valueToProp)(this.formFields);
// this.formValues = pipe(map/*flatten, map(getLabels), valueToProp)(th*/is.formFields);
// This is very taxing. Use at your own risk.
if (this.emitValuesOnUpdate) {
this.$watch("formValues", (values) => {
this.$emit("formValuesUpdated", values);
this.$emit("form-values-updated", values);
}, { deep: true });
}
},
Expand All @@ -164,11 +175,12 @@ export default {
isValidated && this.isFormValid && this.emitValues({
formName: this.formName,
values: this.formValues
})
isValidated && this.resetFormAfterSubmit && this.resetForm(event)
});
isValidated && this.resetFormAfterSubmit && this.resetForm(event);
},
cancelForm() {
this.$emit("formCancelled");
this.$emit("form-cancelled");
},
clearValues() {
this.allControls.map(x => {
Expand All @@ -194,7 +206,10 @@ export default {
})
},
emitValues(data) {
this.$emit("formSubmitted", data);
this.$emit("form-submitted", data);
},
getChangedFields() {
return this.changedFields;
},
resetFormValues() {
this.clearValues();
Expand Down

0 comments on commit 7da23d2

Please sign in to comment.