-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Preview reativo ao campo em foco #11
Comments
@leomp12 Nele estão sendo pego os eventos do onFocus no widgets, repassados até o componente que dispara a alteração no redux, porém não consegui pegar essa alteração do outro lado (preview), para a coluna ser novamente renderizada. Como faz o onChange, quando há alguma alteração, o Preview é remontado, com todos os dados, porém para o onFocus, é necessário encontrar qual o widget que foi acionado. Fiz testes alterando o #ducument (aqui https://github.com/ecomplus/storefront-cms/blob/main/netlify-cms%402/packages/netlify-cms-core/src/components/Editor/EditorPreviewPane/EditorPreviewPane.js#:~:text=%7B(%7B-,document,-%2C%20window%20%7D)%20%3D%3E%20%7B ) Outro teste foi adicionando o style a div selecionada, pelo registerPreviewStyle, |
@oscargross mano não tenho certeza se entendi tudo...
E se você só setar uma global no focus (🇬🇲 rra)? Nesse caso você não precisaria descobrir "reversamente" qual field triggou a alteração, certo?
Mas nem é o caso, você só precisaria informar ao preview de alguma forma (sinal de fumaça que seja) que certo campo está em foco, aí o preview seria responsável por dar um highlight nele, isso a gente faria no JS do componente do custom preview, fora do source do CMS... De qualquer forma isso é um enhancement opcional e o issue era uma PoC só por enquanto, só para vermos se era viável sem deixar o CMS muito lento, se você preferir deixamos isso de lado por enquanto, pensamos melhor e fazemos depois. O CMS vai ser atualizado no Storefront com as suas edições mesmo sem isso aqui (see ecomplus/storefront#596). |
@leomp12 Testei enviando o label quando o onFocus é acionado, porém é possível que tenham vários labels iguais, por conta das lists e typed lists do cms. Aí complicou. O que comentou sobre estilizar o |
Saquei...
No nosso caso o custom preview vem daqui https://github.com/ecomplus/storefront/tree/master/%40ecomplus/storefront-template/template/js/netlify-cms/preview Numa última alternativa, você acha que é viável só consumir uma global? Por exemplo, podemos definir if (window.storefrontCmsOnFocus) {
window.storefrontCmsOnFocus({ fieldPath });
} Em que |
@leomp12 Netlify.CMS.Development.Test.-.Google.Chrome.2022-01-17.10-23-35.mp4 |
@oscargross então, nesse caso o redux é necessário porque sua global é um objeto né, eu sugeri uma função porque usaria ela como um hook, não sei se você tinha entendido...
|
Não não, só comento que fiz pelo redux pq lá encontrei a forma para o preview renderizar quando esse evento acontecer(focus). |
Atualmente o preview só pode ser reativo a alterações nos campos do CMS, para melhorar a experiência de construtor de página o ideal é que o preview também possa ser reativo ao campo em foco (como acontece no TinaCMS, a section respectiva ao campo fica em destaque).
Para isso precisaremos que o CMS passe em uma nova prop (eg.:
this.prop.focus
) o campo atualmente editado para o componente do custom preview.The text was updated successfully, but these errors were encountered: