Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Nov 30 2021 08:29
    Lumeriol opened #17
  • Feb 15 2021 09:45

    paveljanda on v1.2.1

    (compare)

  • Feb 15 2021 09:45

    paveljanda on master

    MailLogger: set more_entropy to… Merge pull request #17 from mar… (compare)

  • Feb 15 2021 09:45
    paveljanda closed #17
  • Feb 15 2021 09:44
    paveljanda commented #17
  • Feb 15 2021 08:38
    martenb synchronize #17
  • Feb 15 2021 08:36
    martenb synchronize #17
  • Feb 15 2021 08:34
    martenb opened #17
  • May 29 2020 11:29
    tombit-sro opened #16
  • May 14 2020 06:51
    petrgala closed #10
  • May 14 2020 06:50
    petrgala opened #10
  • Apr 21 2020 19:19
    paveljanda closed #16
  • Apr 21 2020 19:19
    paveljanda commented #16
  • Apr 21 2020 19:19

    paveljanda on master

    README.md (compare)

  • Apr 21 2020 19:10

    paveljanda on master

    package.json (compare)

  • Apr 21 2020 19:09

    paveljanda on v2.1.0

    (compare)

  • Apr 21 2020 12:55

    paveljanda on master

    src/nomodule-es5-fallback.js (compare)

  • Apr 21 2020 12:47

    paveljanda on master

    src/nomodule-fallback.js (compare)

  • Apr 21 2020 12:16
    paveljanda commented #16
  • Apr 21 2020 11:10

    paveljanda on master

    src/nomodule-fallback.js (compare)

Radek Palát
@hurycz

Cau,
https://ublaboo.org/api-router/direct-routing

nefunguje mi routovani
new ApiRoute('api/dashboard/stats',...)

musel bych zapsat new ApiRoute('/cela_cesta_k_projektu/api/dashboard/stats',...)

delam neco spatne, nebo je to chyba ApiRouteru? a pocita se JEN s vhostama...
diky

Zuzana Kreizlova
@chikeet
Ahoj, dá se nějak v datagridu přidat podmíněně akce? Jde mi o to, že některé entity lze smazat a jiné ne, a chci uživateli zobrazit tlačítko na smazání jen tam, kde to jde. Nějak nemůžu zjistit, jak na to.
David Skála
@Griston2524_twitter
@chikeet tohle by mělo pomoct :)
$grid->allowRowsAction('delete', function($item) {
    return $item->id != 3;
});
Zuzana Kreizlova
@chikeet

Díky moc, funguje!

Ještě řeším jednu podobnou věc - chci přidat akci, která odkazuje na navázanou entitu. Ale nevím, jak jí předat správně id té entity - potřebovala bych se dostat k aktuální entitě a nějak to z ní vytáhnout, třeba místo parametrů předat callback, který parametry vrátí.

Nějak takhle:

$this->addAction('placeDetail', "app.dial.detailBtn", function(Rental $item){
                return ['id' => $item->place->id];
            })
            ->setIcon('search')
            ->setClass('btn btn-xs btn-primary');

Jde to nějak provést? Nebo se tam musí natvrdo poskládat html?

David Skála
@Griston2524_twitter
@chikeet zkus ->setDataAttribute($key, $value) případně to lze obejít přes
->setRenderer(function ($row) {
  $href = \Nette\Utils\Html::el('a', [
    'class' => 'btn btn-xs btn-primary glyphicon glyphicon-search'
    ])->href($this->presenter->link('xy', []))
    ->setAttribute('title', 'xy');
  return $href;
});
xpackal5
@xpackal5
Hi your webpage https://ublaboo.org/datagrid/ cause Server Error
Pavel Janda
@paveljanda
Fixed. Thanks for the report though.
pzdesign
@pzdesign
Zdravím. mohu se optat ma nekdo zkusenosti s pridanim DataSource pro ElasticSearch? je to narocne? popripade nejaky strucny navod o co jde. dekuji moc
Pavel Janda
@paveljanda
@pzdesign Aoj. Myslím, že někdo již něco takového dělal, nic však oficiálně pod ublaboo. Já sám jsem to zatím nepsal. Ale pokud něco napíšeš, určitě bychom se na to mohli potom kouknout a přidat to do oficiálního balíčku. : )
David Skála
@Griston2524_twitter

Ahoj, začal jsem používat doctrine a když chci použít doctrine i pro ublaboo, tak si říkám jestli na to jdu správně. Tohle je ze stránek $grid->setDataSource($exampleRepository->createQueryBuilder('er')); a já musím mít pro entitu er nastaveno getName, getId, atd nebo je mít jako public.

Nelíbí se mi na to, že bych musel všechno mít public nebo pro všechno gety. Pro settery používám např saveArticle($name, $author, $pubDate, ...), takže obyčejný setXy nepotřebuji. A moje otázka je, zda-li uvažuji správně, že bych musel mít pro všechno gety nebo jestli to jde jinak bez nich? Momentálně místo toto mám $nette->db->table('x') a v případné inline editaci použiji facadeArticle

mchromic
@mchromic
Ahoj, narazil jsem asi na chybu. Tree view sort při přesunu children do parent a naopak je zdvojený Ajax. Je to vidět i na demu. Předem díky.
Pavel Janda
@paveljanda
@Griston2524_twitter No nějak se k tomu dostat musíš... Doctrine entita je třída jako každá jiná. Být tebou, použijí gettery
@mchromic Mrknu
David Skála
@Griston2524_twitter
@paveljanda děkuji za upřesnění, myslel jsem si to, ale nebyl jsem si tím jist, jestli tam není něco na pozadí. Gettry bych použil určitě a na settry lze použít facade kde je např saveGridRow či saveArticle($id, $name, $author, $pubDate, ...)
Pavel Janda
@paveljanda
@mchromic Hmm. To se děje v tom jQuery UI Sortable. Bohužel zatím nevím, jak to fixnout. Ničemu to nevadí, ten předchozí event se zruší, ale hezké to samozřejmě není. Dokázal bys to fixnout?
mchromic
@mchromic
@paveljanda Nejsem zrovna expert. Trápil jsem se s tím dlouho než jsem přišel na to že ten signál se provede občas dvakrát.
Pavel Janda
@paveljanda
@mchromic On se neprovede dvakrát, ten první se zruší. Ale mělo by se tomu samozřejmě předejít. Taky nejsem expert na jquery sortable ui. Zkus někoho najít, ať pošle PR. :)
mchromic
@mchromic
@paveljanda V tom případě asi mám chybu u sebe. HandleSort mi právě projde dvakrát, ale kopíruje to s tou výše uvedenou chybu. Nevím hledám dál. V nette jsem samotář a začátečník samouk :-). Díky
Pavel Janda
@paveljanda
@mchromic No oni se provedou dva cally, ale jeden z nich by se měl automaticky zrušit při vyvolání druhého.
Ale říkám, to je na jQuery UI a tam taky nejsem odborník..
David Skála
@Griston2524_twitter

@paveljanda Ahoj, začal jsem používat imageStorage a super! Sice jsem se trápil s nastavením, ale to byla moje chyba :-D Je nějak možné změnit noImage? Proč se ptám... na většinu věcí stačí jeden noImage (galerie, neplatná fotka v článku...) ale ve výpisu lidí by bylo dobré mít třeba obrys postavy a to nevím jestli momentálně jde.

mám na mysli něco takového

$this->imageStorage->setNoImage('noImageStaff.jpg');
$this->imageStorage->resetNoImage(); // nastaví se 'noImage.jpg' zpět
Pavel Janda
@paveljanda
@Griston2524_twitter Zajímavý dotaz. Teď to pravděpodobně nelze, ale můžeš to vymyslet a poslat PR. :)
David Skála
@Griston2524_twitter
@paveljanda takže přijít na to jak se dělají PR na cizí projekt :-D si mám stáhnout z gitu a pak to tam poslat nebo jak se toto dělá?
markosko
@markosko
@Griston2524_twitter forkni repo uprav commitni upravy a posles PR
David Skála
@Griston2524_twitter
@markosko takže si to převedu na svůj github, tam upravím a pak když dám new PR tak se mi to tam nabídne? Super, vyzkouším a děkuji za nasměrování :)
Pavel Janda
@paveljanda
:+1:
Zuzana Kreizlova
@chikeet
Ahoj, je nějaká možnost, jak si z datagridu vytáhnout vyfiltrované entity? Potřebuju nad tím udělat nějaký součet a potřebuju, aby to byly všechny aktuálně vyfiltrované záznamy, tzn. ne jen aktuální stránka. Nebo existuje pro tohle nějaká feature přímo v datagridu?
markosko
@markosko
@chikeet podla vsetkeho asi len aktualna stranka
Pavel Janda
@paveljanda
@chikeet Lze použít například export : )
@chikeet Nebo lze podědit třídu DataGrid a potom vložit vlastní callbacky do eventů $this->dataModel->onBeforeFilter, $this->dataModel->onAfterFilter, $this->dataModel->onAfterPaginated
To je asi lepší přístup.
Zuzana Kreizlova
@chikeet
@paveljanda Díky. Nakonec jsem to vyřešila bez datagridu, protože bylo potřeba při překreslení tabulky překreslovat taky snippet se součty a tam se mi nepodařilo dostat aktuální parametry filtrace z datagridu.
Dominik Harmim
@harmim
@paveljanda Ahoj, používám inlineEdit a inlineAdd v DataGridu. Mám problém s tím, že když některé prvky v tomto inlineEdit/Add kontejneru jsou povinné, tak se mi tyto prvky validují vždy, i když třeba filtruji nebo stránkuji a zrovna nic nepřidávám nebo needituji. Myslíš, že dělám něco špatně nebo je to chyba v DataGridu?
Michal Kral
@kralmichal
Ahoj, je mozne v api-router udelat filtr na parametry jako ma Route z nette? tzn. pouzit neco takoveho
null => [
Route::FILTER_IN => function(array $params) {
// ...
return $params;
},
Route::FILTER_OUT => function(array $params) {
// ...
return $params;
},
],
Michal Šmeidler
@Maisner

Ahoj, prosím vás potřeboval bych poradit jak multiaction tlačítku nastavím text dle hodnoty z aktuálního row. Jedná se samozřejmě o datagrid

$grid->addMultiAction('approvedState', 'MultiAction')
            ->addAction('approve', 'Schválit', 'approve!')
            ->addAction('notApprove', 'Neschválit', 'notApprove!')
            ->addAction('terminate', 'Předčasně ukončit', 'terminate!');

Mám něco takového a místo nápisu name MultiAction bych potřeboval tam dostat hodnotu z $row

Zkoušel jsem něco takové ho, ale to nepomohlo

->setRenderer(function ($row){
                return $row['approvedState'];
            })

Poradil by jste někdo jak na to?

Pavel Janda
@paveljanda
@kralmichal Bohužel není. api-router je jen simple rest router :) Což je i jeho výhoda
@Maisner Asi to teď momentálně nejde, ale můžeš poslat PR. :)
Adam Schubert
@Salamek

Nette\Application\UI\PresenterComponent is renamed to Nette\Application\UI\Component in nette 2.4
used in https://github.com/ublaboo/datagrid/blob/v5.x/src/DataGrid.php#L3446

Are we still targeting Nette 2.3 or i can simply rename it and do PR ?

Pavel Janda
@paveljanda
@Salamek PR would be awesome : )
Mário Čižmárik
@mario-cizmarik
Ahoj, poraďte prosím. Mám vytvorený datagrid, kde mením stavy.
Po zmene stavu sa nový stav do databázy zapíše, ale grid sa redrawne až pri ďalšej zmene stavu rovnakej alebo inej položky.
V @layout.latte mám includnutý nette.ajax.js , aj sa inicializuje, všetko po jquery.
Dáta ťahám cez v moduli cez dibi query.

`
public function createComponentBreweryGrid($name)
{
$idexhibition = (int)$this->getParameter('idexhibition');

    $grid = new DataGrid($this, $name);
    $grid->setSortable();
    $grid->setSortableHandler('sortBrewery!');
    $grid->setDataSource($this->vystavaManager->getAll('brewery', $idexhibition)->fetchAll());

    //$grid->addColumnText('exhibition_has_brewery.ord', 'ord');
    $grid->addColumnText('brewery.name', 'Pivovar');
    $grid->addColumnStatus('exhibition_has_brewery.special', 'Špeciálny hosť?')
        ->setCaret(FALSE)
        ->addOption(1, 'áno')
            ->setIcon('check')
            ->setClass('ajax btn btn-default btn-fill')
            ->endOption()
        ->addOption(0, 'nie')
            ->setIcon('times')
            ->setClass('ajax btn btn-default btn-fill')
            ->endOption()
        ->onChange[] = [$this, 'changeSpecialBrewery'];
    $grid->addColumnStatus('exhibition_has_brewery.enabled', 'Na výstave?')
        ->setCaret(FALSE)
        ->addOption(1, 'áno')
            ->setIcon('check')
            ->setClass('ajax btn btn-success btn-fill')
            ->endOption()
        ->addOption(0, 'nie')
            ->setIcon('times')
            ->setClass('ajax btn btn-danger btn-fill')
            ->endOption()
        ->onChange[] = [$this, 'changeEnabledBrewery'];

    $grid->addExportCsv( 'Csv export', 'zoznam_pivovarov.csv', 'windows-1250')
         ->setTitle('Zoznam pivovarov');
    $grid->setPagination(FALSE);
}

public function changeEnabledBrewery($id, $status)
{
    $this->vystavaManager->setGridItem($id, $status, $col='enabled', $type = "brewery", (int)$this->getParameter('idexhibition'));

    $status_text = ['vypnutý', 'zapnutý'][$status];
    $this->flashMessage("Pivovar je [$status_text].", 'info');

    if ($this->isAjax()) {
        $this->redrawControl('flashes');
        //$this['breweryGrid']->redrawItem($id);
        $this['breweryGrid']->reload();
    }
}

public function changeSpecialBrewery($id, $status)
{
    $this->vystavaManager->setGridItem($id, $status, $col='special', $type = "brewery", (int)$this->getParameter('idexhibition'));

    $status_text = ['obyčajný', 'špeciálny'][$status];
    $this->flashMessage("Pivovar nastavený ako [$status_text].", 'info');

    if ($this->isAjax()) {
        $this->redrawControl('flashes');
        //$this['breweryGrid']->redrawItem($id);
        $this['breweryGrid']->reload();
    }
}

`

Pavel Janda
@paveljanda
@mario-cizmarik A když to uděláš klasicky? $this->redrawControl('breweryGrid');
Mário Čižmárik
@mario-cizmarik
@paveljanda V tom prípade zostane drop down menu otvorené, no grid sa neprekreslí.
Petr Parolek
@petrparolek
Ahoj, jak mám prosím udělat v CSS nebo JS, aby mi při větším počtu řádků v ublaboo gridu zůstala vidět hlavička tabulky s názvy sloupců? Díky moc.
Mário Čižmárik
@mario-cizmarik
posli screen, ako sa to chova
Petr Parolek
@petrparolek
datagrid.jpg
Mário Čižmárik
@mario-cizmarik
v thead mas viac stlpcov ako v tbody?
Petr Parolek
@petrparolek
ne
Mário Čižmárik
@mario-cizmarik
každopádne by som si spustil Firebug a zistil, čo v css rozbíja tú tabuľku.
Petr Parolek
@petrparolek