Temos muitos Campos Personalizados de Usuário (UCFs) no nosso fórum, dos quais apenas um é usado no cadastro; este é crítico para decidir a aprovação ou não.
Portanto, agora quero ocultar todos, exceto esse (que, por acaso, é o primeiro), na fila de revisão, para que meus moderadores não precisem ficar olhando uma série de campos vazios para cada aprovação de novo usuário.
Cheguei até aqui:
.reviewable-user-details.user-field{
display: none;
/*tentativa de ocultar UCFs na fila de revisão - no momento, oculta todos*/
}
Isso oculta todos eles, mas ainda preciso exibir o primeiro. Tentei &:nth-of-type(1), mas não funcionou aqui — acho que devido à forma como o HTML funciona. Os elementos não têm classes.
Fiz uma pequena alteração que permitirá que seu CSS :nth-of-type(1) funcione; tínhamos um div contêiner extra lá que o impedia. Isso deverá estar disponível se você atualizar seu site em algumas horas.
Consegui ver que as divs do Ember sumiram — obrigado.
No entanto, ainda não consigo fazer o CSS funcionar; ele apenas esconde todos eles. Já tentei várias variações; talvez eu esteja fazendo algo bobo. Além disso, me pergunto o que aconteceria se funcionasse como estou pretendendo: não ficariam todos os campos do 2º ou 3º pessoa que precisa de aprovação escondidos?
Ah, certo, isso não funciona e é esperado… Eu sempre esqueço que nth-of-type foca no elemento, e não na classe.
Então, neste caso, não há elemento, apenas nomes de classe, por isso não está funcionando. Mas, se você adicionar o elemento (div neste caso), ele só corresponderá se o primeiro irmão div também tiver a classe .user-field (o que não acontece, pois há outros divs dentro deste pai que vêm antes dos user-fields).
De qualquer forma, resumo da ópera… um combinador de irmão geral funciona aqui no lugar. Dentro de .reviewable-user-fields, isso seleciona todos os .user-field que são irmãos do primeiro .user-field.