@nexia/sdk 0.8.17 → 0.8.18

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)를 참고하세요.
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.18",
4
4
  "description": "Frontend contracts for Nexia App Packages",
5
5
  "license": "UNLICENSED",
6
6
  "type": "module",