wip:milestone 0 fixes
Some checks failed
CI/CD Pipeline / unit-tests (push) Failing after 1m16s
CI/CD Pipeline / integration-tests (push) Failing after 2m32s
CI/CD Pipeline / lint (push) Successful in 5m22s
CI/CD Pipeline / e2e-tests (push) Has been skipped
CI/CD Pipeline / build (push) Has been skipped

This commit is contained in:
2026-03-15 12:35:42 +02:00
parent 6708cf28a7
commit cffdf8af86
61266 changed files with 4511646 additions and 1938 deletions

View File

@@ -0,0 +1,5 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});

View File

@@ -0,0 +1,8 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.gridColumnMenuSelector = void 0;
const gridColumnMenuSelector = state => state.columnMenu;
exports.gridColumnMenuSelector = gridColumnMenuSelector;

View File

@@ -0,0 +1,27 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
var _columnMenuInterfaces = require("./columnMenuInterfaces");
Object.keys(_columnMenuInterfaces).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (key in exports && exports[key] === _columnMenuInterfaces[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return _columnMenuInterfaces[key];
}
});
});
var _columnMenuSelector = require("./columnMenuSelector");
Object.keys(_columnMenuSelector).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (key in exports && exports[key] === _columnMenuSelector[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return _columnMenuSelector[key];
}
});
});

View File

@@ -0,0 +1,112 @@
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useGridColumnMenu = exports.columnMenuStateInitializer = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var React = _interopRequireWildcard(require("react"));
var _utils = require("../../utils");
var _columnMenuSelector = require("./columnMenuSelector");
var _gridColumnsSelector = require("../columns/gridColumnsSelector");
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
const columnMenuStateInitializer = state => (0, _extends2.default)({}, state, {
columnMenu: {
open: false
}
});
/**
* @requires useGridColumnResize (event)
* @requires useGridInfiniteLoader (event)
*/
exports.columnMenuStateInitializer = columnMenuStateInitializer;
const useGridColumnMenu = apiRef => {
const logger = (0, _utils.useGridLogger)(apiRef, 'useGridColumnMenu');
/**
* API METHODS
*/
const showColumnMenu = React.useCallback(field => {
const shouldUpdate = apiRef.current.setState(state => {
if (state.columnMenu.open && state.columnMenu.field === field) {
return state;
}
logger.debug('Opening Column Menu');
return (0, _extends2.default)({}, state, {
columnMenu: {
open: true,
field
}
});
});
if (shouldUpdate) {
apiRef.current.hidePreferences();
apiRef.current.forceUpdate();
}
}, [apiRef, logger]);
const hideColumnMenu = React.useCallback(() => {
const columnMenuState = (0, _columnMenuSelector.gridColumnMenuSelector)(apiRef.current.state);
if (columnMenuState.field) {
const columnLookup = (0, _gridColumnsSelector.gridColumnLookupSelector)(apiRef);
const columnVisibilityModel = (0, _gridColumnsSelector.gridColumnVisibilityModelSelector)(apiRef);
const orderedFields = (0, _gridColumnsSelector.gridColumnFieldsSelector)(apiRef);
let fieldToFocus = columnMenuState.field;
// If the column was removed from the grid, we need to find the closest visible field
if (!columnLookup[fieldToFocus]) {
fieldToFocus = orderedFields[0];
}
// If the field to focus is hidden, we need to find the closest visible field
if (columnVisibilityModel[fieldToFocus] === false) {
// contains visible column fields + the field that was just hidden
const visibleOrderedFields = orderedFields.filter(field => {
if (field === fieldToFocus) {
return true;
}
return columnVisibilityModel[field] !== false;
});
const fieldIndex = visibleOrderedFields.indexOf(fieldToFocus);
fieldToFocus = visibleOrderedFields[fieldIndex + 1] || visibleOrderedFields[fieldIndex - 1];
}
apiRef.current.setColumnHeaderFocus(fieldToFocus);
}
const shouldUpdate = apiRef.current.setState(state => {
if (!state.columnMenu.open && state.columnMenu.field === undefined) {
return state;
}
logger.debug('Hiding Column Menu');
return (0, _extends2.default)({}, state, {
columnMenu: (0, _extends2.default)({}, state.columnMenu, {
open: false,
field: undefined
})
});
});
if (shouldUpdate) {
apiRef.current.forceUpdate();
}
}, [apiRef, logger]);
const toggleColumnMenu = React.useCallback(field => {
logger.debug('Toggle Column Menu');
const columnMenu = (0, _columnMenuSelector.gridColumnMenuSelector)(apiRef.current.state);
if (!columnMenu.open || columnMenu.field !== field) {
showColumnMenu(field);
} else {
hideColumnMenu();
}
}, [apiRef, logger, showColumnMenu, hideColumnMenu]);
const columnMenuApi = {
showColumnMenu,
hideColumnMenu,
toggleColumnMenu
};
(0, _utils.useGridApiMethod)(apiRef, columnMenuApi, 'public');
(0, _utils.useGridApiEventHandler)(apiRef, 'columnResizeStart', hideColumnMenu);
(0, _utils.useGridApiEventHandler)(apiRef, 'virtualScrollerWheel', apiRef.current.hideColumnMenu);
(0, _utils.useGridApiEventHandler)(apiRef, 'virtualScrollerTouchMove', apiRef.current.hideColumnMenu);
};
exports.useGridColumnMenu = useGridColumnMenu;

View File

@@ -0,0 +1,67 @@
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useGridColumnMenuSlots = void 0;
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var React = _interopRequireWildcard(require("react"));
var _Divider = _interopRequireDefault(require("@mui/material/Divider"));
var _useGridPrivateApiContext = require("../../utils/useGridPrivateApiContext");
const _excluded = ["displayOrder"];
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
const useGridColumnMenuSlots = props => {
const apiRef = (0, _useGridPrivateApiContext.useGridPrivateApiContext)();
const {
defaultSlots,
defaultSlotProps,
slots = {},
slotProps = {},
hideMenu,
colDef,
addDividers = true
} = props;
const processedComponents = React.useMemo(() => (0, _extends2.default)({}, defaultSlots, slots), [defaultSlots, slots]);
const processedSlotProps = React.useMemo(() => {
if (!slotProps || Object.keys(slotProps).length === 0) {
return defaultSlotProps;
}
const mergedProps = (0, _extends2.default)({}, slotProps);
Object.entries(defaultSlotProps).forEach(([key, currentSlotProps]) => {
mergedProps[key] = (0, _extends2.default)({}, currentSlotProps, slotProps[key] || {});
});
return mergedProps;
}, [defaultSlotProps, slotProps]);
const defaultItems = apiRef.current.unstable_applyPipeProcessors('columnMenu', [], props.colDef);
const userItems = React.useMemo(() => {
const defaultComponentKeys = Object.keys(defaultSlots);
return Object.keys(slots).filter(key => !defaultComponentKeys.includes(key));
}, [slots, defaultSlots]);
return React.useMemo(() => {
const uniqueItems = Array.from(new Set([...defaultItems, ...userItems]));
const cleansedItems = uniqueItems.filter(key => processedComponents[key] != null);
const sorted = cleansedItems.sort((a, b) => {
const leftItemProps = processedSlotProps[a];
const rightItemProps = processedSlotProps[b];
const leftDisplayOrder = Number.isFinite(leftItemProps?.displayOrder) ? leftItemProps.displayOrder : 100;
const rightDisplayOrder = Number.isFinite(rightItemProps?.displayOrder) ? rightItemProps.displayOrder : 100;
return leftDisplayOrder - rightDisplayOrder;
});
return sorted.reduce((acc, key, index) => {
let itemProps = {
colDef,
onClick: hideMenu
};
const processedComponentProps = processedSlotProps[key];
if (processedComponentProps) {
const customProps = (0, _objectWithoutPropertiesLoose2.default)(processedComponentProps, _excluded);
itemProps = (0, _extends2.default)({}, itemProps, customProps);
}
return addDividers && index !== sorted.length - 1 ? [...acc, [processedComponents[key], itemProps], [_Divider.default, {}]] : [...acc, [processedComponents[key], itemProps]];
}, []);
}, [addDividers, colDef, defaultItems, hideMenu, processedComponents, processedSlotProps, userItems]);
};
exports.useGridColumnMenuSlots = useGridColumnMenuSlots;