Ublaboo datagrid – date filter a default filter date

Čamo
Člen | 786
+
0
-

Zdravím,
Mám v datagride dátumové pole, ktoré ma defaultne nastavený filter na –14 dní. Je tam datepicker a všetko funguje až do chvíle, keď niekto ručne vymaže hodnotu dátumu vo filtri. Aplikácia to zrejme chápe ako filtrovanie a nie ako návrat na defaultné hodnoty. Ale pritom sa mi stratí reset button a nemôžem sa vrátiť na ten default filter –14 dní. Neviem niekto prečo sa pri vymazaní hodnôt z date filtra nenastavia defaultné hodnoty?
Takto vyzerá kód:

		$grid->addColumnDateTime('closed', "$cDomain.date")
			->setRenderer( function ( $item ) use ( $cDomain ) {
				/** @var Task $item */
				$title = $this->translator->translate("$cDomain.$item->state");
				$title .= ' - ' . $item->answer;
				$withOrders = $item->createdOrders->get()->countStored() ? ' - ' . $this->translator->translate("$cDomain.order") : '';
				return '<span class="' . ($item->state == Task::STATE_RESOLVED ? 'text-primary' : 'text-danger') . '" title="' . $title . '">' . $item->closed->format( 'j. n. Y' ) . $withOrders . '</span>';
			})
			->setTemplateEscaping( FALSE )
			->setSortable()
			->setFilterDate()
				->setCondition( function ($fluent, $value) {
					Debugger::log($value);
					/** @var \Nextras\Orm\Mapper\Dbal\DbalCollection $fluent */
					$start = DateTime::createFromFormat( 'j. n. Y', $value)->setTime( 0, 0, 0 );
					$end = DateTime::createFromFormat( 'j. n. Y', $value)->setTime( 23, 59, 59 );
					$fluent->getQueryBuilder()
						->from('tasks', 'tasks')
						->andWhere( 'tasks.closed > %dt', $start )
						->andWhere( 'tasks.closed < %dt', $end );
				});

		$defaultDate = (new DateTime())->modify('- 14 Day');
		$grid->setDefaultFilter(['closed' => $defaultDate->format( 'j. n. Y' )]);

Asi by mi stačilo keby sa neskrýval reset button ale lepšie by bolo keby sa pri zmazaní nastavili defaultné filtre. Chcel som to obísť cez tan callback vo filtri ale ten sa vôbec nespustí.

Editoval Čamo (21. 6. 2018 14:58)

Ondřej Kubíček
Člen | 494
+
0
-

neznám ten addon, ale určitě při ručním výmazu se ti spustí ten filter callback a v tom $value je co? tak nastavíš těch 14 dní tam…

Čamo
Člen | 786
+
0
-

Práveže sa nespustí. Na konci som to spomínal.