@builttocreate/engine-utils 1.0.1 → 1.0.3
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 +139 -4
- 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.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.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
|
|
|
@@ -544,22 +544,27 @@ var generateInputGroupFields = function generateInputGroupFields(field, columns)
|
|
|
544
544
|
var rowOrder = getTableFieldRowOrder(field._id, fieldSettings, tableRows);
|
|
545
545
|
var sortedTableRows = sortRows(tableRows, rowOrder);
|
|
546
546
|
sortedTableRows.forEach(function (row, rowIndex) {
|
|
547
|
+
var lastRowIndex = rowIndex === sortedTableRows.length - 1;
|
|
547
548
|
/**
|
|
548
549
|
* Step 1: Add InputGroup Row Header
|
|
549
550
|
*/
|
|
551
|
+
|
|
550
552
|
tableReferences.push({
|
|
551
553
|
uniqueId: "".concat(field._id, "-").concat(row._id),
|
|
552
554
|
_id: field._id,
|
|
553
555
|
title: field.title,
|
|
554
556
|
type: _Table.inputGroupFieldTypes.inputGroupRowHeader,
|
|
555
557
|
rowIndex: rowIndex,
|
|
556
|
-
rowId: row._id
|
|
558
|
+
rowId: row._id,
|
|
559
|
+
firstIndex: rowIndex === 0,
|
|
560
|
+
lastIndex: false
|
|
557
561
|
});
|
|
558
562
|
/**
|
|
559
563
|
* Step 2: Add Input Group Row Cells
|
|
560
564
|
*/
|
|
561
565
|
|
|
562
566
|
tableColumns.forEach(function (column, columnIndex) {
|
|
567
|
+
var lastColumnIndex = columnIndex === tableColumns.length - 1;
|
|
563
568
|
var value = row && row.cells ? row.cells[column._id] : '';
|
|
564
569
|
var displayValue = column.type === _FieldTableColumnTypes["default"].dropdown ? columnOptionValueLookup[column._id][value] : value;
|
|
565
570
|
tableReferences.push({
|
|
@@ -572,14 +577,138 @@ var generateInputGroupFields = function generateInputGroupFields(field, columns)
|
|
|
572
577
|
columnId: column._id,
|
|
573
578
|
columnIndex: columnIndex,
|
|
574
579
|
value: value,
|
|
575
|
-
displayValue: displayValue
|
|
580
|
+
displayValue: displayValue,
|
|
581
|
+
firstIndex: false,
|
|
582
|
+
lastIndex: lastRowIndex && lastColumnIndex
|
|
576
583
|
});
|
|
577
584
|
});
|
|
578
585
|
});
|
|
579
586
|
return tableReferences;
|
|
580
587
|
};
|
|
588
|
+
/**
|
|
589
|
+
* Handle Table Cell Change
|
|
590
|
+
*
|
|
591
|
+
* @param {Array} rows //List of current table rows
|
|
592
|
+
* @param {String} rowId
|
|
593
|
+
* @param {String} columnId
|
|
594
|
+
* @param {String} value
|
|
595
|
+
* @param {Func} callback
|
|
596
|
+
*/
|
|
597
|
+
|
|
581
598
|
|
|
582
599
|
exports.generateInputGroupFields = generateInputGroupFields;
|
|
600
|
+
|
|
601
|
+
var handleTableCellChange = function handleTableCellChange(rows, rowId, columnId, val, callback) {
|
|
602
|
+
var row = rows.find(function (row) {
|
|
603
|
+
return row._id === rowId;
|
|
604
|
+
});
|
|
605
|
+
var cells = row ? row.cells : {}; //Only save data if value has changed
|
|
606
|
+
|
|
607
|
+
if (cells[columnId] !== val && callback) {
|
|
608
|
+
callback({
|
|
609
|
+
row: {
|
|
610
|
+
_id: rowId,
|
|
611
|
+
cells: (0, _defineProperty2["default"])({}, columnId, val)
|
|
612
|
+
}
|
|
613
|
+
});
|
|
614
|
+
}
|
|
615
|
+
};
|
|
616
|
+
/**
|
|
617
|
+
* Handle Insert Table Row
|
|
618
|
+
*
|
|
619
|
+
* @param {Number} rowIndex
|
|
620
|
+
* @param {Func} callback
|
|
621
|
+
*/
|
|
622
|
+
|
|
623
|
+
|
|
624
|
+
exports.handleTableCellChange = handleTableCellChange;
|
|
625
|
+
|
|
626
|
+
var handleInsertTableRow = function handleInsertTableRow(rowIndex, callback) {
|
|
627
|
+
if (callback) callback({
|
|
628
|
+
targetRowIndex: rowIndex + 1,
|
|
629
|
+
row: getDefaultRow()
|
|
630
|
+
});
|
|
631
|
+
};
|
|
632
|
+
/**
|
|
633
|
+
* Handle Create New Table Row
|
|
634
|
+
*
|
|
635
|
+
* @param {Array} rows //List of current table rows
|
|
636
|
+
* @param {Func} callback
|
|
637
|
+
*/
|
|
638
|
+
|
|
639
|
+
|
|
640
|
+
exports.handleInsertTableRow = handleInsertTableRow;
|
|
641
|
+
|
|
642
|
+
var handleCreateTableRow = function handleCreateTableRow(rows, callback) {
|
|
643
|
+
var targetRowIndex = rows.length;
|
|
644
|
+
if (callback) callback({
|
|
645
|
+
targetRowIndex: targetRowIndex,
|
|
646
|
+
row: getDefaultRow()
|
|
647
|
+
});
|
|
648
|
+
};
|
|
649
|
+
/**
|
|
650
|
+
* Handle Duplicate Table Row
|
|
651
|
+
*
|
|
652
|
+
* @param {Array} rows //List of current table rows
|
|
653
|
+
* @param {String} rowId
|
|
654
|
+
* @param {Number} rowIndex
|
|
655
|
+
* @param {Func} callback
|
|
656
|
+
*/
|
|
657
|
+
|
|
658
|
+
|
|
659
|
+
exports.handleCreateTableRow = handleCreateTableRow;
|
|
660
|
+
|
|
661
|
+
var handleDuplicateTableRow = function handleDuplicateTableRow(rows, rowId, rowIndex, callback) {
|
|
662
|
+
var duplicateRow = rows.find(function (row) {
|
|
663
|
+
return row._id === rowId;
|
|
664
|
+
});
|
|
665
|
+
var newRow = getDefaultRow();
|
|
666
|
+
newRow.cells = duplicateRow && duplicateRow.cells ? _objectSpread({}, duplicateRow.cells) : {};
|
|
667
|
+
var targetRowIndex = rowIndex + 1;
|
|
668
|
+
if (callback) callback({
|
|
669
|
+
targetRowIndex: targetRowIndex,
|
|
670
|
+
row: newRow
|
|
671
|
+
});
|
|
672
|
+
};
|
|
673
|
+
/**
|
|
674
|
+
* Handle Duplicate Table Row
|
|
675
|
+
*
|
|
676
|
+
* @param {Number} rowIndex
|
|
677
|
+
* @param {Func} callback
|
|
678
|
+
*/
|
|
679
|
+
|
|
680
|
+
|
|
681
|
+
exports.handleDuplicateTableRow = handleDuplicateTableRow;
|
|
682
|
+
|
|
683
|
+
var handleMoveTableRowUp = function handleMoveTableRowUp(rowIndex, callback) {
|
|
684
|
+
//If first row then ignore
|
|
685
|
+
if (rowIndex === 0) return;
|
|
686
|
+
var targetRowIndex = rowIndex - 1;
|
|
687
|
+
if (callback) callback({
|
|
688
|
+
targetRowIndex: targetRowIndex
|
|
689
|
+
});
|
|
690
|
+
};
|
|
691
|
+
/**
|
|
692
|
+
* Handle Duplicate Table Row
|
|
693
|
+
*
|
|
694
|
+
* @param {Array} rows
|
|
695
|
+
* @param {Number} rowIndex
|
|
696
|
+
* @param {Func} callback
|
|
697
|
+
*/
|
|
698
|
+
|
|
699
|
+
|
|
700
|
+
exports.handleMoveTableRowUp = handleMoveTableRowUp;
|
|
701
|
+
|
|
702
|
+
var handleMoveTableRowDown = function handleMoveTableRowDown(rows, rowIndex, callback) {
|
|
703
|
+
//If last row then ignore
|
|
704
|
+
if (rowIndex >= rows.length - 1) return;
|
|
705
|
+
var targetRowIndex = rowIndex + 1;
|
|
706
|
+
if (callback) callback({
|
|
707
|
+
targetRowIndex: targetRowIndex
|
|
708
|
+
});
|
|
709
|
+
};
|
|
710
|
+
|
|
711
|
+
exports.handleMoveTableRowDown = handleMoveTableRowDown;
|
|
583
712
|
var _default = {
|
|
584
713
|
generateTableLookup: generateTableLookup,
|
|
585
714
|
generateRowTableLookup: generateRowTableLookup,
|
|
@@ -597,6 +726,12 @@ var _default = {
|
|
|
597
726
|
hasOperandRange: hasOperandRange,
|
|
598
727
|
spreadOperandRange: spreadOperandRange,
|
|
599
728
|
getTableFieldLookupKey: getTableFieldLookupKey,
|
|
600
|
-
getTableFieldRowOrder: getTableFieldRowOrder
|
|
729
|
+
getTableFieldRowOrder: getTableFieldRowOrder,
|
|
730
|
+
handleTableCellChange: handleTableCellChange,
|
|
731
|
+
handleInsertTableRow: handleInsertTableRow,
|
|
732
|
+
handleCreateTableRow: handleCreateTableRow,
|
|
733
|
+
handleDuplicateTableRow: handleDuplicateTableRow,
|
|
734
|
+
handleMoveTableRowUp: handleMoveTableRowUp,
|
|
735
|
+
handleMoveTableRowDown: handleMoveTableRowDown
|
|
601
736
|
};
|
|
602
737
|
exports["default"] = _default;
|