@builttocreate/engine-utils 1.5.1 → 1.6.0
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/tableHelper.js +38 -3
- package/package.json +1 -1
package/dist/tableHelper.js
CHANGED
|
@@ -7,7 +7,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
7
7
|
Object.defineProperty(exports, "__esModule", {
|
|
8
8
|
value: true
|
|
9
9
|
});
|
|
10
|
-
exports["default"] = exports.handleMoveTableRowDown = exports.handleMoveTableRowUp = exports.handleDuplicateTableRow = exports.handleCreateTableRow = exports.handleInsertTableRow = exports.handleTableCellChange = exports.generateInputGroupFields = exports.spreadOperandRange = exports.validFormulaString = exports.hasOperandRange = exports.hasCircularOperandReference = exports.resolveOperandValue = exports.getFormulaResult = exports.generateTableLookup = exports.generateTableLookupForRows = exports.generateTableFieldLookups = exports.generateRowTableLookup = exports.getCellOperand = exports.getTemplateColumnOperandLookup = exports.getIndexesFromTableCellOperand = exports.getColumnOperand = exports.getColumns = exports.getTableFieldRowOrder = exports.getRowMap = exports.sortRows = exports.getRows = exports.getDefaultRow = exports.getTableFieldLookupKey = void 0;
|
|
10
|
+
exports["default"] = exports.handleMoveTableRowDown = exports.handleMoveTableRowUp = exports.handleDuplicateTableRow = exports.handleCreateTableRow = exports.handleInsertTableRow = exports.handleTableCellChange = exports.generateInputGroupFields = exports.spreadOperandRange = exports.validFormulaString = exports.hasOperandRange = exports.hasCircularOperandReference = exports.resolveOperandValue = exports.getFormulaResult = exports.generateTableLookup = exports.generateTableLookupForRows = exports.generateTableFieldLookups = exports.generateRowTableLookup = exports.getCellOperand = exports.getTemplateColumnOperandLookup = exports.getIndexesFromTableCellOperand = exports.getColumnOperand = exports.getColumns = exports.getTableFieldRowOrder = exports.getRowMap = exports.getFilteredRowOrder = exports.sortRows = exports.getRows = exports.getDefaultRow = exports.getTableFieldLookupKey = void 0;
|
|
11
11
|
|
|
12
12
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
13
|
|
|
@@ -77,6 +77,38 @@ var sortRows = function sortRows(rows, rowOrder) {
|
|
|
77
77
|
});
|
|
78
78
|
return sortedRows;
|
|
79
79
|
};
|
|
80
|
+
/**
|
|
81
|
+
* Filter table rows by column values
|
|
82
|
+
*
|
|
83
|
+
* @param {Array} rows
|
|
84
|
+
* @param {Object} filters //{ colId: value, colId: value, ....}
|
|
85
|
+
*/
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
exports.sortRows = sortRows;
|
|
89
|
+
|
|
90
|
+
var getFilteredRowOrder = function getFilteredRowOrder(rowOrder, rows, filters) {
|
|
91
|
+
var filteredColumnIds = filters ? Object.keys(filters) : [];
|
|
92
|
+
|
|
93
|
+
if (filteredColumnIds.length > 0) {
|
|
94
|
+
var matchedRows = {};
|
|
95
|
+
rows.forEach(function (row) {
|
|
96
|
+
if (row.deleted) return;
|
|
97
|
+
var rowMatched = true;
|
|
98
|
+
filteredColumnIds.forEach(function (columnId) {
|
|
99
|
+
var filter = filters[columnId] ? filters[columnId].toLowerCase() : '';
|
|
100
|
+
var value = row.cells && row.cells[columnId] ? row.cells[columnId].toLowerCase() : '';
|
|
101
|
+
if (filter && (!value || value.indexOf(filter) === -1)) rowMatched = false;
|
|
102
|
+
});
|
|
103
|
+
if (rowMatched) matchedRows[row._id] = true;
|
|
104
|
+
});
|
|
105
|
+
return rowOrder.filter(function (rowId) {
|
|
106
|
+
return matchedRows[rowId];
|
|
107
|
+
});
|
|
108
|
+
} else {
|
|
109
|
+
return rowOrder;
|
|
110
|
+
}
|
|
111
|
+
};
|
|
80
112
|
/**
|
|
81
113
|
* Create a table row map for simple value lookup
|
|
82
114
|
*
|
|
@@ -92,7 +124,7 @@ var sortRows = function sortRows(rows, rowOrder) {
|
|
|
92
124
|
*/
|
|
93
125
|
|
|
94
126
|
|
|
95
|
-
exports.
|
|
127
|
+
exports.getFilteredRowOrder = getFilteredRowOrder;
|
|
96
128
|
|
|
97
129
|
var getRowMap = function getRowMap() {
|
|
98
130
|
var rows = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
@@ -685,13 +717,15 @@ var generateInputGroupFields = function generateInputGroupFields(field, columns)
|
|
|
685
717
|
exports.generateInputGroupFields = generateInputGroupFields;
|
|
686
718
|
|
|
687
719
|
var handleTableCellChange = function handleTableCellChange(rows, rowId, columnId, val, callback) {
|
|
688
|
-
var
|
|
720
|
+
var targetRowIndex = rows.findIndex(function (row) {
|
|
689
721
|
return row._id === rowId;
|
|
690
722
|
});
|
|
723
|
+
var row = rows[targetRowIndex];
|
|
691
724
|
var cells = row ? row.cells : {}; //Only save data if value has changed
|
|
692
725
|
|
|
693
726
|
if (cells[columnId] !== val && callback) {
|
|
694
727
|
callback({
|
|
728
|
+
targetRowIndex: targetRowIndex,
|
|
695
729
|
row: {
|
|
696
730
|
_id: rowId,
|
|
697
731
|
cells: (0, _defineProperty2["default"])({}, columnId, val)
|
|
@@ -803,6 +837,7 @@ var _default = {
|
|
|
803
837
|
getCellOperand: getCellOperand,
|
|
804
838
|
getIndexesFromTableCellOperand: getIndexesFromTableCellOperand,
|
|
805
839
|
getRows: getRows,
|
|
840
|
+
getFilteredRowOrder: getFilteredRowOrder,
|
|
806
841
|
getDefaultRow: getDefaultRow,
|
|
807
842
|
getRowMap: getRowMap,
|
|
808
843
|
getColumns: getColumns,
|