@builttocreate/engine-utils 2.8.0 → 2.9.0-beta.1
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/dist/activityHelper.js +15 -40
- package/dist/changedKeys.js +1 -4
- package/dist/chartHelper.js +4 -13
- package/dist/constants/ActivityTypes.js +5 -9
- package/dist/constants/DocumentTypes.js +1 -2
- package/dist/constants/FieldDisplayTypes.js +5 -6
- package/dist/constants/FieldPresentationModes.js +4 -8
- package/dist/constants/FieldTableColumnTypes.js +5 -4
- package/dist/constants/FieldTableCustomColumnIds.js +2 -3
- package/dist/constants/FieldTypes.js +3 -3
- package/dist/constants/FileTypes.js +4 -7
- package/dist/constants/FileViews.js +2 -4
- package/dist/constants/FormStyleOptions.js +2 -3
- package/dist/constants/ListTypes.js +2 -3
- package/dist/constants/PageLayoutModes.js +2 -4
- package/dist/constants/PageTypes.js +1 -3
- package/dist/constants/Roles.js +1 -3
- package/dist/constants/Table.js +6 -11
- package/dist/fieldHelper.js +25 -85
- package/dist/fileHelper.js +3 -11
- package/dist/generateObjectId.js +2 -5
- package/dist/index.js +4 -31
- package/dist/joyDocHelper.js +140 -203
- package/dist/paginationHelper.js +3 -7
- package/dist/reduxApiMiddleware.js +12 -27
- package/dist/roleHelper.js +4 -13
- package/dist/tableHelper.js +140 -295
- package/dist/validateObjectId.js +2 -5
- package/package.json +4 -4
package/dist/tableHelper.js
CHANGED
|
@@ -1,77 +1,49 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
var _typeof3 = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
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.getCleanedRowOrder = exports.getCleanedColumnOrder = exports.getCellOperand = exports.generateTableLookupForRows = exports.generateTableLookup = exports.generateTableFieldLookups = exports.generateRowTableLookup = exports.generateInputGroupFields = exports["default"] = void 0;
|
|
11
|
-
|
|
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.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;
|
|
12
9
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
13
|
-
|
|
14
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
15
|
-
|
|
16
11
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
17
|
-
|
|
18
12
|
var _hotFormulaParser = require("@builttocreate/hot-formula-parser");
|
|
19
|
-
|
|
20
13
|
var _generateObjectId = _interopRequireDefault(require("./generateObjectId"));
|
|
21
|
-
|
|
22
14
|
var _Table = _interopRequireWildcard(require("./constants/Table"));
|
|
23
|
-
|
|
24
15
|
var _FieldTypes = _interopRequireDefault(require("./constants/FieldTypes"));
|
|
25
|
-
|
|
26
16
|
var _FieldTableColumnTypes = _interopRequireDefault(require("./constants/FieldTableColumnTypes"));
|
|
27
|
-
|
|
28
17
|
var _FieldTableCustomColumnIds = _interopRequireDefault(require("./constants/FieldTableCustomColumnIds"));
|
|
29
|
-
|
|
30
|
-
function
|
|
31
|
-
|
|
32
|
-
function
|
|
33
|
-
|
|
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; }
|
|
35
|
-
|
|
36
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
37
|
-
|
|
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; }
|
|
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; }
|
|
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; }
|
|
38
22
|
var parser = new _hotFormulaParser.Parser();
|
|
39
|
-
|
|
40
|
-
var getTableFieldLookupKey = function getTableFieldLookupKey(fieldId, rowIndex, columnId) {
|
|
23
|
+
var getTableFieldLookupKey = exports.getTableFieldLookupKey = function getTableFieldLookupKey(fieldId, rowIndex, columnId) {
|
|
41
24
|
return "".concat(fieldId, "-").concat(rowIndex, "-").concat(columnId);
|
|
42
25
|
};
|
|
43
|
-
|
|
44
|
-
exports.getTableFieldLookupKey = getTableFieldLookupKey;
|
|
45
|
-
|
|
46
|
-
var getDefaultRow = function getDefaultRow() {
|
|
26
|
+
var getDefaultRow = exports.getDefaultRow = function getDefaultRow() {
|
|
47
27
|
return {
|
|
48
28
|
_id: (0, _generateObjectId["default"])(),
|
|
49
29
|
deleted: false,
|
|
50
30
|
cells: {}
|
|
51
31
|
};
|
|
52
32
|
};
|
|
53
|
-
|
|
54
|
-
exports.getDefaultRow = getDefaultRow;
|
|
55
|
-
|
|
56
|
-
var getRows = function getRows(rows) {
|
|
33
|
+
var getRows = exports.getRows = function getRows(rows) {
|
|
57
34
|
var parsedRows = rows;
|
|
58
|
-
|
|
59
35
|
if (typeof parsedRows === 'string') {
|
|
60
36
|
parsedRows = JSON.parse(parsedRows);
|
|
61
37
|
}
|
|
62
|
-
|
|
63
38
|
return parsedRows ? parsedRows.filter(function (row) {
|
|
64
39
|
return !row.deleted;
|
|
65
40
|
}) : [];
|
|
66
41
|
};
|
|
42
|
+
|
|
67
43
|
/**
|
|
68
44
|
* Sort rows based on rowOrder
|
|
69
45
|
*/
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
exports.getRows = getRows;
|
|
73
|
-
|
|
74
|
-
var sortRows = function sortRows(rows, rowOrder) {
|
|
46
|
+
var sortRows = exports.sortRows = function sortRows(rows, rowOrder) {
|
|
75
47
|
if (!rowOrder) return rows;
|
|
76
48
|
var rowLookup = {};
|
|
77
49
|
rows.forEach(function (row) {
|
|
@@ -83,6 +55,7 @@ var sortRows = function sortRows(rows, rowOrder) {
|
|
|
83
55
|
});
|
|
84
56
|
return sortedRows;
|
|
85
57
|
};
|
|
58
|
+
|
|
86
59
|
/**
|
|
87
60
|
* Filter table row order by cell values
|
|
88
61
|
*
|
|
@@ -90,41 +63,35 @@ var sortRows = function sortRows(rows, rowOrder) {
|
|
|
90
63
|
* @param {Array} rows
|
|
91
64
|
* @param {Object} filters //{ colId: value, colId: value, ....}
|
|
92
65
|
*/
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
exports.sortRows = sortRows;
|
|
96
|
-
|
|
97
|
-
var getFilteredRowOrder = function getFilteredRowOrder(rowOrder, rows, filters) {
|
|
66
|
+
var getFilteredRowOrder = exports.getFilteredRowOrder = function getFilteredRowOrder(rowOrder, rows, filters) {
|
|
98
67
|
var filteredColumnIds = filters ? Object.keys(filters) : [];
|
|
99
68
|
var validRowOrder = rowOrder;
|
|
100
|
-
|
|
101
69
|
if (!validRowOrder) {
|
|
102
70
|
var validRows = rows ? getRows(rows) : [];
|
|
103
71
|
validRowOrder = validRows.map(function (row) {
|
|
104
72
|
return row._id;
|
|
105
73
|
});
|
|
106
74
|
}
|
|
75
|
+
|
|
107
76
|
/**
|
|
108
77
|
* Remove any duplicate rowIds. We have had instances where
|
|
109
78
|
* users encounter duplicate rowIds in the rowOrder.
|
|
110
79
|
* See: https://github.com/zionlabs/Issues/issues/1589
|
|
111
80
|
*/
|
|
112
|
-
|
|
113
|
-
|
|
114
81
|
var cleanedValidRowOrder = [];
|
|
115
82
|
validRowOrder.forEach(function (rowId) {
|
|
116
83
|
if (cleanedValidRowOrder.indexOf(rowId) === -1) cleanedValidRowOrder.push(rowId);
|
|
117
84
|
});
|
|
118
|
-
|
|
119
85
|
if (filteredColumnIds.length > 0) {
|
|
120
86
|
var matchedRows = {};
|
|
121
87
|
rows.forEach(function (row) {
|
|
122
88
|
if (row.deleted) return;
|
|
123
89
|
var rowMatched = true;
|
|
124
90
|
filteredColumnIds.forEach(function (columnId) {
|
|
125
|
-
var filter = filters[columnId] ? filters[columnId].toLowerCase() : '';
|
|
126
|
-
var value = row.cells && row.cells[columnId] ? row.cells[columnId].toLowerCase() : '';
|
|
127
|
-
if (filter && (!value || value.indexOf(filter) === -1)) rowMatched = false;
|
|
91
|
+
var filter = filters[columnId] && typeof filters[columnId] === 'string' ? filters[columnId].toLowerCase() : filters[columnId] && typeof filters[columnId] === 'number' ? filters[columnId] : '';
|
|
92
|
+
var value = row.cells && row.cells[columnId] && typeof row.cells[columnId] === 'string' ? row.cells[columnId].toLowerCase() : row.cells && row.cells[columnId] && typeof row.cells[columnId] === 'number' ? row.cells[columnId] : '';
|
|
93
|
+
if (filter && typeof value === 'string' && (!value || value.indexOf(filter) === -1)) rowMatched = false;
|
|
94
|
+
if (filter && typeof value === 'number' && (!value || value !== filter)) rowMatched = false;
|
|
128
95
|
});
|
|
129
96
|
if (rowMatched) matchedRows[row._id] = true;
|
|
130
97
|
});
|
|
@@ -135,6 +102,7 @@ var getFilteredRowOrder = function getFilteredRowOrder(rowOrder, rows, filters)
|
|
|
135
102
|
return cleanedValidRowOrder;
|
|
136
103
|
}
|
|
137
104
|
};
|
|
105
|
+
|
|
138
106
|
/**
|
|
139
107
|
* Create a table row map for simple value lookup
|
|
140
108
|
*
|
|
@@ -148,11 +116,7 @@ var getFilteredRowOrder = function getFilteredRowOrder(rowOrder, rows, filters)
|
|
|
148
116
|
* @param {Array} rows
|
|
149
117
|
* @return {Object}
|
|
150
118
|
*/
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
exports.getFilteredRowOrder = getFilteredRowOrder;
|
|
154
|
-
|
|
155
|
-
var getRowMap = function getRowMap() {
|
|
119
|
+
var getRowMap = exports.getRowMap = function getRowMap() {
|
|
156
120
|
var rows = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
157
121
|
var items = getRows(rows);
|
|
158
122
|
var rowMap = {};
|
|
@@ -161,6 +125,7 @@ var getRowMap = function getRowMap() {
|
|
|
161
125
|
});
|
|
162
126
|
return rowMap;
|
|
163
127
|
};
|
|
128
|
+
|
|
164
129
|
/**
|
|
165
130
|
* Get row order
|
|
166
131
|
*
|
|
@@ -169,15 +134,12 @@ var getRowMap = function getRowMap() {
|
|
|
169
134
|
*
|
|
170
135
|
* @return {Array}
|
|
171
136
|
*/
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
exports.getRowMap = getRowMap;
|
|
175
|
-
|
|
176
|
-
var getRowOrder = function getRowOrder(rowOrder, rows) {
|
|
137
|
+
var getRowOrder = exports.getRowOrder = function getRowOrder(rowOrder, rows) {
|
|
177
138
|
return rowOrder || getRows(rows).map(function (row) {
|
|
178
139
|
return row._id;
|
|
179
140
|
});
|
|
180
141
|
};
|
|
142
|
+
|
|
181
143
|
/**
|
|
182
144
|
* Get row order for table field. If there isn't a row order set in the
|
|
183
145
|
* fieldSettings then it will default to the normal row array Ids.
|
|
@@ -188,16 +150,13 @@ var getRowOrder = function getRowOrder(rowOrder, rows) {
|
|
|
188
150
|
*
|
|
189
151
|
* @return {Array}
|
|
190
152
|
*/
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
exports.getRowOrder = getRowOrder;
|
|
194
|
-
|
|
195
|
-
var getTableFieldRowOrder = function getTableFieldRowOrder(fieldId, fieldSettings, rows) {
|
|
153
|
+
var getTableFieldRowOrder = exports.getTableFieldRowOrder = function getTableFieldRowOrder(fieldId, fieldSettings, rows) {
|
|
196
154
|
var filteredRows = rows ? getRows(rows) : [];
|
|
197
155
|
return fieldSettings && fieldSettings[fieldId] && fieldSettings[fieldId].rowOrder ? (0, _toConsumableArray2["default"])(fieldSettings[fieldId].rowOrder) : filteredRows.map(function (row) {
|
|
198
156
|
return row._id;
|
|
199
157
|
});
|
|
200
158
|
};
|
|
159
|
+
|
|
201
160
|
/**
|
|
202
161
|
* This method removes the rowIds of the deleted rows (or) any duplicate rowIds
|
|
203
162
|
* from the rowOrder there by returning a cleaned rowOrder
|
|
@@ -206,16 +165,12 @@ var getTableFieldRowOrder = function getTableFieldRowOrder(fieldId, fieldSetting
|
|
|
206
165
|
*
|
|
207
166
|
* @returns {Array}
|
|
208
167
|
**/
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
exports.getTableFieldRowOrder = getTableFieldRowOrder;
|
|
212
|
-
|
|
213
|
-
var getCleanedRowOrder = function getCleanedRowOrder(rowOrder, rows) {
|
|
168
|
+
var getCleanedRowOrder = exports.getCleanedRowOrder = function getCleanedRowOrder(rowOrder, rows) {
|
|
214
169
|
var nextRowOrder = [];
|
|
170
|
+
|
|
215
171
|
/**
|
|
216
172
|
* Step 1: Handle generating or retrieving proper row order.
|
|
217
173
|
*/
|
|
218
|
-
|
|
219
174
|
if (rowOrder && rowOrder.length > 0) {
|
|
220
175
|
nextRowOrder = rowOrder;
|
|
221
176
|
} else if (rows && rows.length > 0) {
|
|
@@ -223,11 +178,10 @@ var getCleanedRowOrder = function getCleanedRowOrder(rowOrder, rows) {
|
|
|
223
178
|
if (!row.deleted) nextRowOrder.push(row._id);
|
|
224
179
|
});
|
|
225
180
|
}
|
|
181
|
+
|
|
226
182
|
/**
|
|
227
183
|
* Step 2: Remove row Ids from rowOrder for rows that no longer exist or have been deleted
|
|
228
184
|
*/
|
|
229
|
-
|
|
230
|
-
|
|
231
185
|
var rowLookup = {};
|
|
232
186
|
rows.forEach(function (row) {
|
|
233
187
|
return rowLookup[row._id] = row && !row.deleted;
|
|
@@ -235,27 +189,24 @@ var getCleanedRowOrder = function getCleanedRowOrder(rowOrder, rows) {
|
|
|
235
189
|
nextRowOrder = nextRowOrder.filter(function (rowId) {
|
|
236
190
|
return rowLookup[rowId];
|
|
237
191
|
});
|
|
192
|
+
|
|
238
193
|
/**
|
|
239
194
|
* Step 3: Remove any duplicate row Id references in the row order.
|
|
240
195
|
*/
|
|
241
|
-
|
|
242
196
|
var filteredNextRowOrder = [];
|
|
243
197
|
nextRowOrder.forEach(function (rowId) {
|
|
244
198
|
if (rowId && filteredNextRowOrder.indexOf(rowId) === -1) filteredNextRowOrder.push(rowId);
|
|
245
199
|
});
|
|
246
200
|
return filteredNextRowOrder;
|
|
247
201
|
};
|
|
202
|
+
|
|
248
203
|
/**
|
|
249
204
|
* Handle Move Column Left
|
|
250
205
|
*
|
|
251
206
|
* @param {Number} columnIndex
|
|
252
207
|
* @param {Func} callback
|
|
253
208
|
*/
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
exports.getCleanedRowOrder = getCleanedRowOrder;
|
|
257
|
-
|
|
258
|
-
var handleMoveColumnLeft = function handleMoveColumnLeft(columnIndex, callback) {
|
|
209
|
+
var handleMoveColumnLeft = exports.handleMoveColumnLeft = function handleMoveColumnLeft(columnIndex, callback) {
|
|
259
210
|
//If first index then ignore
|
|
260
211
|
if (columnIndex === 0) return;
|
|
261
212
|
var targetIndex = columnIndex - 1;
|
|
@@ -263,6 +214,7 @@ var handleMoveColumnLeft = function handleMoveColumnLeft(columnIndex, callback)
|
|
|
263
214
|
targetIndex: targetIndex
|
|
264
215
|
});
|
|
265
216
|
};
|
|
217
|
+
|
|
266
218
|
/**
|
|
267
219
|
* Handle Move Column Right
|
|
268
220
|
*
|
|
@@ -270,11 +222,7 @@ var handleMoveColumnLeft = function handleMoveColumnLeft(columnIndex, callback)
|
|
|
270
222
|
* @param {Number} columnIndex
|
|
271
223
|
* @param {Func} callback
|
|
272
224
|
*/
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
exports.handleMoveColumnLeft = handleMoveColumnLeft;
|
|
276
|
-
|
|
277
|
-
var handleMoveColumnRight = function handleMoveColumnRight(columns, columnIndex, callback) {
|
|
225
|
+
var handleMoveColumnRight = exports.handleMoveColumnRight = function handleMoveColumnRight(columns, columnIndex, callback) {
|
|
278
226
|
//If last column index then ignore
|
|
279
227
|
if (columnIndex >= columns.length - 1) return;
|
|
280
228
|
var targetIndex = columnIndex + 1;
|
|
@@ -282,23 +230,21 @@ var handleMoveColumnRight = function handleMoveColumnRight(columns, columnIndex,
|
|
|
282
230
|
targetIndex: targetIndex
|
|
283
231
|
});
|
|
284
232
|
};
|
|
233
|
+
|
|
285
234
|
/**
|
|
286
235
|
* Get default column option
|
|
287
236
|
*
|
|
288
237
|
* @param {String} value
|
|
289
238
|
* @return {Object}
|
|
290
239
|
*/
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
exports.handleMoveColumnRight = handleMoveColumnRight;
|
|
294
|
-
|
|
295
|
-
var getDefaultColumnOption = function getDefaultColumnOption(value) {
|
|
240
|
+
var getDefaultColumnOption = exports.getDefaultColumnOption = function getDefaultColumnOption(value) {
|
|
296
241
|
return {
|
|
297
242
|
_id: (0, _generateObjectId["default"])(),
|
|
298
243
|
value: value || 'Option',
|
|
299
244
|
deleted: false
|
|
300
245
|
};
|
|
301
246
|
};
|
|
247
|
+
|
|
302
248
|
/**
|
|
303
249
|
* Get default text column for table field
|
|
304
250
|
*
|
|
@@ -306,11 +252,7 @@ var getDefaultColumnOption = function getDefaultColumnOption(value) {
|
|
|
306
252
|
*
|
|
307
253
|
* @return {Object}
|
|
308
254
|
*/
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
exports.getDefaultColumnOption = getDefaultColumnOption;
|
|
312
|
-
|
|
313
|
-
var getDefaultTextColumn = function getDefaultTextColumn() {
|
|
255
|
+
var getDefaultTextColumn = exports.getDefaultTextColumn = function getDefaultTextColumn() {
|
|
314
256
|
var defaults = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
315
257
|
return _objectSpread({
|
|
316
258
|
_id: (0, _generateObjectId["default"])(),
|
|
@@ -320,18 +262,33 @@ var getDefaultTextColumn = function getDefaultTextColumn() {
|
|
|
320
262
|
deleted: false
|
|
321
263
|
}, defaults);
|
|
322
264
|
};
|
|
265
|
+
|
|
323
266
|
/**
|
|
324
|
-
* Get default
|
|
267
|
+
* Get default Number column for table field
|
|
325
268
|
*
|
|
326
269
|
* @param {Object} defaults //Overwrite any values with this defaults object
|
|
327
270
|
*
|
|
328
271
|
* @return {Object}
|
|
329
272
|
*/
|
|
273
|
+
var getDefaultNumberColumn = exports.getDefaultNumberColumn = function getDefaultNumberColumn() {
|
|
274
|
+
var defaults = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
275
|
+
return _objectSpread({
|
|
276
|
+
_id: (0, _generateObjectId["default"])(),
|
|
277
|
+
type: _FieldTableColumnTypes["default"].number,
|
|
278
|
+
title: 'Number Column',
|
|
279
|
+
deleted: false,
|
|
280
|
+
width: 200
|
|
281
|
+
}, defaults);
|
|
282
|
+
};
|
|
330
283
|
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
284
|
+
/**
|
|
285
|
+
* Get default dropdown column for table field
|
|
286
|
+
*
|
|
287
|
+
* @param {Object} defaults //Overwrite any values with this defaults object
|
|
288
|
+
*
|
|
289
|
+
* @return {Object}
|
|
290
|
+
*/
|
|
291
|
+
var getDefaultImageColumn = exports.getDefaultImageColumn = function getDefaultImageColumn() {
|
|
335
292
|
var defaults = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
336
293
|
return _objectSpread({
|
|
337
294
|
_id: (0, _generateObjectId["default"])(),
|
|
@@ -343,6 +300,7 @@ var getDefaultImageColumn = function getDefaultImageColumn() {
|
|
|
343
300
|
maxImageHeight: 120
|
|
344
301
|
}, defaults);
|
|
345
302
|
};
|
|
303
|
+
|
|
346
304
|
/**
|
|
347
305
|
* Get default dropdown column for table field
|
|
348
306
|
*
|
|
@@ -350,11 +308,7 @@ var getDefaultImageColumn = function getDefaultImageColumn() {
|
|
|
350
308
|
*
|
|
351
309
|
* @return {Object}
|
|
352
310
|
*/
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
exports.getDefaultImageColumn = getDefaultImageColumn;
|
|
356
|
-
|
|
357
|
-
var getDefaultDropdownColumn = function getDefaultDropdownColumn() {
|
|
311
|
+
var getDefaultDropdownColumn = exports.getDefaultDropdownColumn = function getDefaultDropdownColumn() {
|
|
358
312
|
var defaults = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
359
313
|
var options = defaults.options || [getDefaultColumnOption('Yes'), getDefaultColumnOption('No'), getDefaultColumnOption('N/A')];
|
|
360
314
|
return _objectSpread({
|
|
@@ -369,6 +323,7 @@ var getDefaultDropdownColumn = function getDefaultDropdownColumn() {
|
|
|
369
323
|
})
|
|
370
324
|
}, defaults);
|
|
371
325
|
};
|
|
326
|
+
|
|
372
327
|
/**
|
|
373
328
|
* Get column order
|
|
374
329
|
*
|
|
@@ -377,15 +332,12 @@ var getDefaultDropdownColumn = function getDefaultDropdownColumn() {
|
|
|
377
332
|
*
|
|
378
333
|
* @return {Array}
|
|
379
334
|
*/
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
exports.getDefaultDropdownColumn = getDefaultDropdownColumn;
|
|
383
|
-
|
|
384
|
-
var getColumnOrder = function getColumnOrder(columnOrder, columns) {
|
|
335
|
+
var getColumnOrder = exports.getColumnOrder = function getColumnOrder(columnOrder, columns) {
|
|
385
336
|
return columnOrder || getColumns(columns).map(function (column) {
|
|
386
337
|
return column._id;
|
|
387
338
|
});
|
|
388
339
|
};
|
|
340
|
+
|
|
389
341
|
/**
|
|
390
342
|
* This method removes the columnIds of the deleted columns (or) any duplicate columnIds
|
|
391
343
|
* from the tableColumnOrder there by returning a cleaned tableColumnOrder
|
|
@@ -395,16 +347,12 @@ var getColumnOrder = function getColumnOrder(columnOrder, columns) {
|
|
|
395
347
|
*
|
|
396
348
|
* @returns {Array}
|
|
397
349
|
**/
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
exports.getColumnOrder = getColumnOrder;
|
|
401
|
-
|
|
402
|
-
var getCleanedColumnOrder = function getCleanedColumnOrder(columnOrder, columns) {
|
|
350
|
+
var getCleanedColumnOrder = exports.getCleanedColumnOrder = function getCleanedColumnOrder(columnOrder, columns) {
|
|
403
351
|
var nextColumnOrder = [];
|
|
352
|
+
|
|
404
353
|
/**
|
|
405
354
|
* Step 1: Handle generating or retrieving proper column order.
|
|
406
355
|
*/
|
|
407
|
-
|
|
408
356
|
if (columnOrder && columnOrder.length > 0) {
|
|
409
357
|
nextColumnOrder = columnOrder;
|
|
410
358
|
} else if (columns && columns.length > 0) {
|
|
@@ -412,11 +360,10 @@ var getCleanedColumnOrder = function getCleanedColumnOrder(columnOrder, columns)
|
|
|
412
360
|
if (!column.deleted) nextColumnOrder.push(column._id);
|
|
413
361
|
});
|
|
414
362
|
}
|
|
363
|
+
|
|
415
364
|
/**
|
|
416
365
|
* Step 2: Remove column Ids from columnOrder for columns that no longer exist or have been deleted
|
|
417
366
|
*/
|
|
418
|
-
|
|
419
|
-
|
|
420
367
|
var columnLookup = {};
|
|
421
368
|
columns.forEach(function (column) {
|
|
422
369
|
return columnLookup[column._id] = column && !column.deleted;
|
|
@@ -424,47 +371,38 @@ var getCleanedColumnOrder = function getCleanedColumnOrder(columnOrder, columns)
|
|
|
424
371
|
nextColumnOrder = nextColumnOrder.filter(function (columnId) {
|
|
425
372
|
return columnLookup[columnId];
|
|
426
373
|
});
|
|
374
|
+
|
|
427
375
|
/**
|
|
428
376
|
* Step 3: Remove any duplicate column Id references in the column order.
|
|
429
377
|
*/
|
|
430
|
-
|
|
431
378
|
var filteredNextColumnOrder = [];
|
|
432
379
|
nextColumnOrder.forEach(function (columnId) {
|
|
433
380
|
if (columnId && filteredNextColumnOrder.indexOf(columnId) === -1) filteredNextColumnOrder.push(columnId);
|
|
434
381
|
});
|
|
435
382
|
return filteredNextColumnOrder;
|
|
436
383
|
};
|
|
384
|
+
|
|
437
385
|
/**
|
|
438
386
|
* Get table columns with added operands. Operands are the A, B, C, etc.
|
|
439
387
|
*/
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
exports.getCleanedColumnOrder = getCleanedColumnOrder;
|
|
443
|
-
|
|
444
|
-
var getColumns = function getColumns(columns) {
|
|
388
|
+
var getColumns = exports.getColumns = function getColumns(columns) {
|
|
445
389
|
var parsedColumns = columns;
|
|
446
|
-
|
|
447
390
|
if (typeof parsedColumns === 'string') {
|
|
448
391
|
parsedColumns = JSON.parse(parsedColumns);
|
|
449
392
|
}
|
|
450
|
-
|
|
451
393
|
return !parsedColumns ? [] : parsedColumns.filter(function (column) {
|
|
452
394
|
return !column.deleted;
|
|
453
395
|
}).map(function (column, i) {
|
|
454
396
|
var nextColumn = _objectSpread({}, column);
|
|
455
|
-
|
|
456
397
|
nextColumn.operand = getColumnOperand(i);
|
|
457
398
|
return nextColumn;
|
|
458
399
|
});
|
|
459
400
|
};
|
|
401
|
+
|
|
460
402
|
/**
|
|
461
403
|
* Sort columns based on columnOrder
|
|
462
404
|
*/
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
exports.getColumns = getColumns;
|
|
466
|
-
|
|
467
|
-
var sortColumns = function sortColumns(columns, columnOrder) {
|
|
405
|
+
var sortColumns = exports.sortColumns = function sortColumns(columns, columnOrder) {
|
|
468
406
|
if (!columnOrder) return columns;
|
|
469
407
|
var columnLookup = {};
|
|
470
408
|
columns.forEach(function (col) {
|
|
@@ -476,20 +414,15 @@ var sortColumns = function sortColumns(columns, columnOrder) {
|
|
|
476
414
|
});
|
|
477
415
|
return sortedColumns;
|
|
478
416
|
};
|
|
417
|
+
|
|
479
418
|
/**
|
|
480
419
|
* Get the targetColumn with added operand. Operands are A, B ,C etc...
|
|
481
420
|
*/
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
exports.sortColumns = sortColumns;
|
|
485
|
-
|
|
486
|
-
var getTargetColumnWithOperand = function getTargetColumnWithOperand(columnOrder, columns, columnId) {
|
|
421
|
+
var getTargetColumnWithOperand = exports.getTargetColumnWithOperand = function getTargetColumnWithOperand(columnOrder, columns, columnId) {
|
|
487
422
|
var targetColumn = columns.find(function (col) {
|
|
488
423
|
return col._id === columnId;
|
|
489
424
|
});
|
|
490
|
-
|
|
491
425
|
var nextTargetColumn = _objectSpread({}, targetColumn);
|
|
492
|
-
|
|
493
426
|
var targetColumnIndex = columnOrder.findIndex(function (item) {
|
|
494
427
|
return item === targetColumn._id;
|
|
495
428
|
});
|
|
@@ -497,18 +430,16 @@ var getTargetColumnWithOperand = function getTargetColumnWithOperand(columnOrder
|
|
|
497
430
|
nextTargetColumn.operand = targetColumnOperand;
|
|
498
431
|
return nextTargetColumn;
|
|
499
432
|
};
|
|
433
|
+
|
|
500
434
|
/**
|
|
501
435
|
* Return letter for a column index. For intance: A, B, C
|
|
502
436
|
*
|
|
503
437
|
* Used to create the table lookup operands: A1, B12, etc.
|
|
504
438
|
*/
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
exports.getTargetColumnWithOperand = getTargetColumnWithOperand;
|
|
508
|
-
|
|
509
|
-
var getColumnOperand = function getColumnOperand(index) {
|
|
439
|
+
var getColumnOperand = exports.getColumnOperand = function getColumnOperand(index) {
|
|
510
440
|
return String.fromCharCode(65 + index);
|
|
511
441
|
};
|
|
442
|
+
|
|
512
443
|
/**
|
|
513
444
|
* Return rowIndex and columnIndex for cellOperand
|
|
514
445
|
*
|
|
@@ -517,11 +448,7 @@ var getColumnOperand = function getColumnOperand(index) {
|
|
|
517
448
|
* @param {String} cellOperand
|
|
518
449
|
* @returns {Object}
|
|
519
450
|
*/
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
exports.getColumnOperand = getColumnOperand;
|
|
523
|
-
|
|
524
|
-
var getIndexesFromTableCellOperand = function getIndexesFromTableCellOperand(cellOperand) {
|
|
451
|
+
var getIndexesFromTableCellOperand = exports.getIndexesFromTableCellOperand = function getIndexesFromTableCellOperand(cellOperand) {
|
|
525
452
|
var letter = cellOperand.match(/[A-Z]*/gi).find(function (value) {
|
|
526
453
|
return value;
|
|
527
454
|
});
|
|
@@ -530,7 +457,6 @@ var getIndexesFromTableCellOperand = function getIndexesFromTableCellOperand(cel
|
|
|
530
457
|
});
|
|
531
458
|
return {
|
|
532
459
|
columnIndex: _Table.operandLetterIndexes[letter],
|
|
533
|
-
|
|
534
460
|
/**
|
|
535
461
|
* Cell operands start at an index of 1. So to get the true
|
|
536
462
|
* index for the rowIndex we need to substract 1 so we can
|
|
@@ -539,6 +465,7 @@ var getIndexesFromTableCellOperand = function getIndexesFromTableCellOperand(cel
|
|
|
539
465
|
rowIndex: rowIndex - 1
|
|
540
466
|
};
|
|
541
467
|
};
|
|
468
|
+
|
|
542
469
|
/**
|
|
543
470
|
* Get operand lookup for all table/inputGroup fields in a template.
|
|
544
471
|
*
|
|
@@ -547,11 +474,7 @@ var getIndexesFromTableCellOperand = function getIndexesFromTableCellOperand(cel
|
|
|
547
474
|
* ....
|
|
548
475
|
* }
|
|
549
476
|
*/
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
exports.getIndexesFromTableCellOperand = getIndexesFromTableCellOperand;
|
|
553
|
-
|
|
554
|
-
var getTemplateColumnOperandLookup = function getTemplateColumnOperandLookup(template) {
|
|
477
|
+
var getTemplateColumnOperandLookup = exports.getTemplateColumnOperandLookup = function getTemplateColumnOperandLookup(template) {
|
|
555
478
|
var operandLookup = {};
|
|
556
479
|
template.fields.forEach(function (field) {
|
|
557
480
|
if (field.type !== _FieldTypes["default"].table && field.type !== _FieldTypes["default"].inputGroup) return;
|
|
@@ -563,19 +486,17 @@ var getTemplateColumnOperandLookup = function getTemplateColumnOperandLookup(tem
|
|
|
563
486
|
});
|
|
564
487
|
return operandLookup;
|
|
565
488
|
};
|
|
489
|
+
|
|
566
490
|
/**
|
|
567
491
|
* Return operand for cell. For intance: A1, B2, C1
|
|
568
492
|
*
|
|
569
493
|
* @param {String} columnOperand //A, B, C, etc.
|
|
570
494
|
* @param {Number} rowIndex
|
|
571
495
|
*/
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
exports.getTemplateColumnOperandLookup = getTemplateColumnOperandLookup;
|
|
575
|
-
|
|
576
|
-
var getCellOperand = function getCellOperand(columnOperand, rowIndex) {
|
|
496
|
+
var getCellOperand = exports.getCellOperand = function getCellOperand(columnOperand, rowIndex) {
|
|
577
497
|
return "".concat(columnOperand).concat(rowIndex);
|
|
578
498
|
};
|
|
499
|
+
|
|
579
500
|
/**
|
|
580
501
|
* Generate table lookup by rowIndex and column operand
|
|
581
502
|
*
|
|
@@ -594,11 +515,7 @@ var getCellOperand = function getCellOperand(columnOperand, rowIndex) {
|
|
|
594
515
|
* @return {Object}
|
|
595
516
|
|
|
596
517
|
*/
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
exports.getCellOperand = getCellOperand;
|
|
600
|
-
|
|
601
|
-
var generateRowTableLookup = function generateRowTableLookup(rows, columns, tableLookup) {
|
|
518
|
+
var generateRowTableLookup = exports.generateRowTableLookup = function generateRowTableLookup(rows, columns, tableLookup) {
|
|
602
519
|
if (!rows || !columns || !tableLookup) return {};
|
|
603
520
|
var rowTableLookup = {};
|
|
604
521
|
rows.forEach(function (row, rowIndex) {
|
|
@@ -611,6 +528,7 @@ var generateRowTableLookup = function generateRowTableLookup(rows, columns, tabl
|
|
|
611
528
|
});
|
|
612
529
|
return rowTableLookup;
|
|
613
530
|
};
|
|
531
|
+
|
|
614
532
|
/**
|
|
615
533
|
* Generate table lookups for each table field in template. It takes
|
|
616
534
|
* all table & inputGroup fields and generates a table lookup object for them.
|
|
@@ -633,11 +551,7 @@ var generateRowTableLookup = function generateRowTableLookup(rows, columns, tabl
|
|
|
633
551
|
* ...
|
|
634
552
|
* }
|
|
635
553
|
*/
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
exports.generateRowTableLookup = generateRowTableLookup;
|
|
639
|
-
|
|
640
|
-
var generateTableFieldLookups = function generateTableFieldLookups(doc, template) {
|
|
554
|
+
var generateTableFieldLookups = exports.generateTableFieldLookups = function generateTableFieldLookups(doc, template) {
|
|
641
555
|
var tableFields = template.fields.filter(function (field) {
|
|
642
556
|
return (field.type === _FieldTypes["default"].table || field.type === _FieldTypes["default"].inputGroup) && !field.deleted;
|
|
643
557
|
});
|
|
@@ -656,6 +570,7 @@ var generateTableFieldLookups = function generateTableFieldLookups(doc, template
|
|
|
656
570
|
});
|
|
657
571
|
return tableLookups;
|
|
658
572
|
};
|
|
573
|
+
|
|
659
574
|
/**
|
|
660
575
|
* Organize the table lookup on a row by row basis
|
|
661
576
|
* @param {Array} rows
|
|
@@ -676,11 +591,7 @@ var generateTableFieldLookups = function generateTableFieldLookups(doc, template
|
|
|
676
591
|
* }
|
|
677
592
|
*
|
|
678
593
|
*/
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
exports.generateTableFieldLookups = generateTableFieldLookups;
|
|
682
|
-
|
|
683
|
-
var generateTableLookupForRows = function generateTableLookupForRows(rows, columns) {
|
|
594
|
+
var generateTableLookupForRows = exports.generateTableLookupForRows = function generateTableLookupForRows(rows, columns) {
|
|
684
595
|
var tableLookup = generateTableLookup(rows, columns);
|
|
685
596
|
var rowLookup = {};
|
|
686
597
|
Object.keys(tableLookup).forEach(function (key) {
|
|
@@ -692,6 +603,7 @@ var generateTableLookupForRows = function generateTableLookupForRows(rows, colum
|
|
|
692
603
|
});
|
|
693
604
|
return rowLookup;
|
|
694
605
|
};
|
|
606
|
+
|
|
695
607
|
/**
|
|
696
608
|
* Generate Lookup Operand Lookup Table for Table Data. Supports converting
|
|
697
609
|
* formula cells to the calculated value.
|
|
@@ -710,11 +622,7 @@ var generateTableLookupForRows = function generateTableLookupForRows(rows, colum
|
|
|
710
622
|
* B2: 4,
|
|
711
623
|
* }
|
|
712
624
|
*/
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
exports.generateTableLookupForRows = generateTableLookupForRows;
|
|
716
|
-
|
|
717
|
-
var generateTableLookup = function generateTableLookup(rows, columns) {
|
|
625
|
+
var generateTableLookup = exports.generateTableLookup = function generateTableLookup(rows, columns) {
|
|
718
626
|
var tableLookup = {};
|
|
719
627
|
var columnOptionsLookup = {};
|
|
720
628
|
var tableColumns = [];
|
|
@@ -725,10 +633,8 @@ var generateTableLookup = function generateTableLookup(rows, columns) {
|
|
|
725
633
|
});
|
|
726
634
|
filteredColumns.forEach(function (column, i) {
|
|
727
635
|
var nextColumn = _objectSpread({}, column);
|
|
728
|
-
|
|
729
636
|
nextColumn.operand = String.fromCharCode(65 + i);
|
|
730
637
|
tableColumns.push(nextColumn);
|
|
731
|
-
|
|
732
638
|
if (column.type === _FieldTableColumnTypes["default"].dropdown) {
|
|
733
639
|
columnOptionsLookup[column._id] = {};
|
|
734
640
|
column.options.forEach(function (option) {
|
|
@@ -751,7 +657,6 @@ var generateTableLookup = function generateTableLookup(rows, columns) {
|
|
|
751
657
|
if (cellRawValue && typeof cellRawValue === 'number') cellValue = cellRawValue.toString();
|
|
752
658
|
var formulaCell = cellValue !== undefined && cellValue.charAt(0) === '=';
|
|
753
659
|
var containsOperands = cellValue !== undefined && cellValue.match(/[A-Z]([0-9]{1,10})/gi);
|
|
754
|
-
|
|
755
660
|
if (cellValue && column.type === _FieldTableColumnTypes["default"].dropdown) {
|
|
756
661
|
tableLookup[cellKey] = columnOptionsLookup[column._id][cellValue];
|
|
757
662
|
} else if ((cellValue || cellRawValue) && column.type === _FieldTableColumnTypes["default"].image) {
|
|
@@ -772,10 +677,7 @@ var generateTableLookup = function generateTableLookup(rows, columns) {
|
|
|
772
677
|
});
|
|
773
678
|
return tableLookup;
|
|
774
679
|
};
|
|
775
|
-
|
|
776
|
-
exports.generateTableLookup = generateTableLookup;
|
|
777
|
-
|
|
778
|
-
var getFormulaResult = function getFormulaResult(sourceOperand, formula, tableLookup) {
|
|
680
|
+
var getFormulaResult = exports.getFormulaResult = function getFormulaResult(sourceOperand, formula, tableLookup) {
|
|
779
681
|
formula = spreadOperandRange(formula);
|
|
780
682
|
var invalidFormulaError = validFormulaString(sourceOperand, formula);
|
|
781
683
|
if (invalidFormulaError) return tableLookup[sourceOperand] = invalidFormulaError;
|
|
@@ -785,15 +687,14 @@ var getFormulaResult = function getFormulaResult(sourceOperand, formula, tableLo
|
|
|
785
687
|
var operandValue = resolveOperandValue(sourceOperand, operand, tableLookup);
|
|
786
688
|
formula = formula.replace(operand, operandValue);
|
|
787
689
|
});
|
|
690
|
+
|
|
788
691
|
/**
|
|
789
692
|
* Add leading zeros to decimal numbers. hot-formula-parser throws an
|
|
790
693
|
* error if we try to parse non leading decimal numbers. For instace,
|
|
791
694
|
* a non leading decimal number is: .7 .001 etc. We convert these
|
|
792
695
|
* values to 0.7 & 0.001
|
|
793
696
|
*/
|
|
794
|
-
|
|
795
697
|
var noLeadingZeroDecimalMatches = formula.match(/\D\./);
|
|
796
|
-
|
|
797
698
|
if (noLeadingZeroDecimalMatches && noLeadingZeroDecimalMatches.length > 0) {
|
|
798
699
|
noLeadingZeroDecimalMatches.forEach(function (val) {
|
|
799
700
|
var splitVals = val.split('');
|
|
@@ -802,13 +703,13 @@ var getFormulaResult = function getFormulaResult(sourceOperand, formula, tableLo
|
|
|
802
703
|
formula = formula.replace(val, newValue);
|
|
803
704
|
});
|
|
804
705
|
}
|
|
805
|
-
|
|
806
706
|
formula = formula.replace('=', '');
|
|
807
707
|
var parsedValue = parser.parse(formula);
|
|
808
708
|
if (parsedValue.result) parsedValue.result = Math.round(100 * parsedValue.result) / 100;
|
|
809
709
|
tableLookup[sourceOperand] = parsedValue.result ? parsedValue.result.toString() : parsedValue.error;
|
|
810
710
|
return parsedValue;
|
|
811
711
|
};
|
|
712
|
+
|
|
812
713
|
/**
|
|
813
714
|
* Resolve operand value
|
|
814
715
|
* An operand is A1, B1, etc.
|
|
@@ -817,77 +718,61 @@ var getFormulaResult = function getFormulaResult(sourceOperand, formula, tableLo
|
|
|
817
718
|
* @param targetOperand //The cell you are trying to retrieve a value from
|
|
818
719
|
* @param tableLookup //The lookup of values contained in the table;
|
|
819
720
|
*/
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
exports.getFormulaResult = getFormulaResult;
|
|
823
|
-
|
|
824
|
-
var resolveOperandValue = function resolveOperandValue(sourceOperand, targetOperand, tableLookup) {
|
|
721
|
+
var resolveOperandValue = exports.resolveOperandValue = function resolveOperandValue(sourceOperand, targetOperand, tableLookup) {
|
|
825
722
|
var targetValue = tableLookup[targetOperand] && typeof tableLookup[targetOperand] === 'string' ? tableLookup[targetOperand].trim() : tableLookup[targetOperand];
|
|
826
723
|
/**
|
|
827
724
|
* 1. If tableLookup doesn't have a value (or) if the targetValue
|
|
828
725
|
* appears to be an object (image column cell values) return 0.
|
|
829
726
|
*/
|
|
727
|
+
if (!targetValue || (0, _typeof2["default"])(targetValue) === 'object') return 0;
|
|
830
728
|
|
|
831
|
-
|
|
729
|
+
// 2. If tableLookup is already a number return the number value
|
|
730
|
+
if (typeof targetValue === 'number') return targetValue;
|
|
832
731
|
|
|
833
|
-
|
|
732
|
+
// 3. If targetCell has circular reference return invalid.
|
|
834
733
|
//
|
|
835
734
|
// A circular reference can occur when C1 reference B1 and B1 references C1.
|
|
836
735
|
// It creates and infinite circular loop of trying to resovle a value
|
|
837
736
|
// because they both depend on eachother.
|
|
737
|
+
if (sourceOperand && hasCircularOperandReference(targetValue, sourceOperand) || targetOperand && hasCircularOperandReference(targetValue, targetOperand)) return '* INVALID - Circular Reference';
|
|
838
738
|
|
|
839
|
-
|
|
840
|
-
|
|
739
|
+
// 4. If targetCell has a formula value
|
|
841
740
|
if (targetValue !== undefined && targetValue.charAt(0) === '=') {
|
|
842
741
|
var result = getFormulaResult(sourceOperand, targetValue, tableLookup);
|
|
843
742
|
return result.result || result.error;
|
|
844
|
-
}
|
|
845
|
-
// formula cell then just return the cell value
|
|
846
|
-
|
|
743
|
+
}
|
|
847
744
|
|
|
745
|
+
// 5. If targetCell has a normal value or an already resolved
|
|
746
|
+
// formula cell then just return the cell value
|
|
848
747
|
if (targetValue) return targetValue;
|
|
849
748
|
};
|
|
850
|
-
|
|
851
|
-
exports.resolveOperandValue = resolveOperandValue;
|
|
852
|
-
|
|
853
|
-
var hasCircularOperandReference = function hasCircularOperandReference(targetValue, lookupOperand) {
|
|
749
|
+
var hasCircularOperandReference = exports.hasCircularOperandReference = function hasCircularOperandReference(targetValue, lookupOperand) {
|
|
854
750
|
var regExp = new RegExp(lookupOperand, 'gi');
|
|
855
751
|
var foundOperandReferences = targetValue.match(regExp);
|
|
856
752
|
return !!(foundOperandReferences && foundOperandReferences.length > 0);
|
|
857
753
|
};
|
|
858
|
-
|
|
859
|
-
exports.hasCircularOperandReference = hasCircularOperandReference;
|
|
860
|
-
|
|
861
|
-
var hasOperandRange = function hasOperandRange(targetValue) {
|
|
754
|
+
var hasOperandRange = exports.hasOperandRange = function hasOperandRange(targetValue) {
|
|
862
755
|
return /[A-Z]([0-9]{1,10}):[A-Z]([0-9]{1,10})/gi.test(targetValue);
|
|
863
756
|
};
|
|
757
|
+
|
|
864
758
|
/**
|
|
865
759
|
* Check for any invalid patterns inside of the formula string
|
|
866
760
|
*/
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
exports.hasOperandRange = hasOperandRange;
|
|
870
|
-
|
|
871
|
-
var validFormulaString = function validFormulaString(sourceOperand, formula) {
|
|
761
|
+
var validFormulaString = exports.validFormulaString = function validFormulaString(sourceOperand, formula) {
|
|
872
762
|
if (sourceOperand && hasCircularOperandReference(formula, sourceOperand)) {
|
|
873
763
|
return '*INVALID - Circular Reference';
|
|
874
764
|
}
|
|
875
|
-
|
|
876
765
|
var lowercaseOperands = formula.match(/[a-z]/g);
|
|
877
|
-
|
|
878
766
|
if (lowercaseOperands && lowercaseOperands.length > 0) {
|
|
879
767
|
return '*INVALID - Lowercase Letters Not Supported';
|
|
880
768
|
}
|
|
881
769
|
};
|
|
770
|
+
|
|
882
771
|
/**
|
|
883
772
|
* Spread the operand range into individual operands.
|
|
884
773
|
* For instance: SUM(A1:A4) turns into SUM(A1, A2, A3, A4);
|
|
885
774
|
*/
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
exports.validFormulaString = validFormulaString;
|
|
889
|
-
|
|
890
|
-
var spreadOperandRange = function spreadOperandRange(targetValue) {
|
|
775
|
+
var spreadOperandRange = exports.spreadOperandRange = function spreadOperandRange(targetValue) {
|
|
891
776
|
if (!hasOperandRange(targetValue)) return targetValue;
|
|
892
777
|
var operandRangeMatches = targetValue.match(/[A-Z]([0-9]{1,10}):[A-Z]([0-9]{1,10})/gi);
|
|
893
778
|
var operandRange = operandRangeMatches[0];
|
|
@@ -897,46 +782,43 @@ var spreadOperandRange = function spreadOperandRange(targetValue) {
|
|
|
897
782
|
var operandAIndex = operandA.match(/[0-9]+/gi) ? operandA.match(/[0-9]+/gi)[0] : null;
|
|
898
783
|
var operandB = operands[1];
|
|
899
784
|
var operandBLetter = operandB.match(/[A-Z]+/gi) ? operandB.match(/[A-Z]+/gi)[0] : null;
|
|
900
|
-
var operandBIndex = operandB.match(/[0-9]+/gi) ? operandB.match(/[0-9]+/gi)[0] : null;
|
|
785
|
+
var operandBIndex = operandB.match(/[0-9]+/gi) ? operandB.match(/[0-9]+/gi)[0] : null;
|
|
901
786
|
|
|
902
|
-
|
|
903
|
-
|
|
787
|
+
// If any values are missing return orignal targetValue
|
|
788
|
+
if (!operandALetter || !operandAIndex || !operandBLetter || !operandBIndex) return targetValue;
|
|
904
789
|
|
|
790
|
+
// Handle row range.
|
|
791
|
+
// For instance: C1:C8
|
|
905
792
|
if (operandALetter === operandBLetter) {
|
|
906
793
|
var columnOperand = operandALetter;
|
|
907
794
|
var startIndex = parseInt(operandAIndex, 10);
|
|
908
795
|
var endIndex = parseInt(operandBIndex, 10);
|
|
909
796
|
var operandRangeValues = operandA;
|
|
910
797
|
var i = startIndex + 1;
|
|
911
|
-
|
|
912
798
|
while (i <= endIndex) {
|
|
913
799
|
operandRangeValues += ",".concat(columnOperand).concat(i);
|
|
914
800
|
i++;
|
|
915
801
|
}
|
|
916
|
-
|
|
917
802
|
targetValue = targetValue.replace(/[A-Z](\d{1,10}):[A-Z](\d{1,10})/gi, operandRangeValues);
|
|
918
|
-
}
|
|
803
|
+
}
|
|
804
|
+
|
|
805
|
+
// Handle column range
|
|
919
806
|
// For instance, A1:D1
|
|
920
807
|
else {
|
|
921
808
|
var _startIndex = parseInt(_Table["default"].operandLetters.indexOf(operandALetter.toUpperCase()), 10);
|
|
922
|
-
|
|
923
809
|
var _endIndex = parseInt(_Table["default"].operandLetters.indexOf(operandBLetter.toUpperCase()), 10);
|
|
924
|
-
|
|
925
810
|
var _operandRangeValues = operandA;
|
|
926
|
-
|
|
927
811
|
var _i = _startIndex + 1;
|
|
928
|
-
|
|
929
812
|
while (_i <= _endIndex) {
|
|
930
813
|
var nextOperandLetter = _Table["default"].operandLetters[_i];
|
|
931
814
|
_operandRangeValues += ",".concat(nextOperandLetter).concat(operandAIndex);
|
|
932
815
|
_i++;
|
|
933
816
|
}
|
|
934
|
-
|
|
935
817
|
targetValue = targetValue.replace(/[A-Z](\d{1,10}):[A-Z](\d{1,10})/gi, _operandRangeValues);
|
|
936
818
|
}
|
|
937
|
-
|
|
938
819
|
return targetValue;
|
|
939
820
|
};
|
|
821
|
+
|
|
940
822
|
/**
|
|
941
823
|
* Primarily used for Mobile
|
|
942
824
|
*
|
|
@@ -948,11 +830,7 @@ var spreadOperandRange = function spreadOperandRange(targetValue) {
|
|
|
948
830
|
* @param {Array} rows
|
|
949
831
|
*
|
|
950
832
|
*/
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
exports.spreadOperandRange = spreadOperandRange;
|
|
954
|
-
|
|
955
|
-
var generateInputGroupFields = function generateInputGroupFields(field, columns) {
|
|
833
|
+
var generateInputGroupFields = exports.generateInputGroupFields = function generateInputGroupFields(field, columns) {
|
|
956
834
|
var rows = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [getDefaultRow()];
|
|
957
835
|
var fieldSettings = arguments.length > 3 ? arguments[3] : undefined;
|
|
958
836
|
var activity = arguments.length > 4 ? arguments[4] : undefined;
|
|
@@ -971,7 +849,6 @@ var generateInputGroupFields = function generateInputGroupFields(field, columns)
|
|
|
971
849
|
var rowOrder = getTableFieldRowOrder(field._id, fieldSettings, tableRows);
|
|
972
850
|
var sortedTableRows = sortRows(tableRows, rowOrder);
|
|
973
851
|
var cellActivityLookup = {};
|
|
974
|
-
|
|
975
852
|
if (activity && activity.length > 0) {
|
|
976
853
|
activity.forEach(function (act) {
|
|
977
854
|
var rowId = act.document.row;
|
|
@@ -981,14 +858,13 @@ var generateInputGroupFields = function generateInputGroupFields(field, columns)
|
|
|
981
858
|
cellActivityLookup[cellKey] += 1;
|
|
982
859
|
});
|
|
983
860
|
}
|
|
984
|
-
|
|
985
861
|
sortedTableRows.forEach(function (row, rowIndex) {
|
|
986
862
|
var firstRowIndex = rowIndex === 0;
|
|
987
863
|
var lastRowIndex = rowIndex === sortedTableRows.length - 1;
|
|
864
|
+
|
|
988
865
|
/**
|
|
989
866
|
* Step 1: Add InputGroup Row Header
|
|
990
867
|
*/
|
|
991
|
-
|
|
992
868
|
tableReferences.push({
|
|
993
869
|
uniqueId: "".concat(field._id).concat(row._id),
|
|
994
870
|
_id: field._id,
|
|
@@ -1001,10 +877,10 @@ var generateInputGroupFields = function generateInputGroupFields(field, columns)
|
|
|
1001
877
|
firstIndex: rowIndex === 0,
|
|
1002
878
|
lastIndex: false
|
|
1003
879
|
});
|
|
880
|
+
|
|
1004
881
|
/**
|
|
1005
882
|
* Step 2: Add Input Group Row Cells
|
|
1006
883
|
*/
|
|
1007
|
-
|
|
1008
884
|
tableColumns.forEach(function (column, columnIndex) {
|
|
1009
885
|
var lastColumnIndex = columnIndex === tableColumns.length - 1;
|
|
1010
886
|
var value = row && row.cells ? row.cells[column._id] : '';
|
|
@@ -1031,6 +907,7 @@ var generateInputGroupFields = function generateInputGroupFields(field, columns)
|
|
|
1031
907
|
});
|
|
1032
908
|
return tableReferences;
|
|
1033
909
|
};
|
|
910
|
+
|
|
1034
911
|
/**
|
|
1035
912
|
* Populate table rows with values
|
|
1036
913
|
* - Dropdown cells will have chosen values
|
|
@@ -1044,10 +921,7 @@ var generateInputGroupFields = function generateInputGroupFields(field, columns)
|
|
|
1044
921
|
* @returns
|
|
1045
922
|
*/
|
|
1046
923
|
|
|
1047
|
-
|
|
1048
|
-
exports.generateInputGroupFields = generateInputGroupFields;
|
|
1049
|
-
|
|
1050
|
-
var getTableRowLookupWithPopulatedDropdownCells = function getTableRowLookupWithPopulatedDropdownCells(columns, rows) {
|
|
924
|
+
var getTableRowLookupWithPopulatedDropdownCells = exports.getTableRowLookupWithPopulatedDropdownCells = function getTableRowLookupWithPopulatedDropdownCells(columns, rows) {
|
|
1051
925
|
var rowsLookup = {};
|
|
1052
926
|
var tableLookup = generateTableLookup(rows, columns);
|
|
1053
927
|
var validRows = getRows(rows);
|
|
@@ -1056,11 +930,9 @@ var getTableRowLookupWithPopulatedDropdownCells = function getTableRowLookupWith
|
|
|
1056
930
|
var nextRow = _objectSpread(_objectSpread({}, row), {}, {
|
|
1057
931
|
cells: _objectSpread({}, row.cells)
|
|
1058
932
|
});
|
|
1059
|
-
|
|
1060
933
|
validColumns.forEach(function (column) {
|
|
1061
934
|
var cellOperand = getCellOperand(column.operand, rowIndex + 1);
|
|
1062
935
|
var value = tableLookup[cellOperand];
|
|
1063
|
-
|
|
1064
936
|
if (value && column.type === _FieldTableColumnTypes["default"].dropdown) {
|
|
1065
937
|
nextRow.cells[column._id] = column.optionsLookup[value] ? column.optionsLookup[value].value : value;
|
|
1066
938
|
} else {
|
|
@@ -1071,6 +943,7 @@ var getTableRowLookupWithPopulatedDropdownCells = function getTableRowLookupWith
|
|
|
1071
943
|
});
|
|
1072
944
|
return rowsLookup;
|
|
1073
945
|
};
|
|
946
|
+
|
|
1074
947
|
/**
|
|
1075
948
|
* Populate inputGroup dropdown questions with chosen value
|
|
1076
949
|
*
|
|
@@ -1082,20 +955,15 @@ var getTableRowLookupWithPopulatedDropdownCells = function getTableRowLookupWith
|
|
|
1082
955
|
* @returns
|
|
1083
956
|
*/
|
|
1084
957
|
|
|
1085
|
-
|
|
1086
|
-
exports.getTableRowLookupWithPopulatedDropdownCells = getTableRowLookupWithPopulatedDropdownCells;
|
|
1087
|
-
|
|
1088
|
-
var getInputGroupRowLookupWithPopulatedDropdownCells = function getInputGroupRowLookupWithPopulatedDropdownCells(columns, rows) {
|
|
958
|
+
var getInputGroupRowLookupWithPopulatedDropdownCells = exports.getInputGroupRowLookupWithPopulatedDropdownCells = function getInputGroupRowLookupWithPopulatedDropdownCells(columns, rows) {
|
|
1089
959
|
var rowsLookup = {};
|
|
1090
960
|
var validRows = typeof rows === 'string' ? JSON.parse(rows) : rows;
|
|
1091
961
|
validRows.forEach(function (row) {
|
|
1092
962
|
var nextRow = _objectSpread(_objectSpread({}, row), {}, {
|
|
1093
963
|
cells: _objectSpread({}, row.cells)
|
|
1094
964
|
});
|
|
1095
|
-
|
|
1096
965
|
columns.forEach(function (column) {
|
|
1097
966
|
var optionId = nextRow.cells[column._id];
|
|
1098
|
-
|
|
1099
967
|
if (optionId && column.type === _FieldTableColumnTypes["default"].dropdown) {
|
|
1100
968
|
nextRow.cells[column._id] = column.optionsLookup[optionId] ? column.optionsLookup[optionId].value : optionId;
|
|
1101
969
|
}
|
|
@@ -1104,6 +972,7 @@ var getInputGroupRowLookupWithPopulatedDropdownCells = function getInputGroupRow
|
|
|
1104
972
|
});
|
|
1105
973
|
return rowsLookup;
|
|
1106
974
|
};
|
|
975
|
+
|
|
1107
976
|
/**
|
|
1108
977
|
* Generate row index lookup:
|
|
1109
978
|
* @param {*} fieldId
|
|
@@ -1111,11 +980,7 @@ var getInputGroupRowLookupWithPopulatedDropdownCells = function getInputGroupRow
|
|
|
1111
980
|
* @param {*} rows
|
|
1112
981
|
* @returns
|
|
1113
982
|
*/
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
exports.getInputGroupRowLookupWithPopulatedDropdownCells = getInputGroupRowLookupWithPopulatedDropdownCells;
|
|
1117
|
-
|
|
1118
|
-
var getRowIndexLookup = function getRowIndexLookup(fieldId, fieldSettings, rows) {
|
|
983
|
+
var getRowIndexLookup = exports.getRowIndexLookup = function getRowIndexLookup(fieldId, fieldSettings, rows) {
|
|
1119
984
|
var rowOrder = getTableFieldRowOrder(fieldId, fieldSettings, rows);
|
|
1120
985
|
var rowIndexLookup = {};
|
|
1121
986
|
rowOrder.forEach(function (rowId, index) {
|
|
@@ -1123,6 +988,7 @@ var getRowIndexLookup = function getRowIndexLookup(fieldId, fieldSettings, rows)
|
|
|
1123
988
|
});
|
|
1124
989
|
return rowIndexLookup;
|
|
1125
990
|
};
|
|
991
|
+
|
|
1126
992
|
/**
|
|
1127
993
|
* Handle Table Cell Change
|
|
1128
994
|
*
|
|
@@ -1132,17 +998,14 @@ var getRowIndexLookup = function getRowIndexLookup(fieldId, fieldSettings, rows)
|
|
|
1132
998
|
* @param {String} value
|
|
1133
999
|
* @param {Func} callback
|
|
1134
1000
|
*/
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
exports.getRowIndexLookup = getRowIndexLookup;
|
|
1138
|
-
|
|
1139
|
-
var handleTableCellChange = function handleTableCellChange(rows, rowId, columnId, val, callback) {
|
|
1001
|
+
var handleTableCellChange = exports.handleTableCellChange = function handleTableCellChange(rows, rowId, columnId, val, callback) {
|
|
1140
1002
|
var targetRowIndex = rows.findIndex(function (row) {
|
|
1141
1003
|
return row._id === rowId;
|
|
1142
1004
|
});
|
|
1143
1005
|
var row = rows[targetRowIndex];
|
|
1144
|
-
var cells = row ? row.cells : {};
|
|
1006
|
+
var cells = row ? row.cells : {};
|
|
1145
1007
|
|
|
1008
|
+
//Only save data if value has changed
|
|
1146
1009
|
if (cells[columnId] !== val && callback) {
|
|
1147
1010
|
callback({
|
|
1148
1011
|
targetRowIndex: targetRowIndex,
|
|
@@ -1153,39 +1016,34 @@ var handleTableCellChange = function handleTableCellChange(rows, rowId, columnId
|
|
|
1153
1016
|
});
|
|
1154
1017
|
}
|
|
1155
1018
|
};
|
|
1019
|
+
|
|
1156
1020
|
/**
|
|
1157
1021
|
* Handle Insert Table Row
|
|
1158
1022
|
*
|
|
1159
1023
|
* @param {Number} rowIndex
|
|
1160
1024
|
* @param {Func} callback
|
|
1161
1025
|
*/
|
|
1162
|
-
|
|
1163
|
-
|
|
1164
|
-
exports.handleTableCellChange = handleTableCellChange;
|
|
1165
|
-
|
|
1166
|
-
var handleInsertTableRow = function handleInsertTableRow(rowIndex, callback) {
|
|
1026
|
+
var handleInsertTableRow = exports.handleInsertTableRow = function handleInsertTableRow(rowIndex, callback) {
|
|
1167
1027
|
if (callback) callback({
|
|
1168
1028
|
targetRowIndex: rowIndex + 1,
|
|
1169
1029
|
row: getDefaultRow()
|
|
1170
1030
|
});
|
|
1171
1031
|
};
|
|
1032
|
+
|
|
1172
1033
|
/**
|
|
1173
1034
|
* Handle Create New Table Row
|
|
1174
1035
|
*
|
|
1175
1036
|
* @param {Array} rows //List of current table rows
|
|
1176
1037
|
* @param {Func} callback
|
|
1177
1038
|
*/
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
exports.handleInsertTableRow = handleInsertTableRow;
|
|
1181
|
-
|
|
1182
|
-
var handleCreateTableRow = function handleCreateTableRow(rows, callback) {
|
|
1039
|
+
var handleCreateTableRow = exports.handleCreateTableRow = function handleCreateTableRow(rows, callback) {
|
|
1183
1040
|
var targetRowIndex = rows.length;
|
|
1184
1041
|
if (callback) callback({
|
|
1185
1042
|
targetRowIndex: targetRowIndex,
|
|
1186
1043
|
row: getDefaultRow()
|
|
1187
1044
|
});
|
|
1188
1045
|
};
|
|
1046
|
+
|
|
1189
1047
|
/**
|
|
1190
1048
|
* Handle Duplicate Table Row
|
|
1191
1049
|
*
|
|
@@ -1194,11 +1052,7 @@ var handleCreateTableRow = function handleCreateTableRow(rows, callback) {
|
|
|
1194
1052
|
* @param {Number} rowIndex
|
|
1195
1053
|
* @param {Func} callback
|
|
1196
1054
|
*/
|
|
1197
|
-
|
|
1198
|
-
|
|
1199
|
-
exports.handleCreateTableRow = handleCreateTableRow;
|
|
1200
|
-
|
|
1201
|
-
var handleDuplicateTableRow = function handleDuplicateTableRow(rows, rowId, rowIndex, callback) {
|
|
1055
|
+
var handleDuplicateTableRow = exports.handleDuplicateTableRow = function handleDuplicateTableRow(rows, rowId, rowIndex, callback) {
|
|
1202
1056
|
var duplicateRow = rows.find(function (row) {
|
|
1203
1057
|
return row._id === rowId;
|
|
1204
1058
|
});
|
|
@@ -1210,17 +1064,14 @@ var handleDuplicateTableRow = function handleDuplicateTableRow(rows, rowId, rowI
|
|
|
1210
1064
|
row: newRow
|
|
1211
1065
|
});
|
|
1212
1066
|
};
|
|
1067
|
+
|
|
1213
1068
|
/**
|
|
1214
1069
|
* Handle Move Table Row Up
|
|
1215
1070
|
*
|
|
1216
1071
|
* @param {Number} rowIndex
|
|
1217
1072
|
* @param {Func} callback
|
|
1218
1073
|
*/
|
|
1219
|
-
|
|
1220
|
-
|
|
1221
|
-
exports.handleDuplicateTableRow = handleDuplicateTableRow;
|
|
1222
|
-
|
|
1223
|
-
var handleMoveTableRowUp = function handleMoveTableRowUp(rowIndex, callback) {
|
|
1074
|
+
var handleMoveTableRowUp = exports.handleMoveTableRowUp = function handleMoveTableRowUp(rowIndex, callback) {
|
|
1224
1075
|
//If first row then ignore
|
|
1225
1076
|
if (rowIndex === 0) return;
|
|
1226
1077
|
var targetRowIndex = rowIndex - 1;
|
|
@@ -1228,6 +1079,7 @@ var handleMoveTableRowUp = function handleMoveTableRowUp(rowIndex, callback) {
|
|
|
1228
1079
|
targetRowIndex: targetRowIndex
|
|
1229
1080
|
});
|
|
1230
1081
|
};
|
|
1082
|
+
|
|
1231
1083
|
/**
|
|
1232
1084
|
* Handle Move Table Row Down
|
|
1233
1085
|
*
|
|
@@ -1235,11 +1087,7 @@ var handleMoveTableRowUp = function handleMoveTableRowUp(rowIndex, callback) {
|
|
|
1235
1087
|
* @param {Number} rowIndex
|
|
1236
1088
|
* @param {Func} callback
|
|
1237
1089
|
*/
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
exports.handleMoveTableRowUp = handleMoveTableRowUp;
|
|
1241
|
-
|
|
1242
|
-
var handleMoveTableRowDown = function handleMoveTableRowDown(rows, rowIndex, callback) {
|
|
1090
|
+
var handleMoveTableRowDown = exports.handleMoveTableRowDown = function handleMoveTableRowDown(rows, rowIndex, callback) {
|
|
1243
1091
|
//If last row then ignore
|
|
1244
1092
|
if (rowIndex >= rows.length - 1) return;
|
|
1245
1093
|
var targetRowIndex = rowIndex + 1;
|
|
@@ -1247,9 +1095,7 @@ var handleMoveTableRowDown = function handleMoveTableRowDown(rows, rowIndex, cal
|
|
|
1247
1095
|
targetRowIndex: targetRowIndex
|
|
1248
1096
|
});
|
|
1249
1097
|
};
|
|
1250
|
-
|
|
1251
|
-
exports.handleMoveTableRowDown = handleMoveTableRowDown;
|
|
1252
|
-
var _default = {
|
|
1098
|
+
var _default = exports["default"] = {
|
|
1253
1099
|
generateTableLookup: generateTableLookup,
|
|
1254
1100
|
generateTableLookupForRows: generateTableLookupForRows,
|
|
1255
1101
|
generateInputGroupFields: generateInputGroupFields,
|
|
@@ -1291,5 +1137,4 @@ var _default = {
|
|
|
1291
1137
|
handleMoveTableRowDown: handleMoveTableRowDown,
|
|
1292
1138
|
FieldTableColumnTypes: _FieldTableColumnTypes["default"],
|
|
1293
1139
|
FieldTableCustomColumnIds: _FieldTableCustomColumnIds["default"]
|
|
1294
|
-
};
|
|
1295
|
-
exports["default"] = _default;
|
|
1140
|
+
};
|