Advertisement
Guest User

Untitled

a guest
Aug 21st, 2019
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.76 KB | None | 0 0
  1. /**
  2. * Returns an object with definition of <b-field :type> for Buefy.
  3. *
  4. * Instead of setting the field type like this:
  5. *
  6. * <b-field :type="{ 'is-danger': errors.has('field_name') }"></b-field>
  7. *
  8. * You can now use it like this:
  9. *
  10. * get fieldTypes() {
  11. * return getFormFieldTypeOnError(Object.keys(this.formData), this.$validator.errors);
  12. * }
  13. *
  14. * <b-field :type="fieldTypes.field_name"></b-field>
  15. */
  16. export function getFormFieldTypeOnError(formKeys: string[], errorBag: ErrorBag, errorType = 'is-danger') {
  17. const initialTypes = {};
  18. return formKeys.reduce((fieldTypes: object, field: string) => {
  19. const fieldTypeDef = {[errorType]: errorBag.has(field)};
  20. return {
  21. ...fieldTypes, [field]: fieldTypeDef,
  22. };
  23. }, initialTypes);
  24. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement