@builttocreate/engine-utils 2.11.0-beta.2 → 2.11.0-beta.4
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/joyDocHelper.js +35 -6
- package/package.json +1 -1
package/dist/joyDocHelper.js
CHANGED
|
@@ -212,12 +212,27 @@ var removeOrphanedFieldsFromJoydoc = exports.removeOrphanedFieldsFromJoydoc = fu
|
|
|
212
212
|
var nextDoc = _objectSpread({}, doc);
|
|
213
213
|
var associatedFieldIdLookup = {};
|
|
214
214
|
nextDoc === null || nextDoc === void 0 || (_nextDoc$files = nextDoc.files) === null || _nextDoc$files === void 0 || _nextDoc$files.forEach(function (file) {
|
|
215
|
-
var _file$views;
|
|
215
|
+
var _file$header, _file$footer, _file$pages, _file$views;
|
|
216
|
+
/**
|
|
217
|
+
* Header
|
|
218
|
+
*/
|
|
219
|
+
if (file.header) (_file$header = file.header) === null || _file$header === void 0 || (_file$header = _file$header.fieldPositions) === null || _file$header === void 0 || _file$header.forEach(function (fieldPosition) {
|
|
220
|
+
return associatedFieldIdLookup[fieldPosition.field] = true;
|
|
221
|
+
});
|
|
222
|
+
|
|
223
|
+
/**
|
|
224
|
+
* Footer
|
|
225
|
+
*/
|
|
226
|
+
if (file.footer) (_file$footer = file.footer) === null || _file$footer === void 0 || (_file$footer = _file$footer.fieldPositions) === null || _file$footer === void 0 || _file$footer.forEach(function (fieldPosition) {
|
|
227
|
+
return associatedFieldIdLookup[fieldPosition.field] = true;
|
|
228
|
+
});
|
|
229
|
+
|
|
216
230
|
/**
|
|
217
231
|
* Primary view
|
|
218
232
|
*/
|
|
219
|
-
file.pages.forEach(function (page) {
|
|
220
|
-
|
|
233
|
+
(_file$pages = file.pages) === null || _file$pages === void 0 || _file$pages.forEach(function (page) {
|
|
234
|
+
var _page$fieldPositions;
|
|
235
|
+
page === null || page === void 0 || (_page$fieldPositions = page.fieldPositions) === null || _page$fieldPositions === void 0 || _page$fieldPositions.forEach(function (fieldPosition) {
|
|
221
236
|
return associatedFieldIdLookup[fieldPosition.field] = true;
|
|
222
237
|
});
|
|
223
238
|
});
|
|
@@ -228,7 +243,8 @@ var removeOrphanedFieldsFromJoydoc = exports.removeOrphanedFieldsFromJoydoc = fu
|
|
|
228
243
|
(_file$views = file.views) === null || _file$views === void 0 || _file$views.forEach(function (view) {
|
|
229
244
|
var _view$pages;
|
|
230
245
|
view === null || view === void 0 || (_view$pages = view.pages) === null || _view$pages === void 0 || _view$pages.forEach(function (page) {
|
|
231
|
-
|
|
246
|
+
var _page$fieldPositions2;
|
|
247
|
+
page === null || page === void 0 || (_page$fieldPositions2 = page.fieldPositions) === null || _page$fieldPositions2 === void 0 || _page$fieldPositions2.forEach(function (fieldPosition) {
|
|
232
248
|
return associatedFieldIdLookup[fieldPosition.field] = true;
|
|
233
249
|
});
|
|
234
250
|
});
|
|
@@ -452,7 +468,7 @@ var duplicateDocumentPage = exports.duplicateDocumentPage = function duplicateDo
|
|
|
452
468
|
var newPageId = (0, _generateObjectId["default"])();
|
|
453
469
|
var fieldLookup = {};
|
|
454
470
|
(_nextDoc$fields = nextDoc.fields) === null || _nextDoc$fields === void 0 || _nextDoc$fields.forEach(function (field) {
|
|
455
|
-
|
|
471
|
+
fieldLookup[field._id] = field;
|
|
456
472
|
});
|
|
457
473
|
|
|
458
474
|
/**
|
|
@@ -484,6 +500,7 @@ var duplicateDocumentPage = exports.duplicateDocumentPage = function duplicateDo
|
|
|
484
500
|
var newFieldsLookupByOldId = {};
|
|
485
501
|
var duplicatedFields = [];
|
|
486
502
|
fieldIdsToDuplicate.forEach(function (fieldId) {
|
|
503
|
+
var _nextDoc$files$fileIn, _nextDoc$files$fileIn2;
|
|
487
504
|
/**
|
|
488
505
|
* Why do we check if a new field has already been created?
|
|
489
506
|
*
|
|
@@ -494,9 +511,21 @@ var duplicateDocumentPage = exports.duplicateDocumentPage = function duplicateDo
|
|
|
494
511
|
*/
|
|
495
512
|
if (newFieldsLookupByOldId[fieldId]) return;
|
|
496
513
|
var field = fieldLookup[fieldId];
|
|
514
|
+
|
|
515
|
+
// Skip if field not found in lookup
|
|
516
|
+
if (!field) return;
|
|
517
|
+
|
|
518
|
+
// Generate readable ID using current fields plus already duplicated fields
|
|
519
|
+
var allFields = [].concat((0, _toConsumableArray2["default"])(nextDoc.fields), (0, _toConsumableArray2["default"])(duplicatedFields));
|
|
497
520
|
var duplicateField = _objectSpread(_objectSpread({}, field), {}, {
|
|
498
|
-
_id: (0,
|
|
521
|
+
_id: (0, _generateReadableId.generateReadableId)({
|
|
522
|
+
fields: allFields,
|
|
523
|
+
pages: (_nextDoc$files$fileIn = nextDoc.files[fileIndex]) === null || _nextDoc$files$fileIn === void 0 ? void 0 : _nextDoc$files$fileIn.pages,
|
|
524
|
+
views: (_nextDoc$files$fileIn2 = nextDoc.files[fileIndex]) === null || _nextDoc$files$fileIn2 === void 0 ? void 0 : _nextDoc$files$fileIn2.views
|
|
525
|
+
}, field.type)
|
|
499
526
|
});
|
|
527
|
+
// Remove formulas property when duplicating
|
|
528
|
+
delete duplicateField.formulas;
|
|
500
529
|
duplicatedFields.push(duplicateField);
|
|
501
530
|
|
|
502
531
|
/**
|