@ishibashi0112/spreadsheet-grid-core 0.39.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/LICENSE +21 -0
- package/dist/controllers/autoHeightMeasurer.cjs +1 -0
- package/dist/controllers/autoHeightMeasurer.d.ts +30 -0
- package/dist/controllers/autoHeightMeasurer.js +74 -0
- package/dist/controllers/clipboardController.cjs +2 -0
- package/dist/controllers/clipboardController.d.ts +31 -0
- package/dist/controllers/clipboardController.js +88 -0
- package/dist/controllers/columnAutosizeRunner.cjs +1 -0
- package/dist/controllers/columnAutosizeRunner.d.ts +31 -0
- package/dist/controllers/columnAutosizeRunner.js +61 -0
- package/dist/controllers/columnHeaderDragController.cjs +1 -0
- package/dist/controllers/columnHeaderDragController.d.ts +44 -0
- package/dist/controllers/columnHeaderDragController.js +256 -0
- package/dist/controllers/columnMenuController.cjs +1 -0
- package/dist/controllers/columnMenuController.d.ts +49 -0
- package/dist/controllers/columnMenuController.js +110 -0
- package/dist/controllers/contextMenuController.cjs +1 -0
- package/dist/controllers/contextMenuController.d.ts +30 -0
- package/dist/controllers/contextMenuController.js +65 -0
- package/dist/controllers/debouncedValueStore.cjs +1 -0
- package/dist/controllers/debouncedValueStore.d.ts +11 -0
- package/dist/controllers/debouncedValueStore.js +22 -0
- package/dist/controllers/editController.cjs +1 -0
- package/dist/controllers/editController.d.ts +27 -0
- package/dist/controllers/editController.js +76 -0
- package/dist/controllers/filterPopoverController.cjs +1 -0
- package/dist/controllers/filterPopoverController.d.ts +53 -0
- package/dist/controllers/filterPopoverController.js +146 -0
- package/dist/controllers/globalFilteredOrder.cjs +1 -0
- package/dist/controllers/globalFilteredOrder.d.ts +38 -0
- package/dist/controllers/globalFilteredOrder.js +78 -0
- package/dist/controllers/historyController.cjs +1 -0
- package/dist/controllers/historyController.d.ts +28 -0
- package/dist/controllers/historyController.js +52 -0
- package/dist/controllers/keyboardController.cjs +1 -0
- package/dist/controllers/keyboardController.d.ts +36 -0
- package/dist/controllers/keyboardController.js +111 -0
- package/dist/controllers/panelHeaderDragController.cjs +1 -0
- package/dist/controllers/panelHeaderDragController.d.ts +21 -0
- package/dist/controllers/panelHeaderDragController.js +32 -0
- package/dist/controllers/pointerInteractionsController.cjs +1 -0
- package/dist/controllers/pointerInteractionsController.d.ts +74 -0
- package/dist/controllers/pointerInteractionsController.js +262 -0
- package/dist/controllers/popoverSupport.cjs +1 -0
- package/dist/controllers/popoverSupport.d.ts +18 -0
- package/dist/controllers/popoverSupport.js +25 -0
- package/dist/controllers/rowDragController.cjs +1 -0
- package/dist/controllers/rowDragController.d.ts +40 -0
- package/dist/controllers/rowDragController.js +192 -0
- package/dist/controllers/scrollSyncController.cjs +1 -0
- package/dist/controllers/scrollSyncController.d.ts +17 -0
- package/dist/controllers/scrollSyncController.js +51 -0
- package/dist/controllers/selectOptionsCollector.cjs +1 -0
- package/dist/controllers/selectOptionsCollector.d.ts +31 -0
- package/dist/controllers/selectOptionsCollector.js +88 -0
- package/dist/controllers/serverSideRowModel.cjs +1 -0
- package/dist/controllers/serverSideRowModel.d.ts +36 -0
- package/dist/controllers/serverSideRowModel.js +153 -0
- package/dist/controllers/systemColorSchemeStore.cjs +1 -0
- package/dist/controllers/systemColorSchemeStore.d.ts +5 -0
- package/dist/controllers/systemColorSchemeStore.js +18 -0
- package/dist/controllers/toolPanelController.cjs +1 -0
- package/dist/controllers/toolPanelController.d.ts +36 -0
- package/dist/controllers/toolPanelController.js +112 -0
- package/dist/controllers/tooltipController.cjs +1 -0
- package/dist/controllers/tooltipController.d.ts +6 -0
- package/dist/controllers/tooltipController.js +75 -0
- package/dist/controllers/viewportSyncController.cjs +1 -0
- package/dist/controllers/viewportSyncController.d.ts +30 -0
- package/dist/controllers/viewportSyncController.js +40 -0
- package/dist/engine/columnCommands.cjs +1 -0
- package/dist/engine/columnCommands.d.ts +56 -0
- package/dist/engine/columnCommands.js +199 -0
- package/dist/engine/columnLayout.cjs +1 -0
- package/dist/engine/columnLayout.d.ts +43 -0
- package/dist/engine/columnLayout.js +91 -0
- package/dist/engine/createGridEngine.cjs +1 -0
- package/dist/engine/createGridEngine.d.ts +46 -0
- package/dist/engine/createGridEngine.js +52 -0
- package/dist/engine/filterPopoverCommands.cjs +1 -0
- package/dist/engine/filterPopoverCommands.d.ts +56 -0
- package/dist/engine/filterPopoverCommands.js +303 -0
- package/dist/engine/gridApi.cjs +1 -0
- package/dist/engine/gridApi.d.ts +61 -0
- package/dist/engine/gridApi.js +389 -0
- package/dist/engine/memo.cjs +1 -0
- package/dist/engine/memo.d.ts +2 -0
- package/dist/engine/memo.js +18 -0
- package/dist/engine/notifiers.cjs +1 -0
- package/dist/engine/notifiers.d.ts +35 -0
- package/dist/engine/notifiers.js +34 -0
- package/dist/engine/rowPipeline.cjs +1 -0
- package/dist/engine/rowPipeline.d.ts +50 -0
- package/dist/engine/rowPipeline.js +84 -0
- package/dist/engine/rowSelectionCommands.cjs +1 -0
- package/dist/engine/rowSelectionCommands.d.ts +21 -0
- package/dist/engine/rowSelectionCommands.js +57 -0
- package/dist/engine/verticalLayout.cjs +1 -0
- package/dist/engine/verticalLayout.d.ts +52 -0
- package/dist/engine/verticalLayout.js +60 -0
- package/dist/index.cjs +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.js +5 -0
- package/dist/logic/aggregation.cjs +1 -0
- package/dist/logic/aggregation.d.ts +13 -0
- package/dist/logic/aggregation.js +28 -0
- package/dist/logic/autoScrollGeometry.cjs +1 -0
- package/dist/logic/autoScrollGeometry.d.ts +27 -0
- package/dist/logic/autoScrollGeometry.js +19 -0
- package/dist/logic/autoSizeOnData.cjs +1 -0
- package/dist/logic/autoSizeOnData.d.ts +10 -0
- package/dist/logic/autoSizeOnData.js +19 -0
- package/dist/logic/cellOverflowTooltip.cjs +1 -0
- package/dist/logic/cellOverflowTooltip.d.ts +5 -0
- package/dist/logic/cellOverflowTooltip.js +4 -0
- package/dist/logic/checkboxEditor.cjs +1 -0
- package/dist/logic/checkboxEditor.d.ts +12 -0
- package/dist/logic/checkboxEditor.js +17 -0
- package/dist/logic/chunkedLoop.cjs +1 -0
- package/dist/logic/chunkedLoop.d.ts +8 -0
- package/dist/logic/chunkedLoop.js +18 -0
- package/dist/logic/clearCells.cjs +1 -0
- package/dist/logic/clearCells.d.ts +31 -0
- package/dist/logic/clearCells.js +91 -0
- package/dist/logic/columnAutosize.cjs +1 -0
- package/dist/logic/columnAutosize.d.ts +18 -0
- package/dist/logic/columnAutosize.js +150 -0
- package/dist/logic/columnFlex.cjs +1 -0
- package/dist/logic/columnFlex.d.ts +4 -0
- package/dist/logic/columnFlex.js +60 -0
- package/dist/logic/columnReset.cjs +1 -0
- package/dist/logic/columnReset.d.ts +7 -0
- package/dist/logic/columnReset.js +25 -0
- package/dist/logic/contextMenuTarget.cjs +1 -0
- package/dist/logic/contextMenuTarget.d.ts +4 -0
- package/dist/logic/contextMenuTarget.js +18 -0
- package/dist/logic/cx.cjs +1 -0
- package/dist/logic/cx.d.ts +1 -0
- package/dist/logic/cx.js +6 -0
- package/dist/logic/dateFilterCondition.cjs +1 -0
- package/dist/logic/dateFilterCondition.d.ts +26 -0
- package/dist/logic/dateFilterCondition.js +110 -0
- package/dist/logic/dateFilterPresets.cjs +1 -0
- package/dist/logic/dateFilterPresets.d.ts +13 -0
- package/dist/logic/dateFilterPresets.js +30 -0
- package/dist/logic/dateFilterTree.cjs +1 -0
- package/dist/logic/dateFilterTree.d.ts +17 -0
- package/dist/logic/dateFilterTree.js +75 -0
- package/dist/logic/datePickerCalendar.cjs +1 -0
- package/dist/logic/datePickerCalendar.d.ts +12 -0
- package/dist/logic/datePickerCalendar.js +41 -0
- package/dist/logic/detailRow.cjs +1 -0
- package/dist/logic/detailRow.d.ts +38 -0
- package/dist/logic/detailRow.js +78 -0
- package/dist/logic/domGuards.cjs +1 -0
- package/dist/logic/domGuards.d.ts +7 -0
- package/dist/logic/domGuards.js +4 -0
- package/dist/logic/editorValues.cjs +1 -0
- package/dist/logic/editorValues.d.ts +5 -0
- package/dist/logic/editorValues.js +32 -0
- package/dist/logic/exportCsv.cjs +3 -0
- package/dist/logic/exportCsv.d.ts +12 -0
- package/dist/logic/exportCsv.js +19 -0
- package/dist/logic/exportData.cjs +1 -0
- package/dist/logic/exportData.d.ts +9 -0
- package/dist/logic/exportData.js +24 -0
- package/dist/logic/exportScope.cjs +1 -0
- package/dist/logic/exportScope.d.ts +3 -0
- package/dist/logic/exportScope.js +4 -0
- package/dist/logic/filterPopoverLayout.cjs +1 -0
- package/dist/logic/filterPopoverLayout.d.ts +17 -0
- package/dist/logic/filterPopoverLayout.js +13 -0
- package/dist/logic/filterPopoverOutsideClick.cjs +1 -0
- package/dist/logic/filterPopoverOutsideClick.d.ts +2 -0
- package/dist/logic/filterPopoverOutsideClick.js +4 -0
- package/dist/logic/filterSummary.cjs +1 -0
- package/dist/logic/filterSummary.d.ts +3 -0
- package/dist/logic/filterSummary.js +22 -0
- package/dist/logic/filtering.cjs +1 -0
- package/dist/logic/filtering.d.ts +33 -0
- package/dist/logic/filtering.js +313 -0
- package/dist/logic/geometry.cjs +1 -0
- package/dist/logic/geometry.d.ts +72 -0
- package/dist/logic/geometry.js +161 -0
- package/dist/logic/gridState.cjs +1 -0
- package/dist/logic/gridState.d.ts +13 -0
- package/dist/logic/gridState.js +165 -0
- package/dist/logic/grouping.cjs +1 -0
- package/dist/logic/grouping.d.ts +34 -0
- package/dist/logic/grouping.js +93 -0
- package/dist/logic/history.cjs +1 -0
- package/dist/logic/history.d.ts +16 -0
- package/dist/logic/history.js +34 -0
- package/dist/logic/inferFilterType.cjs +1 -0
- package/dist/logic/inferFilterType.d.ts +19 -0
- package/dist/logic/inferFilterType.js +54 -0
- package/dist/logic/numberFilterCondition.cjs +1 -0
- package/dist/logic/numberFilterCondition.d.ts +21 -0
- package/dist/logic/numberFilterCondition.js +130 -0
- package/dist/logic/panelDragGeometry.cjs +1 -0
- package/dist/logic/panelDragGeometry.d.ts +13 -0
- package/dist/logic/panelDragGeometry.js +10 -0
- package/dist/logic/rowHeightStore.cjs +1 -0
- package/dist/logic/rowHeightStore.d.ts +13 -0
- package/dist/logic/rowHeightStore.js +41 -0
- package/dist/logic/rowReorder.cjs +1 -0
- package/dist/logic/rowReorder.d.ts +18 -0
- package/dist/logic/rowReorder.js +22 -0
- package/dist/logic/rowSelection.cjs +1 -0
- package/dist/logic/rowSelection.d.ts +16 -0
- package/dist/logic/rowSelection.js +49 -0
- package/dist/logic/scrollHint.cjs +1 -0
- package/dist/logic/scrollHint.d.ts +41 -0
- package/dist/logic/scrollHint.js +66 -0
- package/dist/logic/scrollTargets.cjs +1 -0
- package/dist/logic/scrollTargets.d.ts +22 -0
- package/dist/logic/scrollTargets.js +24 -0
- package/dist/logic/selectEditorState.cjs +1 -0
- package/dist/logic/selectEditorState.d.ts +28 -0
- package/dist/logic/selectEditorState.js +31 -0
- package/dist/logic/selectOptions.cjs +1 -0
- package/dist/logic/selectOptions.d.ts +9 -0
- package/dist/logic/selectOptions.js +23 -0
- package/dist/logic/serverSideBlocks.cjs +1 -0
- package/dist/logic/serverSideBlocks.d.ts +2 -0
- package/dist/logic/serverSideBlocks.js +14 -0
- package/dist/logic/serverSideCache.cjs +1 -0
- package/dist/logic/serverSideCache.d.ts +14 -0
- package/dist/logic/serverSideCache.js +42 -0
- package/dist/logic/serverSideEdits.cjs +1 -0
- package/dist/logic/serverSideEdits.d.ts +16 -0
- package/dist/logic/serverSideEdits.js +47 -0
- package/dist/logic/serverSideQuery.cjs +1 -0
- package/dist/logic/serverSideQuery.d.ts +7 -0
- package/dist/logic/serverSideQuery.js +21 -0
- package/dist/logic/setFilterSearch.cjs +1 -0
- package/dist/logic/setFilterSearch.d.ts +14 -0
- package/dist/logic/setFilterSearch.js +14 -0
- package/dist/logic/setFilterSelection.cjs +1 -0
- package/dist/logic/setFilterSelection.d.ts +5 -0
- package/dist/logic/setFilterSelection.js +4 -0
- package/dist/logic/slotDom.cjs +1 -0
- package/dist/logic/slotDom.d.ts +8 -0
- package/dist/logic/slotDom.js +22 -0
- package/dist/logic/slotProps.cjs +1 -0
- package/dist/logic/slotProps.d.ts +18 -0
- package/dist/logic/slotProps.js +63 -0
- package/dist/logic/sorting.cjs +1 -0
- package/dist/logic/sorting.d.ts +11 -0
- package/dist/logic/sorting.js +96 -0
- package/dist/logic/textFilterCondition.cjs +1 -0
- package/dist/logic/textFilterCondition.d.ts +18 -0
- package/dist/logic/textFilterCondition.js +55 -0
- package/dist/logic/theme.cjs +1 -0
- package/dist/logic/theme.d.ts +3 -0
- package/dist/logic/theme.js +4 -0
- package/dist/logic/tooltipGeometry.cjs +1 -0
- package/dist/logic/tooltipGeometry.d.ts +19 -0
- package/dist/logic/tooltipGeometry.js +16 -0
- package/dist/logic/validation.cjs +1 -0
- package/dist/logic/validation.d.ts +14 -0
- package/dist/logic/validation.js +47 -0
- package/dist/logic/valueFormatters.cjs +1 -0
- package/dist/logic/valueFormatters.d.ts +9 -0
- package/dist/logic/valueFormatters.js +17 -0
- package/dist/logic/valueStore.cjs +1 -0
- package/dist/logic/valueStore.d.ts +6 -0
- package/dist/logic/valueStore.js +18 -0
- package/dist/logic/verticalGeometry.cjs +1 -0
- package/dist/logic/verticalGeometry.d.ts +58 -0
- package/dist/logic/verticalGeometry.js +90 -0
- package/dist/model/gridActions.cjs +1 -0
- package/dist/model/gridActions.d.ts +125 -0
- package/dist/model/gridActions.js +114 -0
- package/dist/model/gridReducer.cjs +1 -0
- package/dist/model/gridReducer.d.ts +4 -0
- package/dist/model/gridReducer.js +247 -0
- package/dist/model/gridSelectors.cjs +1 -0
- package/dist/model/gridSelectors.d.ts +40 -0
- package/dist/model/gridSelectors.js +68 -0
- package/dist/model/gridStore.cjs +1 -0
- package/dist/model/gridStore.d.ts +24 -0
- package/dist/model/gridStore.js +38 -0
- package/dist/model/gridTypes.core.cjs +1 -0
- package/dist/model/gridTypes.core.d.ts +797 -0
- package/dist/model/gridTypes.core.js +0 -0
- package/dist/model/gridTypes.unbound.cjs +1 -0
- package/dist/model/gridTypes.unbound.d.ts +31 -0
- package/dist/model/gridTypes.unbound.js +0 -0
- package/dist/testing/index.cjs +1 -0
- package/dist/testing/index.d.ts +5 -0
- package/dist/testing/index.js +51 -0
- package/dist/utils/clipboard.cjs +7 -0
- package/dist/utils/clipboard.d.ts +29 -0
- package/dist/utils/clipboard.js +110 -0
- package/dist/utils/excelColumnName.cjs +1 -0
- package/dist/utils/excelColumnName.d.ts +1 -0
- package/dist/utils/excelColumnName.js +9 -0
- package/dist/utils/permissions.cjs +1 -0
- package/dist/utils/permissions.d.ts +4 -0
- package/dist/utils/permissions.js +7 -0
- package/dist/utils/scheduler.cjs +1 -0
- package/dist/utils/scheduler.d.ts +1 -0
- package/dist/utils/scheduler.js +13 -0
- package/package.json +58 -0
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
//#region src/logic/rowHeightStore.ts
|
|
2
|
+
var e = (e, t) => {
|
|
3
|
+
let { heights: n, prefix: r, rowCount: i } = e, a = Math.max(t, 0);
|
|
4
|
+
for (let e = a; e < i; e += 1) r[e + 1] = r[e] + n[e];
|
|
5
|
+
}, t = (t, n, r, i) => {
|
|
6
|
+
let a = i ?? /* @__PURE__ */ new Map(), o = Math.max(t, 0), s = new Float64Array(o);
|
|
7
|
+
for (let e = 0; e < o; e += 1) {
|
|
8
|
+
let t = a.get(r(e));
|
|
9
|
+
s[e] = t === void 0 ? n : t;
|
|
10
|
+
}
|
|
11
|
+
let c = {
|
|
12
|
+
rowCount: o,
|
|
13
|
+
estimate: n,
|
|
14
|
+
heights: s,
|
|
15
|
+
prefix: new Float64Array(o + 1),
|
|
16
|
+
measured: a
|
|
17
|
+
};
|
|
18
|
+
return e(c, 0), c;
|
|
19
|
+
}, n = (e, t, n, r) => t < 0 || t >= e.rowCount || (e.measured.set(n, r), e.heights[t] === r) ? !1 : (e.heights[t] = r, !0), r = (e, t, n) => {
|
|
20
|
+
if (t <= 0 || n <= 0) return 0;
|
|
21
|
+
if (n >= e[t]) return t - 1;
|
|
22
|
+
let r = 0, i = t;
|
|
23
|
+
for (; r < i;) {
|
|
24
|
+
let t = r + i + 1 >> 1;
|
|
25
|
+
e[t] <= n ? r = t : i = t - 1;
|
|
26
|
+
}
|
|
27
|
+
return Math.min(Math.max(r, 0), t - 1);
|
|
28
|
+
}, i = (e) => {
|
|
29
|
+
let { prefix: t, rowCount: n } = e;
|
|
30
|
+
return {
|
|
31
|
+
rowCount: n,
|
|
32
|
+
rowTop: (e) => t[Math.min(Math.max(e, 0), n)],
|
|
33
|
+
rowsHeight: (e, r) => t[Math.min(Math.max(r + 1, 0), n)] - t[Math.min(Math.max(e, 0), n)],
|
|
34
|
+
totalBodyHeight: t[n],
|
|
35
|
+
rowAtContentY: (e) => r(t, n, e),
|
|
36
|
+
cellHeight: (e) => t[Math.min(Math.max(e + 1, 0), n)] - t[Math.min(Math.max(e, 0), n)],
|
|
37
|
+
detailHeight: () => 0
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
//#endregion
|
|
41
|
+
export { t as buildRowHeightStore, i as createAutoHeightRowMetrics, e as rebuildPrefixFrom, n as setMeasuredRowHeight };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=`__ssg_row_drag_handle__`,t=28,n=(e,t,n)=>{let r=e.length;if(!Number.isInteger(t)||!Number.isInteger(n)||t<0||t>=r||n<0||n>=r||t===n)return e;let i=e.slice(),[a]=i.splice(t,1);return i.splice(n,0,a),i},r=(e,t)=>t===e||t===e+1?null:t>e?t-1:t,i=(e,t)=>{let{rowCount:n}=t;if(n<=0||e<=0)return 0;if(e>=t.totalBodyHeight)return n;let r=t.rowAtContentY(e);return e-t.rowTop(r)<t.cellHeight(r)/2?r:r+1},a=(e,t)=>{let{rowCount:n}=t;return n<=0||e<=0?0:e>=n?t.totalBodyHeight:t.rowTop(e)},o=(e,t)=>{if(e.length!==t)return!1;for(let n=0;n<t;n+=1)if(e[n]!==n)return!1;return!0},s=({enableRowDrag:e,isServerSide:t,rowGroupingActive:n,hasRowsChange:r})=>e&&!t&&!n&&r,c=(e,t)=>e&&t,l=`ソート / フィルター適用中は行を並び替えできません`,u=`ドラッグで行を移動`;exports.ROW_DRAG_DISABLED_TOOLTIP=l,exports.ROW_DRAG_HANDLE_COLUMN_KEY=e,exports.ROW_DRAG_HANDLE_COLUMN_WIDTH=t,exports.ROW_DRAG_HANDLE_TOOLTIP=u,exports.isIdentityOrder=o,exports.isRowDragAvailable=s,exports.isRowDragOperable=c,exports.moveArrayItem=n,exports.resolveMoveTargetIndex=r,exports.resolveRowDropSlot=i,exports.resolveRowDropSlotTop=a;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { RowMetrics } from './verticalGeometry';
|
|
2
|
+
export declare const ROW_DRAG_HANDLE_COLUMN_KEY = "__ssg_row_drag_handle__";
|
|
3
|
+
export declare const ROW_DRAG_HANDLE_COLUMN_WIDTH = 28;
|
|
4
|
+
export declare const moveArrayItem: <T>(items: readonly T[], fromIndex: number, toIndex: number) => readonly T[];
|
|
5
|
+
export declare const resolveMoveTargetIndex: (fromIndex: number, dropSlot: number) => number | null;
|
|
6
|
+
export declare const resolveRowDropSlot: (contentY: number, rowMetrics: RowMetrics) => number;
|
|
7
|
+
export declare const resolveRowDropSlotTop: (slot: number, rowMetrics: RowMetrics) => number;
|
|
8
|
+
export declare const isIdentityOrder: (order: ArrayLike<number>, rowCount: number) => boolean;
|
|
9
|
+
export type RowDragAvailabilityArgs = {
|
|
10
|
+
enableRowDrag: boolean;
|
|
11
|
+
isServerSide: boolean;
|
|
12
|
+
rowGroupingActive: boolean;
|
|
13
|
+
hasRowsChange: boolean;
|
|
14
|
+
};
|
|
15
|
+
export declare const isRowDragAvailable: ({ enableRowDrag, isServerSide, rowGroupingActive, hasRowsChange, }: RowDragAvailabilityArgs) => boolean;
|
|
16
|
+
export declare const isRowDragOperable: (available: boolean, orderIsIdentity: boolean) => boolean;
|
|
17
|
+
export declare const ROW_DRAG_DISABLED_TOOLTIP = "\u30BD\u30FC\u30C8 / \u30D5\u30A3\u30EB\u30BF\u30FC\u9069\u7528\u4E2D\u306F\u884C\u3092\u4E26\u3073\u66FF\u3048\u3067\u304D\u307E\u305B\u3093";
|
|
18
|
+
export declare const ROW_DRAG_HANDLE_TOOLTIP = "\u30C9\u30E9\u30C3\u30B0\u3067\u884C\u3092\u79FB\u52D5";
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
//#region src/logic/rowReorder.ts
|
|
2
|
+
var e = "__ssg_row_drag_handle__", t = 28, n = (e, t, n) => {
|
|
3
|
+
let r = e.length;
|
|
4
|
+
if (!Number.isInteger(t) || !Number.isInteger(n) || t < 0 || t >= r || n < 0 || n >= r || t === n) return e;
|
|
5
|
+
let i = e.slice(), [a] = i.splice(t, 1);
|
|
6
|
+
return i.splice(n, 0, a), i;
|
|
7
|
+
}, r = (e, t) => t === e || t === e + 1 ? null : t > e ? t - 1 : t, i = (e, t) => {
|
|
8
|
+
let { rowCount: n } = t;
|
|
9
|
+
if (n <= 0 || e <= 0) return 0;
|
|
10
|
+
if (e >= t.totalBodyHeight) return n;
|
|
11
|
+
let r = t.rowAtContentY(e);
|
|
12
|
+
return e - t.rowTop(r) < t.cellHeight(r) / 2 ? r : r + 1;
|
|
13
|
+
}, a = (e, t) => {
|
|
14
|
+
let { rowCount: n } = t;
|
|
15
|
+
return n <= 0 || e <= 0 ? 0 : e >= n ? t.totalBodyHeight : t.rowTop(e);
|
|
16
|
+
}, o = (e, t) => {
|
|
17
|
+
if (e.length !== t) return !1;
|
|
18
|
+
for (let n = 0; n < t; n += 1) if (e[n] !== n) return !1;
|
|
19
|
+
return !0;
|
|
20
|
+
}, s = ({ enableRowDrag: e, isServerSide: t, rowGroupingActive: n, hasRowsChange: r }) => e && !t && !n && r, c = (e, t) => e && t, l = "ソート / フィルター適用中は行を並び替えできません", u = "ドラッグで行を移動";
|
|
21
|
+
//#endregion
|
|
22
|
+
export { l as ROW_DRAG_DISABLED_TOOLTIP, e as ROW_DRAG_HANDLE_COLUMN_KEY, t as ROW_DRAG_HANDLE_COLUMN_WIDTH, u as ROW_DRAG_HANDLE_TOOLTIP, o as isIdentityOrder, s as isRowDragAvailable, c as isRowDragOperable, n as moveArrayItem, r as resolveMoveTargetIndex, i as resolveRowDropSlot, a as resolveRowDropSlotTop };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=()=>({mode:`include`,keys:new Set}),t=(e,t)=>e.mode===`exclude`?!e.keys.has(t):e.keys.has(t),n=(e,t)=>{let n=new Set(e.keys);return n.has(t)?n.delete(t):n.add(t),{mode:e.mode,keys:n}},r=e=>({mode:`include`,keys:new Set([e])}),i=e=>({mode:`include`,keys:new Set(e)}),a=(e,t)=>{let n=new Set(e.keys);if(e.mode===`exclude`){for(let e of t)n.delete(e);return{mode:`exclude`,keys:n}}for(let e of t)n.add(e);return{mode:`include`,keys:n}},o=()=>({mode:`exclude`,keys:new Set}),s=()=>e(),c=(e,t)=>e.mode===`exclude`?Math.max(0,t-e.keys.size):e.keys.size,l=(e,t)=>{let n=c(e,t);return n<=0?`none`:t>0&&n>=t?`all`:`some`},u=e=>({type:e.mode,rowKeys:Array.from(e.keys)}),d=e=>({mode:e.type,keys:new Set(e.rowKeys)}),f=(e,t)=>{if(e.mode!==t.mode||e.keys.size!==t.keys.size)return!1;for(let n of e.keys)if(!t.keys.has(n))return!1;return!0},p=(e,t)=>f(d(e),d(t));exports.addRowRange=a,exports.clearRowSelection=s,exports.countSelectedRows=c,exports.createEmptyRowSelection=e,exports.getSelectAllState=l,exports.resolveIsRowSelected=t,exports.rowSelectionFromModel=d,exports.rowSelectionModelEquals=p,exports.rowSelectionStateEquals=f,exports.rowSelectionToModel=u,exports.selectAllRows=o,exports.selectRowRange=i,exports.selectSingleRow=r,exports.toggleRowKey=n;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { GridRowKey, RowSelectionModel, RowSelectionState, SelectAllState } from '../model/gridTypes.unbound';
|
|
2
|
+
export type { RowSelectionModel, RowSelectionState, SelectAllState };
|
|
3
|
+
export declare const createEmptyRowSelection: () => RowSelectionState;
|
|
4
|
+
export declare const resolveIsRowSelected: (state: RowSelectionState, rowKey: GridRowKey) => boolean;
|
|
5
|
+
export declare const toggleRowKey: (state: RowSelectionState, rowKey: GridRowKey) => RowSelectionState;
|
|
6
|
+
export declare const selectSingleRow: (rowKey: GridRowKey) => RowSelectionState;
|
|
7
|
+
export declare const selectRowRange: (rangeKeys: GridRowKey[]) => RowSelectionState;
|
|
8
|
+
export declare const addRowRange: (base: RowSelectionState, rangeKeys: GridRowKey[]) => RowSelectionState;
|
|
9
|
+
export declare const selectAllRows: () => RowSelectionState;
|
|
10
|
+
export declare const clearRowSelection: () => RowSelectionState;
|
|
11
|
+
export declare const countSelectedRows: (state: RowSelectionState, totalRowCount: number) => number;
|
|
12
|
+
export declare const getSelectAllState: (state: RowSelectionState, totalRowCount: number) => SelectAllState;
|
|
13
|
+
export declare const rowSelectionToModel: (state: RowSelectionState) => RowSelectionModel;
|
|
14
|
+
export declare const rowSelectionFromModel: (model: RowSelectionModel) => RowSelectionState;
|
|
15
|
+
export declare const rowSelectionStateEquals: (a: RowSelectionState, b: RowSelectionState) => boolean;
|
|
16
|
+
export declare const rowSelectionModelEquals: (a: RowSelectionModel, b: RowSelectionModel) => boolean;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
//#region src/logic/rowSelection.ts
|
|
2
|
+
var e = () => ({
|
|
3
|
+
mode: "include",
|
|
4
|
+
keys: /* @__PURE__ */ new Set()
|
|
5
|
+
}), t = (e, t) => e.mode === "exclude" ? !e.keys.has(t) : e.keys.has(t), n = (e, t) => {
|
|
6
|
+
let n = new Set(e.keys);
|
|
7
|
+
return n.has(t) ? n.delete(t) : n.add(t), {
|
|
8
|
+
mode: e.mode,
|
|
9
|
+
keys: n
|
|
10
|
+
};
|
|
11
|
+
}, r = (e) => ({
|
|
12
|
+
mode: "include",
|
|
13
|
+
keys: /* @__PURE__ */ new Set([e])
|
|
14
|
+
}), i = (e) => ({
|
|
15
|
+
mode: "include",
|
|
16
|
+
keys: new Set(e)
|
|
17
|
+
}), a = (e, t) => {
|
|
18
|
+
let n = new Set(e.keys);
|
|
19
|
+
if (e.mode === "exclude") {
|
|
20
|
+
for (let e of t) n.delete(e);
|
|
21
|
+
return {
|
|
22
|
+
mode: "exclude",
|
|
23
|
+
keys: n
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
for (let e of t) n.add(e);
|
|
27
|
+
return {
|
|
28
|
+
mode: "include",
|
|
29
|
+
keys: n
|
|
30
|
+
};
|
|
31
|
+
}, o = () => ({
|
|
32
|
+
mode: "exclude",
|
|
33
|
+
keys: /* @__PURE__ */ new Set()
|
|
34
|
+
}), s = () => e(), c = (e, t) => e.mode === "exclude" ? Math.max(0, t - e.keys.size) : e.keys.size, l = (e, t) => {
|
|
35
|
+
let n = c(e, t);
|
|
36
|
+
return n <= 0 ? "none" : t > 0 && n >= t ? "all" : "some";
|
|
37
|
+
}, u = (e) => ({
|
|
38
|
+
type: e.mode,
|
|
39
|
+
rowKeys: Array.from(e.keys)
|
|
40
|
+
}), d = (e) => ({
|
|
41
|
+
mode: e.type,
|
|
42
|
+
keys: new Set(e.rowKeys)
|
|
43
|
+
}), f = (e, t) => {
|
|
44
|
+
if (e.mode !== t.mode || e.keys.size !== t.keys.size) return !1;
|
|
45
|
+
for (let n of e.keys) if (!t.keys.has(n)) return !1;
|
|
46
|
+
return !0;
|
|
47
|
+
}, p = (e, t) => f(d(e), d(t));
|
|
48
|
+
//#endregion
|
|
49
|
+
export { a as addRowRange, s as clearRowSelection, c as countSelectedRows, e as createEmptyRowSelection, l as getSelectAllState, t as resolveIsRowSelected, d as rowSelectionFromModel, p as rowSelectionModelEquals, f as rowSelectionStateEquals, u as rowSelectionToModel, o as selectAllRows, i as selectRowRange, r as selectSingleRow, n as toggleRowKey };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=e=>{if(e===void 0||e===!1)return null;let t=e===!0?{}:e,n=t.bubble??!0,r=t.ruler??!0,i=t.scrollbar??!0;return!n&&!r&&!i?null:{bubble:n,ruler:r,scrollbar:i,trigger:t.trigger??`scroll`,minRows:t.minRows??0,hintColumn:t.hintColumn,renderHint:t.renderHint}},t=30,n=({scrollTop:e,contentHeight:t,viewportHeight:n,trackHeight:r=n})=>{let i=t-n;if(n<=0||r<=0||i<=0)return null;let a=Math.min(Math.max(r*n/t,30),r),o=Math.min(Math.max(e,0),i)/i*(r-a);return{maxScroll:i,thumbTop:o,thumbHeight:a,centerY:o+a/2}},r=44,i=e=>{let t=Math.max(e,1),n=10**Math.floor(Math.log10(t)),r=n<10?[1,2,5,10]:[1,2,2.5,5,10];for(let e of r){let r=n*e;if(r>=t)return r}return n*10},a=(e,t=e>=1e4&&e%1e4==0)=>e!==0&&t?`${(e/1e4).toLocaleString()}万`:e.toLocaleString(),o=({rowCount:e,rulerHeight:t,minTickSpacingPx:n=44})=>{if(e<=0||t<=0)return[];let r=i(e/Math.max(Math.floor(t/n),2)),o=r%1e4==0,s=[];for(let n=0;n<=e;n+=r)s.push({row:n,y:n/e*t,label:a(n,o)});return s},s=(e,t,n)=>{let r=n-t.thumbHeight;return r<=0?0:Math.min(Math.max((e-t.thumbHeight/2)/r,0),1)*t.maxScroll},c=(e,t)=>{if(e.renderHint!==void 0){let n=e.renderHint(t);return n==null||n===!1?null:n}if(e.hintColumn!==void 0&&t.rowData!==void 0){let n=t.rowData[e.hintColumn];return n==null||n===``?null:String(n)}return null};exports.SCROLL_HINT_MIN_THUMB_PX=t,exports.SCROLL_HINT_RULER_MIN_TICK_SPACING_PX=r,exports.computeScrollHintRulerTicks=o,exports.computeScrollHintTrack=n,exports.computeScrollHintTrackPointerScrollTop=s,exports.formatScrollHintRulerValue=a,exports.niceStepAtLeast=i,exports.resolveScrollHintDetail=c,exports.resolveScrollHintOptions=e;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { GridFrameworkTypes, ScrollHintOptions, ScrollHintRenderArgs, ScrollHintTrigger } from '../model/gridTypes.core';
|
|
2
|
+
export type ResolvedScrollHintOptions<T, F extends GridFrameworkTypes = GridFrameworkTypes> = {
|
|
3
|
+
bubble: boolean;
|
|
4
|
+
ruler: boolean;
|
|
5
|
+
scrollbar: boolean;
|
|
6
|
+
trigger: ScrollHintTrigger;
|
|
7
|
+
minRows: number;
|
|
8
|
+
hintColumn: string | undefined;
|
|
9
|
+
renderHint: ((args: ScrollHintRenderArgs<T>) => F['node']) | undefined;
|
|
10
|
+
};
|
|
11
|
+
export declare const resolveScrollHintOptions: <T, F extends GridFrameworkTypes = GridFrameworkTypes>(input: boolean | ScrollHintOptions<T, F> | undefined) => ResolvedScrollHintOptions<T, F> | null;
|
|
12
|
+
export declare const SCROLL_HINT_MIN_THUMB_PX = 30;
|
|
13
|
+
export type ScrollHintTrackParams = {
|
|
14
|
+
scrollTop: number;
|
|
15
|
+
contentHeight: number;
|
|
16
|
+
viewportHeight: number;
|
|
17
|
+
trackHeight?: number;
|
|
18
|
+
};
|
|
19
|
+
export type ScrollHintTrack = {
|
|
20
|
+
maxScroll: number;
|
|
21
|
+
thumbTop: number;
|
|
22
|
+
thumbHeight: number;
|
|
23
|
+
centerY: number;
|
|
24
|
+
};
|
|
25
|
+
export declare const computeScrollHintTrack: ({ scrollTop, contentHeight, viewportHeight, trackHeight, }: ScrollHintTrackParams) => ScrollHintTrack | null;
|
|
26
|
+
export declare const SCROLL_HINT_RULER_MIN_TICK_SPACING_PX = 44;
|
|
27
|
+
export declare const niceStepAtLeast: (raw: number) => number;
|
|
28
|
+
export declare const formatScrollHintRulerValue: (value: number, useManUnit?: boolean) => string;
|
|
29
|
+
export type ScrollHintRulerTick = {
|
|
30
|
+
row: number;
|
|
31
|
+
y: number;
|
|
32
|
+
label: string;
|
|
33
|
+
};
|
|
34
|
+
export type ScrollHintRulerParams = {
|
|
35
|
+
rowCount: number;
|
|
36
|
+
rulerHeight: number;
|
|
37
|
+
minTickSpacingPx?: number;
|
|
38
|
+
};
|
|
39
|
+
export declare const computeScrollHintRulerTicks: ({ rowCount, rulerHeight, minTickSpacingPx, }: ScrollHintRulerParams) => ScrollHintRulerTick[];
|
|
40
|
+
export declare const computeScrollHintTrackPointerScrollTop: (pointerY: number, track: ScrollHintTrack, trackHeight: number) => number;
|
|
41
|
+
export declare const resolveScrollHintDetail: <T, F extends GridFrameworkTypes = GridFrameworkTypes>(options: Pick<ResolvedScrollHintOptions<T, F>, "hintColumn" | "renderHint">, args: ScrollHintRenderArgs<T>) => F["node"] | string | null;
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
//#region src/logic/scrollHint.ts
|
|
2
|
+
var e = (e) => {
|
|
3
|
+
if (e === void 0 || e === !1) return null;
|
|
4
|
+
let t = e === !0 ? {} : e, n = t.bubble ?? !0, r = t.ruler ?? !0, i = t.scrollbar ?? !0;
|
|
5
|
+
return !n && !r && !i ? null : {
|
|
6
|
+
bubble: n,
|
|
7
|
+
ruler: r,
|
|
8
|
+
scrollbar: i,
|
|
9
|
+
trigger: t.trigger ?? "scroll",
|
|
10
|
+
minRows: t.minRows ?? 0,
|
|
11
|
+
hintColumn: t.hintColumn,
|
|
12
|
+
renderHint: t.renderHint
|
|
13
|
+
};
|
|
14
|
+
}, t = 30, n = ({ scrollTop: e, contentHeight: t, viewportHeight: n, trackHeight: r = n }) => {
|
|
15
|
+
let i = t - n;
|
|
16
|
+
if (n <= 0 || r <= 0 || i <= 0) return null;
|
|
17
|
+
let a = Math.min(Math.max(r * n / t, 30), r), o = Math.min(Math.max(e, 0), i) / i * (r - a);
|
|
18
|
+
return {
|
|
19
|
+
maxScroll: i,
|
|
20
|
+
thumbTop: o,
|
|
21
|
+
thumbHeight: a,
|
|
22
|
+
centerY: o + a / 2
|
|
23
|
+
};
|
|
24
|
+
}, r = 44, i = (e) => {
|
|
25
|
+
let t = Math.max(e, 1), n = 10 ** Math.floor(Math.log10(t)), r = n < 10 ? [
|
|
26
|
+
1,
|
|
27
|
+
2,
|
|
28
|
+
5,
|
|
29
|
+
10
|
|
30
|
+
] : [
|
|
31
|
+
1,
|
|
32
|
+
2,
|
|
33
|
+
2.5,
|
|
34
|
+
5,
|
|
35
|
+
10
|
|
36
|
+
];
|
|
37
|
+
for (let e of r) {
|
|
38
|
+
let r = n * e;
|
|
39
|
+
if (r >= t) return r;
|
|
40
|
+
}
|
|
41
|
+
return n * 10;
|
|
42
|
+
}, a = (e, t = e >= 1e4 && e % 1e4 == 0) => e !== 0 && t ? `${(e / 1e4).toLocaleString()}万` : e.toLocaleString(), o = ({ rowCount: e, rulerHeight: t, minTickSpacingPx: n = 44 }) => {
|
|
43
|
+
if (e <= 0 || t <= 0) return [];
|
|
44
|
+
let r = i(e / Math.max(Math.floor(t / n), 2)), o = r % 1e4 == 0, s = [];
|
|
45
|
+
for (let n = 0; n <= e; n += r) s.push({
|
|
46
|
+
row: n,
|
|
47
|
+
y: n / e * t,
|
|
48
|
+
label: a(n, o)
|
|
49
|
+
});
|
|
50
|
+
return s;
|
|
51
|
+
}, s = (e, t, n) => {
|
|
52
|
+
let r = n - t.thumbHeight;
|
|
53
|
+
return r <= 0 ? 0 : Math.min(Math.max((e - t.thumbHeight / 2) / r, 0), 1) * t.maxScroll;
|
|
54
|
+
}, c = (e, t) => {
|
|
55
|
+
if (e.renderHint !== void 0) {
|
|
56
|
+
let n = e.renderHint(t);
|
|
57
|
+
return n == null || n === !1 ? null : n;
|
|
58
|
+
}
|
|
59
|
+
if (e.hintColumn !== void 0 && t.rowData !== void 0) {
|
|
60
|
+
let n = t.rowData[e.hintColumn];
|
|
61
|
+
return n == null || n === "" ? null : String(n);
|
|
62
|
+
}
|
|
63
|
+
return null;
|
|
64
|
+
};
|
|
65
|
+
//#endregion
|
|
66
|
+
export { t as SCROLL_HINT_MIN_THUMB_PX, r as SCROLL_HINT_RULER_MIN_TICK_SPACING_PX, o as computeScrollHintRulerTicks, n as computeScrollHintTrack, s as computeScrollHintTrackPointerScrollTop, a as formatScrollHintRulerValue, i as niceStepAtLeast, c as resolveScrollHintDetail, e as resolveScrollHintOptions };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=({rowTop:e,rowHeight:t,headerHeight:n,viewportHeight:r,currentScrollTop:i,align:a,maxScrollTop:o})=>{let s=n+e,c=s+t,l;if(a===`start`)l=s-n;else if(a===`end`)l=c-r;else if(a===`center`)l=(s+c)/2-(n+r)/2;else{let e=i+n,t=i+r;l=s>=e&&c<=t?i:s<e?s-n:c-r}return Math.min(Math.max(l,0),Math.max(o??1/0,0))},t=({cellLeft:e,cellWidth:t,leftPaneWidth:n,rightPaneWidth:r,viewportWidth:i,currentScrollLeft:a,align:o,maxScrollLeft:s})=>{let c=e+t,l=i-n-r,u;if(o===`start`)u=e-n;else if(o===`end`)u=c-i+r;else if(o===`center`)u=(e+c)/2-n-l/2;else{let t=a+n,o=a+i-r;u=e>=t&&c<=o?a:e<t?e-n:c-i+r}return Math.min(Math.max(u,0),Math.max(s??1/0,0))};exports.computeHorizontalScrollTarget=t,exports.computeVerticalScrollTarget=e;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { ScrollAlign } from '../model/gridTypes.unbound';
|
|
2
|
+
export type VerticalScrollTargetParams = {
|
|
3
|
+
rowTop: number;
|
|
4
|
+
rowHeight: number;
|
|
5
|
+
headerHeight: number;
|
|
6
|
+
viewportHeight: number;
|
|
7
|
+
currentScrollTop: number;
|
|
8
|
+
align: ScrollAlign;
|
|
9
|
+
maxScrollTop?: number;
|
|
10
|
+
};
|
|
11
|
+
export declare const computeVerticalScrollTarget: ({ rowTop, rowHeight, headerHeight, viewportHeight, currentScrollTop, align, maxScrollTop, }: VerticalScrollTargetParams) => number;
|
|
12
|
+
export type HorizontalScrollTargetParams = {
|
|
13
|
+
cellLeft: number;
|
|
14
|
+
cellWidth: number;
|
|
15
|
+
leftPaneWidth: number;
|
|
16
|
+
rightPaneWidth: number;
|
|
17
|
+
viewportWidth: number;
|
|
18
|
+
currentScrollLeft: number;
|
|
19
|
+
align: ScrollAlign;
|
|
20
|
+
maxScrollLeft?: number;
|
|
21
|
+
};
|
|
22
|
+
export declare const computeHorizontalScrollTarget: ({ cellLeft, cellWidth, leftPaneWidth, rightPaneWidth, viewportWidth, currentScrollLeft, align, maxScrollLeft, }: HorizontalScrollTargetParams) => number;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
//#region src/logic/scrollTargets.ts
|
|
2
|
+
var e = ({ rowTop: e, rowHeight: t, headerHeight: n, viewportHeight: r, currentScrollTop: i, align: a, maxScrollTop: o }) => {
|
|
3
|
+
let s = n + e, c = s + t, l;
|
|
4
|
+
if (a === "start") l = s - n;
|
|
5
|
+
else if (a === "end") l = c - r;
|
|
6
|
+
else if (a === "center") l = (s + c) / 2 - (n + r) / 2;
|
|
7
|
+
else {
|
|
8
|
+
let e = i + n, t = i + r;
|
|
9
|
+
l = s >= e && c <= t ? i : s < e ? s - n : c - r;
|
|
10
|
+
}
|
|
11
|
+
return Math.min(Math.max(l, 0), Math.max(o ?? Infinity, 0));
|
|
12
|
+
}, t = ({ cellLeft: e, cellWidth: t, leftPaneWidth: n, rightPaneWidth: r, viewportWidth: i, currentScrollLeft: a, align: o, maxScrollLeft: s }) => {
|
|
13
|
+
let c = e + t, l = i - n - r, u;
|
|
14
|
+
if (o === "start") u = e - n;
|
|
15
|
+
else if (o === "end") u = c - i + r;
|
|
16
|
+
else if (o === "center") u = (e + c) / 2 - n - l / 2;
|
|
17
|
+
else {
|
|
18
|
+
let t = a + n, o = a + i - r;
|
|
19
|
+
u = e >= t && c <= o ? a : e < t ? e - n : c - i + r;
|
|
20
|
+
}
|
|
21
|
+
return Math.min(Math.max(u, 0), Math.max(s ?? Infinity, 0));
|
|
22
|
+
};
|
|
23
|
+
//#endregion
|
|
24
|
+
export { t as computeHorizontalScrollTarget, e as computeVerticalScrollTarget };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=180,t=28,n=4,r=8,i=8,a=2,o=700,s=(e,t)=>{let n=String(t??``),r=e.findIndex(e=>e.value===n);return r>=0?r:0},c=(e,t,n)=>{if(n<=0)return 0;let r=e+t;return r<0?0:r>n-1?n-1:r},l=()=>({buffer:``,lastInputTime:0}),u=(e,t,n,r)=>{let i=(n-e.lastInputTime>700?``:e.buffer)+t.toLocaleLowerCase(),a=r.findIndex(e=>e.label.toLocaleLowerCase().startsWith(i));return{state:{buffer:i,lastInputTime:n},index:a>=0?a:null}},d=(e,t,n,o)=>{let s=Math.max(e.width,180),c=Math.max(i,n-s-i),l=Math.min(Math.max(e.left,i),c),u=Math.min(Math.max(t,1),r)*28+8,d=e.bottom+a;return{left:l,top:d+u<=o-i?d:Math.max(i,e.top-a-u),width:s,maxHeight:u}};exports.SELECT_OPTION_ROW_HEIGHT=t,exports.SELECT_POPOVER_MIN_WIDTH=e,exports.SELECT_POPOVER_PADDING_Y=n,exports.SELECT_TYPEAHEAD_RESET_MS=o,exports.computeSelectPopoverPlacement=d,exports.createTypeaheadState=l,exports.moveHighlight=c,exports.resolveInitialHighlight=s,exports.typeaheadJump=u;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { GridSelectEditorOption } from '../model/gridTypes.unbound';
|
|
2
|
+
export declare const SELECT_POPOVER_MIN_WIDTH = 180;
|
|
3
|
+
export declare const SELECT_OPTION_ROW_HEIGHT = 28;
|
|
4
|
+
export declare const SELECT_POPOVER_PADDING_Y = 4;
|
|
5
|
+
export declare const SELECT_TYPEAHEAD_RESET_MS = 700;
|
|
6
|
+
export declare const resolveInitialHighlight: (options: GridSelectEditorOption[], currentValue: unknown) => number;
|
|
7
|
+
export declare const moveHighlight: (current: number, delta: number, optionCount: number) => number;
|
|
8
|
+
export type SelectTypeaheadState = {
|
|
9
|
+
buffer: string;
|
|
10
|
+
lastInputTime: number;
|
|
11
|
+
};
|
|
12
|
+
export declare const createTypeaheadState: () => SelectTypeaheadState;
|
|
13
|
+
export declare const typeaheadJump: (state: SelectTypeaheadState, key: string, now: number, options: GridSelectEditorOption[]) => {
|
|
14
|
+
state: SelectTypeaheadState;
|
|
15
|
+
index: number | null;
|
|
16
|
+
};
|
|
17
|
+
export type SelectPopoverPlacement = {
|
|
18
|
+
left: number;
|
|
19
|
+
top: number;
|
|
20
|
+
width: number;
|
|
21
|
+
maxHeight: number;
|
|
22
|
+
};
|
|
23
|
+
export declare const computeSelectPopoverPlacement: (anchorRect: {
|
|
24
|
+
left: number;
|
|
25
|
+
top: number;
|
|
26
|
+
bottom: number;
|
|
27
|
+
width: number;
|
|
28
|
+
}, optionCount: number, viewportWidth: number, viewportHeight: number) => SelectPopoverPlacement;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
//#region src/logic/selectEditorState.ts
|
|
2
|
+
var e = 180, t = 28, n = 4, r = 700, i = (e, t) => {
|
|
3
|
+
let n = String(t ?? ""), r = e.findIndex((e) => e.value === n);
|
|
4
|
+
return r >= 0 ? r : 0;
|
|
5
|
+
}, a = (e, t, n) => {
|
|
6
|
+
if (n <= 0) return 0;
|
|
7
|
+
let r = e + t;
|
|
8
|
+
return r < 0 ? 0 : r > n - 1 ? n - 1 : r;
|
|
9
|
+
}, o = () => ({
|
|
10
|
+
buffer: "",
|
|
11
|
+
lastInputTime: 0
|
|
12
|
+
}), s = (e, t, n, r) => {
|
|
13
|
+
let i = (n - e.lastInputTime > 700 ? "" : e.buffer) + t.toLocaleLowerCase(), a = r.findIndex((e) => e.label.toLocaleLowerCase().startsWith(i));
|
|
14
|
+
return {
|
|
15
|
+
state: {
|
|
16
|
+
buffer: i,
|
|
17
|
+
lastInputTime: n
|
|
18
|
+
},
|
|
19
|
+
index: a >= 0 ? a : null
|
|
20
|
+
};
|
|
21
|
+
}, c = (e, t, n, r) => {
|
|
22
|
+
let i = Math.max(e.width, 180), a = Math.max(8, n - i - 8), o = Math.min(Math.max(e.left, 8), a), s = Math.min(Math.max(t, 1), 8) * 28 + 8, c = e.bottom + 2;
|
|
23
|
+
return {
|
|
24
|
+
left: o,
|
|
25
|
+
top: c + s <= r - 8 ? c : Math.max(8, e.top - 2 - s),
|
|
26
|
+
width: i,
|
|
27
|
+
maxHeight: s
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
//#endregion
|
|
31
|
+
export { t as SELECT_OPTION_ROW_HEIGHT, e as SELECT_POPOVER_MIN_WIDTH, n as SELECT_POPOVER_PADDING_Y, r as SELECT_TYPEAHEAD_RESET_MS, c as computeSelectPopoverPlacement, o as createTypeaheadState, a as moveHighlight, i as resolveInitialHighlight, s as typeaheadJump };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./sorting.cjs");var t=()=>{let t=new Set,n=[];return{collect(e){let r=String(e??``);t.has(r)||(t.add(r),n.push({value:r,label:r||`(空白)`}))},finalize(){return n.sort((t,n)=>e.STRING_COLLATOR.compare(t.label,n.label))}}},n=(e,n)=>{let r=t();for(let t=0;t<e;t+=1)r.collect(n(t));return r.finalize()};exports.collectSelectOptions=n,exports.createSelectOptionsAccumulator=t;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export type SelectOptionEntry = {
|
|
2
|
+
label: string;
|
|
3
|
+
value: string;
|
|
4
|
+
};
|
|
5
|
+
export declare const createSelectOptionsAccumulator: () => {
|
|
6
|
+
collect(rawValue: unknown): void;
|
|
7
|
+
finalize(): SelectOptionEntry[];
|
|
8
|
+
};
|
|
9
|
+
export declare const collectSelectOptions: (rowCount: number, getRawValueAt: (index: number) => unknown) => SelectOptionEntry[];
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { STRING_COLLATOR as e } from "./sorting.js";
|
|
2
|
+
//#region src/logic/selectOptions.ts
|
|
3
|
+
var t = () => {
|
|
4
|
+
let t = /* @__PURE__ */ new Set(), n = [];
|
|
5
|
+
return {
|
|
6
|
+
collect(e) {
|
|
7
|
+
let r = String(e ?? "");
|
|
8
|
+
t.has(r) || (t.add(r), n.push({
|
|
9
|
+
value: r,
|
|
10
|
+
label: r || "(空白)"
|
|
11
|
+
}));
|
|
12
|
+
},
|
|
13
|
+
finalize() {
|
|
14
|
+
return n.sort((t, n) => e.compare(t.label, n.label));
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
}, n = (e, n) => {
|
|
18
|
+
let r = t();
|
|
19
|
+
for (let t = 0; t < e; t += 1) r.collect(n(t));
|
|
20
|
+
return r.finalize();
|
|
21
|
+
};
|
|
22
|
+
//#endregion
|
|
23
|
+
export { n as collectSelectOptions, t as createSelectOptionsAccumulator };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});function e(e,t){return Math.floor(e/t)}function t(t,n,r,i){if(r<=0||i<=0)return[];let a=Math.max(0,Math.floor(t)),o=Math.min(i,Math.floor(n));if(o<=a)return[];let s=e(a,r),c=e(o-1,r),l=[];for(let e=s;e<=c;e+=1)l.push(e);return l}exports.blockIndexForRow=e,exports.computeBlockIndexes=t;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
//#region src/logic/serverSideBlocks.ts
|
|
2
|
+
function e(e, t) {
|
|
3
|
+
return Math.floor(e / t);
|
|
4
|
+
}
|
|
5
|
+
function t(t, n, r, i) {
|
|
6
|
+
if (r <= 0 || i <= 0) return [];
|
|
7
|
+
let a = Math.max(0, Math.floor(t)), o = Math.min(i, Math.floor(n));
|
|
8
|
+
if (o <= a) return [];
|
|
9
|
+
let s = e(a, r), c = e(o - 1, r), l = [];
|
|
10
|
+
for (let e = s; e <= c; e += 1) l.push(e);
|
|
11
|
+
return l;
|
|
12
|
+
}
|
|
13
|
+
//#endregion
|
|
14
|
+
export { e as blockIndexForRow, t as computeBlockIndexes };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});function e(e){let t=e.blockSize,n=e.maxBlocks,r=new Map,i=e=>{let t=r.get(e);t!==void 0&&(r.delete(e),r.set(e,t))},a=()=>{for(;r.size>n;){let e=r.keys().next().value;if(e===void 0)break;r.delete(e)}};return{getRow:e=>{if(t<=0||e<0)return;let n=Math.floor(e/t),i=r.get(n);if(i!==void 0)return i[e-n*t]},hasBlock:e=>r.has(e),setBlock:(e,t)=>{r.has(e)&&r.delete(e),r.set(e,t),a()},updateRow:(e,n)=>{if(t<=0||e<0)return!1;let i=Math.floor(e/t),a=r.get(i);if(a===void 0)return!1;let o=e-i*t;if(o>=a.length)return!1;let s=a.slice();return s[o]=n,r.set(i,s),!0},touchBlocks:e=>{for(let t of e)i(t)},clear:()=>{r.clear()},loadedBlockIndexes:()=>Array.from(r.keys())}}exports.createServerSideRowCache=e;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export type ServerSideRowCacheOptions = {
|
|
2
|
+
blockSize: number;
|
|
3
|
+
maxBlocks: number;
|
|
4
|
+
};
|
|
5
|
+
export type ServerSideRowCache<T> = {
|
|
6
|
+
getRow: (viewIndex: number) => T | undefined;
|
|
7
|
+
hasBlock: (blockIndex: number) => boolean;
|
|
8
|
+
setBlock: (blockIndex: number, rows: T[]) => void;
|
|
9
|
+
updateRow: (viewIndex: number, row: T) => boolean;
|
|
10
|
+
touchBlocks: (blockIndexes: number[]) => void;
|
|
11
|
+
clear: () => void;
|
|
12
|
+
loadedBlockIndexes: () => number[];
|
|
13
|
+
};
|
|
14
|
+
export declare function createServerSideRowCache<T>(options: ServerSideRowCacheOptions): ServerSideRowCache<T>;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
//#region src/logic/serverSideCache.ts
|
|
2
|
+
function e(e) {
|
|
3
|
+
let t = e.blockSize, n = e.maxBlocks, r = /* @__PURE__ */ new Map(), i = (e) => {
|
|
4
|
+
let t = r.get(e);
|
|
5
|
+
t !== void 0 && (r.delete(e), r.set(e, t));
|
|
6
|
+
}, a = () => {
|
|
7
|
+
for (; r.size > n;) {
|
|
8
|
+
let e = r.keys().next().value;
|
|
9
|
+
if (e === void 0) break;
|
|
10
|
+
r.delete(e);
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
return {
|
|
14
|
+
getRow: (e) => {
|
|
15
|
+
if (t <= 0 || e < 0) return;
|
|
16
|
+
let n = Math.floor(e / t), i = r.get(n);
|
|
17
|
+
if (i !== void 0) return i[e - n * t];
|
|
18
|
+
},
|
|
19
|
+
hasBlock: (e) => r.has(e),
|
|
20
|
+
setBlock: (e, t) => {
|
|
21
|
+
r.has(e) && r.delete(e), r.set(e, t), a();
|
|
22
|
+
},
|
|
23
|
+
updateRow: (e, n) => {
|
|
24
|
+
if (t <= 0 || e < 0) return !1;
|
|
25
|
+
let i = Math.floor(e / t), a = r.get(i);
|
|
26
|
+
if (a === void 0) return !1;
|
|
27
|
+
let o = e - i * t;
|
|
28
|
+
if (o >= a.length) return !1;
|
|
29
|
+
let s = a.slice();
|
|
30
|
+
return s[o] = n, r.set(i, s), !0;
|
|
31
|
+
},
|
|
32
|
+
touchBlocks: (e) => {
|
|
33
|
+
for (let t of e) i(t);
|
|
34
|
+
},
|
|
35
|
+
clear: () => {
|
|
36
|
+
r.clear();
|
|
37
|
+
},
|
|
38
|
+
loadedBlockIndexes: () => Array.from(r.keys())
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
//#endregion
|
|
42
|
+
export { e as createServerSideRowCache };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../utils/permissions.cjs");var t=()=>{let e=new Map,t=1,n=t=>e.get(t)?.row,r=(n,r)=>{let i=t;return t+=1,e.set(n,{row:r,writeId:i}),i},i=(t,n)=>e.get(t)?.writeId===n;return{getRow:n,beginWrite:r,isLatestWrite:i,settleWrite:(t,n)=>{i(t,n)&&e.delete(t)},clear:()=>{e.clear()},pendingCount:()=>e.size}},n=(t,n,r)=>{let i=new Map;for(let a of t){let t=i.get(a.viewIndex);if(t===void 0){let e=n(a.viewIndex);if(e===void 0)continue;t={rowKey:r(e,a.viewIndex),rowIndex:a.viewIndex,row:e,previousRow:e,changes:[]},i.set(a.viewIndex,t)}t.changes.push({columnKey:a.column.key,previousValue:e.getCellValue(t.row,a.column),newValue:a.value}),t.row=e.setCellValue(t.row,a.column,a.value)}return Array.from(i.values())};exports.buildServerSideRowUpdates=n,exports.createServerSidePendingEdits=t;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { GridColumn, GridRowKey, ServerSideRowUpdate } from '../model/gridTypes.unbound';
|
|
2
|
+
export type ServerSideCellEditInput<T> = {
|
|
3
|
+
viewIndex: number;
|
|
4
|
+
column: GridColumn<T>;
|
|
5
|
+
value: unknown;
|
|
6
|
+
};
|
|
7
|
+
export type ServerSidePendingEdits<T> = {
|
|
8
|
+
getRow: (viewIndex: number) => T | undefined;
|
|
9
|
+
beginWrite: (viewIndex: number, row: T) => number;
|
|
10
|
+
isLatestWrite: (viewIndex: number, writeId: number) => boolean;
|
|
11
|
+
settleWrite: (viewIndex: number, writeId: number) => void;
|
|
12
|
+
clear: () => void;
|
|
13
|
+
pendingCount: () => number;
|
|
14
|
+
};
|
|
15
|
+
export declare const createServerSidePendingEdits: <T>() => ServerSidePendingEdits<T>;
|
|
16
|
+
export declare const buildServerSideRowUpdates: <T>(edits: ServerSideCellEditInput<T>[], getBaseRow: (viewIndex: number) => T | undefined, getRowKey: (row: T, viewIndex: number) => GridRowKey) => ServerSideRowUpdate<T>[];
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { getCellValue as e, setCellValue as t } from "../utils/permissions.js";
|
|
2
|
+
//#region src/logic/serverSideEdits.ts
|
|
3
|
+
var n = () => {
|
|
4
|
+
let e = /* @__PURE__ */ new Map(), t = 1, n = (t) => e.get(t)?.row, r = (n, r) => {
|
|
5
|
+
let i = t;
|
|
6
|
+
return t += 1, e.set(n, {
|
|
7
|
+
row: r,
|
|
8
|
+
writeId: i
|
|
9
|
+
}), i;
|
|
10
|
+
}, i = (t, n) => e.get(t)?.writeId === n;
|
|
11
|
+
return {
|
|
12
|
+
getRow: n,
|
|
13
|
+
beginWrite: r,
|
|
14
|
+
isLatestWrite: i,
|
|
15
|
+
settleWrite: (t, n) => {
|
|
16
|
+
i(t, n) && e.delete(t);
|
|
17
|
+
},
|
|
18
|
+
clear: () => {
|
|
19
|
+
e.clear();
|
|
20
|
+
},
|
|
21
|
+
pendingCount: () => e.size
|
|
22
|
+
};
|
|
23
|
+
}, r = (n, r, i) => {
|
|
24
|
+
let a = /* @__PURE__ */ new Map();
|
|
25
|
+
for (let o of n) {
|
|
26
|
+
let n = a.get(o.viewIndex);
|
|
27
|
+
if (n === void 0) {
|
|
28
|
+
let e = r(o.viewIndex);
|
|
29
|
+
if (e === void 0) continue;
|
|
30
|
+
n = {
|
|
31
|
+
rowKey: i(e, o.viewIndex),
|
|
32
|
+
rowIndex: o.viewIndex,
|
|
33
|
+
row: e,
|
|
34
|
+
previousRow: e,
|
|
35
|
+
changes: []
|
|
36
|
+
}, a.set(o.viewIndex, n);
|
|
37
|
+
}
|
|
38
|
+
n.changes.push({
|
|
39
|
+
columnKey: o.column.key,
|
|
40
|
+
previousValue: e(n.row, o.column),
|
|
41
|
+
newValue: o.value
|
|
42
|
+
}), n.row = t(n.row, o.column, o.value);
|
|
43
|
+
}
|
|
44
|
+
return Array.from(a.values());
|
|
45
|
+
};
|
|
46
|
+
//#endregion
|
|
47
|
+
export { r as buildServerSideRowUpdates, n as createServerSidePendingEdits };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./filtering.cjs");var t=t=>{let n={},r=t.globalText.trim();r.length>0&&(n.globalText=r);let i={},a=!1;for(let n of Object.keys(t.columnFilters)){let r=t.columnFilters[n];e.isActiveColumnFilterValue(r)&&(i[n]=r,a=!0)}return a&&(n.columnFilters=i),t.sort.length>0&&(n.sort=t.sort),n},n=e=>{let t=e.columnFilters??{},n=Object.keys(t).sort().map(e=>[e,t[e]]),r=e.sort??[];return JSON.stringify({g:e.globalText??``,s:r.map(e=>[e.columnKey,e.direction]),c:n})};exports.buildServerSideQuery=t,exports.serializeServerSideQuery=n;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ColumnFilterValue, GridSortState, ServerSideQuery } from '../model/gridTypes.unbound';
|
|
2
|
+
export declare const buildServerSideQuery: (input: {
|
|
3
|
+
globalText: string;
|
|
4
|
+
columnFilters: Record<string, ColumnFilterValue>;
|
|
5
|
+
sort: GridSortState;
|
|
6
|
+
}) => ServerSideQuery;
|
|
7
|
+
export declare const serializeServerSideQuery: (query: ServerSideQuery) => string;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { isActiveColumnFilterValue as e } from "./filtering.js";
|
|
2
|
+
//#region src/logic/serverSideQuery.ts
|
|
3
|
+
var t = (t) => {
|
|
4
|
+
let n = {}, r = t.globalText.trim();
|
|
5
|
+
r.length > 0 && (n.globalText = r);
|
|
6
|
+
let i = {}, a = !1;
|
|
7
|
+
for (let n of Object.keys(t.columnFilters)) {
|
|
8
|
+
let r = t.columnFilters[n];
|
|
9
|
+
e(r) && (i[n] = r, a = !0);
|
|
10
|
+
}
|
|
11
|
+
return a && (n.columnFilters = i), t.sort.length > 0 && (n.sort = t.sort), n;
|
|
12
|
+
}, n = (e) => {
|
|
13
|
+
let t = e.columnFilters ?? {}, n = Object.keys(t).sort().map((e) => [e, t[e]]), r = e.sort ?? [];
|
|
14
|
+
return JSON.stringify({
|
|
15
|
+
g: e.globalText ?? "",
|
|
16
|
+
s: r.map((e) => [e.columnKey, e.direction]),
|
|
17
|
+
c: n
|
|
18
|
+
});
|
|
19
|
+
};
|
|
20
|
+
//#endregion
|
|
21
|
+
export { t as buildServerSideQuery, n as serializeServerSideQuery };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=(e,t)=>{let n=t.trim().toLowerCase();return n?e.filter(e=>e.label.toLowerCase().includes(n)):e},t=(t,n)=>{if(!n.trim())return{kind:`close`};let r=e(t,n);return r.length===0?{kind:`none`}:{kind:`replace`,values:r.map(e=>e.value)}};exports.filterSetOptionsBySearch=e,exports.resolveSetFilterEnterAction=t;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export type SetFilterSearchOption = {
|
|
2
|
+
label: string;
|
|
3
|
+
value: string;
|
|
4
|
+
};
|
|
5
|
+
export declare const filterSetOptionsBySearch: <O extends SetFilterSearchOption>(options: O[], searchText: string) => O[];
|
|
6
|
+
export type SetFilterEnterAction = {
|
|
7
|
+
kind: 'close';
|
|
8
|
+
} | {
|
|
9
|
+
kind: 'none';
|
|
10
|
+
} | {
|
|
11
|
+
kind: 'replace';
|
|
12
|
+
values: string[];
|
|
13
|
+
};
|
|
14
|
+
export declare const resolveSetFilterEnterAction: (options: SetFilterSearchOption[], searchText: string) => SetFilterEnterAction;
|