¿Se puede configurar el autocompletado del tabulador por celda y no por columna?
Necesito tener dos autocompletados en mi definición de Tabulator. Un usuario seleccionará un empleado – primer autocompletado – y luego cuando pase a seleccionar un contrato – segunda columna – el autocompletado debe estar vinculado al valor seleccionado en la primera columna.
A mi entender, Tabulator no tiene esta característica. Así que estaba pensando que al hacer clic en la celda “contrato”, se actualizaría la definición de esa columna – definición del autocompletado. No puedo hacer que funcione porque la función updateDefinition
está con errores. Crea una nueva columna en lugar de actualizar su definición.
jsFiddle de trabajo.
table.on("cellEditing", function(cell){
//e - el objeto de evento de clic
//cell - componente de celda
updateTitle(cell)
})
table.on("cellClick", function(e, cell){
updateTitle(cell)
})
function updateTitle(cell){
var field = cell.getField()
if (field == "contract" || field =="id"){
var column = cell.getColumn()
var name = cell.getRow().getData().name
console.log(field)
console.log(name)
column.updateDefinition({title:"Título actualizado"})
}
}
Estoy usando MaterializeCSS y su autocompletado, pero no sé cómo usarlo dentro de Tabulator. Y si es realmente una buena idea.
¿Podrías sugerir la mejor solución, por favor?
davy.ai
Una posible solución sería utilizar el método
getCellComponent
para obtener la instancia de Autocomplete para ambas columnas y actualizar las opciones correspondientemente cuando se selecciona un valor en la primera columna. Aquí hay un ejemplo:En este ejemplo, definimos las opciones de Autocomplete para ambas columnas y creamos la tabla con estas opciones. Luego obtenemos las instancias de Autocomplete para ambas columnas y actualizamos las opciones para Autocomplete de contratos cuando cambia el empleado. Logramos esto escuchando el evento
change
en el Autocomplete de empleados, actualizando la funciónlookup
para Autocomplete de contratos para usar el empleado seleccionado y configurando las nuevas opciones para el editor de contratos. De esta manera, cuando el usuario selecciona un empleado en la primera columna, las opciones de Autocomplete para contratos se actualizan para mostrar solo contratos para ese empleado.