Grido – DataGrid pro Nette
- JanB
- Člen | 21
Viete mi niekto ukazat priklad ako si mozem pridat vlastnu metodu – napriklad setHeaderStyle na nastavovanie style(width)? Myslim ze takyto priklad pomoze lepsie pochopit nie len Grido ale aj namespaces.
Vo vysledku by som to chcel vediet pouzit takto:
$grid->addColumnText('price', 'cena')
->setSortable()
->setFilterText()
->setSuggestion()
->setHeaderStyle = 'width: 25%';
alebo:
$grid->addColumnText('price', 'cena')
->setSortable()
->setFilterText()
->setSuggestion()
->setHeaderStyle('width: 25%');
Myslim ze su 2 moznosti – bud pomocou dekoratora alebo inheritance, ale nie som si celkom isty ako to s Gridom urobit.
Alebo mozem Grido/Column rozsirit pomocou callbacku? Inak ked skusim len toto:
$grid->model->callback['setHeaderStyle'] = function($model, $args) {
dump($args);
return;
};
Tak dostanem notice – „Indirect modification of overloaded property Grido\Grid::$model has no effect“
Diki!!!
Editoval JanB (28. 8. 2013 10:35)
- o5
- Člen | 416
JanB napsal(a):
Viete mi niekto ukazat priklad ako si mozem pridat vlastnu metodu – napriklad setHeaderStyle na nastavovanie style(width)? Myslim ze takyto priklad pomoze lepsie pochopit nie len Grido ale aj namespaces.
To nemá s namespaces nic společného. Je to fluent interface, stejně jako třeba u formulářů. Opakovat se tu nechci, takže tě odkážu na demo komponenty, kde to můžeš vidět.
JanB napsal(a):
Dovolim si este jednu otazku – ako mozem nastavit style pre stlpec actions/akce?
$grid->getColumn('actions')->headerPrototype->style = 'width: 5%';
mi hadze chybu…
Diki
Ono taky object Action, žádnou metodu getHeaderPrototype() mít nemůže, že?
Editoval o5 (29. 8. 2013 13:23)
- v6ak
- Člen | 206
Zkusil jsem 0.9.1 i dev-master. Narazil jsem na tyto problémy:
- Bez
$('.grido').grido();
některé JS věci nefungují. Nenaěel jsem však o tom nic v dokumentaci. - Operace při vyvolání hodí výjimku Nette\InvalidStateException: Component with name ‚1‘ already exists. Hážou to Nette Forms volané přes Grido. Co s tím? Query string je takovýto:
?filters[type]=&operations[operations]=delete&buttons[operations]=OK&count=20&operations[5]=on&do=grid-form-submit
Editoval v6ak (31. 8. 2013 18:22)
- JanB
- Člen | 21
Mozte mi poradit ako mozem v Gride dosiahnut to aby po vykonani
„Action“ – napriklad actionEdit(), mi ostali nastavene filtre? Myslim ze
treba zmenit redirect na konci tejto funkcie z default, tak aby sa pridali aj
grid-filter url parametre ale nejak mi to nejde…
Rozmyslam ze by som asi potreboval urobit z Action tlacitok tlacitka
„submit“ aby sa submitla cela Grido forma aj so vsetkymi parametrami, ale
ako potom pridam vlastne parametre? Musim si pridat hidden fields do Grida? Ak
je toto cesta tak ako?
A este by som sa chcel spytat – zistil som ze grido pri zapnutom js
predava url parametre cez fragment(#) a pri vypnutom cez URL parametre (?) Robi
to Grido alebo nette nejak automaticky?
Diki!
[A este taky mini bug – ked som v Grido Sanboxe vypol ajax, zapol filter
na MasterCard, zapol ajax a zapol filter na Visa, vygenerovala sa URL:
http://grido.bugyik.cz/example/?…[card]=MasterCard#grid-filter[card]=Visa
(fragments su pristupne len cez js – server o nich nevie)
]
Editoval JanB (6. 9. 2013 14:44)
- koprkuba
- Člen | 24
Ahoj,
rád bych se zeptal zda je možné nějakým způsobem cachovat dotazy do
databáze z filtrů gridu?
Používám Nette databázi, v sandboxu jsem narazil na cachování dibi
databáze, tak by mne zajímalo jak by se daly tyto dotazy zrychlit.
Mám problém, že dotaz do databáze trvá na lokálním stroji 1.2 –
1.3 sekundy a to je prostě moc při každé změně filtru. Například
Typehead.js je tím úplně znehodnocen.
Napadlo mne, že by možná pomohlo optimalizovat databázi pomocí indexů, ale
pro testování mám v databázi pouze 4 záznamy a tam nebude s indexem
znatelný rozdíl. Samozřejmě mám v plánu indexy přidat, ale pouze tam,
kde se bude filtrovat nejčastěji.
Díky moc za pomoc už dopředu, protože vím, že jste borci a určitě mi poradíte.
EIDT: Ještě jsem zapoměl zmínit, že celou komponentu Grido obsluhuje AJAX, ale předpokládám, že to bylo i tak jasné ;)
Editoval koprkuba (11. 9. 2013 11:37)
- koprkuba
- Člen | 24
@v6ak: Sorry za ten sarkasmus. Jedná se samozřejmě pouze o dotaz do databáze. (Tento dotaz si komponenta vytváří sama v některém javascriptu, který ajax obsluhuje). Bylo mi divné, že demo je svižné a odpovídá velice rychle, tak jsem se podíval do kódu a vypadá to tak, že si data tahá z lokálního souboru, tedy nedotazuje se databáze. Jaké máte zkušenosti s rychlostí tohoto DataGridu?
- o5
- Člen | 416
@koprkuba:
- Grido nevytváří v žádném javascriptu dotaz.
- Demo používá SQLite, kvůli snadménu vyzkoušení.
- Když se podíváš do config.neon, najdeš tam konfiguraci pro MySQL a
PostgreSQL. Po přepnutí db nepozoruji
žádnévýrazné rychlostní rozdíly.
edit :)
Editoval o5 (11. 9. 2013 23:14)
- v6ak
- Člen | 206
Ten čas se mi zdál při čtyřech záznamech brutálně velký, tak jsem se zeptal, jestli není problém jinde.
Pokud je to skutečně je čas dotazy do databáze, zkusil bych logovat dotazy a podívat se na ně. Mohou z toho být asi dva závěry:
- Dotazy se generují příliš složité ⇒ může být problém této komponenty.
- Dotazy se generují dobré, bude problém v databázi.
- Pavel Kouřil
- Člen | 128
1.2 sekundy? Nemáš náhodou mysql konfigurované aby se připojovalo na „localhost“ místo „127.0.0.1“ a nejsi na Windows? To většinou tu +sekundu přidá. :)
- JanB
- Člen | 21
Pajka, ja som myslel ze zartujes. Ale mas pravdu!!! Stale som sa cudoval preco mi to ide pomalsie na lokale ako zo servera… Dakujem za usetrenu sekundu, to bola rada nad zlato!!!
Pajka napsal(a):
1.2 sekundy? Nemáš náhodou mysql konfigurované aby se připojovalo na „localhost“ místo „127.0.0.1“ a nejsi na Windows? To většinou tu +sekundu přidá. :)
- vlna
- Člen | 34
Ahoj, za prve super prace, diky ;)
Za druhe dotaz – snad jsem to neprehledl v diskusi.
Potrebuji radit datagrid podle nejakeho komplexnejsiho vyrazu, ktery neodpovida
zadnemu zobrazenemu sloupci. Jestli chapu spravne, radit muzu jen podle sloupcu,
ktere jsou pridane k datagridu, ne podle atributu v datasource. Zaroven nemuzu
mit sloupec, podle ktereho by se radilo, ale byl by skryty (v zobrazeni
i exportu).
Jak to nejlepe provest? Diky.
- o5
- Člen | 416
@vlna:
Ahoj, pokud máš na mysli výchozí řazení „podle nejakeho komplexnejsiho
vyrazu“, mohl by sis seřadit datasource sám, než ho předáš gridu (před
$grid->setModel()), detekovat zda-li se řadí podle nějakého sloupce lze
přes $grid->params… Pokud nemáš na mysli výchozí řazení, nevím jak
by jsi to chtěl ovládat :)
- vlna
- Člen | 34
o5 napsal(a):
@vlna:
Ahoj, pokud máš na mysli výchozí řazení „podle nejakeho komplexnejsiho vyrazu“, mohl by sis seřadit datasource sám, než ho předáš gridu (před $grid->setModel()), detekovat zda-li se řadí podle nějakého sloupce lze přes $grid->params… Pokud nemáš na mysli výchozí řazení, nevím jak by jsi to chtěl ovládat :)
Bozi! :). Moje chyba. Zkousel jsem razeni uz v modelu jako prvni, ale
nevsiml jsem si concatu s null sloupcem. Sorry, funguje, netreba zasahovat.
Jen tak dal ;)
- juklicek
- Člen | 12
Ahoj, mám dotaz – divím se, že to ještě nikdo nepotřeboval (nebo jen neumím hledat).
1/ Neřešil jste někdo, jak vytvořit filtr „range“ tzn. between v databázi? Potřebuji filtrovat dle data v zadaném rozsahu. (mám Doctrine datasource, ale předpokládám, že to by řešení nemělo ovlivnit)
2/ Často potřebuji filtrovat datagrid i podle hodnoty, která není zobrazena v gridu. Je to možné?
Díky
Editoval juklicek (25. 9. 2013 16:17)
- JanB
- Člen | 21
juklicek napsal(a):
Ahoj, mám dotaz – divím se, že to ještě nikdo nepotřeboval (nebo jen neumím hledat).
1/ Neřešil jste někdo, jak vytvořit filtr „range“ tzn. between v databázi? Potřebuji filtrovat dle data v zadaném rozsahu. (mám Doctrine datasource, ale předpokládám, že to by řešení nemělo ovlivnit)
2/ Často potřebuji filtrovat datagrid i podle hodnoty, která není zobrazena v gridu. Je to možné?
Díky
1/ Riesenie (pre Nette Database) je pod prispevkom 289. (na predoslej strane)
Myslim ze ked pozries predosle diskusie mal by si nieco najst aj pre Doctrine,
popripade sa spytaj konkretne ak to nepojde.
2/ Neviem ako by ta databazova podmienka mala vyzerat pri pouziti =, <>,
<, > … Externy filter ale funguje aj na cast retazca automaticky ak
myslis na text.
Editoval JanB (3. 10. 2013 12:54)
- juklicek
- Člen | 12
JanB napsal(a):
juklicek napsal(a):
Ahoj, mám dotaz – divím se, že to ještě nikdo nepotřeboval (nebo jen neumím hledat).
1/ Neřešil jste někdo, jak vytvořit filtr „range“ tzn. between v databázi? Potřebuji filtrovat dle data v zadaném rozsahu. (mám Doctrine datasource, ale předpokládám, že to by řešení nemělo ovlivnit)
2/ Často potřebuji filtrovat datagrid i podle hodnoty, která není zobrazena v gridu. Je to možné?
Díky
1/ Riesenie je len o par riadkov vyssie staci len scroll… Prispevok 302.
2/ Neviem ako by ta databazova podmienka mala vyzerat pri pouziti =, <>, <, > … Externy filter ale funguje aj na cast retazca automaticky ak myslis na text.
Díky, už jsem nedoufal k odpovědi, takže jsem si poradil sám, ale pro
budoucí generace:
1/ Filter na rozsah (od – do) jsem nakonec vyřešil implementací vlastního
filtru. Ten do modelu pošle něco jako [column] BETWEEN (%value1 AND %value2).
Pro datumy to dobře funguje ve spolupráci s komponentou
„dangrossman/bootstrap-daterangepicker“ – takový „od – do“
datepicker.
2/ Tam to bylo jednoduché. U filtrů, které nemají sloupec v gridu (v DB smaozřejmě ano) se musí dát grid->addFilter(yyy)->setColumn(xxx) a funguje to. To byla jen má neznalost.
Dík
p.s. (K bodu 2) Ještě jsem si trochu grid extendnul a umožnil krom Filter::RENDER_INNER a Filter::RENDER_OUTER i něco jako Filter::RENDER_AUTO a potom jsou filtry, které mají zobrazené sloupce v gridu zobrazené metodou INNER a ty které tam sloupce nemají metodou OUTER.
Editoval juklicek (3. 10. 2013 12:43)
- o5
- Člen | 416
@greggy: koukni do konzole co ti píše, jinak to hromadné označení bude asi tímto: http://goo.gl/77LQkx . Chtělo by to asi workaround, ale k tomu se nyní opravdu nedostanu.
- greggy
- Člen | 14
o5 napsal(a):
@greggy: koukni do konzole co ti píše, jinak to hromadné označení bude asi tímto: http://goo.gl/77LQkx . Chtělo by to asi workaround, ale k tomu se nyní opravdu nedostanu.
v konzole nie je nič, ako keby sa ten script ani nepustil. pri načítaní stránky sa do skriptu dostane, lebo tam mam nastavený break point.
- greggy
- Člen | 14
o5 napsal(a):
@greggy: koukni do konzole co ti píše, jinak to hromadné označení bude asi tímto: http://goo.gl/77LQkx . Chtělo by to asi workaround, ale k tomu se nyní opravdu nedostanu.
vyskúšal som aj iné verzie jquery, ale nepomohlo to. :(
- juklicek
- Člen | 12
greggy napsal(a):
Ahoj, stiahol som si najnovsi grido. pouzivam jquery-1.10.2.js aj grido.js.
Vytvorim si operations, ale nefunguje oznacenie vsetkych checkboxov, spustenie operacie a tiez zmena poloziek na stranu. Neviete mi poradit, naco sa pozriet, co by som mohol mat zle?
Ahoj, myslím, že pouze grido.js nestačí – máš tam i „to ostatní“? Nedávno jsem také Grido rozcházel poprvé a musím přiznat, že jsem se v těch JS souborech taky trochu ztrácel – který je potřeba na co. O5 to má dělané přes nette.ajax.js (super), takže minimálně JS soubory kolem tohoto tam být dle mého musí – myslím, že stejně nakonec dojdeš k tomu, že tam jsou potřeba všechny JS soubory co jsou v sandboxu :)
- JanB
- Člen | 21
juklicek napsal(a):
JanB napsal(a):
juklicek napsal(a):
Ahoj, mám dotaz – divím se, že to ještě nikdo nepotřeboval (nebo jen neumím hledat).
1/ Neřešil jste někdo, jak vytvořit filtr „range“ tzn. between v databázi? Potřebuji filtrovat dle data v zadaném rozsahu. (mám Doctrine datasource, ale předpokládám, že to by řešení nemělo ovlivnit)
2/ Často potřebuji filtrovat datagrid i podle hodnoty, která není zobrazena v gridu. Je to možné?
Díky
1/ Riesenie je len o par riadkov vyssie staci len scroll… Prispevok 302.
2/ Neviem ako by ta databazova podmienka mala vyzerat pri pouziti =, <>, <, > … Externy filter ale funguje aj na cast retazca automaticky ak myslis na text.Díky, už jsem nedoufal k odpovědi, takže jsem si poradil sám, ale pro budoucí generace:
1/ Filter na rozsah (od – do) jsem nakonec vyřešil implementací vlastního filtru. Ten do modelu pošle něco jako [column] BETWEEN (%value1 AND %value2). Pro datumy to dobře funguje ve spolupráci s komponentou „dangrossman/bootstrap-daterangepicker“ – takový „od – do“ datepicker.2/ Tam to bylo jednoduché. U filtrů, které nemají sloupec v gridu (v DB smaozřejmě ano) se musí dát grid->addFilter(yyy)->setColumn(xxx) a funguje to. To byla jen má neznalost.
Dík
p.s. (K bodu 2) Ještě jsem si trochu grid extendnul a umožnil krom Filter::RENDER_INNER a Filter::RENDER_OUTER i něco jako Filter::RENDER_AUTO a potom jsou filtry, které mají zobrazené sloupce v gridu zobrazené metodou INNER a ty které tam sloupce nemají metodou OUTER.
Ja som moj povodny prispevok opravil, moj kod je pod 289. DateRangePicker je naozaj zaujimavy napad, nenapadlo ma to urobit takto a takze mam vsetky filtre externe. Preto auto filter je tiez zaujimava vec. Rad by som videl kod ako si pridal range picker a aj ako si pridal RENDER_AUTO…
Editoval JanB (4. 10. 2013 11:27)
- greggy
- Člen | 14
juklicek napsal(a):
greggy napsal(a):
Ahoj, stiahol som si najnovsi grido. pouzivam jquery-1.10.2.js aj grido.js.
Vytvorim si operations, ale nefunguje oznacenie vsetkych checkboxov, spustenie operacie a tiez zmena poloziek na stranu. Neviete mi poradit, naco sa pozriet, co by som mohol mat zle?Ahoj, myslím, že pouze grido.js nestačí – máš tam i „to ostatní“? Nedávno jsem také Grido rozcházel poprvé a musím přiznat, že jsem se v těch JS souborech taky trochu ztrácel – který je potřeba na co. O5 to má dělané přes nette.ajax.js (super), takže minimálně JS soubory kolem tohoto tam být dle mého musí – myslím, že stejně nakonec dojdeš k tomu, že tam jsou potřeba všechny JS soubory co jsou v sandboxu :)
Tak používam grido.js, jquery.js, netteForms.js, main.js na inicializáciu nette.ajax.js a stále nič. No som tom teraz kompletne stratený.
- juklicek
- Člen | 12
greggy napsal(a):
juklicek napsal(a):
greggy napsal(a):
Ahoj, stiahol som si najnovsi grido. pouzivam jquery-1.10.2.js aj grido.js.
Vytvorim si operations, ale nefunguje oznacenie vsetkych checkboxov, spustenie operacie a tiez zmena poloziek na stranu. Neviete mi poradit, naco sa pozriet, co by som mohol mat zle?Ahoj, myslím, že pouze grido.js nestačí – máš tam i „to ostatní“? Nedávno jsem také Grido rozcházel poprvé a musím přiznat, že jsem se v těch JS souborech taky trochu ztrácel – který je potřeba na co. O5 to má dělané přes nette.ajax.js (super), takže minimálně JS soubory kolem tohoto tam být dle mého musí – myslím, že stejně nakonec dojdeš k tomu, že tam jsou potřeba všechny JS soubory co jsou v sandboxu :)
Tak používam grido.js, jquery.js, netteForms.js, main.js na inicializáciu nette.ajax.js a stále nič. No som tom teraz kompletne stratený.
No určitě to bude chtít ještě grido.ext.js a možná i jquery.hashchange.min.js a jquery.maskedinput.min.js. Možná máš ale problém jinde – to těžko říct. Nejlepší začít od zkopírování sandboxu ..
- juklicek
- Člen | 12
JanB napsal(a):
juklicek napsal(a):
JanB napsal(a):
juklicek napsal(a):
Ahoj, mám dotaz – divím se, že to ještě nikdo nepotřeboval (nebo jen neumím hledat).
1/ Neřešil jste někdo, jak vytvořit filtr „range“ tzn. between v databázi? Potřebuji filtrovat dle data v zadaném rozsahu. (mám Doctrine datasource, ale předpokládám, že to by řešení nemělo ovlivnit)
2/ Často potřebuji filtrovat datagrid i podle hodnoty, která není zobrazena v gridu. Je to možné?
Díky
1/ Riesenie je len o par riadkov vyssie staci len scroll… Prispevok 302.
2/ Neviem ako by ta databazova podmienka mala vyzerat pri pouziti =, <>, <, > … Externy filter ale funguje aj na cast retazca automaticky ak myslis na text.Díky, už jsem nedoufal k odpovědi, takže jsem si poradil sám, ale pro budoucí generace:
1/ Filter na rozsah (od – do) jsem nakonec vyřešil implementací vlastního filtru. Ten do modelu pošle něco jako [column] BETWEEN (%value1 AND %value2). Pro datumy to dobře funguje ve spolupráci s komponentou „dangrossman/bootstrap-daterangepicker“ – takový „od – do“ datepicker.2/ Tam to bylo jednoduché. U filtrů, které nemají sloupec v gridu (v DB smaozřejmě ano) se musí dát grid->addFilter(yyy)->setColumn(xxx) a funguje to. To byla jen má neznalost.
Dík
p.s. (K bodu 2) Ještě jsem si trochu grid extendnul a umožnil krom Filter::RENDER_INNER a Filter::RENDER_OUTER i něco jako Filter::RENDER_AUTO a potom jsou filtry, které mají zobrazené sloupce v gridu zobrazené metodou INNER a ty které tam sloupce nemají metodou OUTER.
Ja som moj povodny prispevok opravil, moj kod je pod 289. DateRangePicker je naozaj zaujimavy napad, nenapadlo ma to urobit takto a takze mam vsetky filtre externe. Preto auto filter je tiez zaujimava vec. Rad by som videl kod ako si pridal range picker a aj ako si pridal RENDER_AUTO…
1/ Jojo – takhle „jednoduše“ mě to ani nenapadlo. S daterange datepickerem jsem si musel vytvořit vlastní Filter (níže). Ale ještě s tím, že jsem ten BETWEEN jsem musel doučit datasource – v mém případě doctrine. Takže nevím jak to zkousnou ostatní „datasoursi“ (ale mohli by):
<?php class Range extends Text
{
protected $condition = 'BETWEEN %s';
protected $formatValue = '%value';
protected $betweenValueSeparator = " - ";
/**
* @return \Nette\Forms\Controls\TextInput
*/
protected function getFormControl()
{
$control = parent::getFormControl();
$control->controlPrototype->class[] = 'range';
$control->controlPrototype->attrs['autocomplete'] = 'off';
return $control;
}
/**
* @param string $column
* @param string $value
* @return array condition|value
*/
protected function _makeFilter($column, $value)
{
$formatedValue = $this->getBetweenValues($value);
return array("[$column] " . $this->condition, $formatedValue);
}
/**
* @param string $betweenValue
* @throws \PM\Grido\Exception\UnexpectedValueException
* @return string
*/
protected function getBetweenValues($betweenValue)
{
$items = explode($this->betweenValueSeparator, $betweenValue);
if(count($items) <> 2)
{
throw new UnexpectedValueException("For between filter format 'value1{$this->betweenValueSeparator}value2' expected");
}
$value = implode(" AND ", $items);
return $value;
}
}
?>
2/ Udělat ten AUTO filter render type bylo docela snadné. Jedna věc je, že musíš Grido naučit třetí kostantu (krom INNER a OUTER také AUTO). A pak se už jen v Grido.latte poupraví pár věcí. Ta šablona je pekelně dlouhá, takže jen nastřelím a snad si to domyslíš:
...
{var $innerFilter = ($control->filterRenderType == Grido\Components\Filters\Filter::RENDER_INNER)}
{var $outerFilter = ($control->filterRenderType == Grido\Components\Filters\Filter::RENDER_OUTER)}
{var $autoFilter = ($control->filterRenderType == Grido\Components\Filters\Filter::RENDER_AUTO)}
{if ($autoFilter)}
{var $innerFilter = true}
{var $outerFilter = true}
{/if}
...
{if $outerFilter}
<div n:block="outerFilter" class="grido filter outer">
<div class="items">
{if $control->hasFilters()}
{foreach $form[Grido\Components\Filters\Filter::ID]->getComponents() as $filter}
{if $autoFilter}
{var $isAssignedToColumn = !is_null($control[Grido\Components\Columns\Column::ID]->getComponent($filter->name, false))}
{else}
{var $isAssignedToColumn = false}
{/if}
<span n:if="!$isAssignedToColumn" class="grid-filter-{$filter->name}">
{$filter->label}
{$filter->control}
</span>
{/foreach}
{/if}
</div>
...
Ještě to budeme asi trochu tunit a potom bysme možná udělali fork, kdyby to chtěl O5 použít.
- greggy
- Člen | 14
juklicek napsal(a):
greggy napsal(a):
juklicek napsal(a):
greggy napsal(a):
Ahoj, stiahol som si najnovsi grido. pouzivam jquery-1.10.2.js aj grido.js.
Vytvorim si operations, ale nefunguje oznacenie vsetkych checkboxov, spustenie operacie a tiez zmena poloziek na stranu. Neviete mi poradit, naco sa pozriet, co by som mohol mat zle?Ahoj, myslím, že pouze grido.js nestačí – máš tam i „to ostatní“? Nedávno jsem také Grido rozcházel poprvé a musím přiznat, že jsem se v těch JS souborech taky trochu ztrácel – který je potřeba na co. O5 to má dělané přes nette.ajax.js (super), takže minimálně JS soubory kolem tohoto tam být dle mého musí – myslím, že stejně nakonec dojdeš k tomu, že tam jsou potřeba všechny JS soubory co jsou v sandboxu :)
Tak používam grido.js, jquery.js, netteForms.js, main.js na inicializáciu nette.ajax.js a stále nič. No som tom teraz kompletne stratený.
No určitě to bude chtít ještě grido.ext.js a možná i jquery.hashchange.min.js a jquery.maskedinput.min.js. Možná máš ale problém jinde – to těžko říct. Nejlepší začít od zkopírování sandboxu ..
Ďakujem. Pomohlo nakopirovanie súborov zo sandboxu. Možno by ich bolo dobre pridať ku client-side skriptom.
- juklicek
- Člen | 12
miler napsal(a):
Jde nějak docílit toho, aby si grid pamatoval zaškrtnuté položky i při stránkování? Např stránkování po 10 řádcích, zaškrtnu si položku s ID3, pak na další straně s id 12 atd a ve výsledku se mi předají do operations všechny ty zaškrtané věci napříč stránkováním? Díky
To asi nejde (pokud vím) – ale hlásím, že by se nám to také hodilo. Jinak řečeno operations napříč stránkami. :)
p.s.:
Nebo možná ještě lépe (jako na google mailu), když dám označit vše
mohlo by se to zeptat zda myslím vše na aktuální stránce nebo na
všech :)
Editoval juklicek (14. 10. 2013 16:25)
- matto
- Člen | 55
miler napsal(a):
Jde nějak docílit toho, aby si grid pamatoval zaškrtnuté položky i při stránkování? Např stránkování po 10 řádcích, zaškrtnu si položku s ID3, pak na další straně s id 12 atd a ve výsledku se mi předají do operations všechny ty zaškrtané věci napříč stránkováním? Díky
toto by sa hodilo aj mne.
A este dalsia vec, potreboval by som operation vyvolavat tlacitkom mimo gridu.
Mohli by ste ma prosim niekto naviest na spravnu cestu ako to docielit?
Dakujem
- Jiří Nápravník
- Člen | 710
o5 napsal(a):
TB3 je příliš ugly, aby ho Grido používalo officiálně.
To jako vážně? Díky subjektivnímu názoru ustrne grafický vývoj na dva roky staré verzi (či kdy vyšel TB2)? Pokud někdo používá TB3 v aplikaci, tak bude muset ještě přibalovat TB2 jen kvůli gridu, nebo přepisovat šablonu (což když jsem si dělal naposledy, tak sice nebyla dlouhá doba, ale taky ne dva řádky). Nebylo by pak lepší udělat aspoň šablonu s TB3, že by si jí pak mohl člověk přepnout, pčípadně to jak navrhoval pepakriz, davat zdvojene classy (ač to není pěkné)?
- Climber007
- Člen | 105
Prozatím jsem to zazáplatoval obalením celého Grida <div
class=„tb2“> a přidáním .tb2 ke všem selektorů v CSS (skoro
ručně, protože regexy selhaly).
Ugly, neugly. Stojí za ním JEN Twitter, takže to určitě musí být pravda.
A ano je to pouze o šabloně, nicméně proč ostatním práci
neznechutit,že.
- o5
- Člen | 416
v6ak napsal(a):
On pro to byl nějaký pull request, stačí se podívat do issues.
Pull byl, ale nebyl funkční.
v6ak napsal(a):
Jinak Bootstrap 3 mi nepřijde moc ugly, ale možná to bude tím, že používám jejich optional theme. Pak AFAIK není vizuální rozdíl mezi B2 a B3.
Jestli víš jak udělat, aby Grido vypadalo s TB3 jako s TB2, pošli pull ⇒ rád zmerguju :)
Jiří Nápravník napsal(a):
To jako vážně? Díky subjektivnímu názoru ustrne grafický vývoj na dva roky staré verzi (či kdy vyšel TB2)? Pokud někdo používá TB3 v aplikaci, tak bude muset ještě přibalovat TB2 jen kvůli gridu, nebo přepisovat šablonu (což když jsem si dělal naposledy, tak sice nebyla dlouhá doba, ale taky ne dva řádky). Nebylo by pak lepší udělat aspoň šablonu s TB3, že by si jí pak mohl člověk přepnout, pčípadně to jak navrhoval pepakriz, davat zdvojene classy (ač to není pěkné)?
Sorry, ale „základní“ TB3 se mi vážně hnusí. Obecně flat design se kterým přišly W8 se mi vůbec nelíbí, ale naštěstí jsem to nemusel řešit…bohužel až do příchodu iOS7. Je jasný, že TB3 budu muset asi jednou stejnak překousnout, každopádně se na to ještě necejtím :P
Jako opravdu nevím, jak by se to mělo vyřešit správně. Řešení přes novou šablonu se mi nezamlouvá, protože příjde někdo a řekne že používá http://semantic-ui.com/ a co bude pak, nová šablona? Budu udržovat x šablon? Chtělo by asi šablonu nějak rozumě rozdělit a rozseparovat. Nevím :/
- v6ak
- Člen | 206
S TB2 jsem nepracoval a nevím, jestli je to přesně ono, ale patrně mi to dělá tady tento řádek:
<link rel="stylesheet" href="/libs/bootstrap/css/bootstrap-theme.min.css" />
Asi nebude věc Grida, aby tento řádek přidávalo (snad kromě dema apod.). Grido by IMHO nemělo vnucovat žádný theme.