@builttocreate/engine-utils 1.1.1 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/constants/Table.js +56 -1
- package/dist/tableHelper.js +36 -49
- package/package.json +1 -1
package/dist/constants/Table.js
CHANGED
|
@@ -3,7 +3,62 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports["default"] = exports.inputGroupFieldTypes = exports.viewTypes = exports.operandLetters = void 0;
|
|
6
|
+
exports["default"] = exports.inputGroupFieldTypes = exports.viewTypes = exports.operandLetters = exports.operandLetterIndexes = void 0;
|
|
7
|
+
var operandLetterIndexes = {
|
|
8
|
+
'A': 0,
|
|
9
|
+
'B': 1,
|
|
10
|
+
'C': 2,
|
|
11
|
+
'D': 3,
|
|
12
|
+
'E': 4,
|
|
13
|
+
'F': 5,
|
|
14
|
+
'G': 6,
|
|
15
|
+
'H': 7,
|
|
16
|
+
'I': 8,
|
|
17
|
+
'J': 9,
|
|
18
|
+
'K': 10,
|
|
19
|
+
'L': 11,
|
|
20
|
+
'M': 12,
|
|
21
|
+
'N': 13,
|
|
22
|
+
'O': 14,
|
|
23
|
+
'P': 15,
|
|
24
|
+
'Q': 16,
|
|
25
|
+
'R': 17,
|
|
26
|
+
'S': 18,
|
|
27
|
+
'T': 19,
|
|
28
|
+
'U': 20,
|
|
29
|
+
'V': 21,
|
|
30
|
+
'W': 22,
|
|
31
|
+
'X': 23,
|
|
32
|
+
'Y': 24,
|
|
33
|
+
'Z': 25,
|
|
34
|
+
'AA': 26,
|
|
35
|
+
'AB': 27,
|
|
36
|
+
'AC': 28,
|
|
37
|
+
'AD': 29,
|
|
38
|
+
'AE': 30,
|
|
39
|
+
'AF': 31,
|
|
40
|
+
'AG': 32,
|
|
41
|
+
'AH': 33,
|
|
42
|
+
'AI': 34,
|
|
43
|
+
'AJ': 35,
|
|
44
|
+
'AK': 36,
|
|
45
|
+
'AL': 37,
|
|
46
|
+
'AM': 38,
|
|
47
|
+
'AN': 39,
|
|
48
|
+
'AO': 40,
|
|
49
|
+
'AP': 41,
|
|
50
|
+
'AQ': 42,
|
|
51
|
+
'AR': 43,
|
|
52
|
+
'AS': 44,
|
|
53
|
+
'AT': 45,
|
|
54
|
+
'AU': 46,
|
|
55
|
+
'AV': 47,
|
|
56
|
+
'AW': 48,
|
|
57
|
+
'AX': 49,
|
|
58
|
+
'AY': 50,
|
|
59
|
+
'AZ': 51
|
|
60
|
+
};
|
|
61
|
+
exports.operandLetterIndexes = operandLetterIndexes;
|
|
7
62
|
var operandLetters = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'AA', 'AB', 'AC', 'AD', 'AE', 'AF', 'AG', 'AH', 'AI', 'AJ', 'AK', 'AL', 'AM', 'AN', 'AO', 'AP', 'AQ', 'AR', 'AS', 'AT', 'AU', 'AV', 'AW', 'AX', 'AY', 'AZ'];
|
|
8
63
|
exports.operandLetters = operandLetters;
|
|
9
64
|
var viewTypes = {
|
package/dist/tableHelper.js
CHANGED
|
@@ -7,7 +7,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
7
7
|
Object.defineProperty(exports, "__esModule", {
|
|
8
8
|
value: true
|
|
9
9
|
});
|
|
10
|
-
exports["default"] = exports.handleMoveTableRowDown = exports.handleMoveTableRowUp = exports.handleDuplicateTableRow = exports.handleCreateTableRow = exports.handleInsertTableRow = exports.handleTableCellChange = exports.generateInputGroupFields = exports.spreadOperandRange = exports.validFormulaString = exports.hasOperandRange = exports.hasCircularOperandReference = exports.resolveOperandValue = exports.getFormulaResult = exports.generateTableLookup = exports.generateTableLookupForRows = exports.generateTableFieldLookups = exports.generateRowTableLookup = exports.getCellOperand = exports.getTemplateColumnOperandLookup = exports.getColumnOperand = exports.getColumns = exports.getTableFieldRowOrder = exports.getRowMap = exports.sortRows = exports.getRows = exports.getDefaultRow = exports.getTableFieldLookupKey = void 0;
|
|
10
|
+
exports["default"] = exports.handleMoveTableRowDown = exports.handleMoveTableRowUp = exports.handleDuplicateTableRow = exports.handleCreateTableRow = exports.handleInsertTableRow = exports.handleTableCellChange = exports.generateInputGroupFields = exports.spreadOperandRange = exports.validFormulaString = exports.hasOperandRange = exports.hasCircularOperandReference = exports.resolveOperandValue = exports.getFormulaResult = exports.generateTableLookup = exports.generateTableLookupForRows = exports.generateTableFieldLookups = exports.generateRowTableLookup = exports.getCellOperand = exports.getTemplateColumnOperandLookup = exports.getIndexesFromTableCellOperand = exports.getColumnOperand = exports.getColumns = exports.getTableFieldRowOrder = exports.getRowMap = exports.sortRows = exports.getRows = exports.getDefaultRow = exports.getTableFieldLookupKey = void 0;
|
|
11
11
|
|
|
12
12
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
13
|
|
|
@@ -158,6 +158,36 @@ exports.getColumns = getColumns;
|
|
|
158
158
|
var getColumnOperand = function getColumnOperand(index) {
|
|
159
159
|
return String.fromCharCode(65 + index);
|
|
160
160
|
};
|
|
161
|
+
/**
|
|
162
|
+
* Return rowIndex and columnIndex for cellOperand
|
|
163
|
+
*
|
|
164
|
+
* Operand examples: A1, B12, etc.
|
|
165
|
+
*
|
|
166
|
+
* @param {String} cellOperand
|
|
167
|
+
* @returns {Object}
|
|
168
|
+
*/
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
exports.getColumnOperand = getColumnOperand;
|
|
172
|
+
|
|
173
|
+
var getIndexesFromTableCellOperand = function getIndexesFromTableCellOperand(cellOperand) {
|
|
174
|
+
var letter = cellOperand.match(/[A-Z]*/gi).find(function (value) {
|
|
175
|
+
return value;
|
|
176
|
+
});
|
|
177
|
+
var rowIndex = cellOperand.match(/[0-9]*/gi).find(function (value) {
|
|
178
|
+
return value;
|
|
179
|
+
});
|
|
180
|
+
return {
|
|
181
|
+
columnIndex: _Table.operandLetterIndexes[letter],
|
|
182
|
+
|
|
183
|
+
/**
|
|
184
|
+
* Cell operands start at an index of 1. So to get the true
|
|
185
|
+
* index for the rowIndex we need to substract 1 so we can
|
|
186
|
+
* use a 0 based index.
|
|
187
|
+
*/
|
|
188
|
+
rowIndex: rowIndex - 1
|
|
189
|
+
};
|
|
190
|
+
};
|
|
161
191
|
/**
|
|
162
192
|
* Get operand lookup for all table/inputGroup fields in a template.
|
|
163
193
|
*
|
|
@@ -168,7 +198,7 @@ var getColumnOperand = function getColumnOperand(index) {
|
|
|
168
198
|
*/
|
|
169
199
|
|
|
170
200
|
|
|
171
|
-
exports.
|
|
201
|
+
exports.getIndexesFromTableCellOperand = getIndexesFromTableCellOperand;
|
|
172
202
|
|
|
173
203
|
var getTemplateColumnOperandLookup = function getTemplateColumnOperandLookup(template) {
|
|
174
204
|
var operandLookup = {};
|
|
@@ -303,7 +333,9 @@ var generateTableLookupForRows = function generateTableLookupForRows(rows, colum
|
|
|
303
333
|
var tableLookup = generateTableLookup(rows, columns);
|
|
304
334
|
var rowLookup = {};
|
|
305
335
|
Object.keys(tableLookup).forEach(function (key) {
|
|
306
|
-
var rowIndex = key.match(/[0-9]*/gi)
|
|
336
|
+
var rowIndex = key.match(/[0-9]*/gi).find(function (value) {
|
|
337
|
+
return value;
|
|
338
|
+
});
|
|
307
339
|
if (!rowLookup[rowIndex]) rowLookup[rowIndex] = {};
|
|
308
340
|
rowLookup[rowIndex][key] = tableLookup[key];
|
|
309
341
|
});
|
|
@@ -746,52 +778,6 @@ var handleMoveTableRowDown = function handleMoveTableRowDown(rows, rowIndex, cal
|
|
|
746
778
|
targetRowIndex: targetRowIndex
|
|
747
779
|
});
|
|
748
780
|
};
|
|
749
|
-
/**
|
|
750
|
-
* Get cell position lookup for table field data
|
|
751
|
-
*
|
|
752
|
-
* @param {Array} columns
|
|
753
|
-
* @param {Array} rows
|
|
754
|
-
* @param {Object} columnWidthLookup = { rowMenu: 20, rowNumber: 20, dropdown: 100, text: 100 }
|
|
755
|
-
* @return {Object}
|
|
756
|
-
*
|
|
757
|
-
*/
|
|
758
|
-
|
|
759
|
-
/*const getTableFieldCellPositionLookup = (columns, rows, columnWidthLookup) => {
|
|
760
|
-
|
|
761
|
-
const columns = getColumns([...columns]);
|
|
762
|
-
const rows = getRows(rows);
|
|
763
|
-
|
|
764
|
-
const rowMenuColumnWidth = columnWidthLookup[FieldTableCustomColumnIds.rowMenu] || 0;
|
|
765
|
-
const rowNumberColumnWidth = columnWidthLookup[FieldTableCustomColumnIds.rowNumber] || 0;
|
|
766
|
-
const startingColumnWidth = rowMenuColumnWidth + rowNumberColumnWidth;
|
|
767
|
-
|
|
768
|
-
const cellLookup = {};
|
|
769
|
-
|
|
770
|
-
if (rows && rows.length > 0) {
|
|
771
|
-
rows.forEach((row, rowIndex) => {
|
|
772
|
-
columns.forEach((column, columnIndex) => {
|
|
773
|
-
|
|
774
|
-
const columnWidth = column.type === FieldTableColumnTypes.text ?
|
|
775
|
-
columnWidthLookup[FieldTableColumnTypes.text] : columnWidthLookup[FieldTableColumnTypes.dropdown];
|
|
776
|
-
|
|
777
|
-
cellLookup[`${rowIndex}-${columnIndex}`] = {
|
|
778
|
-
rowId: row._id,
|
|
779
|
-
rowIndex,
|
|
780
|
-
columnX: startingColumnWidth + (columnIndex * columnWidth),
|
|
781
|
-
columnId: column._id,
|
|
782
|
-
columnType: column.type
|
|
783
|
-
};
|
|
784
|
-
|
|
785
|
-
});
|
|
786
|
-
|
|
787
|
-
});
|
|
788
|
-
|
|
789
|
-
}
|
|
790
|
-
|
|
791
|
-
return cellLookup;
|
|
792
|
-
|
|
793
|
-
}*/
|
|
794
|
-
|
|
795
781
|
|
|
796
782
|
exports.handleMoveTableRowDown = handleMoveTableRowDown;
|
|
797
783
|
var _default = {
|
|
@@ -800,6 +786,7 @@ var _default = {
|
|
|
800
786
|
generateInputGroupFields: generateInputGroupFields,
|
|
801
787
|
getColumnOperand: getColumnOperand,
|
|
802
788
|
getCellOperand: getCellOperand,
|
|
789
|
+
getIndexesFromTableCellOperand: getIndexesFromTableCellOperand,
|
|
803
790
|
getRows: getRows,
|
|
804
791
|
getDefaultRow: getDefaultRow,
|
|
805
792
|
getRowMap: getRowMap,
|