refactor: refs #7701 make FormModel only read from url and deleted useless code
gitea/salix-front/pipeline/pr-dev There was a failure building this commit
Details
gitea/salix-front/pipeline/pr-dev There was a failure building this commit
Details
This commit is contained in:
parent
5d4479309f
commit
e4a0dae5b1
|
@ -103,9 +103,9 @@ const $props = defineProps({
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: false,
|
default: false,
|
||||||
},
|
},
|
||||||
searchUrl: {
|
formUrl: {
|
||||||
type: [String, Boolean],
|
type: [String, Boolean],
|
||||||
default: 'form',
|
default: 'createForm',
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
const emit = defineEmits(['onFetch', 'onDataSaved', 'submit']);
|
const emit = defineEmits(['onFetch', 'onDataSaved', 'submit']);
|
||||||
|
@ -118,7 +118,10 @@ const isLoading = ref(false);
|
||||||
// Si elegimos observar los cambios del form significa que inicialmente las actions estaran deshabilitadas
|
// Si elegimos observar los cambios del form significa que inicialmente las actions estaran deshabilitadas
|
||||||
const isResetting = ref(false);
|
const isResetting = ref(false);
|
||||||
const hasChanges = ref(!$props.observeFormChanges);
|
const hasChanges = ref(!$props.observeFormChanges);
|
||||||
const originalData = computed(() => state.get(modelValue));
|
let urlData = {};
|
||||||
|
const originalData = computed(() => {
|
||||||
|
return { ...urlData, ...state.get(modelValue) };
|
||||||
|
});
|
||||||
const formData = ref();
|
const formData = ref();
|
||||||
const defaultButtons = computed(() => ({
|
const defaultButtons = computed(() => ({
|
||||||
save: {
|
save: {
|
||||||
|
@ -146,13 +149,14 @@ const submitForm = async (evt) => {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
function getUrlData() {
|
||||||
|
urlData = $props.formUrl
|
||||||
|
? JSON.parse(route?.query[$props.formUrl] ?? '{}')
|
||||||
|
: undefined;
|
||||||
|
}
|
||||||
|
|
||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
const urlInitalData =
|
getUrlData();
|
||||||
$props.searchUrl && JSON.parse(route?.query[$props.searchUrl] ?? '{}');
|
|
||||||
// asignar de nuevo a originalData genera un warning por lo que fallarán todos los test de front que usen FormModel
|
|
||||||
// originalData.value = JSON.parse(
|
|
||||||
// JSON.stringify(urlInitalData ?? $props.formInitialData ?? {}),
|
|
||||||
// );
|
|
||||||
nextTick(() => (componentIsRendered.value = true));
|
nextTick(() => (componentIsRendered.value = true));
|
||||||
|
|
||||||
// Podemos enviarle al form la estructura de data inicial sin necesidad de fetchearla
|
// Podemos enviarle al form la estructura de data inicial sin necesidad de fetchearla
|
||||||
|
@ -201,23 +205,6 @@ watch(
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
// watch(
|
|
||||||
// () => formData.value,
|
|
||||||
// async (newData, oldData) => {
|
|
||||||
// if (!newData || !Object.keys(newData).length) return;
|
|
||||||
// if (!$props.searchUrl) return;
|
|
||||||
// const urlParams = JSON.stringify(newData);
|
|
||||||
// await nextTick();
|
|
||||||
// router.replace({
|
|
||||||
// query: {
|
|
||||||
// ...route.query,
|
|
||||||
// createForm: urlParams,
|
|
||||||
// },
|
|
||||||
// });
|
|
||||||
// },
|
|
||||||
// { deep: true },
|
|
||||||
// );
|
|
||||||
|
|
||||||
onBeforeRouteLeave((to, from, next) => {
|
onBeforeRouteLeave((to, from, next) => {
|
||||||
if (hasChanges.value && $props.observeFormChanges)
|
if (hasChanges.value && $props.observeFormChanges)
|
||||||
quasar.dialog({
|
quasar.dialog({
|
||||||
|
|
|
@ -227,7 +227,7 @@ onMounted(async () => {
|
||||||
.map((c) => c.name),
|
.map((c) => c.name),
|
||||||
...['tableActions'],
|
...['tableActions'],
|
||||||
];
|
];
|
||||||
createForm.value = $props.create;
|
if ($props.create && route?.query?.createForm) showForm.value = true;
|
||||||
});
|
});
|
||||||
|
|
||||||
onUnmounted(async () => {
|
onUnmounted(async () => {
|
||||||
|
|
|
@ -10,9 +10,6 @@ const { t } = useI18n();
|
||||||
const emit = defineEmits(['onDataSaved']);
|
const emit = defineEmits(['onDataSaved']);
|
||||||
|
|
||||||
const genusInputRef = ref(null);
|
const genusInputRef = ref(null);
|
||||||
const genusFormData = reactive({
|
|
||||||
name: 'test',
|
|
||||||
});
|
|
||||||
|
|
||||||
const onDataSaved = (formData, requestResponse) => {
|
const onDataSaved = (formData, requestResponse) => {
|
||||||
emit('onDataSaved', formData, requestResponse);
|
emit('onDataSaved', formData, requestResponse);
|
||||||
|
@ -29,7 +26,6 @@ onMounted(async () => {
|
||||||
url-create="genera"
|
url-create="genera"
|
||||||
model="itemGenus"
|
model="itemGenus"
|
||||||
:title="t('New genus')"
|
:title="t('New genus')"
|
||||||
:form-initial-data="genusFormData"
|
|
||||||
@on-data-saved="onDataSaved"
|
@on-data-saved="onDataSaved"
|
||||||
>
|
>
|
||||||
<template #form-inputs="{ data }">
|
<template #form-inputs="{ data }">
|
||||||
|
|
|
@ -10,7 +10,6 @@ const { t } = useI18n();
|
||||||
const emit = defineEmits(['onDataSaved']);
|
const emit = defineEmits(['onDataSaved']);
|
||||||
|
|
||||||
const specieInputRef = ref(null);
|
const specieInputRef = ref(null);
|
||||||
const specieFormData = reactive({});
|
|
||||||
|
|
||||||
const onDataSaved = (formData, requestResponse) => {
|
const onDataSaved = (formData, requestResponse) => {
|
||||||
emit('onDataSaved', formData, requestResponse);
|
emit('onDataSaved', formData, requestResponse);
|
||||||
|
@ -27,7 +26,6 @@ onMounted(async () => {
|
||||||
url-create="species"
|
url-create="species"
|
||||||
model="itemSpecie"
|
model="itemSpecie"
|
||||||
:title="t('New species')"
|
:title="t('New species')"
|
||||||
:form-initial-data="specieFormData"
|
|
||||||
@on-data-saved="onDataSaved"
|
@on-data-saved="onDataSaved"
|
||||||
>
|
>
|
||||||
<template #form-inputs="{ data }">
|
<template #form-inputs="{ data }">
|
||||||
|
|
|
@ -4,7 +4,6 @@ describe('Client web-access', () => {
|
||||||
cy.viewport(1280, 720);
|
cy.viewport(1280, 720);
|
||||||
cy.login('developer');
|
cy.login('developer');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('Should test buttons ', () => {
|
it('Should test buttons ', () => {
|
||||||
cy.visit('#/customer/1101/web-access');
|
cy.visit('#/customer/1101/web-access');
|
||||||
cy.get('.q-page').should('be.visible');
|
cy.get('.q-page').should('be.visible');
|
||||||
|
|
Loading…
Reference in New Issue