@builttocreate/engine-utils 1.9.5 → 1.11.0-rc1

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["default"] = exports.getTemplateWithLookups = exports.getImportFieldValues = exports.getDefaultFieldValuesFromTemplate = exports.getMultiSelectFieldValue = exports.getChartFieldValue = void 0;
8
+ exports["default"] = exports.getTemplateWithLookups = exports.getImportFieldValues = exports.getDefaultFieldValuesFromTemplate = exports.handleMultiSelectOptionToggle = exports.getMultiSelectFieldValue = exports.getChartFieldValue = void 0;
9
9
 
10
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
11
 
@@ -62,6 +62,37 @@ var getMultiSelectFieldValue = function getMultiSelectFieldValue(value) {
62
62
  return [];
63
63
  }
64
64
  };
65
+ /**
66
+ * Update the selected options.
67
+ *
68
+ * @param (Bool) multi
69
+ * @param (Array) selectedOptions //[optionId, optionId, ...]
70
+ * @param (String) optionId //Option that is being toggled
71
+ */
72
+
73
+
74
+ exports.getMultiSelectFieldValue = getMultiSelectFieldValue;
75
+
76
+ var handleMultiSelectOptionToggle = function handleMultiSelectOptionToggle(multi) {
77
+ var selectedOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
78
+ var optionId = arguments.length > 2 ? arguments[2] : undefined;
79
+ var nextSelection = (0, _toConsumableArray2["default"])(selectedOptions);
80
+ var optionIndex = nextSelection.indexOf(optionId);
81
+
82
+ if (optionIndex !== -1) {
83
+ nextSelection.splice(optionIndex, 1);
84
+ } else if (multi) {
85
+ nextSelection.push(optionId);
86
+ } else {
87
+ nextSelection = [optionId];
88
+ }
89
+
90
+ if (multi) {
91
+ return nextSelection;
92
+ } else {
93
+ return nextSelection[0] || '';
94
+ }
95
+ };
65
96
  /**
66
97
  * Get default field values from template
67
98
  *
@@ -70,7 +101,7 @@ var getMultiSelectFieldValue = function getMultiSelectFieldValue(value) {
70
101
  */
71
102
 
72
103
 
73
- exports.getMultiSelectFieldValue = getMultiSelectFieldValue;
104
+ exports.handleMultiSelectOptionToggle = handleMultiSelectOptionToggle;
74
105
 
75
106
  var getDefaultFieldValuesFromTemplate = function getDefaultFieldValuesFromTemplate(template, defaultUserId) {
76
107
  var fields = {};
@@ -231,6 +262,7 @@ exports.getTemplateWithLookups = getTemplateWithLookups;
231
262
  var _default = {
232
263
  getChartFieldValue: getChartFieldValue,
233
264
  getMultiSelectFieldValue: getMultiSelectFieldValue,
265
+ handleMultiSelectOptionToggle: handleMultiSelectOptionToggle,
234
266
  getDefaultFieldValuesFromTemplate: getDefaultFieldValuesFromTemplate,
235
267
  getImportFieldValues: getImportFieldValues,
236
268
  getTemplateWithLookups: getTemplateWithLookups
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@builttocreate/engine-utils",
3
- "version": "1.9.5",
3
+ "version": "1.11.0-rc1",
4
4
  "description": "Utility library for common logic shared across web and mobile",
5
5
  "main": "dist/index.js",
6
6
  "files": [