Suporte a c-remove e melhoria do c-remove-closest em cru.js#4
Suporte a c-remove e melhoria do c-remove-closest em cru.js#4Tiago-Daniel-Guerreiro wants to merge 2 commits intoIazzetta:mainfrom
c-remove e melhoria do c-remove-closest em cru.js#4Conversation
|
Olá @Tiago-Daniel-Guerreiro , obrigado pela primeira contribuição do cru.js! Tenho alguns pontos que vou comentar, me diz o que você acha. c-removeEu gostei da ideia do c-remove, pode ser uma boa adição no cru.js. O unico problema seria a forma que você fez a remoção multipla, pois veja o exemplo: <div class="menu-teste">
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
</div>
<button c-remove=".menu-teste ul li:first-child">remover primeiro li</button>Se o usuário fizer uma query mais complexa o seu Teria que fazer algo diferente, talvez um c-remove-closestSobre o c-remove-closest também ficou bacana colocando ele no intercept do evento de envio do formulario. Realmente tava faltando. Porem você colocou uma inicialização na função Fora que a função $cruLoadRequests é responsável por carregar as interações de request, o c-remove-closest não tem esse proposito, teria que tirar dai de qualquer jeito. ajustes para aprovar a PRSe você remover a inicialização do Tamo junto! |
|
Obrigado @Iazzetta pela resposta, quanto ao problema da inicialização do |
|
Boa @Tiago-Daniel-Guerreiro , porem você não removeu o evento do c-remove-closest do $cruLoadRequests e adicionou o do c-remove. Teria que remover os 2 dessa função pois ela é responsavel apenas por inicializar eventos relacionados a requisicao (get/post/put/delete). Acho que entendi sua ideia, de poder adicionar um c-remove e um c-remove-closest sem precisar depender de formularios. Talvez o ideal seria criar uma função especifica para carregar eventos de interação de elemento. Por exemplo, da para criar uma função só pra adicionar eventos de elementos: const $cruLoadElementEvents = () => {
// aqui você coloca a inicialização do c-remove.
// não coloque o c-remove-closest
}E ai chamamos essa função no inicializador: const $cruLoadEvents = () => {
$cruLoadRequests()
$cruLoadFormIntercept()
$cruLoadAllContainers()
// aqui
$cruLoadElementEvents()
}O c-remove-closest não seria interessante colocar dentro dessa função só pra resumir:
|
2078417 to
b25ba35
Compare
b25ba35 to
200f122
Compare
|
Olá @Iazzetta, obrigado pelo feedback! Já corrigi o problema, não tinha percebido, mas a separação faz sentido, e fiz mais algumas mudanças. Resumo das alterações:
|
Adicionação de um novo atributo
c-removepara remover elementos e melhoria doc-remove-closestpara formulários.Mudanças:
c-remove: Remove seletores especificados
Novo atributo que permite remover um ou múltiplos elementos, listando os identificadores, separados por espaço.
Exemplos:
<button c-remove=".notification">Remove notificação</button><button c-remove="#temp .item">Remove múltiplos</button>- remove#tempE.itemc-remove-closest: Agora funciona em formulários (Como o c-remove)
Exemplo:
<form c-remove-closest="#modal-wrapper">...enviar fecha modal</form>