form.ts 911 B

12345678910111213141516171819202122232425262728293031323334353637
  1. import {Pinia} from "pinia";
  2. import {FORM_STATUS} from "~/types/enums";
  3. // import {Route} from "vue-router";
  4. import {useFormStore} from "~/store/form";
  5. export default class FormStorage {
  6. private $pinia:Pinia
  7. constructor(pinia:Pinia) {
  8. this.$pinia = pinia
  9. }
  10. /**
  11. * Actions devant être gérées si on souhaite quitter une page
  12. * @param to
  13. */
  14. // handleActionsAfterLeavePage(to: Route){
  15. handleActionsAfterLeavePage(to: any){
  16. const formStore = useFormStore(this.$pinia)
  17. if (formStore.dirty) {
  18. formStore.showConfirmToLeave = true
  19. formStore.goAfterLeave = to
  20. } else {
  21. formStore.formStatus = FORM_STATUS.EDIT
  22. formStore.violations = []
  23. }
  24. }
  25. /**
  26. * Ajout des violations dans le store
  27. * @param invalidFields
  28. */
  29. addViolations(invalidFields: []){
  30. const formStore = useFormStore(this.$pinia)
  31. formStore.violations = invalidFields
  32. }
  33. }