pict-section-recordset 1.9.6 → 1.11.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.
Files changed (40) hide show
  1. package/README.md +38 -0
  2. package/package.json +2 -2
  3. package/source/Pict-Section-RecordSet.js +1 -0
  4. package/source/providers/Column-Data-Provider.js +219 -0
  5. package/source/providers/RecordSet-RecordProvider-Base.js +64 -1
  6. package/source/providers/RecordSet-RecordProvider-MeadowEndpoints.js +92 -16
  7. package/source/services/RecordsSet-MetaController.js +23 -1
  8. package/source/templates/Pict-Template-FilterInstanceViews.js +4 -0
  9. package/source/views/RecordSet-Filters.js +140 -3
  10. package/source/views/filters/RecordSet-Filter-DistinctSelectedValueList.js +233 -0
  11. package/source/views/filters/index.js +2 -0
  12. package/source/views/list/RecordSet-List-ColumnChooser.js +345 -0
  13. package/source/views/list/RecordSet-List-RecordListEntry.js +4 -1
  14. package/source/views/list/RecordSet-List.js +390 -15
  15. package/source/views/read/RecordSet-Read.js +65 -6
  16. package/types/Pict-Section-RecordSet.d.ts +1 -0
  17. package/types/providers/Column-Data-Provider.d.ts +115 -0
  18. package/types/providers/Column-Data-Provider.d.ts.map +1 -0
  19. package/types/providers/RecordSet-DynamicRecordsetSolver.d.ts +3 -0
  20. package/types/providers/RecordSet-DynamicRecordsetSolver.d.ts.map +1 -1
  21. package/types/providers/RecordSet-RecordProvider-Base.d.ts +110 -0
  22. package/types/providers/RecordSet-RecordProvider-Base.d.ts.map +1 -1
  23. package/types/providers/RecordSet-RecordProvider-MeadowEndpoints.d.ts +51 -1
  24. package/types/providers/RecordSet-RecordProvider-MeadowEndpoints.d.ts.map +1 -1
  25. package/types/providers/RecordSet-Router.d.ts +1 -0
  26. package/types/providers/RecordSet-Router.d.ts.map +1 -1
  27. package/types/services/RecordsSet-MetaController.d.ts.map +1 -1
  28. package/types/templates/Pict-Template-FilterInstanceViews.d.ts.map +1 -1
  29. package/types/views/RecordSet-Filters.d.ts +61 -0
  30. package/types/views/RecordSet-Filters.d.ts.map +1 -1
  31. package/types/views/RecordSet-RecordBaseView.d.ts +1 -0
  32. package/types/views/RecordSet-RecordBaseView.d.ts.map +1 -1
  33. package/types/views/filters/RecordSet-Filter-EntityReference-Base.d.ts.map +1 -1
  34. package/types/views/list/RecordSet-List-ColumnChooser.d.ts +68 -0
  35. package/types/views/list/RecordSet-List-ColumnChooser.d.ts.map +1 -0
  36. package/types/views/list/RecordSet-List-RecordListEntry.d.ts.map +1 -1
  37. package/types/views/list/RecordSet-List.d.ts +167 -2
  38. package/types/views/list/RecordSet-List.d.ts.map +1 -1
  39. package/types/views/read/RecordSet-Read.d.ts +8 -0
  40. package/types/views/read/RecordSet-Read.d.ts.map +1 -1
@@ -0,0 +1,68 @@
1
+ export = viewRecordSetListColumnChooser;
2
+ declare class viewRecordSetListColumnChooser extends libPictView {
3
+ constructor(pFable: any, pOptions: any, pServiceHash: any);
4
+ _chooserRecordSet: string;
5
+ _chooserSearch: string;
6
+ /**
7
+ * Open/close the chooser popover (the trigger button's handler).
8
+ *
9
+ * Open/closed is derived from the popover's DOM class, not an instance flag — a full list
10
+ * re-render replaces the popover element (visually closed), so a flag would go stale and
11
+ * demand a double-click to reopen.
12
+ *
13
+ * @param {Event} pEvent - The DOM click event
14
+ * @param {string} pRecordSet - The record set whose columns to manage
15
+ */
16
+ toggleColumnChooser(pEvent: Event, pRecordSet: string): void;
17
+ /** Close the chooser popover. */
18
+ closeColumnChooser(): void;
19
+ /**
20
+ * Filter the chooser's column list by a search term, re-rendering only the list so the
21
+ * search input keeps focus.
22
+ * @param {string} pValue - The search term.
23
+ */
24
+ searchColumnChooser(pValue: string): void;
25
+ /**
26
+ * Flip a column's visibility (a chooser row's handler). Delegates to the list view — which
27
+ * persists the override and repaints the rows body-only — then repaints the chooser rows
28
+ * truthfully (the list view may have refused, e.g. hiding the last visible column).
29
+ * @param {string} pKey - The column key to toggle.
30
+ */
31
+ toggleColumn(pKey: string): void;
32
+ /** Clear all overrides for the record set and repaint with default visibility (footer button). */
33
+ resetColumns(): void;
34
+ /**
35
+ * (Re)build the chooser's row models into AppData from the list view's pristine column
36
+ * candidates (single source of truth) + the current overrides, honouring the search term.
37
+ */
38
+ _buildColumnChooserRows(): void;
39
+ /**
40
+ * Reflect the popover's open/closed state on its container element.
41
+ * @param {boolean} pOpen - Whether the popover should be open.
42
+ */
43
+ _paintColumnChooserOpenState(pOpen: boolean): void;
44
+ /**
45
+ * Position the (fixed) popover against the trigger button, flipping above when there's more
46
+ * room there — same approach as the filters view's add-filter popover, so no ancestor
47
+ * overflow:hidden can clip it.
48
+ *
49
+ * @param {HTMLElement} pPopover - the #PRSP_ColumnChooser_Popover element (already display:block).
50
+ */
51
+ _positionColumnChooserPopover(pPopover: HTMLElement): void;
52
+ }
53
+ declare namespace viewRecordSetListColumnChooser {
54
+ export { _DEFAULT_CONFIGURATION_List_ColumnChooser as default_configuration };
55
+ }
56
+ import libPictView = require("pict-view");
57
+ /**
58
+ * The list's column chooser: a small right-aligned "Columns" button above the table that opens a
59
+ * popover of checkbox rows — the host-curated columns first, then the entity's remaining scalar
60
+ * schema columns — letting the user show/hide columns per record set. Choices persist through the
61
+ * ColumnDataProvider and repaint body-only through the list view (the filter bar is never touched).
62
+ *
63
+ * Renders nothing unless the active record set's configuration sets RecordSetListColumnChooser: true
64
+ * (the list view only populates Record.ColumnChooserSlot when the flag is on).
65
+ */
66
+ /** @type {Record<string, any>} */
67
+ declare const _DEFAULT_CONFIGURATION_List_ColumnChooser: Record<string, any>;
68
+ //# sourceMappingURL=RecordSet-List-ColumnChooser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RecordSet-List-ColumnChooser.d.ts","sourceRoot":"","sources":["../../../source/views/list/RecordSet-List-ColumnChooser.js"],"names":[],"mappings":";AAwJA;IAEC,2DAOC;IAFA,0BAA6B;IAC7B,uBAAwB;IAGzB;;;;;;;;;OASG;IACH,4BAHW,KAAK,cACL,MAAM,QAehB;IAED,iCAAiC;IACjC,2BAGC;IAED;;;;OAIG;IACH,4BAFW,MAAM,QAOhB;IAED;;;;;OAKG;IACH,mBAFW,MAAM,QAoBhB;IAED,kGAAkG;IAClG,qBAUC;IAED;;;OAGG;IACH,gCA+BC;IAED;;;OAGG;IACH,oCAFW,OAAO,QAcjB;IAED;;;;;;OAMG;IACH,wCAFW,WAAW,QAkCrB;CACD;;;;;AAlVD;;;;;;;;GAQG;AAEH,kCAAkC;AAClC,yDADW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CA0I1B"}
@@ -1 +1 @@
1
- {"version":3,"file":"RecordSet-List-RecordListEntry.d.ts","sourceRoot":"","sources":["../../../source/views/list/RecordSet-List-RecordListEntry.js"],"names":[],"mappings":";AA6GA;IAEC,2DAIC;CACD;;;;;AAlHD,kCAAkC;AAClC,2DADW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAyG1B"}
1
+ {"version":3,"file":"RecordSet-List-RecordListEntry.d.ts","sourceRoot":"","sources":["../../../source/views/list/RecordSet-List-RecordListEntry.js"],"names":[],"mappings":";AAoKA;IAEC,2DAIC;CACD;;;;;AAzKD,kCAAkC;AAClC,2DADW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAgK1B"}
@@ -8,11 +8,118 @@ declare class viewRecordSetList extends libPictRecordSetRecordView {
8
8
  recordListHeader: any;
9
9
  recordListEntry: any;
10
10
  paginationBottom: any;
11
+ columnChooser: any;
12
+ };
13
+ _renderedListIdentity: string;
14
+ _lastRecordListData: {
15
+ Title: any;
16
+ RecordSet: any;
17
+ RecordSetConfiguration: Record<string, any>;
18
+ RenderDestination: any;
19
+ FilterString: string;
20
+ Records: {
21
+ Records: any[];
22
+ };
23
+ TotalRecordCount: {
24
+ Count: number;
25
+ };
26
+ Offset: number;
27
+ PageSize: number;
28
+ } | {
29
+ Title: any;
30
+ RecordSet: any;
31
+ RecordSetConfiguration: Record<string, any>;
32
+ RenderDestination: any;
33
+ FilterString: string;
34
+ Records: {
35
+ Records: any[];
36
+ };
37
+ TotalRecordCount: {
38
+ Count: number;
39
+ };
40
+ Offset: number;
41
+ PageSize: number;
42
+ };
43
+ _lastListRenderArgs: {
44
+ Method: string;
45
+ Args: (string | number | Record<string, any>)[];
46
+ } | {
47
+ Method: string;
48
+ Args: any[];
11
49
  };
12
50
  handleRecordSetListRoute(pRoutePayload: any): Promise<void>;
13
51
  onBeforeRenderList(pRecordListData: any): any;
52
+ /**
53
+ * Paint a loading shell into the list destination synchronously, before the data
54
+ * fetch, so the previous page doesn't sit silently while a slow query runs. The
55
+ * real list render (RenderMethod 'replace' into the same destination) overwrites
56
+ * it when data arrives. Opt out with RecordSetListShowLoadingShell:false.
57
+ * @param {Record<string, any>} pRecordListData
58
+ */
59
+ _projectLoadingShell(pRecordListData: Record<string, any>): void;
60
+ /**
61
+ * The schema columns that never become list columns automatically: the entity's own
62
+ * identity pair plus the audit stamps. (Hosts that want one of these in the column
63
+ * chooser declare it as a curated column, optionally with DefaultHidden.)
64
+ *
65
+ * @param {string} pEntity - The entity name (for the ID/GUID identity columns)
66
+ * @return {Array<string>} The excluded column names.
67
+ */
68
+ _getExcludedSchemaColumns(pEntity: string): Array<string>;
14
69
  dynamicallyGenerateColumns(pRecordListData: any): any;
15
70
  excludedByDefaultCells: string[];
71
+ /**
72
+ * Map column name -> Meadow column Type from the entity schema, when available. The schema
73
+ * endpoint nests the canonical column array at MeadowSchema.MeadowSchema.Schema (with a
74
+ * legacy flat MeadowSchema.Schema fallback). Returns null when neither is present (e.g.
75
+ * non-Meadow providers) so callers can skip type-based exclusions.
76
+ *
77
+ * @param {Record<string, any>} pRecordSchema - The schema from getRecordSchema()
78
+ * @return {Record<string, string>|null} Column name -> Type map, or null.
79
+ */
80
+ _getMeadowColumnTypes(pRecordSchema: Record<string, any>): Record<string, string> | null;
81
+ /**
82
+ * Whether a column candidate is effectively visible: an explicit user override wins,
83
+ * otherwise the candidate's default (visible unless DefaultHidden).
84
+ *
85
+ * @param {Record<string, any>} pCandidate - A ColumnCandidates entry
86
+ * @param {Record<string, boolean>} pOverrides - The per-recordset override map
87
+ * @return {boolean}
88
+ */
89
+ _effectiveColumnVisibility(pCandidate: Record<string, any>, pOverrides: Record<string, boolean>): boolean;
90
+ /**
91
+ * Compute the visible TableCells for a paint from the pristine candidate list + the user's
92
+ * current overrides. Cells are per-paint shallow copies so host hooks can mutate them without
93
+ * bleeding into the candidates. An override set that hides everything falls back to the
94
+ * default-visible set (a fully empty table is a confusing dead end).
95
+ *
96
+ * @param {Array<Record<string, any>>} pCandidates - The pristine ColumnCandidates
97
+ * @param {string} pRecordSet - The record set (for the override lookup)
98
+ * @return {Array<Record<string, any>>} The visible cells, in candidate order.
99
+ */
100
+ _computeVisibleTableCells(pCandidates: Array<Record<string, any>>, pRecordSet: string): Array<Record<string, any>>;
101
+ /**
102
+ * Compose the column-chooser candidate pool and reduce TableCells to the visible subset.
103
+ *
104
+ * No-op unless the recordset opts in with RecordSetListColumnChooser: true — the flag off
105
+ * leaves TableCells exactly as the existing paths computed it (including the manifest's
106
+ * shared array reference).
107
+ *
108
+ * Candidates are two tiers, in order:
109
+ * - Curated: the host-declared columns (manifest Descriptors or RecordSetListColumns),
110
+ * shallow-copied (the shared manifest TableCells entries are never mutated), default
111
+ * visible unless the column/descriptor declares DefaultHidden: true.
112
+ * - Schema: remaining scalar entity columns (identity/audit fields and blob Text/JSON
113
+ * columns excluded), default hidden, rendered via the generic ProcessCell template
114
+ * (entity-reference ID* columns resolve names exactly like dynamic columns do).
115
+ *
116
+ * The pristine candidates ride on pRecordListData.ColumnCandidates (module-owned — host
117
+ * hooks must not mutate it); TableCells becomes per-paint copies of the visible subset.
118
+ *
119
+ * @param {Record<string, any>} pRecordListData - The list data (TableCells already computed)
120
+ * @return {Record<string, any>} The same list data, candidates composed.
121
+ */
122
+ _composeColumnCandidates(pRecordListData: Record<string, any>): Record<string, any>;
16
123
  /**
17
124
  * @param {Record<string, any>} pRecordSetConfiguration
18
125
  * @param {string} pProviderHash
@@ -20,10 +127,11 @@ declare class viewRecordSetList extends libPictRecordSetRecordView {
20
127
  * @param {string} pSerializedFilterExperience
21
128
  * @param {number} pOffset
22
129
  * @param {number} pPageSize
130
+ * @param {boolean} [pBodyOnly] - When true, re-render only the rows + pagination (page change), leaving the filter view intact.
23
131
  *
24
132
  * @return {Promise<void>}
25
133
  */
26
- renderList(pRecordSetConfiguration: Record<string, any>, pProviderHash: string, pFilterString: string, pSerializedFilterExperience: string, pOffset: number, pPageSize: number): Promise<void>;
134
+ renderList(pRecordSetConfiguration: Record<string, any>, pProviderHash: string, pFilterString: string, pSerializedFilterExperience: string, pOffset: number, pPageSize: number, pBodyOnly?: boolean): Promise<void>;
27
135
  /**
28
136
  * @param {object} pManifest
29
137
  * @param {Record<string, any>} pRecordSetConfiguration
@@ -32,10 +140,67 @@ declare class viewRecordSetList extends libPictRecordSetRecordView {
32
140
  * @param {string} pSerializedFilterExperience
33
141
  * @param {number} pOffset
34
142
  * @param {number} pPageSize
143
+ * @param {boolean} [pBodyOnly] - When true, re-render only the rows + pagination (page change), leaving the filter view intact.
35
144
  *
36
145
  * @return {Promise<void>}
37
146
  */
38
- renderListFromManifest(pManifest: object, pRecordSetConfiguration: Record<string, any>, pProviderHash: string, pFilterString: string, pSerializedFilterExperience: string, pOffset: number, pPageSize: number): Promise<void>;
147
+ renderListFromManifest(pManifest: object, pRecordSetConfiguration: Record<string, any>, pProviderHash: string, pFilterString: string, pSerializedFilterExperience: string, pOffset: number, pPageSize: number, pBodyOnly?: boolean): Promise<void>;
148
+ /**
149
+ * Paint the computed record-list data into the DOM.
150
+ *
151
+ * Full render (pBodyOnly falsy): render the whole `PRSP_Renderable_List` (title, header, filters,
152
+ * pagination, rows) into the list destination — the original behavior.
153
+ *
154
+ * Body-only render (pBodyOnly true): only the page changed, so re-render just the rows and the two
155
+ * pagination strips into their stable containers, leaving the filter view (and its picker/control state)
156
+ * completely untouched. Each child is rendered with the freshly-computed record passed as an object, so
157
+ * it produces exactly what the inline `{~V:~}` render would have.
158
+ *
159
+ * @param {Record<string, any>} pRecordListData - The fully-computed list data (records, pagination, cells).
160
+ * @param {boolean} [pBodyOnly] - When true, surgically re-render only rows + pagination.
161
+ * @return {void}
162
+ */
163
+ _paintRecordList(pRecordListData: Record<string, any>, pBodyOnly?: boolean): void;
164
+ /**
165
+ * Set a column's visibility for the currently rendered list (called by the column chooser).
166
+ *
167
+ * Persists the override, then repaints the rows + pagination body-only from the data already
168
+ * in hand — except when a Lite-fetched list is showing a schema-tier column whose values were
169
+ * never fetched, in which case the same render is rerun so the provider widens the projection.
170
+ *
171
+ * @param {string} pRecordSet - The record set the column belongs to (stale-chooser guard)
172
+ * @param {string} pKey - The column key
173
+ * @param {boolean} pVisible - Whether the column should be visible
174
+ * @return {boolean} The column's resulting visibility.
175
+ */
176
+ setColumnVisibility(pRecordSet: string, pKey: string, pVisible: boolean): boolean;
177
+ /**
178
+ * Clear every column-visibility override for the currently rendered list and repaint with the
179
+ * defaults (called by the column chooser's Reset). Never needs a refetch: resetting only
180
+ * restores curated columns (always fetched) and hides schema extras.
181
+ *
182
+ * @param {string} pRecordSet - The record set to reset (stale-chooser guard)
183
+ * @return {boolean} True when the reset happened.
184
+ */
185
+ resetColumnVisibility(pRecordSet: string): boolean;
186
+ /**
187
+ * Repaint the rows + pagination (body-only) from the last composed list data, with TableCells
188
+ * recomputed from the pristine candidates + current overrides. onBeforeRenderList is re-invoked
189
+ * — it is the documented seam where hosts append custom cells, and rebuilding TableCells from
190
+ * candidates each paint means hook mutations apply exactly once per paint. (Hosts that decorate
191
+ * Records in the hook must keep that decoration idempotent; the hook already re-runs on every
192
+ * page change.) No loading shell: the data is already in hand, so the swap is immediate.
193
+ *
194
+ * @return {void}
195
+ */
196
+ _repaintWithColumnState(): void;
197
+ /**
198
+ * Rerun the last list render with the same arguments (body-only — the list shell and filters
199
+ * are already on screen). Used when a column toggle needs a refetch under Lite.
200
+ *
201
+ * @return {Promise<void>|undefined}
202
+ */
203
+ _rerunLastListRender(): Promise<void> | undefined;
39
204
  }
40
205
  declare namespace viewRecordSetList {
41
206
  export { _DEFAULT_CONFIGURATION__List as default_configuration };
@@ -1 +1 @@
1
- {"version":3,"file":"RecordSet-List.d.ts","sourceRoot":"","sources":["../../../source/views/list/RecordSet-List.js"],"names":[],"mappings":";AA4EA;IAOE;;;;;;;;MAQC;IAGF,4DAwBC;IAiBD,8CAGC;IAED,sDAqCC;IAjCA,iCAUC;IAyBF;;;;;;;;;OASG;IACH,oCATW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,iBACnB,MAAM,iBACN,MAAM,+BACN,MAAM,WACN,MAAM,aACN,MAAM,GAEL,OAAO,CAAC,IAAI,CAAC,CAgQxB;IAED;;;;;;;;;;OAUG;IACH,kCAVW,MAAM,2BACN,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,iBACnB,MAAM,iBACN,MAAM,+BACN,MAAM,WACN,MAAM,aACN,MAAM,GAEL,OAAO,CAAC,IAAI,CAAC,CA4PxB;CAwBD;;;;;AA/sBD,kCAAkC;AAClC,4CADW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CA+D1B"}
1
+ {"version":3,"file":"RecordSet-List.d.ts","sourceRoot":"","sources":["../../../source/views/list/RecordSet-List.js"],"names":[],"mappings":";AA8GA;IAOE;;;;;;;;;MASC;IAKD,8BAAiC;IAKjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAA+B;IAC/B;;;;;;MAA+B;IAGhC,4DAkCC;IAiBD,8CAGC;IAED;;;;;;OAMG;IACH,sCAFW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,QAgD7B;IAED;;;;;;;OAOG;IACH,mCAHW,MAAM,GACL,KAAK,CAAC,MAAM,CAAC,CAexB;IAED,sDA2BC;IAvBA,iCAAuE;IAyBxE;;;;;;;;OAQG;IACH,qCAHW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAClB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAC,IAAI,CAmBtC;IAED;;;;;;;OAOG;IACH,uCAJW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,cACnB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACtB,OAAO,CASlB;IAED;;;;;;;;;OASG;IACH,uCAJW,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,cAC1B,MAAM,GACL,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAiBrC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,0CAHW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAClB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CA2F9B;IAED;;;;;;;;;;OAUG;IACH,oCAVW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,iBACnB,MAAM,iBACN,MAAM,+BACN,MAAM,WACN,MAAM,aACN,MAAM,cACN,OAAO,GAEN,OAAO,CAAC,IAAI,CAAC,CAuPxB;IAED;;;;;;;;;;;OAWG;IACH,kCAXW,MAAM,2BACN,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,iBACnB,MAAM,iBACN,MAAM,+BACN,MAAM,WACN,MAAM,aACN,MAAM,cACN,OAAO,GAEN,OAAO,CAAC,IAAI,CAAC,CAqPxB;IAED;;;;;;;;;;;;;;OAcG;IACH,kCAJW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,cACnB,OAAO,GACN,IAAI,CA2Cf;IAED;;;;;;;;;;;OAWG;IACH,gCALW,MAAM,QACN,MAAM,YACN,OAAO,GACN,OAAO,CAsDlB;IAED;;;;;;;OAOG;IACH,kCAHW,MAAM,GACL,OAAO,CAiBlB;IAED;;;;;;;;;OASG;IACH,2BAFY,IAAI,CAaf;IAED;;;;;OAKG;IACH,wBAFY,OAAO,CAAC,IAAI,CAAC,GAAC,SAAS,CAUlC;CA0BD;;;;;AAlrCD,kCAAkC;AAClC,4CADW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAgG1B"}
@@ -30,6 +30,14 @@ declare class viewRecordSetRead extends libPictRecordSetRecordView {
30
30
  initializeDragListener(): void;
31
31
  onAfterRender(pRenderable: any): boolean;
32
32
  handleRecordSetReadRoute(pRoutePayload: any): Promise<boolean>;
33
+ viewingDeletedRecord: boolean;
34
+ /**
35
+ * The deleted-record read route (`/PSRS/:RecordSet/ViewDeleted/:GUIDRecord`): identical to the
36
+ * View route except the record lookup explicitly includes soft-deleted rows (a normal View of a
37
+ * deleted record finds nothing — delete tracking filters it out — and renders broken). The flag
38
+ * also rides the read data as ViewingDeletedRecord, which drives the deleted banner.
39
+ */
40
+ handleRecordSetReadDeletedRoute(pRoutePayload: any): Promise<boolean>;
33
41
  handleRecordSetEditRoute(pRoutePayload: any): Promise<boolean>;
34
42
  cancel(): Promise<void>;
35
43
  save(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"RecordSet-Read.d.ts","sourceRoot":"","sources":["../../../source/views/read/RecordSet-Read.js"],"names":[],"mappings":";AAwUA;IAOE,mBAAyB;IACzB,eAAoB;IACpB,YAAc;IACd,eAAqB;IACrB,kBAAwB;IACxB,eAAqB;IACrB,mCAAwB;IACxB,cAAoB;IACpB;;;;;;;;;;;;;;;;;MAA2B;IAC3B,UAAgB;IAGjB,+BAqCC;IAED,yCAUC;IAED,+DAiBC;IAED,+DAiBC;IASD,wBAIC;IAED,sBAMC;IAED,sBAIC;IAED;;;;;;;;OAQG;IACH,kCAFW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,QAyC7B;IAED;;;;;;OAMG;IACH,6BAHW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAClB,MAAM,CAuBjB;IAED;;;;;OAKG;IACH,wBAHW,GAAG,GACF,OAAO,CASlB;IAED;;;;OAIG;IACH,0BAOC;IAED;;;;OAIG;IACH,0BA+BC;IAzBA,4BAA8B;IA2B/B;;;OAGG;IACH,kBAFW,MAAM,QAoBhB;IAED;;;;;;OAMG;IACH,qCAFW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,QAsC7B;IAED,8CAIC;IAED,6CAcC;IAED,8BAGC;IAED,8BAGC;IAED,8BAGC;IAED,mCAGC;IAED,8FAyIC;IAED,8BAyBC;IAED;;;;;;;;;;;;;;;;;OAiFC;IAED,gJA2DC;IAED;;;;;;;;SAqLC;CAUD;;;;;AA9rCD,kCAAkC;AAClC,4CADW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CA8T1B"}
1
+ {"version":3,"file":"RecordSet-Read.d.ts","sourceRoot":"","sources":["../../../source/views/read/RecordSet-Read.js"],"names":[],"mappings":";AA0VA;IAOE,mBAAyB;IACzB,eAAoB;IACpB,YAAc;IACd,eAAqB;IACrB,kBAAwB;IACxB,eAAqB;IACrB,mCAAwB;IACxB,cAAoB;IACpB;;;;;;;;;;;;;;;;;MAA2B;IAC3B,UAAgB;IAGjB,+BAqCC;IAED,yCAUC;IAED,+DAkBC;IAVA,8BAAiC;IAYlC;;;;;OAKG;IACH,sEAkBC;IAED,+DAkBC;IAUD,wBAIC;IAED,sBAMC;IAED,sBAIC;IAED;;;;;;;;OAQG;IACH,kCAFW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,QA4C7B;IAED;;;;;;OAMG;IACH,6BAHW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAClB,MAAM,CAuBjB;IAED;;;;;OAKG;IACH,wBAHW,GAAG,GACF,OAAO,CASlB;IAED;;;;OAIG;IACH,0BAOC;IAED;;;;OAIG;IACH,0BA+BC;IAzBA,4BAA8B;IA2B/B;;;OAGG;IACH,kBAFW,MAAM,QAoBhB;IAED;;;;;;OAMG;IACH,qCAFW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,QAsC7B;IAED,8CAIC;IAED,6CAcC;IAED,8BAGC;IAED,8BAGC;IAED,8BAGC;IAED,mCAGC;IAED,8FAkJC;IAED,8BAyBC;IAED;;;;;;;;;;;;;;;;;OAiFC;IAED,gJA2DC;IAED;;;;;;;;SAqLC;CAUD;;;;;AAzvCD,kCAAkC;AAClC,4CADW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAgV1B"}