@builttocreate/engine-utils 2.9.1-beta.1 → 2.9.1-beta.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.
@@ -8,11 +8,13 @@ var text = 'text';
8
8
  var dropdown = 'dropdown';
9
9
  var image = 'image';
10
10
  var number = 'number';
11
+ var block = 'block';
11
12
  var date = 'date';
12
13
  var _default = exports["default"] = {
13
14
  text: text,
14
15
  dropdown: dropdown,
15
16
  image: image,
16
17
  number: number,
18
+ block: block,
17
19
  date: date
18
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.getDefaultNumberColumn = exports.getDefaultImageColumn = exports.getDefaultDropdownColumn = exports.getDefaultDateColumn = exports.getDefaultColumnOption = 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.isUnsupportedColumn = 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.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,29 +88,9 @@ var getFilteredRowOrder = exports.getFilteredRowOrder = function getFilteredRowO
88
88
  if (row.deleted) return;
89
89
  var rowMatched = true;
90
90
  filteredColumnIds.forEach(function (columnId) {
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;
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;
114
94
  });
115
95
  if (rowMatched) matchedRows[row._id] = true;
116
96
  });
@@ -282,42 +262,6 @@ var getDefaultTextColumn = exports.getDefaultTextColumn = function getDefaultTex
282
262
  }, defaults);
283
263
  };
284
264
 
285
- /**
286
- * Get default Number column for table field
287
- *
288
- * @param {Object} defaults //Overwrite any values with this defaults object
289
- *
290
- * @return {Object}
291
- */
292
- var getDefaultNumberColumn = exports.getDefaultNumberColumn = function getDefaultNumberColumn() {
293
- var defaults = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
294
- return _objectSpread({
295
- _id: (0, _generateObjectId["default"])(),
296
- type: _FieldTableColumnTypes["default"].number,
297
- title: 'Number Column',
298
- deleted: false,
299
- width: 200
300
- }, defaults);
301
- };
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 getDefaultDateColumn = exports.getDefaultDateColumn = function getDefaultDateColumn() {
311
- var defaults = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
312
- return _objectSpread({
313
- _id: (0, _generateObjectId["default"])(),
314
- type: _FieldTableColumnTypes["default"].date,
315
- title: 'Date Column',
316
- deleted: false,
317
- width: 200
318
- }, defaults);
319
- };
320
-
321
265
  /**
322
266
  * Get default dropdown column for table field
323
267
  *
@@ -386,6 +330,7 @@ var getColumnOrder = exports.getColumnOrder = function getColumnOrder(columnOrde
386
330
  **/
387
331
  var getCleanedColumnOrder = exports.getCleanedColumnOrder = function getCleanedColumnOrder(columnOrder, columns) {
388
332
  var nextColumnOrder = [];
333
+ if ((0, _typeof2["default"])(columns) === 'object') return nextColumnOrder;
389
334
 
390
335
  /**
391
336
  * Step 1: Handle generating or retrieving proper column order.
@@ -687,8 +632,10 @@ var generateTableLookup = exports.generateTableLookup = function generateTableLo
687
632
  tableRows.forEach(function (row, rowIndex) {
688
633
  tableColumns.forEach(function (column) {
689
634
  if (!column.operand) return;
635
+ if (!row) console.warn("Row via column ".concat(column === null || column === void 0 ? void 0 : column._id, " is undefined."));
636
+ if (!(row !== null && row !== void 0 && row.cells)) console.warn("Row ".concat(row === null || row === void 0 ? void 0 : row._id, " is missing cells."));
690
637
  var cellKey = "".concat(column.operand).concat(rowIndex + 1);
691
- var cellRawValue = row.cells[column._id] ? row.cells[column._id] : undefined;
638
+ var cellRawValue = row !== null && row !== void 0 && row.cells && row.cells[column._id] ? row.cells[column._id] : undefined;
692
639
  var cellValue;
693
640
  if (cellRawValue && typeof cellRawValue === 'string') cellValue = cellRawValue.trim();
694
641
  if (cellRawValue && typeof cellRawValue === 'number') cellValue = cellRawValue.toString();
@@ -1132,6 +1079,10 @@ var handleMoveTableRowDown = exports.handleMoveTableRowDown = function handleMov
1132
1079
  targetRowIndex: targetRowIndex
1133
1080
  });
1134
1081
  };
1082
+ var isUnsupportedColumn = exports.isUnsupportedColumn = function isUnsupportedColumn(column) {
1083
+ if (!column) return false;
1084
+ return column.type === _FieldTableColumnTypes["default"].block || column.type === _FieldTableColumnTypes["default"].number || column.type === _FieldTableColumnTypes["default"].date;
1085
+ };
1135
1086
  var _default = exports["default"] = {
1136
1087
  generateTableLookup: generateTableLookup,
1137
1088
  generateTableLookupForRows: generateTableLookupForRows,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@builttocreate/engine-utils",
3
- "version": "2.9.1-beta.1",
3
+ "version": "2.9.1-beta.3",
4
4
  "description": "Utility library for common logic shared across web and mobile",
5
5
  "main": "dist/index.js",
6
6
  "files": [