@ai-matrx/records-ui 0.81.0 → 0.83.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/CHANGELOG.md CHANGED
@@ -1,5 +1,61 @@
1
1
  # Changelog — @ai-matrx/records-ui
2
2
 
3
+ ## 0.83.0
4
+
5
+ **Four visibility lanes a filter can read, and the store's own choice lists stop sitting
6
+ among a person's tables.** (lane HUB-FIX, VERIFIER-15.)
7
+
8
+ * New `VISIBILITY_LANES` (`mine`, `organization`, `community`, `world`),
9
+ `VISIBILITY_LANE_TITLE` and `visibilityLaneFor(table)`: who can SEE a table, from its
10
+ own `visibility` — personal → Mine, internal → My organization, link → Community,
11
+ public → World. A kernel table, the app's bookkeeping and a store-kept choice list
12
+ answer `null`: nobody chose a visibility for them. `TABLE_LANES` (the table list's
13
+ SECTIONS: who MADE a table) is unchanged.
14
+ * `laneFor` puts a table whose record carries `kept_by_the_app: true` in the `app` lane.
15
+ On Rincon Plumbing Co that moves 27 per-field "Crew choices" / "Status choices" tables
16
+ out of My organization, where the hub above already counted them as the app's.
17
+ * New export `keptByTheApp(table)`.
18
+ * Test: `src/visibility-lanes.test.tsx` (4 cases).
19
+
20
+ **Consumer action (matrx-frontend):** the organization hub's lane strip
21
+ (`features/unified-data/hub/OrganizationHub.tsx`) renders `VISIBILITY_LANES` with
22
+ `VISIBILITY_LANE_TITLE`, and `features/unified-data/hub/capabilities.ts` decides an item's
23
+ lane with `visibilityLaneFor` (dropping its local `keptByTheApp`).
24
+
25
+ ## 0.82.0
26
+
27
+ **A link can open a table's Forms, Notifications, Portals or Share — and the thing inside
28
+ it.** (lane HUB-FIX, VERIFIER-14 item 2.)
29
+
30
+ The organization hub lists every form, digest, portal and outside share an organization has,
31
+ and every one of those rows opened the table's GRID: `TablePage` could be addressed down to
32
+ its layout (`?view=`) and no further, because its rails were component state with no prop
33
+ and no spelling in the address. A person clicking "Spring drain-cleaning intake" on the hub
34
+ landed on four hundred jobs and had to find the Forms button, then the form.
35
+
36
+ * `TablePage` takes `activeRail` (the raw `?rail=` word: `forms`, `bookings`, `checklists`,
37
+ `notifications`/`digests`, `portals`, `settings`, `import`, `inbox`, `share`) and
38
+ `activeItemId` (the thing inside it). A later link moves the page, like `?view=`. A record
39
+ still outranks a rail. `share` opens the share dialog over the page.
40
+ * The rail opens ON the item: `FormsPanel` gains `activeFormId` (marked, scrolled to, and its
41
+ builder open for somebody who may build); `PortalsPanel` gains `activePortalId` (its card
42
+ open); `SubscriptionsPanel` gains `activeRuleId` (marked and scrolled to); `ShareControl`
43
+ gains `initiallyOpen`.
44
+ * NOTHING IS SILENT. A rail word this page has no rail for says `unknownRailLine`; an item a
45
+ rail does not hold says `FORM_NOT_HERE_LINE` / `PORTAL_NOT_HERE_LINE` /
46
+ `RULE_NOT_HERE_LINE` — never the first row in its place; a share link for somebody who may
47
+ not share says `SHARE_NOT_YOURS_LINE` (or the no-port reason) instead of landing on a grid.
48
+ * New exports: `railFromParam`, `unknownRailLine`, `SHARE_NOT_YOURS_LINE`, `LinkRail`,
49
+ `FORM_NOT_HERE_LINE`, `PORTAL_NOT_HERE_LINE`, `RULE_NOT_HERE_LINE`. `openingRail` takes an
50
+ optional second argument; its one-argument meaning is unchanged.
51
+ * Test: `src/rail-deep-link.test.tsx` (7 cases).
52
+
53
+ **Consumer action (matrx-frontend):** in `app/(core)/data-v2/[tableId]/page.tsx` read
54
+ `searchParams.get("rail")` and `searchParams.get("item")` and pass them as `activeRail` /
55
+ `activeItemId`; in `features/unified-data/hub/capabilities.ts` point the Forms, Digests,
56
+ Portals and Shared-outside rows at `/data-v2/<table>?rail=forms&item=<form_id>`,
57
+ `?rail=notifications&item=<rule_id>`, `?rail=portals&item=<portal_id>` and `?rail=share`.
58
+
3
59
  ## 0.81.0
4
60
 
5
61
  **The relation picker stops cutting a customer's name in half, and a grid mount stops