@builttocreate/engine-utils 2.9.1-beta.845 → 2.9.1-beta.845-4

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';
10
11
  var multiselect = 'multiselect';
12
+ var date = 'date';
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
  multiselect: multiselect
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.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.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
  });
@@ -237,10 +257,14 @@ var handleMoveColumnRight = exports.handleMoveColumnRight = function handleMoveC
237
257
  * @return {Object}
238
258
  */
239
259
  var getDefaultColumnOption = exports.getDefaultColumnOption = function getDefaultColumnOption(value) {
260
+ var color = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
240
261
  return {
241
262
  _id: (0, _generateObjectId["default"])(),
242
263
  value: value || 'Option',
243
- deleted: false
264
+ deleted: false,
265
+ styles: {
266
+ backgroundColor: color
267
+ }
244
268
  };
245
269
  };
246
270
 
@@ -262,6 +286,42 @@ var getDefaultTextColumn = exports.getDefaultTextColumn = function getDefaultTex
262
286
  }, defaults);
263
287
  };
264
288
 
289
+ /**
290
+ * Get default Number column for table field
291
+ *
292
+ * @param {Object} defaults //Overwrite any values with this defaults object
293
+ *
294
+ * @return {Object}
295
+ */
296
+ var getDefaultNumberColumn = exports.getDefaultNumberColumn = function getDefaultNumberColumn() {
297
+ var defaults = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
298
+ return _objectSpread({
299
+ _id: (0, _generateObjectId["default"])(),
300
+ type: _FieldTableColumnTypes["default"].number,
301
+ title: 'Number Column',
302
+ deleted: false,
303
+ width: 200
304
+ }, defaults);
305
+ };
306
+
307
+ /**
308
+ * Get default Number column for table field
309
+ *
310
+ * @param {Object} defaults //Overwrite any values with this defaults object
311
+ *
312
+ * @return {Object}
313
+ */
314
+ var getDefaultDateColumn = exports.getDefaultDateColumn = function getDefaultDateColumn() {
315
+ var defaults = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
316
+ return _objectSpread({
317
+ _id: (0, _generateObjectId["default"])(),
318
+ type: _FieldTableColumnTypes["default"].date,
319
+ title: 'Date Column',
320
+ deleted: false,
321
+ width: 200
322
+ }, defaults);
323
+ };
324
+
265
325
  /**
266
326
  * Get default dropdown column for table field
267
327
  *
@@ -314,11 +374,11 @@ var getDefaultDropdownColumn = exports.getDefaultDropdownColumn = function getDe
314
374
  */
315
375
  var getDefaultMultiselectColumn = exports.getDefaultMultiselectColumn = function getDefaultMultiselectColumn() {
316
376
  var defaults = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
317
- var options = defaults.options || [getDefaultColumnOption('Option 1'), getDefaultColumnOption('Option 2'), getDefaultColumnOption('Option 3')];
377
+ var options = defaults.options || [getDefaultColumnOption('Option 1', '#f0f0f0'), getDefaultColumnOption('Option 2', '#f0f0f0'), getDefaultColumnOption('Option 3', '#f0f0f0')];
318
378
  return _objectSpread({
319
379
  _id: (0, _generateObjectId["default"])(),
320
380
  type: _FieldTableColumnTypes["default"].multiselect,
321
- title: 'Dropdown Column',
381
+ title: 'Multiselect Column',
322
382
  deleted: false,
323
383
  width: 200,
324
384
  options: options,
@@ -654,10 +714,8 @@ var generateTableLookup = exports.generateTableLookup = function generateTableLo
654
714
  tableRows.forEach(function (row, rowIndex) {
655
715
  tableColumns.forEach(function (column) {
656
716
  if (!column.operand) return;
657
- if (!row) console.warn("Row via column ".concat(column === null || column === void 0 ? void 0 : column._id, " is undefined."));
658
- if (!(row !== null && row !== void 0 && row.cells)) console.warn("Row ".concat(row === null || row === void 0 ? void 0 : row._id, " is missing cells."));
659
717
  var cellKey = "".concat(column.operand).concat(rowIndex + 1);
660
- var cellRawValue = row !== null && row !== void 0 && row.cells && row.cells[column._id] ? row.cells[column._id] : undefined;
718
+ var cellRawValue = row.cells[column._id] ? row.cells[column._id] : undefined;
661
719
  var cellValue;
662
720
  if (cellRawValue && typeof cellRawValue === 'string') cellValue = cellRawValue.trim();
663
721
  if (cellRawValue && typeof cellRawValue === 'number') cellValue = cellRawValue.toString();
@@ -1120,6 +1178,7 @@ var _default = exports["default"] = {
1120
1178
  getDefaultColumnOption: getDefaultColumnOption,
1121
1179
  getDefaultTextColumn: getDefaultTextColumn,
1122
1180
  getDefaultDropdownColumn: getDefaultDropdownColumn,
1181
+ getDefaultMultiselectColumn: getDefaultMultiselectColumn,
1123
1182
  getColumnOrder: getColumnOrder,
1124
1183
  getColumns: getColumns,
1125
1184
  sortColumns: sortColumns,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@builttocreate/engine-utils",
3
- "version": "2.9.1-beta.845",
3
+ "version": "2.9.1-beta.845-4",
4
4
  "description": "Utility library for common logic shared across web and mobile",
5
5
  "main": "dist/index.js",
6
6
  "files": [