@builttocreate/engine-utils 2.10.0 → 2.10.1-beta.1286
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.
- package/README.md +6 -6
- package/dist/activityHelper.js +30 -30
- package/dist/changedKeys.js +10 -10
- package/dist/chartHelper.js +5 -5
- package/dist/constants/FieldDisplayTypes.js +11 -11
- package/dist/constants/FieldPresentationModes.js +5 -5
- package/dist/constants/PageLayoutModes.js +2 -2
- package/dist/constants/PageTypes.js +2 -2
- package/dist/constants/Roles.js +7 -7
- package/dist/fieldHelper.js +61 -61
- package/dist/index.js +2 -1
- package/dist/joyDocHelper.js +286 -286
- package/dist/paginationHelper.js +17 -17
- package/dist/reduxApiMiddleware.js +21 -21
- package/dist/roleHelper.js +3 -3
- package/dist/tableHelper.js +357 -362
- package/package.json +63 -63
package/dist/tableHelper.js
CHANGED
|
@@ -15,7 +15,8 @@ var _Table = _interopRequireWildcard(require("./constants/Table"));
|
|
|
15
15
|
var _FieldTypes = _interopRequireDefault(require("./constants/FieldTypes"));
|
|
16
16
|
var _FieldTableColumnTypes = _interopRequireDefault(require("./constants/FieldTableColumnTypes"));
|
|
17
17
|
var _FieldTableCustomColumnIds = _interopRequireDefault(require("./constants/FieldTableCustomColumnIds"));
|
|
18
|
-
function
|
|
18
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
19
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n["default"] = e, t && t.set(e, n), n; }
|
|
19
20
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
20
21
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
21
22
|
var parser = new _hotFormulaParser.Parser();
|
|
@@ -39,8 +40,8 @@ var getRows = exports.getRows = function getRows(rows) {
|
|
|
39
40
|
}) : [];
|
|
40
41
|
};
|
|
41
42
|
|
|
42
|
-
/**
|
|
43
|
-
* Sort rows based on rowOrder
|
|
43
|
+
/**
|
|
44
|
+
* Sort rows based on rowOrder
|
|
44
45
|
*/
|
|
45
46
|
var sortRows = exports.sortRows = function sortRows(rows, rowOrder) {
|
|
46
47
|
if (!rowOrder) return rows;
|
|
@@ -55,12 +56,12 @@ var sortRows = exports.sortRows = function sortRows(rows, rowOrder) {
|
|
|
55
56
|
return sortedRows;
|
|
56
57
|
};
|
|
57
58
|
|
|
58
|
-
/**
|
|
59
|
-
* Filter table row order by cell values
|
|
60
|
-
*
|
|
61
|
-
* @param {Array} rowOrder
|
|
62
|
-
* @param {Array} rows
|
|
63
|
-
* @param {Object} filters //{ colId: value, colId: value, ....}
|
|
59
|
+
/**
|
|
60
|
+
* Filter table row order by cell values
|
|
61
|
+
*
|
|
62
|
+
* @param {Array} rowOrder
|
|
63
|
+
* @param {Array} rows
|
|
64
|
+
* @param {Object} filters //{ colId: value, colId: value, ....}
|
|
64
65
|
*/
|
|
65
66
|
var getFilteredRowOrder = exports.getFilteredRowOrder = function getFilteredRowOrder(rowOrder, rows, filters) {
|
|
66
67
|
var filteredColumnIds = filters ? Object.keys(filters) : [];
|
|
@@ -72,10 +73,10 @@ var getFilteredRowOrder = exports.getFilteredRowOrder = function getFilteredRowO
|
|
|
72
73
|
});
|
|
73
74
|
}
|
|
74
75
|
|
|
75
|
-
/**
|
|
76
|
-
* Remove any duplicate rowIds. We have had instances where
|
|
77
|
-
* users encounter duplicate rowIds in the rowOrder.
|
|
78
|
-
* See: https://github.com/zionlabs/Issues/issues/1589
|
|
76
|
+
/**
|
|
77
|
+
* Remove any duplicate rowIds. We have had instances where
|
|
78
|
+
* users encounter duplicate rowIds in the rowOrder.
|
|
79
|
+
* See: https://github.com/zionlabs/Issues/issues/1589
|
|
79
80
|
*/
|
|
80
81
|
var cleanedValidRowOrder = [];
|
|
81
82
|
validRowOrder.forEach(function (rowId) {
|
|
@@ -87,11 +88,11 @@ var getFilteredRowOrder = exports.getFilteredRowOrder = function getFilteredRowO
|
|
|
87
88
|
if (row.deleted) return;
|
|
88
89
|
var rowMatched = true;
|
|
89
90
|
filteredColumnIds.forEach(function (columnId) {
|
|
90
|
-
/**
|
|
91
|
-
* The following logic compares the filter value with the cell value.
|
|
92
|
-
*
|
|
93
|
-
* 1. For table text columns, the cell value is a string.
|
|
94
|
-
* 2. For table number columns, the cell value is a number.
|
|
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.
|
|
95
96
|
*/
|
|
96
97
|
|
|
97
98
|
var filter = '';
|
|
@@ -121,18 +122,18 @@ var getFilteredRowOrder = exports.getFilteredRowOrder = function getFilteredRowO
|
|
|
121
122
|
}
|
|
122
123
|
};
|
|
123
124
|
|
|
124
|
-
/**
|
|
125
|
-
* Create a table row map for simple value lookup
|
|
126
|
-
*
|
|
127
|
-
* For instance:
|
|
128
|
-
* {
|
|
129
|
-
* rowId: {columnId: value, columnId: value, ...},
|
|
130
|
-
* rowId: {columnId: value, columnId: value, ...},
|
|
131
|
-
* rowId: {columnId: value, columnId: value, ...}
|
|
132
|
-
* }
|
|
133
|
-
*
|
|
134
|
-
* @param {Array} rows
|
|
135
|
-
* @return {Object}
|
|
125
|
+
/**
|
|
126
|
+
* Create a table row map for simple value lookup
|
|
127
|
+
*
|
|
128
|
+
* For instance:
|
|
129
|
+
* {
|
|
130
|
+
* rowId: {columnId: value, columnId: value, ...},
|
|
131
|
+
* rowId: {columnId: value, columnId: value, ...},
|
|
132
|
+
* rowId: {columnId: value, columnId: value, ...}
|
|
133
|
+
* }
|
|
134
|
+
*
|
|
135
|
+
* @param {Array} rows
|
|
136
|
+
* @return {Object}
|
|
136
137
|
*/
|
|
137
138
|
var getRowMap = exports.getRowMap = function getRowMap() {
|
|
138
139
|
var rows = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
@@ -144,13 +145,13 @@ var getRowMap = exports.getRowMap = function getRowMap() {
|
|
|
144
145
|
return rowMap;
|
|
145
146
|
};
|
|
146
147
|
|
|
147
|
-
/**
|
|
148
|
-
* Get row order
|
|
149
|
-
*
|
|
150
|
-
* @param {Array} rows
|
|
151
|
-
* @param {Array} rowOrder
|
|
152
|
-
*
|
|
153
|
-
* @return {Array}
|
|
148
|
+
/**
|
|
149
|
+
* Get row order
|
|
150
|
+
*
|
|
151
|
+
* @param {Array} rows
|
|
152
|
+
* @param {Array} rowOrder
|
|
153
|
+
*
|
|
154
|
+
* @return {Array}
|
|
154
155
|
*/
|
|
155
156
|
var getRowOrder = exports.getRowOrder = function getRowOrder(rowOrder, rows) {
|
|
156
157
|
return rowOrder || getRows(rows).map(function (row) {
|
|
@@ -158,15 +159,15 @@ var getRowOrder = exports.getRowOrder = function getRowOrder(rowOrder, rows) {
|
|
|
158
159
|
});
|
|
159
160
|
};
|
|
160
161
|
|
|
161
|
-
/**
|
|
162
|
-
* Get row order for table field. If there isn't a row order set in the
|
|
163
|
-
* fieldSettings then it will default to the normal row array Ids.
|
|
164
|
-
*
|
|
165
|
-
* @param {String} fieldId
|
|
166
|
-
* @param {Object} fieldSettings
|
|
167
|
-
* @param {Array} rows
|
|
168
|
-
*
|
|
169
|
-
* @return {Array}
|
|
162
|
+
/**
|
|
163
|
+
* Get row order for table field. If there isn't a row order set in the
|
|
164
|
+
* fieldSettings then it will default to the normal row array Ids.
|
|
165
|
+
*
|
|
166
|
+
* @param {String} fieldId
|
|
167
|
+
* @param {Object} fieldSettings
|
|
168
|
+
* @param {Array} rows
|
|
169
|
+
*
|
|
170
|
+
* @return {Array}
|
|
170
171
|
*/
|
|
171
172
|
var getTableFieldRowOrder = exports.getTableFieldRowOrder = function getTableFieldRowOrder(fieldId, fieldSettings, rows) {
|
|
172
173
|
var filteredRows = rows ? getRows(rows) : [];
|
|
@@ -175,19 +176,19 @@ var getTableFieldRowOrder = exports.getTableFieldRowOrder = function getTableFie
|
|
|
175
176
|
});
|
|
176
177
|
};
|
|
177
178
|
|
|
178
|
-
/**
|
|
179
|
-
* This method removes the rowIds of the deleted rows (or) any duplicate rowIds
|
|
180
|
-
* from the rowOrder there by returning a cleaned rowOrder
|
|
181
|
-
* @param {*} rowOrder
|
|
182
|
-
* @param {*} rows
|
|
183
|
-
*
|
|
184
|
-
* @returns {Array}
|
|
179
|
+
/**
|
|
180
|
+
* This method removes the rowIds of the deleted rows (or) any duplicate rowIds
|
|
181
|
+
* from the rowOrder there by returning a cleaned rowOrder
|
|
182
|
+
* @param {*} rowOrder
|
|
183
|
+
* @param {*} rows
|
|
184
|
+
*
|
|
185
|
+
* @returns {Array}
|
|
185
186
|
**/
|
|
186
187
|
var getCleanedRowOrder = exports.getCleanedRowOrder = function getCleanedRowOrder(rowOrder, rows) {
|
|
187
188
|
var nextRowOrder = [];
|
|
188
189
|
|
|
189
|
-
/**
|
|
190
|
-
* Step 1: Handle generating or retrieving proper row order.
|
|
190
|
+
/**
|
|
191
|
+
* Step 1: Handle generating or retrieving proper row order.
|
|
191
192
|
*/
|
|
192
193
|
if (rowOrder && rowOrder.length > 0) {
|
|
193
194
|
nextRowOrder = rowOrder;
|
|
@@ -197,8 +198,8 @@ var getCleanedRowOrder = exports.getCleanedRowOrder = function getCleanedRowOrde
|
|
|
197
198
|
});
|
|
198
199
|
}
|
|
199
200
|
|
|
200
|
-
/**
|
|
201
|
-
* Step 2: Remove row Ids from rowOrder for rows that no longer exist or have been deleted
|
|
201
|
+
/**
|
|
202
|
+
* Step 2: Remove row Ids from rowOrder for rows that no longer exist or have been deleted
|
|
202
203
|
*/
|
|
203
204
|
var rowLookup = {};
|
|
204
205
|
rows.forEach(function (row) {
|
|
@@ -208,8 +209,8 @@ var getCleanedRowOrder = exports.getCleanedRowOrder = function getCleanedRowOrde
|
|
|
208
209
|
return rowLookup[rowId];
|
|
209
210
|
});
|
|
210
211
|
|
|
211
|
-
/**
|
|
212
|
-
* Step 3: Remove any duplicate row Id references in the row order.
|
|
212
|
+
/**
|
|
213
|
+
* Step 3: Remove any duplicate row Id references in the row order.
|
|
213
214
|
*/
|
|
214
215
|
var filteredNextRowOrder = [];
|
|
215
216
|
nextRowOrder.forEach(function (rowId) {
|
|
@@ -218,11 +219,11 @@ var getCleanedRowOrder = exports.getCleanedRowOrder = function getCleanedRowOrde
|
|
|
218
219
|
return filteredNextRowOrder;
|
|
219
220
|
};
|
|
220
221
|
|
|
221
|
-
/**
|
|
222
|
-
* Handle Move Column Left
|
|
223
|
-
*
|
|
224
|
-
* @param {Number} columnIndex
|
|
225
|
-
* @param {Func} callback
|
|
222
|
+
/**
|
|
223
|
+
* Handle Move Column Left
|
|
224
|
+
*
|
|
225
|
+
* @param {Number} columnIndex
|
|
226
|
+
* @param {Func} callback
|
|
226
227
|
*/
|
|
227
228
|
var handleMoveColumnLeft = exports.handleMoveColumnLeft = function handleMoveColumnLeft(columnIndex, callback) {
|
|
228
229
|
//If first index then ignore
|
|
@@ -233,12 +234,12 @@ var handleMoveColumnLeft = exports.handleMoveColumnLeft = function handleMoveCol
|
|
|
233
234
|
});
|
|
234
235
|
};
|
|
235
236
|
|
|
236
|
-
/**
|
|
237
|
-
* Handle Move Column Right
|
|
238
|
-
*
|
|
239
|
-
* @param {Array} columns
|
|
240
|
-
* @param {Number} columnIndex
|
|
241
|
-
* @param {Func} callback
|
|
237
|
+
/**
|
|
238
|
+
* Handle Move Column Right
|
|
239
|
+
*
|
|
240
|
+
* @param {Array} columns
|
|
241
|
+
* @param {Number} columnIndex
|
|
242
|
+
* @param {Func} callback
|
|
242
243
|
*/
|
|
243
244
|
var handleMoveColumnRight = exports.handleMoveColumnRight = function handleMoveColumnRight(columns, columnIndex, callback) {
|
|
244
245
|
//If last column index then ignore
|
|
@@ -249,30 +250,26 @@ var handleMoveColumnRight = exports.handleMoveColumnRight = function handleMoveC
|
|
|
249
250
|
});
|
|
250
251
|
};
|
|
251
252
|
|
|
252
|
-
/**
|
|
253
|
-
* Get default column option
|
|
254
|
-
*
|
|
255
|
-
* @param {String} value
|
|
256
|
-
* @return {Object}
|
|
253
|
+
/**
|
|
254
|
+
* Get default column option
|
|
255
|
+
*
|
|
256
|
+
* @param {String} value
|
|
257
|
+
* @return {Object}
|
|
257
258
|
*/
|
|
258
259
|
var getDefaultColumnOption = exports.getDefaultColumnOption = function getDefaultColumnOption(value) {
|
|
259
|
-
var color = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
260
260
|
return {
|
|
261
261
|
_id: (0, _generateObjectId["default"])(),
|
|
262
262
|
value: value || 'Option',
|
|
263
|
-
deleted: false
|
|
264
|
-
styles: {
|
|
265
|
-
backgroundColor: color
|
|
266
|
-
}
|
|
263
|
+
deleted: false
|
|
267
264
|
};
|
|
268
265
|
};
|
|
269
266
|
|
|
270
|
-
/**
|
|
271
|
-
* Get default text column for table field
|
|
272
|
-
*
|
|
273
|
-
* @param {Object} defaults //Overwrite any values with this defaults object
|
|
274
|
-
*
|
|
275
|
-
* @return {Object}
|
|
267
|
+
/**
|
|
268
|
+
* Get default text column for table field
|
|
269
|
+
*
|
|
270
|
+
* @param {Object} defaults //Overwrite any values with this defaults object
|
|
271
|
+
*
|
|
272
|
+
* @return {Object}
|
|
276
273
|
*/
|
|
277
274
|
var getDefaultTextColumn = exports.getDefaultTextColumn = function getDefaultTextColumn() {
|
|
278
275
|
var defaults = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
@@ -285,12 +282,12 @@ var getDefaultTextColumn = exports.getDefaultTextColumn = function getDefaultTex
|
|
|
285
282
|
}, defaults);
|
|
286
283
|
};
|
|
287
284
|
|
|
288
|
-
/**
|
|
289
|
-
* Get default text column for table field
|
|
290
|
-
*
|
|
291
|
-
* @param {Object} defaults //Overwrite any values with this defaults object
|
|
292
|
-
*
|
|
293
|
-
* @return {Object}
|
|
285
|
+
/**
|
|
286
|
+
* Get default text column for table field
|
|
287
|
+
*
|
|
288
|
+
* @param {Object} defaults //Overwrite any values with this defaults object
|
|
289
|
+
*
|
|
290
|
+
* @return {Object}
|
|
294
291
|
*/
|
|
295
292
|
var getDefaultBarcodeColumn = exports.getDefaultBarcodeColumn = function getDefaultBarcodeColumn() {
|
|
296
293
|
var defaults = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
@@ -303,12 +300,12 @@ var getDefaultBarcodeColumn = exports.getDefaultBarcodeColumn = function getDefa
|
|
|
303
300
|
}, defaults);
|
|
304
301
|
};
|
|
305
302
|
|
|
306
|
-
/**
|
|
307
|
-
* Get default signature column for table field
|
|
308
|
-
*
|
|
309
|
-
* @param {Object} defaults //Overwrite any values with this defaults object
|
|
310
|
-
*
|
|
311
|
-
* @return {Object}
|
|
303
|
+
/**
|
|
304
|
+
* Get default signature column for table field
|
|
305
|
+
*
|
|
306
|
+
* @param {Object} defaults //Overwrite any values with this defaults object
|
|
307
|
+
*
|
|
308
|
+
* @return {Object}
|
|
312
309
|
*/
|
|
313
310
|
var getDefaultSignatureColumn = exports.getDefaultSignatureColumn = function getDefaultSignatureColumn() {
|
|
314
311
|
var defaults = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
@@ -321,12 +318,12 @@ var getDefaultSignatureColumn = exports.getDefaultSignatureColumn = function get
|
|
|
321
318
|
}, defaults);
|
|
322
319
|
};
|
|
323
320
|
|
|
324
|
-
/**
|
|
325
|
-
* Get default block column for table field
|
|
326
|
-
*
|
|
327
|
-
* @param {Object} defaults //Overwrite any values with this defaults object
|
|
328
|
-
*
|
|
329
|
-
* @return {Object}
|
|
321
|
+
/**
|
|
322
|
+
* Get default block column for table field
|
|
323
|
+
*
|
|
324
|
+
* @param {Object} defaults //Overwrite any values with this defaults object
|
|
325
|
+
*
|
|
326
|
+
* @return {Object}
|
|
330
327
|
*/
|
|
331
328
|
var getDefaultBlockColumn = exports.getDefaultBlockColumn = function getDefaultBlockColumn() {
|
|
332
329
|
var defaults = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
@@ -339,12 +336,12 @@ var getDefaultBlockColumn = exports.getDefaultBlockColumn = function getDefaultB
|
|
|
339
336
|
}, defaults);
|
|
340
337
|
};
|
|
341
338
|
|
|
342
|
-
/**
|
|
343
|
-
* Get default Number column for table field
|
|
344
|
-
*
|
|
345
|
-
* @param {Object} defaults //Overwrite any values with this defaults object
|
|
346
|
-
*
|
|
347
|
-
* @return {Object}
|
|
339
|
+
/**
|
|
340
|
+
* Get default Number column for table field
|
|
341
|
+
*
|
|
342
|
+
* @param {Object} defaults //Overwrite any values with this defaults object
|
|
343
|
+
*
|
|
344
|
+
* @return {Object}
|
|
348
345
|
*/
|
|
349
346
|
var getDefaultNumberColumn = exports.getDefaultNumberColumn = function getDefaultNumberColumn() {
|
|
350
347
|
var defaults = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
@@ -357,12 +354,12 @@ var getDefaultNumberColumn = exports.getDefaultNumberColumn = function getDefaul
|
|
|
357
354
|
}, defaults);
|
|
358
355
|
};
|
|
359
356
|
|
|
360
|
-
/**
|
|
361
|
-
* Get default Number column for table field
|
|
362
|
-
*
|
|
363
|
-
* @param {Object} defaults //Overwrite any values with this defaults object
|
|
364
|
-
*
|
|
365
|
-
* @return {Object}
|
|
357
|
+
/**
|
|
358
|
+
* Get default Number column for table field
|
|
359
|
+
*
|
|
360
|
+
* @param {Object} defaults //Overwrite any values with this defaults object
|
|
361
|
+
*
|
|
362
|
+
* @return {Object}
|
|
366
363
|
*/
|
|
367
364
|
var getDefaultDateColumn = exports.getDefaultDateColumn = function getDefaultDateColumn() {
|
|
368
365
|
var defaults = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
@@ -375,12 +372,12 @@ var getDefaultDateColumn = exports.getDefaultDateColumn = function getDefaultDat
|
|
|
375
372
|
}, defaults);
|
|
376
373
|
};
|
|
377
374
|
|
|
378
|
-
/**
|
|
379
|
-
* Get default dropdown column for table field
|
|
380
|
-
*
|
|
381
|
-
* @param {Object} defaults //Overwrite any values with this defaults object
|
|
382
|
-
*
|
|
383
|
-
* @return {Object}
|
|
375
|
+
/**
|
|
376
|
+
* Get default dropdown column for table field
|
|
377
|
+
*
|
|
378
|
+
* @param {Object} defaults //Overwrite any values with this defaults object
|
|
379
|
+
*
|
|
380
|
+
* @return {Object}
|
|
384
381
|
*/
|
|
385
382
|
var getDefaultImageColumn = exports.getDefaultImageColumn = function getDefaultImageColumn() {
|
|
386
383
|
var defaults = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
@@ -389,18 +386,16 @@ var getDefaultImageColumn = exports.getDefaultImageColumn = function getDefaultI
|
|
|
389
386
|
type: _FieldTableColumnTypes["default"].image,
|
|
390
387
|
title: 'Image Column',
|
|
391
388
|
deleted: false,
|
|
392
|
-
width: 200
|
|
393
|
-
maxImageWidth: 190,
|
|
394
|
-
maxImageHeight: 120
|
|
389
|
+
width: 200
|
|
395
390
|
}, defaults);
|
|
396
391
|
};
|
|
397
392
|
|
|
398
|
-
/**
|
|
399
|
-
* Get default dropdown column for table field
|
|
400
|
-
*
|
|
401
|
-
* @param {Object} defaults //Overwrite any values with this defaults object
|
|
402
|
-
*
|
|
403
|
-
* @return {Object}
|
|
393
|
+
/**
|
|
394
|
+
* Get default dropdown column for table field
|
|
395
|
+
*
|
|
396
|
+
* @param {Object} defaults //Overwrite any values with this defaults object
|
|
397
|
+
*
|
|
398
|
+
* @return {Object}
|
|
404
399
|
*/
|
|
405
400
|
var getDefaultDropdownColumn = exports.getDefaultDropdownColumn = function getDefaultDropdownColumn() {
|
|
406
401
|
var defaults = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
@@ -415,16 +410,16 @@ var getDefaultDropdownColumn = exports.getDefaultDropdownColumn = function getDe
|
|
|
415
410
|
}, defaults);
|
|
416
411
|
};
|
|
417
412
|
|
|
418
|
-
/**
|
|
419
|
-
* Get default MultiSelect column for table field
|
|
420
|
-
*
|
|
421
|
-
* @param {Object} defaults //Overwrite any values with this defaults object
|
|
422
|
-
*
|
|
423
|
-
* @return {Object}
|
|
413
|
+
/**
|
|
414
|
+
* Get default MultiSelect column for table field
|
|
415
|
+
*
|
|
416
|
+
* @param {Object} defaults //Overwrite any values with this defaults object
|
|
417
|
+
*
|
|
418
|
+
* @return {Object}
|
|
424
419
|
*/
|
|
425
420
|
var getDefaultMultiSelectColumn = exports.getDefaultMultiSelectColumn = function getDefaultMultiSelectColumn() {
|
|
426
421
|
var defaults = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
427
|
-
var options = defaults.options || [getDefaultColumnOption('Option 1'
|
|
422
|
+
var options = defaults.options || [getDefaultColumnOption('Option 1'), getDefaultColumnOption('Option 2'), getDefaultColumnOption('Option 3')];
|
|
428
423
|
return _objectSpread({
|
|
429
424
|
_id: (0, _generateObjectId["default"])(),
|
|
430
425
|
type: _FieldTableColumnTypes["default"].multiSelect,
|
|
@@ -435,13 +430,13 @@ var getDefaultMultiSelectColumn = exports.getDefaultMultiSelectColumn = function
|
|
|
435
430
|
}, defaults);
|
|
436
431
|
};
|
|
437
432
|
|
|
438
|
-
/**
|
|
439
|
-
* Get column order
|
|
440
|
-
*
|
|
441
|
-
* @param {Array} columns
|
|
442
|
-
* @param {Array} columnOrder
|
|
443
|
-
*
|
|
444
|
-
* @return {Array}
|
|
433
|
+
/**
|
|
434
|
+
* Get column order
|
|
435
|
+
*
|
|
436
|
+
* @param {Array} columns
|
|
437
|
+
* @param {Array} columnOrder
|
|
438
|
+
*
|
|
439
|
+
* @return {Array}
|
|
445
440
|
*/
|
|
446
441
|
var getColumnOrder = exports.getColumnOrder = function getColumnOrder(columnOrder, columns) {
|
|
447
442
|
return columnOrder || getColumns(columns).map(function (column) {
|
|
@@ -449,20 +444,20 @@ var getColumnOrder = exports.getColumnOrder = function getColumnOrder(columnOrde
|
|
|
449
444
|
});
|
|
450
445
|
};
|
|
451
446
|
|
|
452
|
-
/**
|
|
453
|
-
* This method removes the columnIds of the deleted columns (or) any duplicate columnIds
|
|
454
|
-
* from the tableColumnOrder there by returning a cleaned tableColumnOrder
|
|
455
|
-
*
|
|
456
|
-
* @param {*} tableColumnOrder
|
|
457
|
-
* @param {*} tableColumns
|
|
458
|
-
*
|
|
459
|
-
* @returns {Array}
|
|
447
|
+
/**
|
|
448
|
+
* This method removes the columnIds of the deleted columns (or) any duplicate columnIds
|
|
449
|
+
* from the tableColumnOrder there by returning a cleaned tableColumnOrder
|
|
450
|
+
*
|
|
451
|
+
* @param {*} tableColumnOrder
|
|
452
|
+
* @param {*} tableColumns
|
|
453
|
+
*
|
|
454
|
+
* @returns {Array}
|
|
460
455
|
**/
|
|
461
456
|
var getCleanedColumnOrder = exports.getCleanedColumnOrder = function getCleanedColumnOrder(columnOrder, columns) {
|
|
462
457
|
var nextColumnOrder = [];
|
|
463
458
|
|
|
464
|
-
/**
|
|
465
|
-
* Step 1: Handle generating or retrieving proper column order.
|
|
459
|
+
/**
|
|
460
|
+
* Step 1: Handle generating or retrieving proper column order.
|
|
466
461
|
*/
|
|
467
462
|
if (columnOrder && columnOrder.length > 0) {
|
|
468
463
|
nextColumnOrder = columnOrder;
|
|
@@ -472,8 +467,8 @@ var getCleanedColumnOrder = exports.getCleanedColumnOrder = function getCleanedC
|
|
|
472
467
|
});
|
|
473
468
|
}
|
|
474
469
|
|
|
475
|
-
/**
|
|
476
|
-
* Step 2: Remove column Ids from columnOrder for columns that no longer exist or have been deleted
|
|
470
|
+
/**
|
|
471
|
+
* Step 2: Remove column Ids from columnOrder for columns that no longer exist or have been deleted
|
|
477
472
|
*/
|
|
478
473
|
var columnLookup = {};
|
|
479
474
|
columns.forEach(function (column) {
|
|
@@ -483,8 +478,8 @@ var getCleanedColumnOrder = exports.getCleanedColumnOrder = function getCleanedC
|
|
|
483
478
|
return columnLookup[columnId];
|
|
484
479
|
});
|
|
485
480
|
|
|
486
|
-
/**
|
|
487
|
-
* Step 3: Remove any duplicate column Id references in the column order.
|
|
481
|
+
/**
|
|
482
|
+
* Step 3: Remove any duplicate column Id references in the column order.
|
|
488
483
|
*/
|
|
489
484
|
var filteredNextColumnOrder = [];
|
|
490
485
|
nextColumnOrder.forEach(function (columnId) {
|
|
@@ -493,8 +488,8 @@ var getCleanedColumnOrder = exports.getCleanedColumnOrder = function getCleanedC
|
|
|
493
488
|
return filteredNextColumnOrder;
|
|
494
489
|
};
|
|
495
490
|
|
|
496
|
-
/**
|
|
497
|
-
* Get table columns with added operands. Operands are the A, B, C, etc.
|
|
491
|
+
/**
|
|
492
|
+
* Get table columns with added operands. Operands are the A, B, C, etc.
|
|
498
493
|
*/
|
|
499
494
|
var getColumns = exports.getColumns = function getColumns(columns) {
|
|
500
495
|
var parsedColumns = columns;
|
|
@@ -510,8 +505,8 @@ var getColumns = exports.getColumns = function getColumns(columns) {
|
|
|
510
505
|
});
|
|
511
506
|
};
|
|
512
507
|
|
|
513
|
-
/**
|
|
514
|
-
* Sort columns based on columnOrder
|
|
508
|
+
/**
|
|
509
|
+
* Sort columns based on columnOrder
|
|
515
510
|
*/
|
|
516
511
|
var sortColumns = exports.sortColumns = function sortColumns(columns, columnOrder) {
|
|
517
512
|
if (!columnOrder) return columns;
|
|
@@ -526,8 +521,8 @@ var sortColumns = exports.sortColumns = function sortColumns(columns, columnOrde
|
|
|
526
521
|
return sortedColumns;
|
|
527
522
|
};
|
|
528
523
|
|
|
529
|
-
/**
|
|
530
|
-
* Get the targetColumn with added operand. Operands are A, B ,C etc...
|
|
524
|
+
/**
|
|
525
|
+
* Get the targetColumn with added operand. Operands are A, B ,C etc...
|
|
531
526
|
*/
|
|
532
527
|
var getTargetColumnWithOperand = exports.getTargetColumnWithOperand = function getTargetColumnWithOperand(columnOrder, columns, columnId) {
|
|
533
528
|
var targetColumn = columns.find(function (col) {
|
|
@@ -542,22 +537,22 @@ var getTargetColumnWithOperand = exports.getTargetColumnWithOperand = function g
|
|
|
542
537
|
return nextTargetColumn;
|
|
543
538
|
};
|
|
544
539
|
|
|
545
|
-
/**
|
|
546
|
-
* Return letter for a column index. For intance: A, B, C
|
|
547
|
-
*
|
|
548
|
-
* Used to create the table lookup operands: A1, B12, etc.
|
|
540
|
+
/**
|
|
541
|
+
* Return letter for a column index. For intance: A, B, C
|
|
542
|
+
*
|
|
543
|
+
* Used to create the table lookup operands: A1, B12, etc.
|
|
549
544
|
*/
|
|
550
545
|
var getColumnOperand = exports.getColumnOperand = function getColumnOperand(index) {
|
|
551
546
|
return String.fromCharCode(65 + index);
|
|
552
547
|
};
|
|
553
548
|
|
|
554
|
-
/**
|
|
555
|
-
* Return rowIndex and columnIndex for cellOperand
|
|
556
|
-
*
|
|
557
|
-
* Operand examples: A1, B12, etc.
|
|
558
|
-
*
|
|
559
|
-
* @param {String} cellOperand
|
|
560
|
-
* @returns {Object}
|
|
549
|
+
/**
|
|
550
|
+
* Return rowIndex and columnIndex for cellOperand
|
|
551
|
+
*
|
|
552
|
+
* Operand examples: A1, B12, etc.
|
|
553
|
+
*
|
|
554
|
+
* @param {String} cellOperand
|
|
555
|
+
* @returns {Object}
|
|
561
556
|
*/
|
|
562
557
|
var getIndexesFromTableCellOperand = exports.getIndexesFromTableCellOperand = function getIndexesFromTableCellOperand(cellOperand) {
|
|
563
558
|
var letter = cellOperand.match(/[A-Z]*/gi).find(function (value) {
|
|
@@ -568,22 +563,22 @@ var getIndexesFromTableCellOperand = exports.getIndexesFromTableCellOperand = fu
|
|
|
568
563
|
});
|
|
569
564
|
return {
|
|
570
565
|
columnIndex: _Table.operandLetterIndexes[letter],
|
|
571
|
-
/**
|
|
572
|
-
* Cell operands start at an index of 1. So to get the true
|
|
573
|
-
* index for the rowIndex we need to substract 1 so we can
|
|
574
|
-
* use a 0 based index.
|
|
566
|
+
/**
|
|
567
|
+
* Cell operands start at an index of 1. So to get the true
|
|
568
|
+
* index for the rowIndex we need to substract 1 so we can
|
|
569
|
+
* use a 0 based index.
|
|
575
570
|
*/
|
|
576
571
|
rowIndex: rowIndex - 1
|
|
577
572
|
};
|
|
578
573
|
};
|
|
579
574
|
|
|
580
|
-
/**
|
|
581
|
-
* Get operand lookup for all table/inputGroup fields in a template.
|
|
582
|
-
*
|
|
583
|
-
* For instance: {
|
|
584
|
-
* fieldId: { colId: 'A', colId: 'B', ...},
|
|
585
|
-
* ....
|
|
586
|
-
* }
|
|
575
|
+
/**
|
|
576
|
+
* Get operand lookup for all table/inputGroup fields in a template.
|
|
577
|
+
*
|
|
578
|
+
* For instance: {
|
|
579
|
+
* fieldId: { colId: 'A', colId: 'B', ...},
|
|
580
|
+
* ....
|
|
581
|
+
* }
|
|
587
582
|
*/
|
|
588
583
|
var getTemplateColumnOperandLookup = exports.getTemplateColumnOperandLookup = function getTemplateColumnOperandLookup(template) {
|
|
589
584
|
var operandLookup = {};
|
|
@@ -598,33 +593,33 @@ var getTemplateColumnOperandLookup = exports.getTemplateColumnOperandLookup = fu
|
|
|
598
593
|
return operandLookup;
|
|
599
594
|
};
|
|
600
595
|
|
|
601
|
-
/**
|
|
602
|
-
* Return operand for cell. For intance: A1, B2, C1
|
|
603
|
-
*
|
|
604
|
-
* @param {String} columnOperand //A, B, C, etc.
|
|
605
|
-
* @param {Number} rowIndex
|
|
596
|
+
/**
|
|
597
|
+
* Return operand for cell. For intance: A1, B2, C1
|
|
598
|
+
*
|
|
599
|
+
* @param {String} columnOperand //A, B, C, etc.
|
|
600
|
+
* @param {Number} rowIndex
|
|
606
601
|
*/
|
|
607
602
|
var getCellOperand = exports.getCellOperand = function getCellOperand(columnOperand, rowIndex) {
|
|
608
603
|
return "".concat(columnOperand).concat(rowIndex);
|
|
609
604
|
};
|
|
610
605
|
|
|
611
|
-
/**
|
|
612
|
-
* Generate table lookup by rowIndex and column operand
|
|
613
|
-
*
|
|
614
|
-
* For instance:
|
|
615
|
-
* {
|
|
616
|
-
* rowIndex: {A1: value, B1: value, ...},
|
|
617
|
-
* rowIndex: {A2: value, B2: value, ...},
|
|
618
|
-
* rowIndex: {A3: value, B3: value, ...},
|
|
619
|
-
* ...
|
|
620
|
-
* }
|
|
621
|
-
*
|
|
622
|
-
* @param {Array} rows
|
|
623
|
-
* @param {Array} columns
|
|
624
|
-
* @param {Object} tableLookup
|
|
625
|
-
*
|
|
626
|
-
* @return {Object}
|
|
627
|
-
|
|
606
|
+
/**
|
|
607
|
+
* Generate table lookup by rowIndex and column operand
|
|
608
|
+
*
|
|
609
|
+
* For instance:
|
|
610
|
+
* {
|
|
611
|
+
* rowIndex: {A1: value, B1: value, ...},
|
|
612
|
+
* rowIndex: {A2: value, B2: value, ...},
|
|
613
|
+
* rowIndex: {A3: value, B3: value, ...},
|
|
614
|
+
* ...
|
|
615
|
+
* }
|
|
616
|
+
*
|
|
617
|
+
* @param {Array} rows
|
|
618
|
+
* @param {Array} columns
|
|
619
|
+
* @param {Object} tableLookup
|
|
620
|
+
*
|
|
621
|
+
* @return {Object}
|
|
622
|
+
|
|
628
623
|
*/
|
|
629
624
|
var generateRowTableLookup = exports.generateRowTableLookup = function generateRowTableLookup(rows, columns, tableLookup) {
|
|
630
625
|
if (!rows || !columns || !tableLookup) return {};
|
|
@@ -640,27 +635,27 @@ var generateRowTableLookup = exports.generateRowTableLookup = function generateR
|
|
|
640
635
|
return rowTableLookup;
|
|
641
636
|
};
|
|
642
637
|
|
|
643
|
-
/**
|
|
644
|
-
* Generate table lookups for each table field in template. It takes
|
|
645
|
-
* all table & inputGroup fields and generates a table lookup object for them.
|
|
646
|
-
*
|
|
647
|
-
* For instance if you have a template and doc like the ones below:
|
|
648
|
-
*
|
|
649
|
-
* template: {
|
|
650
|
-
* fields: [
|
|
651
|
-
* {_id: textFieldId, ...},
|
|
652
|
-
* {_id: tableFieldId1, ...},
|
|
653
|
-
* {_id: tableFieldId2, ...},
|
|
654
|
-
* {_id: numberFieldId, ...},
|
|
655
|
-
* ...
|
|
656
|
-
* ]
|
|
657
|
-
* }
|
|
658
|
-
*
|
|
659
|
-
* returned object would be: {
|
|
660
|
-
* tableFieldId1: { A1: value, B1: value, ...},
|
|
661
|
-
* tableFieldId2: { A2: value, B2: value, ...},
|
|
662
|
-
* ...
|
|
663
|
-
* }
|
|
638
|
+
/**
|
|
639
|
+
* Generate table lookups for each table field in template. It takes
|
|
640
|
+
* all table & inputGroup fields and generates a table lookup object for them.
|
|
641
|
+
*
|
|
642
|
+
* For instance if you have a template and doc like the ones below:
|
|
643
|
+
*
|
|
644
|
+
* template: {
|
|
645
|
+
* fields: [
|
|
646
|
+
* {_id: textFieldId, ...},
|
|
647
|
+
* {_id: tableFieldId1, ...},
|
|
648
|
+
* {_id: tableFieldId2, ...},
|
|
649
|
+
* {_id: numberFieldId, ...},
|
|
650
|
+
* ...
|
|
651
|
+
* ]
|
|
652
|
+
* }
|
|
653
|
+
*
|
|
654
|
+
* returned object would be: {
|
|
655
|
+
* tableFieldId1: { A1: value, B1: value, ...},
|
|
656
|
+
* tableFieldId2: { A2: value, B2: value, ...},
|
|
657
|
+
* ...
|
|
658
|
+
* }
|
|
664
659
|
*/
|
|
665
660
|
var generateTableFieldLookups = exports.generateTableFieldLookups = function generateTableFieldLookups(doc, template) {
|
|
666
661
|
var tableFields = template.fields.filter(function (field) {
|
|
@@ -682,25 +677,25 @@ var generateTableFieldLookups = exports.generateTableFieldLookups = function gen
|
|
|
682
677
|
return tableLookups;
|
|
683
678
|
};
|
|
684
679
|
|
|
685
|
-
/**
|
|
686
|
-
* Organize the table lookup on a row by row basis
|
|
687
|
-
* @param {Array} rows
|
|
688
|
-
* @param {Array} columns
|
|
689
|
-
* @retuns {Object}
|
|
690
|
-
*
|
|
691
|
-
* Example return object:
|
|
692
|
-
* {
|
|
693
|
-
* 1: {
|
|
694
|
-
* A1: 12,
|
|
695
|
-
* B1: 1,
|
|
696
|
-
* },
|
|
697
|
-
* 2: {
|
|
698
|
-
* A2: 10,
|
|
699
|
-
* B2: 4,
|
|
700
|
-
* },
|
|
701
|
-
* ...
|
|
702
|
-
* }
|
|
703
|
-
*
|
|
680
|
+
/**
|
|
681
|
+
* Organize the table lookup on a row by row basis
|
|
682
|
+
* @param {Array} rows
|
|
683
|
+
* @param {Array} columns
|
|
684
|
+
* @retuns {Object}
|
|
685
|
+
*
|
|
686
|
+
* Example return object:
|
|
687
|
+
* {
|
|
688
|
+
* 1: {
|
|
689
|
+
* A1: 12,
|
|
690
|
+
* B1: 1,
|
|
691
|
+
* },
|
|
692
|
+
* 2: {
|
|
693
|
+
* A2: 10,
|
|
694
|
+
* B2: 4,
|
|
695
|
+
* },
|
|
696
|
+
* ...
|
|
697
|
+
* }
|
|
698
|
+
*
|
|
704
699
|
*/
|
|
705
700
|
var generateTableLookupForRows = exports.generateTableLookupForRows = function generateTableLookupForRows(rows, columns) {
|
|
706
701
|
var tableLookup = generateTableLookup(rows, columns);
|
|
@@ -715,23 +710,23 @@ var generateTableLookupForRows = exports.generateTableLookupForRows = function g
|
|
|
715
710
|
return rowLookup;
|
|
716
711
|
};
|
|
717
712
|
|
|
718
|
-
/**
|
|
719
|
-
* Generate Lookup Operand Lookup Table for Table Data. Supports converting
|
|
720
|
-
* formula cells to the calculated value.
|
|
721
|
-
*
|
|
722
|
-
* Operand examples: A1, B12, C25, etc.
|
|
723
|
-
*
|
|
724
|
-
* @param {Array} rows
|
|
725
|
-
* @param {Array} columns
|
|
726
|
-
* @retuns {Object}
|
|
727
|
-
*
|
|
728
|
-
* Example return object:
|
|
729
|
-
* {
|
|
730
|
-
* A1: 12,
|
|
731
|
-
* B1: 1,
|
|
732
|
-
* A2: 2,
|
|
733
|
-
* B2: 4,
|
|
734
|
-
* }
|
|
713
|
+
/**
|
|
714
|
+
* Generate Lookup Operand Lookup Table for Table Data. Supports converting
|
|
715
|
+
* formula cells to the calculated value.
|
|
716
|
+
*
|
|
717
|
+
* Operand examples: A1, B12, C25, etc.
|
|
718
|
+
*
|
|
719
|
+
* @param {Array} rows
|
|
720
|
+
* @param {Array} columns
|
|
721
|
+
* @retuns {Object}
|
|
722
|
+
*
|
|
723
|
+
* Example return object:
|
|
724
|
+
* {
|
|
725
|
+
* A1: 12,
|
|
726
|
+
* B1: 1,
|
|
727
|
+
* A2: 2,
|
|
728
|
+
* B2: 4,
|
|
729
|
+
* }
|
|
735
730
|
*/
|
|
736
731
|
var generateTableLookup = exports.generateTableLookup = function generateTableLookup(rows, columns) {
|
|
737
732
|
var tableLookup = {};
|
|
@@ -802,11 +797,11 @@ var getFormulaResult = exports.getFormulaResult = function getFormulaResult(sour
|
|
|
802
797
|
formula = formula.replace(operand, operandValue);
|
|
803
798
|
});
|
|
804
799
|
|
|
805
|
-
/**
|
|
806
|
-
* Add leading zeros to decimal numbers. hot-formula-parser throws an
|
|
807
|
-
* error if we try to parse non leading decimal numbers. For instace,
|
|
808
|
-
* a non leading decimal number is: .7 .001 etc. We convert these
|
|
809
|
-
* values to 0.7 & 0.001
|
|
800
|
+
/**
|
|
801
|
+
* Add leading zeros to decimal numbers. hot-formula-parser throws an
|
|
802
|
+
* error if we try to parse non leading decimal numbers. For instace,
|
|
803
|
+
* a non leading decimal number is: .7 .001 etc. We convert these
|
|
804
|
+
* values to 0.7 & 0.001
|
|
810
805
|
*/
|
|
811
806
|
var noLeadingZeroDecimalMatches = formula.match(/\D\./);
|
|
812
807
|
if (noLeadingZeroDecimalMatches && noLeadingZeroDecimalMatches.length > 0) {
|
|
@@ -824,19 +819,19 @@ var getFormulaResult = exports.getFormulaResult = function getFormulaResult(sour
|
|
|
824
819
|
return parsedValue;
|
|
825
820
|
};
|
|
826
821
|
|
|
827
|
-
/**
|
|
828
|
-
* Resolve operand value
|
|
829
|
-
* An operand is A1, B1, etc.
|
|
830
|
-
*
|
|
831
|
-
* @param sourceOperand //The cell that is requesting the value
|
|
832
|
-
* @param targetOperand //The cell you are trying to retrieve a value from
|
|
833
|
-
* @param tableLookup //The lookup of values contained in the table;
|
|
822
|
+
/**
|
|
823
|
+
* Resolve operand value
|
|
824
|
+
* An operand is A1, B1, etc.
|
|
825
|
+
*
|
|
826
|
+
* @param sourceOperand //The cell that is requesting the value
|
|
827
|
+
* @param targetOperand //The cell you are trying to retrieve a value from
|
|
828
|
+
* @param tableLookup //The lookup of values contained in the table;
|
|
834
829
|
*/
|
|
835
830
|
var resolveOperandValue = exports.resolveOperandValue = function resolveOperandValue(sourceOperand, targetOperand, tableLookup) {
|
|
836
831
|
var targetValue = tableLookup[targetOperand] && typeof tableLookup[targetOperand] === 'string' ? tableLookup[targetOperand].trim() : tableLookup[targetOperand];
|
|
837
|
-
/**
|
|
838
|
-
* 1. If tableLookup doesn't have a value (or) if the targetValue
|
|
839
|
-
* appears to be an object (image column cell values) return 0.
|
|
832
|
+
/**
|
|
833
|
+
* 1. If tableLookup doesn't have a value (or) if the targetValue
|
|
834
|
+
* appears to be an object (image column cell values) return 0.
|
|
840
835
|
*/
|
|
841
836
|
if (!targetValue || (0, _typeof2["default"])(targetValue) === 'object') return 0;
|
|
842
837
|
|
|
@@ -869,8 +864,8 @@ var hasOperandRange = exports.hasOperandRange = function hasOperandRange(targetV
|
|
|
869
864
|
return /[A-Z]([0-9]{1,10}):[A-Z]([0-9]{1,10})/gi.test(targetValue);
|
|
870
865
|
};
|
|
871
866
|
|
|
872
|
-
/**
|
|
873
|
-
* Check for any invalid patterns inside of the formula string
|
|
867
|
+
/**
|
|
868
|
+
* Check for any invalid patterns inside of the formula string
|
|
874
869
|
*/
|
|
875
870
|
var validFormulaString = exports.validFormulaString = function validFormulaString(sourceOperand, formula) {
|
|
876
871
|
if (sourceOperand && hasCircularOperandReference(formula, sourceOperand)) {
|
|
@@ -882,9 +877,9 @@ var validFormulaString = exports.validFormulaString = function validFormulaStrin
|
|
|
882
877
|
}
|
|
883
878
|
};
|
|
884
879
|
|
|
885
|
-
/**
|
|
886
|
-
* Spread the operand range into individual operands.
|
|
887
|
-
* For instance: SUM(A1:A4) turns into SUM(A1, A2, A3, A4);
|
|
880
|
+
/**
|
|
881
|
+
* Spread the operand range into individual operands.
|
|
882
|
+
* For instance: SUM(A1:A4) turns into SUM(A1, A2, A3, A4);
|
|
888
883
|
*/
|
|
889
884
|
var spreadOperandRange = exports.spreadOperandRange = function spreadOperandRange(targetValue) {
|
|
890
885
|
if (!hasOperandRange(targetValue)) return targetValue;
|
|
@@ -933,16 +928,16 @@ var spreadOperandRange = exports.spreadOperandRange = function spreadOperandRang
|
|
|
933
928
|
return targetValue;
|
|
934
929
|
};
|
|
935
930
|
|
|
936
|
-
/**
|
|
937
|
-
* Primarily used for Mobile
|
|
938
|
-
*
|
|
939
|
-
* Get list of input group fields in an array formt.
|
|
940
|
-
* This breaks the rows and cells down to a single array.
|
|
941
|
-
*
|
|
942
|
-
* @param {Object} field
|
|
943
|
-
* @param {Array} columns
|
|
944
|
-
* @param {Array} rows
|
|
945
|
-
*
|
|
931
|
+
/**
|
|
932
|
+
* Primarily used for Mobile
|
|
933
|
+
*
|
|
934
|
+
* Get list of input group fields in an array formt.
|
|
935
|
+
* This breaks the rows and cells down to a single array.
|
|
936
|
+
*
|
|
937
|
+
* @param {Object} field
|
|
938
|
+
* @param {Array} columns
|
|
939
|
+
* @param {Array} rows
|
|
940
|
+
*
|
|
946
941
|
*/
|
|
947
942
|
var generateInputGroupFields = exports.generateInputGroupFields = function generateInputGroupFields(field, columns) {
|
|
948
943
|
var rows = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [getDefaultRow()];
|
|
@@ -976,8 +971,8 @@ var generateInputGroupFields = exports.generateInputGroupFields = function gener
|
|
|
976
971
|
var firstRowIndex = rowIndex === 0;
|
|
977
972
|
var lastRowIndex = rowIndex === sortedTableRows.length - 1;
|
|
978
973
|
|
|
979
|
-
/**
|
|
980
|
-
* Step 1: Add InputGroup Row Header
|
|
974
|
+
/**
|
|
975
|
+
* Step 1: Add InputGroup Row Header
|
|
981
976
|
*/
|
|
982
977
|
tableReferences.push({
|
|
983
978
|
uniqueId: "".concat(field._id).concat(row._id),
|
|
@@ -992,8 +987,8 @@ var generateInputGroupFields = exports.generateInputGroupFields = function gener
|
|
|
992
987
|
lastIndex: false
|
|
993
988
|
});
|
|
994
989
|
|
|
995
|
-
/**
|
|
996
|
-
* Step 2: Add Input Group Row Cells
|
|
990
|
+
/**
|
|
991
|
+
* Step 2: Add Input Group Row Cells
|
|
997
992
|
*/
|
|
998
993
|
tableColumns.forEach(function (column, columnIndex) {
|
|
999
994
|
var lastColumnIndex = columnIndex === tableColumns.length - 1;
|
|
@@ -1022,17 +1017,17 @@ var generateInputGroupFields = exports.generateInputGroupFields = function gener
|
|
|
1022
1017
|
return tableReferences;
|
|
1023
1018
|
};
|
|
1024
1019
|
|
|
1025
|
-
/**
|
|
1026
|
-
* Populate table rows with values
|
|
1027
|
-
* - Dropdown cells will have chosen values
|
|
1028
|
-
* - Formula cells will have the formula result
|
|
1029
|
-
*
|
|
1030
|
-
* Note: Columns should already have the options lookup populated before
|
|
1031
|
-
* being sent into this function
|
|
1032
|
-
*
|
|
1033
|
-
* @param {*} columns -
|
|
1034
|
-
* @param {*} rows
|
|
1035
|
-
* @returns
|
|
1020
|
+
/**
|
|
1021
|
+
* Populate table rows with values
|
|
1022
|
+
* - Dropdown cells will have chosen values
|
|
1023
|
+
* - Formula cells will have the formula result
|
|
1024
|
+
*
|
|
1025
|
+
* Note: Columns should already have the options lookup populated before
|
|
1026
|
+
* being sent into this function
|
|
1027
|
+
*
|
|
1028
|
+
* @param {*} columns -
|
|
1029
|
+
* @param {*} rows
|
|
1030
|
+
* @returns
|
|
1036
1031
|
*/
|
|
1037
1032
|
|
|
1038
1033
|
var getTableRowLookupWithPopulatedDropdownCells = exports.getTableRowLookupWithPopulatedDropdownCells = function getTableRowLookupWithPopulatedDropdownCells(columns, rows) {
|
|
@@ -1058,15 +1053,15 @@ var getTableRowLookupWithPopulatedDropdownCells = exports.getTableRowLookupWithP
|
|
|
1058
1053
|
return rowsLookup;
|
|
1059
1054
|
};
|
|
1060
1055
|
|
|
1061
|
-
/**
|
|
1062
|
-
* Populate inputGroup dropdown questions with chosen value
|
|
1063
|
-
*
|
|
1064
|
-
* Note: Columns should already have the options lookup populated before
|
|
1065
|
-
* being sent into this function
|
|
1066
|
-
*
|
|
1067
|
-
* @param {*} columns
|
|
1068
|
-
* @param {*} rows
|
|
1069
|
-
* @returns
|
|
1056
|
+
/**
|
|
1057
|
+
* Populate inputGroup dropdown questions with chosen value
|
|
1058
|
+
*
|
|
1059
|
+
* Note: Columns should already have the options lookup populated before
|
|
1060
|
+
* being sent into this function
|
|
1061
|
+
*
|
|
1062
|
+
* @param {*} columns
|
|
1063
|
+
* @param {*} rows
|
|
1064
|
+
* @returns
|
|
1070
1065
|
*/
|
|
1071
1066
|
|
|
1072
1067
|
var getInputGroupRowLookupWithPopulatedDropdownCells = exports.getInputGroupRowLookupWithPopulatedDropdownCells = function getInputGroupRowLookupWithPopulatedDropdownCells(columns, rows) {
|
|
@@ -1087,12 +1082,12 @@ var getInputGroupRowLookupWithPopulatedDropdownCells = exports.getInputGroupRowL
|
|
|
1087
1082
|
return rowsLookup;
|
|
1088
1083
|
};
|
|
1089
1084
|
|
|
1090
|
-
/**
|
|
1091
|
-
* Generate row index lookup:
|
|
1092
|
-
* @param {*} fieldId
|
|
1093
|
-
* @param {*} fieldSettings
|
|
1094
|
-
* @param {*} rows
|
|
1095
|
-
* @returns
|
|
1085
|
+
/**
|
|
1086
|
+
* Generate row index lookup:
|
|
1087
|
+
* @param {*} fieldId
|
|
1088
|
+
* @param {*} fieldSettings
|
|
1089
|
+
* @param {*} rows
|
|
1090
|
+
* @returns
|
|
1096
1091
|
*/
|
|
1097
1092
|
var getRowIndexLookup = exports.getRowIndexLookup = function getRowIndexLookup(fieldId, fieldSettings, rows) {
|
|
1098
1093
|
var rowOrder = getTableFieldRowOrder(fieldId, fieldSettings, rows);
|
|
@@ -1103,14 +1098,14 @@ var getRowIndexLookup = exports.getRowIndexLookup = function getRowIndexLookup(f
|
|
|
1103
1098
|
return rowIndexLookup;
|
|
1104
1099
|
};
|
|
1105
1100
|
|
|
1106
|
-
/**
|
|
1107
|
-
* Handle Table Cell Change
|
|
1108
|
-
*
|
|
1109
|
-
* @param {Array} rows //List of current table rows
|
|
1110
|
-
* @param {String} rowId
|
|
1111
|
-
* @param {String} columnId
|
|
1112
|
-
* @param {String} value
|
|
1113
|
-
* @param {Func} callback
|
|
1101
|
+
/**
|
|
1102
|
+
* Handle Table Cell Change
|
|
1103
|
+
*
|
|
1104
|
+
* @param {Array} rows //List of current table rows
|
|
1105
|
+
* @param {String} rowId
|
|
1106
|
+
* @param {String} columnId
|
|
1107
|
+
* @param {String} value
|
|
1108
|
+
* @param {Func} callback
|
|
1114
1109
|
*/
|
|
1115
1110
|
var handleTableCellChange = exports.handleTableCellChange = function handleTableCellChange(rows, rowId, columnId, val, callback) {
|
|
1116
1111
|
var targetRowIndex = rows.findIndex(function (row) {
|
|
@@ -1131,11 +1126,11 @@ var handleTableCellChange = exports.handleTableCellChange = function handleTable
|
|
|
1131
1126
|
}
|
|
1132
1127
|
};
|
|
1133
1128
|
|
|
1134
|
-
/**
|
|
1135
|
-
* Handle Insert Table Row
|
|
1136
|
-
*
|
|
1137
|
-
* @param {Number} rowIndex
|
|
1138
|
-
* @param {Func} callback
|
|
1129
|
+
/**
|
|
1130
|
+
* Handle Insert Table Row
|
|
1131
|
+
*
|
|
1132
|
+
* @param {Number} rowIndex
|
|
1133
|
+
* @param {Func} callback
|
|
1139
1134
|
*/
|
|
1140
1135
|
var handleInsertTableRow = exports.handleInsertTableRow = function handleInsertTableRow(rowIndex, callback) {
|
|
1141
1136
|
if (callback) callback({
|
|
@@ -1144,11 +1139,11 @@ var handleInsertTableRow = exports.handleInsertTableRow = function handleInsertT
|
|
|
1144
1139
|
});
|
|
1145
1140
|
};
|
|
1146
1141
|
|
|
1147
|
-
/**
|
|
1148
|
-
* Handle Create New Table Row
|
|
1149
|
-
*
|
|
1150
|
-
* @param {Array} rows //List of current table rows
|
|
1151
|
-
* @param {Func} callback
|
|
1142
|
+
/**
|
|
1143
|
+
* Handle Create New Table Row
|
|
1144
|
+
*
|
|
1145
|
+
* @param {Array} rows //List of current table rows
|
|
1146
|
+
* @param {Func} callback
|
|
1152
1147
|
*/
|
|
1153
1148
|
var handleCreateTableRow = exports.handleCreateTableRow = function handleCreateTableRow(rows, callback) {
|
|
1154
1149
|
var targetRowIndex = rows.length;
|
|
@@ -1158,13 +1153,13 @@ var handleCreateTableRow = exports.handleCreateTableRow = function handleCreateT
|
|
|
1158
1153
|
});
|
|
1159
1154
|
};
|
|
1160
1155
|
|
|
1161
|
-
/**
|
|
1162
|
-
* Handle Duplicate Table Row
|
|
1163
|
-
*
|
|
1164
|
-
* @param {Array} rows //List of current table rows
|
|
1165
|
-
* @param {String} rowId
|
|
1166
|
-
* @param {Number} rowIndex
|
|
1167
|
-
* @param {Func} callback
|
|
1156
|
+
/**
|
|
1157
|
+
* Handle Duplicate Table Row
|
|
1158
|
+
*
|
|
1159
|
+
* @param {Array} rows //List of current table rows
|
|
1160
|
+
* @param {String} rowId
|
|
1161
|
+
* @param {Number} rowIndex
|
|
1162
|
+
* @param {Func} callback
|
|
1168
1163
|
*/
|
|
1169
1164
|
var handleDuplicateTableRow = exports.handleDuplicateTableRow = function handleDuplicateTableRow(rows, rowId, rowIndex, callback) {
|
|
1170
1165
|
var duplicateRow = rows.find(function (row) {
|
|
@@ -1179,11 +1174,11 @@ var handleDuplicateTableRow = exports.handleDuplicateTableRow = function handleD
|
|
|
1179
1174
|
});
|
|
1180
1175
|
};
|
|
1181
1176
|
|
|
1182
|
-
/**
|
|
1183
|
-
* Handle Move Table Row Up
|
|
1184
|
-
*
|
|
1185
|
-
* @param {Number} rowIndex
|
|
1186
|
-
* @param {Func} callback
|
|
1177
|
+
/**
|
|
1178
|
+
* Handle Move Table Row Up
|
|
1179
|
+
*
|
|
1180
|
+
* @param {Number} rowIndex
|
|
1181
|
+
* @param {Func} callback
|
|
1187
1182
|
*/
|
|
1188
1183
|
var handleMoveTableRowUp = exports.handleMoveTableRowUp = function handleMoveTableRowUp(rowIndex, callback) {
|
|
1189
1184
|
//If first row then ignore
|
|
@@ -1194,12 +1189,12 @@ var handleMoveTableRowUp = exports.handleMoveTableRowUp = function handleMoveTab
|
|
|
1194
1189
|
});
|
|
1195
1190
|
};
|
|
1196
1191
|
|
|
1197
|
-
/**
|
|
1198
|
-
* Handle Move Table Row Down
|
|
1199
|
-
*
|
|
1200
|
-
* @param {Array} rows
|
|
1201
|
-
* @param {Number} rowIndex
|
|
1202
|
-
* @param {Func} callback
|
|
1192
|
+
/**
|
|
1193
|
+
* Handle Move Table Row Down
|
|
1194
|
+
*
|
|
1195
|
+
* @param {Array} rows
|
|
1196
|
+
* @param {Number} rowIndex
|
|
1197
|
+
* @param {Func} callback
|
|
1203
1198
|
*/
|
|
1204
1199
|
var handleMoveTableRowDown = exports.handleMoveTableRowDown = function handleMoveTableRowDown(rows, rowIndex, callback) {
|
|
1205
1200
|
//If last row then ignore
|