#7124 - First Input Autofocus without property #251
|
@ -29,7 +29,7 @@ module.exports = configure(function (/* ctx */) {
|
|||
// app boot file (/src/boot)
|
||||
// --> boot files are part of "main.js"
|
||||
// https://v2.quasar.dev/quasar-cli/boot-files
|
||||
boot: ['i18n', 'axios', 'vnDate', 'validations'],
|
||||
boot: ['i18n', 'axios', 'vnDate', 'validations', 'quasar'],
|
||||
|
||||
// https://v2.quasar.dev/quasar-cli-vite/quasar-config-js#css
|
||||
css: ['app.scss'],
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
import { getCurrentInstance } from 'vue';
|
||||
|
||||
const filterAvailableInput = element => element.classList.contains('q-field__native') && !element.disabled
|
||||
const filterAvailableText = element => element.__vueParentComponent.type.name === 'QInput' && element.__vueParentComponent?.attrs?.class !== 'vn-input-date';
|
||||
|
||||
|
||||
export default {
|
||||
mounted: function () {
|
||||
const vm = getCurrentInstance();
|
||||
if (vm.type.name === 'QForm')
|
||||
jsegarra marked this conversation as resolved
Outdated
|
||||
if (!['searchbarForm','filterPanelForm'].includes(this.$el?.id)) {
|
||||
// AUTOFOCUS
|
||||
const elementsArray = Array.from(this.$el.elements);
|
||||
jsegarra marked this conversation as resolved
alexm
commented
No usar una variable si luego solo se usa una vez. Igual se te ha quedado de antes No usar una variable si luego solo se usa una vez. Igual se te ha quedado de antes
jsegarra
commented
Si que se usaba en el evento key, pero eso pertenece a otra rama Si que se usaba en el evento key, pero eso pertenece a otra rama
|
||||
const firstInputElement = elementsArray.filter(filterAvailableInput).find(filterAvailableText);
|
||||
|
||||
if (firstInputElement) {
|
||||
firstInputElement.focus();
|
||||
jsegarra marked this conversation as resolved
jgallego
commented
refactor de chatGpt para no usar -1 if (firstInputElement) { refactor de chatGpt para no usar -1
const firstInputElement = elementsArray.find(element => element.classList.contains('q-field__native'));
if (firstInputElement) {
|
||||
}
|
||||
}
|
||||
},
|
||||
};
|
|
@ -0,0 +1,6 @@
|
|||
import { boot } from 'quasar/wrappers';
|
||||
import qFormMixin from './qformMixin';
|
||||
|
||||
export default boot(({ app }) => {
|
||||
app.mixin(qFormMixin);
|
||||
});
|
|
@ -164,7 +164,7 @@ function formatValue(value) {
|
|||
</script>
|
||||
|
||||
<template>
|
||||
<QForm @submit="search">
|
||||
<QForm @submit="search" id="filterPanelForm">
|
||||
<QList dense>
|
||||
<QItem class="q-mt-xs">
|
||||
<QItemSection top>
|
||||
|
|
|
@ -108,7 +108,7 @@ async function search() {
|
|||
</script>
|
||||
|
||||
<template>
|
||||
<QForm @submit="search">
|
||||
<QForm @submit="search" id="searchbarForm">
|
||||
<VnInput
|
||||
id="searchbar"
|
||||
v-model="searchText"
|
||||
|
|
Loading…
Reference in New Issue
Justo he probado en claimBasicData (ejemplo: http://localhost:9000/#/claim/1/basic-data) y es curioso pq no funciona. Dado que el primer elemento si es un input pero esta disabled. Igual se podría añadir que comprobase que no tenga la clase
.disabled
Si, es una posibilidad que había visto pero no contemplado.
Lo tengo en cuenta para mas cambios
me parece muy interesante que obvie los disables