@builttocreate/engine-utils 2.3.1 → 2.3.2-1.0.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.
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.handleMultiSelectOptionToggle = exports.getTemplateWithLookups = exports.getMultiSelectFieldValue = exports.getImportFieldValues = exports.getDefaultOption = exports.getDefaultFieldValuesFromTemplate = exports.getChartFieldValue = exports["default"] = void 0;
8
+ exports.isTargetOptionDeleted = exports.isFieldEmpty = exports.handleMultiSelectOptionToggle = exports.getTemplateWithLookups = exports.getMultiSelectFieldValue = exports.getImportFieldValues = exports.getDefaultOption = exports.getDefaultFieldValuesFromTemplate = exports.getChartFieldValue = exports["default"] = void 0;
9
9
 
10
10
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
11
11
 
@@ -281,8 +281,70 @@ var getTemplateWithLookups = function getTemplateWithLookups(template) {
281
281
  });
282
282
  return nextTemplate;
283
283
  };
284
+ /**
285
+ * This method checks if the field passed via input is empty by checking
286
+ * the field.value
287
+ * @param {*} fieldProps
288
+ * @returns
289
+ */
290
+
284
291
 
285
292
  exports.getTemplateWithLookups = getTemplateWithLookups;
293
+
294
+ var isFieldEmpty = function isFieldEmpty(fieldProps) {
295
+ var type = fieldProps.type,
296
+ value = fieldProps.value,
297
+ options = fieldProps.options;
298
+ var isEmpty = false;
299
+
300
+ if (type === _FieldTypes["default"].text && (!value || value && value.replace(/\s+/g, '').length == 0)) {
301
+ isEmpty = true;
302
+ } else if (type === _FieldTypes["default"].text && (!value || value && value.replace(/\s+/g, '').length == 0)) {
303
+ isEmpty = true;
304
+ } else if (type === _FieldTypes["default"].number && !value) {
305
+ isEmpty = true;
306
+ } else if (type === _FieldTypes["default"].date && !value) {
307
+ isEmpty = true;
308
+ } else if (type === _FieldTypes["default"].signature && !value) {
309
+ isEmpty = true;
310
+ } else if (type === _FieldTypes["default"].dropdown && (!value || value && options.length > 0 && isTargetOptionDeleted(value, options))) {
311
+ isEmpty = true;
312
+ } else if (type === _FieldTypes["default"].multiSelect && (!value || value && options.length > 0 && isTargetOptionDeleted(value, options))) {
313
+ isEmpty = true;
314
+ } else if (type === _FieldTypes["default"].image && (!value || value && value.length === 0)) {
315
+ isEmpty = true;
316
+ } else if (type === _FieldTypes["default"].chart && (!value || value && value.length === 0)) {
317
+ isEmpty = true;
318
+ } else if (type === _FieldTypes["default"].table && (!value || value && value.filter(function (item) {
319
+ return !item.deleted;
320
+ }).length === 0)) {
321
+ isEmpty = true;
322
+ }
323
+
324
+ return isEmpty;
325
+ };
326
+ /**
327
+ * This function checks whether an option associated with multiselect or dropdown
328
+ * field is deleted.
329
+ * @param {*} value // value f
330
+ * @param {*} options
331
+ */
332
+
333
+
334
+ exports.isFieldEmpty = isFieldEmpty;
335
+
336
+ var isTargetOptionDeleted = function isTargetOptionDeleted(value, options) {
337
+ //Dropdown field has value as a string whereas multiselect has value as an array
338
+ var nextValue = value && typeof value === 'string' ? value : value[0]; //If user unchecks an option in mutliselect value will be undefiend
339
+
340
+ if (!nextValue) return true;
341
+ var targetOption = options.find(function (option) {
342
+ return option._id === nextValue;
343
+ });
344
+ return targetOption.deleted;
345
+ };
346
+
347
+ exports.isTargetOptionDeleted = isTargetOptionDeleted;
286
348
  var _default = {
287
349
  getDefaultOption: getDefaultOption,
288
350
  getChartFieldValue: getChartFieldValue,
@@ -2,13 +2,15 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
- var _typeof = require("@babel/runtime/helpers/typeof");
5
+ var _typeof3 = require("@babel/runtime/helpers/typeof");
6
6
 
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
10
10
  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.getColumns = exports.getColumnOrder = exports.getColumnOperand = exports.getCellOperand = exports.generateTableLookupForRows = exports.generateTableLookup = exports.generateTableFieldLookups = exports.generateRowTableLookup = exports.generateInputGroupFields = exports["default"] = void 0;
11
11
 
12
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
13
+
12
14
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
15
 
14
16
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
@@ -27,7 +29,7 @@ var _FieldTableCustomColumnIds = _interopRequireDefault(require("./constants/Fie
27
29
 
28
30
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
29
31
 
30
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
32
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
31
33
 
32
34
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
33
35
 
@@ -723,9 +725,13 @@ var getFormulaResult = function getFormulaResult(sourceOperand, formula, tableLo
723
725
  exports.getFormulaResult = getFormulaResult;
724
726
 
725
727
  var resolveOperandValue = function resolveOperandValue(sourceOperand, targetOperand, tableLookup) {
726
- var targetValue = tableLookup[targetOperand] && typeof tableLookup[targetOperand] === 'string' ? tableLookup[targetOperand].trim() : tableLookup[targetOperand]; // 1. If tableLookup doesn't have a value then return undefined
728
+ var targetValue = tableLookup[targetOperand] && typeof tableLookup[targetOperand] === 'string' ? tableLookup[targetOperand].trim() : tableLookup[targetOperand];
729
+ /**
730
+ * 1. If tableLookup doesn't have a value (or) if the targetValue
731
+ * appears to be an object (image column cell values) return 0.
732
+ */
727
733
 
728
- if (!targetValue) return 0; // 2. If tableLookup is already a number return the number value
734
+ if (!targetValue || (0, _typeof2["default"])(targetValue) === 'object') return 0; // 2. If tableLookup is already a number return the number value
729
735
 
730
736
  if (typeof targetValue === 'number') return targetValue; // 3. If targetCell has circular reference return invalid.
731
737
  //
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@builttocreate/engine-utils",
3
- "version": "2.3.1",
3
+ "version": "2.3.2-1.0.0",
4
4
  "description": "Utility library for common logic shared across web and mobile",
5
5
  "main": "dist/index.js",
6
6
  "files": [
@@ -54,6 +54,8 @@
54
54
  "moduleNameMapper": {
55
55
  "\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "<rootDir>/__mocks__/fileMock.js",
56
56
  "\\.(css|less)$": "<rootDir>/__mocks__/styleMock.js"
57
- }
57
+ },
58
+ "globalSetup":"./jestConfig.js"
59
+
58
60
  }
59
61
  }