@devexpress/dx-grid-core
Advanced tools
Comparing version 1.0.0-alpha.14 to 1.0.0-beta.1
/** | ||
* Bundle of @devexpress/dx-grid-core | ||
* Generated: 2017-10-25 | ||
* Version: 1.0.0-alpha.14 | ||
* Generated: 2017-11-10 | ||
* Version: 1.0.0-beta.1 | ||
* License: https://js.devexpress.com/Licensing | ||
@@ -154,34 +154,2 @@ */ | ||
var defaultCompare = function defaultCompare(a, b) { | ||
if (a < b) return -1; | ||
if (a > b) return 1; | ||
return 0; | ||
}; | ||
var sortedRows = function sortedRows(rows, sorting, getCellValue, getColumnCompare) { | ||
if (!sorting.length) return rows; | ||
var compare = Array.from(sorting).reverse().reduce(function (prevCompare, columnSorting) { | ||
var columnName = columnSorting.columnName; | ||
var inverse = columnSorting.direction === 'desc'; | ||
var columnCompare = getColumnCompare && getColumnCompare(columnName) || defaultCompare; | ||
return function (aRow, bRow) { | ||
var a = getCellValue(aRow, columnName); | ||
var b = getCellValue(bRow, columnName); | ||
var result = columnCompare(a, b); | ||
if (result !== 0) { | ||
return inverse ? -result : result; | ||
} | ||
return prevCompare(aRow, bRow); | ||
}; | ||
}, function () { | ||
return 0; | ||
}); | ||
return mergeSort(Array.from(rows), compare); | ||
}; | ||
var asyncGenerator = function () { | ||
@@ -431,2 +399,117 @@ function AwaitValue(value) { | ||
var NODE_CHECK = Symbol('node'); | ||
var rowsToTree = function rowsToTree(rows, getRowLevelKey) { | ||
if (!rows.length) return rows; | ||
var levels = [{ children: [] }]; | ||
rows.forEach(function (row) { | ||
var levelKey = getRowLevelKey(row); | ||
if (levelKey) { | ||
var _node; | ||
var levelIndex = levels.slice(1).findIndex(function (level) { | ||
return getRowLevelKey(level.root) === levelKey; | ||
}) + 1; | ||
if (levelIndex > 0) { | ||
levels.splice(levelIndex, levels.length - levelIndex); | ||
} | ||
var node = (_node = {}, defineProperty(_node, NODE_CHECK, true), defineProperty(_node, 'root', row), defineProperty(_node, 'children', []), _node); | ||
levels[levels.length - 1].children.push(node); | ||
levels.push(node); | ||
} else { | ||
levels[levels.length - 1].children.push(row); | ||
} | ||
}); | ||
return levels[0].children; | ||
}; | ||
var treeToRows = function treeToRows(tree) { | ||
var rows = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : []; | ||
if (!tree.length) return tree; | ||
return tree.reduce(function (acc, node) { | ||
if (node[NODE_CHECK]) { | ||
acc.push(node.root); | ||
treeToRows(node.children, rows); | ||
} else { | ||
acc.push(node); | ||
} | ||
return acc; | ||
}, rows); | ||
}; | ||
var defaultCompare = function defaultCompare(a, b) { | ||
if (a < b) return -1; | ||
if (a > b) return 1; | ||
return 0; | ||
}; | ||
var createCompare = function createCompare(sorting, getColumnCompare, getComparableValue) { | ||
return Array.from(sorting).reverse().reduce(function (prevCompare, columnSorting) { | ||
var columnName = columnSorting.columnName; | ||
var inverse = columnSorting.direction === 'desc'; | ||
var columnCompare = getColumnCompare && getColumnCompare(columnName) || defaultCompare; | ||
return function (aRow, bRow) { | ||
var a = getComparableValue(aRow, columnName); | ||
var b = getComparableValue(bRow, columnName); | ||
var result = columnCompare(a, b); | ||
if (result !== 0) { | ||
return inverse ? -result : result; | ||
} | ||
return prevCompare(aRow, bRow); | ||
}; | ||
}, function () { | ||
return 0; | ||
}); | ||
}; | ||
var sortTree = function sortTree(tree, compare) { | ||
var sortedTree = tree.map(function (node) { | ||
if (node[NODE_CHECK]) { | ||
return _extends({}, node, { | ||
children: sortTree(node.children, compare) | ||
}); | ||
} | ||
return node; | ||
}); | ||
return mergeSort(sortedTree, function (a, b) { | ||
return compare(a[NODE_CHECK] ? a.root : a, b[NODE_CHECK] ? b.root : b); | ||
}); | ||
}; | ||
var sortHierarchicalRows = function sortHierarchicalRows(rows, compare, getRowLevelKey) { | ||
var tree = rowsToTree(rows, getRowLevelKey); | ||
var sortedTree = sortTree(tree, compare); | ||
return treeToRows(sortedTree); | ||
}; | ||
var sortedRows = function sortedRows(rows, sorting, getCellValue, getColumnCompare, isGroupRow, getRowLevelKey) { | ||
if (!sorting.length || !rows.length) return rows; | ||
if (!getRowLevelKey) { | ||
var _compare = createCompare(sorting, getColumnCompare, getCellValue); | ||
return mergeSort(Array.from(rows), _compare); | ||
} | ||
var compare = createCompare(sorting, getColumnCompare, function (row, columnName) { | ||
if (isGroupRow(row)) { | ||
if (row.groupedBy === columnName) { | ||
return row.value; | ||
} | ||
return undefined; | ||
} | ||
return getCellValue(row, columnName); | ||
}); | ||
return sortHierarchicalRows(rows, compare, getRowLevelKey); | ||
}; | ||
var setColumnFilter = function setColumnFilter(filters, _ref) { | ||
@@ -479,13 +562,55 @@ var columnName = _ref.columnName, | ||
var filteredRows = function filteredRows(rows, filters, getCellValue, getColumnPredicate) { | ||
if (!filters.length) return rows; | ||
var filterTree = function filterTree(tree, predicate) { | ||
return tree.reduce(function (acc, node) { | ||
if (node[NODE_CHECK]) { | ||
var filteredChildren = filterTree(node.children, predicate); | ||
if (filteredChildren.length > 0) { | ||
acc.push(_extends({}, node, { | ||
children: filteredChildren | ||
})); | ||
return acc; | ||
} else if (predicate(node.root)) { | ||
acc.push(node.root); | ||
return acc; | ||
} | ||
} | ||
var compoundPredicate = filters.reduce(function (prevCompare, filter) { | ||
return function (row) { | ||
var columnName = filter.columnName, | ||
filterConfig = objectWithoutProperties(filter, ["columnName"]); | ||
if (predicate(node)) { | ||
acc.push(node); | ||
return acc; | ||
} | ||
var predicate = getColumnPredicate && getColumnPredicate(columnName) || defaultPredicate; | ||
return acc; | ||
}, []); | ||
}; | ||
return prevCompare(row) && predicate(getCellValue(row, columnName), filterConfig, row); | ||
var filterHierarchicalRows = function filterHierarchicalRows(rows, predicate, getRowLevelKey, isGroupRow) { | ||
var tree = rowsToTree(rows, getRowLevelKey); | ||
var filteredTree = filterTree(tree, function (row) { | ||
if (isGroupRow(row)) { | ||
if (row.collapsedRows) { | ||
return row.collapsedRows.findIndex(predicate) > -1; | ||
} | ||
return false; | ||
} | ||
return predicate(row); | ||
}); | ||
return treeToRows(filteredTree); | ||
}; | ||
var filteredRows = function filteredRows(rows, filters, getCellValue, getColumnPredicate, isGroupRow, getRowLevelKey) { | ||
if (!filters.length || !rows.length) return rows; | ||
var predicate = filters.reduce(function (prevPredicate, filter) { | ||
var columnName = filter.columnName, | ||
filterConfig = objectWithoutProperties(filter, ['columnName']); | ||
var customPredicate = getColumnPredicate && getColumnPredicate(columnName); | ||
var columnPredicate = customPredicate || defaultPredicate; | ||
return function (row) { | ||
var result = columnPredicate(getCellValue(row, columnName), filterConfig, row); | ||
return result && prevPredicate(row); | ||
}; | ||
@@ -496,3 +621,7 @@ }, function () { | ||
return rows.filter(compoundPredicate); | ||
if (!getRowLevelKey) { | ||
return rows.filter(predicate); | ||
} | ||
return filterHierarchicalRows(rows, predicate, getRowLevelKey, isGroupRow); | ||
}; | ||
@@ -669,5 +798,10 @@ | ||
var currentGroupLevel = 0; | ||
return rows.reduce(function (acc, row) { | ||
if (!row[GRID_GROUP_CHECK]) { | ||
if (currentGroupExpanded) acc.push(row); | ||
if (currentGroupExpanded) { | ||
acc.push(row); | ||
} else { | ||
acc[acc.length - 1].collapsedRows.push(row); | ||
} | ||
return acc; | ||
@@ -684,3 +818,10 @@ } | ||
acc.push(row); | ||
if (currentGroupExpanded) { | ||
acc.push(row); | ||
} else { | ||
acc.push(_extends({}, row, { | ||
collapsedRows: [] | ||
})); | ||
} | ||
return acc; | ||
@@ -694,3 +835,3 @@ }, []); | ||
if (!currentRows) return []; | ||
if (!currentRows || !currentRows.length) return []; | ||
if (!grouping.length) return currentRows; | ||
@@ -1004,3 +1145,5 @@ | ||
var setColumnOrder = function setColumnOrder(order, _ref) { | ||
var TABLE_REORDERING_TYPE = 'reordering'; | ||
var changeColumnOrder = function changeColumnOrder(order, _ref) { | ||
var sourceColumnName = _ref.sourceColumnName, | ||
@@ -1018,8 +1161,13 @@ targetColumnName = _ref.targetColumnName; | ||
var orderedColumns = function orderedColumns(columns, order) { | ||
var result = Array.from(columns); | ||
var TABLE_DATA_TYPE = 'data'; | ||
var TABLE_NODATA_TYPE = 'nodata'; | ||
var orderedColumns = function orderedColumns(tableColumns, order) { | ||
var result = Array.from(tableColumns); | ||
result.sort(function (a, b) { | ||
var aPos = order.indexOf(a.name); | ||
var bPos = order.indexOf(b.name); | ||
if (a.type !== TABLE_DATA_TYPE || b.type !== TABLE_DATA_TYPE) return 0; | ||
var aPos = order.indexOf(a.column.name); | ||
var bPos = order.indexOf(b.column.name); | ||
return aPos - bPos; | ||
@@ -1031,2 +1179,23 @@ }); | ||
var tableHeaderRowsWithReordering = function tableHeaderRowsWithReordering(tableHeaderRows) { | ||
return [{ | ||
key: TABLE_REORDERING_TYPE, | ||
type: TABLE_REORDERING_TYPE, | ||
height: 0 | ||
}].concat(toConsumableArray(tableHeaderRows)); | ||
}; | ||
var draftOrder = function draftOrder(order, sourceColumnIndex, targetColumnIndex) { | ||
if (sourceColumnIndex === -1 || targetColumnIndex === -1 || sourceColumnIndex === targetColumnIndex) { | ||
return order; | ||
} | ||
var result = order.slice(); | ||
var sourceColumn = order[sourceColumnIndex]; | ||
result.splice(sourceColumnIndex, 1); | ||
result.splice(targetColumnIndex, 0, sourceColumn); | ||
return result; | ||
}; | ||
var UNSET_COLUMN_WIDTH_ERROR = ['The "$1" column\'s width is not specified.', 'The TableColumnResizing plugin requires that all columns have the specified width.'].join('\n'); | ||
@@ -1089,5 +1258,2 @@ | ||
var TABLE_DATA_TYPE = 'data'; | ||
var TABLE_NODATA_TYPE = 'nodata'; | ||
var TABLE_HEADING_TYPE = 'heading'; | ||
@@ -1120,3 +1286,2 @@ | ||
return tableRow.type === TABLE_DATA_TYPE && rowIds.has(tableRow.rowId) ? _extends({}, tableRow, { | ||
key: TABLE_EDIT_TYPE + '_' + tableRow.rowId, | ||
type: TABLE_EDIT_TYPE, | ||
@@ -1204,3 +1369,3 @@ height: rowHeight | ||
return _extends({}, tableRow, { | ||
key: TABLE_GROUP_TYPE + '_' + tableRow.row.key, | ||
key: TABLE_GROUP_TYPE + '_' + tableRow.row.compoundKey, | ||
type: TABLE_GROUP_TYPE, | ||
@@ -1438,3 +1603,3 @@ colSpanStart: TABLE_GROUP_TYPE + '_' + tableRow.row.groupedBy | ||
var getAnimations = function getAnimations(prevColumns, nextColumns, tableWidth, draggingColumnKey, prevAnimations) { | ||
var getAnimations = function getAnimations(prevColumns, nextColumns, tableWidth, prevAnimations) { | ||
var prevColumnGeometries = new Map(getTableColumnGeometries(prevColumns, tableWidth).map(function (geometry, index) { | ||
@@ -1469,8 +1634,2 @@ return [prevColumns[index].key, geometry]; | ||
} | ||
if (draggingColumnKey === key) { | ||
result.style = { | ||
zIndex: 100, | ||
position: 'relative' | ||
}; | ||
} | ||
return [key, result]; | ||
@@ -1531,3 +1690,23 @@ }).filter(function (animation) { | ||
export { getTableRowColumnsWithColSpan, getTableColumnGeometries, getTableTargetColumnIndex, getAnimations, filterActiveAnimations, evalAnimations, getGroupCellTargetIndex, rowIdGetter, cellValueGetter, setColumnSorting, getColumnSortingDirection, sortedRows, setColumnFilter, getColumnFilterConfig, filteredRows, groupByColumn, toggleExpandedGroups, draftGroupingChange, cancelGroupingChange, draftGrouping, groupRowChecker, groupRowLevelKeyGetter, groupedRows, expandedGroupRows, customGroupedRows, customGroupingRowIdGetter, groupingPanelItems, setCurrentPage, setPageSize, paginatedRows, rowsWithPageHeaders, pageCount, rowCount, firstRowOnPage, lastRowOnPage, setRowsSelection, getAvailableToSelect, getAvailableSelection, startEditRows, stopEditRows, addRow, changeAddedRow, cancelAddedRows, changeRow, cancelChanges, deleteRows, cancelDeletedRows, changedRowsByIds, addedRowsByIds, computedCreateRowChange, getRowChange, setColumnOrder, orderedColumns, tableColumnsWithWidths, changeTableColumnWidths, changeDraftTableColumnWidths, TABLE_EDIT_COMMAND_TYPE, isHeadingEditCommandsTableCell, isEditCommandsTableCell, tableColumnsWithEditing, TABLE_ADDED_TYPE, TABLE_EDIT_TYPE, isEditTableCell, isAddedTableRow, isEditTableRow, tableRowsWithEditing, TABLE_FILTER_TYPE, isFilterTableCell, isFilterTableRow, tableHeaderRowsWithFilter, TABLE_GROUP_TYPE, isGroupTableCell, isGroupIndentTableCell, isGroupTableRow, tableColumnsWithGrouping, tableRowsWithGrouping, TABLE_HEADING_TYPE, isHeadingTableCell, isHeadingTableRow, tableRowsWithHeading, TABLE_DETAIL_TYPE, isDetailRowExpanded, isDetailToggleTableCell, isDetailTableRow, setDetailRowExpanded, tableRowsWithExpandedDetail, tableColumnsWithDetail, TABLE_SELECT_TYPE, isSelectTableCell, isSelectAllTableCell, tableColumnsWithSelection, TABLE_DATA_TYPE, TABLE_NODATA_TYPE, isNoDataTableRow, isDataTableCell, isHeaderStubTableCell, isDataTableRow, tableColumnsWithDataRows, tableRowsWithDataRows, visibleTableColumns, columnChooserItems, toggleColumn }; | ||
var processPattern = function processPattern(pattern, params) { | ||
return Object.keys(params).reduce(function (msg, key) { | ||
return msg.replace('{' + key + '}', params[key]); | ||
}, pattern); | ||
}; | ||
var getMessagesFormatter = function getMessagesFormatter(messages) { | ||
return function (key, params) { | ||
var message = messages[key]; | ||
if (typeof message === 'function') { | ||
return message(params); | ||
} | ||
if (params) { | ||
return processPattern(message, params); | ||
} | ||
return message; | ||
}; | ||
}; | ||
export { getTableRowColumnsWithColSpan, getTableColumnGeometries, getTableTargetColumnIndex, getAnimations, filterActiveAnimations, evalAnimations, getGroupCellTargetIndex, getMessagesFormatter, rowIdGetter, cellValueGetter, setColumnSorting, getColumnSortingDirection, sortedRows, setColumnFilter, getColumnFilterConfig, filteredRows, groupByColumn, toggleExpandedGroups, draftGroupingChange, cancelGroupingChange, draftGrouping, groupRowChecker, groupRowLevelKeyGetter, groupedRows, expandedGroupRows, customGroupedRows, customGroupingRowIdGetter, groupingPanelItems, setCurrentPage, setPageSize, paginatedRows, rowsWithPageHeaders, pageCount, rowCount, firstRowOnPage, lastRowOnPage, setRowsSelection, getAvailableToSelect, getAvailableSelection, startEditRows, stopEditRows, addRow, changeAddedRow, cancelAddedRows, changeRow, cancelChanges, deleteRows, cancelDeletedRows, changedRowsByIds, addedRowsByIds, computedCreateRowChange, getRowChange, TABLE_REORDERING_TYPE, changeColumnOrder, orderedColumns, tableHeaderRowsWithReordering, draftOrder, tableColumnsWithWidths, changeTableColumnWidths, changeDraftTableColumnWidths, TABLE_EDIT_COMMAND_TYPE, isHeadingEditCommandsTableCell, isEditCommandsTableCell, tableColumnsWithEditing, TABLE_ADDED_TYPE, TABLE_EDIT_TYPE, isEditTableCell, isAddedTableRow, isEditTableRow, tableRowsWithEditing, TABLE_FILTER_TYPE, isFilterTableCell, isFilterTableRow, tableHeaderRowsWithFilter, TABLE_GROUP_TYPE, isGroupTableCell, isGroupIndentTableCell, isGroupTableRow, tableColumnsWithGrouping, tableRowsWithGrouping, TABLE_HEADING_TYPE, isHeadingTableCell, isHeadingTableRow, tableRowsWithHeading, TABLE_DETAIL_TYPE, isDetailRowExpanded, isDetailToggleTableCell, isDetailTableRow, setDetailRowExpanded, tableRowsWithExpandedDetail, tableColumnsWithDetail, TABLE_SELECT_TYPE, isSelectTableCell, isSelectAllTableCell, tableColumnsWithSelection, TABLE_DATA_TYPE, TABLE_NODATA_TYPE, isNoDataTableRow, isDataTableCell, isHeaderStubTableCell, isDataTableRow, tableColumnsWithDataRows, tableRowsWithDataRows, visibleTableColumns, columnChooserItems, toggleColumn }; | ||
//# sourceMappingURL=dx-grid-core.es.js.map |
/** | ||
* Bundle of @devexpress/dx-grid-core | ||
* Generated: 2017-10-25 | ||
* Version: 1.0.0-alpha.14 | ||
* Generated: 2017-11-10 | ||
* Version: 1.0.0-beta.1 | ||
* License: https://js.devexpress.com/Licensing | ||
@@ -158,34 +158,2 @@ */ | ||
var defaultCompare = function defaultCompare(a, b) { | ||
if (a < b) return -1; | ||
if (a > b) return 1; | ||
return 0; | ||
}; | ||
var sortedRows = function sortedRows(rows, sorting, getCellValue, getColumnCompare) { | ||
if (!sorting.length) return rows; | ||
var compare = Array.from(sorting).reverse().reduce(function (prevCompare, columnSorting) { | ||
var columnName = columnSorting.columnName; | ||
var inverse = columnSorting.direction === 'desc'; | ||
var columnCompare = getColumnCompare && getColumnCompare(columnName) || defaultCompare; | ||
return function (aRow, bRow) { | ||
var a = getCellValue(aRow, columnName); | ||
var b = getCellValue(bRow, columnName); | ||
var result = columnCompare(a, b); | ||
if (result !== 0) { | ||
return inverse ? -result : result; | ||
} | ||
return prevCompare(aRow, bRow); | ||
}; | ||
}, function () { | ||
return 0; | ||
}); | ||
return mergeSort(Array.from(rows), compare); | ||
}; | ||
var asyncGenerator = function () { | ||
@@ -435,2 +403,117 @@ function AwaitValue(value) { | ||
var NODE_CHECK = Symbol('node'); | ||
var rowsToTree = function rowsToTree(rows, getRowLevelKey) { | ||
if (!rows.length) return rows; | ||
var levels = [{ children: [] }]; | ||
rows.forEach(function (row) { | ||
var levelKey = getRowLevelKey(row); | ||
if (levelKey) { | ||
var _node; | ||
var levelIndex = levels.slice(1).findIndex(function (level) { | ||
return getRowLevelKey(level.root) === levelKey; | ||
}) + 1; | ||
if (levelIndex > 0) { | ||
levels.splice(levelIndex, levels.length - levelIndex); | ||
} | ||
var node = (_node = {}, defineProperty(_node, NODE_CHECK, true), defineProperty(_node, 'root', row), defineProperty(_node, 'children', []), _node); | ||
levels[levels.length - 1].children.push(node); | ||
levels.push(node); | ||
} else { | ||
levels[levels.length - 1].children.push(row); | ||
} | ||
}); | ||
return levels[0].children; | ||
}; | ||
var treeToRows = function treeToRows(tree) { | ||
var rows = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : []; | ||
if (!tree.length) return tree; | ||
return tree.reduce(function (acc, node) { | ||
if (node[NODE_CHECK]) { | ||
acc.push(node.root); | ||
treeToRows(node.children, rows); | ||
} else { | ||
acc.push(node); | ||
} | ||
return acc; | ||
}, rows); | ||
}; | ||
var defaultCompare = function defaultCompare(a, b) { | ||
if (a < b) return -1; | ||
if (a > b) return 1; | ||
return 0; | ||
}; | ||
var createCompare = function createCompare(sorting, getColumnCompare, getComparableValue) { | ||
return Array.from(sorting).reverse().reduce(function (prevCompare, columnSorting) { | ||
var columnName = columnSorting.columnName; | ||
var inverse = columnSorting.direction === 'desc'; | ||
var columnCompare = getColumnCompare && getColumnCompare(columnName) || defaultCompare; | ||
return function (aRow, bRow) { | ||
var a = getComparableValue(aRow, columnName); | ||
var b = getComparableValue(bRow, columnName); | ||
var result = columnCompare(a, b); | ||
if (result !== 0) { | ||
return inverse ? -result : result; | ||
} | ||
return prevCompare(aRow, bRow); | ||
}; | ||
}, function () { | ||
return 0; | ||
}); | ||
}; | ||
var sortTree = function sortTree(tree, compare) { | ||
var sortedTree = tree.map(function (node) { | ||
if (node[NODE_CHECK]) { | ||
return _extends({}, node, { | ||
children: sortTree(node.children, compare) | ||
}); | ||
} | ||
return node; | ||
}); | ||
return mergeSort(sortedTree, function (a, b) { | ||
return compare(a[NODE_CHECK] ? a.root : a, b[NODE_CHECK] ? b.root : b); | ||
}); | ||
}; | ||
var sortHierarchicalRows = function sortHierarchicalRows(rows, compare, getRowLevelKey) { | ||
var tree = rowsToTree(rows, getRowLevelKey); | ||
var sortedTree = sortTree(tree, compare); | ||
return treeToRows(sortedTree); | ||
}; | ||
var sortedRows = function sortedRows(rows, sorting, getCellValue, getColumnCompare, isGroupRow, getRowLevelKey) { | ||
if (!sorting.length || !rows.length) return rows; | ||
if (!getRowLevelKey) { | ||
var _compare = createCompare(sorting, getColumnCompare, getCellValue); | ||
return mergeSort(Array.from(rows), _compare); | ||
} | ||
var compare = createCompare(sorting, getColumnCompare, function (row, columnName) { | ||
if (isGroupRow(row)) { | ||
if (row.groupedBy === columnName) { | ||
return row.value; | ||
} | ||
return undefined; | ||
} | ||
return getCellValue(row, columnName); | ||
}); | ||
return sortHierarchicalRows(rows, compare, getRowLevelKey); | ||
}; | ||
var setColumnFilter = function setColumnFilter(filters, _ref) { | ||
@@ -483,13 +566,55 @@ var columnName = _ref.columnName, | ||
var filteredRows = function filteredRows(rows, filters, getCellValue, getColumnPredicate) { | ||
if (!filters.length) return rows; | ||
var filterTree = function filterTree(tree, predicate) { | ||
return tree.reduce(function (acc, node) { | ||
if (node[NODE_CHECK]) { | ||
var filteredChildren = filterTree(node.children, predicate); | ||
if (filteredChildren.length > 0) { | ||
acc.push(_extends({}, node, { | ||
children: filteredChildren | ||
})); | ||
return acc; | ||
} else if (predicate(node.root)) { | ||
acc.push(node.root); | ||
return acc; | ||
} | ||
} | ||
var compoundPredicate = filters.reduce(function (prevCompare, filter) { | ||
return function (row) { | ||
var columnName = filter.columnName, | ||
filterConfig = objectWithoutProperties(filter, ["columnName"]); | ||
if (predicate(node)) { | ||
acc.push(node); | ||
return acc; | ||
} | ||
var predicate = getColumnPredicate && getColumnPredicate(columnName) || defaultPredicate; | ||
return acc; | ||
}, []); | ||
}; | ||
return prevCompare(row) && predicate(getCellValue(row, columnName), filterConfig, row); | ||
var filterHierarchicalRows = function filterHierarchicalRows(rows, predicate, getRowLevelKey, isGroupRow) { | ||
var tree = rowsToTree(rows, getRowLevelKey); | ||
var filteredTree = filterTree(tree, function (row) { | ||
if (isGroupRow(row)) { | ||
if (row.collapsedRows) { | ||
return row.collapsedRows.findIndex(predicate) > -1; | ||
} | ||
return false; | ||
} | ||
return predicate(row); | ||
}); | ||
return treeToRows(filteredTree); | ||
}; | ||
var filteredRows = function filteredRows(rows, filters, getCellValue, getColumnPredicate, isGroupRow, getRowLevelKey) { | ||
if (!filters.length || !rows.length) return rows; | ||
var predicate = filters.reduce(function (prevPredicate, filter) { | ||
var columnName = filter.columnName, | ||
filterConfig = objectWithoutProperties(filter, ['columnName']); | ||
var customPredicate = getColumnPredicate && getColumnPredicate(columnName); | ||
var columnPredicate = customPredicate || defaultPredicate; | ||
return function (row) { | ||
var result = columnPredicate(getCellValue(row, columnName), filterConfig, row); | ||
return result && prevPredicate(row); | ||
}; | ||
@@ -500,3 +625,7 @@ }, function () { | ||
return rows.filter(compoundPredicate); | ||
if (!getRowLevelKey) { | ||
return rows.filter(predicate); | ||
} | ||
return filterHierarchicalRows(rows, predicate, getRowLevelKey, isGroupRow); | ||
}; | ||
@@ -673,5 +802,10 @@ | ||
var currentGroupLevel = 0; | ||
return rows.reduce(function (acc, row) { | ||
if (!row[GRID_GROUP_CHECK]) { | ||
if (currentGroupExpanded) acc.push(row); | ||
if (currentGroupExpanded) { | ||
acc.push(row); | ||
} else { | ||
acc[acc.length - 1].collapsedRows.push(row); | ||
} | ||
return acc; | ||
@@ -688,3 +822,10 @@ } | ||
acc.push(row); | ||
if (currentGroupExpanded) { | ||
acc.push(row); | ||
} else { | ||
acc.push(_extends({}, row, { | ||
collapsedRows: [] | ||
})); | ||
} | ||
return acc; | ||
@@ -698,3 +839,3 @@ }, []); | ||
if (!currentRows) return []; | ||
if (!currentRows || !currentRows.length) return []; | ||
if (!grouping.length) return currentRows; | ||
@@ -1008,3 +1149,5 @@ | ||
var setColumnOrder = function setColumnOrder(order, _ref) { | ||
var TABLE_REORDERING_TYPE = 'reordering'; | ||
var changeColumnOrder = function changeColumnOrder(order, _ref) { | ||
var sourceColumnName = _ref.sourceColumnName, | ||
@@ -1022,8 +1165,13 @@ targetColumnName = _ref.targetColumnName; | ||
var orderedColumns = function orderedColumns(columns, order) { | ||
var result = Array.from(columns); | ||
var TABLE_DATA_TYPE = 'data'; | ||
var TABLE_NODATA_TYPE = 'nodata'; | ||
var orderedColumns = function orderedColumns(tableColumns, order) { | ||
var result = Array.from(tableColumns); | ||
result.sort(function (a, b) { | ||
var aPos = order.indexOf(a.name); | ||
var bPos = order.indexOf(b.name); | ||
if (a.type !== TABLE_DATA_TYPE || b.type !== TABLE_DATA_TYPE) return 0; | ||
var aPos = order.indexOf(a.column.name); | ||
var bPos = order.indexOf(b.column.name); | ||
return aPos - bPos; | ||
@@ -1035,2 +1183,23 @@ }); | ||
var tableHeaderRowsWithReordering = function tableHeaderRowsWithReordering(tableHeaderRows) { | ||
return [{ | ||
key: TABLE_REORDERING_TYPE, | ||
type: TABLE_REORDERING_TYPE, | ||
height: 0 | ||
}].concat(toConsumableArray(tableHeaderRows)); | ||
}; | ||
var draftOrder = function draftOrder(order, sourceColumnIndex, targetColumnIndex) { | ||
if (sourceColumnIndex === -1 || targetColumnIndex === -1 || sourceColumnIndex === targetColumnIndex) { | ||
return order; | ||
} | ||
var result = order.slice(); | ||
var sourceColumn = order[sourceColumnIndex]; | ||
result.splice(sourceColumnIndex, 1); | ||
result.splice(targetColumnIndex, 0, sourceColumn); | ||
return result; | ||
}; | ||
var UNSET_COLUMN_WIDTH_ERROR = ['The "$1" column\'s width is not specified.', 'The TableColumnResizing plugin requires that all columns have the specified width.'].join('\n'); | ||
@@ -1093,5 +1262,2 @@ | ||
var TABLE_DATA_TYPE = 'data'; | ||
var TABLE_NODATA_TYPE = 'nodata'; | ||
var TABLE_HEADING_TYPE = 'heading'; | ||
@@ -1124,3 +1290,2 @@ | ||
return tableRow.type === TABLE_DATA_TYPE && rowIds.has(tableRow.rowId) ? _extends({}, tableRow, { | ||
key: TABLE_EDIT_TYPE + '_' + tableRow.rowId, | ||
type: TABLE_EDIT_TYPE, | ||
@@ -1208,3 +1373,3 @@ height: rowHeight | ||
return _extends({}, tableRow, { | ||
key: TABLE_GROUP_TYPE + '_' + tableRow.row.key, | ||
key: TABLE_GROUP_TYPE + '_' + tableRow.row.compoundKey, | ||
type: TABLE_GROUP_TYPE, | ||
@@ -1442,3 +1607,3 @@ colSpanStart: TABLE_GROUP_TYPE + '_' + tableRow.row.groupedBy | ||
var getAnimations = function getAnimations(prevColumns, nextColumns, tableWidth, draggingColumnKey, prevAnimations) { | ||
var getAnimations = function getAnimations(prevColumns, nextColumns, tableWidth, prevAnimations) { | ||
var prevColumnGeometries = new Map(getTableColumnGeometries(prevColumns, tableWidth).map(function (geometry, index) { | ||
@@ -1473,8 +1638,2 @@ return [prevColumns[index].key, geometry]; | ||
} | ||
if (draggingColumnKey === key) { | ||
result.style = { | ||
zIndex: 100, | ||
position: 'relative' | ||
}; | ||
} | ||
return [key, result]; | ||
@@ -1535,2 +1694,22 @@ }).filter(function (animation) { | ||
var processPattern = function processPattern(pattern, params) { | ||
return Object.keys(params).reduce(function (msg, key) { | ||
return msg.replace('{' + key + '}', params[key]); | ||
}, pattern); | ||
}; | ||
var getMessagesFormatter = function getMessagesFormatter(messages) { | ||
return function (key, params) { | ||
var message = messages[key]; | ||
if (typeof message === 'function') { | ||
return message(params); | ||
} | ||
if (params) { | ||
return processPattern(message, params); | ||
} | ||
return message; | ||
}; | ||
}; | ||
exports.getTableRowColumnsWithColSpan = getTableRowColumnsWithColSpan; | ||
@@ -1543,2 +1722,3 @@ exports.getTableColumnGeometries = getTableColumnGeometries; | ||
exports.getGroupCellTargetIndex = getGroupCellTargetIndex; | ||
exports.getMessagesFormatter = getMessagesFormatter; | ||
exports.rowIdGetter = rowIdGetter; | ||
@@ -1588,4 +1768,7 @@ exports.cellValueGetter = cellValueGetter; | ||
exports.getRowChange = getRowChange; | ||
exports.setColumnOrder = setColumnOrder; | ||
exports.TABLE_REORDERING_TYPE = TABLE_REORDERING_TYPE; | ||
exports.changeColumnOrder = changeColumnOrder; | ||
exports.orderedColumns = orderedColumns; | ||
exports.tableHeaderRowsWithReordering = tableHeaderRowsWithReordering; | ||
exports.draftOrder = draftOrder; | ||
exports.tableColumnsWithWidths = tableColumnsWithWidths; | ||
@@ -1592,0 +1775,0 @@ exports.changeTableColumnWidths = changeTableColumnWidths; |
{ | ||
"name": "@devexpress/dx-grid-core", | ||
"version": "1.0.0-alpha.14", | ||
"version": "1.0.0-beta.1", | ||
"description": "Core library for the DevExtreme Reactive Grid component", | ||
@@ -42,3 +42,3 @@ "author": { | ||
"devDependencies": { | ||
"@devexpress/dx-core": "1.0.0-alpha.14", | ||
"@devexpress/dx-core": "1.0.0-beta.1", | ||
"babel-core": "^6.26.0", | ||
@@ -51,9 +51,9 @@ "babel-jest": "^21.2.0", | ||
"core-js": "^2.5.1", | ||
"eslint": "^4.9.0", | ||
"eslint": "^4.10.0", | ||
"eslint-config-airbnb-base": "^12.1.0", | ||
"eslint-plugin-filenames": "^1.2.0", | ||
"eslint-plugin-import": "^2.7.0", | ||
"eslint-plugin-jest": "^21.2.0", | ||
"eslint-plugin-import": "^2.8.0", | ||
"eslint-plugin-jest": "^21.3.0", | ||
"jest": "^21.2.1", | ||
"rollup": "^0.50.0", | ||
"rollup": "0.50.0", | ||
"rollup-plugin-babel": "^3.0.2", | ||
@@ -64,4 +64,4 @@ "rollup-plugin-license": "^0.5.0", | ||
"peerDependencies": { | ||
"@devexpress/dx-core": "1.0.0-alpha.14" | ||
"@devexpress/dx-core": "1.0.0-beta.1" | ||
} | ||
} |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
288047
2866