@builttocreate/engine-utils 2.11.0-beta.1 → 2.11.0-beta.1629.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/index.js CHANGED
@@ -86,7 +86,8 @@ var _generateObjectId = _interopRequireDefault(require("./generateObjectId"));
86
86
  var _validateObjectId = _interopRequireDefault(require("./validateObjectId"));
87
87
  var _generateReadableId = require("./generateReadableId");
88
88
  var _validateReadableId = _interopRequireDefault(require("./validateReadableId"));
89
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
89
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
90
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n["default"] = e, t && t.set(e, n), n; }
90
91
  var _default = exports["default"] = {
91
92
  fileHelper: fileHelper,
92
93
  tableHelper: tableHelper,
@@ -186,7 +186,7 @@ var getCleanedJoyDoc = exports.getCleanedJoyDoc = function getCleanedJoyDoc(doc)
186
186
  /**
187
187
  * Step 1.5: Replace view page ids and field ids if they are not valid
188
188
  */
189
- if ((nextFile === null || nextFile === void 0 || (_nextFile$views = nextFile.views) === null || _nextFile$views === void 0 ? void 0 : _nextFile$views.length) > 0) {
189
+ if ((nextFile === null || nextFile === void 0 ? void 0 : (_nextFile$views = nextFile.views) === null || _nextFile$views === void 0 ? void 0 : _nextFile$views.length) > 0) {
190
190
  nextFile.views = nextFile.views.map(function (view) {
191
191
  var nextView = _objectSpread({}, view);
192
192
  nextView.pages = getCleanedJoyDocPages(nextView.pages, nextDoc);
@@ -211,13 +211,28 @@ var removeOrphanedFieldsFromJoydoc = exports.removeOrphanedFieldsFromJoydoc = fu
211
211
  if (!doc) return getDefaultJoyDoc();
212
212
  var nextDoc = _objectSpread({}, doc);
213
213
  var associatedFieldIdLookup = {};
214
- nextDoc === null || nextDoc === void 0 || (_nextDoc$files = nextDoc.files) === null || _nextDoc$files === void 0 || _nextDoc$files.forEach(function (file) {
215
- var _file$views;
214
+ nextDoc === null || nextDoc === void 0 ? void 0 : (_nextDoc$files = nextDoc.files) === null || _nextDoc$files === void 0 ? void 0 : _nextDoc$files.forEach(function (file) {
215
+ var _file$header, _file$header$fieldPos, _file$footer, _file$footer$fieldPos, _file$pages, _file$views;
216
+ /**
217
+ * Header
218
+ */
219
+ if (file.header) (_file$header = file.header) === null || _file$header === void 0 ? void 0 : (_file$header$fieldPos = _file$header.fieldPositions) === null || _file$header$fieldPos === void 0 ? void 0 : _file$header$fieldPos.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 ? void 0 : (_file$footer$fieldPos = _file$footer.fieldPositions) === null || _file$footer$fieldPos === void 0 ? void 0 : _file$footer$fieldPos.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
- page === null || page === void 0 || page.fieldPositions.forEach(function (fieldPosition) {
233
+ (_file$pages = file.pages) === null || _file$pages === void 0 ? void 0 : _file$pages.forEach(function (page) {
234
+ var _page$fieldPositions;
235
+ page === null || page === void 0 ? void 0 : (_page$fieldPositions = page.fieldPositions) === null || _page$fieldPositions === void 0 ? void 0 : _page$fieldPositions.forEach(function (fieldPosition) {
221
236
  return associatedFieldIdLookup[fieldPosition.field] = true;
222
237
  });
223
238
  });
@@ -225,10 +240,11 @@ var removeOrphanedFieldsFromJoydoc = exports.removeOrphanedFieldsFromJoydoc = fu
225
240
  /**
226
241
  * Alternative view
227
242
  */
228
- (_file$views = file.views) === null || _file$views === void 0 || _file$views.forEach(function (view) {
243
+ (_file$views = file.views) === null || _file$views === void 0 ? void 0 : _file$views.forEach(function (view) {
229
244
  var _view$pages;
230
- view === null || view === void 0 || (_view$pages = view.pages) === null || _view$pages === void 0 || _view$pages.forEach(function (page) {
231
- page === null || page === void 0 || page.fieldPositions.forEach(function (fieldPosition) {
245
+ view === null || view === void 0 ? void 0 : (_view$pages = view.pages) === null || _view$pages === void 0 ? void 0 : _view$pages.forEach(function (page) {
246
+ var _page$fieldPositions2;
247
+ page === null || page === void 0 ? void 0 : (_page$fieldPositions2 = page.fieldPositions) === null || _page$fieldPositions2 === void 0 ? void 0 : _page$fieldPositions2.forEach(function (fieldPosition) {
232
248
  return associatedFieldIdLookup[fieldPosition.field] = true;
233
249
  });
234
250
  });
@@ -270,7 +286,7 @@ var getCleanedJoyDocPages = exports.getCleanedJoyDocPages = function getCleanedJ
270
286
  * Step 1: Replace pages[x]._id if it is not valid (always use objectId for pages)
271
287
  */
272
288
  var nextPage = _objectSpread({}, page);
273
- if (nextPage._id && !(0, _validateObjectId["default"])(nextPage._id)) nextPage._id = (0, _generateObjectId["default"])();
289
+ if (nextPage._id && !(0, _validateObjectId["default"])(nextPage._id) && !(0, _validateReadableId["default"])(nextPage._id)) nextPage._id = (0, _generateObjectId["default"])();
274
290
  if (nextPage.fieldPositions && nextPage.fieldPositions.length > 0) {
275
291
  nextPage.fieldPositions = nextPage.fieldPositions.map(function (fieldPosition) {
276
292
  /**
@@ -280,7 +296,7 @@ var getCleanedJoyDocPages = exports.getCleanedJoyDocPages = function getCleanedJ
280
296
  var nextFieldPosition = _objectSpread({}, fieldPosition);
281
297
 
282
298
  // Clean fieldPosition _id
283
- nextFieldPosition._id = nextFieldPosition._id && (0, _validateObjectId["default"])(nextFieldPosition._id) ? nextFieldPosition._id : (0, _generateObjectId["default"])();
299
+ nextFieldPosition._id = nextFieldPosition._id && ((0, _validateObjectId["default"])(nextFieldPosition._id) || (0, _validateReadableId["default"])(nextFieldPosition._id)) ? nextFieldPosition._id : (0, _generateObjectId["default"])();
284
300
 
285
301
  // Clean fieldPosition.field reference
286
302
  nextFieldPosition.field = getFieldId(nextFieldPosition.field, fieldPosition.type, doc);
@@ -437,6 +453,7 @@ var getDocumentFromTemplate = exports.getDocumentFromTemplate = function getDocu
437
453
  var duplicateDocumentPage = exports.duplicateDocumentPage = function duplicateDocumentPage(doc, fileId, pageId) {
438
454
  var _nextDoc$fields;
439
455
  var pageDefaults = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
456
+ console.log('duplicateDocumentPage', doc, fileId, pageId, pageDefaults);
440
457
  var changelogInfo = {
441
458
  primaryPages: {
442
459
  targetIndex: 0,
@@ -451,8 +468,8 @@ var duplicateDocumentPage = exports.duplicateDocumentPage = function duplicateDo
451
468
  });
452
469
  var newPageId = (0, _generateObjectId["default"])();
453
470
  var fieldLookup = {};
454
- (_nextDoc$fields = nextDoc.fields) === null || _nextDoc$fields === void 0 || _nextDoc$fields.forEach(function (field) {
455
- if (field.file === fileId) fieldLookup[field._id] = field;
471
+ (_nextDoc$fields = nextDoc.fields) === null || _nextDoc$fields === void 0 ? void 0 : _nextDoc$fields.forEach(function (field) {
472
+ fieldLookup[field._id] = field;
456
473
  });
457
474
 
458
475
  /**
@@ -484,6 +501,7 @@ var duplicateDocumentPage = exports.duplicateDocumentPage = function duplicateDo
484
501
  var newFieldsLookupByOldId = {};
485
502
  var duplicatedFields = [];
486
503
  fieldIdsToDuplicate.forEach(function (fieldId) {
504
+ var _nextDoc$files$fileIn, _nextDoc$files$fileIn2;
487
505
  /**
488
506
  * Why do we check if a new field has already been created?
489
507
  *
@@ -494,9 +512,22 @@ var duplicateDocumentPage = exports.duplicateDocumentPage = function duplicateDo
494
512
  */
495
513
  if (newFieldsLookupByOldId[fieldId]) return;
496
514
  var field = fieldLookup[fieldId];
515
+
516
+ // Skip if field not found in lookup
517
+ if (!field) return;
518
+
519
+ // Generate readable ID using current fields plus already duplicated fields
520
+ var allFields = [].concat((0, _toConsumableArray2["default"])(nextDoc.fields), (0, _toConsumableArray2["default"])(duplicatedFields));
521
+ var readableId = pageDefaults.useReadableIds ? (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) : (0, _generateObjectId["default"])();
497
526
  var duplicateField = _objectSpread(_objectSpread({}, field), {}, {
498
- _id: (0, _generateObjectId["default"])()
527
+ _id: readableId
499
528
  });
529
+ // Remove formulas property when duplicating
530
+ delete duplicateField.formulas;
500
531
  duplicatedFields.push(duplicateField);
501
532
 
502
533
  /**
@@ -646,7 +677,7 @@ var duplicateDocumentPage = exports.duplicateDocumentPage = function duplicateDo
646
677
  */
647
678
  var getMobileViewFromFile = exports.getMobileViewFromFile = function getMobileViewFromFile(file) {
648
679
  var _file$views2;
649
- var mobileViewIndex = file !== null && file !== void 0 && file.views && (file === null || file === void 0 || (_file$views2 = file.views) === null || _file$views2 === void 0 ? void 0 : _file$views2.length) > 0 ? file.views.findIndex(function (view) {
680
+ var mobileViewIndex = file !== null && file !== void 0 && file.views && (file === null || file === void 0 ? void 0 : (_file$views2 = file.views) === null || _file$views2 === void 0 ? void 0 : _file$views2.length) > 0 ? file.views.findIndex(function (view) {
650
681
  return view.type === _FileViews["default"].mobile;
651
682
  }) : -1;
652
683
  if (mobileViewIndex !== -1) {
@@ -754,10 +785,10 @@ var generateMobilePageFieldPositions = exports.generateMobilePageFieldPositions
754
785
  */
755
786
  var mergeAssoicatedFieldPositionsForMobilePage = exports.mergeAssoicatedFieldPositionsForMobilePage = function mergeAssoicatedFieldPositionsForMobilePage(fieldPositions) {
756
787
  var filteredFieldPositions = [];
757
- fieldPositions === null || fieldPositions === void 0 || fieldPositions.forEach(function (fieldPosition) {
788
+ fieldPositions === null || fieldPositions === void 0 ? void 0 : fieldPositions.forEach(function (fieldPosition) {
758
789
  var fieldPositionIndex = filteredFieldPositions.findIndex(function (filtered) {
759
790
  var _filtered$field, _fieldPosition$field;
760
- return (filtered === null || filtered === void 0 || (_filtered$field = filtered.field) === null || _filtered$field === void 0 ? void 0 : _filtered$field.toString()) === (fieldPosition === null || fieldPosition === void 0 || (_fieldPosition$field = fieldPosition.field) === null || _fieldPosition$field === void 0 ? void 0 : _fieldPosition$field.toString());
791
+ return (filtered === null || filtered === void 0 ? void 0 : (_filtered$field = filtered.field) === null || _filtered$field === void 0 ? void 0 : _filtered$field.toString()) === (fieldPosition === null || fieldPosition === void 0 ? void 0 : (_fieldPosition$field = fieldPosition.field) === null || _fieldPosition$field === void 0 ? void 0 : _fieldPosition$field.toString());
761
792
  });
762
793
 
763
794
  //Only add field to the list if it hasn't already been added
@@ -15,7 +15,8 @@ var _Table = _interopRequireWildcard(require("./constants/Table"));
15
15
  var _FieldTypes = _interopRequireDefault(require("./constants/FieldTypes"));
16
16
  var _FieldTableColumnTypes = _interopRequireDefault(require("./constants/FieldTableColumnTypes"));
17
17
  var _FieldTableCustomColumnIds = _interopRequireDefault(require("./constants/FieldTableCustomColumnIds"));
18
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
18
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
19
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n["default"] = e, t && t.set(e, n), n; }
19
20
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
20
21
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
21
22
  var parser = new _hotFormulaParser.Parser();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@builttocreate/engine-utils",
3
- "version": "2.11.0-beta.1",
3
+ "version": "2.11.0-beta.1629.1",
4
4
  "description": "Utility library for common logic shared across web and mobile",
5
5
  "main": "dist/index.js",
6
6
  "files": [