Gutenberg: Existe uma maneira de saber se o bloco atual está dentro dos InnerBlocks?
Então, eu estou usando blocos aninhados no Wordpress Gutenberg. Estou aplicando um invólucro nos meus elementos que aplicam uma classe de contêiner de autoinicialização. Obviamente, eu só queria isso nos blocos mais externos, não naqueles dentro de um bloco aninhado.
Existe uma maneira de saber se o bloco atual está dentro de uma InnerBlocksdefinição de um bloco pai? Atualmente, estou aplicando o wrapper dentro do blocks.getSaveElementfiltro.
Para o contexto: Nas versões anteriores do Gutenberg, costumava haver o atributo de layout para isso, mas ele foi removido. Estou usando a versão 3.9.0.
Esta é uma versão abreviada da minha função de wrapper:
— deadfishli
— Matthew Brown aka Lord Matt
você pode chamar getBlockHierarchyRootClientIdcom o clientId do bloco, getBlockHierarchyRootClientIdretornará o ID do bloco pai se o bloco atual estiver dentro de innerBlocks e retornará o mesmo ID se for root
você pode chamar assim
Além disso, você pode definir uma função auxiliar que você pode usar no seu código
— N. Seghir
Penso que o problema é que, no momento em que blocks.getSaveElementnão clientIdé atribuído, ainda não foi atribuído, pelo que parece que não é possível de dentro do filtro. Talvez uma solução possa ser alcançada tentando uma solução alternativa de alguma outra maneira.
você pode usar editor.blockListBlockpara executar uma verificação dentro do bloco e atribuir uma classe ou algo