@builttocreate/engine-utils 1.5.2 → 1.7.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.
@@ -117,7 +117,7 @@ var getDefaultFieldValuesFromTemplate = function getDefaultFieldValuesFromTempla
117
117
  * Get import field values from source document for target document
118
118
  *
119
119
  * @param {Object} template
120
- * @param {Object} importSource //Document source you're importing
120
+ * @param {Object} importSource //Document source you're importing
121
121
  * @param {Object} importTarget //Document that is having it's fields overwritten by import source
122
122
  */
123
123
 
@@ -128,11 +128,11 @@ var getImportFieldValues = function getImportFieldValues(template, importSource,
128
128
  var fields = {};
129
129
  template.fields.forEach(function (field) {
130
130
  //Document field value that is being imported
131
- var sourceFieldValue = importSource.fields[field._id]; //Document field value that is being overwritten
131
+ var sourceFieldValue = importSource.fields[field._id]; //Document field value that is being overwritten
132
132
 
133
133
  var targetFieldValue = importTarget.fields[field._id];
134
134
 
135
- if (field.deleted || field.blockImport || field.type === _FieldTypes["default"].uniqueId || field.type === _FieldTypes["default"].task || field.type === _FieldTypes["default"].signature || field.type === _FieldTypes["default"].file || field.type === _FieldTypes["default"].richText) {
135
+ if (field.deleted || field.blockImport || field.type === _FieldTypes["default"].uniqueId || field.type === _FieldTypes["default"].task || field.type === _FieldTypes["default"].signature || field.type === _FieldTypes["default"].file || field.type === _FieldTypes["default"].richText || field.type === _FieldTypes["default"].image) {
136
136
  return;
137
137
  } else if ((field.type === _FieldTypes["default"].table || field.type === _FieldTypes["default"].inputGroup) && sourceFieldValue) {
138
138
  var nextTableFieldValues = [];
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.getGroupedFilesByType = void 0;
9
+
10
+ var _FileTypes = _interopRequireDefault(require("./constants/FileTypes"));
11
+
12
+ var getGroupedFilesByType = function getGroupedFilesByType(files) {
13
+ var images = [];
14
+ var other = [];
15
+ var signatures = [];
16
+
17
+ if (files) {
18
+ files.forEach(function (file) {
19
+ if (file.deleted) return;else if (file.type === _FileTypes["default"].signature) signatures.push(file);else if (/\.png|\.jpg|\.jpeg/gi.test(file.name)) images.push(file);else other.push(file);
20
+ });
21
+ }
22
+
23
+ return {
24
+ images: images,
25
+ signatures: signatures,
26
+ other: other
27
+ };
28
+ };
29
+
30
+ exports.getGroupedFilesByType = getGroupedFilesByType;
package/dist/index.js CHANGED
@@ -17,7 +17,7 @@ Object.defineProperty(exports, "CALL_API", {
17
17
  return _reduxApiMiddleware.CALL_API;
18
18
  }
19
19
  });
20
- exports.paginationHelper = exports.activityHelper = exports.fieldHelper = exports.chartHelper = exports.tableHelper = exports["default"] = void 0;
20
+ exports.paginationHelper = exports.fileHelper = exports.activityHelper = exports.fieldHelper = exports.chartHelper = exports.tableHelper = exports["default"] = void 0;
21
21
 
22
22
  var tableHelper = _interopRequireWildcard(require("./tableHelper"));
23
23
 
@@ -35,12 +35,17 @@ var activityHelper = _interopRequireWildcard(require("./activityHelper"));
35
35
 
36
36
  exports.activityHelper = activityHelper;
37
37
 
38
+ var fileHelper = _interopRequireWildcard(require("./fileHelper"));
39
+
40
+ exports.fileHelper = fileHelper;
41
+
38
42
  var _reduxApiMiddleware = _interopRequireWildcard(require("./reduxApiMiddleware"));
39
43
 
40
44
  var paginationHelper = _interopRequireWildcard(require("./paginationHelper"));
41
45
 
42
46
  exports.paginationHelper = paginationHelper;
43
47
  var _default = {
48
+ fileHelper: fileHelper,
44
49
  tableHelper: tableHelper,
45
50
  chartHelper: chartHelper,
46
51
  fieldHelper: fieldHelper,
@@ -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.getIndexesFromTableCellOperand = 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.getFilteredRowOrder = exports.sortRows = exports.getRows = exports.getDefaultRow = exports.getTableFieldLookupKey = void 0;
11
11
 
12
12
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
13
 
@@ -77,6 +77,39 @@ var sortRows = function sortRows(rows, rowOrder) {
77
77
  });
78
78
  return sortedRows;
79
79
  };
80
+ /**
81
+ * Filter table row order by cell values
82
+ *
83
+ * @param {Array} rowOrder
84
+ * @param {Array} rows
85
+ * @param {Object} filters //{ colId: value, colId: value, ....}
86
+ */
87
+
88
+
89
+ exports.sortRows = sortRows;
90
+
91
+ var getFilteredRowOrder = function getFilteredRowOrder(rowOrder, rows, filters) {
92
+ var filteredColumnIds = filters ? Object.keys(filters) : [];
93
+
94
+ if (filteredColumnIds.length > 0) {
95
+ var matchedRows = {};
96
+ rows.forEach(function (row) {
97
+ if (row.deleted) return;
98
+ var rowMatched = true;
99
+ filteredColumnIds.forEach(function (columnId) {
100
+ var filter = filters[columnId] ? filters[columnId].toLowerCase() : '';
101
+ var value = row.cells && row.cells[columnId] ? row.cells[columnId].toLowerCase() : '';
102
+ if (filter && (!value || value.indexOf(filter) === -1)) rowMatched = false;
103
+ });
104
+ if (rowMatched) matchedRows[row._id] = true;
105
+ });
106
+ return rowOrder.filter(function (rowId) {
107
+ return matchedRows[rowId];
108
+ });
109
+ } else {
110
+ return rowOrder;
111
+ }
112
+ };
80
113
  /**
81
114
  * Create a table row map for simple value lookup
82
115
  *
@@ -92,7 +125,7 @@ var sortRows = function sortRows(rows, rowOrder) {
92
125
  */
93
126
 
94
127
 
95
- exports.sortRows = sortRows;
128
+ exports.getFilteredRowOrder = getFilteredRowOrder;
96
129
 
97
130
  var getRowMap = function getRowMap() {
98
131
  var rows = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
@@ -805,6 +838,7 @@ var _default = {
805
838
  getCellOperand: getCellOperand,
806
839
  getIndexesFromTableCellOperand: getIndexesFromTableCellOperand,
807
840
  getRows: getRows,
841
+ getFilteredRowOrder: getFilteredRowOrder,
808
842
  getDefaultRow: getDefaultRow,
809
843
  getRowMap: getRowMap,
810
844
  getColumns: getColumns,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@builttocreate/engine-utils",
3
- "version": "1.5.2",
3
+ "version": "1.7.0",
4
4
  "description": "Utility library for common logic shared across web and mobile",
5
5
  "main": "dist/index.js",
6
6
  "files": [