Contributte Datagrid – naja, webpack – Sortable

NouF
Backer | 65
+
0
-

Ahoj,

můžu poprosit o radu, co dělám špatně, když v datagridu potřebuji využít řazení (setSortable()), řazení proběhne v pořádku, ale v dostanu chybu (alert undefined) Ukázka

Composer:

"ublaboo/datagrid": "^6.9",

DataGrid.ts

// @ts-ignore
import jQuery from 'jquery';
import "jquery-ui-sortable/jquery-ui.min";

import 'ublaboo-datagrid/assets/datagrid.js';

import 'ublaboo-datagrid/assets/datagrid-instant-url-refresh.js';
import 'ublaboo-datagrid/assets/datagrid-spinners.js';

admin.ts

import './plugin/Bootstrap.ts';
import './plugin/DataGrid.ts';
import { Naja } from './plugin/Nette';

document.addEventListener('DOMContentLoaded', () => Naja.initialize({
    history: false,
    forceRedirect: true,
}));

ItemsPresenter.php (tady se třeba nenaplní ani „$item_id, $prev_id, $next_id“
musel jsem to tahat $this->getParameter()

public function handleSort($item_id, $prev_id, $next_id): void
	{
		$item_id = $this->getParameter('item_id');
		$next_id = $this->getParameter('next_id');
		$prev_id = $this->getParameter('prev_id');
...

Moc děkuju

d@rkWolf
Člen | 163
+
0
-

@NouF čau, jakou tam máš Naju-aktuální? Vypadá to, že datagrid není tak úplně upravený na verzi 2… (viz. např. https://github.com/…/issues/1000 ), takže je možné, že se to snaží o něco, co už v Naje 2 není. Pokus máš možnost, zkus použít verzi 1.x, jestli chyba zmizí.

Pepino
Člen | 249
+
+1
-

Zkus přepnout na záložku sources a co ti vrací ten request? Voláš si tam redrawControl ?

NouF
Backer | 65
+
0
-

Ahoj,

naja je tam tato: „naja“: „^2.3.0“,

naja 1 nechce projít build webpacku

ERROR in E:\www\_home\Nette_cms\assets\typescript\plugin\Nette.ts(3,18)
      TS7016: Could not find a declaration file for module 'naja'. 'E:\www\_home\Nette_cms\node_modules\naja\dist\Naja.js' implicitly has an 'any' type.
  Try `npm i --save-dev @types/naja` if it exists or add a new declaration (.d.ts) file containing `declare module 'naja';`

NouF
Backer | 65
+
0
-

Když jsem tam přidal tohle, tak to funguje bez té chyby, děkuju:

if ($this->isAjax()) {
	$this->redrawControl('tbody');
}

Editoval NouF (7. 6. 2022 16:03)