@builttocreate/engine-utils 2.9.1-beta.845.2 → 2.9.1-beta.900

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,18 @@ exports["default"] = void 0;
7
7
  var text = 'text';
8
8
  var dropdown = 'dropdown';
9
9
  var image = 'image';
10
+ var number = 'number';
10
11
  var multiselect = 'multiselect';
12
+ var date = 'date';
13
+ var block = 'block';
14
+ var barcode = 'barcode';
11
15
  var _default = exports["default"] = {
12
16
  text: text,
13
17
  dropdown: dropdown,
14
18
  image: image,
15
- multiselect: multiselect
19
+ number: number,
20
+ date: date,
21
+ block: block,
22
+ multiselect: multiselect,
23
+ barcode: barcode
16
24
  };
@@ -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.getDefaultMultiselectColumn = 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;
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.getDefaultMultiselectColumn = exports.getDefaultImageColumn = exports.getDefaultDropdownColumn = exports.getDefaultDateColumn = exports.getDefaultColumnOption = exports.getDefaultBlockColumn = exports.getDefaultBarcodeColumn = 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
  });
@@ -234,7 +254,6 @@ var handleMoveColumnRight = exports.handleMoveColumnRight = function handleMoveC
234
254
  * Get default column option
235
255
  *
236
256
  * @param {String} value
237
- * @param {String} color
238
257
  * @return {Object}
239
258
  */
240
259
  var getDefaultColumnOption = exports.getDefaultColumnOption = function getDefaultColumnOption(value) {
@@ -267,6 +286,78 @@ var getDefaultTextColumn = exports.getDefaultTextColumn = function getDefaultTex
267
286
  }, defaults);
268
287
  };
269
288
 
289
+ /**
290
+ * Get default text column for table field
291
+ *
292
+ * @param {Object} defaults //Overwrite any values with this defaults object
293
+ *
294
+ * @return {Object}
295
+ */
296
+ var getDefaultBarcodeColumn = exports.getDefaultBarcodeColumn = function getDefaultBarcodeColumn() {
297
+ var defaults = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
298
+ return _objectSpread({
299
+ _id: (0, _generateObjectId["default"])(),
300
+ type: _FieldTableColumnTypes["default"].barcode,
301
+ title: 'Barcode Column',
302
+ width: 200,
303
+ deleted: false
304
+ }, defaults);
305
+ };
306
+
307
+ /**
308
+ * Get default block column for table field
309
+ *
310
+ * @param {Object} defaults //Overwrite any values with this defaults object
311
+ *
312
+ * @return {Object}
313
+ */
314
+ var getDefaultBlockColumn = exports.getDefaultBlockColumn = function getDefaultBlockColumn() {
315
+ var defaults = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
316
+ return _objectSpread({
317
+ _id: (0, _generateObjectId["default"])(),
318
+ type: _FieldTableColumnTypes["default"].block,
319
+ title: 'Block Column',
320
+ width: 200,
321
+ deleted: false
322
+ }, defaults);
323
+ };
324
+
325
+ /**
326
+ * Get default Number column for table field
327
+ *
328
+ * @param {Object} defaults //Overwrite any values with this defaults object
329
+ *
330
+ * @return {Object}
331
+ */
332
+ var getDefaultNumberColumn = exports.getDefaultNumberColumn = function getDefaultNumberColumn() {
333
+ var defaults = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
334
+ return _objectSpread({
335
+ _id: (0, _generateObjectId["default"])(),
336
+ type: _FieldTableColumnTypes["default"].number,
337
+ title: 'Number Column',
338
+ deleted: false,
339
+ width: 200
340
+ }, defaults);
341
+ };
342
+
343
+ /**
344
+ * Get default Number column for table field
345
+ *
346
+ * @param {Object} defaults //Overwrite any values with this defaults object
347
+ *
348
+ * @return {Object}
349
+ */
350
+ var getDefaultDateColumn = exports.getDefaultDateColumn = function getDefaultDateColumn() {
351
+ var defaults = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
352
+ return _objectSpread({
353
+ _id: (0, _generateObjectId["default"])(),
354
+ type: _FieldTableColumnTypes["default"].date,
355
+ title: 'Date Column',
356
+ deleted: false,
357
+ width: 200
358
+ }, defaults);
359
+ };
360
+
270
361
  /**
271
362
  * Get default dropdown column for table field
272
363
  *
@@ -659,10 +750,8 @@ var generateTableLookup = exports.generateTableLookup = function generateTableLo
659
750
  tableRows.forEach(function (row, rowIndex) {
660
751
  tableColumns.forEach(function (column) {
661
752
  if (!column.operand) return;
662
- if (!row) console.warn("Row via column ".concat(column === null || column === void 0 ? void 0 : column._id, " is undefined."));
663
- if (!(row !== null && row !== void 0 && row.cells)) console.warn("Row ".concat(row === null || row === void 0 ? void 0 : row._id, " is missing cells."));
664
753
  var cellKey = "".concat(column.operand).concat(rowIndex + 1);
665
- var cellRawValue = row !== null && row !== void 0 && row.cells && row.cells[column._id] ? row.cells[column._id] : undefined;
754
+ var cellRawValue = row.cells[column._id] ? row.cells[column._id] : undefined;
666
755
  var cellValue;
667
756
  if (cellRawValue && typeof cellRawValue === 'string') cellValue = cellRawValue.trim();
668
757
  if (cellRawValue && typeof cellRawValue === 'number') cellValue = cellRawValue.toString();
@@ -1124,6 +1213,7 @@ var _default = exports["default"] = {
1124
1213
  getRowMap: getRowMap,
1125
1214
  getDefaultColumnOption: getDefaultColumnOption,
1126
1215
  getDefaultTextColumn: getDefaultTextColumn,
1216
+ getDefaultBlockColumn: getDefaultBlockColumn,
1127
1217
  getDefaultDropdownColumn: getDefaultDropdownColumn,
1128
1218
  getDefaultMultiselectColumn: getDefaultMultiselectColumn,
1129
1219
  getColumnOrder: getColumnOrder,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@builttocreate/engine-utils",
3
- "version": "2.9.1-beta.845.2",
3
+ "version": "2.9.1-beta.900",
4
4
  "description": "Utility library for common logic shared across web and mobile",
5
5
  "main": "dist/index.js",
6
6
  "files": [
@@ -49,6 +49,7 @@
49
49
  "dependencies": {
50
50
  "@babel/polyfill": "^7.12.1",
51
51
  "@builttocreate/hot-formula-parser": "^5.0.1",
52
+ "cross-env": "^7.0.3",
52
53
  "moment": "^2.29.4"
53
54
  },
54
55
  "jest": {