Columns jump after scrolling back up with fixedHeader and no autoWidth

Aberta
#94 5 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
3/5
Tempo estimado
1-2 dias
Facilidade para iniciantes
45/100
Tipo de issue
Bug
Clareza
Razoavelmente clara
Status de atividade
Estagnada
Stack de tecnologia
javascript, jquery
Domínio
frontend

Direção de pesquisa

Comece pelo fiddle vinculado e pela função _unsize em js/dataTables.fixedHeader.js, usando a configuração relatada com DataTables 1.10.13 e FixedHeader 3.1.2. Reproduza a sequência de rolagem e, em seguida, inspecione como os valores de largura do cabeçalho são removidos. Está concluído quando rolar de volta para o topo não alterar mais as larguras das colunas e os outros casos de cabeçalho continuarem funcionando.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

Steps to reproduce:

  1. Load this fiddle. https://jsfiddle.net/frabcus/eyk79woh/13/
  2. Make the window narrow vertically.
  3. Scroll down the page - the header stays fixed (floating)
  4. Scroll back up.
  5. At the top, when the header merges back in, all the column widths jump to new values.

I've narrowed it down to this code in _unsize: https://github.com/DataTables/FixedHeader/blob/master/js/dataTables.fixedHeader.js#L348

The cells are the only place the width of columns is stored in the DOM. And _unsize wipes those width values, resetting the table to not have fixed widths. If I make _unsize just do nothing and return, everything works fine.

The fix for bug #57 introduced this code. I don't know the solution as I don't fully understand the other cases. I'm not sure why for any header case the widths should be wiped.

DataTables-1.10.13
FixedHeader-3.1.2
jquery-3.1.1

Linguagem predominante
TypeScript
Estrelas
73
Forks
83
Métricas de merge de PRs
Nenhum PR com merge em 30d

Preparar o ambiente

Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de DataTables/FixedHeader

Todas as issues de DataTables/FixedHeader

Issues semelhantes

Mais issues de TypeScript

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.