Open studiojms opened 7 years ago
Alguns projetos que participei utilizam soluções similares para resolver o mesmo problema. Se ficasse unificado no apollo, todos ganhariam com atualizações / correções e seria mais fácil para outros projetos utilizarem o mesmo componente
Acho bacana,
Acho só que temos que separar dialog de um confirm dialog, pois acho que o confirm vc tem sempre duas ações (callbacks) distintos o que já não faz sentido no dialog genérico.
Outra opção é o dialog sempre ser o mesmo, e por exemplo ele receber footer como prop, e o footer pode ser comum(ou nem ser passado) ou um confirm por exemplo:
//Modal simples
const myHeader = () => <h4>Meu modal</h4>
<modal header={myHeader}>
<p>meu modal</p>
</modal>
//Modal Confirm
const confirmFooter = () =>
<ConfirmAction onConfirm={} onDeny={} confirmLabel="Aceitar" denyLabel="Rejeitar" />
const confirmHeader = () => <h4>Aceita esse proposta</h4>
<modal header={confirmHeader} footer={confirmFooter}>
<p>meu modal</p>
</modal>
É uma idea, o que acham?
Concordo com a ideia de separar bem um dialog
de um confirm dialog
, pois assim podemos manter a boa prática que o próprio React prega, componentes que fazem o mínimo necessário são mais fáceis de manter, evoluir e até mesmo serem substituídos caso haja necessidade.
Legal, é essa mesmo a ideia. Ter dois componentes distintos, embora possam compartilhar particularidades em comum (pode ser o mesmo componente de dialog etc.)
Algo que muitas vezes dá trabalho é criar janelas modais (inclusive modais de confirmação, em que o usuário deve escolher se continua ou não a ação solicitada). O apollo poderia ter um componente que facilite esta operação, algo como as imagens: