persian-data-grid 0.6.0 → 0.7.1
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 +1 -1
- package/dist/{ERPTableGroupRow-PSAPAHGL.js → ERPTableGroupRow-E5Q6FYDS.js} +4 -4
- package/dist/{ERPTableGroupRow-PSAPAHGL.js.map → ERPTableGroupRow-E5Q6FYDS.js.map} +1 -1
- package/dist/{ERPTableGroupRow-J5Z2LRC5.cjs → ERPTableGroupRow-F2IPDYL5.cjs} +9 -9
- package/dist/{ERPTableGroupRow-J5Z2LRC5.cjs.map → ERPTableGroupRow-F2IPDYL5.cjs.map} +1 -1
- package/dist/{GridPlugin-CJCaYnlw.d.ts → GridPlugin-Bewn0X51.d.ts} +1 -1
- package/dist/{GridPlugin-oxhq8AsM.d.cts → GridPlugin-DewWufGZ.d.cts} +1 -1
- package/dist/{GridSession-Bc7UIawO.d.ts → GridSession-CeIfVFck.d.ts} +142 -9
- package/dist/{GridSession-B-9lLcoB.d.cts → GridSession-CmQn2RnL.d.cts} +142 -9
- package/dist/GridSyncService-3JQLEY65.cjs +12 -0
- package/dist/{GridSyncService-TAPAHABV.cjs.map → GridSyncService-3JQLEY65.cjs.map} +1 -1
- package/dist/GridSyncService-GECXGEKL.js +3 -0
- package/dist/{GridSyncService-KTLB4KP3.js.map → GridSyncService-GECXGEKL.js.map} +1 -1
- package/dist/{PdfRenderer-CBg7hWNS.d.cts → PdfRenderer-B9FJaCo_.d.cts} +1 -1
- package/dist/{PdfRenderer-1HFh6UeR.d.ts → PdfRenderer-bN7ca_Aj.d.ts} +1 -1
- package/dist/{UITableController-DU8RopUM.d.ts → UITableController-C71LXBiX.d.ts} +48 -2
- package/dist/{UITableController-Cuwq481K.d.cts → UITableController-CIwnHIw8.d.cts} +48 -2
- package/dist/{VazirmatnPdfRenderer-BCMpC1zy.d.cts → VazirmatnPdfRenderer-CpCqA-Wh.d.cts} +2 -2
- package/dist/{VazirmatnPdfRenderer-Dz_G-m3c.d.ts → VazirmatnPdfRenderer-D46smncn.d.ts} +2 -2
- package/dist/adapters/arian-erp.cjs +16 -4
- package/dist/adapters/arian-erp.cjs.map +1 -1
- package/dist/adapters/arian-erp.d.cts +3 -1
- package/dist/adapters/arian-erp.d.ts +3 -1
- package/dist/adapters/arian-erp.js +11 -3
- package/dist/adapters/arian-erp.js.map +1 -1
- package/dist/{applyImportedRows-BO6yxoAN.d.cts → applyImportedRows-C2fWYoPy.d.cts} +3 -3
- package/dist/{applyImportedRows-D4zVY8uD.d.ts → applyImportedRows-Cqh_N_0k.d.ts} +3 -3
- package/dist/{applyRowVisibilityHandler-LXCOGESZ.cjs → applyRowVisibilityHandler-Q64ZFC7A.cjs} +7 -6
- package/dist/applyRowVisibilityHandler-Q64ZFC7A.cjs.map +1 -0
- package/dist/{applyRowVisibilityHandler-KS6TMCBN.js → applyRowVisibilityHandler-ZLZXQEGY.js} +6 -5
- package/dist/applyRowVisibilityHandler-ZLZXQEGY.js.map +1 -0
- package/dist/callbackRemoteApi-BYLjmSI6.d.ts +51 -0
- package/dist/callbackRemoteApi-Cv26MmSD.d.cts +51 -0
- package/dist/{cellRenderContext-DB7V_mlu.d.ts → cellRenderContext-BaNh4qn_.d.ts} +2 -2
- package/dist/{cellRenderContext-DG5BOlxK.d.cts → cellRenderContext-DvngkptV.d.cts} +2 -2
- package/dist/{chunk-HTNJT2QU.js → chunk-27ALJSZP.js} +617 -104
- package/dist/chunk-27ALJSZP.js.map +1 -0
- package/dist/{chunk-KUBVDIF7.cjs → chunk-3HP3HQCW.cjs} +52 -17
- package/dist/chunk-3HP3HQCW.cjs.map +1 -0
- package/dist/{chunk-DXRCYW42.cjs → chunk-52LFOPXD.cjs} +43 -23
- package/dist/chunk-52LFOPXD.cjs.map +1 -0
- package/dist/{chunk-VVGYRZ7S.cjs → chunk-72IVAOTK.cjs} +4 -4
- package/dist/{chunk-VVGYRZ7S.cjs.map → chunk-72IVAOTK.cjs.map} +1 -1
- package/dist/{chunk-LJ7LMEXO.js → chunk-7GWV5HGO.js} +3 -3
- package/dist/{chunk-LJ7LMEXO.js.map → chunk-7GWV5HGO.js.map} +1 -1
- package/dist/{chunk-RM6ZWNT3.js → chunk-7T6AWRPU.js} +43 -23
- package/dist/chunk-7T6AWRPU.js.map +1 -0
- package/dist/{chunk-PXCHPZTP.cjs → chunk-CMQ4VLCW.cjs} +8 -7
- package/dist/{chunk-EHHHC5JV.js.map → chunk-CMQ4VLCW.cjs.map} +1 -1
- package/dist/chunk-E2J533UH.cjs +53 -0
- package/dist/chunk-E2J533UH.cjs.map +1 -0
- package/dist/chunk-F6EMC75A.cjs +34 -0
- package/dist/chunk-F6EMC75A.cjs.map +1 -0
- package/dist/chunk-GKE33FOJ.js +32 -0
- package/dist/chunk-GKE33FOJ.js.map +1 -0
- package/dist/{chunk-QQMU44KJ.js → chunk-HLOHWFOA.js} +52 -19
- package/dist/chunk-HLOHWFOA.js.map +1 -0
- package/dist/{chunk-633KP74Z.js → chunk-KCNTKYUY.js} +19 -2
- package/dist/chunk-KCNTKYUY.js.map +1 -0
- package/dist/{chunk-BLYVOV3G.cjs → chunk-LY27YAXE.cjs} +19 -2
- package/dist/chunk-LY27YAXE.cjs.map +1 -0
- package/dist/{chunk-EHHHC5JV.js → chunk-NB5GCGHL.js} +5 -4
- package/dist/chunk-NB5GCGHL.js.map +1 -0
- package/dist/{chunk-6XBXZPBW.js → chunk-NQUVAJQA.js} +3 -3
- package/dist/{chunk-6XBXZPBW.js.map → chunk-NQUVAJQA.js.map} +1 -1
- package/dist/chunk-SVO62ZV2.js +50 -0
- package/dist/chunk-SVO62ZV2.js.map +1 -0
- package/dist/{chunk-MU3RY46O.js → chunk-VBAZ77Q4.js} +3 -3
- package/dist/{chunk-MU3RY46O.js.map → chunk-VBAZ77Q4.js.map} +1 -1
- package/dist/{chunk-H2LESGMX.cjs → chunk-VSAFQTW5.cjs} +4 -4
- package/dist/{chunk-H2LESGMX.cjs.map → chunk-VSAFQTW5.cjs.map} +1 -1
- package/dist/{chunk-2BJCRYOS.cjs → chunk-VYJQ2HTA.cjs} +5 -5
- package/dist/{chunk-2BJCRYOS.cjs.map → chunk-VYJQ2HTA.cjs.map} +1 -1
- package/dist/{chunk-IIISFUW4.cjs → chunk-WTHTVKVI.cjs} +621 -108
- package/dist/chunk-WTHTVKVI.cjs.map +1 -0
- package/dist/{createEngineGridQuery-Mt1hc33m.d.ts → createEngineGridQuery-BBkud5oE.d.ts} +61 -6
- package/dist/{createEngineGridQuery-Dmq3i5v3.d.cts → createEngineGridQuery-D-fgO_jg.d.cts} +61 -6
- package/dist/date-picker-jalali.cjs +17 -17
- package/dist/date-picker-jalali.d.cts +3 -3
- package/dist/date-picker-jalali.d.ts +3 -3
- package/dist/date-picker-jalali.js +1 -1
- package/dist/headless.cjs +102 -102
- package/dist/headless.d.cts +13 -9
- package/dist/headless.d.ts +13 -9
- package/dist/headless.js +4 -4
- package/dist/index.cjs +440 -382
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +34 -14
- package/dist/index.d.ts +34 -14
- package/dist/index.js +200 -143
- package/dist/index.js.map +1 -1
- package/dist/plugins/csv.cjs +3 -3
- package/dist/plugins/csv.d.cts +2 -2
- package/dist/plugins/csv.d.ts +2 -2
- package/dist/plugins/csv.js +2 -2
- package/dist/plugins/excel.cjs +11 -11
- package/dist/plugins/excel.d.cts +4 -4
- package/dist/plugins/excel.d.ts +4 -4
- package/dist/plugins/excel.js +3 -3
- package/dist/plugins/pdf/fonts/vazirmatn.cjs +6 -6
- package/dist/plugins/pdf/fonts/vazirmatn.d.cts +4 -4
- package/dist/plugins/pdf/fonts/vazirmatn.d.ts +4 -4
- package/dist/plugins/pdf/fonts/vazirmatn.js +3 -3
- package/dist/plugins/pdf.cjs +5 -5
- package/dist/plugins/pdf.d.cts +5 -5
- package/dist/plugins/pdf.d.ts +5 -5
- package/dist/plugins/pdf.js +2 -2
- package/dist/presence.d.cts +3 -3
- package/dist/presence.d.ts +3 -3
- package/dist/sync.cjs +2 -2
- package/dist/sync.d.cts +3 -3
- package/dist/sync.d.ts +3 -3
- package/dist/sync.js +1 -1
- package/package.json +3 -3
- package/dist/GridSyncService-KTLB4KP3.js +0 -3
- package/dist/GridSyncService-TAPAHABV.cjs +0 -12
- package/dist/applyRowVisibilityHandler-KS6TMCBN.js.map +0 -1
- package/dist/applyRowVisibilityHandler-LXCOGESZ.cjs.map +0 -1
- package/dist/callbackRemoteApi-BlXO5NJz.d.ts +0 -30
- package/dist/callbackRemoteApi-DgnXH-i0.d.cts +0 -30
- package/dist/chunk-633KP74Z.js.map +0 -1
- package/dist/chunk-ASPTRYRD.cjs +0 -21
- package/dist/chunk-ASPTRYRD.cjs.map +0 -1
- package/dist/chunk-BHDRUZH5.cjs +0 -33
- package/dist/chunk-BHDRUZH5.cjs.map +0 -1
- package/dist/chunk-BLYVOV3G.cjs.map +0 -1
- package/dist/chunk-DXRCYW42.cjs.map +0 -1
- package/dist/chunk-HTNJT2QU.js.map +0 -1
- package/dist/chunk-IIISFUW4.cjs.map +0 -1
- package/dist/chunk-KUBVDIF7.cjs.map +0 -1
- package/dist/chunk-KYAOSBQN.js +0 -31
- package/dist/chunk-KYAOSBQN.js.map +0 -1
- package/dist/chunk-PXCHPZTP.cjs.map +0 -1
- package/dist/chunk-QQMU44KJ.js.map +0 -1
- package/dist/chunk-RM6ZWNT3.js.map +0 -1
- package/dist/chunk-Y6W5V2CI.js +0 -19
- package/dist/chunk-Y6W5V2CI.js.map +0 -1
package/README.md
CHANGED
|
@@ -204,7 +204,7 @@ import 'persian-data-grid/styles.css';
|
|
|
204
204
|
|
|
205
205
|
## Changelog
|
|
206
206
|
|
|
207
|
-
See [CHANGELOG.md](./CHANGELOG.md) (Keep a Changelog). The next npm line is **0.
|
|
207
|
+
See [CHANGELOG.md](./CHANGELOG.md) (Keep a Changelog). The next npm line is **0.7.0**.
|
|
208
208
|
|
|
209
209
|
## Contributing
|
|
210
210
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { useColumnWindowOrAll, ColumnWindowCells, columnPinCellProps, ariaColIndex, ariaDataRowIndex } from './chunk-
|
|
1
|
+
import { useColumnWindowOrAll, ColumnWindowCells, columnPinCellProps, ariaColIndex, ariaDataRowIndex } from './chunk-NQUVAJQA.js';
|
|
2
2
|
import { columnSizeStyle } from './chunk-IPPIXOVQ.js';
|
|
3
|
-
import './chunk-
|
|
3
|
+
import './chunk-HLOHWFOA.js';
|
|
4
4
|
import './chunk-SZ7BLAY3.js';
|
|
5
5
|
import './chunk-F4PYOYHR.js';
|
|
6
6
|
import './chunk-77UXAJII.js';
|
|
@@ -121,5 +121,5 @@ var ERPTableGroupRow = React.memo(
|
|
|
121
121
|
);
|
|
122
122
|
|
|
123
123
|
export { ERPTableGroupRow };
|
|
124
|
-
//# sourceMappingURL=ERPTableGroupRow-
|
|
125
|
-
//# sourceMappingURL=ERPTableGroupRow-
|
|
124
|
+
//# sourceMappingURL=ERPTableGroupRow-E5Q6FYDS.js.map
|
|
125
|
+
//# sourceMappingURL=ERPTableGroupRow-E5Q6FYDS.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../ui/desktop/ERPTableGroupRow.tsx"],"names":[],"mappings":"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","file":"ERPTableGroupRow-
|
|
1
|
+
{"version":3,"sources":["../ui/desktop/ERPTableGroupRow.tsx"],"names":[],"mappings":"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","file":"ERPTableGroupRow-E5Q6FYDS.js","sourcesContent":["import React from 'react';\r\n\r\nimport { columnSizeStyle } from '../../engine/columnWidth';\r\nimport type { UITableController } from '../../infrastructure/ui/UITableController';\r\nimport { ariaColIndex, ariaDataRowIndex } from '../a11y/gridRoles';\r\nimport { columnPinCellProps } from '../columnPin';\r\nimport type { UIRow } from '../type';\r\nimport { useColumnWindowOrAll } from '../virtual/columnWindow';\r\nimport { ColumnWindowCells } from '../virtual/ColumnWindowCells';\r\n\r\nexport type ERPTableGroupRowProps = {\r\n row: UIRow;\r\n index: number;\r\n pinnedTopCount?: number;\r\n table: Pick<\r\n import('../../engine/type').TableViewState,\r\n 'columns' | 'columnWidths' | 'activeCell'\r\n >;\r\n controller: UITableController;\r\n tableKey: string;\r\n isSelected: boolean;\r\n isActive: boolean;\r\n};\r\n\r\n/** Synthetic group header row (PR-121). */\r\nfunction ERPTableGroupRowComponent({\r\n row,\r\n index,\r\n pinnedTopCount = 0,\r\n table,\r\n controller,\r\n isSelected,\r\n isActive,\r\n}: ERPTableGroupRowProps) {\r\n const colWindow = useColumnWindowOrAll(\r\n table.columns ?? [],\r\n table.columnWidths,\r\n );\r\n const expanded = row.groupExpanded !== false;\r\n const groupField = row.groupField;\r\n const label = row.groupKey ?? '';\r\n const hasIndex = colWindow.allVisible.some(\r\n (col) => col.fieldName === 'index' || col.fieldType === 'index',\r\n );\r\n\r\n const toggle = (e: React.SyntheticEvent) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n if (row.groupKey != null) controller.toggleRowGroup(row.groupKey);\r\n };\r\n\r\n return (\r\n <tr\r\n role=\"row\"\r\n className={`pdg-group-row font-semibold ${\r\n isSelected ? 'bg-blue-100' : 'bg-blue-blue11'\r\n }${isActive ? ' border-gray-gray8' : ' border-gray-gray5'}`}\r\n data-rowid={row.id}\r\n data-pdg-row-kind=\"group\"\r\n data-pdg-group-key={row.groupKey}\r\n aria-rowindex={ariaDataRowIndex(index, pinnedTopCount)}\r\n aria-expanded={expanded}\r\n aria-level={1}\r\n onClick={(e) =>\r\n controller.onRowClick(row.id, {\r\n ctrlKey: e.ctrlKey,\r\n shiftKey: e.shiftKey,\r\n })\r\n }\r\n onDoubleClick={(e) => {\r\n if (!e.shiftKey && !e.ctrlKey && !e.altKey) {\r\n e.preventDefault();\r\n controller.onRowSelect(row.id);\r\n }\r\n }}\r\n >\r\n <ColumnWindowCells\r\n window={colWindow}\r\n spacerElement=\"td\"\r\n spacerRole=\"presentation\"\r\n renderColumn={(c, absoluteColIndex) => {\r\n const pin = columnPinCellProps(\r\n c,\r\n colWindow.startPinOffsets,\r\n colWindow.endPinOffsets,\r\n );\r\n const isIndex = c.fieldName === 'index' || c.fieldType === 'index';\r\n const isGroupField = groupField != null && c.fieldName === groupField;\r\n const showChevron = isIndex || (isGroupField && !hasIndex);\r\n const cellValue = isGroupField\r\n ? label\r\n : (row.cells[c.fieldName]?.display ??\r\n row.cells[c.fieldName]?.value ??\r\n '');\r\n\r\n const chevron = showChevron ? (\r\n <button\r\n type=\"button\"\r\n className=\"pdg-group-row__chevron inline-flex items-center justify-center w-6 h-6 border-0 bg-transparent cursor-pointer\"\r\n aria-label={expanded ? 'Collapse group' : 'Expand group'}\r\n aria-expanded={expanded}\r\n onClick={toggle}\r\n >\r\n <span aria-hidden>{expanded ? '▾' : '▸'}</span>\r\n </button>\r\n ) : null;\r\n\r\n return (\r\n <td\r\n key={c.fieldName}\r\n role=\"gridcell\"\r\n aria-colindex={ariaColIndex(absoluteColIndex)}\r\n className={`p-0 h-full overflow-hidden border ${pin.className}`.trim()}\r\n data-columnid={c.fieldName}\r\n data-erp-col-pin={pin['data-erp-col-pin']}\r\n style={{\r\n ...columnSizeStyle(\r\n c,\r\n table.columnWidths,\r\n colWindow.layoutWidths,\r\n ),\r\n ...pin.style,\r\n }}\r\n >\r\n {isIndex ? (\r\n <div className=\"flex items-center h-full px-2\">{chevron}</div>\r\n ) : isGroupField ? (\r\n <div className=\"flex items-center gap-1.5 h-full px-2\">\r\n {chevron}\r\n <span>\r\n {label}\r\n {typeof row.groupChildCount === 'number'\r\n ? ` (${row.groupChildCount})`\r\n : ''}\r\n </span>\r\n </div>\r\n ) : (\r\n <div className=\"flex items-center h-full px-2 tabular-nums\">\r\n {cellValue == null || cellValue === ''\r\n ? null\r\n : String(cellValue)}\r\n </div>\r\n )}\r\n </td>\r\n );\r\n }}\r\n />\r\n </tr>\r\n );\r\n}\r\n\r\nexport const ERPTableGroupRow = React.memo(\r\n ERPTableGroupRowComponent,\r\n (prev, next) =>\r\n prev.row === next.row &&\r\n prev.index === next.index &&\r\n prev.controller === next.controller &&\r\n prev.isSelected === next.isSelected &&\r\n prev.isActive === next.isActive &&\r\n prev.table.columns === next.table.columns &&\r\n prev.table.columnWidths === next.table.columnWidths &&\r\n prev.pinnedTopCount === next.pinnedTopCount,\r\n);\r\n"]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkVSAFQTW5_cjs = require('./chunk-VSAFQTW5.cjs');
|
|
4
4
|
var chunkUC7PHDM6_cjs = require('./chunk-UC7PHDM6.cjs');
|
|
5
|
-
require('./chunk-
|
|
5
|
+
require('./chunk-3HP3HQCW.cjs');
|
|
6
6
|
require('./chunk-CILNIWYW.cjs');
|
|
7
7
|
require('./chunk-SX4VQXAA.cjs');
|
|
8
8
|
require('./chunk-QZN7R2WP.cjs');
|
|
@@ -26,7 +26,7 @@ function ERPTableGroupRowComponent({
|
|
|
26
26
|
isSelected,
|
|
27
27
|
isActive
|
|
28
28
|
}) {
|
|
29
|
-
const colWindow =
|
|
29
|
+
const colWindow = chunkVSAFQTW5_cjs.useColumnWindowOrAll(
|
|
30
30
|
table.columns ?? [],
|
|
31
31
|
table.columnWidths
|
|
32
32
|
);
|
|
@@ -49,7 +49,7 @@ function ERPTableGroupRowComponent({
|
|
|
49
49
|
"data-rowid": row.id,
|
|
50
50
|
"data-pdg-row-kind": "group",
|
|
51
51
|
"data-pdg-group-key": row.groupKey,
|
|
52
|
-
"aria-rowindex":
|
|
52
|
+
"aria-rowindex": chunkVSAFQTW5_cjs.ariaDataRowIndex(index, pinnedTopCount),
|
|
53
53
|
"aria-expanded": expanded,
|
|
54
54
|
"aria-level": 1,
|
|
55
55
|
onClick: (e) => controller.onRowClick(row.id, {
|
|
@@ -63,13 +63,13 @@ function ERPTableGroupRowComponent({
|
|
|
63
63
|
}
|
|
64
64
|
},
|
|
65
65
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
66
|
-
|
|
66
|
+
chunkVSAFQTW5_cjs.ColumnWindowCells,
|
|
67
67
|
{
|
|
68
68
|
window: colWindow,
|
|
69
69
|
spacerElement: "td",
|
|
70
70
|
spacerRole: "presentation",
|
|
71
71
|
renderColumn: (c, absoluteColIndex) => {
|
|
72
|
-
const pin =
|
|
72
|
+
const pin = chunkVSAFQTW5_cjs.columnPinCellProps(
|
|
73
73
|
c,
|
|
74
74
|
colWindow.startPinOffsets,
|
|
75
75
|
colWindow.endPinOffsets
|
|
@@ -93,7 +93,7 @@ function ERPTableGroupRowComponent({
|
|
|
93
93
|
"td",
|
|
94
94
|
{
|
|
95
95
|
role: "gridcell",
|
|
96
|
-
"aria-colindex":
|
|
96
|
+
"aria-colindex": chunkVSAFQTW5_cjs.ariaColIndex(absoluteColIndex),
|
|
97
97
|
className: `p-0 h-full overflow-hidden border ${pin.className}`.trim(),
|
|
98
98
|
"data-columnid": c.fieldName,
|
|
99
99
|
"data-erp-col-pin": pin["data-erp-col-pin"],
|
|
@@ -127,5 +127,5 @@ var ERPTableGroupRow = React__default.default.memo(
|
|
|
127
127
|
);
|
|
128
128
|
|
|
129
129
|
exports.ERPTableGroupRow = ERPTableGroupRow;
|
|
130
|
-
//# sourceMappingURL=ERPTableGroupRow-
|
|
131
|
-
//# sourceMappingURL=ERPTableGroupRow-
|
|
130
|
+
//# sourceMappingURL=ERPTableGroupRow-F2IPDYL5.cjs.map
|
|
131
|
+
//# sourceMappingURL=ERPTableGroupRow-F2IPDYL5.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../ui/desktop/ERPTableGroupRow.tsx"],"names":["useColumnWindowOrAll","jsx","ariaDataRowIndex","ColumnWindowCells","columnPinCellProps","ariaColIndex","columnSizeStyle","jsxs","React"],"mappings":"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","file":"ERPTableGroupRow-
|
|
1
|
+
{"version":3,"sources":["../ui/desktop/ERPTableGroupRow.tsx"],"names":["useColumnWindowOrAll","jsx","ariaDataRowIndex","ColumnWindowCells","columnPinCellProps","ariaColIndex","columnSizeStyle","jsxs","React"],"mappings":"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","file":"ERPTableGroupRow-F2IPDYL5.cjs","sourcesContent":["import React from 'react';\r\n\r\nimport { columnSizeStyle } from '../../engine/columnWidth';\r\nimport type { UITableController } from '../../infrastructure/ui/UITableController';\r\nimport { ariaColIndex, ariaDataRowIndex } from '../a11y/gridRoles';\r\nimport { columnPinCellProps } from '../columnPin';\r\nimport type { UIRow } from '../type';\r\nimport { useColumnWindowOrAll } from '../virtual/columnWindow';\r\nimport { ColumnWindowCells } from '../virtual/ColumnWindowCells';\r\n\r\nexport type ERPTableGroupRowProps = {\r\n row: UIRow;\r\n index: number;\r\n pinnedTopCount?: number;\r\n table: Pick<\r\n import('../../engine/type').TableViewState,\r\n 'columns' | 'columnWidths' | 'activeCell'\r\n >;\r\n controller: UITableController;\r\n tableKey: string;\r\n isSelected: boolean;\r\n isActive: boolean;\r\n};\r\n\r\n/** Synthetic group header row (PR-121). */\r\nfunction ERPTableGroupRowComponent({\r\n row,\r\n index,\r\n pinnedTopCount = 0,\r\n table,\r\n controller,\r\n isSelected,\r\n isActive,\r\n}: ERPTableGroupRowProps) {\r\n const colWindow = useColumnWindowOrAll(\r\n table.columns ?? [],\r\n table.columnWidths,\r\n );\r\n const expanded = row.groupExpanded !== false;\r\n const groupField = row.groupField;\r\n const label = row.groupKey ?? '';\r\n const hasIndex = colWindow.allVisible.some(\r\n (col) => col.fieldName === 'index' || col.fieldType === 'index',\r\n );\r\n\r\n const toggle = (e: React.SyntheticEvent) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n if (row.groupKey != null) controller.toggleRowGroup(row.groupKey);\r\n };\r\n\r\n return (\r\n <tr\r\n role=\"row\"\r\n className={`pdg-group-row font-semibold ${\r\n isSelected ? 'bg-blue-100' : 'bg-blue-blue11'\r\n }${isActive ? ' border-gray-gray8' : ' border-gray-gray5'}`}\r\n data-rowid={row.id}\r\n data-pdg-row-kind=\"group\"\r\n data-pdg-group-key={row.groupKey}\r\n aria-rowindex={ariaDataRowIndex(index, pinnedTopCount)}\r\n aria-expanded={expanded}\r\n aria-level={1}\r\n onClick={(e) =>\r\n controller.onRowClick(row.id, {\r\n ctrlKey: e.ctrlKey,\r\n shiftKey: e.shiftKey,\r\n })\r\n }\r\n onDoubleClick={(e) => {\r\n if (!e.shiftKey && !e.ctrlKey && !e.altKey) {\r\n e.preventDefault();\r\n controller.onRowSelect(row.id);\r\n }\r\n }}\r\n >\r\n <ColumnWindowCells\r\n window={colWindow}\r\n spacerElement=\"td\"\r\n spacerRole=\"presentation\"\r\n renderColumn={(c, absoluteColIndex) => {\r\n const pin = columnPinCellProps(\r\n c,\r\n colWindow.startPinOffsets,\r\n colWindow.endPinOffsets,\r\n );\r\n const isIndex = c.fieldName === 'index' || c.fieldType === 'index';\r\n const isGroupField = groupField != null && c.fieldName === groupField;\r\n const showChevron = isIndex || (isGroupField && !hasIndex);\r\n const cellValue = isGroupField\r\n ? label\r\n : (row.cells[c.fieldName]?.display ??\r\n row.cells[c.fieldName]?.value ??\r\n '');\r\n\r\n const chevron = showChevron ? (\r\n <button\r\n type=\"button\"\r\n className=\"pdg-group-row__chevron inline-flex items-center justify-center w-6 h-6 border-0 bg-transparent cursor-pointer\"\r\n aria-label={expanded ? 'Collapse group' : 'Expand group'}\r\n aria-expanded={expanded}\r\n onClick={toggle}\r\n >\r\n <span aria-hidden>{expanded ? '▾' : '▸'}</span>\r\n </button>\r\n ) : null;\r\n\r\n return (\r\n <td\r\n key={c.fieldName}\r\n role=\"gridcell\"\r\n aria-colindex={ariaColIndex(absoluteColIndex)}\r\n className={`p-0 h-full overflow-hidden border ${pin.className}`.trim()}\r\n data-columnid={c.fieldName}\r\n data-erp-col-pin={pin['data-erp-col-pin']}\r\n style={{\r\n ...columnSizeStyle(\r\n c,\r\n table.columnWidths,\r\n colWindow.layoutWidths,\r\n ),\r\n ...pin.style,\r\n }}\r\n >\r\n {isIndex ? (\r\n <div className=\"flex items-center h-full px-2\">{chevron}</div>\r\n ) : isGroupField ? (\r\n <div className=\"flex items-center gap-1.5 h-full px-2\">\r\n {chevron}\r\n <span>\r\n {label}\r\n {typeof row.groupChildCount === 'number'\r\n ? ` (${row.groupChildCount})`\r\n : ''}\r\n </span>\r\n </div>\r\n ) : (\r\n <div className=\"flex items-center h-full px-2 tabular-nums\">\r\n {cellValue == null || cellValue === ''\r\n ? null\r\n : String(cellValue)}\r\n </div>\r\n )}\r\n </td>\r\n );\r\n }}\r\n />\r\n </tr>\r\n );\r\n}\r\n\r\nexport const ERPTableGroupRow = React.memo(\r\n ERPTableGroupRowComponent,\r\n (prev, next) =>\r\n prev.row === next.row &&\r\n prev.index === next.index &&\r\n prev.controller === next.controller &&\r\n prev.isSelected === next.isSelected &&\r\n prev.isActive === next.isActive &&\r\n prev.table.columns === next.table.columns &&\r\n prev.table.columnWidths === next.table.columnWidths &&\r\n prev.pinnedTopCount === next.pinnedTopCount,\r\n);\r\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { G as GridEvent, a as Unsubscribe, b as GridSession, c as CollectionScope, T as TableSnapShot, E as EventStore } from './GridSession-
|
|
1
|
+
import { G as GridEvent, a as Unsubscribe, b as GridSession, c as CollectionScope, T as TableSnapShot, E as EventStore } from './GridSession-CeIfVFck.js';
|
|
2
2
|
|
|
3
3
|
type ExportColumnDef = {
|
|
4
4
|
readonly fieldName: string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { G as GridEvent, a as Unsubscribe, b as GridSession, c as CollectionScope, T as TableSnapShot, E as EventStore } from './GridSession-
|
|
1
|
+
import { G as GridEvent, a as Unsubscribe, b as GridSession, c as CollectionScope, T as TableSnapShot, E as EventStore } from './GridSession-CmQn2RnL.cjs';
|
|
2
2
|
|
|
3
3
|
type ExportColumnDef = {
|
|
4
4
|
readonly fieldName: string;
|
|
@@ -507,12 +507,18 @@ type ColumnVisibilityRule = {
|
|
|
507
507
|
kind: 'whenTableType';
|
|
508
508
|
tableType: string;
|
|
509
509
|
};
|
|
510
|
+
/**
|
|
511
|
+
* Remote flag/response resolution. The response callbacks use METHOD syntax
|
|
512
|
+
* (bivariant) so a host-typed config (`TResponse` = the host's query response)
|
|
513
|
+
* stays assignable to the default `ResolveOnConfig<K>` (`TResponse` = `unknown`)
|
|
514
|
+
* used inside the engine.
|
|
515
|
+
*/
|
|
510
516
|
interface ResolveOnConfig<K = unknown, TResponse = unknown> {
|
|
511
517
|
endpoint: string;
|
|
512
518
|
fieldName: string;
|
|
513
519
|
buildParams: (row: Record<string, unknown>) => Record<string, unknown>;
|
|
514
|
-
getResponse
|
|
515
|
-
mapFlags
|
|
520
|
+
getResponse?(response: TResponse, row: Row): unknown;
|
|
521
|
+
mapFlags?(response: TResponse): Record<string, boolean>;
|
|
516
522
|
}
|
|
517
523
|
type ColumnAccessControl = {
|
|
518
524
|
allowRoles?: string[];
|
|
@@ -529,7 +535,8 @@ interface IDependOn {
|
|
|
529
535
|
}
|
|
530
536
|
type DefaultOptionType = {
|
|
531
537
|
value?: string | number;
|
|
532
|
-
label
|
|
538
|
+
/** Renderable label; the UI-aware public type narrows it to `ReactNode`. */
|
|
539
|
+
label?: unknown;
|
|
533
540
|
title?: string;
|
|
534
541
|
[key: string]: unknown;
|
|
535
542
|
};
|
|
@@ -578,13 +585,19 @@ interface ColumnSchema<T = unknown, K = unknown> {
|
|
|
578
585
|
label: string;
|
|
579
586
|
value: string | number;
|
|
580
587
|
}[];
|
|
581
|
-
|
|
582
|
-
|
|
588
|
+
/**
|
|
589
|
+
* Engine-side (loose) callback shapes. Declared with METHOD syntax
|
|
590
|
+
* (bivariant) so the precise host-facing signatures of the public
|
|
591
|
+
* `ColumnSchema` (UIRow, UITableController, ItemType, ...) stay assignable.
|
|
592
|
+
*/
|
|
593
|
+
indexOptions?(...args: unknown[]): unknown[];
|
|
594
|
+
onChange?(...args: unknown[]): void;
|
|
583
595
|
displayFormat?: (value: unknown) => unknown;
|
|
584
596
|
minWidth?: number;
|
|
585
|
-
style
|
|
597
|
+
/** Inline style object (the public type narrows it to `CSSProperties`). */
|
|
598
|
+
style?: object;
|
|
586
599
|
popUpWidth?: number;
|
|
587
|
-
dynamicSelectFilterOption
|
|
600
|
+
dynamicSelectFilterOption?(inputValue: string, option: unknown): boolean;
|
|
588
601
|
labelValue?: 'selectDisplay' | 'selectValue';
|
|
589
602
|
/**
|
|
590
603
|
* ColumnDef-only fields restored by `toColumnDef` (PR-81).
|
|
@@ -892,6 +905,27 @@ declare function pageWindow(page: number, pageSize: number): {
|
|
|
892
905
|
* Typing updates drafts; Commit writes; Cancel discards.
|
|
893
906
|
*/
|
|
894
907
|
type CellEditType = 'cell' | 'fullRow';
|
|
908
|
+
/**
|
|
909
|
+
* When typed values become durable.
|
|
910
|
+
* - `immediate`: every editor change is written to the table at once (the
|
|
911
|
+
* draft only mirrors it for a stable input). Host reads — `getRowView`,
|
|
912
|
+
* snapshots, totals, `computed` / `resolveOn` — always see what the user
|
|
913
|
+
* typed. `Esc` ends editing and keeps the value. Default for
|
|
914
|
+
* `persistence: 'paged-idb'` (the arianERP document-grid contract).
|
|
915
|
+
* - `deferred`: typing only updates a session draft; the value is written when
|
|
916
|
+
* the edit is committed (move / Enter / Tab / focus leaves the grid / a
|
|
917
|
+
* durable read such as `getFullSnapShot`). `Esc` discards the draft.
|
|
918
|
+
* Default for the event-sourced mode (no EventStore write per keystroke).
|
|
919
|
+
*/
|
|
920
|
+
type CellEditCommit = 'immediate' | 'deferred';
|
|
921
|
+
/**
|
|
922
|
+
* What `Enter` does on an active cell.
|
|
923
|
+
* - `nextCell`: like `Tab` — next editable cell of the row, then the first
|
|
924
|
+
* cell of the next row; past the last row a new empty row is added.
|
|
925
|
+
* `Shift+Enter` goes back. (Default; the data-entry behaviour.)
|
|
926
|
+
* - `down`: commit and move to the cell below (spreadsheet style).
|
|
927
|
+
*/
|
|
928
|
+
type EnterNavigation = 'nextCell' | 'down';
|
|
895
929
|
type CellEditValue = {
|
|
896
930
|
value: unknown;
|
|
897
931
|
display: unknown;
|
|
@@ -901,10 +935,15 @@ type CellEditSession = {
|
|
|
901
935
|
/** Focused column while editing. */
|
|
902
936
|
columnId: string;
|
|
903
937
|
editType: CellEditType;
|
|
904
|
-
/**
|
|
938
|
+
/**
|
|
939
|
+
* Values at edit start — restored on cancel. Moves forward when the draft
|
|
940
|
+
* is written without ending the session (immediate commit / flush).
|
|
941
|
+
*/
|
|
905
942
|
baseline: Readonly<Record<string, CellEditValue>>;
|
|
906
943
|
/** Working copies. */
|
|
907
944
|
drafts: Record<string, CellEditValue>;
|
|
945
|
+
/** Writes of one session share it, so undo reverts the whole edit at once. */
|
|
946
|
+
correlationId: string;
|
|
908
947
|
};
|
|
909
948
|
type CellEditOptions = {
|
|
910
949
|
/** Default true — activate cell starts edit. False ⇒ need Enter / double-click / api.startEditingCell. */
|
|
@@ -913,6 +952,10 @@ type CellEditOptions = {
|
|
|
913
952
|
stopEditingWhenCellsLoseFocus: boolean;
|
|
914
953
|
/** Default `cell`. `fullRow` edits every editable column on the row. */
|
|
915
954
|
editType: CellEditType;
|
|
955
|
+
/** Default `deferred` (createGrid picks `immediate` for `paged-idb`). */
|
|
956
|
+
commit: CellEditCommit;
|
|
957
|
+
/** Default `nextCell`. */
|
|
958
|
+
enterNavigation: EnterNavigation;
|
|
916
959
|
};
|
|
917
960
|
|
|
918
961
|
/**
|
|
@@ -925,6 +968,38 @@ type IRequestConfig = {
|
|
|
925
968
|
method?: 'GET' | 'POST';
|
|
926
969
|
[key: string]: unknown;
|
|
927
970
|
};
|
|
971
|
+
/**
|
|
972
|
+
* Envelope returned by arianERP query endpoints. Structural twin of the host's
|
|
973
|
+
* `IBaseQueryResponse<T>`: it is the response type handed to
|
|
974
|
+
* `ColumnSchema.resolveOn.getResponse` / `mapFlags`.
|
|
975
|
+
*/
|
|
976
|
+
interface IBaseQueryResponse<T = unknown> {
|
|
977
|
+
Result: string;
|
|
978
|
+
Error?: string;
|
|
979
|
+
ErrorCode?: string;
|
|
980
|
+
InnerException?: string;
|
|
981
|
+
AdditionalInfo?: unknown;
|
|
982
|
+
Data: T;
|
|
983
|
+
TotalCount: number;
|
|
984
|
+
ReturnCount: number;
|
|
985
|
+
ReadFromCache: boolean;
|
|
986
|
+
ExportFile?: string;
|
|
987
|
+
ExportString?: string;
|
|
988
|
+
YearPlanId?: number;
|
|
989
|
+
Url?: string;
|
|
990
|
+
}
|
|
991
|
+
/**
|
|
992
|
+
* `RemoteApi` as seen by host `computed` callbacks: `request()` resolves to the
|
|
993
|
+
* ERP envelope by default. The payload is `unknown`; hosts name its shape
|
|
994
|
+
* through the type argument (`request<IBaseQueryResponse<Row[]>>(…)`).
|
|
995
|
+
*/
|
|
996
|
+
interface HostRemoteApi {
|
|
997
|
+
request<TResponse = IBaseQueryResponse<unknown>>(input: {
|
|
998
|
+
endpoint: string;
|
|
999
|
+
params?: Record<string, unknown>;
|
|
1000
|
+
method?: 'GET' | 'POST';
|
|
1001
|
+
}): Promise<TResponse>;
|
|
1002
|
+
}
|
|
928
1003
|
|
|
929
1004
|
interface UIRow {
|
|
930
1005
|
id: number;
|
|
@@ -2038,8 +2113,14 @@ declare class SparseRowIndex<T> {
|
|
|
2038
2113
|
private orderedIds;
|
|
2039
2114
|
/** id → position in `orderedIds` (PR-99). */
|
|
2040
2115
|
private readonly posById;
|
|
2116
|
+
private revisionCount;
|
|
2041
2117
|
constructor(entries?: Iterable<readonly [number, T]>);
|
|
2042
2118
|
get size(): number;
|
|
2119
|
+
/**
|
|
2120
|
+
* Bumped by every change of ids, order or values. O(1) change detection for
|
|
2121
|
+
* subscribers (a sort keeps `size` but changes the order).
|
|
2122
|
+
*/
|
|
2123
|
+
get revision(): number;
|
|
2043
2124
|
getOrderedIds(): readonly number[];
|
|
2044
2125
|
getById(id: number): T | undefined;
|
|
2045
2126
|
/** O(1) position of `id`, or `-1`. */
|
|
@@ -2109,6 +2190,15 @@ declare class TableEngine {
|
|
|
2109
2190
|
/** Durable command store id (for CHANGE_CELL_* on edit commit). */
|
|
2110
2191
|
private commandStore?;
|
|
2111
2192
|
private cellEditOptions;
|
|
2193
|
+
/**
|
|
2194
|
+
* Cell writes coming from editors / host input, executed one at a time in
|
|
2195
|
+
* arrival order. Consecutive values for the same cell coalesce (latest
|
|
2196
|
+
* wins). Until a write landed, the queued value is what the cell shows.
|
|
2197
|
+
*/
|
|
2198
|
+
private readonly cellWrites;
|
|
2199
|
+
private cellWriteChain;
|
|
2200
|
+
/** > 0 while a queued write executes (re-entrant settle must not wait on itself). */
|
|
2201
|
+
private cellWriteDepth;
|
|
2112
2202
|
readonly errors: Map<string, CellError>;
|
|
2113
2203
|
readonly searchResult: Map<string, CellError>;
|
|
2114
2204
|
private readonly asyncCellCache;
|
|
@@ -2234,7 +2324,45 @@ declare class TableEngine {
|
|
|
2234
2324
|
setCellEditOptions(partial: Partial<CellEditOptions>): void;
|
|
2235
2325
|
getCellEditOptions(): CellEditOptions;
|
|
2236
2326
|
getCellEdit(): CellEditSession | null;
|
|
2327
|
+
/**
|
|
2328
|
+
* What the cell editor shows: the session draft, else a value that was
|
|
2329
|
+
* typed but whose write has not reached the table yet (no flicker back to
|
|
2330
|
+
* the old value while it is in flight). `null` = show the table value.
|
|
2331
|
+
*/
|
|
2237
2332
|
getEditDraft(rowId: number, columnId: string): CellEditValue | null;
|
|
2333
|
+
/** Editor / host value for a cell (`UI_CELL_CHANGE`). Resolves once it is durable. */
|
|
2334
|
+
inputCellValue(rowId: number, columnId: string, value: unknown): Promise<void>;
|
|
2335
|
+
/** Editor / host display label for a cell (`UI_CELL_CHANGE_DISPLAY`). */
|
|
2336
|
+
inputCellDisplay(rowId: number, columnId: string, display: unknown): Promise<void>;
|
|
2337
|
+
private inputCell;
|
|
2338
|
+
private enqueueCellWrite;
|
|
2339
|
+
private runCellWrite;
|
|
2340
|
+
/**
|
|
2341
|
+
* Resolves when every queued cell write reached the table. Called from inside
|
|
2342
|
+
* a write (re-entrant) it returns at once instead of waiting on itself.
|
|
2343
|
+
*/
|
|
2344
|
+
settleCellWrites(): Promise<void>;
|
|
2345
|
+
/** Queues CHANGE_CELL_* for `columnIds` of `session`; returns the value writes. */
|
|
2346
|
+
private queueDraftWrites;
|
|
2347
|
+
/**
|
|
2348
|
+
* Make what the user typed durable WITHOUT ending the edit: dirty drafts are
|
|
2349
|
+
* written and become the session baseline, then all queued writes settle.
|
|
2350
|
+
* Every durable read (snapshot, row stream, export) calls this first, so a
|
|
2351
|
+
* save never misses the value still in the editor.
|
|
2352
|
+
*/
|
|
2353
|
+
flushCellEdit(): Promise<void>;
|
|
2354
|
+
/**
|
|
2355
|
+
* Focus / pointer moved outside the grid. Deferred commit ends the edit per
|
|
2356
|
+
* `stopEditingWhenCellsLoseFocus`; immediate commit has nothing pending and
|
|
2357
|
+
* keeps the editor (legacy table behaviour).
|
|
2358
|
+
*/
|
|
2359
|
+
leaveGridFocus(): Promise<void>;
|
|
2360
|
+
/**
|
|
2361
|
+
* Before dispose / unmount: commit (or drop, when
|
|
2362
|
+
* `stopEditingWhenCellsLoseFocus` is false) the open edit and wait until
|
|
2363
|
+
* every queued write is durable.
|
|
2364
|
+
*/
|
|
2365
|
+
settleEditsForTeardown(): Promise<void>;
|
|
2238
2366
|
isEditingCell(rowId: number, columnId: string): boolean;
|
|
2239
2367
|
/**
|
|
2240
2368
|
* Begin a session-only draft for the cell (or full row). Does not touch EventStore.
|
|
@@ -2271,6 +2399,7 @@ declare class TableEngine {
|
|
|
2271
2399
|
private validateCellFull;
|
|
2272
2400
|
private finishValidation;
|
|
2273
2401
|
private collectValidationJobs;
|
|
2402
|
+
/** Replaces the error map; true when the set of errors / messages changed. */
|
|
2274
2403
|
private applyValidationErrors;
|
|
2275
2404
|
private runValidationSync;
|
|
2276
2405
|
private runValidationAsync;
|
|
@@ -2325,6 +2454,8 @@ declare class ChangelogProjection {
|
|
|
2325
2454
|
private subscribers;
|
|
2326
2455
|
private seenEventIds;
|
|
2327
2456
|
private started;
|
|
2457
|
+
/** Incremented by start() and stop(); invalidates an in-flight catch-up. */
|
|
2458
|
+
private run;
|
|
2328
2459
|
constructor(eventStore: EventStore);
|
|
2329
2460
|
/**
|
|
2330
2461
|
* Catch up via readAll, then subscribe for live events.
|
|
@@ -2332,6 +2463,8 @@ declare class ChangelogProjection {
|
|
|
2332
2463
|
*/
|
|
2333
2464
|
start(): Promise<void>;
|
|
2334
2465
|
stop(): void;
|
|
2466
|
+
/** Stop and drop all subscribers (grid teardown). Entries stay readable. */
|
|
2467
|
+
dispose(): void;
|
|
2335
2468
|
query(filter?: ChangelogQuery): ChangelogEntry[];
|
|
2336
2469
|
count(filter?: ChangelogQuery): number;
|
|
2337
2470
|
subscribe(notify: (entries: ChangelogEntry[]) => void, filter?: ChangelogQuery): Unsubscribe;
|
|
@@ -2489,4 +2622,4 @@ interface GridSession {
|
|
|
2489
2622
|
subscribeViewport(listener: () => void): () => void;
|
|
2490
2623
|
}
|
|
2491
2624
|
|
|
2492
|
-
export { type CycleSortModelOptions as $, type AggFunc as A, type AriaSortValue as B, type ColumnSchema as C, type DefaultOptionType as D, type EventStore as E, type FilterModel as F, type GridEvent as G, HistoryPanelViewModel as H, type ArrowDirection as I, type BooleanColumnFilter as J, type BooleanFilterOp as K, type BuiltinFilterKind as L, type MobileTableViewState as M, type CellRangeBounds as N, type CellRangeSelection as O, type ColumnDefBridge as P, type ColumnField as Q, Row as R, type ColumnFilter as S, type TableSnapShot as T, type UIRow as U, type ValidCell as V, type WindowedTableRepository as W, type ColumnPinned as X, type CombinedColumnFilter as Y, type CustomColumnFilter as Z, type CustomFilterFn as _, type Unsubscribe as a, sortPriorityForColumn as a$, type DateColumnFilter as a0, type DateFilterOp as a1, type FilterAccessor as a2, type FilterDef as a3, type FilterJoin as a4, HEADER_SORT_CLICK_MAX_MOVE_PX as a5, INDEX_COL_ID as a6, type ItemType as a7, type NumberColumnFilter as a8, type NumberFilterOp as a9, compareSortValues as aA, compareTypedValues as aB, createEmptyCellRangeSelection as aC, ctrlClickCell as aD, cycleSortModel as aE, defaultGetRowId as aF, ensureIndexColumnDef as aG, isBlankSortValue as aH, isCellInRange as aI, isColumnFilterActive as aJ, isHeaderColumnSortable as aK, isServerRowModel as aL, isWindowedRepository as aM, mapRowDataToRowInputs as aN, mergeCellRanges as aO, moveCellAddress as aP, normalizeCellRange as aQ, normalizeDigits as aR, normalizeFilterText as aS, pageWindow as aT, rangeFromAnchorFocus as aU, rangesOverlap as aV, resolveBuiltinFilterKind as aW, selectAllCellRanges as aX, shiftArrowCell as aY, shiftClickCell as aZ, shouldCommitHeaderSortClick as a_, type PersistedRowRecord as aa, type RowModelType as ab, RowStateEnum as ac, type SetColumnFilter as ad, type SetFilterOp as ae, type SimpleColumnFilter as af, type SortAccessor as ag, type SortDirection as ah, type SortModel as ai, type SortModelItem as aj, type SortValueComparator as ak, SparseRowIndex as al, type TextColumnFilter as am, type TextFilterOp as an, type ViewIntent as ao, Viewport as ap, type VisibleRange as aq, applyFilter as ar, applyHostRowDataToTable as as, applySort as at, ariaSortForColumn as au, clampColIndex as av, clampRowIndex as aw, clickCell as ax, colIndex as ay, collectUniqueFilterValues as az, type GridSession as b, type ExportRequestedPayload as b0, type ImportRequestedPayload as b1, type IRule as b2, type ColumnVisibilityRule as b3, type IDependOn as b4, type Actor$1 as
|
|
2625
|
+
export { type CycleSortModelOptions as $, type AggFunc as A, type AriaSortValue as B, type ColumnSchema as C, type DefaultOptionType as D, type EventStore as E, type FilterModel as F, type GridEvent as G, HistoryPanelViewModel as H, type ArrowDirection as I, type BooleanColumnFilter as J, type BooleanFilterOp as K, type BuiltinFilterKind as L, type MobileTableViewState as M, type CellRangeBounds as N, type CellRangeSelection as O, type ColumnDefBridge as P, type ColumnField as Q, Row as R, type ColumnFilter as S, type TableSnapShot as T, type UIRow as U, type ValidCell as V, type WindowedTableRepository as W, type ColumnPinned as X, type CombinedColumnFilter as Y, type CustomColumnFilter as Z, type CustomFilterFn as _, type Unsubscribe as a, sortPriorityForColumn as a$, type DateColumnFilter as a0, type DateFilterOp as a1, type FilterAccessor as a2, type FilterDef as a3, type FilterJoin as a4, HEADER_SORT_CLICK_MAX_MOVE_PX as a5, INDEX_COL_ID as a6, type ItemType as a7, type NumberColumnFilter as a8, type NumberFilterOp as a9, compareSortValues as aA, compareTypedValues as aB, createEmptyCellRangeSelection as aC, ctrlClickCell as aD, cycleSortModel as aE, defaultGetRowId as aF, ensureIndexColumnDef as aG, isBlankSortValue as aH, isCellInRange as aI, isColumnFilterActive as aJ, isHeaderColumnSortable as aK, isServerRowModel as aL, isWindowedRepository as aM, mapRowDataToRowInputs as aN, mergeCellRanges as aO, moveCellAddress as aP, normalizeCellRange as aQ, normalizeDigits as aR, normalizeFilterText as aS, pageWindow as aT, rangeFromAnchorFocus as aU, rangesOverlap as aV, resolveBuiltinFilterKind as aW, selectAllCellRanges as aX, shiftArrowCell as aY, shiftClickCell as aZ, shouldCommitHeaderSortClick as a_, type PersistedRowRecord as aa, type RowModelType as ab, RowStateEnum as ac, type SetColumnFilter as ad, type SetFilterOp as ae, type SimpleColumnFilter as af, type SortAccessor as ag, type SortDirection as ah, type SortModel as ai, type SortModelItem as aj, type SortValueComparator as ak, SparseRowIndex as al, type TextColumnFilter as am, type TextFilterOp as an, type ViewIntent as ao, Viewport as ap, type VisibleRange as aq, applyFilter as ar, applyHostRowDataToTable as as, applySort as at, ariaSortForColumn as au, clampColIndex as av, clampRowIndex as aw, clickCell as ax, colIndex as ay, collectUniqueFilterValues as az, type GridSession as b, type ExportRequestedPayload as b0, type ImportRequestedPayload as b1, type IRule as b2, type ColumnVisibilityRule as b3, type IDependOn as b4, type ResolveOnConfig as b5, type IBaseQueryResponse as b6, type HostRemoteApi as b7, type Actor$1 as b8, type ColDefOrGroup as b9, type TableRepository as ba, type PermissionPolicy as bb, type CellEditType as bc, type CellEditCommit as bd, type EnterNavigation as be, type IMultiSelectConfig as bf, type ColumnGroupDef as bg, type ColumnGroupMeta as bh, type ColumnGroupPathEntry as bi, isColumnGroupDef as bj, type CollectionScope as c, type CellRange as d, TableEngine as e, Table as f, type TableActions as g, type GridSearchState as h, ChangelogProjection as i, CellUndoStack as j, type TableViewState as k, type ColumnDef as l, type GetRowId as m, Cell as n, type ChangelogQuery as o, type ChangelogEntry as p, type HistoryQuery as q, type HistoryItem as r, type ActiveCell as s, type CellEditValue as t, type MobileEditorState as u, type ValidationCallbackResult as v, type CellAddress as w, type FieldType as x, type AggFuncName as y, type AppendResult as z };
|