@builttocreate/engine-utils 1.5.0 → 1.5.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.
- package/dist/constants/ListTypes.js +13 -0
- package/dist/fieldHelper.js +131 -2
- package/dist/tableHelper.js +3 -1
- package/package.json +1 -1
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
var customerGroup = 'customerGroup';
|
|
8
|
+
var customer = 'customer';
|
|
9
|
+
var _default = {
|
|
10
|
+
customerGroup: customerGroup,
|
|
11
|
+
customer: customer
|
|
12
|
+
};
|
|
13
|
+
exports["default"] = _default;
|
package/dist/fieldHelper.js
CHANGED
|
@@ -5,12 +5,24 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports["default"] = exports.getMultiSelectFieldValue = exports.getChartFieldValue = void 0;
|
|
8
|
+
exports["default"] = exports.getImportFieldValues = exports.getDefaultFieldValuesFromTemplate = exports.getMultiSelectFieldValue = exports.getChartFieldValue = void 0;
|
|
9
|
+
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
11
|
|
|
10
12
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
11
13
|
|
|
12
14
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
13
15
|
|
|
16
|
+
var _FieldTypes = _interopRequireDefault(require("./constants/FieldTypes"));
|
|
17
|
+
|
|
18
|
+
var _chartHelper = require("./chartHelper");
|
|
19
|
+
|
|
20
|
+
var _tableHelper = require("./tableHelper");
|
|
21
|
+
|
|
22
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
|
23
|
+
|
|
24
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
25
|
+
|
|
14
26
|
/**
|
|
15
27
|
* Get chart field line data
|
|
16
28
|
*
|
|
@@ -50,10 +62,127 @@ var getMultiSelectFieldValue = function getMultiSelectFieldValue(value) {
|
|
|
50
62
|
return [];
|
|
51
63
|
}
|
|
52
64
|
};
|
|
65
|
+
/**
|
|
66
|
+
* Get default field values from template
|
|
67
|
+
*
|
|
68
|
+
* @param {Object} template
|
|
69
|
+
* @param {String} defaultUserId
|
|
70
|
+
*/
|
|
71
|
+
|
|
53
72
|
|
|
54
73
|
exports.getMultiSelectFieldValue = getMultiSelectFieldValue;
|
|
74
|
+
|
|
75
|
+
var getDefaultFieldValuesFromTemplate = function getDefaultFieldValuesFromTemplate(template, defaultUserId) {
|
|
76
|
+
var fields = {};
|
|
77
|
+
template.fields.forEach(function (field) {
|
|
78
|
+
if (!field || field.deleted || field.type === _FieldTypes["default"].uniqueId || field.type === _FieldTypes["default"].task || field.type === _FieldTypes["default"].signature || field.type === _FieldTypes["default"].file || field.type === _FieldTypes["default"].image || field.type === _FieldTypes["default"].richText) {
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
if (field.value) {
|
|
83
|
+
fields[field._id] = field.value;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
if (field.type === _FieldTypes["default"].table) {
|
|
87
|
+
fields[field._id] = field.value ? JSON.stringify((0, _tableHelper.getRows)(field.value)) : JSON.stringify([(0, _tableHelper.getDefaultRow)()]);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
if (field.type === _FieldTypes["default"].chart) {
|
|
91
|
+
fields[field._id] = JSON.stringify([(0, _chartHelper.getDefaultLine)()]);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
if (field.type === _FieldTypes["default"].inputGroup) {
|
|
95
|
+
var newRow = (0, _tableHelper.getDefaultRow)();
|
|
96
|
+
field.tableColumns.forEach(function (column) {
|
|
97
|
+
if (column.value) newRow.cells[column._id] = column.value;
|
|
98
|
+
});
|
|
99
|
+
fields[field._id] = JSON.stringify([newRow]);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
if (field.type === _FieldTypes["default"].multiSelect) {
|
|
103
|
+
fields[field._id] = field.value && Array.isArray(field.value) ? field.value.join(',') : '';
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
if (field.type === _FieldTypes["default"].user) {
|
|
107
|
+
fields[field._id] = field.value || defaultUserId;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
if (field.type === _FieldTypes["default"].date) {
|
|
111
|
+
fields[field._id] = field.value || new Date().getTime();
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
return fields;
|
|
115
|
+
};
|
|
116
|
+
/**
|
|
117
|
+
* Get import field values from source document for target document
|
|
118
|
+
*
|
|
119
|
+
* @param {Object} template
|
|
120
|
+
* @param {Object} importSource //Document source you're importing
|
|
121
|
+
* @param {Object} importTarget //Document that is having it's fields overwritten by import source
|
|
122
|
+
*/
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
exports.getDefaultFieldValuesFromTemplate = getDefaultFieldValuesFromTemplate;
|
|
126
|
+
|
|
127
|
+
var getImportFieldValues = function getImportFieldValues(template, importSource, importTarget) {
|
|
128
|
+
var fields = {};
|
|
129
|
+
template.fields.forEach(function (field) {
|
|
130
|
+
//Document field value that is being imported
|
|
131
|
+
var sourceFieldValue = importSource.fields[field._id]; //Document field value that is being overwritten
|
|
132
|
+
|
|
133
|
+
var targetFieldValue = importTarget.fields[field._id];
|
|
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) {
|
|
136
|
+
return;
|
|
137
|
+
} else if ((field.type === _FieldTypes["default"].table || field.type === _FieldTypes["default"].inputGroup) && sourceFieldValue) {
|
|
138
|
+
var nextTableFieldValues = [];
|
|
139
|
+
var rows = (0, _tableHelper.getRows)(sourceFieldValue);
|
|
140
|
+
var currentDocRows = targetFieldValue ? (0, _tableHelper.getRows)(targetFieldValue) : [];
|
|
141
|
+
rows.forEach(function (row, i) {
|
|
142
|
+
var newRow = _objectSpread(_objectSpread({}, row), {}, {
|
|
143
|
+
cells: {}
|
|
144
|
+
});
|
|
145
|
+
|
|
146
|
+
field.tableColumns.forEach(function (column) {
|
|
147
|
+
/**
|
|
148
|
+
* Option 1: Add cell value from source document
|
|
149
|
+
*/
|
|
150
|
+
if (!column.blockImport) {
|
|
151
|
+
newRow.cells[column._id] = row.cells[column._id] || '';
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Option 2: If column has block import enabled then maintain any values
|
|
155
|
+
* already set in the importTarget document.
|
|
156
|
+
*/
|
|
157
|
+
else if (column.blockImport && currentDocRows[i] && currentDocRows[i].cells[column._id]) {
|
|
158
|
+
newRow.cells[column._id] = currentDocRows[i].cells[column._id];
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Option 3: If column has block import enabled then add default column value
|
|
162
|
+
*/
|
|
163
|
+
else if (column.blockImport && column.value) {
|
|
164
|
+
newRow.cells[column._id] = column.value;
|
|
165
|
+
}
|
|
166
|
+
});
|
|
167
|
+
nextTableFieldValues.push(newRow);
|
|
168
|
+
});
|
|
169
|
+
fields[field._id] = JSON.stringify(nextTableFieldValues);
|
|
170
|
+
} else if (field.type === _FieldTypes["default"].chart && sourceFieldValue) {
|
|
171
|
+
fields[field._id] = (0, _typeof2["default"])(sourceFieldValue) === 'object' ? JSON.stringify(sourceFieldValue) : sourceFieldValue;
|
|
172
|
+
} else if (field.type === _FieldTypes["default"].multiSelect && sourceFieldValue) {
|
|
173
|
+
fields[field._id] = typeof sourceFieldValue !== 'string' ? sourceFieldValue.join(',') : sourceFieldValue;
|
|
174
|
+
} else if (sourceFieldValue) {
|
|
175
|
+
fields[field._id] = sourceFieldValue;
|
|
176
|
+
}
|
|
177
|
+
});
|
|
178
|
+
return fields;
|
|
179
|
+
};
|
|
180
|
+
|
|
181
|
+
exports.getImportFieldValues = getImportFieldValues;
|
|
55
182
|
var _default = {
|
|
56
183
|
getChartFieldValue: getChartFieldValue,
|
|
57
|
-
getMultiSelectFieldValue: getMultiSelectFieldValue
|
|
184
|
+
getMultiSelectFieldValue: getMultiSelectFieldValue,
|
|
185
|
+
getDefaultFieldValuesFromTemplate: getDefaultFieldValuesFromTemplate,
|
|
186
|
+
getImportFieldValues: getImportFieldValues
|
|
58
187
|
};
|
|
59
188
|
exports["default"] = _default;
|
package/dist/tableHelper.js
CHANGED
|
@@ -685,13 +685,15 @@ var generateInputGroupFields = function generateInputGroupFields(field, columns)
|
|
|
685
685
|
exports.generateInputGroupFields = generateInputGroupFields;
|
|
686
686
|
|
|
687
687
|
var handleTableCellChange = function handleTableCellChange(rows, rowId, columnId, val, callback) {
|
|
688
|
-
var
|
|
688
|
+
var targetRowIndex = rows.findIndex(function (row) {
|
|
689
689
|
return row._id === rowId;
|
|
690
690
|
});
|
|
691
|
+
var row = rows[targetRowIndex];
|
|
691
692
|
var cells = row ? row.cells : {}; //Only save data if value has changed
|
|
692
693
|
|
|
693
694
|
if (cells[columnId] !== val && callback) {
|
|
694
695
|
callback({
|
|
696
|
+
targetRowIndex: targetRowIndex,
|
|
695
697
|
row: {
|
|
696
698
|
_id: rowId,
|
|
697
699
|
cells: (0, _defineProperty2["default"])({}, columnId, val)
|