EasyJsConfirm – jednoduche potvrzovani udalosti

#1 před 7 měsíci

Felix
Člen
Registrovaný: 4. 7. 2010
Příspěvky: 114

EasyJsConfirm – jednoduche potvrzovani udalosti

Zdravim,

resil jsem tuhle jak ochranit uzivatele od nechteneho smazani nebo upraveni nece. Stvoril jsem jednoduche potvrzovani.

Zde javascriptove potvrzovani:

// EasyJsConfirm
$('input, a, .easyconfirm').each(function(index, el){
        var obj = $(el).data();
        if(obj.confirm){
                $(el).click(function(){
                        if(confirm(obj.confirm)){
                                return true;
                        }else{
                                return false;
                        }
                });
        }
});

Vyuziti napriklad v sablone:

<a href="{link delete!,$article->id}" data-confirm="Opravdu smazat tento clanek?">SMAZAT</a>

Nebo ve formulari:

$form->addSubmit('delete','Smazat')->getControlPrototype()->data['confirm'] = "Opravdu chcete smazat tento clanek?";

Jen sem se o to chtel podelit ;-)

Editoval Felix (3. 11. 2011 20:23)


@xf3l1× | http://www.jfx.cz/ | Karta stastna, vecere slastna.

 

#2 před 7 měsíci

22
Nette guru
Registrovaný: 18. 1. 2010
Příspěvky: 1424

Re: EasyJsConfirm – jednoduche potvrzovani udalosti

je to výborný, akorát mám raději, když mi to vypíše i co chci smazat, aby se zaroveň potvrdilo, že předchozí kliknutí v tabulce třeba nebylo někam jinam :-)))

 

#3 před 7 měsíci

Felix
Člen
Registrovaný: 4. 7. 2010
Příspěvky: 114

Re: EasyJsConfirm – jednoduche potvrzovani udalosti

22 napsal(a):

je to výborný, akorát mám raději, když mi to vypíše i co chci smazat, aby se zaroveň potvrdilo, že předchozí kliknutí v tabulce třeba nebylo někam jinam :-)))

to uz zalezi co das do toho textu ;-)


@xf3l1× | http://www.jfx.cz/ | Karta stastna, vecere slastna.

 

#4 před 7 měsíci

22
Nette guru
Registrovaný: 18. 1. 2010
Příspěvky: 1424

Re: EasyJsConfirm – jednoduche potvrzovani udalosti

jj, jsem si nevšim data-confirm, pak ok.. .-) Možná jako jQuery plugin teda potom.. :-)

Editoval 22 (3. 11. 2011 19:51)

 

#5 před 7 měsíci

voda
Nette guru
Registrovaný: 26. 4. 2010
Příspěvky: 335

Re: EasyJsConfirm – jednoduche potvrzovani udalosti

Nebylo by lepší dát podmínku na data-confirm atribut rovnou do selektoru?

$('[data-confirm]')...

Pak by ses mohl zbavit volání each.

 

#6 před 7 měsíci

Felix
Člen
Registrovaný: 4. 7. 2010
Příspěvky: 114

Re: EasyJsConfirm – jednoduche potvrzovani udalosti

voda napsal(a):

Nebylo by lepší dát podmínku na data-confirm atribut rovnou do selektoru?

$('[data-confirm]')...

Pak by ses mohl zbavit volání each.

myslis

// EasyConfirm
$('[data-confirm]').click(function(){
        if(confirm($(this).data().confirm)){
                return true;
        }else{
                return false;
        }
});

jo to by asi slo :)

Editoval Felix (3. 11. 2011 20:24)


@xf3l1× | http://www.jfx.cz/ | Karta stastna, vecere slastna.

 

#7 před 7 měsíci

voda
Nette guru
Registrovaný: 26. 4. 2010
Příspěvky: 335

Re: EasyJsConfirm – jednoduche potvrzovani udalosti

Ještě ten if tam je asi taky zbytečný.

 

#8 před 7 měsíci

Felix
Člen
Registrovaný: 4. 7. 2010
Příspěvky: 114

Re: EasyJsConfirm – jednoduche potvrzovani udalosti

voda napsal(a):

Ještě ten if tam je asi taky zbytečný.

// EasyConfirm
$('[data-confirm]').click(function(){
        return confirm($(this).data().confirm);
});

hh xD docela zjednoduseni .. by se dalo pouzit v netteForms trebas..

Editoval Felix (3. 11. 2011 20:40)


@xf3l1× | http://www.jfx.cz/ | Karta stastna, vecere slastna.

 

#9 před 7 měsíci

redhead
Nette guru
Registrovaný: 2. 5. 2009
Příspěvky: 1232

Re: EasyJsConfirm – jednoduche potvrzovani udalosti

Nic proti, ale tohle bych ani moc jako doplněk nenazýval. Tohle je na pár minut psaní a s Nette to taky nemá nic moc společnýho.

Online

 

#10 před 7 měsíci

hrach
Nette guru
Registrovaný: 11. 3. 2007
Příspěvky: 519

Re: EasyJsConfirm – jednoduche potvrzovani udalosti

a jeste k tomu tam chybi event.stopPropagation(), pac kdyz na tom bude zaveseny jiny ajax, tak to projde.

 

#11 před 7 měsíci

vojtech.dobes
Nette guru
Registrovaný: 27. 9. 2010
Příspěvky: 280

Re: EasyJsConfirm – jednoduche potvrzovani udalosti

Dovolím si jen dodat, že před časem David Grudl doporučoval pro tento účel používat data-nette-confirm, protože podobná funkcionalita by měla být do Nette přímo integrována. Navíc na stránce addonu je odkázané špatné vlákno ve fóru. Hm… taky jsem někde tady na fóru četl nápad vytvořit čistě pro budoucí kompatibilitu makro n:confirm, které by ten datový atribut zapouzdřovalo. Vůbec kolem tohohle nápadu tady padlo tolik vylepšení, že je až s podivem, že nejsou zrovna v tomto addonu implementovány. Aneb dvakrát měř a jednou řež :)

Nicméně když se to vychytá, podle mě je to jako addon (řešící konkr. problém) fajn.


Dělat věci dobře. Clevis s.r.o. Github @vojtechdobes

 

Zápatí