@livepreso/api 6.56.1 → 6.57.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.
Files changed (92) hide show
  1. package/.rush/temp/chunked-rush-logs/api.build.chunks.jsonl +5 -15
  2. package/.rush/temp/operation/build/all.log +5 -15
  3. package/.rush/temp/operation/build/error.log +3 -13
  4. package/.rush/temp/operation/build/log-chunks.jsonl +5 -15
  5. package/.rush/temp/operation/build/state.json +1 -1
  6. package/CHANGELOG.json +35 -0
  7. package/CHANGELOG.md +17 -1
  8. package/cjs/collections/adjunct-sub-slides.js +13 -1
  9. package/cjs/collections/adjunct-sub-slides.js.map +1 -1
  10. package/cjs/fixtures.js +13 -2
  11. package/cjs/fixtures.js.map +1 -1
  12. package/cjs/models/base.js +12 -3
  13. package/cjs/models/base.js.map +1 -1
  14. package/cjs/models/deck-version.js +2 -0
  15. package/cjs/models/deck-version.js.map +1 -1
  16. package/cjs/models/dispatch-preview.js +0 -2
  17. package/cjs/models/dispatch-preview.js.map +1 -1
  18. package/cjs/models/dispatch.js +1 -1
  19. package/cjs/models/dispatch.js.map +1 -1
  20. package/cjs/models/manifest-json.js +0 -2
  21. package/cjs/models/manifest-json.js.map +1 -1
  22. package/cjs/models/room.js +4 -0
  23. package/cjs/models/room.js.map +1 -1
  24. package/cjs/models/user.js +1 -1
  25. package/cjs/models/user.js.map +1 -1
  26. package/cjs/presentation/base-presentation-model.js +6 -6
  27. package/cjs/presentation/base-presentation-model.js.map +1 -1
  28. package/cjs/presentation/presentation-deck.js +82 -27
  29. package/cjs/presentation/presentation-deck.js.map +1 -1
  30. package/cjs/presentation/presentation-section.js +42 -47
  31. package/cjs/presentation/presentation-section.js.map +1 -1
  32. package/cjs/presentation/presentation-slide.js +35 -39
  33. package/cjs/presentation/presentation-slide.js.map +1 -1
  34. package/cjs/sync.js +3 -3
  35. package/cjs/sync.js.map +1 -1
  36. package/cjs/utils.js +9 -6
  37. package/cjs/utils.js.map +1 -1
  38. package/package.json +2 -2
  39. package/rush-logs/api.build.error.log +3 -13
  40. package/rush-logs/api.build.log +5 -15
  41. package/src/collections/adjunct-sub-slides.js +13 -0
  42. package/src/fixtures.js +16 -2
  43. package/src/models/base.js +16 -3
  44. package/src/models/deck-version.js +2 -0
  45. package/src/models/dispatch-preview.js +0 -3
  46. package/src/models/dispatch.js +1 -1
  47. package/src/models/manifest-json.js +7 -12
  48. package/src/models/room.js +5 -0
  49. package/src/models/user.js +4 -4
  50. package/src/presentation/base-presentation-model.js +14 -6
  51. package/src/presentation/presentation-deck.js +63 -24
  52. package/src/presentation/presentation-section.js +31 -50
  53. package/src/presentation/presentation-slide.js +36 -43
  54. package/src/sync.js +3 -4
  55. package/src/utils.js +9 -6
  56. package/.rush/temp/1aebf46f78ad5c45f82f8147751890adb37bef9d.log +0 -10
  57. package/.rush/temp/256021b5963b4c0221d3dec247b697b9691a9b2c.log +0 -10
  58. package/.rush/temp/2a322f00f12cf9d1e64afe81275cc78d01c49050.log +0 -10
  59. package/.rush/temp/30061f1865447dcbb3f20a305061205f3dbe6091.log +0 -10
  60. package/.rush/temp/3cdc82c352e8ed90607952873f3aa4c200490874.log +0 -10
  61. package/.rush/temp/45522aea0dee8cb2be1a53248ba45bd235743b43.log +0 -10
  62. package/.rush/temp/5489ab737e406518983c16c57fc3e1edc07c0341.log +0 -10
  63. package/.rush/temp/58fcbb7f15a76326d40e0839ab179755da82a891.log +0 -10
  64. package/.rush/temp/5bc0bba70b733baa4dd976667ba0a1386e516186.log +0 -10
  65. package/.rush/temp/64f1bb696f8d7d7e72907b80df316b127f72e23e.log +0 -10
  66. package/.rush/temp/6f640f951414ea68adb65c17e4ed7527cde54faf.log +0 -10
  67. package/.rush/temp/7c7b958682d4ab5697530be47d0aac62efe1adf1.log +0 -10
  68. package/.rush/temp/82bfb987463fbcfebf04022e6ed00015c73879c8.log +0 -10
  69. package/.rush/temp/844034aa6e542115075e8f3dc5ffc640973e0064.log +0 -10
  70. package/.rush/temp/8b42957a7c15da1f29cb57bee125f13affa70dca.log +0 -10
  71. package/.rush/temp/924652444ab5a6063f328a2217123a2227058896.log +0 -10
  72. package/.rush/temp/9f2030f96d62f3e38052e35201819a216566f14f.log +0 -10
  73. package/.rush/temp/a769db9d81a23000c0e9b1bf4f1a9a9e721d0d7c.log +0 -10
  74. package/.rush/temp/a87d3a8b4ece87ec66f27c86226a9f205617681f.log +0 -10
  75. package/.rush/temp/bb7a5bdcc4af4ad1507f81f33774b31f5b4e4fb7.log +0 -10
  76. package/.rush/temp/build-cache-tar.log +0 -7
  77. package/.rush/temp/c20e29ccaaa9231b38a28bb24451b4ce7562cdc0.log +0 -10
  78. package/.rush/temp/chunked-rush-logs/api.test.chunks.jsonl +0 -1
  79. package/.rush/temp/e21303db8f59b4625fd184c9114377d781fd24f8.log +0 -10
  80. package/.rush/temp/e6d303862765b6a5f41dd483d0f9ae083a1fae10.log +0 -10
  81. package/.rush/temp/eaf69fbc059d2f1258d7569136180d4a1d3c7072.log +0 -10
  82. package/.rush/temp/f85d279e2674966daaec83e1c3986a96f86ef304.log +0 -10
  83. package/.rush/temp/fc0a332c5b34c6b90006850cf2d93a48fb4b9a6e.log +0 -10
  84. package/.rush/temp/operation/test/all.log +0 -21
  85. package/.rush/temp/operation/test/log-chunks.jsonl +0 -21
  86. package/.rush/temp/operation/test/state.json +0 -3
  87. package/.rush/temp/package-deps_build.json +0 -185
  88. package/api.build.log +0 -9
  89. package/api.test.cache.log +0 -1
  90. package/api.test.log +0 -19
  91. package/rush-logs/api.test.cache.log +0 -1
  92. package/rush-logs/api.test.log +0 -1
@@ -6,9 +6,9 @@ Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.PresentationSlide = void 0;
9
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
10
9
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
12
12
  require("./presentation-subslides.js");
13
13
  var collections = _interopRequireWildcard(require("../collections.js"));
14
14
  var _models = require("../models.js");
@@ -150,23 +150,22 @@ var PresentationSlide = exports.PresentationSlide = _basePresentationModel.BaseP
150
150
  * @returns {presentation.PresentationSlide}
151
151
  */
152
152
  PresentationSlide.createFromSlide = function (slideModel) {
153
+ var _options$adjunctSubSl, _options$rootAssetPat, _options$selections, _options$choicelist, _options$getUniqueAdj, _options$screenshots, _options$adjunctSubSl2;
153
154
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
154
- _lodash.default.defaults(options, {
155
- adjunctSubSlides: new collections.AdjunctSubSlideCollection(),
156
- screenshots: new collections.DeckVersionScreenshotCollection(),
157
- rootAssetPath: null,
158
- selections: null,
159
- choicelist: null,
160
- getUniqueAdjunctID: function getUniqueAdjunctID() {
161
- return parseInt(_lodash.default.uniqueId(), 10);
162
- }
163
- });
164
- options.screenshots = PresentationSlide.screenshotsToMap(options.screenshots);
155
+ (_options$adjunctSubSl = options.adjunctSubSlides) !== null && _options$adjunctSubSl !== void 0 ? _options$adjunctSubSl : options.adjunctSubSlides = new collections.AdjunctSubSlideCollection();
156
+ (_options$rootAssetPat = options.rootAssetPath) !== null && _options$rootAssetPat !== void 0 ? _options$rootAssetPat : options.rootAssetPath = null;
157
+ (_options$selections = options.selections) !== null && _options$selections !== void 0 ? _options$selections : options.selections = null;
158
+ (_options$choicelist = options.choicelist) !== null && _options$choicelist !== void 0 ? _options$choicelist : options.choicelist = null;
159
+ (_options$getUniqueAdj = options.getUniqueAdjunctID) !== null && _options$getUniqueAdj !== void 0 ? _options$getUniqueAdj : options.getUniqueAdjunctID = function () {
160
+ return parseInt(_lodash.default.uniqueId(), 10);
161
+ };
162
+ options.screenshots = PresentationSlide.screenshotsToMap((_options$screenshots = options.screenshots) !== null && _options$screenshots !== void 0 ? _options$screenshots : new collections.DeckVersionScreenshotCollection());
165
163
  var html;
166
164
  var css;
167
165
  var assetRoot = (0, _index.getAssetRoot)(slideModel.index_asset.url());
168
166
  if (options.rootAssetPath) {
169
- var baseRoot = (0, _index.getAssetRoot)(slideModel.section.deckversion.index_asset.url());
167
+ var _options$baseRoot;
168
+ var baseRoot = (_options$baseRoot = options.baseRoot) !== null && _options$baseRoot !== void 0 ? _options$baseRoot : (0, _index.getAssetRoot)(slideModel.section.deckversion.index_asset.url());
170
169
  var slidePath = assetRoot.slice(baseRoot.length);
171
170
  html = "".concat(options.rootAssetPath).concat(slidePath, "index.html");
172
171
  css = "".concat(options.rootAssetPath).concat(slidePath, "slide.css");
@@ -204,7 +203,7 @@ PresentationSlide.createFromSlide = function (slideModel) {
204
203
  slide.subslides.add(slideModel.subslide_set.map(function (model) {
205
204
  return _presentationSubslide.PresentationSubSlide.createFromSubSlide(model, options);
206
205
  }));
207
- var adjunctSubslides = options.adjunctSubSlides.filter(function (model) {
206
+ var adjunctSubslides = options.adjunctSubSlidesBySlide ? (_options$adjunctSubSl2 = options.adjunctSubSlidesBySlide.get(slideModel.id)) !== null && _options$adjunctSubSl2 !== void 0 ? _options$adjunctSubSl2 : [] : options.adjunctSubSlides.filter(function (model) {
208
207
  return model.slide.id === slideModel.id;
209
208
  });
210
209
 
@@ -217,7 +216,9 @@ PresentationSlide.createFromSlide = function (slideModel) {
217
216
  }
218
217
  var maxID = 0;
219
218
  if (slide.subslides.length) {
220
- maxID = _lodash.default.max(slide.subslides.pluck("id"));
219
+ maxID = Math.max.apply(Math, (0, _toConsumableArray2.default)(slide.subslides.map(function (s) {
220
+ return s.id;
221
+ })));
221
222
  }
222
223
 
223
224
  // Add any adjunct subslides to the list
@@ -239,20 +240,17 @@ PresentationSlide.createFromSlide = function (slideModel) {
239
240
  * @returns {presentation.PresentationSlide}
240
241
  */
241
242
  PresentationSlide.createFromAdjunctSlide = function (adjunctSlideModel) {
242
- var _adjunctSlideModel$cr, _adjunctSlideModel$te, _adjunctSlideModel$te2;
243
+ var _options$id, _options$rootAssetPat2, _options$selections2, _options$choicelist2, _options$getUniqueAdj2, _options$screenshots2, _adjunctSlideModel$cr, _adjunctSlideModel$te, _adjunctSlideModel$te2;
243
244
  var section = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
244
245
  var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
245
- _lodash.default.defaults(options, {
246
- id: null,
247
- rootAssetPath: null,
248
- selections: null,
249
- choicelist: null,
250
- getUniqueAdjunctID: function getUniqueAdjunctID() {
251
- return parseInt(_lodash.default.uniqueId(), 10);
252
- },
253
- screenshots: new collections.DeckVersionScreenshotCollection()
254
- });
255
- options.screenshots = PresentationSlide.screenshotsToMap(options.screenshots);
246
+ (_options$id = options.id) !== null && _options$id !== void 0 ? _options$id : options.id = null;
247
+ (_options$rootAssetPat2 = options.rootAssetPath) !== null && _options$rootAssetPat2 !== void 0 ? _options$rootAssetPat2 : options.rootAssetPath = null;
248
+ (_options$selections2 = options.selections) !== null && _options$selections2 !== void 0 ? _options$selections2 : options.selections = null;
249
+ (_options$choicelist2 = options.choicelist) !== null && _options$choicelist2 !== void 0 ? _options$choicelist2 : options.choicelist = null;
250
+ (_options$getUniqueAdj2 = options.getUniqueAdjunctID) !== null && _options$getUniqueAdj2 !== void 0 ? _options$getUniqueAdj2 : options.getUniqueAdjunctID = function () {
251
+ return parseInt(_lodash.default.uniqueId(), 10);
252
+ };
253
+ options.screenshots = PresentationSlide.screenshotsToMap((_options$screenshots2 = options.screenshots) !== null && _options$screenshots2 !== void 0 ? _options$screenshots2 : new collections.DeckVersionScreenshotCollection());
256
254
  var keyID = adjunctSlideModel.id || (adjunctSlideModel.creator_autoadjunct ? adjunctSlideModel.creator_autoadjunct.id : null);
257
255
  var key = null;
258
256
  if (adjunctSlideModel.key) {
@@ -393,7 +391,7 @@ PresentationSlide.createFromTemplate = function (template, index, sectionID) {
393
391
  return presentationSlide;
394
392
  };
395
393
  PresentationSlide.createFromAutoAdjunct = function (model) {
396
- var _autoAdjunct$template;
394
+ var _options$allowConvert, _options$visible, _options$index, _options$deckversionI, _options$sectionKey, _options$sequence, _options$impostor, _options$screenshots3, _autoAdjunct$template;
397
395
  var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
398
396
  var requiredKeys = ["index", "deckversionID"];
399
397
  for (var _i = 0, _requiredKeys = requiredKeys; _i < _requiredKeys.length; _i++) {
@@ -402,17 +400,15 @@ PresentationSlide.createFromAutoAdjunct = function (model) {
402
400
  throw new Error("Missing required key '".concat(key, "'."));
403
401
  }
404
402
  }
405
- var options = _lodash.default.defaults(opts, {
406
- allowConvert: true,
407
- visible: true,
408
- index: -1,
409
- deckversionID: -1,
410
- sectionKey: "",
411
- sequence: opts.index,
412
- impostor: false,
413
- screenshots: new collections.DeckVersionScreenshotCollection()
414
- });
415
- options.screenshots = PresentationSlide.screenshotsToMap(options.screenshots);
403
+ var options = opts;
404
+ (_options$allowConvert = options.allowConvert) !== null && _options$allowConvert !== void 0 ? _options$allowConvert : options.allowConvert = true;
405
+ (_options$visible = options.visible) !== null && _options$visible !== void 0 ? _options$visible : options.visible = true;
406
+ (_options$index = options.index) !== null && _options$index !== void 0 ? _options$index : options.index = -1;
407
+ (_options$deckversionI = options.deckversionID) !== null && _options$deckversionI !== void 0 ? _options$deckversionI : options.deckversionID = -1;
408
+ (_options$sectionKey = options.sectionKey) !== null && _options$sectionKey !== void 0 ? _options$sectionKey : options.sectionKey = "";
409
+ (_options$sequence = options.sequence) !== null && _options$sequence !== void 0 ? _options$sequence : options.sequence = opts.index;
410
+ (_options$impostor = options.impostor) !== null && _options$impostor !== void 0 ? _options$impostor : options.impostor = false;
411
+ options.screenshots = PresentationSlide.screenshotsToMap((_options$screenshots3 = options.screenshots) !== null && _options$screenshots3 !== void 0 ? _options$screenshots3 : new collections.DeckVersionScreenshotCollection());
416
412
  var tags = PresentationSlide.getTags({
417
413
  isAutoAdjunct: true,
418
414
  key: model.key,
@@ -1 +1 @@
1
- {"version":3,"file":"presentation-slide.js","names":["require","collections","_interopRequireWildcard","_models","_basePresentationModel","_presentationSubslide","_lodash","_interopRequireDefault","_index","_stateRegister","_utils","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","PresentationSlide","exports","BasePresentationModel","extend","props","id","adjunctID","autoAdjunctID","type","templateID","createdByAutoAdjunct","createdByTemplate","namespacedKey","html","css","index","key","sequence","custom","temporary","visible","title","section","sectionKey","image","_orig_image","thumbnail","selectionID","editable","titleEditable","notesEditable","tagsEditable","tags","cmsvalkey_set","isWelcome","isSlide","isSection","children","adjunct","template","subslides","url","_url","_","isNumber","AdjunctSlideModel","SlideModel","toString","concat","createFromSlide","slideModel","options","undefined","defaults","adjunctSubSlides","AdjunctSubSlideCollection","screenshots","DeckVersionScreenshotCollection","rootAssetPath","selections","choicelist","getUniqueAdjunctID","parseInt","uniqueId","screenshotsToMap","assetRoot","getAssetRoot","index_asset","baseRoot","deckversion","slidePath","slice","config","getVisibilityAndSequence","getTags","slide","getThumbnail","indexOf","namespaced_key","add","subslide_set","map","model","PresentationSubSlide","createFromSubSlide","adjunctSubslides","maxID","max","pluck","createFromAdjunctSubSlide","createFromAdjunctSlide","adjunctSlideModel","_adjunctSlideModel$cr","_adjunctSlideModel$te","_adjunctSlideModel$te2","keyID","creator_autoadjunct","image_256","created_by_autoadjunct","Boolean","Error","origPath","orig_path","image_original","createFromManifestJSON","manifestJSON","project","sectionID","_project$sections","_project$sections$fin","_projectSection$slide","_projectSection$slide2","_projectSlide$editabl","_key$split","split","_key$split2","_slicedToArray2","slideKey","projectSection","sections","find","s","projectSlide","slides","titles","resolveURL","getAssetPath","ordering","editables","createFromManifestImpostor","_section","_project$sections2","_project$sections2$fi","_projectSection$slide3","_projectSection$slide4","_projectSlide$editabl2","presentationSlide","createFromTemplate","minID","Number","createFromAutoAdjunct","_autoAdjunct$template","opts","requiredKeys","_i","_requiredKeys","allowConvert","deckversionID","impostor","isAutoAdjunct","autoAdjunct","AutoAdjunctModel","autoAdjunctSlide","name","_autoAdjunctSlide$cms","missingKeys","k","startsWith","_toConsumableArray2","register"],"sources":["../../src/presentation/presentation-slide.js"],"sourcesContent":["import \"./presentation-subslides.js\";\n\nimport * as collections from \"../collections.js\";\n\nimport { AdjunctSlideModel, AutoAdjunctModel, SlideModel } from \"../models.js\";\n\nimport { BasePresentationModel } from \"./base-presentation-model.js\";\nimport { PresentationSubSlide } from \"./presentation-subslide.js\";\nimport _ from \"lodash\";\nimport { getAssetRoot } from \"../index.js\";\nimport { register } from \"../state-register.js\";\nimport { resolveURL } from \"../utils.js\";\n\n/**\n * @constructor\n * @alias presentation.PresentationSlide\n * @extends presentation.BasePresentationModel\n */\nexport const PresentationSlide = BasePresentationModel.extend(\n\t/** @lends presentation.PresentationSlide# */ {\n\t\t/**\n\t\t * @property {number} id\n\t\t * @property {number} adjunctID\n\t\t * @property {number} autoAdjunctID\n\t\t * @property {number} templateID\n\t\t * @property {boolean} createdByAutoAdjunct\n\t\t * @property {boolean} createdByTemplate\n\t\t * @property {string} namespacedKey\n\t\t * @property {string} html\n\t\t * @property {string} css\n\t\t * @property {number} index\n\t\t * @property {string} key\n\t\t * @property {number} sequence\n\t\t * @property {boolean} custom\n\t\t * @property {boolean} temporary\n\t\t * @property {boolean} visible\n\t\t * @property {string} title\n\t\t * @property {number} section\n\t\t * @property {string} image\n\t\t * @property {string} _orig_image\n\t\t * @property {string} thumbnail\n\t\t * @property {number} selectionID\n\t\t * @property {bool} editable\n\t\t * @property {bool} titleEditable\n\t\t * @property {bool} notesEditable\n\t\t * @property {bool} tagsEditable\n\t\t * @property {array} tags\n\t\t * @property {string[]} cmsvalkey_set\n\t\t */\n\t\tprops: {\n\t\t\tid: \"number\",\n\t\t\tadjunctID: \"number\",\n\t\t\tautoAdjunctID: {\n\t\t\t\ttype: \"number\",\n\t\t\t\tdefault: null,\n\t\t\t},\n\t\t\ttemplateID: {\n\t\t\t\ttype: \"number\",\n\t\t\t\tdefault: null,\n\t\t\t},\n\t\t\tcreatedByAutoAdjunct: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: false,\n\t\t\t},\n\t\t\tcreatedByTemplate: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: false,\n\t\t\t},\n\t\t\tnamespacedKey: \"string\",\n\t\t\thtml: \"string\",\n\t\t\tcss: \"string\",\n\t\t\tindex: \"number\",\n\t\t\tkey: \"string\",\n\t\t\tsequence: \"number\",\n\t\t\tcustom: \"boolean\",\n\t\t\ttemporary: \"boolean\",\n\t\t\tvisible: \"boolean\",\n\t\t\ttitle: \"string\",\n\t\t\tsection: \"number\",\n\t\t\tsectionKey: \"string\",\n\t\t\timage: \"string\",\n\t\t\t_orig_image: \"string\",\n\t\t\tthumbnail: \"string\",\n\t\t\tselectionID: \"number\",\n\t\t\teditable: \"boolean\",\n\t\t\ttitleEditable: \"boolean\",\n\t\t\tnotesEditable: \"boolean\",\n\t\t\ttagsEditable: \"boolean\",\n\t\t\ttags: \"array\",\n\t\t\tcmsvalkey_set: \"array\",\n\t\t\tisWelcome: { type: \"boolean\", default: false },\n\t\t\tisSlide: { type: \"boolean\", default: true },\n\t\t\tisSection: { type: \"boolean\", default: false },\n\t\t},\n\n\t\t/**\n\t\t * @property {models.AdjunctModel} adjunct\n\t\t */\n\t\tchildren: {\n\t\t\tadjunct: \"AdjunctModel\",\n\t\t\ttemplate: \"TemplateModel\",\n\t\t},\n\n\t\t/**\n\t\t * @property {presentation.PresentationSubSlideCollection} subslides\n\t\t */\n\t\tcollections: {\n\t\t\tsubslides: \"PresentationSubSlideCollection\",\n\t\t},\n\n\t\turl() {\n\t\t\tif (!this._url) {\n\t\t\t\tif (_.isNumber(this.adjunctID)) {\n\t\t\t\t\tthis._url = new AdjunctSlideModel({ id: this.adjunctID }).url();\n\t\t\t\t} else {\n\t\t\t\t\tthis._url = new SlideModel({ id: this.id }).url();\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn this._url;\n\t\t},\n\n\t\ttoString() {\n\t\t\treturn `Slide: ${this.key} (${this.id})`;\n\t\t},\n\t},\n);\n\n/**\n * @function createFromSlide\n * @memberof presentation.PresentationSlide\n * @param {models.SlideModel} slideModel\n * @param {object} [options]\n * @returns {presentation.PresentationSlide}\n */\nPresentationSlide.createFromSlide = function (slideModel, options = {}) {\n\t_.defaults(options, {\n\t\tadjunctSubSlides: new collections.AdjunctSubSlideCollection(),\n\t\tscreenshots: new collections.DeckVersionScreenshotCollection(),\n\t\trootAssetPath: null,\n\t\tselections: null,\n\t\tchoicelist: null,\n\t\tgetUniqueAdjunctID: () => {\n\t\t\treturn parseInt(_.uniqueId(), 10);\n\t\t},\n\t});\n\n\toptions.screenshots = PresentationSlide.screenshotsToMap(options.screenshots);\n\n\tlet html;\n\tlet css;\n\n\tconst assetRoot = getAssetRoot(slideModel.index_asset.url());\n\n\tif (options.rootAssetPath) {\n\t\tconst baseRoot = getAssetRoot(\n\t\t\tslideModel.section.deckversion.index_asset.url(),\n\t\t);\n\t\tconst slidePath = assetRoot.slice(baseRoot.length);\n\t\thtml = `${options.rootAssetPath}${slidePath}index.html`;\n\t\tcss = `${options.rootAssetPath}${slidePath}slide.css`;\n\t} else {\n\t\thtml = `${assetRoot}index.html`;\n\t\tcss = `${assetRoot}slide.css`;\n\t}\n\n\tconst config = PresentationSlide.getVisibilityAndSequence(\n\t\tslideModel,\n\t\toptions,\n\t);\n\n\tconst tags = PresentationSlide.getTags(slideModel, options);\n\n\tconst slide = new PresentationSlide({\n\t\tid: slideModel.id,\n\t\tadjunctID: null,\n\t\thtml,\n\t\tcss,\n\t\tkey: slideModel.key,\n\t\tthumbnail: PresentationSlide.getThumbnail(slideModel, options.screenshots),\n\t\tcustom: false,\n\t\teditable: tags.indexOf(\"editable\") > -1,\n\t\t// By default this is true for a deck slide. These can be changed later in PM depending\n\t\t// on the logged in user and properties of an AutoAdjunct\n\t\ttitleEditable: false,\n\t\tnotesEditable: true,\n\t\ttagsEditable: true,\n\t\ttitle: slideModel.title,\n\t\tsection: slideModel.section.id,\n\t\tsectionKey: slideModel.section.key,\n\t\ttags,\n\t\tindex: config.sequence,\n\t\tsequence: config.sequence,\n\t\tvisible: config.visible,\n\t\tselectionID: config.selectionID,\n\t\tcmsvalkey_set: slideModel.cmsvalkey_set,\n\t\tnamespacedKey: slideModel.namespaced_key,\n\t});\n\n\tslide.subslides.add(\n\t\tslideModel.subslide_set.map((model) => {\n\t\t\treturn PresentationSubSlide.createFromSubSlide(model, options);\n\t\t}),\n\t);\n\n\tconst adjunctSubslides = options.adjunctSubSlides.filter((model) => {\n\t\treturn model.slide.id === slideModel.id;\n\t});\n\n\t// If the slide's content is entirely adjunct and does not have a distinct\n\t// first subslide, we need to create one based on the slide.\n\t// This is mostly just a legacy format and is required for screenshots.\n\t// See REA-Developer's Investment Summary for an example.\n\tif (\n\t\tadjunctSubslides.length &&\n\t\t!slide.subslides.length &&\n\t\t!(tags.indexOf(\"subslide_container\") > -1)\n\t) {\n\t\tslide.subslides.add(PresentationSubSlide.createFromSlide(slide));\n\t}\n\n\tlet maxID = 0;\n\tif (slide.subslides.length) {\n\t\tmaxID = _.max(slide.subslides.pluck(\"id\"));\n\t}\n\n\t// Add any adjunct subslides to the list\n\tslide.subslides.add(\n\t\tadjunctSubslides.map((model, index) => {\n\t\t\tconst id = maxID + index + 1;\n\n\t\t\treturn PresentationSubSlide.createFromAdjunctSubSlide(model, slideModel, {\n\t\t\t\t...options,\n\t\t\t\tid,\n\t\t\t});\n\t\t}),\n\t);\n\n\treturn slide;\n};\n\n/**\n * @function createFromAdjunctSlide\n * @memberof presentation.PresentationSlide\n * @param {models.AdjunctSlideModel} adjunctSlideModel\n * @param {models.SectionModel} sectionModel\n * @param {object} [options]\n * @returns {presentation.PresentationSlide}\n */\nPresentationSlide.createFromAdjunctSlide = function (\n\tadjunctSlideModel,\n\tsection = null,\n\toptions = {},\n) {\n\t_.defaults(options, {\n\t\tid: null,\n\t\trootAssetPath: null,\n\t\tselections: null,\n\t\tchoicelist: null,\n\t\tgetUniqueAdjunctID: () => {\n\t\t\treturn parseInt(_.uniqueId(), 10);\n\t\t},\n\t\tscreenshots: new collections.DeckVersionScreenshotCollection(),\n\t});\n\n\toptions.screenshots = PresentationSlide.screenshotsToMap(options.screenshots);\n\n\tconst keyID =\n\t\tadjunctSlideModel.id ||\n\t\t(adjunctSlideModel.creator_autoadjunct\n\t\t\t? adjunctSlideModel.creator_autoadjunct.id\n\t\t\t: null);\n\n\tlet key = null;\n\n\tif (adjunctSlideModel.key) {\n\t\tkey = adjunctSlideModel.key;\n\t} else if (keyID) {\n\t\tkey = `adjunct-${keyID}`;\n\t\tadjunctSlideModel.key = key;\n\t}\n\n\tconst config = PresentationSlide.getVisibilityAndSequence(\n\t\tadjunctSlideModel,\n\t\toptions,\n\t);\n\n\tconst tags = PresentationSlide.getTags(adjunctSlideModel, options);\n\n\tconst autoAdjunctID = adjunctSlideModel.creator_autoadjunct?.id || null;\n\n\tconst slide = new PresentationSlide({\n\t\tid: options.id || options.getUniqueAdjunctID(),\n\t\tadjunct: adjunctSlideModel.adjunct,\n\t\tadjunctID: adjunctSlideModel.id,\n\t\tautoAdjunctID,\n\t\tkey,\n\t\tthumbnail: adjunctSlideModel.image_256,\n\t\tcreatedByAutoAdjunct: adjunctSlideModel.created_by_autoadjunct,\n\t\tcreatedByTemplate: Boolean(adjunctSlideModel.template),\n\t\tcustom: !adjunctSlideModel.created_by_autoadjunct,\n\t\ttemporary: adjunctSlideModel.created_by_autoadjunct,\n\t\ttitle: adjunctSlideModel.title,\n\t\tsection: section ? section.id : null,\n\t\ttags,\n\t\tindex: config.sequence,\n\t\tsequence: config.sequence,\n\t\tvisible: config.visible,\n\t\tcmsvalkey_set: adjunctSlideModel.template?.cmsvalkey_set || [],\n\t\ttemplateID: adjunctSlideModel.template?.id || null,\n\t\ttemplate: adjunctSlideModel.template || null,\n\t\tnamespacedKey: adjunctSlideModel.namespaced_key,\n\t});\n\n\tif (adjunctSlideModel.template) {\n\t\tif (!adjunctSlideModel.template.index_asset) {\n\t\t\tthrow new Error(\n\t\t\t\t\"Template missing index_asset. Do you have the whole template available?\",\n\t\t\t);\n\t\t}\n\t\tconst origPath = adjunctSlideModel.template.index_asset.orig_path;\n\t\tlet html;\n\t\tlet css;\n\n\t\tif (options.rootAssetPath) {\n\t\t\thtml = `${options.rootAssetPath}${origPath}/index.html`;\n\t\t\tcss = `${options.rootAssetPath}${origPath}/slide.css`;\n\t\t} else {\n\t\t\tconst assetRoot = getAssetRoot(\n\t\t\t\tadjunctSlideModel.template.index_asset.url(),\n\t\t\t);\n\t\t\thtml = `${assetRoot}index.html`;\n\t\t\tcss = `${assetRoot}slide.css`;\n\t\t}\n\t\tslide.html = html;\n\t\tslide.css = css;\n\n\t\tif (adjunctSlideModel.creator_autoadjunct) {\n\t\t\tslide.thumbnail = PresentationSlide.getThumbnail(\n\t\t\t\tadjunctSlideModel.creator_autoadjunct,\n\t\t\t\toptions.screenshots,\n\t\t\t);\n\t\t}\n\n\t\tif (!slide.thumbnail) {\n\t\t\tslide.thumbnail = adjunctSlideModel.template.image_256;\n\t\t}\n\t} else {\n\t\tslide.image = adjunctSlideModel.image_original;\n\t}\n\n\treturn slide;\n};\n\nPresentationSlide.createFromManifestJSON = function (\n\tmanifestJSON,\n\tproject,\n\tkey,\n\tsectionID,\n\tindex,\n) {\n\tconst [sectionKey, slideKey] = key.split(\"/\");\n\tconst projectSection = project?.sections?.find?.((s) => s.key === sectionKey);\n\tconst projectSlide = projectSection?.slides?.find?.(\n\t\t(s) => s.key === slideKey,\n\t);\n\n\tconst slide = new PresentationSlide({\n\t\tid: parseInt(_.uniqueId(), 10),\n\t\ttitle: manifestJSON.titles[key],\n\t\tindex,\n\t\thtml: resolveURL(manifestJSON.getAssetPath(key), \"index.html\"),\n\t\tcss: resolveURL(manifestJSON.getAssetPath(key), \"slide.css\"),\n\t\tkey: slideKey,\n\t\teditable: false,\n\t\ttitleEditable: false,\n\t\tnotesEditable: true,\n\t\ttagsEditable: true,\n\t\tsequence: manifestJSON.ordering[key],\n\t\tthumbnail: null,\n\t\tcustom: false,\n\t\tvisible: true,\n\t\tsection: sectionID,\n\t\ttags: manifestJSON.tags[key] || null,\n\t\tcmsvalkey_set: projectSlide?.editables ?? [],\n\t});\n\n\treturn slide;\n};\n\nPresentationSlide.createFromManifestImpostor = function (\n\tslide,\n\t_section,\n\tproject,\n\tindex,\n\tsectionID,\n) {\n\tconst projectSection = project?.sections?.find?.(\n\t\t(s) => s.key === project.key,\n\t);\n\tconst projectSlide = projectSection?.slides?.find?.(\n\t\t(s) => s.key === slide.key,\n\t);\n\n\tconst presentationSlide = new PresentationSlide({\n\t\tid: parseInt(_.uniqueId(), 10),\n\t\teditable: slide.tags.indexOf(\"editable\") !== -1,\n\t\ttitleEditable: false,\n\t\tnotesEditable: true,\n\t\ttagsEditable: true,\n\t\tthumbnail: null,\n\t\tcustom: false,\n\t\tvisible: true,\n\t\tsection: sectionID,\n\t\tindex,\n\t\t...slide,\n\t\tcmsvalkey_set: projectSlide?.editables ?? [],\n\t});\n\n\treturn presentationSlide;\n};\n\nPresentationSlide.createFromTemplate = function (\n\ttemplate,\n\tindex,\n\tsectionID,\n\tminID = 0,\n) {\n\tconst presentationSlide = new PresentationSlide({\n\t\t...template,\n\t\tid: minID + parseInt(_.uniqueId(), 10),\n\t\teditable: false,\n\t\ttitleEditable: false,\n\t\tnotesEditable: false,\n\t\ttagsEditable: false,\n\t\tcustom: false,\n\t\tvisible: true,\n\t\tthumbnail: template.image_256,\n\t\tsection: sectionID,\n\t\t// Makes sure templates are rendered with unique IDs\n\t\tautoAdjunctID: Number(_.uniqueId()),\n\t\tindex,\n\t\tcreatedByTemplate: true,\n\t\tcmsvalkey_set: [],\n\t\tnamespacedKey: template.namespaced_key,\n\t});\n\treturn presentationSlide;\n};\n\nPresentationSlide.createFromAutoAdjunct = function (model, opts = {}) {\n\tconst requiredKeys = [\"index\", \"deckversionID\"];\n\tfor (const key of requiredKeys) {\n\t\tif (typeof opts[key] === \"undefined\") {\n\t\t\tthrow new Error(`Missing required key '${key}'.`);\n\t\t}\n\t}\n\n\tconst options = _.defaults(opts, {\n\t\tallowConvert: true,\n\t\tvisible: true,\n\t\tindex: -1,\n\t\tdeckversionID: -1,\n\t\tsectionKey: \"\",\n\t\tsequence: opts.index,\n\t\timpostor: false,\n\t\tscreenshots: new collections.DeckVersionScreenshotCollection(),\n\t});\n\n\toptions.screenshots = PresentationSlide.screenshotsToMap(options.screenshots);\n\n\tconst tags = PresentationSlide.getTags(\n\t\t{\n\t\t\tisAutoAdjunct: true,\n\t\t\tkey: model.key,\n\t\t\ttags: model.tags,\n\t\t},\n\t\toptions,\n\t);\n\n\tconst autoAdjunct = new AutoAdjunctModel(model);\n\n\tconst autoAdjunctSlide = new PresentationSlide({\n\t\tid: options.id || autoAdjunct.id,\n\t\tadjunctID: autoAdjunct.id,\n\t\tautoAdjunctID: autoAdjunct.id,\n\t\tcreatedByTemplate: autoAdjunct.template !== null,\n\t\ttemplateID: autoAdjunct.template?.id || null,\n\t\ttemplate: autoAdjunct.template || null,\n\t\thtml: \"\",\n\t\tcss: \"\",\n\t\tsequence: options.sequence,\n\t\tindex: options.index,\n\t\tkey: autoAdjunct.key,\n\t\tcreatedByAutoAdjunct: false,\n\t\tthumbnail: PresentationSlide.getThumbnail(autoAdjunct, options.screenshots),\n\t\ttemporary: true,\n\t\ttitle: autoAdjunct.name,\n\t\tvisible: options.visible,\n\t\tallowConvert: options.allowConvert,\n\t\tdeckversion: options.deckversionID,\n\t\timpostor: options.impostor,\n\t\tsectionKey: options.sectionKey,\n\t\ttags,\n\t\tcmsvalkey_set: autoAdjunct.cmsvalkey_set,\n\t\tnamespacedKey: autoAdjunct.namespaced_key,\n\t\teditable: true,\n\t\ttitleEditable: true,\n\t\tnotesEditable: true,\n\t\ttagsEditable: true,\n\t});\n\n\tif (autoAdjunct.template) {\n\t\t// If we've found a new screenshot for it, we don't want to override it here\n\t\tif (!autoAdjunctSlide.thumbnail) {\n\t\t\tautoAdjunctSlide.thumbnail = autoAdjunct.template.image_256;\n\t\t}\n\t\tautoAdjunctSlide.createdByTemplate = true;\n\t\tautoAdjunctSlide.templateID = autoAdjunct.template.id;\n\t\tautoAdjunctSlide.html = autoAdjunct.template.index_asset.url();\n\t\t//\n\t\t// We've had some instances where the caching was returning the wrong data, and the\n\t\t// app was unable to recover when an autoadjunct was missing keys. So, check for missing\n\t\t// keys.\n\t\tconst missingKeys = autoAdjunct.template.cmsvalkey_set\n\t\t\t.filter((t) => {\n\t\t\t\treturn !autoAdjunctSlide.cmsvalkey_set.find((k) => k.startsWith(t));\n\t\t\t})\n\t\t\t.map((t) => {\n\t\t\t\treturn `${t}-autoadjunct-${autoAdjunct.id}`;\n\t\t\t});\n\n\t\tautoAdjunctSlide.cmsvalkey_set.push(...missingKeys);\n\t} else {\n\t\tautoAdjunctSlide.image = autoAdjunct.image_original;\n\t}\n\n\treturn autoAdjunctSlide;\n};\n\nregister(\"PresentationSlide\", PresentationSlide);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"presentation-slide.js","names":["require","collections","_interopRequireWildcard","_models","_basePresentationModel","_presentationSubslide","_lodash","_interopRequireDefault","_index","_stateRegister","_utils","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","PresentationSlide","exports","BasePresentationModel","extend","props","id","adjunctID","autoAdjunctID","type","templateID","createdByAutoAdjunct","createdByTemplate","namespacedKey","html","css","index","key","sequence","custom","temporary","visible","title","section","sectionKey","image","_orig_image","thumbnail","selectionID","editable","titleEditable","notesEditable","tagsEditable","tags","cmsvalkey_set","isWelcome","isSlide","isSection","children","adjunct","template","subslides","url","_url","_","isNumber","AdjunctSlideModel","SlideModel","toString","concat","createFromSlide","slideModel","_options$adjunctSubSl","_options$rootAssetPat","_options$selections","_options$choicelist","_options$getUniqueAdj","_options$screenshots","_options$adjunctSubSl2","options","undefined","adjunctSubSlides","AdjunctSubSlideCollection","rootAssetPath","selections","choicelist","getUniqueAdjunctID","parseInt","uniqueId","screenshots","screenshotsToMap","DeckVersionScreenshotCollection","assetRoot","getAssetRoot","index_asset","_options$baseRoot","baseRoot","deckversion","slidePath","slice","config","getVisibilityAndSequence","getTags","slide","getThumbnail","indexOf","namespaced_key","add","subslide_set","map","model","PresentationSubSlide","createFromSubSlide","adjunctSubslides","adjunctSubSlidesBySlide","maxID","Math","max","_toConsumableArray2","s","createFromAdjunctSubSlide","createFromAdjunctSlide","adjunctSlideModel","_options$id","_options$rootAssetPat2","_options$selections2","_options$choicelist2","_options$getUniqueAdj2","_options$screenshots2","_adjunctSlideModel$cr","_adjunctSlideModel$te","_adjunctSlideModel$te2","keyID","creator_autoadjunct","image_256","created_by_autoadjunct","Boolean","Error","origPath","orig_path","image_original","createFromManifestJSON","manifestJSON","project","sectionID","_project$sections","_project$sections$fin","_projectSection$slide","_projectSection$slide2","_projectSlide$editabl","_key$split","split","_key$split2","_slicedToArray2","slideKey","projectSection","sections","find","projectSlide","slides","titles","resolveURL","getAssetPath","ordering","editables","createFromManifestImpostor","_section","_project$sections2","_project$sections2$fi","_projectSection$slide3","_projectSection$slide4","_projectSlide$editabl2","presentationSlide","createFromTemplate","minID","Number","createFromAutoAdjunct","_options$allowConvert","_options$visible","_options$index","_options$deckversionI","_options$sectionKey","_options$sequence","_options$impostor","_options$screenshots3","_autoAdjunct$template","opts","requiredKeys","_i","_requiredKeys","allowConvert","deckversionID","impostor","isAutoAdjunct","autoAdjunct","AutoAdjunctModel","autoAdjunctSlide","name","_autoAdjunctSlide$cms","missingKeys","k","startsWith","register"],"sources":["../../src/presentation/presentation-slide.js"],"sourcesContent":["import \"./presentation-subslides.js\";\n\nimport * as collections from \"../collections.js\";\n\nimport { AdjunctSlideModel, AutoAdjunctModel, SlideModel } from \"../models.js\";\n\nimport { BasePresentationModel } from \"./base-presentation-model.js\";\nimport { PresentationSubSlide } from \"./presentation-subslide.js\";\nimport _ from \"lodash\";\nimport { getAssetRoot } from \"../index.js\";\nimport { register } from \"../state-register.js\";\nimport { resolveURL } from \"../utils.js\";\n\n/**\n * @constructor\n * @alias presentation.PresentationSlide\n * @extends presentation.BasePresentationModel\n */\nexport const PresentationSlide = BasePresentationModel.extend(\n\t/** @lends presentation.PresentationSlide# */ {\n\t\t/**\n\t\t * @property {number} id\n\t\t * @property {number} adjunctID\n\t\t * @property {number} autoAdjunctID\n\t\t * @property {number} templateID\n\t\t * @property {boolean} createdByAutoAdjunct\n\t\t * @property {boolean} createdByTemplate\n\t\t * @property {string} namespacedKey\n\t\t * @property {string} html\n\t\t * @property {string} css\n\t\t * @property {number} index\n\t\t * @property {string} key\n\t\t * @property {number} sequence\n\t\t * @property {boolean} custom\n\t\t * @property {boolean} temporary\n\t\t * @property {boolean} visible\n\t\t * @property {string} title\n\t\t * @property {number} section\n\t\t * @property {string} image\n\t\t * @property {string} _orig_image\n\t\t * @property {string} thumbnail\n\t\t * @property {number} selectionID\n\t\t * @property {bool} editable\n\t\t * @property {bool} titleEditable\n\t\t * @property {bool} notesEditable\n\t\t * @property {bool} tagsEditable\n\t\t * @property {array} tags\n\t\t * @property {string[]} cmsvalkey_set\n\t\t */\n\t\tprops: {\n\t\t\tid: \"number\",\n\t\t\tadjunctID: \"number\",\n\t\t\tautoAdjunctID: {\n\t\t\t\ttype: \"number\",\n\t\t\t\tdefault: null,\n\t\t\t},\n\t\t\ttemplateID: {\n\t\t\t\ttype: \"number\",\n\t\t\t\tdefault: null,\n\t\t\t},\n\t\t\tcreatedByAutoAdjunct: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: false,\n\t\t\t},\n\t\t\tcreatedByTemplate: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: false,\n\t\t\t},\n\t\t\tnamespacedKey: \"string\",\n\t\t\thtml: \"string\",\n\t\t\tcss: \"string\",\n\t\t\tindex: \"number\",\n\t\t\tkey: \"string\",\n\t\t\tsequence: \"number\",\n\t\t\tcustom: \"boolean\",\n\t\t\ttemporary: \"boolean\",\n\t\t\tvisible: \"boolean\",\n\t\t\ttitle: \"string\",\n\t\t\tsection: \"number\",\n\t\t\tsectionKey: \"string\",\n\t\t\timage: \"string\",\n\t\t\t_orig_image: \"string\",\n\t\t\tthumbnail: \"string\",\n\t\t\tselectionID: \"number\",\n\t\t\teditable: \"boolean\",\n\t\t\ttitleEditable: \"boolean\",\n\t\t\tnotesEditable: \"boolean\",\n\t\t\ttagsEditable: \"boolean\",\n\t\t\ttags: \"array\",\n\t\t\tcmsvalkey_set: \"array\",\n\t\t\tisWelcome: { type: \"boolean\", default: false },\n\t\t\tisSlide: { type: \"boolean\", default: true },\n\t\t\tisSection: { type: \"boolean\", default: false },\n\t\t},\n\n\t\t/**\n\t\t * @property {models.AdjunctModel} adjunct\n\t\t */\n\t\tchildren: {\n\t\t\tadjunct: \"AdjunctModel\",\n\t\t\ttemplate: \"TemplateModel\",\n\t\t},\n\n\t\t/**\n\t\t * @property {presentation.PresentationSubSlideCollection} subslides\n\t\t */\n\t\tcollections: {\n\t\t\tsubslides: \"PresentationSubSlideCollection\",\n\t\t},\n\n\t\turl() {\n\t\t\tif (!this._url) {\n\t\t\t\tif (_.isNumber(this.adjunctID)) {\n\t\t\t\t\tthis._url = new AdjunctSlideModel({ id: this.adjunctID }).url();\n\t\t\t\t} else {\n\t\t\t\t\tthis._url = new SlideModel({ id: this.id }).url();\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn this._url;\n\t\t},\n\n\t\ttoString() {\n\t\t\treturn `Slide: ${this.key} (${this.id})`;\n\t\t},\n\t},\n);\n\n/**\n * @function createFromSlide\n * @memberof presentation.PresentationSlide\n * @param {models.SlideModel} slideModel\n * @param {object} [options]\n * @returns {presentation.PresentationSlide}\n */\nPresentationSlide.createFromSlide = function (slideModel, options = {}) {\n\toptions.adjunctSubSlides ??= new collections.AdjunctSubSlideCollection();\n\toptions.rootAssetPath ??= null;\n\toptions.selections ??= null;\n\toptions.choicelist ??= null;\n\toptions.getUniqueAdjunctID ??= () => parseInt(_.uniqueId(), 10);\n\toptions.screenshots = PresentationSlide.screenshotsToMap(\n\t\toptions.screenshots ?? new collections.DeckVersionScreenshotCollection(),\n\t);\n\n\tlet html;\n\tlet css;\n\n\tconst assetRoot = getAssetRoot(slideModel.index_asset.url());\n\n\tif (options.rootAssetPath) {\n\t\tconst baseRoot =\n\t\t\toptions.baseRoot ??\n\t\t\tgetAssetRoot(slideModel.section.deckversion.index_asset.url());\n\t\tconst slidePath = assetRoot.slice(baseRoot.length);\n\t\thtml = `${options.rootAssetPath}${slidePath}index.html`;\n\t\tcss = `${options.rootAssetPath}${slidePath}slide.css`;\n\t} else {\n\t\thtml = `${assetRoot}index.html`;\n\t\tcss = `${assetRoot}slide.css`;\n\t}\n\n\tconst config = PresentationSlide.getVisibilityAndSequence(\n\t\tslideModel,\n\t\toptions,\n\t);\n\n\tconst tags = PresentationSlide.getTags(slideModel, options);\n\n\tconst slide = new PresentationSlide({\n\t\tid: slideModel.id,\n\t\tadjunctID: null,\n\t\thtml,\n\t\tcss,\n\t\tkey: slideModel.key,\n\t\tthumbnail: PresentationSlide.getThumbnail(slideModel, options.screenshots),\n\t\tcustom: false,\n\t\teditable: tags.indexOf(\"editable\") > -1,\n\t\t// By default this is true for a deck slide. These can be changed later in PM depending\n\t\t// on the logged in user and properties of an AutoAdjunct\n\t\ttitleEditable: false,\n\t\tnotesEditable: true,\n\t\ttagsEditable: true,\n\t\ttitle: slideModel.title,\n\t\tsection: slideModel.section.id,\n\t\tsectionKey: slideModel.section.key,\n\t\ttags,\n\t\tindex: config.sequence,\n\t\tsequence: config.sequence,\n\t\tvisible: config.visible,\n\t\tselectionID: config.selectionID,\n\t\tcmsvalkey_set: slideModel.cmsvalkey_set,\n\t\tnamespacedKey: slideModel.namespaced_key,\n\t});\n\n\tslide.subslides.add(\n\t\tslideModel.subslide_set.map((model) => {\n\t\t\treturn PresentationSubSlide.createFromSubSlide(model, options);\n\t\t}),\n\t);\n\n\tconst adjunctSubslides = options.adjunctSubSlidesBySlide\n\t\t? (options.adjunctSubSlidesBySlide.get(slideModel.id) ?? [])\n\t\t: options.adjunctSubSlides.filter(\n\t\t\t\t(model) => model.slide.id === slideModel.id,\n\t\t\t);\n\n\t// If the slide's content is entirely adjunct and does not have a distinct\n\t// first subslide, we need to create one based on the slide.\n\t// This is mostly just a legacy format and is required for screenshots.\n\t// See REA-Developer's Investment Summary for an example.\n\tif (\n\t\tadjunctSubslides.length &&\n\t\t!slide.subslides.length &&\n\t\t!(tags.indexOf(\"subslide_container\") > -1)\n\t) {\n\t\tslide.subslides.add(PresentationSubSlide.createFromSlide(slide));\n\t}\n\n\tlet maxID = 0;\n\tif (slide.subslides.length) {\n\t\tmaxID = Math.max(...slide.subslides.map((s) => s.id));\n\t}\n\n\t// Add any adjunct subslides to the list\n\tslide.subslides.add(\n\t\tadjunctSubslides.map((model, index) => {\n\t\t\tconst id = maxID + index + 1;\n\n\t\t\treturn PresentationSubSlide.createFromAdjunctSubSlide(model, slideModel, {\n\t\t\t\t...options,\n\t\t\t\tid,\n\t\t\t});\n\t\t}),\n\t);\n\n\treturn slide;\n};\n\n/**\n * @function createFromAdjunctSlide\n * @memberof presentation.PresentationSlide\n * @param {models.AdjunctSlideModel} adjunctSlideModel\n * @param {models.SectionModel} sectionModel\n * @param {object} [options]\n * @returns {presentation.PresentationSlide}\n */\nPresentationSlide.createFromAdjunctSlide = function (\n\tadjunctSlideModel,\n\tsection = null,\n\toptions = {},\n) {\n\toptions.id ??= null;\n\toptions.rootAssetPath ??= null;\n\toptions.selections ??= null;\n\toptions.choicelist ??= null;\n\toptions.getUniqueAdjunctID ??= () => parseInt(_.uniqueId(), 10);\n\toptions.screenshots = PresentationSlide.screenshotsToMap(\n\t\toptions.screenshots ?? new collections.DeckVersionScreenshotCollection(),\n\t);\n\n\tconst keyID =\n\t\tadjunctSlideModel.id ||\n\t\t(adjunctSlideModel.creator_autoadjunct\n\t\t\t? adjunctSlideModel.creator_autoadjunct.id\n\t\t\t: null);\n\n\tlet key = null;\n\n\tif (adjunctSlideModel.key) {\n\t\tkey = adjunctSlideModel.key;\n\t} else if (keyID) {\n\t\tkey = `adjunct-${keyID}`;\n\t\tadjunctSlideModel.key = key;\n\t}\n\n\tconst config = PresentationSlide.getVisibilityAndSequence(\n\t\tadjunctSlideModel,\n\t\toptions,\n\t);\n\n\tconst tags = PresentationSlide.getTags(adjunctSlideModel, options);\n\n\tconst autoAdjunctID = adjunctSlideModel.creator_autoadjunct?.id || null;\n\n\tconst slide = new PresentationSlide({\n\t\tid: options.id || options.getUniqueAdjunctID(),\n\t\tadjunct: adjunctSlideModel.adjunct,\n\t\tadjunctID: adjunctSlideModel.id,\n\t\tautoAdjunctID,\n\t\tkey,\n\t\tthumbnail: adjunctSlideModel.image_256,\n\t\tcreatedByAutoAdjunct: adjunctSlideModel.created_by_autoadjunct,\n\t\tcreatedByTemplate: Boolean(adjunctSlideModel.template),\n\t\tcustom: !adjunctSlideModel.created_by_autoadjunct,\n\t\ttemporary: adjunctSlideModel.created_by_autoadjunct,\n\t\ttitle: adjunctSlideModel.title,\n\t\tsection: section ? section.id : null,\n\t\ttags,\n\t\tindex: config.sequence,\n\t\tsequence: config.sequence,\n\t\tvisible: config.visible,\n\t\tcmsvalkey_set: adjunctSlideModel.template?.cmsvalkey_set || [],\n\t\ttemplateID: adjunctSlideModel.template?.id || null,\n\t\ttemplate: adjunctSlideModel.template || null,\n\t\tnamespacedKey: adjunctSlideModel.namespaced_key,\n\t});\n\n\tif (adjunctSlideModel.template) {\n\t\tif (!adjunctSlideModel.template.index_asset) {\n\t\t\tthrow new Error(\n\t\t\t\t\"Template missing index_asset. Do you have the whole template available?\",\n\t\t\t);\n\t\t}\n\t\tconst origPath = adjunctSlideModel.template.index_asset.orig_path;\n\t\tlet html;\n\t\tlet css;\n\n\t\tif (options.rootAssetPath) {\n\t\t\thtml = `${options.rootAssetPath}${origPath}/index.html`;\n\t\t\tcss = `${options.rootAssetPath}${origPath}/slide.css`;\n\t\t} else {\n\t\t\tconst assetRoot = getAssetRoot(\n\t\t\t\tadjunctSlideModel.template.index_asset.url(),\n\t\t\t);\n\t\t\thtml = `${assetRoot}index.html`;\n\t\t\tcss = `${assetRoot}slide.css`;\n\t\t}\n\t\tslide.html = html;\n\t\tslide.css = css;\n\n\t\tif (adjunctSlideModel.creator_autoadjunct) {\n\t\t\tslide.thumbnail = PresentationSlide.getThumbnail(\n\t\t\t\tadjunctSlideModel.creator_autoadjunct,\n\t\t\t\toptions.screenshots,\n\t\t\t);\n\t\t}\n\n\t\tif (!slide.thumbnail) {\n\t\t\tslide.thumbnail = adjunctSlideModel.template.image_256;\n\t\t}\n\t} else {\n\t\tslide.image = adjunctSlideModel.image_original;\n\t}\n\n\treturn slide;\n};\n\nPresentationSlide.createFromManifestJSON = function (\n\tmanifestJSON,\n\tproject,\n\tkey,\n\tsectionID,\n\tindex,\n) {\n\tconst [sectionKey, slideKey] = key.split(\"/\");\n\tconst projectSection = project?.sections?.find?.((s) => s.key === sectionKey);\n\tconst projectSlide = projectSection?.slides?.find?.(\n\t\t(s) => s.key === slideKey,\n\t);\n\n\tconst slide = new PresentationSlide({\n\t\tid: parseInt(_.uniqueId(), 10),\n\t\ttitle: manifestJSON.titles[key],\n\t\tindex,\n\t\thtml: resolveURL(manifestJSON.getAssetPath(key), \"index.html\"),\n\t\tcss: resolveURL(manifestJSON.getAssetPath(key), \"slide.css\"),\n\t\tkey: slideKey,\n\t\teditable: false,\n\t\ttitleEditable: false,\n\t\tnotesEditable: true,\n\t\ttagsEditable: true,\n\t\tsequence: manifestJSON.ordering[key],\n\t\tthumbnail: null,\n\t\tcustom: false,\n\t\tvisible: true,\n\t\tsection: sectionID,\n\t\ttags: manifestJSON.tags[key] || null,\n\t\tcmsvalkey_set: projectSlide?.editables ?? [],\n\t});\n\n\treturn slide;\n};\n\nPresentationSlide.createFromManifestImpostor = function (\n\tslide,\n\t_section,\n\tproject,\n\tindex,\n\tsectionID,\n) {\n\tconst projectSection = project?.sections?.find?.(\n\t\t(s) => s.key === project.key,\n\t);\n\tconst projectSlide = projectSection?.slides?.find?.(\n\t\t(s) => s.key === slide.key,\n\t);\n\n\tconst presentationSlide = new PresentationSlide({\n\t\tid: parseInt(_.uniqueId(), 10),\n\t\teditable: slide.tags.indexOf(\"editable\") !== -1,\n\t\ttitleEditable: false,\n\t\tnotesEditable: true,\n\t\ttagsEditable: true,\n\t\tthumbnail: null,\n\t\tcustom: false,\n\t\tvisible: true,\n\t\tsection: sectionID,\n\t\tindex,\n\t\t...slide,\n\t\tcmsvalkey_set: projectSlide?.editables ?? [],\n\t});\n\n\treturn presentationSlide;\n};\n\nPresentationSlide.createFromTemplate = function (\n\ttemplate,\n\tindex,\n\tsectionID,\n\tminID = 0,\n) {\n\tconst presentationSlide = new PresentationSlide({\n\t\t...template,\n\t\tid: minID + parseInt(_.uniqueId(), 10),\n\t\teditable: false,\n\t\ttitleEditable: false,\n\t\tnotesEditable: false,\n\t\ttagsEditable: false,\n\t\tcustom: false,\n\t\tvisible: true,\n\t\tthumbnail: template.image_256,\n\t\tsection: sectionID,\n\t\t// Makes sure templates are rendered with unique IDs\n\t\tautoAdjunctID: Number(_.uniqueId()),\n\t\tindex,\n\t\tcreatedByTemplate: true,\n\t\tcmsvalkey_set: [],\n\t\tnamespacedKey: template.namespaced_key,\n\t});\n\treturn presentationSlide;\n};\n\nPresentationSlide.createFromAutoAdjunct = function (model, opts = {}) {\n\tconst requiredKeys = [\"index\", \"deckversionID\"];\n\tfor (const key of requiredKeys) {\n\t\tif (typeof opts[key] === \"undefined\") {\n\t\t\tthrow new Error(`Missing required key '${key}'.`);\n\t\t}\n\t}\n\n\tconst options = opts;\n\toptions.allowConvert ??= true;\n\toptions.visible ??= true;\n\toptions.index ??= -1;\n\toptions.deckversionID ??= -1;\n\toptions.sectionKey ??= \"\";\n\toptions.sequence ??= opts.index;\n\toptions.impostor ??= false;\n\toptions.screenshots = PresentationSlide.screenshotsToMap(\n\t\toptions.screenshots ?? new collections.DeckVersionScreenshotCollection(),\n\t);\n\n\tconst tags = PresentationSlide.getTags(\n\t\t{\n\t\t\tisAutoAdjunct: true,\n\t\t\tkey: model.key,\n\t\t\ttags: model.tags,\n\t\t},\n\t\toptions,\n\t);\n\n\tconst autoAdjunct = new AutoAdjunctModel(model);\n\n\tconst autoAdjunctSlide = new PresentationSlide({\n\t\tid: options.id || autoAdjunct.id,\n\t\tadjunctID: autoAdjunct.id,\n\t\tautoAdjunctID: autoAdjunct.id,\n\t\tcreatedByTemplate: autoAdjunct.template !== null,\n\t\ttemplateID: autoAdjunct.template?.id || null,\n\t\ttemplate: autoAdjunct.template || null,\n\t\thtml: \"\",\n\t\tcss: \"\",\n\t\tsequence: options.sequence,\n\t\tindex: options.index,\n\t\tkey: autoAdjunct.key,\n\t\tcreatedByAutoAdjunct: false,\n\t\tthumbnail: PresentationSlide.getThumbnail(autoAdjunct, options.screenshots),\n\t\ttemporary: true,\n\t\ttitle: autoAdjunct.name,\n\t\tvisible: options.visible,\n\t\tallowConvert: options.allowConvert,\n\t\tdeckversion: options.deckversionID,\n\t\timpostor: options.impostor,\n\t\tsectionKey: options.sectionKey,\n\t\ttags,\n\t\tcmsvalkey_set: autoAdjunct.cmsvalkey_set,\n\t\tnamespacedKey: autoAdjunct.namespaced_key,\n\t\teditable: true,\n\t\ttitleEditable: true,\n\t\tnotesEditable: true,\n\t\ttagsEditable: true,\n\t});\n\n\tif (autoAdjunct.template) {\n\t\t// If we've found a new screenshot for it, we don't want to override it here\n\t\tif (!autoAdjunctSlide.thumbnail) {\n\t\t\tautoAdjunctSlide.thumbnail = autoAdjunct.template.image_256;\n\t\t}\n\t\tautoAdjunctSlide.createdByTemplate = true;\n\t\tautoAdjunctSlide.templateID = autoAdjunct.template.id;\n\t\tautoAdjunctSlide.html = autoAdjunct.template.index_asset.url();\n\t\t//\n\t\t// We've had some instances where the caching was returning the wrong data, and the\n\t\t// app was unable to recover when an autoadjunct was missing keys. So, check for missing\n\t\t// keys.\n\t\tconst missingKeys = autoAdjunct.template.cmsvalkey_set\n\t\t\t.filter((t) => {\n\t\t\t\treturn !autoAdjunctSlide.cmsvalkey_set.find((k) => k.startsWith(t));\n\t\t\t})\n\t\t\t.map((t) => {\n\t\t\t\treturn `${t}-autoadjunct-${autoAdjunct.id}`;\n\t\t\t});\n\n\t\tautoAdjunctSlide.cmsvalkey_set.push(...missingKeys);\n\t} else {\n\t\tautoAdjunctSlide.image = autoAdjunct.image_original;\n\t}\n\n\treturn autoAdjunctSlide;\n};\n\nregister(\"PresentationSlide\", PresentationSlide);\n"],"mappings":"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","ignoreList":[]}
package/cjs/sync.js CHANGED
@@ -11,7 +11,6 @@ var _superagentBluebirdPromise = _interopRequireDefault(require("superagent-blue
11
11
  var _lodash = _interopRequireDefault(require("lodash"));
12
12
  var _log = _interopRequireDefault(require("./log.js"));
13
13
  var _middleware = require("./middleware.js");
14
- var _superagent = _interopRequireDefault(require("superagent"));
15
14
  var defaults = _lodash.default.defaults;
16
15
  var assign = _lodash.default.assign;
17
16
 
@@ -203,8 +202,9 @@ var ajaxSync = exports.ajaxSync = function ajaxSync(method, model, options) {
203
202
  request.emit("success", response);
204
203
  return data;
205
204
  });
206
- }).catch(_superagent.default.SuperagentPromiseError, function (e) {
207
- if (e.res && e.res.body && (e.status >= 400 && e.status < 500 || e.status === 503)) {
205
+ }).catch(function (e) {
206
+ var _e$res;
207
+ if (typeof e.status !== "undefined" && (_e$res = e.res) !== null && _e$res !== void 0 && _e$res.body && (e.status >= 400 && e.status < 500 || e.status === 503)) {
208
208
  e.message += "\nBody: ".concat(JSON.stringify(e.res.body));
209
209
  }
210
210
  throw e;
package/cjs/sync.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"sync.js","names":["_bluebird","_interopRequireDefault","require","_superagentBluebirdPromise","_lodash","_log","_middleware","_superagent","defaults","_","assign","urlError","Error","methodMap","exports","create","update","patch","delete","read","defaultFetchURL","_ref","model","log","warn","url","buildURL","_ref2","method","split","sync","defaultOpts","_this","syncArguments","arguments","syncActions","middlewares","forEach","middleware","push","apply","Promise","all","then","_len","length","newOpts","Array","_key","joinedOpts","merge","concat","_toConsumableArray2","default","flat","ajaxSync","call","options","type","emulateHTTP","emulateJSON","params","result","data","batch","json","attrs","toJSON","requestSettings","request","SuperAgentRequest","toServer","isArray","FormData","pick","Object","keys","send","xhr","preflight","mc","getNextMiddleware","middlewareInterceptor","response","intercept","resolve","trigger","ajaxConfig","headers","key","lowerKey","toLowerCase","header","cachedResponse","JSON","parse","text","each","success","catch","error","message","timeout","e","set","emit","superagent","SuperagentPromiseError","res","body","status","stringify","originalError","code"],"sources":["../src/sync.js"],"sourcesContent":["import Promise from \"bluebird\";\nimport SuperAgentRequest from \"superagent-bluebird-promise\";\nimport _ from \"lodash\";\nimport log from \"./log.js\";\nimport { middlewares } from \"./middleware.js\";\nimport superagent from \"superagent\";\n\nconst defaults = _.defaults;\nconst assign = _.assign;\n\n// Throw an error when a URL is needed, and none is supplied.\nconst urlError = function () {\n\tthrow new Error(`A \"url\" property or function must be specified`);\n};\n\n// Map from CRUD to HTTP for our default `Backbone.sync` implementation.\nexport const methodMap = {\n\tcreate: \"POST\",\n\tupdate: \"PUT\",\n\tpatch: \"PATCH\",\n\tdelete: \"DELETE\",\n\tread: \"GET\",\n};\n\nexport const defaultFetchURL = function ({ model }) {\n\tlog.warn(\"Deprecation: defaultFetchURL is deprecated. Just use .url()\");\n\treturn model.url();\n};\n\nexport const buildURL = function ({ method, model }) {\n\tconst url = model.url();\n\n\t// If not a GET request, strip the query params from the url\n\tif (method !== \"read\") {\n\t\treturn url.split(\"?\")[0];\n\t}\n\n\treturn url;\n};\n\nexport const sync = function (method, model, defaultOpts) {\n\tconst syncArguments = arguments;\n\n\tif (method === \"read\") {\n\t\t// look for sync methods\n\t\tconst syncActions = [];\n\t\tmiddlewares.forEach((middleware) => {\n\t\t\tif (middleware.sync) {\n\t\t\t\tsyncActions.push(middleware.sync.apply(this, syncArguments));\n\t\t\t}\n\t\t});\n\n\t\treturn Promise.all(syncActions).then((...newOpts) => {\n\t\t\tconst joinedOpts = _.merge({}, defaultOpts, ...newOpts.flat());\n\t\t\treturn ajaxSync.call(this, method, model, joinedOpts);\n\t\t});\n\t}\n\treturn ajaxSync.call(this, method, model, defaultOpts);\n};\n\nexport const ajaxSync = function (method, model, options) {\n\tconst type = methodMap[method];\n\n\t// Default options, unless specified.\n\tdefaults(options || {}, {\n\t\temulateHTTP: false,\n\t\temulateJSON: false,\n\t});\n\n\t// Default request options.\n\tconst params = { type: type };\n\n\t// Ensure that we have a URL.\n\tif (!options.url) {\n\t\toptions.url = _.result(model, \"url\") || urlError();\n\t}\n\n\t// Ensure that we have the appropriate request data.\n\tif (\n\t\toptions.data === null &&\n\t\tmodel &&\n\t\t(method === \"create\" ||\n\t\t\tmethod === \"update\" ||\n\t\t\tmethod === \"patch\" ||\n\t\t\t(method === \"delete\" && options.batch))\n\t) {\n\t\tparams.json = options.attrs || model.toJSON(options);\n\t}\n\n\tconst url = buildURL({ method, model, options });\n\n\tconst requestSettings = assign(params, options);\n\trequestSettings.method = type;\n\n\tconst request = SuperAgentRequest(type, url);\n\n\tif (\n\t\ttype === \"PATCH\" ||\n\t\ttype === \"POST\" ||\n\t\ttype === \"PUT\" ||\n\t\t(type === \"DELETE\" && options.batch)\n\t) {\n\t\tlet data = model.toServer();\n\n\t\t// Note we can use formdata to override the way a patch works - if we\n\t\t// are doing this it's for a particular patch with an image or file,\n\t\t// probably.\n\t\tif (type === \"PATCH\" && !_.isArray(data) && !(data instanceof FormData)) {\n\t\t\t// Make sure we're only updating data actually passed to the save\n\t\t\t// function, rather than automatically generated stuff\n\t\t\tdata = _.pick(options.attrs, Object.keys(data));\n\t\t}\n\t\trequest.send(data);\n\t}\n\n\toptions.xhr = request;\n\n\tmiddlewares.forEach((middleware) => {\n\t\tif (middleware.preflight) {\n\t\t\tmiddleware.preflight(request, model, options);\n\t\t}\n\t});\n\n\tlet mc = 0;\n\n\tfunction getNextMiddleware(request) {\n\t\treturn function middlewareInterceptor(response) {\n\t\t\tif (mc < middlewares.length) {\n\t\t\t\treturn middlewares[mc++]\n\t\t\t\t\t.intercept(request, response, model)\n\t\t\t\t\t.then(getNextMiddleware(request));\n\t\t\t}\n\t\t\treturn Promise.resolve(response);\n\t\t};\n\t}\n\n\tmodel.trigger(\"request\", model, request, options, requestSettings);\n\trequest.requestSettings = requestSettings;\n\n\tconst ajaxConfig = _.result(model, \"ajaxConfig\") || {};\n\n\t// Combine generated headers with user's headers.\n\tif (ajaxConfig.headers) {\n\t\tfor (const key in ajaxConfig.headers) {\n\t\t\tconst lowerKey = key.toLowerCase();\n\t\t\t// Use superagent's .type() method to explicitly set content-type\n\t\t\t// This ensures superagent respects the content-type and doesn't override it\n\t\t\tif (lowerKey === \"content-type\") {\n\t\t\t\trequest.type(ajaxConfig.headers[key].split(\";\")[0]);\n\t\t\t} else {\n\t\t\t\trequest.header[lowerKey] = ajaxConfig.headers[key];\n\t\t\t}\n\t\t}\n\t}\n\n\tif (options.headers) {\n\t\tfor (const key in options.headers) {\n\t\t\tconst lowerKey = key.toLowerCase();\n\t\t\tif (lowerKey === \"content-type\") {\n\t\t\t\trequest.type(options.headers[key].split(\";\")[0]);\n\t\t\t} else {\n\t\t\t\trequest.header[lowerKey] = options.headers[key];\n\t\t\t}\n\t\t}\n\t}\n\n\t// TODO: Remove me when this can be moved... for now this removal is quite a complex\n\t// process.\n\tif (options.cachedResponse) {\n\t\treturn Promise.resolve(options.cachedResponse)\n\t\t\t.then(getNextMiddleware(request))\n\t\t\t.then((response) => {\n\t\t\t\tif (!response.data) {\n\t\t\t\t\tresponse.data = JSON.parse(response.text);\n\t\t\t\t}\n\n\t\t\t\treturn Promise.each(middlewares, (middleware) => {\n\t\t\t\t\treturn middleware.success(request, response, model, true);\n\t\t\t\t}).then(() => {\n\t\t\t\t\tif (options.success) {\n\t\t\t\t\t\toptions.success(response.data, \"success\", response);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn response.data;\n\t\t\t\t});\n\t\t\t})\n\t\t\t.catch((response) => {\n\t\t\t\treturn Promise.each(middlewares, (middleware) => {\n\t\t\t\t\treturn middleware.error(response, model);\n\t\t\t\t}).then(() => {\n\t\t\t\t\tif (options.error) {\n\t\t\t\t\t\toptions.error(response, \"error\", response.message);\n\t\t\t\t\t}\n\t\t\t\t\tthrow response;\n\t\t\t\t});\n\t\t\t});\n\t}\n\n\treturn (\n\t\trequest\n\t\t\t// Force a timeout on every request. Intermittent connections\n\t\t\t// can have the request continue trying for minutes otherwise.\n\t\t\t// 60 seconds is the timeout the server has, so we go for 65 seconds,\n\t\t\t// so we give the chance to the server to time out first - helps with\n\t\t\t// debugging.\n\t\t\t.timeout(65 * 1000)\n\t\t\t.then(getNextMiddleware(request))\n\t\t\t.then((response) => {\n\t\t\t\tlet data;\n\t\t\t\ttry {\n\t\t\t\t\tdata = JSON.parse(response.text);\n\t\t\t\t} catch (e) {\n\t\t\t\t\tdata = response;\n\t\t\t\t}\n\n\t\t\t\tif (type !== \"DELETE\") {\n\t\t\t\t\tmodel.set(data);\n\t\t\t\t}\n\n\t\t\t\treturn Promise.each(middlewares, (middleware) => {\n\t\t\t\t\treturn middleware.success(request, response, model, false);\n\t\t\t\t}).then(() => {\n\t\t\t\t\tif (options.success) {\n\t\t\t\t\t\toptions.success(data, \"success\", response);\n\t\t\t\t\t}\n\t\t\t\t\trequest.emit(\"success\", response);\n\t\t\t\t\treturn data;\n\t\t\t\t});\n\t\t\t})\n\t\t\t.catch(superagent.SuperagentPromiseError, (e) => {\n\t\t\t\tif (\n\t\t\t\t\te.res &&\n\t\t\t\t\te.res.body &&\n\t\t\t\t\t((e.status >= 400 && e.status < 500) || e.status === 503)\n\t\t\t\t) {\n\t\t\t\t\te.message += `\\nBody: ${JSON.stringify(e.res.body)}`;\n\t\t\t\t}\n\t\t\t\tthrow e;\n\t\t\t})\n\t\t\t.catch((response) => {\n\t\t\t\treturn Promise.each(middlewares, (middleware) => {\n\t\t\t\t\treturn middleware.error(response);\n\t\t\t\t}).then(() => {\n\t\t\t\t\tif (options.error) {\n\t\t\t\t\t\toptions.error(response, \"error\", response.message);\n\t\t\t\t\t}\n\n\t\t\t\t\t// Provide a more explanatory error message on timeout\n\t\t\t\t\tif (\n\t\t\t\t\t\tresponse &&\n\t\t\t\t\t\tresponse.originalError &&\n\t\t\t\t\t\tresponse.originalError.code === \"ECONNABORTED\"\n\t\t\t\t\t) {\n\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t`Failed ${type} request on url: ${url}. ${response.message}`,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tthrow response;\n\t\t\t\t});\n\t\t\t})\n\t);\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"sync.js","names":["_bluebird","_interopRequireDefault","require","_superagentBluebirdPromise","_lodash","_log","_middleware","defaults","_","assign","urlError","Error","methodMap","exports","create","update","patch","delete","read","defaultFetchURL","_ref","model","log","warn","url","buildURL","_ref2","method","split","sync","defaultOpts","_this","syncArguments","arguments","syncActions","middlewares","forEach","middleware","push","apply","Promise","all","then","_len","length","newOpts","Array","_key","joinedOpts","merge","concat","_toConsumableArray2","default","flat","ajaxSync","call","options","type","emulateHTTP","emulateJSON","params","result","data","batch","json","attrs","toJSON","requestSettings","request","SuperAgentRequest","toServer","isArray","FormData","pick","Object","keys","send","xhr","preflight","mc","getNextMiddleware","middlewareInterceptor","response","intercept","resolve","trigger","ajaxConfig","headers","key","lowerKey","toLowerCase","header","cachedResponse","JSON","parse","text","each","success","catch","error","message","timeout","e","set","emit","_e$res","status","res","body","stringify","originalError","code"],"sources":["../src/sync.js"],"sourcesContent":["import Promise from \"bluebird\";\nimport SuperAgentRequest from \"superagent-bluebird-promise\";\nimport _ from \"lodash\";\nimport log from \"./log.js\";\nimport { middlewares } from \"./middleware.js\";\n\nconst defaults = _.defaults;\nconst assign = _.assign;\n\n// Throw an error when a URL is needed, and none is supplied.\nconst urlError = function () {\n\tthrow new Error(`A \"url\" property or function must be specified`);\n};\n\n// Map from CRUD to HTTP for our default `Backbone.sync` implementation.\nexport const methodMap = {\n\tcreate: \"POST\",\n\tupdate: \"PUT\",\n\tpatch: \"PATCH\",\n\tdelete: \"DELETE\",\n\tread: \"GET\",\n};\n\nexport const defaultFetchURL = function ({ model }) {\n\tlog.warn(\"Deprecation: defaultFetchURL is deprecated. Just use .url()\");\n\treturn model.url();\n};\n\nexport const buildURL = function ({ method, model }) {\n\tconst url = model.url();\n\n\t// If not a GET request, strip the query params from the url\n\tif (method !== \"read\") {\n\t\treturn url.split(\"?\")[0];\n\t}\n\n\treturn url;\n};\n\nexport const sync = function (method, model, defaultOpts) {\n\tconst syncArguments = arguments;\n\n\tif (method === \"read\") {\n\t\t// look for sync methods\n\t\tconst syncActions = [];\n\t\tmiddlewares.forEach((middleware) => {\n\t\t\tif (middleware.sync) {\n\t\t\t\tsyncActions.push(middleware.sync.apply(this, syncArguments));\n\t\t\t}\n\t\t});\n\n\t\treturn Promise.all(syncActions).then((...newOpts) => {\n\t\t\tconst joinedOpts = _.merge({}, defaultOpts, ...newOpts.flat());\n\t\t\treturn ajaxSync.call(this, method, model, joinedOpts);\n\t\t});\n\t}\n\treturn ajaxSync.call(this, method, model, defaultOpts);\n};\n\nexport const ajaxSync = function (method, model, options) {\n\tconst type = methodMap[method];\n\n\t// Default options, unless specified.\n\tdefaults(options || {}, {\n\t\temulateHTTP: false,\n\t\temulateJSON: false,\n\t});\n\n\t// Default request options.\n\tconst params = { type: type };\n\n\t// Ensure that we have a URL.\n\tif (!options.url) {\n\t\toptions.url = _.result(model, \"url\") || urlError();\n\t}\n\n\t// Ensure that we have the appropriate request data.\n\tif (\n\t\toptions.data === null &&\n\t\tmodel &&\n\t\t(method === \"create\" ||\n\t\t\tmethod === \"update\" ||\n\t\t\tmethod === \"patch\" ||\n\t\t\t(method === \"delete\" && options.batch))\n\t) {\n\t\tparams.json = options.attrs || model.toJSON(options);\n\t}\n\n\tconst url = buildURL({ method, model, options });\n\n\tconst requestSettings = assign(params, options);\n\trequestSettings.method = type;\n\n\tconst request = SuperAgentRequest(type, url);\n\n\tif (\n\t\ttype === \"PATCH\" ||\n\t\ttype === \"POST\" ||\n\t\ttype === \"PUT\" ||\n\t\t(type === \"DELETE\" && options.batch)\n\t) {\n\t\tlet data = model.toServer();\n\n\t\t// Note we can use formdata to override the way a patch works - if we\n\t\t// are doing this it's for a particular patch with an image or file,\n\t\t// probably.\n\t\tif (type === \"PATCH\" && !_.isArray(data) && !(data instanceof FormData)) {\n\t\t\t// Make sure we're only updating data actually passed to the save\n\t\t\t// function, rather than automatically generated stuff\n\t\t\tdata = _.pick(options.attrs, Object.keys(data));\n\t\t}\n\t\trequest.send(data);\n\t}\n\n\toptions.xhr = request;\n\n\tmiddlewares.forEach((middleware) => {\n\t\tif (middleware.preflight) {\n\t\t\tmiddleware.preflight(request, model, options);\n\t\t}\n\t});\n\n\tlet mc = 0;\n\n\tfunction getNextMiddleware(request) {\n\t\treturn function middlewareInterceptor(response) {\n\t\t\tif (mc < middlewares.length) {\n\t\t\t\treturn middlewares[mc++]\n\t\t\t\t\t.intercept(request, response, model)\n\t\t\t\t\t.then(getNextMiddleware(request));\n\t\t\t}\n\t\t\treturn Promise.resolve(response);\n\t\t};\n\t}\n\n\tmodel.trigger(\"request\", model, request, options, requestSettings);\n\trequest.requestSettings = requestSettings;\n\n\tconst ajaxConfig = _.result(model, \"ajaxConfig\") || {};\n\n\t// Combine generated headers with user's headers.\n\tif (ajaxConfig.headers) {\n\t\tfor (const key in ajaxConfig.headers) {\n\t\t\tconst lowerKey = key.toLowerCase();\n\t\t\t// Use superagent's .type() method to explicitly set content-type\n\t\t\t// This ensures superagent respects the content-type and doesn't override it\n\t\t\tif (lowerKey === \"content-type\") {\n\t\t\t\trequest.type(ajaxConfig.headers[key].split(\";\")[0]);\n\t\t\t} else {\n\t\t\t\trequest.header[lowerKey] = ajaxConfig.headers[key];\n\t\t\t}\n\t\t}\n\t}\n\n\tif (options.headers) {\n\t\tfor (const key in options.headers) {\n\t\t\tconst lowerKey = key.toLowerCase();\n\t\t\tif (lowerKey === \"content-type\") {\n\t\t\t\trequest.type(options.headers[key].split(\";\")[0]);\n\t\t\t} else {\n\t\t\t\trequest.header[lowerKey] = options.headers[key];\n\t\t\t}\n\t\t}\n\t}\n\n\t// TODO: Remove me when this can be moved... for now this removal is quite a complex\n\t// process.\n\tif (options.cachedResponse) {\n\t\treturn Promise.resolve(options.cachedResponse)\n\t\t\t.then(getNextMiddleware(request))\n\t\t\t.then((response) => {\n\t\t\t\tif (!response.data) {\n\t\t\t\t\tresponse.data = JSON.parse(response.text);\n\t\t\t\t}\n\n\t\t\t\treturn Promise.each(middlewares, (middleware) => {\n\t\t\t\t\treturn middleware.success(request, response, model, true);\n\t\t\t\t}).then(() => {\n\t\t\t\t\tif (options.success) {\n\t\t\t\t\t\toptions.success(response.data, \"success\", response);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn response.data;\n\t\t\t\t});\n\t\t\t})\n\t\t\t.catch((response) => {\n\t\t\t\treturn Promise.each(middlewares, (middleware) => {\n\t\t\t\t\treturn middleware.error(response, model);\n\t\t\t\t}).then(() => {\n\t\t\t\t\tif (options.error) {\n\t\t\t\t\t\toptions.error(response, \"error\", response.message);\n\t\t\t\t\t}\n\t\t\t\t\tthrow response;\n\t\t\t\t});\n\t\t\t});\n\t}\n\n\treturn (\n\t\trequest\n\t\t\t// Force a timeout on every request. Intermittent connections\n\t\t\t// can have the request continue trying for minutes otherwise.\n\t\t\t// 60 seconds is the timeout the server has, so we go for 65 seconds,\n\t\t\t// so we give the chance to the server to time out first - helps with\n\t\t\t// debugging.\n\t\t\t.timeout(65 * 1000)\n\t\t\t.then(getNextMiddleware(request))\n\t\t\t.then((response) => {\n\t\t\t\tlet data;\n\t\t\t\ttry {\n\t\t\t\t\tdata = JSON.parse(response.text);\n\t\t\t\t} catch (e) {\n\t\t\t\t\tdata = response;\n\t\t\t\t}\n\n\t\t\t\tif (type !== \"DELETE\") {\n\t\t\t\t\tmodel.set(data);\n\t\t\t\t}\n\n\t\t\t\treturn Promise.each(middlewares, (middleware) => {\n\t\t\t\t\treturn middleware.success(request, response, model, false);\n\t\t\t\t}).then(() => {\n\t\t\t\t\tif (options.success) {\n\t\t\t\t\t\toptions.success(data, \"success\", response);\n\t\t\t\t\t}\n\t\t\t\t\trequest.emit(\"success\", response);\n\t\t\t\t\treturn data;\n\t\t\t\t});\n\t\t\t})\n\t\t\t.catch((e) => {\n\t\t\t\tif (\n\t\t\t\t\ttypeof e.status !== \"undefined\" &&\n\t\t\t\t\te.res?.body &&\n\t\t\t\t\t((e.status >= 400 && e.status < 500) || e.status === 503)\n\t\t\t\t) {\n\t\t\t\t\te.message += `\\nBody: ${JSON.stringify(e.res.body)}`;\n\t\t\t\t}\n\t\t\t\tthrow e;\n\t\t\t})\n\t\t\t.catch((response) => {\n\t\t\t\treturn Promise.each(middlewares, (middleware) => {\n\t\t\t\t\treturn middleware.error(response);\n\t\t\t\t}).then(() => {\n\t\t\t\t\tif (options.error) {\n\t\t\t\t\t\toptions.error(response, \"error\", response.message);\n\t\t\t\t\t}\n\n\t\t\t\t\t// Provide a more explanatory error message on timeout\n\t\t\t\t\tif (\n\t\t\t\t\t\tresponse &&\n\t\t\t\t\t\tresponse.originalError &&\n\t\t\t\t\t\tresponse.originalError.code === \"ECONNABORTED\"\n\t\t\t\t\t) {\n\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t`Failed ${type} request on url: ${url}. ${response.message}`,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tthrow response;\n\t\t\t\t});\n\t\t\t})\n\t);\n};\n"],"mappings":"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","ignoreList":[]}
package/cjs/utils.js CHANGED
@@ -134,15 +134,18 @@ function getMaxID(deckVersionModel) {
134
134
  // but the sequence is not necessarily 0-based and sequential (e.g. in the
135
135
  // case of impostor decks). We fix that here.
136
136
  function setSequentialSequences(deck) {
137
+ // Write directly to _values to bypass ampersand-state's setter overhead
138
+ // (type casting + change event firing). These are freshly created presentation
139
+ // models with no external listeners, so skipping the events is safe.
137
140
  deck.sections.forEach(function (section, index) {
138
- section.sequence = index;
139
- section.index = index;
141
+ section._values.sequence = index;
142
+ section._values.index = index;
140
143
  section.slides.forEach(function (slide, index) {
141
- slide.sequence = index;
142
- slide.index = index;
144
+ slide._values.sequence = index;
145
+ slide._values.index = index;
143
146
  slide.subslides.forEach(function (subslide, index) {
144
- subslide.sequence = index;
145
- subslide.index = index;
147
+ subslide._values.sequence = index;
148
+ subslide._values.index = index;
146
149
  });
147
150
  });
148
151
  });
package/cjs/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":["_lodash","_interopRequireDefault","require","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","DATE_FORMAT","exports","DATE_FORMAT_T","getShortURL","url","URL","pathname","resolveURL","base","relative","dummyBase","href","resolved","replace","e2","removeMultiByteChars","_txt","txt","HOSTNAME_RE","getHostname","data","Error","concat","match","replaceHostname","before","after","hostnameBefore","hostnameAfter","indexOf","Array","isArray","map","item","_","isObject","reduce","newObj","key","getMaxID","deckVersionModel","ids","section_set","section","slides","slide_set","slide","subslides","subslide_set","subslide","id","_toConsumableArray2","flatten","max","setSequentialSequences","deck","sections","index","sequence","isImpostor","model","tags","isImpostorDeck","first","Boolean","find","sanitizeBase64","obj","conditionFn","undefined","v","_typeof2","acc","re","test","_conditionFn","process","env","NODE_ENV","window","Cypress"],"sources":["../src/utils.js"],"sourcesContent":["import _ from \"lodash\";\n/* eslint-disable no-control-regex */\n\nexport const DATE_FORMAT = \"YYYY-MM-DD HH:mm:ss.SSSSSS[Z]\";\nexport const DATE_FORMAT_T = \"YYYY-MM-DDTHH:mm:ss.SSSSSS[Z]\";\n\nexport function getShortURL(url) {\n\tif (!url) return url;\n\tif (typeof url !== \"string\") return url;\n\n\ttry {\n\t\treturn new URL(url, \"http://a.b\").pathname;\n\t} catch (e) {\n\t\treturn url;\n\t}\n}\n\n/**\n * Resolves a target URL relative to a base URL in a manner similar to a Web browser resolving an anchor tag.\n * Matches url.resolve() behavior but handles relative bases.\n */\nexport function resolveURL(base, relative) {\n\tif (!base) return relative;\n\tif (!relative) return base;\n\n\tconst dummyBase = \"http://a.b\";\n\ttry {\n\t\t// Try resolving normally (if base is absolute)\n\t\treturn new URL(relative, base).href;\n\t} catch (e) {\n\t\ttry {\n\t\t\t// If base is relative, resolve it against a dummy base, then strip it\n\t\t\tconst resolved = new URL(relative, new URL(base, dummyBase));\n\t\t\treturn resolved.href.replace(dummyBase, \"\");\n\t\t} catch (e2) {\n\t\t\treturn relative;\n\t\t}\n\t}\n}\n\n/**\n * Sometimes a string(especially from another platform) has characters encoded using another method.\n * In these circumstances those characters, when encoded with utf-8, look like errors.\n * see http://i18nqa.com/debug/utf8-debug.html for examples\n */\nexport function removeMultiByteChars(_txt) {\n\t// replace possible whitespace characters (non-breaking space, thin space etc.) with a normal space\n\tconst txt = _txt.replace(/(\\xA0|\\x20|\\x07| )/gmu, \" \");\n\n\t// remove every other cursed character entirely.\n\treturn txt.replace(\n\t\t/[\\xC0-\\xDF][\\x80-\\xBF]|[\\xE0-\\xEF][\\x80-\\xBF]{2}|[\\xF0-\\xF7][\\x80-\\xBF]{3}|[\\x80-\\xBF][\\xC0-\\xFF]/gmu,\n\t\t\"\",\n\t);\n}\n\nconst HOSTNAME_RE = /^(?:https?:\\/\\/)?([\\w-\\._]*)/;\n\nexport function getHostname(data) {\n\tif (typeof data !== \"string\") {\n\t\tthrow new Error(\n\t\t\t`Arg must contain a hostname, ie: \"test.livepreso.com\". Found \"${data}\"`,\n\t\t);\n\t}\n\n\treturn data.match(HOSTNAME_RE)[1];\n}\n\n/**\n * Replaces the hostname in some data (regardless of it being a string, array or object),\n * it will recursively update it all.\n *\n * Eg:\n *\n * replaceHostname(\"https://test.com/api/cool/1/\", \"test.com\", \"real.com\")\n * > \"https://real.com/api/cool/1/\"\n *\n */\nexport function replaceHostname(data, before, after) {\n\t// Don't do anything if they're the same!\n\tif (before === after) {\n\t\treturn data;\n\t}\n\n\tconst hostnameBefore = getHostname(before, \"Before\");\n\tconst hostnameAfter = getHostname(after, \"After\");\n\n\tif (typeof data === \"string\" && data.indexOf(\"http\") === 0) {\n\t\treturn data.replace(hostnameBefore, hostnameAfter);\n\t} else if (Array.isArray(data)) {\n\t\treturn data.map((item) => replaceHostname(item, before, after));\n\t} else if (_.isObject(data)) {\n\t\treturn Object.keys(data).reduce((newObj, key) => {\n\t\t\tnewObj[key] = replaceHostname(data[key], before, after);\n\t\t\treturn newObj;\n\t\t}, {});\n\t}\n\treturn data;\n}\n\n// Takes the deckversion model and retrieves the highest id between all of\n// the sections, slides and subslides\nexport function getMaxID(deckVersionModel) {\n\tconst ids = deckVersionModel.section_set.map((section) => {\n\t\tlet slides = [];\n\t\tif (section.slide_set) {\n\t\t\tslides = section.slide_set.map((slide) => {\n\t\t\t\tlet subslides = [];\n\n\t\t\t\tif (slide.subslide_set) {\n\t\t\t\t\tsubslides = slide.subslide_set.map((subslide) => subslide.id);\n\t\t\t\t}\n\n\t\t\t\treturn [slide.id, ...subslides];\n\t\t\t});\n\t\t}\n\n\t\treturn [section.id, ..._.flatten(slides)];\n\t});\n\n\treturn _.max(_.flatten(ids));\n}\n\n// The sections, slides and subslides are currently ordered by sequence\n// but the sequence is not necessarily 0-based and sequential (e.g. in the\n// case of impostor decks). We fix that here.\nexport function setSequentialSequences(deck) {\n\tdeck.sections.forEach((section, index) => {\n\t\tsection.sequence = index;\n\t\tsection.index = index;\n\n\t\tsection.slides.forEach((slide, index) => {\n\t\t\tslide.sequence = index;\n\t\t\tslide.index = index;\n\n\t\t\tslide.subslides.forEach((subslide, index) => {\n\t\t\t\tsubslide.sequence = index;\n\t\t\t\tsubslide.index = index;\n\t\t\t});\n\t\t});\n\t});\n}\n\n// A simple function to check the tags of a model - if it has the \"section-header\"\n// tag then it's an impostor slide\nexport function isImpostor(model) {\n\tconst tags = model.tags || [];\n\n\treturn tags.indexOf(\"section-header\") !== -1;\n}\n\n// An impostor deck will have impostor slides - checking for these is the\n// most reliable method of determining whether a deck is an impostor deck,\n// and is also the same method that the server uses.\nexport function isImpostorDeck(deckVersionModel) {\n\tconst section = deckVersionModel.section_set.first();\n\n\treturn Boolean(\n\t\tsection && section.slide_set.find((slide) => isImpostor(slide)),\n\t);\n}\n\n/**\n * Strips base64 strings recursively.\n *\n * Optionally accepts a condition function, which you can use you add any extra\n * checks to test whether you want to clear the string.\n */\nexport function sanitizeBase64(obj, conditionFn = () => true) {\n\tif (Array.isArray(obj)) {\n\t\treturn obj.map((v) => sanitizeBase64(v, conditionFn));\n\t} else if (\n\t\ttypeof obj === \"object\" &&\n\t\tobj !== null &&\n\t\ttypeof obj !== \"undefined\"\n\t) {\n\t\treturn Object.keys(obj).reduce((acc, key) => {\n\t\t\treturn { ...acc, [key]: sanitizeBase64(obj[key], conditionFn) };\n\t\t}, {});\n\t} else if (typeof obj === \"string\") {\n\t\t// Catch anything that looks like base64, or base64%2C (which is the encoded version)\n\t\t// and strip it. This is a last resort, we'd prefer not to be in this position!\n\t\tconst re = /base64(,|(%2C))/;\n\n\t\tif (re.test(obj)) {\n\t\t\t// If you're a developer, let's throw an error.\n\t\t\tif (process.env.NODE_ENV === \"development\" && !window.Cypress) {\n\t\t\t\tthrow new Error(\"Tried to save a base64 string. Figure out why!\");\n\t\t\t}\n\n\t\t\tif (conditionFn?.(obj) ?? true) {\n\t\t\t\treturn \"\";\n\t\t\t}\n\t\t}\n\t}\n\treturn obj;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"utils.js","names":["_lodash","_interopRequireDefault","require","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","DATE_FORMAT","exports","DATE_FORMAT_T","getShortURL","url","URL","pathname","resolveURL","base","relative","dummyBase","href","resolved","replace","e2","removeMultiByteChars","_txt","txt","HOSTNAME_RE","getHostname","data","Error","concat","match","replaceHostname","before","after","hostnameBefore","hostnameAfter","indexOf","Array","isArray","map","item","_","isObject","reduce","newObj","key","getMaxID","deckVersionModel","ids","section_set","section","slides","slide_set","slide","subslides","subslide_set","subslide","id","_toConsumableArray2","flatten","max","setSequentialSequences","deck","sections","index","_values","sequence","isImpostor","model","tags","isImpostorDeck","first","Boolean","find","sanitizeBase64","obj","conditionFn","undefined","v","_typeof2","acc","re","test","_conditionFn","process","env","NODE_ENV","window","Cypress"],"sources":["../src/utils.js"],"sourcesContent":["import _ from \"lodash\";\n/* eslint-disable no-control-regex */\n\nexport const DATE_FORMAT = \"YYYY-MM-DD HH:mm:ss.SSSSSS[Z]\";\nexport const DATE_FORMAT_T = \"YYYY-MM-DDTHH:mm:ss.SSSSSS[Z]\";\n\nexport function getShortURL(url) {\n\tif (!url) return url;\n\tif (typeof url !== \"string\") return url;\n\n\ttry {\n\t\treturn new URL(url, \"http://a.b\").pathname;\n\t} catch (e) {\n\t\treturn url;\n\t}\n}\n\n/**\n * Resolves a target URL relative to a base URL in a manner similar to a Web browser resolving an anchor tag.\n * Matches url.resolve() behavior but handles relative bases.\n */\nexport function resolveURL(base, relative) {\n\tif (!base) return relative;\n\tif (!relative) return base;\n\n\tconst dummyBase = \"http://a.b\";\n\ttry {\n\t\t// Try resolving normally (if base is absolute)\n\t\treturn new URL(relative, base).href;\n\t} catch (e) {\n\t\ttry {\n\t\t\t// If base is relative, resolve it against a dummy base, then strip it\n\t\t\tconst resolved = new URL(relative, new URL(base, dummyBase));\n\t\t\treturn resolved.href.replace(dummyBase, \"\");\n\t\t} catch (e2) {\n\t\t\treturn relative;\n\t\t}\n\t}\n}\n\n/**\n * Sometimes a string(especially from another platform) has characters encoded using another method.\n * In these circumstances those characters, when encoded with utf-8, look like errors.\n * see http://i18nqa.com/debug/utf8-debug.html for examples\n */\nexport function removeMultiByteChars(_txt) {\n\t// replace possible whitespace characters (non-breaking space, thin space etc.) with a normal space\n\tconst txt = _txt.replace(/(\\xA0|\\x20|\\x07| )/gmu, \" \");\n\n\t// remove every other cursed character entirely.\n\treturn txt.replace(\n\t\t/[\\xC0-\\xDF][\\x80-\\xBF]|[\\xE0-\\xEF][\\x80-\\xBF]{2}|[\\xF0-\\xF7][\\x80-\\xBF]{3}|[\\x80-\\xBF][\\xC0-\\xFF]/gmu,\n\t\t\"\",\n\t);\n}\n\nconst HOSTNAME_RE = /^(?:https?:\\/\\/)?([\\w-\\._]*)/;\n\nexport function getHostname(data) {\n\tif (typeof data !== \"string\") {\n\t\tthrow new Error(\n\t\t\t`Arg must contain a hostname, ie: \"test.livepreso.com\". Found \"${data}\"`,\n\t\t);\n\t}\n\n\treturn data.match(HOSTNAME_RE)[1];\n}\n\n/**\n * Replaces the hostname in some data (regardless of it being a string, array or object),\n * it will recursively update it all.\n *\n * Eg:\n *\n * replaceHostname(\"https://test.com/api/cool/1/\", \"test.com\", \"real.com\")\n * > \"https://real.com/api/cool/1/\"\n *\n */\nexport function replaceHostname(data, before, after) {\n\t// Don't do anything if they're the same!\n\tif (before === after) {\n\t\treturn data;\n\t}\n\n\tconst hostnameBefore = getHostname(before, \"Before\");\n\tconst hostnameAfter = getHostname(after, \"After\");\n\n\tif (typeof data === \"string\" && data.indexOf(\"http\") === 0) {\n\t\treturn data.replace(hostnameBefore, hostnameAfter);\n\t} else if (Array.isArray(data)) {\n\t\treturn data.map((item) => replaceHostname(item, before, after));\n\t} else if (_.isObject(data)) {\n\t\treturn Object.keys(data).reduce((newObj, key) => {\n\t\t\tnewObj[key] = replaceHostname(data[key], before, after);\n\t\t\treturn newObj;\n\t\t}, {});\n\t}\n\treturn data;\n}\n\n// Takes the deckversion model and retrieves the highest id between all of\n// the sections, slides and subslides\nexport function getMaxID(deckVersionModel) {\n\tconst ids = deckVersionModel.section_set.map((section) => {\n\t\tlet slides = [];\n\t\tif (section.slide_set) {\n\t\t\tslides = section.slide_set.map((slide) => {\n\t\t\t\tlet subslides = [];\n\n\t\t\t\tif (slide.subslide_set) {\n\t\t\t\t\tsubslides = slide.subslide_set.map((subslide) => subslide.id);\n\t\t\t\t}\n\n\t\t\t\treturn [slide.id, ...subslides];\n\t\t\t});\n\t\t}\n\n\t\treturn [section.id, ..._.flatten(slides)];\n\t});\n\n\treturn _.max(_.flatten(ids));\n}\n\n// The sections, slides and subslides are currently ordered by sequence\n// but the sequence is not necessarily 0-based and sequential (e.g. in the\n// case of impostor decks). We fix that here.\nexport function setSequentialSequences(deck) {\n\t// Write directly to _values to bypass ampersand-state's setter overhead\n\t// (type casting + change event firing). These are freshly created presentation\n\t// models with no external listeners, so skipping the events is safe.\n\tdeck.sections.forEach((section, index) => {\n\t\tsection._values.sequence = index;\n\t\tsection._values.index = index;\n\n\t\tsection.slides.forEach((slide, index) => {\n\t\t\tslide._values.sequence = index;\n\t\t\tslide._values.index = index;\n\n\t\t\tslide.subslides.forEach((subslide, index) => {\n\t\t\t\tsubslide._values.sequence = index;\n\t\t\t\tsubslide._values.index = index;\n\t\t\t});\n\t\t});\n\t});\n}\n\n// A simple function to check the tags of a model - if it has the \"section-header\"\n// tag then it's an impostor slide\nexport function isImpostor(model) {\n\tconst tags = model.tags || [];\n\n\treturn tags.indexOf(\"section-header\") !== -1;\n}\n\n// An impostor deck will have impostor slides - checking for these is the\n// most reliable method of determining whether a deck is an impostor deck,\n// and is also the same method that the server uses.\nexport function isImpostorDeck(deckVersionModel) {\n\tconst section = deckVersionModel.section_set.first();\n\n\treturn Boolean(\n\t\tsection && section.slide_set.find((slide) => isImpostor(slide)),\n\t);\n}\n\n/**\n * Strips base64 strings recursively.\n *\n * Optionally accepts a condition function, which you can use you add any extra\n * checks to test whether you want to clear the string.\n */\nexport function sanitizeBase64(obj, conditionFn = () => true) {\n\tif (Array.isArray(obj)) {\n\t\treturn obj.map((v) => sanitizeBase64(v, conditionFn));\n\t} else if (\n\t\ttypeof obj === \"object\" &&\n\t\tobj !== null &&\n\t\ttypeof obj !== \"undefined\"\n\t) {\n\t\treturn Object.keys(obj).reduce((acc, key) => {\n\t\t\treturn { ...acc, [key]: sanitizeBase64(obj[key], conditionFn) };\n\t\t}, {});\n\t} else if (typeof obj === \"string\") {\n\t\t// Catch anything that looks like base64, or base64%2C (which is the encoded version)\n\t\t// and strip it. This is a last resort, we'd prefer not to be in this position!\n\t\tconst re = /base64(,|(%2C))/;\n\n\t\tif (re.test(obj)) {\n\t\t\t// If you're a developer, let's throw an error.\n\t\t\tif (process.env.NODE_ENV === \"development\" && !window.Cypress) {\n\t\t\t\tthrow new Error(\"Tried to save a base64 string. Figure out why!\");\n\t\t\t}\n\n\t\t\tif (conditionFn?.(obj) ?? true) {\n\t\t\t\treturn \"\";\n\t\t\t}\n\t\t}\n\t}\n\treturn obj;\n}\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@livepreso/api",
3
3
  "license": "UNLICENSED",
4
- "version": "6.56.1",
4
+ "version": "6.57.1",
5
5
  "description": "Everything to do with talking to the SalePreso API",
6
6
  "main": "index.js",
7
7
  "module": "esm/index.js",
@@ -23,7 +23,7 @@
23
23
  "lodash": "^4.17.4",
24
24
  "moment": "^2.18.1",
25
25
  "qs": "^6.4.0",
26
- "superagent": "^3.5.2",
26
+ "superagent": "~10.3.0",
27
27
  "superagent-bluebird-promise": "~4.2.0",
28
28
  "systemjs": "^6.9.0"
29
29
  },
@@ -1,13 +1,3 @@
1
- npm verbose cli /home/adam/.nvm/versions/node/v24.12.0/bin/node /home/adam/.nvm/versions/node/v24.12.0/bin/npm
2
- npm info using npm@11.6.2
3
- npm info using node@v24.12.0
4
- npm verbose title npm run build:cjs
5
- npm verbose argv "run" "build:cjs"
6
- npm verbose logfile logs-max:10 dir:/home/adam/.npm/_logs/2026-02-17T02_45_57_253Z-
7
- npm verbose logfile /home/adam/.npm/_logs/2026-02-17T02_45_57_253Z-debug-0.log
8
- npm verbose cwd /home/adam/Programming/work/livepreso/modules/api
9
- npm verbose os Linux 6.14.0-29-generic
10
- npm verbose node v24.12.0
11
- npm verbose npm v11.6.2
12
- npm verbose exit 0
13
- npm info ok
1
+ Browserslist: browsers data (caniuse-lite) is 9 months old. Please run:
2
+ npx update-browserslist-db@latest
3
+ Why you should do it regularly: https://github.com/browserslist/update-db#readme
@@ -1,19 +1,9 @@
1
1
  Invoking: run-p build:*
2
- npm verbose cli /home/adam/.nvm/versions/node/v24.12.0/bin/node /home/adam/.nvm/versions/node/v24.12.0/bin/npm
3
- npm info using npm@11.6.2
4
- npm info using node@v24.12.0
5
- npm verbose title npm run build:cjs
6
- npm verbose argv "run" "build:cjs"
7
- npm verbose logfile logs-max:10 dir:/home/adam/.npm/_logs/2026-02-17T02_45_57_253Z-
8
- npm verbose logfile /home/adam/.npm/_logs/2026-02-17T02_45_57_253Z-debug-0.log
9
2
 
10
- > @livepreso/api@6.55.2 build:cjs
3
+ > @livepreso/api@6.53.0 build:cjs
11
4
  > BABEL_ENV=cjs babel --delete-dir-on-start src/ --out-dir=cjs/ -s
12
5
 
13
- Successfully compiled 165 files with Babel (6718ms).
14
- npm verbose cwd /home/adam/Programming/work/livepreso/modules/api
15
- npm verbose os Linux 6.14.0-29-generic
16
- npm verbose node v24.12.0
17
- npm verbose npm v11.6.2
18
- npm verbose exit 0
19
- npm info ok
6
+ Browserslist: browsers data (caniuse-lite) is 9 months old. Please run:
7
+ npx update-browserslist-db@latest
8
+ Why you should do it regularly: https://github.com/browserslist/update-db#readme
9
+ Successfully compiled 163 files with Babel (17903ms).