@builttocreate/engine-utils 2.4.0-beta.0.2 → 2.4.0-beta.0.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.
Files changed (2) hide show
  1. package/dist/fieldHelper.js +20 -16
  2. package/package.json +1 -1
@@ -286,10 +286,10 @@ var getTemplateWithLookups = function getTemplateWithLookups(template) {
286
286
  return nextTemplate;
287
287
  };
288
288
  /**
289
- * This method checks if the field passed via input is empty by checking
289
+ * This method checks if the field passed via input is empty by checking
290
290
  * the field.value.
291
- * @param {*} fieldProps
292
- * @returns
291
+ * @param {*} fieldProps
292
+ * @returns
293
293
  */
294
294
 
295
295
 
@@ -299,9 +299,9 @@ var isFieldEmpty = function isFieldEmpty(fieldType, fieldValue, fieldOptions, fi
299
299
  var isEmpty = false;
300
300
  if (fieldType === _FieldTypes["default"].block) return;
301
301
 
302
- if (fieldType === _FieldTypes["default"].text && (!fieldValue || fieldValue && fieldValue.replace(/\s+/g, '').length == 0)) {
302
+ if (fieldType === _FieldTypes["default"].text && (!fieldValue || fieldValue && fieldValue.replace(/\s+/g, '').length === 0)) {
303
303
  isEmpty = true;
304
- } else if (fieldType === _FieldTypes["default"].textarea && (!fieldValue || fieldValue && fieldValue.replace(/\s+/g, '').length == 0)) {
304
+ } else if (fieldType === _FieldTypes["default"].textarea && (!fieldValue || fieldValue && fieldValue.replace(/\s+/g, '').length === 0)) {
305
305
  isEmpty = true;
306
306
  } else if (fieldType === _FieldTypes["default"].number && !fieldValue) {
307
307
  isEmpty = true;
@@ -309,9 +309,9 @@ var isFieldEmpty = function isFieldEmpty(fieldType, fieldValue, fieldOptions, fi
309
309
  isEmpty = true;
310
310
  } else if (fieldType === _FieldTypes["default"].signature && !fieldValue) {
311
311
  isEmpty = true;
312
- } else if (fieldType === _FieldTypes["default"].dropdown && (!fieldValue || fieldValue && fieldOptions.length > 0 && isTargetOptionDeleted(fieldValue, fieldOptions))) {
312
+ } else if (fieldType === _FieldTypes["default"].dropdown && (fieldDisplayType === _FieldDisplayTypes["default"].original || fieldDisplayType !== fieldDisplayType.original) && (!fieldValue || fieldValue && fieldOptions.length > 0 && isTargetOptionDeleted(fieldValue, fieldOptions))) {
313
313
  isEmpty = true;
314
- } else if (fieldType === _FieldTypes["default"].multiSelect && (!fieldValue || fieldValue && fieldOptions.length > 0 && isTargetOptionDeleted(fieldValue, fieldOptions))) {
314
+ } else if (fieldType === _FieldTypes["default"].multiSelect && (fieldDisplayType === _FieldDisplayTypes["default"].original || fieldDisplayType !== fieldDisplayType.original) && (!fieldValue || fieldValue && fieldOptions.length > 0 && isTargetOptionDeleted(fieldValue, fieldOptions))) {
315
315
  isEmpty = true;
316
316
  } else if (fieldType === _FieldTypes["default"].image && (!fieldValue || fieldValue && fieldValue.length === 0)) {
317
317
  isEmpty = true;
@@ -321,11 +321,9 @@ var isFieldEmpty = function isFieldEmpty(fieldType, fieldValue, fieldOptions, fi
321
321
  return !item.deleted;
322
322
  }).length === 0)) {
323
323
  isEmpty = true;
324
- } else if (fieldType === _FieldTypes["default"].table && fieldDisplayType === _FieldDisplayTypes["default"].text && fieldColumnType === _FieldTableColumnTypes["default"].dropdown && (!fieldValue || fieldValue && fieldOptions.length > 0 && isTargetOptionDeleted(fieldValue, fieldOptions))) {
324
+ } else if (fieldType === _FieldTypes["default"].table && (fieldDisplayType === _FieldDisplayTypes["default"].text || fieldDisplayType !== _FieldDisplayTypes["default"].text) && fieldColumnType === _FieldTableColumnTypes["default"].dropdown && (!fieldValue || fieldValue && fieldOptions.length > 0 && isTargetOptionDeleted(fieldValue, fieldOptions))) {
325
325
  isEmpty = true;
326
- } else if (fieldType === _FieldTypes["default"].table && fieldDisplayType !== _FieldDisplayTypes["default"].text && fieldColumnType === _FieldTableColumnTypes["default"].dropdown && (!fieldValue || fieldValue && fieldOptions.length > 0 && isTargetOptionDeleted(fieldValue, fieldOptions))) {
327
- isEmpty = true;
328
- } else if (fieldType === _FieldTypes["default"].table && fieldDisplayType === _FieldDisplayTypes["default"].text && fieldColumnType === _FieldTableColumnTypes["default"].text && (!fieldValue || fieldValue && fieldValue.replace(/\s+/g, '').length == 0)) {
326
+ } else if (fieldType === _FieldTypes["default"].table && fieldDisplayType === _FieldDisplayTypes["default"].text && fieldColumnType === _FieldTableColumnTypes["default"].text && (!fieldValue || fieldValue && fieldValue.replace(/\s+/g, '').length === 0)) {
329
327
  isEmpty = true;
330
328
  } else if (fieldType === _FieldTypes["default"].table && fieldDisplayType === _FieldDisplayTypes["default"].text && fieldColumnType === _FieldTableColumnTypes["default"].image && (!fieldValue || fieldValue && fieldValue.length === 0)) {
331
329
  isEmpty = true;
@@ -335,25 +333,31 @@ var isFieldEmpty = function isFieldEmpty(fieldType, fieldValue, fieldOptions, fi
335
333
  };
336
334
  /**
337
335
  * This function checks whether an option associated with multiselect or dropdown
338
- * field is deleted.
339
- * @param {*} value // value
340
- * @param {*} options
336
+ * field is deleted.
337
+ * @param {*} value // value
338
+ * @param {*} options
341
339
  */
342
340
 
343
341
 
344
342
  exports.isFieldEmpty = isFieldEmpty;
345
343
 
346
344
  var isTargetOptionDeleted = function isTargetOptionDeleted(value, options) {
345
+ /***
346
+ * We are converting the value that is passed in to array since
347
+ * this method is used by dropdown field and multiSelect field
348
+ * Dropdown passes the value as a string whereas mutliselect passes
349
+ * the value as an array
350
+ */
347
351
  var nextValue = Array.isArray(value) ? value : [value];
348
352
  if (!nextValue || nextValue.length === 0) return true;
349
353
  var optionsLookup = {};
350
354
  options.forEach(function (option) {
351
355
  optionsLookup[option._id] = option;
352
356
  });
353
- var undeletedOptions = value.filter(function (item) {
357
+ var undeletedOptions = nextValue.filter(function (item) {
354
358
  return optionsLookup[item] && !optionsLookup[item].deleted;
355
359
  });
356
- var result = undeletedOptions.length > 0 ? false : true;
360
+ var result = !(undeletedOptions.length > 0);
357
361
  return result;
358
362
  };
359
363
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@builttocreate/engine-utils",
3
- "version": "2.4.0-beta.0.2",
3
+ "version": "2.4.0-beta.0.4",
4
4
  "description": "Utility library for common logic shared across web and mobile",
5
5
  "main": "dist/index.js",
6
6
  "files": [