[Addon] JDialogs – snadná tvorba jQuery UI dialogů

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Michal Vyšinský
Člen | 608
+
0
-

Diskuse k doplňku JDialogs

Jedná se o bývalý „WindowManager“ – myslím si, že název JDialogs je vhodnější. A hlavně jsem to od základu předělal.

Poděkování
xxxObiWan – Díky za nápad s komponentou
22 – Díky za nápad s jQuery UI dialogy
vojtech.dobes – Díky za nakopnutí s JS API

Editoval CherryBoss (17. 12. 2011 1:07)

h4kuna
Backer | 740
+
0
-

Prosím tě to demo když kliknu na „horní lištu“ toho okna a táhnu s ním tak okéno uskočí a myš mám ve spodní části okénka. Mám prohlížeč Google chrome.

Michal Vyšinský
Člen | 608
+
0
-

Aha :-| Mně to dělá taky. Jak budu mít čas, tak se na to mrknu.

petr.pavel
Člen | 535
+
0
-

Nějak jsem z popisu použití nepochopil, kde se bere to id dialogu („dialogOne“). Asi to v továrně nějak nastavuji, ale nevidím to tam. Ušlo mi něco?

Michal Vyšinský
Člen | 608
+
0
-

ID se nastavuje podle názvu komponenty metodou getName()

leninzprahy
Člen | 150
+
0
-

Ahoj,
zkoušel jsem použít dialog a do šablony kterou nastavím

$dialog->template_file = ....

vložit komponentu, konkrétně formulář, ale bez úspěchu.

Nakonec jsem našel řešení úpravou metody render()JDialog.php kde jsem šablonu vytvořil za pomoci rodiče

$template = parent::createTemplate('\Nette\Templating\Template');

odpadne nutnost definovat

$template->registerHelperLoader('Nette\Templating\DefaultHelpers::loader');
$template->registerFilter(new \Nette\Latte\Engine);

//add control variable to support latte n:atributes
$template->control = $this;

a výsledná metoda pak vypadá takto

public function render() {

	//create template
	$template = parent::createTemplate('\Nette\Templating\Template');

	$template->setSource($this->getDialogCode());

	//add data to template
	foreach($this->data as $key=>$data) {
	    $template->$key = $data;
	}

	//render template
	$template->render();
}

tak kdyby na to někdo taky narazil…

je vlastně nějaký důvod proč se vytvářela pomocí

$template = new \Nette\Templating\Template();

?

Michal Vyšinský
Člen | 608
+
0
-

Jediný důvod byla moje neznalost. Děkuji za opravu/vylepšení. Jinak mohl bys prosím specifikovat, co znamená „ale bez úspěchu.“? Vyhodilo to nějakou chybu? Díky

leninzprahy
Člen | 150
+
0
-

Vyhazovalo to Notice

Notice Undefined variable: _control
michal.lohnisky
Člen | 64
+
0
-

Ahoj,

při kliknutí na odkaz, který má otevřít dialog dostávám „Invalid value for parameter ‚data‘, expected scalar.“. Když jsem v demo příkladu nahradil Nette za nejnovější verzi, začalo to zlobit taky. Nevíte, kde je chyba?

EDIT:
řádek 105 v JDialog.php
public function handleSave($data) {
jsem nahradil za
public function handleSave() {
a vše funguje.

Editoval michal.lohnisky (7. 8. 2012 19:41)

kycera
Člen | 7
+
0
-

Doplněk nejde stáhnout. Poprosil bych obnovení zdroje popřípadě jiný. Děkuji

jannemec
Člen | 78
+
0
-

Jj, potvrzuji, nejde stáhnout.

Michal Vyšinský
Člen | 608
+
0
-

Stáhnout to jde bez problému. Nicméně dnes bych doplněk asi udělal úplně jinak. Možná se najde čas na předělání.