@builttocreate/engine-utils 1.18.0 → 1.18.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/formHelper.js +2 -179
- package/package.json +2 -2
package/dist/formHelper.js
CHANGED
|
@@ -5,24 +5,16 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.
|
|
9
|
-
|
|
10
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
8
|
+
exports.getDefaultPage = exports["default"] = void 0;
|
|
11
9
|
|
|
12
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
11
|
|
|
14
|
-
var _fieldHelper = require("./fieldHelper");
|
|
15
|
-
|
|
16
12
|
var _generateObjectId = _interopRequireDefault(require("./generateObjectId"));
|
|
17
13
|
|
|
18
|
-
var _FieldTypes = _interopRequireDefault(require("./constants/FieldTypes"));
|
|
19
|
-
|
|
20
14
|
var _PageLayoutModes = _interopRequireDefault(require("./constants/PageLayoutModes"));
|
|
21
15
|
|
|
22
16
|
var _FieldStyleModes = _interopRequireDefault(require("./constants/FieldStyleModes"));
|
|
23
17
|
|
|
24
|
-
var _FieldDisplayTypes = _interopRequireDefault(require("./constants/FieldDisplayTypes"));
|
|
25
|
-
|
|
26
18
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
27
19
|
|
|
28
20
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
@@ -45,178 +37,9 @@ var getDefaultPage = function getDefaultPage() {
|
|
|
45
37
|
fieldStyleMode: _FieldStyleModes["default"].normal
|
|
46
38
|
}, defaults);
|
|
47
39
|
};
|
|
48
|
-
/**
|
|
49
|
-
* Format a version 2 form (template)
|
|
50
|
-
*
|
|
51
|
-
* @param {Object} form
|
|
52
|
-
* @return {Object}
|
|
53
|
-
*/
|
|
54
|
-
|
|
55
40
|
|
|
56
41
|
exports.getDefaultPage = getDefaultPage;
|
|
57
|
-
|
|
58
|
-
var formatv2Form = function formatv2Form(form) {
|
|
59
|
-
var pages = form.pages;
|
|
60
|
-
var populatedForm = (0, _fieldHelper.getTemplateWithLookups)(form);
|
|
61
|
-
/**
|
|
62
|
-
* Fully populated list of fields
|
|
63
|
-
*/
|
|
64
|
-
|
|
65
|
-
var nextFields = [];
|
|
66
|
-
var nextPages = (0, _toConsumableArray2["default"])(pages).map(function (page) {
|
|
67
|
-
var nextPage = _objectSpread(_objectSpread({}, page), {}, {
|
|
68
|
-
fields: []
|
|
69
|
-
});
|
|
70
|
-
|
|
71
|
-
page.fields.forEach(function (pageFieldPosition) {
|
|
72
|
-
var field = populatedForm.fieldLookup[pageFieldPosition.field];
|
|
73
|
-
|
|
74
|
-
var formattedData = _objectSpread({
|
|
75
|
-
type: field.type
|
|
76
|
-
}, pageFieldPosition); //Add field position default parameters
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
if (!formattedData.displayType) formattedData.displayType = _FieldDisplayTypes["default"].original;
|
|
80
|
-
|
|
81
|
-
if (formattedData.columnId && field.tableColumnsLookup[formattedData.columnId]) {
|
|
82
|
-
formattedData.columnType = field.tableColumnsLookup[formattedData.columnId].type;
|
|
83
|
-
} //Add field parameters
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
if (field.identifier) formattedData.identifier = field.identifier;
|
|
87
|
-
if (field.title) formattedData.title = field.title;
|
|
88
|
-
if (field.value) formattedData.value = field.value;
|
|
89
|
-
if (field.tableColumns) formattedData.tableColumns = field.tableColumns;
|
|
90
|
-
if (field.tableColumnOrder) formattedData.tableColumnOrder = field.tableColumnOrder;
|
|
91
|
-
if (field.options) formattedData.options = field.options;
|
|
92
|
-
if (field.yTitle) formattedData.yTitle = field.yTitle;
|
|
93
|
-
if (typeof field.yMax === 'number') formattedData.yMax = field.yMax;
|
|
94
|
-
if (typeof field.yMin === 'number') formattedData.yMin = field.yMin;
|
|
95
|
-
if (field.xTitle) formattedData.xTitle = field.xTitle;
|
|
96
|
-
if (typeof field.xMax === 'number') formattedData.xMax = field.xMax;
|
|
97
|
-
if (typeof field.xMin === 'number') formattedData.xMin = field.xMin;
|
|
98
|
-
nextPage.fields.push(formattedData);
|
|
99
|
-
nextFields.push(formattedData);
|
|
100
|
-
});
|
|
101
|
-
return nextPage;
|
|
102
|
-
});
|
|
103
|
-
return _objectSpread(_objectSpread({}, form), {}, {
|
|
104
|
-
pages: nextPages,
|
|
105
|
-
fields: nextFields
|
|
106
|
-
});
|
|
107
|
-
};
|
|
108
|
-
/**
|
|
109
|
-
* Format a version 2 form (template) update payload
|
|
110
|
-
*
|
|
111
|
-
* @param {Object} form
|
|
112
|
-
* @return {Object}
|
|
113
|
-
*/
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
exports.formatv2Form = formatv2Form;
|
|
117
|
-
|
|
118
|
-
var getv2FormUpdatePayload = function getv2FormUpdatePayload(formPayload) {
|
|
119
|
-
var pages = formPayload.pages,
|
|
120
|
-
fields = formPayload.fields;
|
|
121
|
-
var nextFields = (0, _toConsumableArray2["default"])(fields);
|
|
122
|
-
var nextFieldsIndexLookup = {};
|
|
123
|
-
nextFields.forEach(function (field, i) {
|
|
124
|
-
nextFieldsIndexLookup[field._id] = i;
|
|
125
|
-
});
|
|
126
|
-
/**
|
|
127
|
-
* Field Keys are fields that belong on the field object
|
|
128
|
-
* and not on the fieldPosition object.
|
|
129
|
-
*/
|
|
130
|
-
|
|
131
|
-
var fieldKeys = ['identifier', 'type', 'title', 'value', 'tableColumns', 'tableColumnOrder', 'options', 'yTitle', 'yMax', 'yMin', 'xTitle', 'xMax', 'xMin'];
|
|
132
|
-
/**
|
|
133
|
-
* Step 1: Properly save fields and field postion date
|
|
134
|
-
*/
|
|
135
|
-
|
|
136
|
-
var nextPages = (0, _toConsumableArray2["default"])(pages).map(function (page) {
|
|
137
|
-
var nextPage = _objectSpread(_objectSpread({}, page), {}, {
|
|
138
|
-
fields: []
|
|
139
|
-
});
|
|
140
|
-
|
|
141
|
-
page.fields.forEach(function (fieldPosition) {
|
|
142
|
-
var fieldData = {
|
|
143
|
-
_id: fieldPosition.field
|
|
144
|
-
};
|
|
145
|
-
var fieldPositionData = {};
|
|
146
|
-
/**
|
|
147
|
-
* Step 1.1: Sort field and fieldPosition data
|
|
148
|
-
*
|
|
149
|
-
* If the fieldPosition.field doesn't to exist inside form.fields
|
|
150
|
-
* then that means it's a brand new fieldPosition and field and
|
|
151
|
-
* we need to add it the new field to form.fields.
|
|
152
|
-
*/
|
|
153
|
-
|
|
154
|
-
Object.keys(fieldPosition).forEach(function (key) {
|
|
155
|
-
if (fieldKeys.indexOf(key) !== -1) {
|
|
156
|
-
fieldData[key] = fieldPosition[key];
|
|
157
|
-
} else {
|
|
158
|
-
fieldPositionData[key] = fieldPosition[key];
|
|
159
|
-
}
|
|
160
|
-
});
|
|
161
|
-
/**
|
|
162
|
-
* Step 1.2: Check if field needs to be created or simply updated
|
|
163
|
-
*
|
|
164
|
-
* If the fieldPosition.field doesn't exist inside form.fields
|
|
165
|
-
* then that means it's a brand new fieldPosition and field and
|
|
166
|
-
* we need to add it the new field to form.fields.
|
|
167
|
-
*/
|
|
168
|
-
|
|
169
|
-
var fieldIndex = nextFieldsIndexLookup[fieldData._id]; //Make sure proper tableColumnOrder is added
|
|
170
|
-
|
|
171
|
-
if (fieldData.type === _FieldTypes["default"].table || fieldData.type === _FieldTypes["default"].inputGroup) {
|
|
172
|
-
if (fieldPosition.tableColumns && (!fieldPosition.tableColumnOrder || fieldPosition.tableColumnOrder < 1)) {
|
|
173
|
-
fieldData.tableColumnOrder = [];
|
|
174
|
-
fieldPosition.tableColumns.forEach(function (col) {
|
|
175
|
-
if (!col.deleted) fieldData.tableColumnOrder.push(col._id);
|
|
176
|
-
});
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
if (typeof fieldIndex !== 'number') {
|
|
181
|
-
//Step 1.2.1 Field does not exist so add it
|
|
182
|
-
nextFields.push(fieldData);
|
|
183
|
-
} else {
|
|
184
|
-
//Step 1.2.2 Field does exist so update it
|
|
185
|
-
nextFields[fieldIndex] = _objectSpread(_objectSpread({}, nextFields[fieldIndex]), fieldData);
|
|
186
|
-
}
|
|
187
|
-
/**
|
|
188
|
-
* Step 1.3: Add the fieldPosition to the page.fields
|
|
189
|
-
*/
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
nextPage.fields.push(fieldPositionData);
|
|
193
|
-
});
|
|
194
|
-
return nextPage;
|
|
195
|
-
});
|
|
196
|
-
/**
|
|
197
|
-
* Step 2: Delete any fields that no longer have field positions associated with them.
|
|
198
|
-
*
|
|
199
|
-
* TODO
|
|
200
|
-
*/
|
|
201
|
-
|
|
202
|
-
var formattedPayload = _objectSpread(_objectSpread({}, formPayload), {}, {
|
|
203
|
-
pages: nextPages,
|
|
204
|
-
fields: nextFields
|
|
205
|
-
});
|
|
206
|
-
|
|
207
|
-
if (!formattedPayload.pageOrder) {
|
|
208
|
-
formattedPayload.pageOrder = formattedPayload.pages.map(function (page) {
|
|
209
|
-
return page._id;
|
|
210
|
-
});
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
return formattedPayload;
|
|
214
|
-
};
|
|
215
|
-
|
|
216
|
-
exports.getv2FormUpdatePayload = getv2FormUpdatePayload;
|
|
217
42
|
var _default = {
|
|
218
|
-
getDefaultPage: getDefaultPage
|
|
219
|
-
formatv2Form: formatv2Form,
|
|
220
|
-
getv2FormUpdatePayload: getv2FormUpdatePayload
|
|
43
|
+
getDefaultPage: getDefaultPage
|
|
221
44
|
};
|
|
222
45
|
exports["default"] = _default;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@builttocreate/engine-utils",
|
|
3
|
-
"version": "1.18.
|
|
3
|
+
"version": "1.18.1",
|
|
4
4
|
"description": "Utility library for common logic shared across web and mobile",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"files": [
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
},
|
|
46
46
|
"dependencies": {
|
|
47
47
|
"@babel/polyfill": "^7.12.1",
|
|
48
|
-
"@builttocreate/hot-formula-parser": "^5.0.
|
|
48
|
+
"@builttocreate/hot-formula-parser": "^5.0.1",
|
|
49
49
|
"moment": "^2.29.1"
|
|
50
50
|
},
|
|
51
51
|
"jest": {
|