@datum-cloud/datum-ui 0.10.0 → 0.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"nuqs-adapter.d.ts","sourceRoot":"","sources":["../../../../../src/components/features/data-table/adapters/nuqs-adapter.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAA+B,YAAY,EAAE,MAAM,UAAU,CAAA;AAQzE,KAAK,UAAU,GAAG,OAAO,CAAA;AAEzB,MAAM,WAAW,qBAAqB;IACpC;;;;;;;;;;;;;;;OAeG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;CAC9C;AAkCD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,cAAc,CAC5B,OAAO,GAAE,qBAA0B,GAClC,YAAY,CA4Cd"}
1
+ {"version":3,"file":"nuqs-adapter.d.ts","sourceRoot":"","sources":["../../../../../src/components/features/data-table/adapters/nuqs-adapter.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAA+B,YAAY,EAAE,MAAM,UAAU,CAAA;AAQzE,KAAK,UAAU,GAAG,OAAO,CAAA;AAEzB,MAAM,WAAW,qBAAqB;IACpC;;;;;;;;;;;;;;;OAeG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;CAC9C;AA4CD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,cAAc,CAC5B,OAAO,GAAE,qBAA0B,GAClC,YAAY,CA6Cd"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-data-table-server.d.ts","sourceRoot":"","sources":["../../../../../src/components/features/data-table/hooks/use-data-table-server.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,KAAK,EACV,cAAc,EACd,sBAAsB,EACtB,eAAe,EACf,qBAAqB,EACrB,YAAY,EACZ,yBAAyB,EAC1B,MAAM,UAAU,CAAA;AASjB,YAAY,EAAE,yBAAyB,EAAE,CAAA;AAIzC,MAAM,WAAW,qBAAqB,CAAC,SAAS,EAAE,KAAK;IACrD,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAA;IACzC,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,OAAO,CAAC,SAAS,CAAC,CAAA;IAC/D,QAAQ,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,SAAS,KAAK,qBAAqB,CAAC,KAAK,CAAC,CAAA;IACzE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,MAAM,CAAA;IAC1C,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,GAAG,sBAAsB,CAAA;IAC9D,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAA;CACrC;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,KAAK,EAC7C,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,EAC5B,OAAO,EAAE,qBAAqB,CAAC,SAAS,EAAE,KAAK,CAAC;;EAkJjD;AAID,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,KAAK,EACjD,OAAO,EAAE,yBAAyB,CAAC,SAAS,EAAE,KAAK,CAAC;;;EAuCrD"}
1
+ {"version":3,"file":"use-data-table-server.d.ts","sourceRoot":"","sources":["../../../../../src/components/features/data-table/hooks/use-data-table-server.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,KAAK,EACV,cAAc,EACd,sBAAsB,EACtB,eAAe,EACf,qBAAqB,EACrB,YAAY,EACZ,yBAAyB,EAC1B,MAAM,UAAU,CAAA;AASjB,YAAY,EAAE,yBAAyB,EAAE,CAAA;AAIzC,MAAM,WAAW,qBAAqB,CAAC,SAAS,EAAE,KAAK;IACrD,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAA;IACzC,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,OAAO,CAAC,SAAS,CAAC,CAAA;IAC/D,QAAQ,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,SAAS,KAAK,qBAAqB,CAAC,KAAK,CAAC,CAAA;IACzE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,MAAM,CAAA;IAC1C,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,GAAG,sBAAsB,CAAA;IAC9D,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAA;CACrC;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,KAAK,EAC7C,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,EAC5B,OAAO,EAAE,qBAAqB,CAAC,SAAS,EAAE,KAAK,CAAC;;EAuJjD;AAID,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,KAAK,EACjD,OAAO,EAAE,yBAAyB,CAAC,SAAS,EAAE,KAAK,CAAC;;;EAuCrD"}
@@ -59,6 +59,7 @@ const coreSearchParams = {
59
59
  page: parseAsInteger.withDefault(0),
60
60
  size: parseAsInteger.withDefault(20)
61
61
  };
62
+ const EMPTY_FILTER_PARSERS_PLACEHOLDER = { _dt: parseAsString.withDefault("") };
62
63
  /**
63
64
  * Hook that creates a StateAdapter backed by nuqs URL query state.
64
65
  *
@@ -85,7 +86,7 @@ function useNuqsAdapter(options = {}) {
85
86
  const { filters: filterParsers } = options;
86
87
  const [coreState, setCoreState] = useQueryStates(coreSearchParams);
87
88
  const hasFilters = filterParsers != null && Object.keys(filterParsers).length > 0;
88
- const [filterState, setFilterState] = useQueryStates(hasFilters ? filterParsers : { _dt: parseAsString.withDefault("") });
89
+ const [filterState, setFilterState] = useQueryStates(hasFilters ? filterParsers : EMPTY_FILTER_PARSERS_PLACEHOLDER);
89
90
  return useMemo(() => ({
90
91
  read: () => ({
91
92
  sorting: parseSorting(coreState.sort),
@@ -1386,8 +1387,12 @@ function useServerTable(store, options) {
1386
1387
  store.setPagination(next.pageIndex, next.pageSize);
1387
1388
  }
1388
1389
  });
1390
+ const stateAdapterRef = useRef(stateAdapter);
1389
1391
  useEffect(() => {
1390
- if (stateAdapter) stateAdapter.write({
1392
+ stateAdapterRef.current = stateAdapter;
1393
+ }, [stateAdapter]);
1394
+ useEffect(() => {
1395
+ stateAdapterRef.current?.write({
1391
1396
  sorting,
1392
1397
  filters,
1393
1398
  search,
@@ -1397,8 +1402,7 @@ function useServerTable(store, options) {
1397
1402
  sorting,
1398
1403
  filters,
1399
1404
  search,
1400
- pageSize,
1401
- stateAdapter
1405
+ pageSize
1402
1406
  ]);
1403
1407
  return { table };
1404
1408
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@datum-cloud/datum-ui",
3
3
  "type": "module",
4
- "version": "0.10.0",
4
+ "version": "0.10.1",
5
5
  "license": "MIT",
6
6
  "repository": {
7
7
  "url": "https://github.com/datum-cloud/datum-ui"