@builttocreate/engine-utils 1.16.0-rc5 → 1.16.0-rc7
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 +99 -4
- package/package.json +1 -1
package/dist/formHelper.js
CHANGED
|
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports["default"] = exports.formatv2Form = exports.getDefaultPage = void 0;
|
|
8
|
+
exports["default"] = exports.getv2FormUpdatePayload = exports.formatv2Form = exports.getDefaultPage = void 0;
|
|
9
9
|
|
|
10
10
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
11
11
|
|
|
@@ -36,6 +36,8 @@ var getDefaultPage = function getDefaultPage() {
|
|
|
36
36
|
return _objectSpread({
|
|
37
37
|
_id: (0, _generateObjectId["default"])(),
|
|
38
38
|
name: 'New Page',
|
|
39
|
+
width: 816,
|
|
40
|
+
height: 1056,
|
|
39
41
|
fields: [],
|
|
40
42
|
layoutMode: _PageLayoutModes["default"].grid,
|
|
41
43
|
fieldStyleMode: _FieldStyleModes["default"].normal
|
|
@@ -44,8 +46,8 @@ var getDefaultPage = function getDefaultPage() {
|
|
|
44
46
|
/**
|
|
45
47
|
* Format a version 2 form (template)
|
|
46
48
|
*
|
|
47
|
-
|
|
48
|
-
|
|
49
|
+
* @param {Object} form
|
|
50
|
+
* @return {Object}
|
|
49
51
|
*/
|
|
50
52
|
|
|
51
53
|
|
|
@@ -80,9 +82,11 @@ var formatv2Form = function formatv2Form(form) {
|
|
|
80
82
|
} //Add field parameters
|
|
81
83
|
|
|
82
84
|
|
|
85
|
+
if (field.identifier) formattedData.identifier = field.identifier;
|
|
83
86
|
if (field.title) formattedData.title = field.title;
|
|
84
87
|
if (field.value) formattedData.value = field.value;
|
|
85
88
|
if (field.tableColumns) formattedData.tableColumns = field.tableColumns;
|
|
89
|
+
if (field.tableColumnOrder) formattedData.tableColumnOrder = field.tableColumnOrder;
|
|
86
90
|
if (field.options) formattedData.options = field.options;
|
|
87
91
|
if (field.yTitle) formattedData.yTitle = field.yTitle;
|
|
88
92
|
if (typeof field.yMax === 'number') formattedData.yMax = field.yMax;
|
|
@@ -100,10 +104,101 @@ var formatv2Form = function formatv2Form(form) {
|
|
|
100
104
|
fields: nextFields
|
|
101
105
|
});
|
|
102
106
|
};
|
|
107
|
+
/**
|
|
108
|
+
* Format a version 2 form (template) update payload
|
|
109
|
+
*
|
|
110
|
+
* @param {Object} form
|
|
111
|
+
* @return {Object}
|
|
112
|
+
*/
|
|
113
|
+
|
|
103
114
|
|
|
104
115
|
exports.formatv2Form = formatv2Form;
|
|
116
|
+
|
|
117
|
+
var getv2FormUpdatePayload = function getv2FormUpdatePayload(formPayload) {
|
|
118
|
+
var pages = formPayload.pages,
|
|
119
|
+
fields = formPayload.fields;
|
|
120
|
+
var nextFields = (0, _toConsumableArray2["default"])(fields);
|
|
121
|
+
var nextFieldsIndexLookup = {};
|
|
122
|
+
nextFields.forEach(function (field, i) {
|
|
123
|
+
nextFieldsIndexLookup[field._id] = i;
|
|
124
|
+
});
|
|
125
|
+
/**
|
|
126
|
+
* Field Keys are fields that belong on the field object
|
|
127
|
+
* and not on the fieldPosition object.
|
|
128
|
+
*/
|
|
129
|
+
|
|
130
|
+
var fieldKeys = ['identifier', 'type', 'title', 'value', 'tableColumns', 'tableColumnOrder', 'options', 'yTitle', 'yMax', 'yMin', 'xTitle', 'xMax', 'xMin'];
|
|
131
|
+
/**
|
|
132
|
+
* Step 1: Properly save fields and field postion date
|
|
133
|
+
*/
|
|
134
|
+
|
|
135
|
+
var nextPages = (0, _toConsumableArray2["default"])(pages).map(function (page) {
|
|
136
|
+
var nextPage = _objectSpread(_objectSpread({}, page), {}, {
|
|
137
|
+
fields: []
|
|
138
|
+
});
|
|
139
|
+
|
|
140
|
+
page.fields.forEach(function (fieldPosition) {
|
|
141
|
+
var fieldData = {
|
|
142
|
+
_id: fieldPosition.field
|
|
143
|
+
};
|
|
144
|
+
var fieldPositionData = {};
|
|
145
|
+
/**
|
|
146
|
+
* Step 1.1: Sort field and fieldPosition data
|
|
147
|
+
*
|
|
148
|
+
* If the fieldPosition.field doesn't to exist inside form.fields
|
|
149
|
+
* then that means it's a brand new fieldPosition and field and
|
|
150
|
+
* we need to add it the new field to form.fields.
|
|
151
|
+
*/
|
|
152
|
+
|
|
153
|
+
Object.keys(fieldPosition).forEach(function (key) {
|
|
154
|
+
if (fieldKeys.indexOf(key) !== -1) {
|
|
155
|
+
fieldData[key] = fieldPosition[key];
|
|
156
|
+
} else {
|
|
157
|
+
fieldPositionData[key] = fieldPosition[key];
|
|
158
|
+
}
|
|
159
|
+
});
|
|
160
|
+
/**
|
|
161
|
+
* Step 1.2: Check if field needs to be created or simply updated
|
|
162
|
+
*
|
|
163
|
+
* If the fieldPosition.field doesn't exist inside form.fields
|
|
164
|
+
* then that means it's a brand new fieldPosition and field and
|
|
165
|
+
* we need to add it the new field to form.fields.
|
|
166
|
+
*/
|
|
167
|
+
|
|
168
|
+
var fieldIndex = nextFieldsIndexLookup[fieldData._id];
|
|
169
|
+
|
|
170
|
+
if (typeof fieldIndex !== 'number') {
|
|
171
|
+
//Step 1.2.1 Field does not exist so add it
|
|
172
|
+
nextFields.push(fieldData);
|
|
173
|
+
} else {
|
|
174
|
+
//Step 1.2.2 Field does exist so update it
|
|
175
|
+
nextFields[fieldIndex] = _objectSpread(_objectSpread({}, nextFields[fieldIndex]), fieldData);
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Step 1.3: Add the fieldPosition to the page.fields
|
|
179
|
+
*/
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
nextPage.fields.push(fieldPositionData);
|
|
183
|
+
});
|
|
184
|
+
return nextPage;
|
|
185
|
+
});
|
|
186
|
+
/**
|
|
187
|
+
* Step 2: Delete any fields that no longer have field positions associated with them.
|
|
188
|
+
*
|
|
189
|
+
* TODO
|
|
190
|
+
*/
|
|
191
|
+
|
|
192
|
+
return _objectSpread(_objectSpread({}, formPayload), {}, {
|
|
193
|
+
pages: nextPages,
|
|
194
|
+
fields: nextFields
|
|
195
|
+
});
|
|
196
|
+
};
|
|
197
|
+
|
|
198
|
+
exports.getv2FormUpdatePayload = getv2FormUpdatePayload;
|
|
105
199
|
var _default = {
|
|
106
200
|
getDefaultPage: getDefaultPage,
|
|
107
|
-
formatv2Form: formatv2Form
|
|
201
|
+
formatv2Form: formatv2Form,
|
|
202
|
+
getv2FormUpdatePayload: getv2FormUpdatePayload
|
|
108
203
|
};
|
|
109
204
|
exports["default"] = _default;
|