Closed leomp12 closed 4 years ago
Adicionalmente, nas configurações dos widgets vários booleanos têm a propriedade required
, na verdade deveria ser default
(https://www.netlifycms.org/docs/widgets/boolean/ não tem required
)
@vitorrgg pode ver isto pra mim por favor? Fixar esta configuração dos booleans (required
-> default
) e depois testar a implementação com o Filtered folder collections?
Já vi que a implementação com Filtered folder collections não funcionaria :disappointed:
@vitorrgg neste caso só corrige isto por favor:
Adicionalmente, nas configurações dos widgets vários booleanos têm a propriedade required, na verdade deveria ser default (https://www.netlifycms.org/docs/widgets/boolean/ não tem required)
O resto (sobre preencher os defaults) é comigo.
No caso seria só remover as propriedades required no base-config.js mesmo né?
@vitorrgg remover sempre que for required: false
(não altera nada em booleano), mas em alguns casos acho que booleanos estão required: true
e provavelmente deveriam ser default: true
;
Edit.: na verdade acredito que em alguns casos que estão required: false
também seria interessante o default: true
, no active
dos widgets por exemplo (se fosse uma folder collection acho que o active deveria ser iniciado true no novo widget criado).
@vitorrgg deixa quieto por enquanto, na verdade não tenho certeza mais se o required: false
faz diferença ou não pra booleano e de qualquer forma o bug mesmo eu já fixei.
Obrigado;
O bug está resolvido mas tenho uma dúvida sobre como configurar os widgets no CMS ainda sobre estes defaults.
@vitorrgg @matheusgnreis
Nestes casos devemos deixamos os campos hidden
ou required: false
(boolean
, string
...)?
Se colocarmos hidden
o lojista só poderá editar o campo manualmente no arquivo JSON.
Caso contrário, com required: false
, o campo até aparece no CMS mas poderá exibir o valor incorreto antes da primeira edição (isto é mais nítido com booleanos com padrão true).
Os widgets estão sendo copiados na instalação com mergeJson
, neste caso os defaults são inseridos caso o arquivo de configuração no content seja inexistente ou objeto vazio:
https://github.com/ecomplus/storefront/blob/master/%40ecomplus/storefront-template/scripts/install.js#L63
Portanto os campos não precisam ser hidden
, não haverá problema com defaults inconsistentes.
Os defaults no Netlify CMS não preenchem as propriedades na collection do tipo file (com o arquivo já existente), na verdade pelo que li funciona apenas para folder collections com
create: true
, isto vale tanto para props tipoboolean
ehidden
.Ou seja, na implementação atual adicionar um novo widget no
storefront-template
e na configuração padrão do CMS não funciona como deveria porque nostorefront
o lojista vai adicionar o novo widget sem as props que seriam preenchidas com defaults (ex.: https://github.com/lojatiasonia/emporiotiasonia/commit/69726ace21a428b58e2d617bf8b3f8f5dc01d049).Na verdade eu já pensei em uma solução para o bug, mas encontrei uma alternativa que parece melhor aqui https://www.netlifycms.org/docs/collection-types/#filtered-folder-collections :
Neste caso não utilizaríamos mais file collection para os widgets, e não precisaríamos mais mockar os arquivos (:hankey:) e acredito que (isto é o principal) resolveria o problema com defaults em widgets novos.
Dois possíveis problemas:
title
usando select ?) e já aplicariam de cara os fields, ou isto funcionaria apenas na edição de um widget já "criado" :thinking: