@builttocreate/engine-utils 2.9.1-beta.758.2 → 2.9.1-beta.758.3

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.
@@ -7,10 +7,14 @@ exports["default"] = void 0;
7
7
  var text = 'text';
8
8
  var dropdown = 'dropdown';
9
9
  var image = 'image';
10
+ var number = 'number';
11
+ var date = 'date';
10
12
  var block = 'block';
11
13
  var _default = exports["default"] = {
12
14
  text: text,
13
15
  dropdown: dropdown,
14
16
  image: image,
17
+ number: number,
18
+ date: date,
15
19
  block: block
16
20
  };
@@ -5,7 +5,7 @@ var _typeof3 = require("@babel/runtime/helpers/typeof");
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.validFormulaString = exports.spreadOperandRange = exports.sortRows = exports.sortColumns = exports.resolveOperandValue = exports.hasOperandRange = exports.hasCircularOperandReference = exports.handleTableCellChange = exports.handleMoveTableRowUp = exports.handleMoveTableRowDown = exports.handleMoveColumnRight = exports.handleMoveColumnLeft = exports.handleInsertTableRow = exports.handleDuplicateTableRow = exports.handleCreateTableRow = exports.getTemplateColumnOperandLookup = exports.getTargetColumnWithOperand = exports.getTableRowLookupWithPopulatedDropdownCells = exports.getTableFieldRowOrder = exports.getTableFieldLookupKey = exports.getRows = exports.getRowOrder = exports.getRowMap = exports.getRowIndexLookup = exports.getInputGroupRowLookupWithPopulatedDropdownCells = exports.getIndexesFromTableCellOperand = exports.getFormulaResult = exports.getFilteredRowOrder = exports.getDefaultTextColumn = exports.getDefaultRow = exports.getDefaultImageColumn = exports.getDefaultDropdownColumn = exports.getDefaultColumnOption = exports.getDefaultBlockColumn = exports.getColumns = exports.getColumnOrder = exports.getColumnOperand = exports.getCleanedRowOrder = exports.getCleanedColumnOrder = exports.getCellOperand = exports.generateTableLookupForRows = exports.generateTableLookup = exports.generateTableFieldLookups = exports.generateRowTableLookup = exports.generateInputGroupFields = exports["default"] = void 0;
8
+ exports.validFormulaString = exports.spreadOperandRange = exports.sortRows = exports.sortColumns = exports.resolveOperandValue = exports.hasOperandRange = exports.hasCircularOperandReference = exports.handleTableCellChange = exports.handleMoveTableRowUp = exports.handleMoveTableRowDown = exports.handleMoveColumnRight = exports.handleMoveColumnLeft = exports.handleInsertTableRow = exports.handleDuplicateTableRow = exports.handleCreateTableRow = exports.getTemplateColumnOperandLookup = exports.getTargetColumnWithOperand = exports.getTableRowLookupWithPopulatedDropdownCells = exports.getTableFieldRowOrder = exports.getTableFieldLookupKey = exports.getRows = exports.getRowOrder = exports.getRowMap = exports.getRowIndexLookup = exports.getInputGroupRowLookupWithPopulatedDropdownCells = exports.getIndexesFromTableCellOperand = exports.getFormulaResult = exports.getFilteredRowOrder = exports.getDefaultTextColumn = exports.getDefaultRow = exports.getDefaultNumberColumn = exports.getDefaultImageColumn = exports.getDefaultDropdownColumn = exports.getDefaultDateColumn = exports.getDefaultColumnOption = exports.getDefaultBlockColumn = exports.getColumns = exports.getColumnOrder = exports.getColumnOperand = exports.getCleanedRowOrder = exports.getCleanedColumnOrder = exports.getCellOperand = exports.generateTableLookupForRows = exports.generateTableLookup = exports.generateTableFieldLookups = exports.generateRowTableLookup = exports.generateInputGroupFields = exports["default"] = void 0;
9
9
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
10
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
11
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
@@ -88,9 +88,29 @@ var getFilteredRowOrder = exports.getFilteredRowOrder = function getFilteredRowO
88
88
  if (row.deleted) return;
89
89
  var rowMatched = true;
90
90
  filteredColumnIds.forEach(function (columnId) {
91
- var filter = filters[columnId] ? filters[columnId].toLowerCase() : '';
92
- var value = row.cells && row.cells[columnId] ? row.cells[columnId].toLowerCase() : '';
93
- if (filter && (!value || value.indexOf(filter) === -1)) rowMatched = false;
91
+ /**
92
+ * The following logic compares the filter value with the cell value.
93
+ *
94
+ * 1. For table text columns, the cell value is a string.
95
+ * 2. For table number columns, the cell value is a number.
96
+ */
97
+
98
+ var filter = '';
99
+ if (filters[columnId] && typeof filters[columnId] === 'string') {
100
+ filter = filters[columnId].toLowerCase();
101
+ } else if (filters[columnId] && typeof filters[columnId] === 'number') {
102
+ filter = filters[columnId];
103
+ }
104
+ var value = '';
105
+ if (row.cells && row.cells[columnId]) {
106
+ if (typeof row.cells[columnId] === 'string') {
107
+ value = row.cells[columnId].toLowerCase();
108
+ } else if (typeof row.cells[columnId] === 'number') {
109
+ value = row.cells[columnId];
110
+ }
111
+ }
112
+ if (filter && typeof value === 'string' && (!value || value.indexOf(filter) === -1)) rowMatched = false;
113
+ if (filter && typeof value === 'number' && (!value || value !== filter)) rowMatched = false;
94
114
  });
95
115
  if (rowMatched) matchedRows[row._id] = true;
96
116
  });
@@ -280,6 +300,42 @@ var getDefaultBlockColumn = exports.getDefaultBlockColumn = function getDefaultB
280
300
  }, defaults);
281
301
  };
282
302
 
303
+ /**
304
+ * Get default Number column for table field
305
+ *
306
+ * @param {Object} defaults //Overwrite any values with this defaults object
307
+ *
308
+ * @return {Object}
309
+ */
310
+ var getDefaultNumberColumn = exports.getDefaultNumberColumn = function getDefaultNumberColumn() {
311
+ var defaults = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
312
+ return _objectSpread({
313
+ _id: (0, _generateObjectId["default"])(),
314
+ type: _FieldTableColumnTypes["default"].number,
315
+ title: 'Number Column',
316
+ deleted: false,
317
+ width: 200
318
+ }, defaults);
319
+ };
320
+
321
+ /**
322
+ * Get default Number column for table field
323
+ *
324
+ * @param {Object} defaults //Overwrite any values with this defaults object
325
+ *
326
+ * @return {Object}
327
+ */
328
+ var getDefaultDateColumn = exports.getDefaultDateColumn = function getDefaultDateColumn() {
329
+ var defaults = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
330
+ return _objectSpread({
331
+ _id: (0, _generateObjectId["default"])(),
332
+ type: _FieldTableColumnTypes["default"].date,
333
+ title: 'Date Column',
334
+ deleted: false,
335
+ width: 200
336
+ }, defaults);
337
+ };
338
+
283
339
  /**
284
340
  * Get default dropdown column for table field
285
341
  *
@@ -649,10 +705,8 @@ var generateTableLookup = exports.generateTableLookup = function generateTableLo
649
705
  tableRows.forEach(function (row, rowIndex) {
650
706
  tableColumns.forEach(function (column) {
651
707
  if (!column.operand) return;
652
- if (!row) console.warn("Row via column ".concat(column === null || column === void 0 ? void 0 : column._id, " is undefined."));
653
- if (!(row !== null && row !== void 0 && row.cells)) console.warn("Row ".concat(row === null || row === void 0 ? void 0 : row._id, " is missing cells."));
654
708
  var cellKey = "".concat(column.operand).concat(rowIndex + 1);
655
- var cellRawValue = row !== null && row !== void 0 && row.cells && row.cells[column._id] ? row.cells[column._id] : undefined;
709
+ var cellRawValue = row.cells[column._id] ? row.cells[column._id] : undefined;
656
710
  var cellValue;
657
711
  if (cellRawValue && typeof cellRawValue === 'string') cellValue = cellRawValue.trim();
658
712
  if (cellRawValue && typeof cellRawValue === 'number') cellValue = cellRawValue.toString();
@@ -1114,8 +1168,8 @@ var _default = exports["default"] = {
1114
1168
  getRowMap: getRowMap,
1115
1169
  getDefaultColumnOption: getDefaultColumnOption,
1116
1170
  getDefaultTextColumn: getDefaultTextColumn,
1117
- getDefaultDropdownColumn: getDefaultDropdownColumn,
1118
1171
  getDefaultBlockColumn: getDefaultBlockColumn,
1172
+ getDefaultDropdownColumn: getDefaultDropdownColumn,
1119
1173
  getColumnOrder: getColumnOrder,
1120
1174
  getColumns: getColumns,
1121
1175
  sortColumns: sortColumns,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@builttocreate/engine-utils",
3
- "version": "2.9.1-beta.758.2",
3
+ "version": "2.9.1-beta.758.3",
4
4
  "description": "Utility library for common logic shared across web and mobile",
5
5
  "main": "dist/index.js",
6
6
  "files": [
@@ -37,7 +37,6 @@
37
37
  "@babel/plugin-transform-runtime": "^7.12.10",
38
38
  "@babel/preset-env": "^7.12.11",
39
39
  "babel-eslint": "^10.1.0",
40
- "cross-env": "^7.0.3",
41
40
  "eslint": "^7.18.0",
42
41
  "eslint-config-airbnb": "^18.2.1",
43
42
  "eslint-plugin-import": "^2.22.1",
@@ -49,6 +48,7 @@
49
48
  "dependencies": {
50
49
  "@babel/polyfill": "^7.12.1",
51
50
  "@builttocreate/hot-formula-parser": "^5.0.1",
51
+ "cross-env": "^7.0.3",
52
52
  "moment": "^2.29.4"
53
53
  },
54
54
  "jest": {