Vlastní n:atributy pro konfirmační modální okno; jak na ně?

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Pavel Kouřil
Člen | 128
+
0
-

Dneska ráno mě napadla jedna taková věc do (částečně) univerzální administrace, kterou si zrovna dělám na použití na více projektů, hlavně u „akcí“ jako mazání apod.

Jedná se o to, žebych si vyrobil vlastní n:atribut, který by byl „nadstavba“ n:href; zadal by se tam normálně odkaz, nicméně by to zkontrolovalo anotaci akce/renderu, na který to odkazuje. A kdyby se tam objevila anotace @confirm nebo nějaká podobná, tak aby to přidal nějaký html5 atribut o potřebném confirmu. Odteď bych si to už ošetřil nejspíš Jquery UI dialogem.

Nicméně vůbec nevím, kde tyto n:atributy hledat (v api dokumentaci jsem to nikde nenašel).

Děkuji předem

edit: typos :(

Editoval Pajka (16. 4. 2011 11:13)

Aurielle
Člen | 1281
+
0
-

n: atributy se registrují takto:

// self je ze třídy která dědí LatteMacros, jinak LatteMacros, macroConfirm je moje vlastní
self::$defaultMacros['@confirm'] = ' data-confirm="<?php echo %:escape%(%:macroConfirm%) ?>"';
bojovyletoun
Člen | 667
+
0
-

https://forum.nette.org/…ra-n-confirm

Ale podle mě je stejné psát <a n:href="Pre" n:confirm="Potvrď platbu">Plať</a> a <a n:href="Pre" data-confirm="Potvrď platbu">Plať</a> … resp místo data-confirm data-nette-confirm případně ‚zneužít‘ class (na používání class k jiným než vizuálním vlastnostem nevidím nic zlého) :class=„confirm“

Pavel Kouřil
Člen | 128
+
0
-

<a n:href="Pre" n:confirm="Potvrď platbu">Plať</a> a <a n:href="Pre" data-confirm="Potvrď platbu">Plať</a> stejné víceméně jsou.. ale já chci něco následujícího

class FooPresenter extends BarPresenter
{
	/**
	* @confirm Potvrď platbu
	*/
	public function actionPay($id)
	{
		//mazací kód
	}
}

v presenteru.. a v latte šabloně pak

<a n:chref="pay, id => $id">Zaplať</a>

ze kterého by se stalo

<a href="/foo/pay/1" data-confirm="Potvrď platbu">Zaplať</a>

Snad je to teď dostatečně srozumitelné.