blixify-ui-web-mcp 0.1.31 → 0.1.33
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.
|
@@ -431,6 +431,8 @@ Set `organise.viewId="calendar"` and add an `extendedTabs` entry with `calendarS
|
|
|
431
431
|
/>
|
|
432
432
|
```
|
|
433
433
|
|
|
434
|
+
A calendar tab has no view settings panel (it has no columns, sort or pages). Rows without a start date are skipped, so a union of collections can mix dated and undated rows. Under `bareNewDTW`, tapping an event calls `organise.handleNavigate("read", id)` unless `bareSettings.bareCalendarOnClickEvent` is set — that hook gets the event and its unformatted row (`id` in place of `_id`), which on a union carries the `source` needed to open the right collection. `calendarSettings.viewSwitch` takes any of `"month"`, `"week"`, `"day"` and `"agenda"`; the day view pages by day and lists events outside 07:00–20:00 in an Other row. `bareSettings.bareCalendarMapEvents(events)` reshapes the events after each fetch (each carries its row in `meta.rawData`) — e.g. to expand a repeating booking into one event per day or to colour events by a derived status.
|
|
435
|
+
|
|
434
436
|
---
|
|
435
437
|
|
|
436
438
|
### Grid view
|
|
@@ -988,6 +990,7 @@ Which field types can be edited from the list table, and how. Types not listed u
|
|
|
988
990
|
| `hideNewTabs` | `boolean` | Hides the new-tab creation button |
|
|
989
991
|
| `splitView` | `boolean` | Renders a split list/detail layout in read mode |
|
|
990
992
|
| `listObjectTableView` | `boolean` | Shows list objects in table view during read and update |
|
|
993
|
+
| `listFlexFixedRows` | `boolean` | With `listFlexTable`, the rows are a fixed set — the user edits cells but cannot add or delete rows |
|
|
991
994
|
| `disableMulti` | `boolean` | Disables multi-row selection |
|
|
992
995
|
| `disableSelectFullData` | `{ table?: boolean; list?: boolean }` | Disables "select all pages" for table and/or list views |
|
|
993
996
|
| `disabledOnEnter` | `boolean` | Prevents Enter key from submitting forms |
|
|
@@ -1122,6 +1125,8 @@ Injects custom React components and callbacks into the list, read, and update vi
|
|
|
1122
1125
|
| `bareListMobileFloatingSearch` | `boolean` | Floating search bar at the bottom on phones; the list reserves room under its last row for it |
|
|
1123
1126
|
| `bareMobileTooltip` | `MobileViewTooltip` | Passed to NewTable as `mobileTooltip` when `bareNewDTW` and `bareListMobileView` are on: a Tag, trailing text and summary line on the collapsed row, plus a hover card. See the NewTable README → Mobile tooltip |
|
|
1124
1127
|
| `bareListMobileTooltip` | `NewListMobileTooltip` | Passed to NewList when `bareNewDTW` is on: `imageKey`, `summaryKeys`, `tagKeys` and `tagColors` for the hover card on list items |
|
|
1128
|
+
| `bareCalendarOnClickEvent` | `(event: NewCalendarEvent, rawData?: any) => void` | Replaces the calendar's open-in-read-view on tap when `bareNewDTW` is on; `rawData` is the tapped event's unformatted row. See Calendar view |
|
|
1129
|
+
| `bareCalendarMapEvents` | `(events: NewCalendarEvent[]) => NewCalendarEvent[]` | Reshapes the `bareNewDTW` calendar's events after each fetch — expand one row into several, or restyle; each event's row is in `meta.rawData`. See Calendar view |
|
|
1125
1130
|
| `bareListMaxSelectedCount` | `number` | Caps how many rows the checkbox column may select at once |
|
|
1126
1131
|
| `bareUpdateHandleData` | `(data: any, changedAttributeIds?: string[], rawData?: any) => void` | Called on every form field change with the current data and changed field IDs. `rawData` is the stored doc as loaded (undefined for a new record) |
|
|
1127
1132
|
| `bareUpdateHandlePreComplete` | `(data: any, rawData?: any) => Promise<boolean>` | Called before save — return `false` to cancel. `rawData` is the stored doc as loaded (undefined for a new record) |
|
|
@@ -100,6 +100,7 @@ const columns: DataStructure[] = [
|
|
|
100
100
|
| `showGrandTotal` | `boolean` | `false` | Show a grand total row summing all numeric columns across all categories |
|
|
101
101
|
| `hideCategory` | `boolean` | `false` | Hide category grouping and render a flat list of rows |
|
|
102
102
|
| `maxRows` | `number` | — | Maximum rows allowed per category. The add-row button is hidden once the limit is reached |
|
|
103
|
+
| `fixedRows` | `boolean` | `false` | The rows are a fixed set — hides every add-row and delete-row control; editable cells stay editable |
|
|
103
104
|
| `defaultTitleTemplate` | `string` | — | Default title string pre-filled when a new row is added |
|
|
104
105
|
| `flexMathQueries` | `FlexMathQuery[]` | — | Validation rules evaluated on form submit. See FlexMathQuery below |
|
|
105
106
|
| `darkMode` | `boolean` | `false` | Enable dark mode styling |
|
|
@@ -269,10 +269,51 @@ const flexMathQueries: FlexMathQuery[] = [
|
|
|
269
269
|
},
|
|
270
270
|
];
|
|
271
271
|
|
|
272
|
+
// ─── Fixed rows test data ────────────────────────────────────────────────────
|
|
273
|
+
// A checklist whose rows come from elsewhere — the user only marks each line.
|
|
274
|
+
const fixedRowColumns: DataStructure[] = [
|
|
275
|
+
{ id: "itemName", name: "Item", type: "string", disabled: true },
|
|
276
|
+
{ id: "quantity", name: "Qty", type: "number", disabled: true },
|
|
277
|
+
{
|
|
278
|
+
id: "received",
|
|
279
|
+
name: "Received",
|
|
280
|
+
type: "list",
|
|
281
|
+
listSelection: ["Yes", "No"],
|
|
282
|
+
},
|
|
283
|
+
];
|
|
284
|
+
|
|
285
|
+
const fixedRowData: FlexTableItem[] = [
|
|
286
|
+
{
|
|
287
|
+
id: "line-1",
|
|
288
|
+
title: "",
|
|
289
|
+
category: "Order Lines",
|
|
290
|
+
itemName: "Mounting Rail 3M",
|
|
291
|
+
quantity: 12,
|
|
292
|
+
received: "No",
|
|
293
|
+
},
|
|
294
|
+
{
|
|
295
|
+
id: "line-2",
|
|
296
|
+
title: "",
|
|
297
|
+
category: "Order Lines",
|
|
298
|
+
itemName: "End Clamp",
|
|
299
|
+
quantity: 24,
|
|
300
|
+
received: "No",
|
|
301
|
+
},
|
|
302
|
+
{
|
|
303
|
+
id: "line-3",
|
|
304
|
+
title: "",
|
|
305
|
+
category: "Order Lines",
|
|
306
|
+
itemName: "Junction Box",
|
|
307
|
+
quantity: 1,
|
|
308
|
+
received: "No",
|
|
309
|
+
},
|
|
310
|
+
];
|
|
311
|
+
|
|
272
312
|
export const FlexTable = () => {
|
|
273
313
|
const [data, setData] = useState<FlexTableItem[]>(sampleData);
|
|
274
314
|
const [viewOnlyData] = useState<FlexTableItem[]>(sampleData);
|
|
275
315
|
const [mediaData, setMediaData] = useState<FlexTableItem[]>(sampleMediaData);
|
|
316
|
+
const [fixedData, setFixedData] = useState<FlexTableItem[]>(fixedRowData);
|
|
276
317
|
|
|
277
318
|
const formRef = useRef<any>(null);
|
|
278
319
|
const tableRef = useRef<any>(null);
|
|
@@ -295,6 +336,22 @@ export const FlexTable = () => {
|
|
|
295
336
|
</div>
|
|
296
337
|
</StorySection>
|
|
297
338
|
|
|
339
|
+
<StorySection
|
|
340
|
+
title="Fixed Rows"
|
|
341
|
+
description="fixedRows=true keeps the row set as given — no add-row, no delete-row, no Actions column — while editable cells stay editable. Item and Qty are disabled columns; Received is a Yes/No list. Through DataTemplate this is listFlexFixedRows on a listFlexTable listObject."
|
|
342
|
+
>
|
|
343
|
+
<div className="w-full">
|
|
344
|
+
<FlexTableImpl
|
|
345
|
+
label="Order Lines"
|
|
346
|
+
data={fixedData}
|
|
347
|
+
columns={fixedRowColumns}
|
|
348
|
+
fixedRows={true}
|
|
349
|
+
showTotal={false}
|
|
350
|
+
onChangeData={setFixedData}
|
|
351
|
+
/>
|
|
352
|
+
</div>
|
|
353
|
+
</StorySection>
|
|
354
|
+
|
|
298
355
|
<StorySection
|
|
299
356
|
title="With Grand Total"
|
|
300
357
|
description="showGrandTotal=true adds a grand total row summing all numeric columns across all categories."
|
|
@@ -8,7 +8,7 @@ Calendar surface with six variants. Mobile default should be **weekStrip + dayTi
|
|
|
8
8
|
|---|---|---|
|
|
9
9
|
| `miniMonth` | Compact month grid with event dots | Desktop sidebar |
|
|
10
10
|
| `weekStrip` | Horizontal scrollable week, swipe L/R | Mobile default — top |
|
|
11
|
-
| `dayTimeline` | Hour-by-hour vertical for selected day | Mobile default — bottom |
|
|
11
|
+
| `dayTimeline` | Hour-by-hour vertical for selected day, 07:00–20:00; header arrows page days (`onChangeDay`) and events outside those hours sit in an Other row | Mobile default — bottom |
|
|
12
12
|
| `fullMonth` | Full-width month grid | Desktop main view |
|
|
13
13
|
| `agenda` | Linear list of upcoming events | When event count is sparse |
|
|
14
14
|
| `weekTimeGrid` | Mon-Sun column grid with timed events | Desktop weekly planner |
|