@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.
- package/dist/DataGrid.d.ts +9 -9
- package/dist/DataGridTableStage.vue.d.ts +112 -0
- package/dist/chunks/useDataGridAppRowModel-CcTL-h8L.js +11251 -0
- package/dist/gantt/DataGridGanttStage.vue.d.ts +21 -0
- package/dist/host/DataGridDefaultRenderer.d.ts +3 -3
- package/dist/host/DataGridRuntimeHost.d.ts +1 -1
- package/dist/index.js +1125 -4
- package/dist/internal.js +37 -14
- package/dist/overlays/DataGridAdvancedFilterPopover.vue.d.ts +62 -0
- package/dist/overlays/DataGridAggregationsPopover.vue.d.ts +62 -0
- package/dist/overlays/DataGridCellComboboxEditor.vue.d.ts +29 -0
- package/dist/overlays/DataGridColumnLayoutPopover.vue.d.ts +51 -0
- package/dist/overlays/DataGridColumnMenu.vue.d.ts +65 -0
- package/dist/overlays/DataGridFilterableCombobox.vue.d.ts +76 -0
- package/dist/stage/DataGridTableStage.vue.d.ts +115 -0
- package/dist/stage/DataGridTableStageCenterPane.vue.d.ts +121 -0
- package/dist/stage/DataGridTableStageFillActionMenu.vue.d.ts +30 -0
- package/dist/stage/DataGridTableStageHeader.vue.d.ts +84 -0
- package/dist/stage/DataGridTableStageOverlayLayer.vue.d.ts +34 -0
- package/dist/stage/DataGridTableStagePinnedPane.vue.d.ts +43 -0
- package/package.json +8 -5
- package/dist/DataGrid.js +0 -565
- package/dist/DataGridDefaultRenderer.js +0 -2
- package/dist/DataGridModuleHost.js +0 -2
- package/dist/DataGridRuntimeHost.js +0 -1
- package/dist/config/dataGridAdvancedFilter.js +0 -21
- package/dist/config/dataGridAggregations.js +0 -21
- package/dist/config/dataGridColumnLayout.js +0 -21
- package/dist/config/dataGridFormulaOptions.js +0 -137
- package/dist/config/dataGridPublicProps.js +0 -58
- package/dist/config/dataGridSavedView.js +0 -73
- package/dist/config/dataGridVirtualization.js +0 -32
- package/dist/dataGridAdvancedFilter.js +0 -1
- package/dist/dataGridAggregations.js +0 -1
- package/dist/dataGridAppContext.js +0 -1
- package/dist/dataGridCellComboboxState.d.ts +0 -10
- package/dist/dataGridCellComboboxState.js +0 -67
- package/dist/dataGridColumnLayout.js +0 -1
- package/dist/dataGridColumnMenu.d.ts +0 -9
- package/dist/dataGridColumnMenu.js +0 -21
- package/dist/dataGridEditability.js +0 -1
- package/dist/dataGridFilterableCombobox.js +0 -1
- package/dist/dataGridFormulaOptions.js +0 -1
- package/dist/dataGridGantt.d.ts +0 -3
- package/dist/dataGridGantt.js +0 -1
- package/dist/dataGridGanttDependencySelection.d.ts +0 -7
- package/dist/dataGridGanttDependencySelection.js +0 -46
- package/dist/dataGridGanttLabel.d.ts +0 -2
- package/dist/dataGridGanttLabel.js +0 -30
- package/dist/dataGridGanttSplit.d.ts +0 -20
- package/dist/dataGridGanttSplit.js +0 -31
- package/dist/dataGridGanttWheel.d.ts +0 -10
- package/dist/dataGridGanttWheel.js +0 -30
- package/dist/dataGridOverlayThemeVars.d.ts +0 -1
- package/dist/dataGridOverlayThemeVars.js +0 -32
- package/dist/dataGridPublicProps.js +0 -1
- package/dist/dataGridTableStage.types.js +0 -1
- package/dist/dataGridTableStageBody.types.js +0 -1
- package/dist/dataGridTableStageContext.js +0 -1
- package/dist/dataGridTheme.js +0 -1
- package/dist/dataGridVirtualization.js +0 -1
- package/dist/ensureDataGridAppStyles.js +0 -1
- package/dist/gantt/dataGridGantt.js +0 -1
- package/dist/gantt/dataGridGanttDependencySelection.js +0 -46
- package/dist/gantt/dataGridGanttLabel.js +0 -30
- package/dist/gantt/dataGridGanttSplit.js +0 -31
- package/dist/gantt/dataGridGanttWheel.js +0 -30
- package/dist/host/DataGridDefaultRenderer.js +0 -1847
- package/dist/host/DataGridModuleHost.js +0 -23
- package/dist/host/DataGridRuntimeHost.js +0 -174
- package/dist/overlays/dataGridCellComboboxState.js +0 -67
- package/dist/overlays/dataGridColumnMenu.js +0 -190
- package/dist/overlays/dataGridContextMenu.js +0 -218
- package/dist/overlays/dataGridFilterableCombobox.js +0 -74
- package/dist/overlays/dataGridOverlayThemeVars.js +0 -32
- package/dist/stage/dataGridTableStage.types.js +0 -1
- package/dist/stage/dataGridTableStageBody.types.js +0 -1
- package/dist/stage/dataGridTableStageContext.js +0 -88
- package/dist/stage/useDataGridTableStageBindings.js +0 -162
- package/dist/stage/useDataGridTableStageCellIo.js +0 -62
- package/dist/stage/useDataGridTableStageColumns.js +0 -124
- package/dist/stage/useDataGridTableStageFillAction.js +0 -28
- package/dist/stage/useDataGridTableStageHistory.js +0 -46
- package/dist/stage/useDataGridTableStageRowSelection.js +0 -107
- package/dist/stage/useDataGridTableStageRuntime.js +0 -526
- package/dist/stage/useDataGridTableStageScrollSync.js +0 -49
- package/dist/stage/useDataGridTableStageViewportKeyboard.js +0 -58
- package/dist/stage/useDataGridTableStageVisualSelection.js +0 -83
- package/dist/theme/dataGridTheme.js +0 -84
- package/dist/theme/ensureDataGridAppStyles.js +0 -2656
- package/dist/useDataGridAppControlledState.js +0 -390
- package/dist/useDataGridAppRowModel.js +0 -85
- package/dist/useDataGridTableStageBindings.js +0 -1
- package/dist/useDataGridTableStageCellIo.d.ts +0 -28
- package/dist/useDataGridTableStageCellIo.js +0 -62
- package/dist/useDataGridTableStageColumns.d.ts +0 -21
- package/dist/useDataGridTableStageColumns.js +0 -122
- package/dist/useDataGridTableStageFillAction.d.ts +0 -19
- package/dist/useDataGridTableStageFillAction.js +0 -28
- package/dist/useDataGridTableStageHistory.d.ts +0 -31
- package/dist/useDataGridTableStageHistory.js +0 -46
- package/dist/useDataGridTableStageRowSelection.d.ts +0 -28
- package/dist/useDataGridTableStageRowSelection.js +0 -103
- package/dist/useDataGridTableStageRuntime.js +0 -1
- package/dist/useDataGridTableStageScrollSync.d.ts +0 -17
- package/dist/useDataGridTableStageScrollSync.js +0 -49
- package/dist/useDataGridTableStageViewportKeyboard.d.ts +0 -20
- package/dist/useDataGridTableStageViewportKeyboard.js +0 -58
- package/dist/useDataGridTableStageVisualSelection.d.ts +0 -24
- 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";
|
package/dist/dataGridTheme.js
DELETED
|
@@ -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
|
-
}
|