@builttocreate/engine-utils 1.0.4 → 1.1.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/tableHelper.js +93 -11
- package/package.json +1 -1
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.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.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
|
|
|
@@ -66,15 +66,16 @@ var getRows = function getRows(rows) {
|
|
|
66
66
|
exports.getRows = getRows;
|
|
67
67
|
|
|
68
68
|
var sortRows = function sortRows(rows, rowOrder) {
|
|
69
|
+
if (!rowOrder) return rows;
|
|
69
70
|
var rowLookup = {};
|
|
70
71
|
rows.forEach(function (row) {
|
|
71
|
-
|
|
72
|
+
rowLookup[row._id] = row;
|
|
72
73
|
});
|
|
73
|
-
var
|
|
74
|
+
var sortedRows = [];
|
|
74
75
|
rowOrder.forEach(function (rowId) {
|
|
75
|
-
if (rowLookup[rowId])
|
|
76
|
+
if (rowLookup[rowId]) sortedRows.push(rowLookup[rowId]);
|
|
76
77
|
});
|
|
77
|
-
return
|
|
78
|
+
return sortedRows;
|
|
78
79
|
};
|
|
79
80
|
/**
|
|
80
81
|
* Create a table row map for simple value lookup
|
|
@@ -274,6 +275,40 @@ var generateTableFieldLookups = function generateTableFieldLookups(doc, template
|
|
|
274
275
|
});
|
|
275
276
|
return tableLookups;
|
|
276
277
|
};
|
|
278
|
+
/**
|
|
279
|
+
* Organize the table lookup on a row by row basis
|
|
280
|
+
* @param {Array} rows
|
|
281
|
+
* @param {Array} columns
|
|
282
|
+
* @retuns {Object}
|
|
283
|
+
*
|
|
284
|
+
* Example return object:
|
|
285
|
+
* {
|
|
286
|
+
* 1: {
|
|
287
|
+
* A1: 12,
|
|
288
|
+
* B1: 1,
|
|
289
|
+
* },
|
|
290
|
+
* 2: {
|
|
291
|
+
* A2: 10,
|
|
292
|
+
* B2: 4,
|
|
293
|
+
* },
|
|
294
|
+
* ...
|
|
295
|
+
* }
|
|
296
|
+
*
|
|
297
|
+
*/
|
|
298
|
+
|
|
299
|
+
|
|
300
|
+
exports.generateTableFieldLookups = generateTableFieldLookups;
|
|
301
|
+
|
|
302
|
+
var generateTableLookupForRows = function generateTableLookupForRows(rows, columns) {
|
|
303
|
+
var tableLookup = generateTableLookup(rows, columns);
|
|
304
|
+
var rowLookup = {};
|
|
305
|
+
Object.keys(tableLookup).forEach(function (key) {
|
|
306
|
+
var rowIndex = key.match(/[0-9]*/gi)[1];
|
|
307
|
+
if (!rowLookup[rowIndex]) rowLookup[rowIndex] = {};
|
|
308
|
+
rowLookup[rowIndex][key] = tableLookup[key];
|
|
309
|
+
});
|
|
310
|
+
return rowLookup;
|
|
311
|
+
};
|
|
277
312
|
/**
|
|
278
313
|
* Generate Lookup Operand Lookup Table for Table Data. Supports converting
|
|
279
314
|
* formula cells to the calculated value.
|
|
@@ -291,11 +326,10 @@ var generateTableFieldLookups = function generateTableFieldLookups(doc, template
|
|
|
291
326
|
* A2: 2,
|
|
292
327
|
* B2: 4,
|
|
293
328
|
* }
|
|
294
|
-
*
|
|
295
329
|
*/
|
|
296
330
|
|
|
297
331
|
|
|
298
|
-
exports.
|
|
332
|
+
exports.generateTableLookupForRows = generateTableLookupForRows;
|
|
299
333
|
|
|
300
334
|
var generateTableLookup = function generateTableLookup(rows, columns) {
|
|
301
335
|
var tableLookup = {};
|
|
@@ -337,8 +371,8 @@ var generateTableLookup = function generateTableLookup(rows, columns) {
|
|
|
337
371
|
} else if (cellValue && formulaCell && containsOperands) {
|
|
338
372
|
formulaCells.push(cellKey);
|
|
339
373
|
tableLookup[cellKey] = cellValue;
|
|
340
|
-
} else
|
|
341
|
-
tableLookup[cellKey] = cellValue;
|
|
374
|
+
} else {
|
|
375
|
+
tableLookup[cellKey] = cellValue || '';
|
|
342
376
|
}
|
|
343
377
|
});
|
|
344
378
|
});
|
|
@@ -712,11 +746,57 @@ var handleMoveTableRowDown = function handleMoveTableRowDown(rows, rowIndex, cal
|
|
|
712
746
|
targetRowIndex: targetRowIndex
|
|
713
747
|
});
|
|
714
748
|
};
|
|
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
|
+
|
|
715
795
|
|
|
716
796
|
exports.handleMoveTableRowDown = handleMoveTableRowDown;
|
|
717
797
|
var _default = {
|
|
718
798
|
generateTableLookup: generateTableLookup,
|
|
719
|
-
|
|
799
|
+
generateTableLookupForRows: generateTableLookupForRows,
|
|
720
800
|
generateInputGroupFields: generateInputGroupFields,
|
|
721
801
|
getColumnOperand: getColumnOperand,
|
|
722
802
|
getCellOperand: getCellOperand,
|
|
@@ -737,6 +817,8 @@ var _default = {
|
|
|
737
817
|
handleCreateTableRow: handleCreateTableRow,
|
|
738
818
|
handleDuplicateTableRow: handleDuplicateTableRow,
|
|
739
819
|
handleMoveTableRowUp: handleMoveTableRowUp,
|
|
740
|
-
handleMoveTableRowDown: handleMoveTableRowDown
|
|
820
|
+
handleMoveTableRowDown: handleMoveTableRowDown,
|
|
821
|
+
FieldTableColumnTypes: _FieldTableColumnTypes["default"],
|
|
822
|
+
FieldTableCustomColumnIds: _FieldTableCustomColumnIds["default"]
|
|
741
823
|
};
|
|
742
824
|
exports["default"] = _default;
|