UNPKG

@mui/x-data-grid-pro

Version:

The Pro plan edition of the MUI X Data Grid components.

41 lines (40 loc) 1.83 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.treeDataReorderValidator = void 0; var _xDataGrid = require("@mui/x-data-grid"); var _reorderValidator = require("../rowReorder/reorderValidator"); var _commonReorderConditions = require("../rowReorder/commonReorderConditions"); const validationRules = [{ name: 'same-position', applies: ctx => ctx.sourceNode.id === ctx.targetNode.id, isInvalid: () => true, message: 'Source and target are the same' }, { name: 'adjacent-position', applies: ctx => _commonReorderConditions.commonReorderConditions.isAdjacentPosition(ctx), isInvalid: () => true, message: 'Source and target are adjacent' }, { name: 'to-descendent', applies: ctx => _commonReorderConditions.commonReorderConditions.isGroupToLeaf(ctx) || _commonReorderConditions.commonReorderConditions.isGroupToGroup(ctx), isInvalid: ctx => { let currentNode = ctx.targetNode; const rowTree = (0, _xDataGrid.gridRowTreeSelector)(ctx.apiRef); while (currentNode.parent) { currentNode = rowTree[currentNode.parent]; if (currentNode.id === ctx.sourceNode.id) { return true; } } return false; }, message: 'Cannot drop group on one of its descendents' }, { name: 'group-to-group-above-leaf-belongs-to-source', applies: ctx => _commonReorderConditions.commonReorderConditions.isGroupToGroup(ctx) && _commonReorderConditions.commonReorderConditions.isDropAbove(ctx) && _commonReorderConditions.commonReorderConditions.prevIsLeaf(ctx), isInvalid: _commonReorderConditions.commonReorderConditions.prevBelongsToSource, message: 'Previous leaf belongs to source group or its descendants' }]; const treeDataReorderValidator = exports.treeDataReorderValidator = new _reorderValidator.RowReorderValidator(validationRules);