forked from verdnatura/salix-front
refs #6280 perf: improve component
This commit is contained in:
parent
5ebeb7fe47
commit
45dc9c355f
|
@ -54,11 +54,16 @@ const value = computed({
|
|||
},
|
||||
});
|
||||
|
||||
onMounted(() => {
|
||||
locationFilter()
|
||||
});
|
||||
|
||||
function setOptions(data) {
|
||||
myOptions.value = JSON.parse(JSON.stringify(data));
|
||||
myOptionsOriginal.value = JSON.parse(JSON.stringify(data));
|
||||
}
|
||||
setOptions(options.value);
|
||||
|
||||
watch(options, (newValue) => {
|
||||
setOptions(newValue);
|
||||
});
|
||||
|
@ -67,17 +72,15 @@ function showLabel(data) {
|
|||
return `${data.code} - ${data.town}(${data.province}), ${data.country}`;
|
||||
}
|
||||
|
||||
|
||||
onMounted(() => {
|
||||
locationFilter()
|
||||
})
|
||||
function locationFilter(search) {
|
||||
let args = { filter:{limit: 30}, search};
|
||||
postcodesRef.value.fetch({args});
|
||||
let where = { search };
|
||||
postcodesRef.value.fetch({filter:{ where}, limit: 30});
|
||||
}
|
||||
|
||||
function handleFetch( data) {
|
||||
postcodesOptions.value = data;
|
||||
}
|
||||
|
||||
async function onPostcodeCreated(){
|
||||
locationFilter()
|
||||
};
|
||||
|
|
|
@ -33,9 +33,10 @@ const businessTypesOptions = ref([]);
|
|||
const postcodesOptions = ref([]);
|
||||
|
||||
|
||||
function handleLocation(data, { city, postcode, provinceFk, countryFk }) {
|
||||
data.postcode = postcode;
|
||||
data.city = city;
|
||||
function handleLocation(data, location ) {
|
||||
const { town, code, provinceFk, countryFk } = location ?? {}
|
||||
data.postcode = code;
|
||||
data.city = town;
|
||||
data.provinceFk = provinceFk;
|
||||
data.countryFk = countryFk;
|
||||
}
|
||||
|
|
|
@ -57,9 +57,10 @@ const onBankEntityCreated = (data) => {
|
|||
};
|
||||
|
||||
|
||||
function handleLocation(data, { city, postcode, provinceFk, countryFk }) {
|
||||
data.postcode = postcode;
|
||||
data.city = city;
|
||||
function handleLocation(data, location ) {
|
||||
const { town, postcode: code, provinceFk, countryFk } = location ?? {}
|
||||
data.postcode = code;
|
||||
data.city = town;
|
||||
data.provinceFk = provinceFk;
|
||||
data.countryFk = countryFk;
|
||||
}
|
||||
|
|
|
@ -0,0 +1,32 @@
|
|||
const inputLocation = ':nth-child(3) > :nth-child(1) > .q-field > .q-field__inner > .q-field__control';
|
||||
const locationOptions ='[role="listbox"] > div.q-virtual-scroll__content > .q-item'
|
||||
describe('VnLocation', () => {
|
||||
beforeEach(() => {
|
||||
cy.viewport(1280, 720);
|
||||
cy.login('developer');
|
||||
cy.visit('/#/worker/create');
|
||||
cy.waitForElement('.q-card');
|
||||
});
|
||||
|
||||
// it('Show all options', function() {
|
||||
// cy.get(inputLocation).click();
|
||||
// cy.get(locationOptions).should('have.length',5)
|
||||
// // cy.get(':nth-child(3) > :nth-child(1) > .q-field > .q-field__inner > .q-field__control > :nth-child(2) > .q-icon').click()
|
||||
// });
|
||||
|
||||
// it('input filter location as "al"', function() {
|
||||
// cy.get(inputLocation).click();
|
||||
// cy.get(inputLocation).clear();
|
||||
// cy.get(inputLocation).type('al');
|
||||
// cy.get(locationOptions).should('have.length',3);
|
||||
// });
|
||||
it('input filter location as "ecuador"', function() {
|
||||
cy.get(inputLocation).click();
|
||||
cy.get(inputLocation).clear();
|
||||
cy.get(inputLocation).type('ecuador');
|
||||
cy.get(locationOptions).should('have.length',1);
|
||||
cy.get(`${locationOptions}:nth-child(1)`).click();
|
||||
cy.get(':nth-child(3) > :nth-child(1) > .q-field > .q-field__inner > .q-field__control > :nth-child(2) > .q-icon').click();
|
||||
|
||||
});
|
||||
})
|
Loading…
Reference in New Issue