@object-ui/plugin-grid 3.3.2 → 4.0.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.
- package/CHANGELOG.md +94 -0
- package/dist/index.js +959 -653
- package/dist/index.umd.cjs +8 -8
- package/dist/packages/plugin-grid/src/ImportWizard.d.ts +40 -0
- package/dist/packages/plugin-grid/src/useGroupedData.d.ts +25 -4
- package/package.json +10 -10
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,99 @@
|
|
|
1
1
|
# @object-ui/plugin-grid
|
|
2
2
|
|
|
3
|
+
## 4.0.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- @object-ui/types@4.0.1
|
|
8
|
+
- @object-ui/core@4.0.1
|
|
9
|
+
- @object-ui/react@4.0.1
|
|
10
|
+
- @object-ui/components@4.0.1
|
|
11
|
+
- @object-ui/fields@4.0.1
|
|
12
|
+
- @object-ui/mobile@4.0.1
|
|
13
|
+
|
|
14
|
+
## 4.0.0
|
|
15
|
+
|
|
16
|
+
### Patch Changes
|
|
17
|
+
|
|
18
|
+
- Updated dependencies
|
|
19
|
+
- @object-ui/types@4.0.0
|
|
20
|
+
- @object-ui/components@4.0.0
|
|
21
|
+
- @object-ui/core@4.0.0
|
|
22
|
+
- @object-ui/fields@4.0.0
|
|
23
|
+
- @object-ui/mobile@4.0.0
|
|
24
|
+
- @object-ui/react@4.0.0
|
|
25
|
+
|
|
26
|
+
## 3.4.0
|
|
27
|
+
|
|
28
|
+
### Minor Changes
|
|
29
|
+
|
|
30
|
+
- f1ca238: Async streaming export — spec v4 export job lifecycle end-to-end
|
|
31
|
+
|
|
32
|
+
For tenants with millions of records the legacy in-memory CSV/JSON export blew
|
|
33
|
+
past the browser's heap. This change wires the spec v4 streaming-export
|
|
34
|
+
contract through the renderer end-to-end:
|
|
35
|
+
|
|
36
|
+
**`@object-ui/types`** — `DataSource` gains four optional methods:
|
|
37
|
+
- `createExportJob(resource, request)` → `{ jobId, status, estimatedRecords, createdAt }`
|
|
38
|
+
- `getExportJobProgress(jobId)` → `{ status, processedRecords, totalRecords, percentComplete, downloadUrl, … }`
|
|
39
|
+
- `cancelExportJob(jobId)` (optional)
|
|
40
|
+
- `getExportJobDownloadUrl(jobId)` (optional — for short-lived signed URLs)
|
|
41
|
+
|
|
42
|
+
Mirror the spec v4 `CreateExportJobRequest` / `ExportJobProgress` shapes; types
|
|
43
|
+
remain dependency-free.
|
|
44
|
+
|
|
45
|
+
**`@object-ui/components`** — new public API:
|
|
46
|
+
- `useExportJob({ dataSource, pollIntervalMs, onComplete, onError })` — owns the
|
|
47
|
+
full polling loop, terminal-state handling, cancel, and download.
|
|
48
|
+
- `<ExportProgressDialog open onOpenChange job filename closeAfterDownloadMs />` —
|
|
49
|
+
determinate or indeterminate progress bar, byte/record counts, Cancel while
|
|
50
|
+
running, Download on completion, error banner on failure.
|
|
51
|
+
|
|
52
|
+
**`@object-ui/plugin-grid`** — `ObjectGrid` now auto-detects async export
|
|
53
|
+
support: when the `DataSource` exposes `createExportJob` + `getExportJobProgress`
|
|
54
|
+
(and the schema isn't using inline `value` data) the export popover routes
|
|
55
|
+
through the streaming path with a progress dialog. Otherwise it falls back to
|
|
56
|
+
the existing client-side blob path. Set `exportOptions.streaming = false` to
|
|
57
|
+
force the legacy path.
|
|
58
|
+
|
|
59
|
+
### Patch Changes
|
|
60
|
+
|
|
61
|
+
- a2d7023: End-user feature batch — forms, designer history, import/export, and PWA offline sync.
|
|
62
|
+
|
|
63
|
+
**Forms (`@object-ui/fields`, `@object-ui/providers`)**
|
|
64
|
+
- `FileField`: native `<input capture="environment">` camera capture for mobile devices, plus a uploading-progress indicator driven by `UploadProvider`.
|
|
65
|
+
- `ImageField`: per-image inline crop/rotate via the lazy-loaded `ImageCropperDialog` (canvas-based, zero new deps).
|
|
66
|
+
- New `UploadProvider` in `@object-ui/providers` with pluggable adapters for S3 and Azure Blob (plus the default object-URL adapter for local previews). XHR-based with progress, abort, and retry.
|
|
67
|
+
- `LookupField`: `lookup.dependsOn: string | string[]` to chain dependent lookups (e.g. State depends on Country); the trigger is gated until parent values are present and the OData `$filter` is built automatically.
|
|
68
|
+
|
|
69
|
+
**Container-aware widget widths (`@object-ui/components`)**
|
|
70
|
+
- New `useResizeObserver(ref)` hook exposing `{ width, height }` of any element. SSR-safe; reads the initial size via `getBoundingClientRect`.
|
|
71
|
+
- `plugin-gantt` and `plugin-kanban` now react to their container size instead of `window.innerWidth`, so they behave correctly inside split panels and dashboards.
|
|
72
|
+
|
|
73
|
+
**Designer history (`@object-ui/plugin-designer`)**
|
|
74
|
+
- `useUndoRedo` (and therefore `useDesignerHistory`) gains `persistKey` + `storage` options to round-trip the undo/redo stack through `sessionStorage`, plus a `clearPersisted()` cleanup helper. Drafts now survive accidental tab refreshes.
|
|
75
|
+
- New `<HistoryPanel>` component renders the timeline visually with one-click jump-to-checkpoint via the new `jumpTo(index)` API.
|
|
76
|
+
|
|
77
|
+
**Import wizard (`@object-ui/plugin-grid`)**
|
|
78
|
+
- Saved column-mapping templates: name, save, re-apply, and delete via a new template bar in the mapping step. Persisted under `objectui:import-templates:${objectName}` (override via `templateStorageKey` / `templateStorage`).
|
|
79
|
+
- Inline validation correction: cells with errors in the preview step are now editable; corrections feed straight into the import without requiring a re-upload, with green-bar status indicators for fixed rows.
|
|
80
|
+
|
|
81
|
+
**PWA offline sync (`@object-ui/mobile`)**
|
|
82
|
+
- New `MemoryOfflineQueue` / `IndexedDbOfflineQueue` (`createOfflineQueue()` picks the best backend) backed by IndexedDB.
|
|
83
|
+
- `createOfflineDataSource(inner, { queue })` wraps any DataSource so mutations issued while offline (or that fail with a network-style error) are queued and replayed in order on reconnect. Includes `replay()`, `drop()`, `clear()`, `pending()`, an `onChange` notifier, and an opt-in `resolveConflict` hook for stale-write conflicts.
|
|
84
|
+
- New `useOfflineSync(source)` hook exposes `{ isOnline, pending, isReplaying, replay, drop, clear }` and auto-replays on the browser's `online` event.
|
|
85
|
+
- `getServiceWorkerSource(opts)` emits a customisable Service Worker that pre-caches the app shell, applies network-first to API requests, and broadcasts `REPLAY_QUEUE` to clients on Background Sync. `requestBackgroundSync(tag)` registers a one-shot sync from the page.
|
|
86
|
+
|
|
87
|
+
- Updated dependencies [a2d7023]
|
|
88
|
+
- Updated dependencies [f1ca238]
|
|
89
|
+
- Updated dependencies [de881ef]
|
|
90
|
+
- @object-ui/components@3.4.0
|
|
91
|
+
- @object-ui/fields@3.4.0
|
|
92
|
+
- @object-ui/mobile@3.4.0
|
|
93
|
+
- @object-ui/types@3.4.0
|
|
94
|
+
- @object-ui/core@3.4.0
|
|
95
|
+
- @object-ui/react@3.4.0
|
|
96
|
+
|
|
3
97
|
## 3.3.2
|
|
4
98
|
|
|
5
99
|
### Patch Changes
|