@nexia/sdk 0.8.17 → 0.8.19

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/README.md CHANGED
@@ -103,8 +103,8 @@ in multiple-selection mode it is ignored so checking a row never closes the dial
103
103
  Use `NxLookupField` from `@nexia/sdk/host` for a field that opens a record lookup.
104
104
  `NxCombobox` now owns only popover list selection. The earlier draft
105
105
  `NxCombobox presentation="dialog"` API and its lookup-only props are removed.
106
- Adopt the matching SDK and Core host together; this draft does not declare a
107
- released minimum version.
106
+ Use React SDK 0.8.13 and Core 0.8.152 or later together before adopting this
107
+ field. Migrate the earlier dialog-only combobox props as shown below.
108
108
 
109
109
  `NxLookupField` displays the applied value and opens the shared `NxLookupDialog`.
110
110
  It supports typed string/number values, single/multiple selection, create
@@ -149,3 +149,21 @@ SDK and Core host; omitting this optional prop retains the existing picker.
149
149
 
150
150
  `NxLookupDialog` remains available for composition that already owns its trigger.
151
151
  Current-page select-all never means every matching record on the server.
152
+
153
+ ## Released host options
154
+
155
+ Use the [frontend host guide](https://developers.nexia.to/en/docs/app-sdk-frontend-host-contracts)
156
+ for the complete procedure and current host prerequisites. Existing optional
157
+ props can remain omitted; new options require a compatible Core host.
158
+
159
+ | React SDK | Capability | Core support |
160
+ | --- | --- | --- |
161
+ | 0.8.14 | Operating-unit lookup, `kind: "dateRange"`, `exportKey` | 0.8.159 |
162
+ | 0.8.15 | `submissionId` and `recordPrint` | 0.8.173 with matching runtime |
163
+ | 0.8.16 | `NEXIA_READ_ONLY_HEADER` | 0.8.167 |
164
+ | 0.8.17 | Toolbar `moreItems`, `export_restricted_columns` | 0.8.170 |
165
+
166
+ Import `NEXIA_READ_ONLY_HEADER` from `@nexia/sdk` or `@nexia/sdk/host` and
167
+ send `{ [NEXIA_READ_ONLY_HEADER]: 'true' }` only for nonmutating POST queries.
168
+ Never mark a save as read-only. A `submissionId` is an accepted request, not
169
+ proof that a case exists. Keep denied rows/fields excluded from print/export.
@@ -0,0 +1,9 @@
1
+ ---
2
+ status: published
3
+ version: 0.8.18
4
+ date: 2026-10-30
5
+ title: Lookup selection and visible columns
6
+ description: Select all authorized lookup results and observe visible table columns.
7
+ ---
8
+
9
+ React SDK 0.8.18 adds `NxLookupField.selectAllOptions`, `NxLookupDialog.selectAllRows` and `ResourceTable.onVisibleColumnsChange`. Selection loaders must return all authorized results for the current query, honor cancellation and reject partial results. Apply/Cancel behavior remains unchanged. Visible columns may guide server search but never replace authorization before pagination. Adopt the matching Core host. See the [UI component guide](https://developers.nexia.to/docs/app-sdk-ui-components) and [package artifact](https://www.npmjs.com/package/@nexia/sdk/v/0.8.18).
@@ -0,0 +1,9 @@
1
+ ---
2
+ status: published
3
+ version: 0.8.18
4
+ date: 2026-10-30
5
+ title: 조회 결과 전체 선택과 표시 열
6
+ description: 권한이 있는 조회 결과를 전체 선택하고 표의 표시 열 변경을 받습니다.
7
+ ---
8
+
9
+ React SDK 0.8.18은 `NxLookupField.selectAllOptions`, `NxLookupDialog.selectAllRows`, `ResourceTable.onVisibleColumnsChange`를 추가합니다. 선택 로더는 현재 검색 조건에서 권한이 있는 전체 결과를 반환하고 취소 요청을 처리하며 불완전한 결과를 거부해야 합니다. 적용·취소 동작은 유지됩니다. 표시 열은 서버 검색 범위에 활용할 수 있지만 페이지 분할 전 권한 검사를 대체하지 않습니다. 대응 Core 호스트를 함께 적용하세요. [UI 컴포넌트 안내](https://developers.nexia.to/docs/app-sdk-ui-components)와 [패키지](https://www.npmjs.com/package/@nexia/sdk/v/0.8.18)를 참고하세요.
@@ -0,0 +1,9 @@
1
+ ---
2
+ status: published
3
+ version: 0.8.19
4
+ date: 2026-11-02
5
+ title: Import review recovery actions
6
+ description: Offer an App-owned action when import reference review is blocked.
7
+ ---
8
+
9
+ React SDK 0.8.19 adds the optional `onBlockedReviewActionChange` callback to `NxDatasetImportWorkspaceProps`. An App can provide a labeled recovery action, disable it while busy, or pass `null` to hide it. Clear the action when leaving the review. Existing callers remain compatible; unresolved rows still require server validation. Adopt the matching Core host before using this callback. See the [import and export guide](https://developers.nexia.to/docs/building-apps-import-and-export) and [npm package](https://www.npmjs.com/package/@nexia/sdk/v/0.8.19).
@@ -0,0 +1,9 @@
1
+ ---
2
+ status: published
3
+ version: 0.8.19
4
+ date: 2026-11-02
5
+ title: 가져오기 검토 복구 동작
6
+ description: 가져오기 기준정보 검토가 막혔을 때 앱이 복구 동작을 제공할 수 있습니다.
7
+ ---
8
+
9
+ React SDK 0.8.19의 `NxDatasetImportWorkspaceProps`에 선택적 `onBlockedReviewActionChange` 콜백을 추가했습니다. 앱은 이름이 있는 복구 동작을 제공하고, 처리 중에는 비활성화하거나 `null`로 숨길 수 있습니다. 검토 화면을 떠날 때 동작을 해제하세요. 기존 호출은 호환되며 해결되지 않은 행은 여전히 서버 검증이 필요합니다. 이 콜백을 사용하기 전에 대응하는 Core 호스트를 함께 적용하세요. [가져오기·내보내기 안내](https://developers.nexia.to/docs/building-apps-import-and-export)와 [npm 패키지](https://www.npmjs.com/package/@nexia/sdk/v/0.8.19)를 참고하세요.
@@ -187,6 +187,12 @@ export interface NxDatasetImportWorkspaceProps {
187
187
  count: number;
188
188
  }>;
189
189
  busy: boolean;
190
+ /** Replace the blocked-review notice actions with an App-owned recovery action. Null hides them. */
191
+ onBlockedReviewActionChange?: (action: {
192
+ label: string;
193
+ disabled: boolean;
194
+ onClick: () => void;
195
+ } | null) => void;
190
196
  recheck: () => void;
191
197
  /** Open an offered reference editor after preserving the import draft. */
192
198
  createReference: (kind: string, seed: string) => void;
package/dist/shell.d.ts CHANGED
@@ -445,6 +445,8 @@ export interface ResourceTableProps<T> {
445
445
  labelTooltip?: ReactNode;
446
446
  rows: T[];
447
447
  columns: ResourceTableColumn<T>[];
448
+ /** Effective data columns after saved preferences, including host-added columns. */
449
+ onVisibleColumnsChange?: (keys: string[]) => void;
448
450
  /** Opt in to the host's card presentation. Omit for table-only list semantics. */
449
451
  renderCard?: (row: T, index: number) => ReactNode;
450
452
  /** Initial view when no actor-scoped table preference has been saved. */
@@ -1455,6 +1457,12 @@ interface NxLookupFieldBaseProps<TValue extends string | number> {
1455
1457
  options: readonly NxLookupOption<TValue>[];
1456
1458
  /** Supply applied choices that are absent from the current server page. */
1457
1459
  selectedOptions?: readonly NxLookupOption<TValue>[];
1460
+ /** Complete authorized results for the current search/filters. Change scopeKey when that scope changes.
1461
+ * Must reject on failure; never return a partial collection. Disabled options are excluded by the host. */
1462
+ selectAllOptions?: {
1463
+ scopeKey: string;
1464
+ load: (signal: AbortSignal) => Promise<readonly NxLookupOption<TValue>[]>;
1465
+ };
1458
1466
  placeholder: ReactNode;
1459
1467
  ariaLabel: string;
1460
1468
  description?: string;
@@ -1535,6 +1543,11 @@ export interface NxLookupDialogProps {
1535
1543
  value: readonly NxLookupRow[];
1536
1544
  onApply: (rows: NxLookupRow[]) => void;
1537
1545
  rows: readonly NxLookupRow[];
1546
+ /** Optional complete authorized result loader; selection remains a draft until Apply. */
1547
+ selectAllRows?: {
1548
+ scopeKey: string;
1549
+ load: (signal: AbortSignal) => Promise<readonly NxLookupRow[]>;
1550
+ };
1538
1551
  columns: readonly {
1539
1552
  key: string;
1540
1553
  label: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nexia/sdk",
3
- "version": "0.8.17",
3
+ "version": "0.8.19",
4
4
  "description": "Frontend contracts for Nexia App Packages",
5
5
  "license": "UNLICENSED",
6
6
  "type": "module",