@pilotiq/pilotiq 0.6.2 → 0.7.0
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/.turbo/turbo-build.log +6 -2
- package/CHANGELOG.md +608 -0
- package/CLAUDE.md +6 -5
- package/dist/Column.d.ts +35 -0
- package/dist/Column.d.ts.map +1 -1
- package/dist/Column.js +41 -0
- package/dist/Column.js.map +1 -1
- package/dist/Page.d.ts +13 -4
- package/dist/Page.d.ts.map +1 -1
- package/dist/Page.js +9 -2
- package/dist/Page.js.map +1 -1
- package/dist/Pilotiq.d.ts +84 -0
- package/dist/Pilotiq.d.ts.map +1 -1
- package/dist/Pilotiq.js +66 -0
- package/dist/Pilotiq.js.map +1 -1
- package/dist/Resource.d.ts +26 -0
- package/dist/Resource.d.ts.map +1 -1
- package/dist/Resource.js +9 -0
- package/dist/Resource.js.map +1 -1
- package/dist/actions/exportFactory.js +1 -1
- package/dist/actions/exportFactory.js.map +1 -1
- package/dist/columns/SelectColumn.d.ts +32 -5
- package/dist/columns/SelectColumn.d.ts.map +1 -1
- package/dist/columns/SelectColumn.js +37 -7
- package/dist/columns/SelectColumn.js.map +1 -1
- package/dist/defaultPages.d.ts.map +1 -1
- package/dist/defaultPages.js +3 -0
- package/dist/defaultPages.js.map +1 -1
- package/dist/elements/Form.d.ts +17 -0
- package/dist/elements/Form.d.ts.map +1 -1
- package/dist/elements/Form.js +17 -0
- package/dist/elements/Form.js.map +1 -1
- package/dist/elements/Table.d.ts +26 -0
- package/dist/elements/Table.d.ts.map +1 -1
- package/dist/elements/Table.js +15 -1
- package/dist/elements/Table.js.map +1 -1
- package/dist/elements/TableGroup.d.ts +84 -0
- package/dist/elements/TableGroup.d.ts.map +1 -1
- package/dist/elements/TableGroup.js +103 -0
- package/dist/elements/TableGroup.js.map +1 -1
- package/dist/elements/dispatchForm.d.ts.map +1 -1
- package/dist/elements/dispatchForm.js +36 -6
- package/dist/elements/dispatchForm.js.map +1 -1
- package/dist/elements/dispatchTable.d.ts +12 -0
- package/dist/elements/dispatchTable.d.ts.map +1 -1
- package/dist/elements/dispatchTable.js +103 -28
- package/dist/elements/dispatchTable.js.map +1 -1
- package/dist/fields/Field.d.ts +7 -2
- package/dist/fields/Field.d.ts.map +1 -1
- package/dist/fields/Field.js +8 -3
- package/dist/fields/Field.js.map +1 -1
- package/dist/fields/RepeaterField.d.ts +65 -0
- package/dist/fields/RepeaterField.d.ts.map +1 -1
- package/dist/fields/RepeaterField.js +48 -0
- package/dist/fields/RepeaterField.js.map +1 -1
- package/dist/orm/modelDefaults.d.ts.map +1 -1
- package/dist/orm/modelDefaults.js +19 -0
- package/dist/orm/modelDefaults.js.map +1 -1
- package/dist/pageData.d.ts +20 -0
- package/dist/pageData.d.ts.map +1 -1
- package/dist/pageData.js +242 -34
- package/dist/pageData.js.map +1 -1
- package/dist/react/AppShell.d.ts +17 -1
- package/dist/react/AppShell.d.ts.map +1 -1
- package/dist/react/AppShell.js +34 -3
- package/dist/react/AppShell.js.map +1 -1
- package/dist/react/PendingSuggestionApplierRegistry.d.ts +34 -0
- package/dist/react/PendingSuggestionApplierRegistry.d.ts.map +1 -0
- package/dist/react/PendingSuggestionApplierRegistry.js +51 -0
- package/dist/react/PendingSuggestionApplierRegistry.js.map +1 -0
- package/dist/react/PendingSuggestionOverlayRegistry.d.ts +46 -0
- package/dist/react/PendingSuggestionOverlayRegistry.d.ts.map +1 -0
- package/dist/react/PendingSuggestionOverlayRegistry.js +16 -0
- package/dist/react/PendingSuggestionOverlayRegistry.js.map +1 -0
- package/dist/react/PendingSuggestionsContext.d.ts +153 -0
- package/dist/react/PendingSuggestionsContext.d.ts.map +1 -0
- package/dist/react/PendingSuggestionsContext.js +46 -0
- package/dist/react/PendingSuggestionsContext.js.map +1 -0
- package/dist/react/SchemaRenderer.d.ts.map +1 -1
- package/dist/react/SchemaRenderer.js +312 -39
- package/dist/react/SchemaRenderer.js.map +1 -1
- package/dist/react/cells/EditableCell.d.ts +8 -0
- package/dist/react/cells/EditableCell.d.ts.map +1 -1
- package/dist/react/cells/EditableCell.js +6 -2
- package/dist/react/cells/EditableCell.js.map +1 -1
- package/dist/react/fields/CheckboxListInput.d.ts.map +1 -1
- package/dist/react/fields/CheckboxListInput.js +29 -2
- package/dist/react/fields/CheckboxListInput.js.map +1 -1
- package/dist/react/fields/ColorInput.d.ts.map +1 -1
- package/dist/react/fields/ColorInput.js +28 -2
- package/dist/react/fields/ColorInput.js.map +1 -1
- package/dist/react/fields/DateTimeInput.d.ts.map +1 -1
- package/dist/react/fields/DateTimeInput.js +28 -2
- package/dist/react/fields/DateTimeInput.js.map +1 -1
- package/dist/react/fields/FieldShell.d.ts.map +1 -1
- package/dist/react/fields/FieldShell.js +161 -3
- package/dist/react/fields/FieldShell.js.map +1 -1
- package/dist/react/fields/FileUploadInput.d.ts.map +1 -1
- package/dist/react/fields/FileUploadInput.js +27 -2
- package/dist/react/fields/FileUploadInput.js.map +1 -1
- package/dist/react/fields/KeyValueInput.d.ts.map +1 -1
- package/dist/react/fields/KeyValueInput.js +33 -2
- package/dist/react/fields/KeyValueInput.js.map +1 -1
- package/dist/react/fields/RadioInput.d.ts.map +1 -1
- package/dist/react/fields/RadioInput.js +28 -2
- package/dist/react/fields/RadioInput.js.map +1 -1
- package/dist/react/fields/SelectFieldInput.d.ts.map +1 -1
- package/dist/react/fields/SelectFieldInput.js +31 -2
- package/dist/react/fields/SelectFieldInput.js.map +1 -1
- package/dist/react/fields/SliderInput.d.ts.map +1 -1
- package/dist/react/fields/SliderInput.js +26 -2
- package/dist/react/fields/SliderInput.js.map +1 -1
- package/dist/react/fields/TagsInput.d.ts.map +1 -1
- package/dist/react/fields/TagsInput.js +26 -2
- package/dist/react/fields/TagsInput.js.map +1 -1
- package/dist/react/fields/ToggleFieldInput.d.ts.map +1 -1
- package/dist/react/fields/ToggleFieldInput.js +29 -2
- package/dist/react/fields/ToggleFieldInput.js.map +1 -1
- package/dist/react/index.d.ts +3 -0
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +3 -0
- package/dist/react/index.js.map +1 -1
- package/dist/routes.d.ts.map +1 -1
- package/dist/routes.js +55 -2
- package/dist/routes.js.map +1 -1
- package/dist/schema/Section.d.ts +16 -0
- package/dist/schema/Section.d.ts.map +1 -1
- package/dist/schema/Section.js +16 -0
- package/dist/schema/Section.js.map +1 -1
- package/dist/schema/Wizard.d.ts +45 -0
- package/dist/schema/Wizard.d.ts.map +1 -1
- package/dist/schema/Wizard.js +50 -0
- package/dist/schema/Wizard.js.map +1 -1
- package/dist/schema/resolveSchema.d.ts +8 -0
- package/dist/schema/resolveSchema.d.ts.map +1 -1
- package/dist/schema/resolveSchema.js +70 -1
- package/dist/schema/resolveSchema.js.map +1 -1
- package/dist/sessionFilters.d.ts.map +1 -1
- package/dist/sessionFilters.js +12 -1
- package/dist/sessionFilters.js.map +1 -1
- package/dist/styles/file-upload.css +13 -0
- package/dist/vite.d.ts.map +1 -1
- package/dist/vite.js +9 -2
- package/dist/vite.js.map +1 -1
- package/package.json +6 -4
- package/src/Column.test.ts +36 -0
- package/src/Column.ts +54 -0
- package/src/Page.ts +13 -4
- package/src/Pilotiq.ts +109 -0
- package/src/Resource.ts +29 -0
- package/src/actions/exportFactory.ts +1 -1
- package/src/columns/SelectColumn.ts +46 -8
- package/src/columns/editableColumns.test.ts +45 -0
- package/src/defaultPages.ts +3 -0
- package/src/elements/Form.ts +19 -0
- package/src/elements/Table.ts +35 -1
- package/src/elements/TableGroup.test.ts +111 -0
- package/src/elements/TableGroup.ts +135 -0
- package/src/elements/dispatchForm.ts +34 -7
- package/src/elements/dispatchTable.test.ts +267 -0
- package/src/elements/dispatchTable.ts +111 -32
- package/src/fields/Field.test.ts +15 -0
- package/src/fields/Field.ts +8 -3
- package/src/fields/RepeaterField.ts +104 -0
- package/src/fields/RepeaterRelationship.test.ts +173 -0
- package/src/nestedRelationManagerData.test.ts +21 -0
- package/src/orm/modelDefaults.ts +21 -0
- package/src/pageData.ts +267 -47
- package/src/react/AppShell.tsx +55 -4
- package/src/react/PendingSuggestionApplierRegistry.ts +80 -0
- package/src/react/PendingSuggestionOverlayRegistry.ts +54 -0
- package/src/react/PendingSuggestionsContext.tsx +172 -0
- package/src/react/SchemaRenderer.tsx +504 -95
- package/src/react/cells/EditableCell.tsx +11 -2
- package/src/react/fields/CheckboxListInput.tsx +23 -2
- package/src/react/fields/ColorInput.tsx +22 -2
- package/src/react/fields/DateTimeInput.tsx +22 -2
- package/src/react/fields/FieldShell.tsx +167 -3
- package/src/react/fields/FileUploadInput.tsx +21 -2
- package/src/react/fields/KeyValueInput.tsx +32 -2
- package/src/react/fields/RadioInput.tsx +23 -2
- package/src/react/fields/SelectFieldInput.tsx +25 -2
- package/src/react/fields/SliderInput.tsx +20 -2
- package/src/react/fields/TagsInput.tsx +20 -2
- package/src/react/fields/ToggleFieldInput.tsx +23 -2
- package/src/react/index.ts +18 -0
- package/src/relationManagerData.test.ts +451 -2
- package/src/routes.ts +58 -2
- package/src/schema/Section.ts +17 -0
- package/src/schema/Wizard.ts +67 -0
- package/src/schema/containers.test.ts +90 -0
- package/src/schema/resolveSchema.test.ts +50 -0
- package/src/schema/resolveSchema.ts +79 -1
- package/src/sessionFilters.test.ts +23 -0
- package/src/sessionFilters.ts +11 -1
- package/src/styles/file-upload.css +13 -0
- package/src/vite.ts +9 -2
package/dist/vite.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite.js","sourceRoot":"","sources":["../src/vite.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"vite.js","sourceRoot":"","sources":["../src/vite.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pilotiq/pilotiq",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"description": "View-based admin panel for RudderJS",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -57,7 +57,8 @@
|
|
|
57
57
|
"./richtext": {
|
|
58
58
|
"import": "./dist/richtext/index.js",
|
|
59
59
|
"types": "./dist/richtext/index.d.ts"
|
|
60
|
-
}
|
|
60
|
+
},
|
|
61
|
+
"./styles/file-upload.css": "./dist/styles/file-upload.css"
|
|
61
62
|
},
|
|
62
63
|
"dependencies": {
|
|
63
64
|
"jiti": "^2.6.0",
|
|
@@ -97,8 +98,9 @@
|
|
|
97
98
|
"vite": "^7"
|
|
98
99
|
},
|
|
99
100
|
"scripts": {
|
|
100
|
-
"build": "tsc -p tsconfig.build.json",
|
|
101
|
-
"dev": "tsc -p tsconfig.build.json --watch",
|
|
101
|
+
"build": "tsc -p tsconfig.build.json && pnpm run copy-assets",
|
|
102
|
+
"dev": "tsc -p tsconfig.build.json --watch & pnpm run copy-assets; wait",
|
|
103
|
+
"copy-assets": "mkdir -p dist/styles && cp -R src/styles/*.css dist/styles/",
|
|
102
104
|
"typecheck": "tsc --noEmit",
|
|
103
105
|
"clean": "rm -rf dist",
|
|
104
106
|
"test": "tsc -p tsconfig.test.json && node --test \"dist-test/**/*.test.js\"; EXIT=$?; rm -rf dist-test; exit $EXIT"
|
package/src/Column.test.ts
CHANGED
|
@@ -160,4 +160,40 @@ describe('Column', () => {
|
|
|
160
160
|
assert.equal((meta as Record<string, unknown>)['afterStateUpdated'], undefined)
|
|
161
161
|
})
|
|
162
162
|
})
|
|
163
|
+
|
|
164
|
+
describe('toggleable() user-visibility chrome', () => {
|
|
165
|
+
it('isToggleable + getToggleableConfig default to false / undefined', () => {
|
|
166
|
+
const col = Column.make('email')
|
|
167
|
+
assert.equal(col.isToggleable(), false)
|
|
168
|
+
assert.equal(col.getToggleableConfig(), undefined)
|
|
169
|
+
})
|
|
170
|
+
|
|
171
|
+
it('bare toggleable() opts in with defaults (visible by default)', () => {
|
|
172
|
+
const col = Column.make('email').toggleable()
|
|
173
|
+
assert.equal(col.isToggleable(), true)
|
|
174
|
+
assert.deepEqual(col.getToggleableConfig(), {})
|
|
175
|
+
const meta = col.toMeta() as Record<string, unknown>
|
|
176
|
+
assert.deepEqual(meta['toggleable'], {})
|
|
177
|
+
})
|
|
178
|
+
|
|
179
|
+
it('toggleable({ initiallyHidden: true }) starts off-screen', () => {
|
|
180
|
+
const col = Column.make('internalId').toggleable({ initiallyHidden: true })
|
|
181
|
+
const cfg = col.getToggleableConfig()
|
|
182
|
+
assert.equal(cfg?.initiallyHidden, true)
|
|
183
|
+
const meta = col.toMeta() as Record<string, unknown>
|
|
184
|
+
assert.deepEqual(meta['toggleable'], { initiallyHidden: true })
|
|
185
|
+
})
|
|
186
|
+
|
|
187
|
+
it('toggleable(false) explicitly opts back out', () => {
|
|
188
|
+
const col = Column.make('email').toggleable().toggleable(false)
|
|
189
|
+
assert.equal(col.isToggleable(), false)
|
|
190
|
+
const meta = col.toMeta() as Record<string, unknown>
|
|
191
|
+
assert.equal(meta['toggleable'], undefined)
|
|
192
|
+
})
|
|
193
|
+
|
|
194
|
+
it('omits the meta key when not opted in (sparse wire shape)', () => {
|
|
195
|
+
const meta = Column.make('plain').toMeta() as Record<string, unknown>
|
|
196
|
+
assert.equal('toggleable' in meta, false)
|
|
197
|
+
})
|
|
198
|
+
})
|
|
163
199
|
})
|
package/src/Column.ts
CHANGED
|
@@ -79,6 +79,14 @@ export type FormatStateHandler = (value: unknown, record: Record<string, unknown
|
|
|
79
79
|
* server-side inside `loadTableRecords`. */
|
|
80
80
|
export type ColumnRecordUrlHandler = (record: Record<string, unknown>) => string | undefined
|
|
81
81
|
|
|
82
|
+
/** Configuration for `Column.toggleable(...)`. The user can show / hide the
|
|
83
|
+
* column from a per-table dropdown; preference persists to localStorage so
|
|
84
|
+
* it survives reloads + SPA navs. `initiallyHidden` flips the default state
|
|
85
|
+
* so the column starts off-screen and the user opts in. */
|
|
86
|
+
export interface ColumnToggleableConfig {
|
|
87
|
+
initiallyHidden?: boolean
|
|
88
|
+
}
|
|
89
|
+
|
|
82
90
|
export interface ColumnMeta extends ElementMeta {
|
|
83
91
|
type: 'column'
|
|
84
92
|
name: string
|
|
@@ -103,6 +111,10 @@ export interface ColumnMeta extends ElementMeta {
|
|
|
103
111
|
* computed values for each summarizer land on the table meta under
|
|
104
112
|
* `summaries[columnName]` (`SummaryResult[]`), not on the column. */
|
|
105
113
|
summaries?: SummarizerMeta[]
|
|
114
|
+
/** True when the user can show / hide this column from the toolbar's
|
|
115
|
+
* "Columns" dropdown. `initiallyHidden` flips the default state so
|
|
116
|
+
* the column starts off until the user opts in. */
|
|
117
|
+
toggleable?: { initiallyHidden?: true }
|
|
106
118
|
/** Render array values one-per-line (each item separated by `<br>`).
|
|
107
119
|
* Composes with `bulleted()` — when both are set, `bulleted()` wins
|
|
108
120
|
* and the renderer mounts a `<ul>` with bullet markers instead. */
|
|
@@ -222,6 +234,11 @@ export class Column extends Element {
|
|
|
222
234
|
protected _richText?: ColumnRichTextKind
|
|
223
235
|
protected _sanitize: boolean | SanitizeConfig = true
|
|
224
236
|
|
|
237
|
+
// User-toggleable column visibility — `Table.toggleColumns()` opt-in
|
|
238
|
+
// chrome reads this and stamps the toolbar dropdown. State persists
|
|
239
|
+
// per-table to localStorage so the user's choice sticks across loads.
|
|
240
|
+
protected _toggleable: false | ColumnToggleableConfig = false
|
|
241
|
+
|
|
225
242
|
// ─── Editable cell columns (TextInput / Toggle / Select) ───
|
|
226
243
|
// Per-cell PATCH validators — same shape as Field validators. Only
|
|
227
244
|
// consulted when the column is editable (the route handler reads
|
|
@@ -249,6 +266,40 @@ export class Column extends Element {
|
|
|
249
266
|
sortable(v = true): this { this._sortable = v; return this }
|
|
250
267
|
searchable(v = true): this { this._searchable = v; return this }
|
|
251
268
|
|
|
269
|
+
/**
|
|
270
|
+
* Let the user show / hide this column from the table toolbar's
|
|
271
|
+
* "Columns" dropdown. Preference persists per-table to localStorage
|
|
272
|
+
* under `pilotiq.table.<currentPath>.columns.<col>` so the choice
|
|
273
|
+
* sticks across reloads + SPA navigations.
|
|
274
|
+
*
|
|
275
|
+
* Pass `{ initiallyHidden: true }` to start the column off-screen —
|
|
276
|
+
* useful for technical / debug columns the user opts into.
|
|
277
|
+
*
|
|
278
|
+
* Column.make('email').toggleable()
|
|
279
|
+
* Column.make('internalId').toggleable({ initiallyHidden: true })
|
|
280
|
+
* Column.make('name').toggleable(false) // explicit opt-out
|
|
281
|
+
*
|
|
282
|
+
* Any non-toggleable column always renders. Hidden state is purely
|
|
283
|
+
* presentational — the column's data still loads from the server (so
|
|
284
|
+
* sorts / filters that reference it keep working, and a re-toggle
|
|
285
|
+
* shows fresh values without a roundtrip).
|
|
286
|
+
*/
|
|
287
|
+
toggleable(opts: boolean | ColumnToggleableConfig = true): this {
|
|
288
|
+
if (opts === false) {
|
|
289
|
+
this._toggleable = false
|
|
290
|
+
} else if (opts === true) {
|
|
291
|
+
this._toggleable = {}
|
|
292
|
+
} else {
|
|
293
|
+
this._toggleable = { ...opts }
|
|
294
|
+
}
|
|
295
|
+
return this
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
isToggleable(): boolean { return this._toggleable !== false }
|
|
299
|
+
getToggleableConfig(): ColumnToggleableConfig | undefined {
|
|
300
|
+
return this._toggleable === false ? undefined : this._toggleable
|
|
301
|
+
}
|
|
302
|
+
|
|
252
303
|
// ─── Layout ───────────────────────────────────────────
|
|
253
304
|
|
|
254
305
|
alignment(a: ColumnAlignment): this { this._alignment = a; return this }
|
|
@@ -631,6 +682,9 @@ export class Column extends Element {
|
|
|
631
682
|
if (this._format !== undefined) meta.format = this._format
|
|
632
683
|
if (this._formatState !== undefined) meta.hasFormatter = true
|
|
633
684
|
if (this._summarizers.length > 0) meta.summaries = this._summarizers.map(s => s.toMeta())
|
|
685
|
+
if (this._toggleable !== false) {
|
|
686
|
+
meta.toggleable = this._toggleable.initiallyHidden ? { initiallyHidden: true } : {}
|
|
687
|
+
}
|
|
634
688
|
if (this._listWithLineBreaks) meta.listWithLineBreaks = true
|
|
635
689
|
if (this._bulleted) meta.bulleted = true
|
|
636
690
|
if (this._copyMessage !== undefined) meta.copyMessage = this._copyMessage
|
package/src/Page.ts
CHANGED
|
@@ -7,9 +7,11 @@ import { type IconValue, serializeIcon } from './icons/types.js'
|
|
|
7
7
|
/**
|
|
8
8
|
* Discriminator the framework uses for default rendering, route generation,
|
|
9
9
|
* and breadcrumbs. `'custom'` is for standalone Pages that don't belong to
|
|
10
|
-
* a Resource.
|
|
10
|
+
* a Resource. `'record'` is for record-scoped sub-pages declared under a
|
|
11
|
+
* Resource's `pages().record` map. The other four modes correspond to the
|
|
12
|
+
* standard resource page roles.
|
|
11
13
|
*/
|
|
12
|
-
export type PageMode = 'list' | 'create' | 'edit' | 'view' | 'custom'
|
|
14
|
+
export type PageMode = 'list' | 'create' | 'edit' | 'view' | 'record' | 'custom'
|
|
13
15
|
|
|
14
16
|
export interface PageMeta {
|
|
15
17
|
slug: string
|
|
@@ -108,8 +110,15 @@ export class Page {
|
|
|
108
110
|
/** Plan #10: authorization. Custom pages get a single `canAccess` gate
|
|
109
111
|
* (no per-record predicates — pages are too freeform to assume a
|
|
110
112
|
* record concept). Resource-bound default page subclasses can still
|
|
111
|
-
* read their owning resource's predicates via `getResource()`.
|
|
112
|
-
|
|
113
|
+
* read their owning resource's predicates via `getResource()`.
|
|
114
|
+
*
|
|
115
|
+
* Record sub-pages (declared under `ResourcePages.record`) receive
|
|
116
|
+
* the loaded parent record as the second argument so subclasses can
|
|
117
|
+
* gate on record state in addition to user. The parameter is
|
|
118
|
+
* optional so existing custom-page subclasses with `canAccess(user)`
|
|
119
|
+
* keep type-checking. Record-aware sub-pages typically override as
|
|
120
|
+
* `canAccess(user, record)`. */
|
|
121
|
+
static async canAccess(_user: unknown, _record?: unknown): Promise<boolean> { return true }
|
|
113
122
|
|
|
114
123
|
/**
|
|
115
124
|
* Optional back-reference to the owning Resource. Auto-generated default
|
package/src/Pilotiq.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type * as React from 'react'
|
|
1
2
|
import type { Router } from '@rudderjs/router'
|
|
2
3
|
import type { ResourceClass } from './Resource.js'
|
|
3
4
|
import type { GlobalClass } from './Global.js'
|
|
@@ -228,10 +229,46 @@ export interface PilotiqConfig {
|
|
|
228
229
|
* absent and the chrome doesn't mount.
|
|
229
230
|
*/
|
|
230
231
|
rightPanels?: RightPanelContribution[]
|
|
232
|
+
/**
|
|
233
|
+
* Layout-level provider components registered via
|
|
234
|
+
* `Pilotiq.layoutProvider(C)` / `Pilotiq.layoutProviders([…])`. Plugins
|
|
235
|
+
* register React providers (e.g. an AI chat queue context, a tenant
|
|
236
|
+
* theme switcher) that wrap the panel's `<AppShell>` children — so
|
|
237
|
+
* the providers are in scope for every page in the panel, not just
|
|
238
|
+
* specific component slots. Order matters: the first registered
|
|
239
|
+
* provider sits closest to the root (outermost wrap); the last sits
|
|
240
|
+
* closest to the page tree (innermost wrap).
|
|
241
|
+
*/
|
|
242
|
+
layoutProviders?: LayoutProviderComponent[]
|
|
243
|
+
/**
|
|
244
|
+
* AI suggestion mode — controls what happens when an AI agent calls a
|
|
245
|
+
* write tool against a form field.
|
|
246
|
+
*
|
|
247
|
+
* - `'auto'` (default): the write applies immediately to the form state.
|
|
248
|
+
* Existing behavior — agents take effect as soon as the tool returns.
|
|
249
|
+
* - `'review'`: the write is staged as a `PendingSuggestion` and the
|
|
250
|
+
* field shows an inline diff (text fields) or current → suggested
|
|
251
|
+
* comparison (other types) with Approve / Reject buttons. Approve
|
|
252
|
+
* runs the field's registered applier; Reject discards.
|
|
253
|
+
*
|
|
254
|
+
* VS Code-style review flow. Plan: `docs/plans/ai-review-mode.md`.
|
|
255
|
+
*/
|
|
256
|
+
aiSuggestionsMode?: 'auto' | 'review'
|
|
231
257
|
/** @internal Runtime theme overrides from DB. */
|
|
232
258
|
_themeOverrides?: Partial<ThemeConfig>
|
|
233
259
|
}
|
|
234
260
|
|
|
261
|
+
/**
|
|
262
|
+
* Shape a layout-provider component must implement. Receives the
|
|
263
|
+
* standard layout context (`basePath`, panel children) so providers can
|
|
264
|
+
* thread panel-aware values into their context — e.g. an AI chat
|
|
265
|
+
* provider needs `basePath` to know where to POST chat requests.
|
|
266
|
+
*/
|
|
267
|
+
export type LayoutProviderComponent = React.ComponentType<{
|
|
268
|
+
children: React.ReactNode
|
|
269
|
+
basePath?: string
|
|
270
|
+
}>
|
|
271
|
+
|
|
235
272
|
export class Pilotiq {
|
|
236
273
|
private config: PilotiqConfig
|
|
237
274
|
private installedPlugins: PilotiqPlugin[] = []
|
|
@@ -688,6 +725,78 @@ export class Pilotiq {
|
|
|
688
725
|
return this.config.rightPanels ?? []
|
|
689
726
|
}
|
|
690
727
|
|
|
728
|
+
/**
|
|
729
|
+
* Register a component that wraps the panel's `<AppShell>` children at
|
|
730
|
+
* the layout root. Plugins use this to mount React providers (AI chat
|
|
731
|
+
* queue context, tenant theme switcher, feature-flag overlay, …) so
|
|
732
|
+
* they're in scope for every page in the panel without consumers
|
|
733
|
+
* having to manually wrap their `+Layout.tsx`.
|
|
734
|
+
*
|
|
735
|
+
* Adapter packages typically call this from inside their plugin's
|
|
736
|
+
* `register(panel)` so consumers wire everything via `.plugins([…])`.
|
|
737
|
+
*
|
|
738
|
+
* Provider components receive `{ children, basePath? }` props.
|
|
739
|
+
* Registration order is preservation order: the first registered
|
|
740
|
+
* provider sits OUTERMOST (closest to the layout root); the last sits
|
|
741
|
+
* INNERMOST (closest to the page tree). When two providers depend on
|
|
742
|
+
* each other, register the producer first.
|
|
743
|
+
*
|
|
744
|
+
* @example
|
|
745
|
+
* ```ts
|
|
746
|
+
* // In a plugin's register(panel):
|
|
747
|
+
* panel.layoutProvider(({ children, basePath }) =>
|
|
748
|
+
* <AiUiProvider panelPath={basePath}>{children}</AiUiProvider>
|
|
749
|
+
* )
|
|
750
|
+
* ```
|
|
751
|
+
*
|
|
752
|
+
* @throws when `provider` isn't a function (component).
|
|
753
|
+
*/
|
|
754
|
+
layoutProvider(provider: LayoutProviderComponent): this {
|
|
755
|
+
if (typeof provider !== 'function') {
|
|
756
|
+
throw new Error(
|
|
757
|
+
`[Pilotiq] layoutProvider: expected a React component, got ${typeof provider}.`,
|
|
758
|
+
)
|
|
759
|
+
}
|
|
760
|
+
const existing = this.config.layoutProviders ?? []
|
|
761
|
+
this.config.layoutProviders = [...existing, provider]
|
|
762
|
+
return this
|
|
763
|
+
}
|
|
764
|
+
|
|
765
|
+
/**
|
|
766
|
+
* Bulk variant of {@link layoutProvider}. Registers each provider in
|
|
767
|
+
* array order.
|
|
768
|
+
*/
|
|
769
|
+
layoutProviders(list: LayoutProviderComponent[]): this {
|
|
770
|
+
for (const c of list) this.layoutProvider(c)
|
|
771
|
+
return this
|
|
772
|
+
}
|
|
773
|
+
|
|
774
|
+
/** @internal — read by the Vite plugin's `_components.ts` emitter. */
|
|
775
|
+
getLayoutProviders(): readonly LayoutProviderComponent[] {
|
|
776
|
+
return this.config.layoutProviders ?? []
|
|
777
|
+
}
|
|
778
|
+
|
|
779
|
+
/**
|
|
780
|
+
* Set the panel-wide AI suggestion mode.
|
|
781
|
+
*
|
|
782
|
+
* - `'auto'` (default) — agent writes apply immediately.
|
|
783
|
+
* - `'review'` — agent writes stage as `PendingSuggestion`s; the user
|
|
784
|
+
* approves/rejects via inline diff (text) or value-comparison panel
|
|
785
|
+
* (non-text). Reuses the Phase 8.5 applier registry on approve.
|
|
786
|
+
*
|
|
787
|
+
* Plan: `docs/plans/ai-review-mode.md`.
|
|
788
|
+
*/
|
|
789
|
+
aiSuggestionsMode(mode: 'auto' | 'review'): this {
|
|
790
|
+
this.config.aiSuggestionsMode = mode
|
|
791
|
+
return this
|
|
792
|
+
}
|
|
793
|
+
|
|
794
|
+
/** @internal — read by `panelInfo()` and stamped onto the wire shape so
|
|
795
|
+
* the AI client tool knows which branch (apply vs queue) to take. */
|
|
796
|
+
getAiSuggestionsMode(): 'auto' | 'review' {
|
|
797
|
+
return this.config.aiSuggestionsMode ?? 'auto'
|
|
798
|
+
}
|
|
799
|
+
|
|
691
800
|
/** @internal */
|
|
692
801
|
enableThemeEditor(): void {
|
|
693
802
|
this.config.themeEditor = true
|
package/src/Resource.ts
CHANGED
|
@@ -16,6 +16,25 @@ export interface ResourcePages {
|
|
|
16
16
|
create?: typeof Page
|
|
17
17
|
edit?: typeof Page
|
|
18
18
|
view?: typeof Page
|
|
19
|
+
/**
|
|
20
|
+
* Record-scoped custom sub-pages. Each entry is a `Page` subclass
|
|
21
|
+
* mounted at `${resourceBase}/${slug}/:id/${subPageSlug}`. Tabs show
|
|
22
|
+
* up in the `RelationTabs` sub-nav strip between the `__edit` tab
|
|
23
|
+
* and the relation-manager tabs.
|
|
24
|
+
*
|
|
25
|
+
* Sub-page slugs are validated at panel boot:
|
|
26
|
+
* - Must match `[A-Za-z0-9_-]+`.
|
|
27
|
+
* - Must not collide with reserved tokens (`edit`, `delete`,
|
|
28
|
+
* `restore`, `force-delete`, `_form`, `_action`, `_search`,
|
|
29
|
+
* `_uploads`, `_attach`, `_detach`, `_bulk-detach`, `create`).
|
|
30
|
+
* - Must not collide with any `RelationManager.relationship` on
|
|
31
|
+
* the same resource.
|
|
32
|
+
*
|
|
33
|
+
* Each sub-page receives the loaded record in `ctx.record` and runs
|
|
34
|
+
* its own `Page.canAccess(user, record)` gate after the parent
|
|
35
|
+
* resource's `canAccess` + `canView` predicates have passed.
|
|
36
|
+
*/
|
|
37
|
+
record?: Record<string, typeof Page>
|
|
19
38
|
}
|
|
20
39
|
|
|
21
40
|
/** Pill color tokens for `navigationBadgeColor`. Matches the shared color
|
|
@@ -406,6 +425,16 @@ export abstract class Resource {
|
|
|
406
425
|
return { ...defaults, ...overrides }
|
|
407
426
|
}
|
|
408
427
|
|
|
428
|
+
/**
|
|
429
|
+
* Sugar over `resolvePages().record ?? {}` for callers that only need
|
|
430
|
+
* the record-scoped sub-pages (route registration, tab insertion, boot
|
|
431
|
+
* validation). Returns an empty object when no record sub-pages are
|
|
432
|
+
* declared so callers can iterate without a defensive null check.
|
|
433
|
+
*/
|
|
434
|
+
static getRecordPages(): Record<string, typeof Page> {
|
|
435
|
+
return this.resolvePages().record ?? {}
|
|
436
|
+
}
|
|
437
|
+
|
|
409
438
|
/**
|
|
410
439
|
* Plan #11 — relation managers mounted under this resource's edit /
|
|
411
440
|
* view pages. Each entry is a `RelationManager` subclass; routes are
|
|
@@ -157,7 +157,7 @@ function buildTableCtxFromQuery(
|
|
|
157
157
|
|
|
158
158
|
const tableFilters = table.getFilters?.() ?? []
|
|
159
159
|
const filterValues: Record<string, string> = {}
|
|
160
|
-
const reserved = new Set(['search', 'sort', 'page', 'perPage', 'group'])
|
|
160
|
+
const reserved = new Set(['search', 'sort', 'page', 'perPage', 'group', 'groupKey'])
|
|
161
161
|
for (const f of tableFilters) {
|
|
162
162
|
const name = f.name as string
|
|
163
163
|
if (reserved.has(name)) continue
|
|
@@ -6,10 +6,25 @@ export type SelectColumnOptionsInput =
|
|
|
6
6
|
| Record<string, string>
|
|
7
7
|
| Array<ColumnSelectOption>
|
|
8
8
|
|
|
9
|
+
/** Per-row resolver — runs once per visible row at table-data time and
|
|
10
|
+
* stamps the resolved options on the row under `_cellSelectOptions[col]`
|
|
11
|
+
* so the inline `<select>` shows row-specific values (e.g. assignee
|
|
12
|
+
* candidates filtered by record team). May return a Promise. */
|
|
13
|
+
export type SelectColumnOptionsResolver =
|
|
14
|
+
(record: unknown) => SelectColumnOptionsInput | Promise<SelectColumnOptionsInput>
|
|
15
|
+
|
|
16
|
+
/** Normalize either input shape to the canonical array form. Shared
|
|
17
|
+
* between the static `.options()` setter and the per-row resolver path
|
|
18
|
+
* inside `dispatchTable.ts`. */
|
|
19
|
+
export function normalizeSelectOptions(opts: SelectColumnOptionsInput): ColumnSelectOption[] {
|
|
20
|
+
return Array.isArray(opts)
|
|
21
|
+
? opts.map(o => ({ value: o.value, label: o.label }))
|
|
22
|
+
: Object.entries(opts).map(([value, label]) => ({ value, label }))
|
|
23
|
+
}
|
|
24
|
+
|
|
9
25
|
/**
|
|
10
26
|
* Inline-edit select. Renders a `<select>` in the cell; each change
|
|
11
|
-
* fires an immediate PATCH.
|
|
12
|
-
* resolvers are deferred until a consumer hits the case.
|
|
27
|
+
* fires an immediate PATCH.
|
|
13
28
|
*
|
|
14
29
|
* SelectColumn.make('status')
|
|
15
30
|
* .options({ draft: 'Draft', published: 'Published', archived: 'Archived' })
|
|
@@ -17,9 +32,24 @@ export type SelectColumnOptionsInput =
|
|
|
17
32
|
*
|
|
18
33
|
* Pair with `Column.disabled(record => …)` for per-row gating
|
|
19
34
|
* (e.g. forbid changing status once archived).
|
|
35
|
+
*
|
|
36
|
+
* Per-row options resolve via `.options(record => …)`:
|
|
37
|
+
*
|
|
38
|
+
* SelectColumn.make('assigneeId')
|
|
39
|
+
* .options(async (row) => {
|
|
40
|
+
* const team = await Team.find(row.teamId)
|
|
41
|
+
* return team.members.map(m => ({ value: String(m.id), label: m.name }))
|
|
42
|
+
* })
|
|
43
|
+
*
|
|
44
|
+
* The resolver runs once per visible row in `loadTableRecords` and
|
|
45
|
+
* stamps the resolved option list on `row._cellSelectOptions[col.name]`.
|
|
46
|
+
* Failed resolvers stay silent — the cell falls back to whatever was
|
|
47
|
+
* passed as a static `.options(...)` (or an empty list) so a single bad
|
|
48
|
+
* row doesn't break the whole table.
|
|
20
49
|
*/
|
|
21
50
|
export class SelectColumn extends Column {
|
|
22
51
|
protected _options: ColumnSelectOption[] = []
|
|
52
|
+
protected _optionsResolver?: SelectColumnOptionsResolver
|
|
23
53
|
protected _nullable = false
|
|
24
54
|
protected _selectablePlaceholder = true
|
|
25
55
|
|
|
@@ -29,13 +59,18 @@ export class SelectColumn extends Column {
|
|
|
29
59
|
return c
|
|
30
60
|
}
|
|
31
61
|
|
|
32
|
-
/** Static options
|
|
33
|
-
*
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
62
|
+
/** Static options OR a per-row resolver. Function form receives the
|
|
63
|
+
* raw record and may return a Promise — runs once per row in
|
|
64
|
+
* `loadTableRecords`. Re-calling replaces the previous set; mixing
|
|
65
|
+
* static + resolver replaces both because the renderer reads the
|
|
66
|
+
* per-row stamp first and falls back to the static list. */
|
|
67
|
+
options(opts: SelectColumnOptionsInput | SelectColumnOptionsResolver): this {
|
|
68
|
+
if (typeof opts === 'function') {
|
|
69
|
+
this._optionsResolver = opts
|
|
70
|
+
this._options = []
|
|
37
71
|
} else {
|
|
38
|
-
this._options =
|
|
72
|
+
this._options = normalizeSelectOptions(opts)
|
|
73
|
+
delete this._optionsResolver
|
|
39
74
|
}
|
|
40
75
|
return this
|
|
41
76
|
}
|
|
@@ -51,8 +86,11 @@ export class SelectColumn extends Column {
|
|
|
51
86
|
selectablePlaceholder(v = true): this { this._selectablePlaceholder = v; return this }
|
|
52
87
|
|
|
53
88
|
getOptions(): ReadonlyArray<ColumnSelectOption> { return this._options }
|
|
89
|
+
getOptionsResolver(): SelectColumnOptionsResolver | undefined { return this._optionsResolver }
|
|
54
90
|
|
|
55
91
|
protected override serializeExtras(meta: ColumnMeta): void {
|
|
92
|
+
// The static list still serializes when set so the renderer has a
|
|
93
|
+
// fallback if the per-row resolver throws or stamps no options.
|
|
56
94
|
if (this._options.length > 0) meta.selectOptions = this._options.slice()
|
|
57
95
|
if (this._nullable) meta.selectNullable = true
|
|
58
96
|
if (!this._selectablePlaceholder) meta.selectablePlaceholder = false
|
|
@@ -190,4 +190,49 @@ describe('SelectColumn', () => {
|
|
|
190
190
|
const meta = SelectColumn.make('status').options({ a: 'A' }).toMeta()
|
|
191
191
|
assert.equal(meta.selectablePlaceholder, undefined)
|
|
192
192
|
})
|
|
193
|
+
|
|
194
|
+
describe('options(record => …) per-row resolver', () => {
|
|
195
|
+
it('stores the resolver and clears any prior static options', () => {
|
|
196
|
+
const col = SelectColumn.make('assigneeId')
|
|
197
|
+
.options({ a: 'Alice', b: 'Bob' })
|
|
198
|
+
.options(_row => ({ x: 'X' }))
|
|
199
|
+
assert.equal(col.getOptions().length, 0)
|
|
200
|
+
assert.equal(typeof col.getOptionsResolver(), 'function')
|
|
201
|
+
})
|
|
202
|
+
|
|
203
|
+
it('switching back to a static list clears the resolver', () => {
|
|
204
|
+
const col = SelectColumn.make('assigneeId')
|
|
205
|
+
.options(_row => ({ x: 'X' }))
|
|
206
|
+
.options({ a: 'Alice' })
|
|
207
|
+
assert.equal(col.getOptionsResolver(), undefined)
|
|
208
|
+
assert.deepEqual(col.getOptions().slice(), [{ value: 'a', label: 'Alice' }])
|
|
209
|
+
})
|
|
210
|
+
|
|
211
|
+
it('static options still serialize when only static is set', () => {
|
|
212
|
+
const meta = SelectColumn.make('status').options({ a: 'A' }).toMeta()
|
|
213
|
+
assert.deepEqual(meta.selectOptions, [{ value: 'a', label: 'A' }])
|
|
214
|
+
})
|
|
215
|
+
|
|
216
|
+
it('resolver-only column omits selectOptions from meta (per-row stamp wins)', () => {
|
|
217
|
+
const meta = SelectColumn.make('assigneeId').options(_row => ({ x: 'X' })).toMeta()
|
|
218
|
+
assert.equal(meta.selectOptions, undefined)
|
|
219
|
+
})
|
|
220
|
+
|
|
221
|
+
it('mixing a static fallback with a resolver — resolver wins, static stays in meta', () => {
|
|
222
|
+
const col = SelectColumn.make('assigneeId')
|
|
223
|
+
.options({ unknown: 'Unassigned' })
|
|
224
|
+
// Re-assign as resolver — resolver wipes the static list per the
|
|
225
|
+
// "re-calling replaces the previous set" contract. To keep the
|
|
226
|
+
// static fallback, set the resolver first then add static.
|
|
227
|
+
col.options(_row => ({ x: 'X' }))
|
|
228
|
+
assert.equal(col.getOptions().length, 0)
|
|
229
|
+
|
|
230
|
+
// The other ordering: static after resolver clears the resolver.
|
|
231
|
+
const col2 = SelectColumn.make('assigneeId')
|
|
232
|
+
.options(_row => ({ x: 'X' }))
|
|
233
|
+
.options({ unknown: 'Unassigned' })
|
|
234
|
+
assert.equal(col2.getOptionsResolver(), undefined)
|
|
235
|
+
assert.deepEqual(col2.getOptions().slice(), [{ value: 'unknown', label: 'Unassigned' }])
|
|
236
|
+
})
|
|
237
|
+
})
|
|
193
238
|
})
|
package/src/defaultPages.ts
CHANGED
|
@@ -610,5 +610,8 @@ export function defaultPages(R: ResourceClass): Required<ResourcePages> {
|
|
|
610
610
|
create: defaultCreatePage(R),
|
|
611
611
|
edit: defaultEditPage(R),
|
|
612
612
|
view: defaultViewPage(R),
|
|
613
|
+
// Record sub-pages have no framework defaults — users register them
|
|
614
|
+
// explicitly via `static pages() { return { record: { … } } }`.
|
|
615
|
+
record: {},
|
|
613
616
|
}
|
|
614
617
|
}
|
package/src/elements/Form.ts
CHANGED
|
@@ -147,6 +147,15 @@ export class Form<R = unknown> extends Element {
|
|
|
147
147
|
private _values?: Record<string, unknown>
|
|
148
148
|
private _errors?: ValidationErrors
|
|
149
149
|
|
|
150
|
+
/**
|
|
151
|
+
* Cascading `inlineLabel` default for every descendant `Field`. Read
|
|
152
|
+
* by the resolver in `deriveChildContext` and pushed down via
|
|
153
|
+
* `RenderContext.inlineLabelDefault`. Per-field `Field.inlineLabel(...)`
|
|
154
|
+
* overrides; nested `Section.inlineLabel(...)` overrides for its
|
|
155
|
+
* subtree.
|
|
156
|
+
*/
|
|
157
|
+
private _inlineLabel?: boolean
|
|
158
|
+
|
|
150
159
|
// Plan #5 — partial-resolve endpoint. Stamped by the route handler at
|
|
151
160
|
// render time when any descendant field is `live()`; emits as
|
|
152
161
|
// (Plan #8) `wizardUrl` for step validation endpoint. Stamped only when
|
|
@@ -176,6 +185,16 @@ export class Form<R = unknown> extends Element {
|
|
|
176
185
|
method(m: FormMethod): this { this._method = m; return this }
|
|
177
186
|
action(url: string): this { this._action = url; return this }
|
|
178
187
|
|
|
188
|
+
/**
|
|
189
|
+
* Cascade `inlineLabel` to every descendant `Field` whose own
|
|
190
|
+
* `.inlineLabel(...)` hasn't been called. Pass `false` explicitly to
|
|
191
|
+
* cascade label-above when a parent (rare) had set it. Read by the
|
|
192
|
+
* resolver and pushed down via `RenderContext.inlineLabelDefault`.
|
|
193
|
+
*/
|
|
194
|
+
inlineLabel(v = true): this { this._inlineLabel = v; return this }
|
|
195
|
+
/** Internal — read by `resolveSchema.deriveChildContext`. */
|
|
196
|
+
getInlineLabel(): boolean | undefined { return this._inlineLabel }
|
|
197
|
+
|
|
179
198
|
// ─── Lifecycle setters ────────────────────────────────
|
|
180
199
|
|
|
181
200
|
/** Form-level validators run after field-level ones. Useful for cross-field rules. */
|