Grido – DataGrid pro Nette

chap
Člen | 81
+
0
-

Ahoj, řeším problém s client-side Grida. Z nějakého důvodu se neinicializuje. Mám aktuální verze Nette a Grido, vše vypadá že jde, jen věci jako invertovat výběr, onSelect filtru atp mi nejdou. Skripty v původní podobě mám nalinkovány takto:

<script src="{$basePath}/js/jquery.js"></script>
<script src="{$basePath}/js/nette.ajax.js"></script>
<script src="{$basePath}/js//bootstrap.min.js"></script>
<script src="{$basePath}/js/netteForms.js"></script>
<script src="{$basePath}/js/grido.js"></script>
<script src="{$basePath}/js/history.ajax.js"></script>
<script>$(function () {  $.nette.ext('history').cache = false;$.nette.init();});</script>

Konzole nehlásí žádný problém, takže bych to tipoval na to, že se mi jen neinicializuje Grido …
Když skusím dát do grido.js

 Grido.Grid.prototype =
{
  ...
    init: function()
    {
        console.log("test");
        ...
    }

tak se nic neděje. Poradíte prosím?

mpis
Člen | 65
+
0
-

Nainstaluj si Grido-sandbox a podle něj si přilinkuj scripty.

chap
Člen | 81
+
0
-

mpis napsal(a):

Nainstaluj si Grido-sandbox a podle něj si přilinkuj scripty.

Ahoj, dodal jsem grido.ajax.js ze sandboxu a už to šlape jak má. Díky. Chap

jval
Člen | 36
+
0
-

zdravím, je možné v o5/grido nastavit aby tlačítka pro editaci/mazání směřovala na handle?

o5
Člen | 416
+
0
-

jval napsal(a):

zdravím, je možné v o5/grido nastavit aby tlačítka pro editaci/mazání směřovala na handle?

Koukal jsi do dokumentace či API?

Editoval o5 (12. 11. 2014 23:05)

Šaman
Člen | 2659
+
0
-

Já to dělal takhle pomocí třetího parametru:

<?php
$grid->addActionHref('delete', 'Smazat', 'delete!')
		->setIcon('trash')
		->setConfirm(function($item){
				return "Opravdu chcete odstranit uživatele {$item->email}?";
			});
?>
jval
Člen | 36
+
0
-

o5 napsal(a):

jval napsal(a):

zdravím, je možné v o5/grido nastavit aby tlačítka pro editaci/mazání směřovala na handle?

Koukal jsi do dokumentace či API?

Chlapi omlouvám se, příště nejdřív testnu a pak teprve budu psát do fóra.
Já to samozřejmě takto měl

$grid->addActionHref('edit', 'Upravit','edit!')->setIcon('pencil');

ale na pohled se mi nezdál odkaz který to generovalo

/client/default/9?do=edit

a než abych na to zkusil klepnout, tak jsem tady napsal dotaz.

keeper7
Člen | 8
+
0
-

Jak do ctvrteho parametru $args dostanu data z aktualneho radku?
Potrebuju totiz zavolat akci kde se preda ‚id‘ a treba hodnotna ze sloupce ‚doc_id‘.
Hledal jsem ale nikde jsem nenasel example.

<?php
$grid->addActionHref('edit', 'Upravit', NULL, $args);
?>
mpis
Člen | 65
+
0
-

keeper7 napsal(a):

Jak do ctvrteho parametru $args dostanu data z aktualneho radku?

$action = $grid->addActionHref('edit', '');
      $action->setDisable(function() { return !($this->can('EQUIPMENT_WRITE') and $this->template->docarea_id==0);});
      $action->setCustomRender(function($item, \Nette\Utils\Html $el) use ($grid)
      {
      $el->removeChildren();
      $el->addAttributes(array(
        'href' => $this->link('Equipment:equipmentEdit',  array(
          'equipment_id' => $item->equipment_id,
          'docarea_id' =>  $this->template->docarea_id,
          'doccategory_id' =>  $item->doccategory_id)),
        'class' => 'icon edit',
        'title' => $grid->translator->translate('Editovat přístroj'),
      ));
      return $el;
      });
Pavel Kravčík
Člen | 1195
+
0
-

Zdravím,

zkoušeli jste někdo addColumnDate pro array Grid? Konkrétně mi jde o filtry. Nefungují mi, ať je nastavím jakkoliv. :(

Mám nějaké pole (activeRow, arrayHash, array) – zkoušel jsem všechny. Nastavenou hodnotu na:

vytvoreno => "19.11.2014" (10)

nebo:

vytvoreno => Nette\DateTime #f14e
date => "2014-11-19 09:43:40.000000" (26)
timezone_type => 3
timezone => "Europe/Prague" (13)

Pak si zavolám v gridu:

$grid->addColumnDate('vytvoreno', 'Vytvořeno')
    ->setSortable()
	->setFilterDate();

Zkoušel jsem samozřejmě i Date::FORMAT_DATE a ty ostatní formátování i funkci addFormatDate() nebo jak se jmenuje.

Grid funguje bezvadně (náhodou jsem objevil, že nefiltruje podle datumu). Na čistém sandboxu taky nefiltruje, pokud použiju Array.

Nějaké rady/nákopy? Nic už mi nenapadá. Co tedy má být vstupem, aby to uměl addColumnDate filtrovat?

Díky

Ja
Člen | 260
+
0
-

Resil nekdo prekresleni Grida po vyvolani Ajaxove akce? Treba po smazani? Nejak se mi to nedari.

Casper
Člen | 253
+
0
-

@Ja Grido si interně cachuje $data, pokud potřebuješ grido překreslit s novými daty, musíš tuhle protected proměnnou vymazat a zavolat reload().

o5
Člen | 416
+
0
-

Ja napsal(a):

Resil nekdo prekresleni Grida po vyvolani Ajaxove akce? Treba po smazani? Nejak se mi to nedari.

Stačí takto:

$grid->addActionEvent('delete', 'Delete', function($id) {
	$this->model->delete($id);
	$this['grid']->reload();
});

Editoval o5 (27. 11. 2014 19:19)

Tirus91
Člen | 199
+
0
-

Jak mohu vypnout kompletně ajaxové akce? Snažím se o to, abych vybral nějaké řádky a zvolil si operaci, ovšem neustále to odesílá ajaxově. Poradil by mi s tím někdo prosím?

Rampus
Člen | 39
+
0
-

Řešil jste někdo skrývání sloupců při malých obrazovkách? Případně návrh na feature.

Mám sloupec který nechci zobrazit na tabletech a míň přes TWB.

<?php
$col=$table->addColumnText('sumaTax', "Částka s DPH");
$col->getHeaderPrototype()->addAttributes(['class'=>'column hidden-sm']);
$col->getCellPrototype()->addAttributes(['class'=>'hidden-sm']);
?>

funguje to krásně, ale pokud mám filter, který se vykresluje uvnitř, tak tam se ten sloupec neskryje a rozhází se to (ten sloupec filtr nemá).
Dá se k tomu sloupci ve filtru nějak dostat?
Nebo jak to řešit systémově?

Díky :)

o5
Člen | 416
+
0
-

@Tirus91: koukal si do sandboxu?

@Rampus: Grido generuje css classy k jednotlivým filtrům.

Rampus
Člen | 39
+
0
-

o5 napsal(a):

@Rampus: Grido generuje css classy k jednotlivým filtrům.

to vím, ale 1) nechci psát vlastní class pro jednotlivý sloupce filtrů, když můžu použít z TWB „hidden-xs“ a 2) pokud sloupec filtr neobsahuje, tak se vygeneruje jen <th></th> bez classů.
Ideální by bylo, kdyby se na to dalo nějak dostat stylem $collumn->getFilterPrototype()…

Editoval Rampus (4. 12. 2014 10:28)

o5
Člen | 416
+
+1
-

@Rampus: a $filter->getWrapperPrototype() nestačí?

Popř. přímo k formulářovému prvku se dostaneš přes

$grid['form']['filters']['<filter-name>']->controlPrototype->class[] = 'hidden-xs';

Editoval o5 (4. 12. 2014 10:40)

Rampus
Člen | 39
+
0
-

o5 napsal(a):

@Rampus: a $filter->getWrapperPrototype() nestačí?

Popř. přímo k formulářovému prvku se dostaneš přes

$grid['form']['filters']['<filter-name>']->controlPrototype->class[] = 'hidden-xs';

paráda, to je přesně ono. A protože v tom sloupci nechci žádné filtrování, musel jsem to udělat takhle, ale funguje to :)

<?php
            $filter=$col->setFilterCustom(new \Nette\Forms\Controls\HiddenField());
            $filter->getWrapperPrototype()->addAttributes(['class'=>'hidden-xs hidden-sm']);
?>
oskarmaniak
Člen | 29
+
0
-

Ahoj o5, v prvé řadě děkuji za super tool Grido.

Měl bych na přítomné prosbičku, řeším filtrování od do, našel jsem tu rok staré příspěvky, ale to již nefunguje, protože dle dokumentace API jsou použité funkce zastaralé.

Našel jsem, že by na to mohlo být asi „addFilterDateRange“. Ale v ať jsem se to pokoušel nasadit jakkoli,
nepozřel jsem žádnou změnu z které by naznačovalo něco, jestli to funguje. Nebo jak zadat parametry od do.

Mohl bych poprosit o example jak nasadit zmiňovaný „addFilterDateRange“ ?

Děkuji mockrát předem

o5
Člen | 416
+
0
-

oskarmaniak napsal(a):

našel jsem tu rok staré příspěvky, ale to již nefunguje, protože dle dokumentace API jsou použité funkce zastaralé.

mohl by jsi prosím poslat přesně odkazy co přesně myslíš?

Našel jsem, že by na to mohlo být asi „addFilterDateRange“. Ale v ať jsem se to pokoušel nasadit jakkoli,
nepozřel jsem žádnou změnu z které by naznačovalo něco, jestli to funguje. Nebo jak zadat parametry od do.

Mohl bych poprosit o example jak nasadit zmiňovaný „addFilterDateRange“ ?

Date-range filtr je úplně prostý jeden text-input, kde jako vstup použiješ třeba tohle: 05.11.2014 – 04.12.2014, přičemž ten formát si můžeš nastavit dle libosti.

kolsi
Člen | 131
+
0
-

V rámci optimalizace naší aplikace se snažím vyřešit jeden problém. Dost často máme grido, které kromě sloupců z DB obsahuje ještě další dopočítané sloupce. Podle těchto sloupců potřebujeme samozřejmě i dál řadit, filtrovat, atd. Takže použít NDB model není možné (Grido pak při řazení/filtrování hlásí, že v DB daný sloupec není.). Do teď to řešíme jednoduchým překlopením do pole, doplnění dat a předáním jako ArraySource, např.:

$data = array();
foreach ($this->projectRepository->findAll() as $project) {
	$projectdata = $project->toArray();
	$projectdata['custom'] = spoctiData($project->id); // příklad vlastního sloupce
	$data[] = $projectdata;
}
$grido->setModel($data);

Funguje to, ale samozřejmě to není úplně efektivní, už jenom to, že dopočítává pro všechny (takže i ty, co díky stránkování nejsou vidět). A tak se ptám, jestli někdo nemá nějaké vlastní lepší řešení?

Foi
Člen | 8
+
0
-

Mám problém s joinem u Doctrine. Vidíte někde chybu ?

		// $this = Grido\Grid

		// @return Grido\DataSources\Doctrine
		$this->model = $this->doctrineResource(
        $this->em->getRepository('Entity\User')->createQueryBuilder('a')
            ->addSelect('r')
            ->leftJoin('a.role', 'r'),
        ['rolename' => 'r.name']
);

$this->addColumnText('rolename', 'Pozice')
        ->setSortable()
        ->setFilterText();

Hláška

Cannot read an undeclared property Entity\User::$rolename

oskarmaniak
Člen | 29
+
0
-

o5 děkuji za rychlou odpověď.
1)
Ta první část tam žádná chyba není, jen že jsem tady na stránce 6 našel téma jak se to řeší.
A je tam například Filter::TYPE_DATE, a to dle dokumentace API jsem si našel že už je zastaralé,
což vysvětluje proč to není vůbec v Grido knihovnách.
2)

*
Tak jak už to bývá, jakmile jsem to odeslal, tak mě to praštilo do očí :)

$grid->addColumnDate('when', 'Checked in time', Grido\Components\Columns\Date::FORMAT_DATETIME)
        ->setSortable();

$grid->addFilterDateRange('when', 'Checked in time');

A už to funguje :)

Díky za inspiraci

Editoval oskarmaniak (4. 12. 2014 23:44)

o5
Člen | 416
+
0
-

@kolsi: pro tohle je tu událost $grid->onFetchData . Akorát si tam asi budeš muset přetypovat ActiveRow na array či ArrayHash.

@Foi: s Doctrine nedělám, ale nechybí ti tam relace v entitě? Úplně stejný příklad najdeš v grido-sandbox, tak se tam zkus třeba podívat.

@oskarmaniak: Filter::TYPE_DATE tam opravdu kdysi bylo :) Ono by se to chtělo možná trochu zamyslet nad tím co děláš, než bezmyšlenkovitě používat COPY/PASTE. Jak od $grid->addColumnDate chceš vidět input mi moc nejde do hlavy. Tím pouze říkáš, jakého typu daný sloupec je. $grid->addFilterDateRange ti přidá filtr (text input), který akceptuje formát vstupu co jsem napsal výše.

oskarmaniak
Člen | 29
+
0
-

@o5
Občas to tak opravdu vypadá :) I když v tomto případě to spíš bylo, že to chtělo na pár hodin vypustit z hlavy :) Přitom to v příkladech část toho je, jen stačilo přidat ten filter.
Tak jak jsem to poslal, tak mi to funguje k mé spokojenosti.

Každopádně děkuji

kolsi
Člen | 131
+
0
-

o5 napsal(a):

@kolsi: pro tohle je tu událost $grid->onFetchData . Akorát si tam asi budeš muset přetypovat ActiveRow na array či ArrayHash.

Tak s konverzí na array se tak nějak počítá, tomu se nevyhnu, když chci doplnit vlastní data (resp. v Nette 2.0 by to šlo rovnou do ActiveRow, ale ve 2.1 už ne). Spíš se pořád nemohu zbavit pocitu, že to stejně nebude fungovat – pokud někdo např. seřadí podle vlastního sloupce a já pak vytáhnu data (v onFetchData), tak to hodí výjimku, že sloupec v DB neexistuje (protože dotaz už bude obsahovat „ORDER BY custom_column“).

Spíš mě napadlo vytvořit vlastní model, který bude kombinovat NDBSource+ArraySource. Normálně se použije NDBSource, ale pokud se seřadí/filtruje podle vlastního sloupce, tak se překlopí do ArraySource. V getData() se pak zavolá callback, který doplní vlastní data.

Xethilos
Člen | 19
+
0
-

@o5: Celkem mi tu chybí komponenta zvaná Boolean, neuvažoval jsi o tom? Při renderování by se z jedniček a nul stalo české slovo Ano (Zelené), ne (Červené) a v nabídce filtrování Ano, Ne, Nic.

o5
Člen | 416
+
0
-

Xethilos napsal(a):

@o5: Celkem mi tu chybí komponenta zvaná Boolean, neuvažoval jsi o tom? Při renderování by se z jedniček a nul stalo české slovo Ano (Zelené), ne (Červené) a v nabídce filtrování Ano, Ne, Nic.

Jo a myslíš, že by to někdo jiný kromě tebe využil? Tohle je totiž celkem custom věc a každý ji řeší jinak. Každý třeba nepoužívá 0/1, Ano/Ne, Červenou/Zelenou. Já ve svých projektech mám mnoho komponent pro Grido, ale jsou tak custom, že je použiju jen v rámci jednoho projektu a v dalším už třeba ne. Zrovna ale podobná komponenta je zveřejněná v sandboxu a viditelná v demu.

Editoval o5 (5. 12. 2014 23:27)

Foose
Člen | 12
+
0
-

Ahoj, taky chci nejprve poděkovat za super grid. Mám problém s vyhledáváním, konktrétně s použitím ajaxu. Když vypnu js vše funguje v pořádku. Řazení mi funguje i s ajaxem.
Můj kód:

public function createComponentArticleGrid($name)
{
	$grid = new \Grido\Grid($this, $name);
	$grid->translator->lang = 'cs';
	$grid->setModel($this->articleModel->getAll());
	$grid->setPrimaryKey('articleId');
	$grid->addFilterText('name', 'jméno');
	$grid->addFilterSelect('active', 'aktivní', ArrayHelper::yesNo());

	$grid->addColumnText('name', 'jméno')
		->setSortable();
	$grid->addColumnText('active', 'aktivní')
		->setReplacement(ArrayHelper::noYes())->setSortable();
	$grid->addActionHref('edit', 'Editovat')->setIcon('pencil');
	$grid->setDefaultSort(array('name' => 'ASC'));
}

Ajaxový požadavek post se vytvoří, ale vrací se html celé stránky. Nesetkal se s tím někdo?

EDIT: nemůže být problém s tím, že se formulář odesílá přes POST? Ještě doplním, že mám nette v. 2.1.2 a grido verzi 1.0.6. a používám jquery.nette.js

Editoval Foose (8. 12. 2014 14:23)

reflex
Člen | 28
+
0
-

Zdravím,

jak pracovat s vetší databází a složitějšíma selectama. Když dám filtrovat tak to vytáhne celé do pole a třídí až samotné array.

Pomůže přejít na Doctrine?

Díky

cujan
Člen | 410
+
0
-

ako do addActionHref nastavim akciu z ineho presentera?

o5
Člen | 416
+
+1
-

cujan napsal(a):

ako do addActionHref nastavim akciu z ineho presentera?

Přes třetí a čtvrtý parametr, viz API.

cujan
Člen | 410
+
0
-

o5 napsal(a):

cujan napsal(a):

ako do addActionHref nastavim akciu z ineho presentera?

Přes třetí a čtvrtý parametr, viz API.

hmm…nato som uz natrafil ale akosi som to nerozluskol, potrebujem sa z vcelnica/detail dostat odkazom do ul/detail a ked som to nastavil takto

$grid->addActionHref(‚detail‘, ‚Detail‘,‚ul‘);
tak som sa dostal na vcelnica/ul :D

o5
Člen | 416
+
0
-

cujan napsal(a):

hmm…nato som uz natrafil ale akosi som to nerozluskol, potrebujem sa z vcelnica/detail dostat odkazom do ul/detail a ked som to nastavil takto

$grid->addActionHref(‚detail‘, ‚Detail‘,‚ul‘);
tak som sa dostal na vcelnica/ul :D

Ten argument $destination (popř. $args) nastav jako kdyby jsi ho předával metodě $presenter->link($destination, $args), tedy v tvém případě asi:

$grid->addActionHref('detail', 'Detail', 'Vcelnica:ul');

Editoval o5 (23. 12. 2014 0:30)

cujan
Člen | 410
+
0
-

o5 napsal(a):

cujan napsal(a):

hmm…nato som uz natrafil ale akosi som to nerozluskol, potrebujem sa z vcelnica/detail dostat odkazom do ul/detail a ked som to nastavil takto

$grid->addActionHref(‚detail‘, ‚Detail‘,‚ul‘);
tak som sa dostal na vcelnica/ul :D

Ten argument $destination (popř. $args) nastav jako kdyby jsi ho předával metodě $presenter->link($destination, $args), tedy v tvém případě asi:

$grid->addActionHref('detail', 'Detail', 'Vcelnica:ul');

vdaka pomohlo to zmenou tretieho parametra na

$grid->addActionHref('detail', 'Detail','Ul:detail');
K0nias
Člen | 10
+
0
-

Zdravim,

resim ted takovy nepeknou vec. Nacpal jsem grido jako sub komponentu do jine komponenty a zacalo tam zlobit filtrovani a reset filtru. Ajaxove nacteni dat se spravne provede az pri: opetovnem vyfiltrovani, zmene razeni a nebo zmene poctu zaznamu na stranku. Jinak data zustanou stejna. Zkousel jsem vypnout cachovani v metode getData a to vyresilo jen problem s filtrovanim. U resetu to dela porad. Nemate s tim nekdo podobne zkusenosti a nebo jeste lip reseni? :)

Moc dekuju

o5
Člen | 416
+
0
-

@K0nias: to „cachování“ v metodě getData() s tím nebude mít souvislost. Sleduj co za parametry je v URL a co za requesty chodí v network, ale takhle na dálku těžko říct. Jako mohl by to klidně dělat hashchange, který tam byl z historických důvodů. Před vánoci jsem to přepsal, aby to hashchange nevyužívalo. Tak můžeš zkusit, je to v masteru.

Desttro
Člen | 126
+
0
-

Zdravím,
omlouvám se za amatérský dotaz, ale jak nejjednodušeji přepnu, aby sandbox nebral data z sqlite3 souboru, ale z mojí MySQL databáze, kde nadefinuju db, jméno, heslo?
Pracuju s Nette/Database, ostatní jako Doctrine, Dibi, Array nepotřebuju.
Hraju si s config.neon ale neúspešně.

Děkuji

Editoval Desttro (7. 1. 2015 10:52)

o5
Člen | 416
+
0
-

@Desttro: Projekt nevycházej z o5/grido-sandbox ale z nette/sandbox a Grido si tam přes composer přidej.

Oli
Člen | 1215
+
0
-

Ahoj,
jde nějak navázat javascript na input? Ptám se proto, že když vyvolám editační textbox, tak se vykoná ajaxový požadavek. Ten se ale nezavolá prostřednictvím nette.ajax.js, takže mě nefunguje

$.nette.ext({
	load: function() {
		$('.mask').inputmask({mask: "99:99,99"});
	}
});
$.nette.init();

Chtěl bych, aby se mě zobrazila maska pro inputy, který mají class .mask. Input se třídou mask jsem vytvořil, ale tím ajaxem se „nepropojí“ s funkcí inputmask.


Co mě funguje, je vložení té funkce do initEditable v grido.js

.on('click.grido', function(event) {
	if (helpers.isCtrl(event) && !$(this).hasClass('edit')) {
		this.editable = new Grido.Editable(that).init($(this));
		$('.mask').inputmask({mask: "99:99,99"});
	}
});

To se mi ale vubec nelíbí.

Díky za nakopnutí

o5
Člen | 416
+
0
-

@Oli: Nepůjde to takto? (ale nezkoušel jsem)

$(document).ajaxSuccess(function()
{
	$('.mask').inputmask({mask: "99:99,99"});
});
Oli
Člen | 1215
+
0
-

@o5 díky za tip. Už, už to vypadalo, že to funguje ;-) ale nefunguje. Respektive, funguje to takhle:

  1. otevřu 1. input – v něm to nefunguje
  2. otevřu 2. input – v něm to nefunguje, v 1. to fungovat začne
  3. otevřu 3. input – v něm to nefunguje, v předchozích 2 to funguje

atd…

K0nias
Člen | 10
+
0
-

o5 napsal(a):

@K0nias: to „cachování“ v metodě getData() s tím nebude mít souvislost. Sleduj co za parametry je v URL a co za requesty chodí v network, ale takhle na dálku těžko říct. Jako mohl by to klidně dělat hashchange, který tam byl z historických důvodů. Před vánoci jsem to přepsal, aby to hashchange nevyužívalo. Tak můžeš zkusit, je to v masteru.

@o5: tak nakonec jsem zjistil kde byla chyba. V constructoru poddeneho datagridu jsem volal getData a nejspis to jeste nemelo incializovane vsechny procesy filtrovani atd. Pak se vysledek zacachoval a slo to do kytek. Takze moje chyba. :)

Ale i tak dekuju

Pavel Kravčík
Člen | 1195
+
0
-

Jen drobnost. Pokud si stáhnu sandbox – nefrčí client-side fičury.

Tohle mi hlásí 404:

<script src="https://rawgithub.com/o5/grido/master/client-side/grido.js"></script>

EDIT: Tak mi to nejde ani když dobře nalinkuji tento soubor z 1.0.6.

Editoval kzk_cz (7. 1. 2015 16:33)

o5
Člen | 416
+
0
-

@kzk_cz: Teď ti to půjde (tagnul jsem aktuální grido-sandbox master na verzi 1.2.2)

Pavel Kravčík
Člen | 1195
+
0
-

@o5: Teď už mi to nejde vůbec. :D Respektive špatně se nalinkují i css. Asi je chyba v tomhle, ale nevím s čím to souvisí, jestli se špatně definovaným json nebo něčím jiným.

http://imgur.com/rf5ch61

Instalace je jinak v pořádku. Ale nefungují tam js a css. Respektive špatně se nalinkují.

Zkoušel jsem sandbox protože jsem chtěl vidět, jak si to správně nastavit. V aplikaci (Nette 2.2.7) mi nefunguje ajax Grido.

  1. Nainstaluju Grido přes composer (~2.0)
  2. Nalinkuju soubory ze složky client-side (při rozkliknutí tam jsou)
  3. Ale ajax nefrčí, tak jsem se chtěl podívat do sandboxu, ale ten mi taky nejde

Povedlo se mi rozchodit v Aplikaci po chvíli testování.

P.S.: Edituju v 9:49 a je tu 8:49. :)

Editoval kzk_cz (8. 1. 2015 9:49)

Martk
Člen | 661
+
0
-

Je tohle bug a nebo takové chování má být ? (Doctrine source)

Tohle je jenom příklad sestavení gridu:

$grid->model(new Grido\DataSources\Doctrine(
                $this->em->getRepository('Basket')->createQueryBuilder('a')
                    ->leftJoin('a.list', 'l'),
                ['list.item' => 'l.item']
));

$grid->addColumnText('list.item', 'Položka')
                ->setSortable();

Po řazení to píše: list__item does not exist atd.

Vyřešení je jednoduché, přidání funkce unformatColumnName z helperů do doctrine resource, ale nevím zda je to opravdu chyba a nebo mám já špatné řešení.

trejjam
Backer | 65
+
0
-

kzk_cz napsal(a):

P.S.: Edituju v 9:49 a je tu 8:49. :)

Myslím, že záleží na zóně nastavené v profilu.

o5
Člen | 416
+
0
-

@kzk_cz: Tak fixnuto v grido-sandbox@1.2.3 :)