@builttocreate/engine-utils 1.0.1 → 1.0.2

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.
Files changed (2) hide show
  1. package/dist/tableHelper.js +130 -2
  2. package/package.json +1 -1
@@ -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
 
@@ -578,8 +578,130 @@ var generateInputGroupFields = function generateInputGroupFields(field, columns)
578
578
  });
579
579
  return tableReferences;
580
580
  };
581
+ /**
582
+ * Handle Table Cell Change
583
+ *
584
+ * @param {Array} rows //List of current table rows
585
+ * @param {String} rowId
586
+ * @param {String} columnId
587
+ * @param {String} value
588
+ * @param {Func} callback
589
+ */
590
+
581
591
 
582
592
  exports.generateInputGroupFields = generateInputGroupFields;
593
+
594
+ var handleTableCellChange = function handleTableCellChange(rows, rowId, columnId, val, callback) {
595
+ var row = rows.find(function (row) {
596
+ return row._id === rowId;
597
+ });
598
+ var cells = row ? row.cells : {}; //Only save data if value has changed
599
+
600
+ if (cells[columnId] !== val && callback) {
601
+ callback({
602
+ row: {
603
+ _id: rowId,
604
+ cells: (0, _defineProperty2["default"])({}, columnId, val)
605
+ }
606
+ });
607
+ }
608
+ };
609
+ /**
610
+ * Handle Insert Table Row
611
+ *
612
+ * @param {Number} rowIndex
613
+ * @param {Func} callback
614
+ */
615
+
616
+
617
+ exports.handleTableCellChange = handleTableCellChange;
618
+
619
+ var handleInsertTableRow = function handleInsertTableRow(rowIndex, callback) {
620
+ if (callback) callback({
621
+ targetRowIndex: rowIndex + 1,
622
+ row: getDefaultRow()
623
+ });
624
+ };
625
+ /**
626
+ * Handle Create New Table Row
627
+ *
628
+ * @param {Array} rows //List of current table rows
629
+ * @param {Func} callback
630
+ */
631
+
632
+
633
+ exports.handleInsertTableRow = handleInsertTableRow;
634
+
635
+ var handleCreateTableRow = function handleCreateTableRow(rows, callback) {
636
+ var targetRowIndex = rows.length;
637
+ if (callback) callback({
638
+ targetRowIndex: targetRowIndex,
639
+ row: getDefaultRow()
640
+ });
641
+ };
642
+ /**
643
+ * Handle Duplicate Table Row
644
+ *
645
+ * @param {Array} rows //List of current table rows
646
+ * @param {String} rowId
647
+ * @param {Number} rowIndex
648
+ * @param {Func} callback
649
+ */
650
+
651
+
652
+ exports.handleCreateTableRow = handleCreateTableRow;
653
+
654
+ var handleDuplicateTableRow = function handleDuplicateTableRow(rows, rowId, rowIndex, callback) {
655
+ var duplicateRow = rows.find(function (row) {
656
+ return row._id === rowId;
657
+ });
658
+ var newRow = getDefaultRow();
659
+ newRow.cells = duplicateRow && duplicateRow.cells ? _objectSpread({}, duplicateRow.cells) : {};
660
+ var targetRowIndex = rowIndex + 1;
661
+ if (callback) callback({
662
+ targetRowIndex: targetRowIndex,
663
+ row: newRow
664
+ });
665
+ };
666
+ /**
667
+ * Handle Duplicate Table Row
668
+ *
669
+ * @param {Number} rowIndex
670
+ * @param {Func} callback
671
+ */
672
+
673
+
674
+ exports.handleDuplicateTableRow = handleDuplicateTableRow;
675
+
676
+ var handleMoveTableRowUp = function handleMoveTableRowUp(rowIndex, callback) {
677
+ //If first row then ignore
678
+ if (rowIndex === 0) return;
679
+ var targetRowIndex = rowIndex - 1;
680
+ if (callback) callback({
681
+ targetRowIndex: targetRowIndex
682
+ });
683
+ };
684
+ /**
685
+ * Handle Duplicate Table Row
686
+ *
687
+ * @param {Array} rows
688
+ * @param {Number} rowIndex
689
+ * @param {Func} callback
690
+ */
691
+
692
+
693
+ exports.handleMoveTableRowUp = handleMoveTableRowUp;
694
+
695
+ var handleMoveTableRowDown = function handleMoveTableRowDown(rows, rowIndex, callback) {
696
+ //If last row then ignore
697
+ if (rowIndex >= rows.length - 1) return;
698
+ var targetRowIndex = rowIndex + 1;
699
+ if (callback) callback({
700
+ targetRowIndex: targetRowIndex
701
+ });
702
+ };
703
+
704
+ exports.handleMoveTableRowDown = handleMoveTableRowDown;
583
705
  var _default = {
584
706
  generateTableLookup: generateTableLookup,
585
707
  generateRowTableLookup: generateRowTableLookup,
@@ -597,6 +719,12 @@ var _default = {
597
719
  hasOperandRange: hasOperandRange,
598
720
  spreadOperandRange: spreadOperandRange,
599
721
  getTableFieldLookupKey: getTableFieldLookupKey,
600
- getTableFieldRowOrder: getTableFieldRowOrder
722
+ getTableFieldRowOrder: getTableFieldRowOrder,
723
+ handleTableCellChange: handleTableCellChange,
724
+ handleInsertTableRow: handleInsertTableRow,
725
+ handleCreateTableRow: handleCreateTableRow,
726
+ handleDuplicateTableRow: handleDuplicateTableRow,
727
+ handleMoveTableRowUp: handleMoveTableRowUp,
728
+ handleMoveTableRowDown: handleMoveTableRowDown
601
729
  };
602
730
  exports["default"] = _default;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@builttocreate/engine-utils",
3
- "version": "1.0.1",
3
+ "version": "1.0.2",
4
4
  "description": "Utility library for common logic shared across web and mobile",
5
5
  "main": "dist/index.js",
6
6
  "files": [