O post da semana passada sobre as seções da barra lateral tinha uma parte chamada O que a revisão do plano cortou, e um dos itens era um link Configurar a barra lateral: aparecia ao passar o mouse, ficava abaixo das seções e abria o diálogo de propriedades. Eu o removi e escrevi que "um controle que só aparece ao passar o mouse, no fim de uma região com rolagem, é um controle que ninguém encontra."
O argumento estava certo, até certo ponto. Mesmo assim, esta atualização traz uma variante dele de volta, e vale explicar a diferença, porque ela diz respeito ao único caso que o argumento não cobria.
A barra lateral vazia
Todo cabeçalho de seção na barra lateral tem um botão de configurações que aparece ao passar o mouse, e até agora o menu por trás dele tinha um único item: Remover da barra lateral. Tags vem ativada por padrão, então um espaço de trabalho novo tem uma seção. Remova essa seção — algo razoável, se você não usa tags — e o meio da barra lateral fica em branco. Nova nota e Início no topo, Arquivos, Lixeira e Configurações embaixo, nada no meio.
O problema é justamente esse nada no meio. O caminho para trazer uma seção de volta é Mais → Propriedades personalizadas, depois a propriedade, depois Mostrar na barra lateral. Esse caminho existe, e o post anterior argumentou que estava a um clique. Só está a um clique se você já sabe que o espaço em branco é um espaço configurável. Uma região em branco não diz isso. O que há de mais próximo com cara de configuração é Configurações, que é o diálogo errado.
Então a regra que a revisão acertou — controles que só aparecem ao passar o mouse, no fim de uma lista, são invisíveis — precisa de uma ressalva. Quando a lista está vazia, não existe fim, e não há mais nada naquela região onde o olho possa pousar. O estado vazio é o único lugar em que um controle revelado ao passar o mouse funciona, porque não há nada disputando a atenção com ele.
O que foi lançado
Configurar a barra lateral aparece na área das seções só quando a barra lateral não tem nenhuma seção: Tags removida e nenhuma propriedade ativada com algo para listar. Passe o ponteiro sobre a barra lateral e ele surge aos poucos; clique e o diálogo de propriedades abre. Ative qualquer seção, feche o diálogo, e ele some. Ele aparece como uma linha tracejada e discreta, e não como um botão sólido, de propósito: não é uma ação que você faz com frequência, é uma dica de que aquele espaço pode conter algo.
A condição é mais rígida que "nenhuma propriedade na barra lateral". Uma propriedade de relação ativada, mas que ainda não tem nenhum link, não renderiza nada, e do seu ponto de vista isso é uma barra lateral vazia. O botão se guia pelo que de fato está na tela, não pelas flags.
Editar propriedade, de onde você está
O menu da seção ganhou um segundo item, e é o que eu deveria ter lançado primeiro: Editar propriedade. Passe o mouse sobre o cabeçalho de uma seção, clique no botão de configurações, escolha esse item, e o diálogo de propriedades abre com aquela propriedade já selecionada — as opções, as cores, a chave Mostrar na barra lateral, tudo ali. Para Tags e Quadro, ele abre o painel bloqueado das propriedades integradas, onde a chave da barra lateral é a única configuração.
Antes disso, editar uma propriedade que você via na barra lateral significava ir em Mais → Propriedades personalizadas e depois achá-la na lista. Com três propriedades, isso não é nada. Com quinze, vira uma busca, por algo que a barra lateral já sabia, porque o mouse estava em cima dele.
Abrir o diálogo já na propriedade certa
O pequeno detalhe de engenharia por trás das duas mudanças é que agora dá para dizer ao diálogo de propriedades em qual propriedade abrir. Parece trivial, e não foi bem assim.
O diálogo já tinha regras para a seleção: escolher a primeira propriedade criada pelo usuário ao abrir; pular para uma propriedade assim que ela é criada, quando chega a nova busca que a inclui; se recuperar se a selecionada some da lista. Essas regras vivem num único effect, e a nova precisava se encaixar sem atrapalhar as outras.
A complicação é o timing. O diálogo só busca a lista enquanto está aberto, e essa lista compartilha um cache com a barra lateral, então geralmente ela já está lá — mas nem sempre, e um pedido para selecionar uma propriedade que ainda não está na lista precisa esperar a lista, e não desistir. Uma propriedade recém-criada tem o mesmo tipo de problema, e ele foi resolvido guardando o id e tentando de novo quando os dados chegam. A propriedade pedida reaproveita essa ideia, com uma diferença. Uma propriedade criada com certeza vai aparecer, então esperar é o certo. Uma pedida pode ter sido excluída por um colega entre o momento em que você passou o mouse e o clique; então, se a lista chegar sem ela, o diálogo volta ao comportamento padrão em vez de ficar parado no nada para sempre.
Essa distinção ocupa poucas linhas, e é toda a razão de o recurso não ser instável.
Testar uma coisa invisível
A suíte end-to-end das seções da barra lateral ganhou dois testes. Um abre Stage pelo menu da seção e verifica que o campo de nome do diálogo já mostra Stage e que a chave está ligada; depois faz o mesmo com Tags e verifica que cai no painel das propriedades integradas. O outro remove Tags, confere que o botão de configurar existe mas está totalmente transparente, move o ponteiro sobre a barra lateral, confere que ele ficou opaco, clica, ativa Tags de novo e confere que o botão sumiu da página.
O segundo é mais minucioso do que parece. O Playwright considera visível um elemento transparente, porque ele tem uma caixa e não está oculto. Então uma verificação simples de "está visível" passaria, funcionasse ou não a revelação ao passar o mouse. Por isso o teste lê a opacidade calculada, antes e depois do hover. Se você lança um controle cuja razão de ser é quando ele aparece, teste o quando.
Tudo num lugar só
O menu da seção agora tem Editar propriedade / Remover da barra lateral.
Uma barra lateral sem seções mostra Configurar a barra lateral ao passar o mouse.
O diálogo de propriedades pode abrir numa propriedade escolhida e volta a um padrão razoável se ela não existir mais.
Ajuda: A barra lateral · Propriedades personalizadas · Changelog da v0.8.1
Continue lendo
Toda propriedade a um clique — o post da v0.8.0 que este revisita: quais tipos de propriedade ganham uma seção na barra lateral e o que a revisão do plano cortou.
Além das pastas: como o Notez organiza suas anotações — tags, subnotas, quadros e onze tipos de propriedades personalizadas, e por que o Notez não tem pastas.
A lista que você perde toda vez que abre uma anotação — a nota abre num painel lateral sobre a lista, então a posição de rolagem e os filtros ficam onde estavam.