obnovovení ublaboo datagrid po zavření editačního modalu

Petr Parolek
Člen | 455
+
0
-

Ahoj,

nedaří se mi obnovit datagrid AJAXem po uložení dat v formuláři.

	$(document).on('hidden.bs.modal','#myModal', function () {
		window.setTimeout('location.reload()', 1000);
	});

Sice se datagrid obnoví po vteřině, ale zmizí toastr flash zpráva.

Jak mám prosím znovunačíst data (invalidovat snippet) v datagridu namísto znovunačtení celé stránky? Používím nette.ajax.js.

EDIT:

Nakonec jsem vyřešil problém sám takhle:

	$(document).on('hidden.bs.modal','#myModal', function () {
		$.nette.ajax({
			url: {link someControl:refreshDatagrid!}
		});
	});
<?php
	public function handleRefreshDatagrid()
	{
		$this['someGrid']->reload();
		$this->presenter->redrawControl('flashes');
		$this->presenter->redirect('this#someTab');
	}
?>

Editoval ppar (27. 3. 2020 10:09)

F.Vesely
Člen | 369
+
+1
-

Muzes si udelat nejakou metodu handleRefresh, ve ktere zavolas $this->redrawControl('...').

Potom v JS misto toho timeoutu s reloadem zavolas AJAX s url toho handleRefresh $.nette.ajax({url: ... });

Petr Parolek
Člen | 455
+
+1
-

čteš mi myšlenky @FVesely . Viz upravený příspěvěk

Editoval ppar (27. 3. 2020 10:12)