@affino/datagrid-vue-app 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (110) hide show
  1. package/dist/DataGrid.d.ts +9 -9
  2. package/dist/DataGridTableStage.vue.d.ts +112 -0
  3. package/dist/chunks/useDataGridAppRowModel-CcTL-h8L.js +11251 -0
  4. package/dist/gantt/DataGridGanttStage.vue.d.ts +21 -0
  5. package/dist/host/DataGridDefaultRenderer.d.ts +3 -3
  6. package/dist/host/DataGridRuntimeHost.d.ts +1 -1
  7. package/dist/index.js +1125 -4
  8. package/dist/internal.js +37 -14
  9. package/dist/overlays/DataGridAdvancedFilterPopover.vue.d.ts +62 -0
  10. package/dist/overlays/DataGridAggregationsPopover.vue.d.ts +62 -0
  11. package/dist/overlays/DataGridCellComboboxEditor.vue.d.ts +29 -0
  12. package/dist/overlays/DataGridColumnLayoutPopover.vue.d.ts +51 -0
  13. package/dist/overlays/DataGridColumnMenu.vue.d.ts +65 -0
  14. package/dist/overlays/DataGridFilterableCombobox.vue.d.ts +76 -0
  15. package/dist/stage/DataGridTableStage.vue.d.ts +115 -0
  16. package/dist/stage/DataGridTableStageCenterPane.vue.d.ts +121 -0
  17. package/dist/stage/DataGridTableStageFillActionMenu.vue.d.ts +30 -0
  18. package/dist/stage/DataGridTableStageHeader.vue.d.ts +84 -0
  19. package/dist/stage/DataGridTableStageOverlayLayer.vue.d.ts +34 -0
  20. package/dist/stage/DataGridTableStagePinnedPane.vue.d.ts +43 -0
  21. package/package.json +8 -5
  22. package/dist/DataGrid.js +0 -565
  23. package/dist/DataGridDefaultRenderer.js +0 -2
  24. package/dist/DataGridModuleHost.js +0 -2
  25. package/dist/DataGridRuntimeHost.js +0 -1
  26. package/dist/config/dataGridAdvancedFilter.js +0 -21
  27. package/dist/config/dataGridAggregations.js +0 -21
  28. package/dist/config/dataGridColumnLayout.js +0 -21
  29. package/dist/config/dataGridFormulaOptions.js +0 -137
  30. package/dist/config/dataGridPublicProps.js +0 -58
  31. package/dist/config/dataGridSavedView.js +0 -73
  32. package/dist/config/dataGridVirtualization.js +0 -32
  33. package/dist/dataGridAdvancedFilter.js +0 -1
  34. package/dist/dataGridAggregations.js +0 -1
  35. package/dist/dataGridAppContext.js +0 -1
  36. package/dist/dataGridCellComboboxState.d.ts +0 -10
  37. package/dist/dataGridCellComboboxState.js +0 -67
  38. package/dist/dataGridColumnLayout.js +0 -1
  39. package/dist/dataGridColumnMenu.d.ts +0 -9
  40. package/dist/dataGridColumnMenu.js +0 -21
  41. package/dist/dataGridEditability.js +0 -1
  42. package/dist/dataGridFilterableCombobox.js +0 -1
  43. package/dist/dataGridFormulaOptions.js +0 -1
  44. package/dist/dataGridGantt.d.ts +0 -3
  45. package/dist/dataGridGantt.js +0 -1
  46. package/dist/dataGridGanttDependencySelection.d.ts +0 -7
  47. package/dist/dataGridGanttDependencySelection.js +0 -46
  48. package/dist/dataGridGanttLabel.d.ts +0 -2
  49. package/dist/dataGridGanttLabel.js +0 -30
  50. package/dist/dataGridGanttSplit.d.ts +0 -20
  51. package/dist/dataGridGanttSplit.js +0 -31
  52. package/dist/dataGridGanttWheel.d.ts +0 -10
  53. package/dist/dataGridGanttWheel.js +0 -30
  54. package/dist/dataGridOverlayThemeVars.d.ts +0 -1
  55. package/dist/dataGridOverlayThemeVars.js +0 -32
  56. package/dist/dataGridPublicProps.js +0 -1
  57. package/dist/dataGridTableStage.types.js +0 -1
  58. package/dist/dataGridTableStageBody.types.js +0 -1
  59. package/dist/dataGridTableStageContext.js +0 -1
  60. package/dist/dataGridTheme.js +0 -1
  61. package/dist/dataGridVirtualization.js +0 -1
  62. package/dist/ensureDataGridAppStyles.js +0 -1
  63. package/dist/gantt/dataGridGantt.js +0 -1
  64. package/dist/gantt/dataGridGanttDependencySelection.js +0 -46
  65. package/dist/gantt/dataGridGanttLabel.js +0 -30
  66. package/dist/gantt/dataGridGanttSplit.js +0 -31
  67. package/dist/gantt/dataGridGanttWheel.js +0 -30
  68. package/dist/host/DataGridDefaultRenderer.js +0 -1847
  69. package/dist/host/DataGridModuleHost.js +0 -23
  70. package/dist/host/DataGridRuntimeHost.js +0 -174
  71. package/dist/overlays/dataGridCellComboboxState.js +0 -67
  72. package/dist/overlays/dataGridColumnMenu.js +0 -190
  73. package/dist/overlays/dataGridContextMenu.js +0 -218
  74. package/dist/overlays/dataGridFilterableCombobox.js +0 -74
  75. package/dist/overlays/dataGridOverlayThemeVars.js +0 -32
  76. package/dist/stage/dataGridTableStage.types.js +0 -1
  77. package/dist/stage/dataGridTableStageBody.types.js +0 -1
  78. package/dist/stage/dataGridTableStageContext.js +0 -88
  79. package/dist/stage/useDataGridTableStageBindings.js +0 -162
  80. package/dist/stage/useDataGridTableStageCellIo.js +0 -62
  81. package/dist/stage/useDataGridTableStageColumns.js +0 -124
  82. package/dist/stage/useDataGridTableStageFillAction.js +0 -28
  83. package/dist/stage/useDataGridTableStageHistory.js +0 -46
  84. package/dist/stage/useDataGridTableStageRowSelection.js +0 -107
  85. package/dist/stage/useDataGridTableStageRuntime.js +0 -526
  86. package/dist/stage/useDataGridTableStageScrollSync.js +0 -49
  87. package/dist/stage/useDataGridTableStageViewportKeyboard.js +0 -58
  88. package/dist/stage/useDataGridTableStageVisualSelection.js +0 -83
  89. package/dist/theme/dataGridTheme.js +0 -84
  90. package/dist/theme/ensureDataGridAppStyles.js +0 -2656
  91. package/dist/useDataGridAppControlledState.js +0 -390
  92. package/dist/useDataGridAppRowModel.js +0 -85
  93. package/dist/useDataGridTableStageBindings.js +0 -1
  94. package/dist/useDataGridTableStageCellIo.d.ts +0 -28
  95. package/dist/useDataGridTableStageCellIo.js +0 -62
  96. package/dist/useDataGridTableStageColumns.d.ts +0 -21
  97. package/dist/useDataGridTableStageColumns.js +0 -122
  98. package/dist/useDataGridTableStageFillAction.d.ts +0 -19
  99. package/dist/useDataGridTableStageFillAction.js +0 -28
  100. package/dist/useDataGridTableStageHistory.d.ts +0 -31
  101. package/dist/useDataGridTableStageHistory.js +0 -46
  102. package/dist/useDataGridTableStageRowSelection.d.ts +0 -28
  103. package/dist/useDataGridTableStageRowSelection.js +0 -103
  104. package/dist/useDataGridTableStageRuntime.js +0 -1
  105. package/dist/useDataGridTableStageScrollSync.d.ts +0 -17
  106. package/dist/useDataGridTableStageScrollSync.js +0 -49
  107. package/dist/useDataGridTableStageViewportKeyboard.d.ts +0 -20
  108. package/dist/useDataGridTableStageViewportKeyboard.js +0 -58
  109. package/dist/useDataGridTableStageVisualSelection.d.ts +0 -24
  110. package/dist/useDataGridTableStageVisualSelection.js +0 -70
@@ -1,32 +0,0 @@
1
- const DATA_GRID_OVERLAY_THEME_VAR_NAMES = [
2
- "--datagrid-font-family",
3
- "--datagrid-font-size",
4
- "--datagrid-text-primary",
5
- "--datagrid-text-muted",
6
- "--datagrid-text-soft",
7
- "--datagrid-accent-strong",
8
- "--datagrid-glass-border",
9
- "--datagrid-background-color",
10
- "--datagrid-editor-bg",
11
- "--datagrid-filter-trigger-border",
12
- "--datagrid-column-menu-bg",
13
- "--datagrid-column-menu-border",
14
- "--datagrid-column-menu-shadow",
15
- "--datagrid-column-menu-item-hover-bg",
16
- "--datagrid-column-menu-muted-text",
17
- "--datagrid-column-menu-focus-ring",
18
- "--datagrid-column-menu-search-border",
19
- "--datagrid-column-menu-search-bg",
20
- "--datagrid-sort-indicator-color",
21
- ];
22
- export function readDataGridOverlayThemeVars(rootElement) {
23
- if (!rootElement || typeof window === "undefined") {
24
- return {};
25
- }
26
- const computedStyle = window.getComputedStyle(rootElement);
27
- const vars = {};
28
- for (const name of DATA_GRID_OVERLAY_THEME_VAR_NAMES) {
29
- vars[name] = computedStyle.getPropertyValue(name).trim();
30
- }
31
- return vars;
32
- }
@@ -1 +0,0 @@
1
- export * from "./config/dataGridPublicProps";
@@ -1 +0,0 @@
1
- export * from "./stage/dataGridTableStage.types";
@@ -1 +0,0 @@
1
- export * from "./stage/dataGridTableStageBody.types";
@@ -1 +0,0 @@
1
- export * from "./stage/dataGridTableStageContext";
@@ -1 +0,0 @@
1
- export * from "./theme/dataGridTheme";
@@ -1 +0,0 @@
1
- export * from "./config/dataGridVirtualization";
@@ -1 +0,0 @@
1
- export * from "./theme/ensureDataGridAppStyles";
@@ -1 +0,0 @@
1
- export { DAY_MS, addDataGridWorkingDays, applyDataGridGanttDragDelta, buildDataGridGanttDependencyPaths, buildDataGridGanttRowEditPatch, buildDataGridNonWorkingDaySpans, buildDataGridTimelineModel, buildDataGridTimelineRenderModels, buildDataGridGanttVisibleBars, clampDataGridGanttScrollLeft, clampDataGridTimelineScrollLeft, formatDataGridGanttDayLabel, hitTestDataGridGanttBar, isDataGridWorkingDay, normalizeDataGridGanttOptions, resolveDataGridGanttDateOffset, resolveDataGridGanttDateMs, resolveDataGridGanttDependencies, resolveDataGridGanttDependencyRefs, resolveDataGridGanttProgress, resolveDataGridGanttRangeFrame, resolveDataGridGanttSnapDays, resolveDataGridGanttAnalysis, resolveDataGridGanttCriticalTaskIds, resolveDataGridGanttScrollLeftForDate, resolveDataGridGanttTimelineState, resolveDataGridWorkingCalendar, snapDataGridGanttDateMs, snapDataGridGanttDayDelta, snapDataGridDateToWorkingDay, startOfUtcDay, startOfUtcWeek, resolveDataGridTimelineDateToPixel, resolveDataGridTimelinePixelToDate, resolveDataGridTimelineRange, resolveDataGridTimelineScrollLeftForDate, resolveDataGridTimelineViewport, } from "@affino/datagrid-gantt";
@@ -1,46 +0,0 @@
1
- export const DATAGRID_GANTT_DEPENDENCY_HIT_SLOP_PX = 6;
2
- export function resolveDataGridGanttDependencyPathKey(path) {
3
- return [
4
- path.dependencyTaskId,
5
- path.dependencyType,
6
- path.sourceBar.rowId,
7
- path.targetBar.rowId,
8
- ].join("::");
9
- }
10
- function resolveSquaredDistanceToSegment(point, start, end) {
11
- const dx = end.x - start.x;
12
- const dy = end.y - start.y;
13
- if (dx === 0 && dy === 0) {
14
- const distanceX = point.x - start.x;
15
- const distanceY = point.y - start.y;
16
- return (distanceX * distanceX) + (distanceY * distanceY);
17
- }
18
- const projection = (((point.x - start.x) * dx) + ((point.y - start.y) * dy)) / ((dx * dx) + (dy * dy));
19
- const clampedProjection = Math.max(0, Math.min(1, projection));
20
- const closestX = start.x + (dx * clampedProjection);
21
- const closestY = start.y + (dy * clampedProjection);
22
- const distanceX = point.x - closestX;
23
- const distanceY = point.y - closestY;
24
- return (distanceX * distanceX) + (distanceY * distanceY);
25
- }
26
- export function hitTestDataGridGanttDependencyPath(paths, point, hitSlopPx = DATAGRID_GANTT_DEPENDENCY_HIT_SLOP_PX) {
27
- const maxDistanceSquared = Math.max(1, hitSlopPx) ** 2;
28
- let bestPath = null;
29
- let bestDistanceSquared = Number.POSITIVE_INFINITY;
30
- for (const path of paths) {
31
- for (let pointIndex = 1; pointIndex < path.points.length; pointIndex += 1) {
32
- const start = path.points[pointIndex - 1];
33
- const end = path.points[pointIndex];
34
- if (!start || !end) {
35
- continue;
36
- }
37
- const distanceSquared = resolveSquaredDistanceToSegment(point, start, end);
38
- if (distanceSquared > maxDistanceSquared || distanceSquared >= bestDistanceSquared) {
39
- continue;
40
- }
41
- bestDistanceSquared = distanceSquared;
42
- bestPath = path;
43
- }
44
- }
45
- return bestPath;
46
- }
@@ -1,30 +0,0 @@
1
- export const DATAGRID_GANTT_MIN_INLINE_LABEL_WIDTH_PX = 44;
2
- export function resolveDataGridGanttInlineLabel(label, availableWidth, measureTextWidth) {
3
- const normalizedLabel = label.trim();
4
- if (normalizedLabel.length === 0 || availableWidth < DATAGRID_GANTT_MIN_INLINE_LABEL_WIDTH_PX) {
5
- return null;
6
- }
7
- if (measureTextWidth(normalizedLabel) <= availableWidth) {
8
- return normalizedLabel;
9
- }
10
- const ellipsis = "...";
11
- const ellipsisWidth = measureTextWidth(ellipsis);
12
- if (ellipsisWidth > availableWidth) {
13
- return null;
14
- }
15
- let low = 0;
16
- let high = normalizedLabel.length;
17
- let fitted = "";
18
- while (low <= high) {
19
- const middle = Math.floor((low + high) / 2);
20
- const candidate = `${normalizedLabel.slice(0, middle).trimEnd()}${ellipsis}`;
21
- if (measureTextWidth(candidate) <= availableWidth) {
22
- fitted = candidate;
23
- low = middle + 1;
24
- }
25
- else {
26
- high = middle - 1;
27
- }
28
- }
29
- return fitted.length > 0 ? fitted : null;
30
- }
@@ -1,31 +0,0 @@
1
- export const DATAGRID_GANTT_SPLITTER_SIZE_PX = 12;
2
- export const DATAGRID_GANTT_MIN_TABLE_PANE_WIDTH_PX = 280;
3
- export const DATAGRID_GANTT_MIN_TIMELINE_PANE_WIDTH_PX = 240;
4
- function normalizePositive(value, fallback) {
5
- if (!Number.isFinite(value)) {
6
- return fallback;
7
- }
8
- return Math.max(1, Math.round(Number(value)));
9
- }
10
- export function clampDataGridGanttTablePaneWidth(input) {
11
- const minTableWidth = normalizePositive(input.minTableWidth, DATAGRID_GANTT_MIN_TABLE_PANE_WIDTH_PX);
12
- const minTimelineWidth = normalizePositive(input.minTimelineWidth, DATAGRID_GANTT_MIN_TIMELINE_PANE_WIDTH_PX);
13
- const requestedWidth = normalizePositive(input.requestedWidth, minTableWidth);
14
- const stageWidth = Number.isFinite(input.stageWidth) ? Math.max(0, Number(input.stageWidth)) : 0;
15
- const maxTableWidthByConfig = Number.isFinite(input.maxTableWidth)
16
- ? Math.max(minTableWidth, Math.round(Number(input.maxTableWidth)))
17
- : Number.POSITIVE_INFINITY;
18
- const maxTableWidthByStage = stageWidth > 0
19
- ? Math.max(minTableWidth, stageWidth - minTimelineWidth)
20
- : Number.POSITIVE_INFINITY;
21
- return Math.min(Math.max(requestedWidth, minTableWidth), Math.min(maxTableWidthByConfig, maxTableWidthByStage));
22
- }
23
- export function resolveDataGridGanttTablePaneDragWidth(input) {
24
- return clampDataGridGanttTablePaneWidth({
25
- requestedWidth: input.originWidth + input.deltaX,
26
- stageWidth: input.stageWidth,
27
- minTableWidth: input.minTableWidth,
28
- minTimelineWidth: input.minTimelineWidth,
29
- maxTableWidth: input.maxTableWidth,
30
- });
31
- }
@@ -1,30 +0,0 @@
1
- const WHEEL_NOISE_THRESHOLD = 0.5;
2
- const HORIZONTAL_DOMINANCE_RATIO = 1.25;
3
- export function resolveDataGridGanttWheelIntent(input) {
4
- const absX = Math.abs(input.deltaX);
5
- const absY = Math.abs(input.deltaY);
6
- if (input.shiftKey) {
7
- const horizontalDelta = absX > WHEEL_NOISE_THRESHOLD
8
- ? input.deltaX
9
- : input.deltaY;
10
- return Math.abs(horizontalDelta) > WHEEL_NOISE_THRESHOLD
11
- ? { horizontalDelta, verticalDelta: 0 }
12
- : { horizontalDelta: 0, verticalDelta: 0 };
13
- }
14
- if (absX <= WHEEL_NOISE_THRESHOLD && absY <= WHEEL_NOISE_THRESHOLD) {
15
- return {
16
- horizontalDelta: 0,
17
- verticalDelta: 0,
18
- };
19
- }
20
- if (absX > WHEEL_NOISE_THRESHOLD && absX > absY * HORIZONTAL_DOMINANCE_RATIO) {
21
- return {
22
- horizontalDelta: input.deltaX,
23
- verticalDelta: 0,
24
- };
25
- }
26
- return {
27
- horizontalDelta: 0,
28
- verticalDelta: input.deltaY,
29
- };
30
- }