@livepreso/api 6.52.0 → 6.53.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 (77) hide show
  1. package/.rush/temp/chunked-rush-logs/api.build.chunks.jsonl +5 -2
  2. package/.rush/temp/operation/build/all.log +5 -2
  3. package/.rush/temp/operation/build/error.log +3 -0
  4. package/.rush/temp/operation/build/log-chunks.jsonl +5 -2
  5. package/.rush/temp/operation/build/state.json +1 -1
  6. package/.rush/temp/shrinkwrap-deps.json +11 -2
  7. package/CHANGELOG.json +32 -0
  8. package/CHANGELOG.md +20 -1
  9. package/cjs/collections/base.js +15 -1
  10. package/cjs/collections/base.js.map +1 -1
  11. package/cjs/collections/base.spec.js +61 -0
  12. package/cjs/collections/base.spec.js.map +1 -1
  13. package/cjs/models/base.js +54 -12
  14. package/cjs/models/base.js.map +1 -1
  15. package/cjs/models/base.spec.js +28 -0
  16. package/cjs/models/base.spec.js.map +1 -1
  17. package/cjs/models/deck-version.js +14 -5
  18. package/cjs/models/deck-version.js.map +1 -1
  19. package/cjs/presentation/presentation-deck.js +28 -15
  20. package/cjs/presentation/presentation-deck.js.map +1 -1
  21. package/cjs/presentation/presentation-section.js +19 -9
  22. package/cjs/presentation/presentation-section.js.map +1 -1
  23. package/cjs/presentation/presentation-section.spec.js +3 -3
  24. package/cjs/presentation/presentation-section.spec.js.map +1 -1
  25. package/cjs/presentation/presentation-slide.js +22 -5
  26. package/cjs/presentation/presentation-slide.js.map +1 -1
  27. package/cjs/presentation/presentation.js +2 -2
  28. package/cjs/presentation/presentation.js.map +1 -1
  29. package/package.json +3 -3
  30. package/rush-logs/api.build.error.log +3 -0
  31. package/rush-logs/api.build.log +5 -2
  32. package/src/collections/base.js +13 -2
  33. package/src/collections/base.spec.js +37 -0
  34. package/src/models/base.js +38 -11
  35. package/src/models/base.spec.js +18 -0
  36. package/src/models/deck-version.js +7 -4
  37. package/src/presentation/presentation-deck.js +34 -17
  38. package/src/presentation/presentation-section.js +15 -3
  39. package/src/presentation/presentation-section.spec.js +2 -6
  40. package/src/presentation/presentation-slide.js +17 -2
  41. package/src/presentation/presentation.js +2 -2
  42. package/.rush/temp/1aebf46f78ad5c45f82f8147751890adb37bef9d.log +0 -10
  43. package/.rush/temp/256021b5963b4c0221d3dec247b697b9691a9b2c.log +0 -10
  44. package/.rush/temp/2a322f00f12cf9d1e64afe81275cc78d01c49050.log +0 -10
  45. package/.rush/temp/30061f1865447dcbb3f20a305061205f3dbe6091.log +0 -10
  46. package/.rush/temp/3cdc82c352e8ed90607952873f3aa4c200490874.log +0 -10
  47. package/.rush/temp/45522aea0dee8cb2be1a53248ba45bd235743b43.log +0 -10
  48. package/.rush/temp/5489ab737e406518983c16c57fc3e1edc07c0341.log +0 -10
  49. package/.rush/temp/58fcbb7f15a76326d40e0839ab179755da82a891.log +0 -10
  50. package/.rush/temp/5bc0bba70b733baa4dd976667ba0a1386e516186.log +0 -10
  51. package/.rush/temp/64f1bb696f8d7d7e72907b80df316b127f72e23e.log +0 -10
  52. package/.rush/temp/6f640f951414ea68adb65c17e4ed7527cde54faf.log +0 -10
  53. package/.rush/temp/7c7b958682d4ab5697530be47d0aac62efe1adf1.log +0 -10
  54. package/.rush/temp/82bfb987463fbcfebf04022e6ed00015c73879c8.log +0 -10
  55. package/.rush/temp/844034aa6e542115075e8f3dc5ffc640973e0064.log +0 -10
  56. package/.rush/temp/8b42957a7c15da1f29cb57bee125f13affa70dca.log +0 -10
  57. package/.rush/temp/924652444ab5a6063f328a2217123a2227058896.log +0 -10
  58. package/.rush/temp/9f2030f96d62f3e38052e35201819a216566f14f.log +0 -10
  59. package/.rush/temp/a769db9d81a23000c0e9b1bf4f1a9a9e721d0d7c.log +0 -10
  60. package/.rush/temp/a87d3a8b4ece87ec66f27c86226a9f205617681f.log +0 -10
  61. package/.rush/temp/bb7a5bdcc4af4ad1507f81f33774b31f5b4e4fb7.log +0 -10
  62. package/.rush/temp/build-cache-tar.log +0 -7
  63. package/.rush/temp/c20e29ccaaa9231b38a28bb24451b4ce7562cdc0.log +0 -10
  64. package/.rush/temp/chunked-rush-logs/api.test.chunks.jsonl +0 -1
  65. package/.rush/temp/e21303db8f59b4625fd184c9114377d781fd24f8.log +0 -10
  66. package/.rush/temp/e6d303862765b6a5f41dd483d0f9ae083a1fae10.log +0 -10
  67. package/.rush/temp/eaf69fbc059d2f1258d7569136180d4a1d3c7072.log +0 -10
  68. package/.rush/temp/f85d279e2674966daaec83e1c3986a96f86ef304.log +0 -10
  69. package/.rush/temp/fc0a332c5b34c6b90006850cf2d93a48fb4b9a6e.log +0 -10
  70. package/.rush/temp/operation/test/all.log +0 -19
  71. package/.rush/temp/operation/test/state.json +0 -3
  72. package/.rush/temp/package-deps_build.json +0 -185
  73. package/api.build.log +0 -9
  74. package/api.test.cache.log +0 -1
  75. package/api.test.log +0 -19
  76. package/rush-logs/api.test.cache.log +0 -1
  77. package/rush-logs/api.test.log +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"presentation-slide.js","names":["require","collections","_interopRequireWildcard","_models","_basePresentationModel","_presentationSubslide","_lodash","_interopRequireDefault","_index","_stateRegister","_url","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","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","tags","cmsvalkey_set","children","adjunct","template","subslides","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","sectionID","_key$split","split","_key$split2","_slicedToArray2","slideKey","titles","url2","resolve","getAssetPath","ordering","createFromManifestImpostor","presentationSlide","createFromTemplate","minID","Number","createFromAutoAdjunct","_autoAdjunct$template","opts","requiredKeys","_i","_requiredKeys","allowConvert","deckversionID","impostor","isAutoAdjunct","autoAdjunct","AutoAdjunctModel","autoAdjunctSlide","name","_autoAdjunctSlide$cms","missingKeys","find","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 url2 from \"url\";\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 {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\ttags: \"array\",\n\t\t\tcmsvalkey_set: \"array\",\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\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\tkey,\n\tsectionID,\n\tindex,\n) {\n\tconst [, slideKey] = key.split(\"/\");\n\n\tconst slide = new PresentationSlide({\n\t\tid: parseInt(_.uniqueId(), 10),\n\t\ttitle: manifestJSON.titles[key],\n\t\tindex,\n\t\thtml: url2.resolve(manifestJSON.getAssetPath(key), \"index.html\"),\n\t\tcss: url2.resolve(manifestJSON.getAssetPath(key), \"slide.css\"),\n\t\tkey: slideKey,\n\t\teditable: false,\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: [],\n\t});\n\n\treturn slide;\n};\n\nPresentationSlide.createFromManifestImpostor = function (\n\tslide,\n\tindex,\n\tsectionID,\n) {\n\tconst presentationSlide = new PresentationSlide({\n\t\tid: parseInt(_.uniqueId(), 10),\n\t\teditable: slide.tags.indexOf(\"editable\") !== -1,\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});\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\tthumbnail: null,\n\t\tcustom: false,\n\t\tvisible: true,\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});\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","_url","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","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","tags","cmsvalkey_set","children","adjunct","template","subslides","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","url2","resolve","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 url2 from \"url\";\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 {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\ttags: \"array\",\n\t\t\tcmsvalkey_set: \"array\",\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\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: url2.resolve(manifestJSON.getAssetPath(key), \"index.html\"),\n\t\tcss: url2.resolve(manifestJSON.getAssetPath(key), \"slide.css\"),\n\t\tkey: slideKey,\n\t\teditable: false,\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\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\tthumbnail: null,\n\t\tcustom: false,\n\t\tvisible: true,\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});\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":[]}
@@ -122,12 +122,12 @@ Presentation.createFromDeckversion = function (deckversionURL, options) {
122
122
  throw e;
123
123
  });
124
124
  };
125
- Presentation.createFromManifestJSON = function (manifestJSON, url) {
125
+ Presentation.createFromManifestJSON = function (manifestJSON, project, url) {
126
126
  var manifestModel = new _models.ManifestJSONModel(manifestJSON.toJSON());
127
127
 
128
128
  // Let's use the model to transport the base url for the deck assets
129
129
  manifestModel._url = url;
130
- var deck = _presentationDeck.PresentationDeck.createFromManifestJSON(manifestModel);
130
+ var deck = _presentationDeck.PresentationDeck.createFromManifestJSON(manifestModel, project);
131
131
  var presentation = new Presentation();
132
132
  presentation.decks.add(deck);
133
133
  return presentation;
@@ -1 +1 @@
1
- {"version":3,"file":"presentation.js","names":["require","_models","_autoAdjuncts","_basePresentationModel","_presentationDeck","_bluebird","_interopRequireDefault","_lodash","_log","_stateRegister","_excluded","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","_createForOfIteratorHelper","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","_n","F","s","n","done","value","f","TypeError","a","u","call","next","return","_arrayLikeToArray","toString","slice","constructor","name","from","test","Presentation","exports","BasePresentationModel","extend","collections","decks","createFromDeckversion","deckversionURL","options","deckversion","DeckVersionModel","opts","_","defaults","includeTemplates","choicelist","autoAdjuncts","AutoAdjunctCollection","fetch","then","Promise","all","manifest_json","deck","_asyncToGenerator2","_regenerator","mark","_callee","templates","_iterator","_step","_loop","wrap","_callee$","_context2","prev","_toConsumableArray2","template_set","models","auto","dvTemplate","_loop$","_context","find","url","template","stop","delegateYield","t1","finish","tags","deckTags","items","reduce","tagObj","tagItem","namespaced_key","presentation","otherOpts","_objectWithoutProperties2","toJSON","add","PresentationDeck","createFromDeckVersion","catch","log","error","createFromManifestJSON","manifestJSON","manifestModel","ManifestJSONModel","_url","register"],"sources":["../../src/presentation/presentation.js"],"sourcesContent":["import \"./presentation-decks.js\";\n\nimport { DeckVersionModel, ManifestJSONModel } from \"../models.js\";\n\nimport { AutoAdjunctCollection } from \"../collections/auto-adjuncts.js\";\nimport { BasePresentationModel } from \"./base-presentation-model.js\";\nimport { PresentationDeck } from \"./presentation-deck.js\";\nimport Promise from \"bluebird\";\nimport _ from \"lodash\";\nimport log from \"../log.js\";\nimport { register } from \"../state-register.js\";\n\nexport const Presentation = BasePresentationModel.extend({\n\tcollections: {\n\t\tdecks: \"PresentationDeckCollection\",\n\t},\n});\n\nPresentation.createFromDeckversion = function (deckversionURL, options) {\n\tconst deckversion = new DeckVersionModel(deckversionURL);\n\tconst opts = _.defaults(options, {\n\t\tincludeTemplates: false,\n\t\tchoicelist: null,\n\t\tautoAdjuncts: new AutoAdjunctCollection(),\n\t});\n\n\treturn deckversion\n\t\t.fetch()\n\t\t.then(() => {\n\t\t\treturn Promise.all([\n\t\t\t\tdeckversion.manifest_json.fetch(),\n\t\t\t\tdeckversion.deck.fetch(),\n\t\t\t]);\n\t\t})\n\t\t.then(async () => {\n\t\t\tconst templates = [...deckversion.template_set.models];\n\n\t\t\tfor (const auto of opts.autoAdjuncts.models) {\n\t\t\t\tconst dvTemplate = templates.find(\n\t\t\t\t\t(t) => t.url() === auto.template.url(),\n\t\t\t\t);\n\t\t\t\tif (dvTemplate) {\n\t\t\t\t\tauto.template = dvTemplate;\n\t\t\t\t} else {\n\t\t\t\t\tawait auto.template.fetch();\n\t\t\t\t\ttemplates.push(auto.template);\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t\t.then(() => {\n\t\t\treturn deckversion.deck.tags.fetch();\n\t\t})\n\t\t.then(() => {\n\t\t\tconst deckTags = deckversion.deck.tags.items.reduce((tagObj, tagItem) => {\n\t\t\t\ttagObj[tagItem.namespaced_key] = tagItem.tags;\n\t\t\t\treturn tagObj;\n\t\t\t}, {});\n\n\t\t\tconst presentation = new Presentation();\n\n\t\t\tconst { includeTemplates, ...otherOpts } = opts;\n\n\t\t\tif (includeTemplates) {\n\t\t\t\totherOpts.templates = deckversion.template_set.toJSON();\n\t\t\t}\n\n\t\t\tpresentation.decks.add([\n\t\t\t\tPresentationDeck.createFromDeckVersion(deckversion, {\n\t\t\t\t\t...otherOpts,\n\t\t\t\t\tdeckTags,\n\t\t\t\t}),\n\t\t\t]);\n\n\t\t\treturn presentation;\n\t\t})\n\t\t.catch((e) => {\n\t\t\tlog.error(e);\n\t\t\tthrow e;\n\t\t});\n};\n\nPresentation.createFromManifestJSON = function (manifestJSON, url) {\n\tconst manifestModel = new ManifestJSONModel(manifestJSON.toJSON());\n\n\t// Let's use the model to transport the base url for the deck assets\n\tmanifestModel._url = url;\n\n\tconst deck = PresentationDeck.createFromManifestJSON(manifestModel);\n\tconst presentation = new Presentation();\n\tpresentation.decks.add(deck);\n\treturn presentation;\n};\n\nregister(\"Presentation\", Presentation);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"presentation.js","names":["require","_models","_autoAdjuncts","_basePresentationModel","_presentationDeck","_bluebird","_interopRequireDefault","_lodash","_log","_stateRegister","_excluded","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","_createForOfIteratorHelper","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","_n","F","s","n","done","value","f","TypeError","a","u","call","next","return","_arrayLikeToArray","toString","slice","constructor","name","from","test","Presentation","exports","BasePresentationModel","extend","collections","decks","createFromDeckversion","deckversionURL","options","deckversion","DeckVersionModel","opts","_","defaults","includeTemplates","choicelist","autoAdjuncts","AutoAdjunctCollection","fetch","then","Promise","all","manifest_json","deck","_asyncToGenerator2","_regenerator","mark","_callee","templates","_iterator","_step","_loop","wrap","_callee$","_context2","prev","_toConsumableArray2","template_set","models","auto","dvTemplate","_loop$","_context","find","url","template","stop","delegateYield","t1","finish","tags","deckTags","items","reduce","tagObj","tagItem","namespaced_key","presentation","otherOpts","_objectWithoutProperties2","toJSON","add","PresentationDeck","createFromDeckVersion","catch","log","error","createFromManifestJSON","manifestJSON","project","manifestModel","ManifestJSONModel","_url","register"],"sources":["../../src/presentation/presentation.js"],"sourcesContent":["import \"./presentation-decks.js\";\n\nimport { DeckVersionModel, ManifestJSONModel } from \"../models.js\";\n\nimport { AutoAdjunctCollection } from \"../collections/auto-adjuncts.js\";\nimport { BasePresentationModel } from \"./base-presentation-model.js\";\nimport { PresentationDeck } from \"./presentation-deck.js\";\nimport Promise from \"bluebird\";\nimport _ from \"lodash\";\nimport log from \"../log.js\";\nimport { register } from \"../state-register.js\";\n\nexport const Presentation = BasePresentationModel.extend({\n\tcollections: {\n\t\tdecks: \"PresentationDeckCollection\",\n\t},\n});\n\nPresentation.createFromDeckversion = function (deckversionURL, options) {\n\tconst deckversion = new DeckVersionModel(deckversionURL);\n\tconst opts = _.defaults(options, {\n\t\tincludeTemplates: false,\n\t\tchoicelist: null,\n\t\tautoAdjuncts: new AutoAdjunctCollection(),\n\t});\n\n\treturn deckversion\n\t\t.fetch()\n\t\t.then(() => {\n\t\t\treturn Promise.all([\n\t\t\t\tdeckversion.manifest_json.fetch(),\n\t\t\t\tdeckversion.deck.fetch(),\n\t\t\t]);\n\t\t})\n\t\t.then(async () => {\n\t\t\tconst templates = [...deckversion.template_set.models];\n\n\t\t\tfor (const auto of opts.autoAdjuncts.models) {\n\t\t\t\tconst dvTemplate = templates.find(\n\t\t\t\t\t(t) => t.url() === auto.template.url(),\n\t\t\t\t);\n\t\t\t\tif (dvTemplate) {\n\t\t\t\t\tauto.template = dvTemplate;\n\t\t\t\t} else {\n\t\t\t\t\tawait auto.template.fetch();\n\t\t\t\t\ttemplates.push(auto.template);\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t\t.then(() => {\n\t\t\treturn deckversion.deck.tags.fetch();\n\t\t})\n\t\t.then(() => {\n\t\t\tconst deckTags = deckversion.deck.tags.items.reduce((tagObj, tagItem) => {\n\t\t\t\ttagObj[tagItem.namespaced_key] = tagItem.tags;\n\t\t\t\treturn tagObj;\n\t\t\t}, {});\n\n\t\t\tconst presentation = new Presentation();\n\n\t\t\tconst { includeTemplates, ...otherOpts } = opts;\n\n\t\t\tif (includeTemplates) {\n\t\t\t\totherOpts.templates = deckversion.template_set.toJSON();\n\t\t\t}\n\n\t\t\tpresentation.decks.add([\n\t\t\t\tPresentationDeck.createFromDeckVersion(deckversion, {\n\t\t\t\t\t...otherOpts,\n\t\t\t\t\tdeckTags,\n\t\t\t\t}),\n\t\t\t]);\n\n\t\t\treturn presentation;\n\t\t})\n\t\t.catch((e) => {\n\t\t\tlog.error(e);\n\t\t\tthrow e;\n\t\t});\n};\n\nPresentation.createFromManifestJSON = function (manifestJSON, project, url) {\n\tconst manifestModel = new ManifestJSONModel(manifestJSON.toJSON());\n\n\t// Let's use the model to transport the base url for the deck assets\n\tmanifestModel._url = url;\n\n\tconst deck = PresentationDeck.createFromManifestJSON(manifestModel, project);\n\tconst presentation = new Presentation();\n\tpresentation.decks.add(deck);\n\treturn presentation;\n};\n\nregister(\"Presentation\", Presentation);\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.52.0",
4
+ "version": "6.53.1",
5
5
  "description": "Everything to do with talking to the SalePreso API",
6
6
  "main": "index.js",
7
7
  "module": "esm/index.js",
@@ -56,8 +56,8 @@
56
56
  "jest-fixed-default-reporter": "~2.0.1",
57
57
  "rosie": "~2.1.0",
58
58
  "@faker-js/faker": "~7.5.0",
59
- "sp-test": "0.2.0",
60
- "@livepreso/eslint-config": "1.0.0"
59
+ "@livepreso/eslint-config": "1.0.0",
60
+ "sp-test": "0.2.0"
61
61
  },
62
62
  "scripts": {
63
63
  "test:debug": "node --inspect node_modules/.bin/jest --watch --runInBand",
@@ -0,0 +1,3 @@
1
+ Browserslist: browsers data (caniuse-lite) is 8 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,6 +1,9 @@
1
1
  Invoking: run-p build:*
2
2
 
3
- > @livepreso/api@6.51.0 build:cjs
3
+ > @livepreso/api@6.53.0 build:cjs
4
4
  > BABEL_ENV=cjs babel --delete-dir-on-start src/ --out-dir=cjs/ -s
5
5
 
6
- Successfully compiled 163 files with Babel (13045ms).
6
+ Browserslist: browsers data (caniuse-lite) is 8 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 (3818ms).
@@ -320,8 +320,19 @@ export const BaseCollection = Collection.extend(
320
320
  return true;
321
321
  },
322
322
 
323
- serialize() {
324
- const collection = Collection.prototype.serialize.call(this);
323
+ serialize(...args) {
324
+ // Don't use the base collection serialize so we can pass in
325
+ // arguments
326
+ const collection = this.map((model) => {
327
+ if (model.serialize) {
328
+ return model.serialize(...args);
329
+ } else {
330
+ const out = {};
331
+ _.assign(out, model);
332
+ delete out.collection;
333
+ return out;
334
+ }
335
+ });
325
336
 
326
337
  if (_.isObject(this._data) && this._data.url && !collection.length) {
327
338
  return this._data.url;
@@ -225,4 +225,41 @@ describe("fetchAll", () => {
225
225
  expect(baseCollection.first().id).toEqual(11);
226
226
  expect(baseCollection.last().id).toEqual(30);
227
227
  });
228
+
229
+ it("should serialize collection models with urls", async () => {
230
+ G(BaseCollection.extend({ model: "TestModel" }), "TestCollection");
231
+ G(
232
+ BaseModel.extend({
233
+ modelName: "bar",
234
+ children: { test: "TestModel" },
235
+ collections: { tests: "TestCollection" },
236
+ }),
237
+ "TestModel",
238
+ );
239
+
240
+ const Collection = G(BaseCollection.extend({ model: "TestModel" }));
241
+ const baseCollection = new Collection([
242
+ {
243
+ id: 1,
244
+ url: "/api/bar/1/",
245
+ test: { id: 1, url: "/api/baz/1/" },
246
+ tests: [{ id: 2, test: { id: 4 } }],
247
+ },
248
+ {
249
+ id: 2,
250
+ url: "/api/bar/2/",
251
+ test: { id: 2, url: "/api/baz/2/" },
252
+ tests: [],
253
+ },
254
+ ]);
255
+ expect(baseCollection.serialize({ urlsOnly: true })).toEqual([
256
+ {
257
+ id: 1,
258
+ test: "/api/bar/1/",
259
+ url: "/api/bar/1/",
260
+ tests: ["/api/bar/2/"],
261
+ },
262
+ { id: 2, test: "/api/bar/2/", url: "/api/bar/2/", tests: [] },
263
+ ]);
264
+ });
228
265
  });
@@ -242,7 +242,7 @@ export const BaseModel = Model.extend(
242
242
  getIDFromURL(url, resource = "") {
243
243
  const resourceURL = resource || this.getResourceURL();
244
244
 
245
- if (!url || !resourceURL) {
245
+ if (typeof url !== "string" || !resourceURL) {
246
246
  return null;
247
247
  }
248
248
 
@@ -693,6 +693,10 @@ export const BaseModel = Model.extend(
693
693
  return {};
694
694
  }
695
695
 
696
+ // Urls only will build a model without its children/collections expanded -
697
+ // it will return urls instead of the full model.
698
+ const { urlsOnly = false } = opts ?? {};
699
+
696
700
  const data = Model.prototype.serialize.apply(this, arguments);
697
701
  data.url = this.url();
698
702
 
@@ -706,24 +710,47 @@ export const BaseModel = Model.extend(
706
710
  return object;
707
711
  }, {});
708
712
 
709
- Object.keys(this._unsetCollections).forEach((key) => {
710
- if (this._unsetCollections[key].canBeEmpty && !this._values[key]) {
713
+ const allCollectionKeys = [
714
+ ...Object.keys(this._unsetCollections),
715
+ ...Object.keys(this._collections),
716
+ ];
717
+
718
+ for (const key of allCollectionKeys) {
719
+ const constructor = this._unsetCollections[key];
720
+
721
+ if (urlsOnly && this[key]) {
722
+ if (typeof this._values[key] === "string") {
723
+ derived[key] = this._values[key];
724
+ } else {
725
+ derived[key] = this[key].map((m) => m.url());
726
+ }
727
+ } else if (!constructor) {
728
+ continue;
729
+ } else if (constructor.canBeEmpty && !this._values[key]) {
711
730
  derived[key] = [];
712
731
  }
713
- });
732
+ }
714
733
 
715
- Object.keys(this._unsetChildren).forEach((key) => {
716
- if (
717
- this._unsetChildren[key].canBeEmpty &&
718
- !this._values[key] &&
719
- this[key]
720
- ) {
734
+ const allChildrenKeys = [
735
+ ...Object.keys(this._unsetChildren),
736
+ ...(urlsOnly ? Object.keys(this._children) : []),
737
+ ];
738
+
739
+ for (const key of allChildrenKeys) {
740
+ const constructor = this._unsetChildren[key];
741
+
742
+ if (urlsOnly && this[key]) {
743
+ derived[key] = this[key].url();
744
+ } else if (!constructor) {
745
+ continue;
746
+ } else if (constructor.canBeEmpty && !this._values[key] && this[key]) {
721
747
  derived[key] = this[key].url();
722
748
  }
723
- });
749
+ }
724
750
 
725
751
  return _.extend(data, derived);
726
752
  },
753
+
727
754
  // Safely retrieve the url from a child or collection that may or may not
728
755
  // be hydrated
729
756
  _retrieveURL(item) {
@@ -426,3 +426,21 @@ describe(".matchesURL", () => {
426
426
  expect(ActivityModel.matchesURL(url)).toEqual(true);
427
427
  });
428
428
  });
429
+
430
+ it("should allow serializing collections with urls only", () => {
431
+ G(BaseModel.extend({ modelName: "baz" }), "TestModel");
432
+ G(BaseCollection.extend({ model: "TestModel" }), "TestCollection");
433
+ const Model = G(
434
+ BaseModel.extend({ collections: { tests: "TestCollection" } }),
435
+ );
436
+ const model = new Model({
437
+ tests: [
438
+ { id: 1, url: "/api/baz/1/" },
439
+ { id: 2, url: "/api/baz/2/" },
440
+ ],
441
+ });
442
+ expect(model.serialize({ urlsOnly: true })).toEqual({
443
+ url: null,
444
+ tests: ["/api/baz/1/", "/api/baz/2/"],
445
+ });
446
+ });
@@ -141,7 +141,7 @@ export const DeckVersionModel = BaseModel.extend(
141
141
  Object.keys(this.getSafeAttrs()).length === 1 ||
142
142
  !this.index_asset
143
143
  ) {
144
- return this.fetch();
144
+ return this.fetch({ fetchTemplates: false });
145
145
  }
146
146
  return null;
147
147
  })
@@ -200,14 +200,17 @@ export const DeckVersionModel = BaseModel.extend(
200
200
  return Promise.all(imports);
201
201
  },
202
202
 
203
- fetch() {
204
- const fetch = BaseModel.prototype.fetch.apply(this, arguments);
203
+ fetch(opts, ...other) {
204
+ const fetch = BaseModel.prototype.fetch.apply(this, [opts, ...other]);
205
+ const shouldFetchTemplates = opts?.fetchTemplates ?? true;
205
206
 
206
207
  return Promise.resolve(fetch).tap(() => {
207
208
  // `template_set` used to come on the deckversion response, but we have since
208
209
  // decided to request it separately (this helps with caching). To keep the app
209
210
  // working with minimal changes, we're making the extra request here.
210
- return this.template_set.fetch();
211
+ if (shouldFetchTemplates) {
212
+ return this.template_set.fetch();
213
+ }
211
214
  });
212
215
  },
213
216
 
@@ -275,7 +275,6 @@ PresentationDeck.createFromDeckVersion = function (
275
275
  if (isSection) {
276
276
  const section = PresentationSection.createFromImpostorSection(
277
277
  slideModel,
278
- DeckVersionModel,
279
278
  options,
280
279
  );
281
280
 
@@ -379,17 +378,10 @@ PresentationDeck.createFromDeckVersion = function (
379
378
  );
380
379
  }
381
380
 
382
- const section = PresentationSection.createFromTemplate(
383
- auto.template,
384
- deck.sections.length + index,
385
- options.getUniqueAdjunctID(),
386
- );
387
-
388
- // We've just borrowed the "from template" method above. We want to add
389
- // back some of the specific keys about the auto.
390
- section.autoAdjunctID = auto.id;
391
- section.key = auto.key;
392
- section.title = auto.name;
381
+ const section = PresentationSection.createFromAutoAdjunct(auto, {
382
+ index: deck.sections.length + index,
383
+ deckversionID: deck.id,
384
+ });
393
385
 
394
386
  return section;
395
387
  });
@@ -402,7 +394,7 @@ PresentationDeck.createFromDeckVersion = function (
402
394
  return deck;
403
395
  };
404
396
 
405
- PresentationDeck.createFromManifestJSON = function (manifestJSON) {
397
+ PresentationDeck.createFromManifestJSON = function (manifestJSON, project) {
406
398
  const deck = new PresentationDeck({
407
399
  id: parseInt(_.uniqueId(), 10),
408
400
  index: 0,
@@ -416,7 +408,7 @@ PresentationDeck.createFromManifestJSON = function (manifestJSON) {
416
408
  title: "Local",
417
409
  version: 1,
418
410
  tags: manifestJSON.tags[""] || [],
419
- cmsvalkey_set: [],
411
+ cmsvalkey_set: project?.welcome?.editables ?? [],
420
412
  });
421
413
 
422
414
  const usesImpostorSections = _.some(
@@ -463,11 +455,18 @@ PresentationDeck.createFromManifestJSON = function (manifestJSON) {
463
455
 
464
456
  deck.sections.add(
465
457
  sections.map((section, index) => {
466
- return PresentationSection.createFromManifestImpostor(section, index);
458
+ return PresentationSection.createFromManifestImpostor(
459
+ section,
460
+ project,
461
+ index,
462
+ );
467
463
  }),
468
464
  );
469
465
 
470
- deck.realSection = PresentationSection.createFromManifestImpostor(items[0]);
466
+ deck.realSection = PresentationSection.createFromManifestImpostor(
467
+ items[0],
468
+ project,
469
+ );
471
470
  } else {
472
471
  const sectionKeys = Object.keys(manifestJSON.titles).filter((title) => {
473
472
  return title.split("/").length === 1;
@@ -477,6 +476,7 @@ PresentationDeck.createFromManifestJSON = function (manifestJSON) {
477
476
  sectionKeys.map((key, index) => {
478
477
  return PresentationSection.createFromManifestJSON(
479
478
  manifestJSON,
479
+ project,
480
480
  key,
481
481
  index,
482
482
  );
@@ -486,6 +486,9 @@ PresentationDeck.createFromManifestJSON = function (manifestJSON) {
486
486
 
487
487
  if (manifestJSON.templates) {
488
488
  const templates = Object.keys(manifestJSON.templates).map((key) => {
489
+ const cmsvals =
490
+ project?.templates?.find?.((t) => t.key === key)?.editables ?? [];
491
+
489
492
  return {
490
493
  ...manifestJSON.templates[key],
491
494
  key,
@@ -496,6 +499,7 @@ PresentationDeck.createFromManifestJSON = function (manifestJSON) {
496
499
  "index.html",
497
500
  ),
498
501
  },
502
+ cmsvalkey_set: cmsvals,
499
503
  };
500
504
  });
501
505
 
@@ -503,7 +507,20 @@ PresentationDeck.createFromManifestJSON = function (manifestJSON) {
503
507
 
504
508
  deck.sections.add(
505
509
  templates.map((template, index) => {
506
- return PresentationSection.createFromTemplate(template, index, minID);
510
+ const section = PresentationSection.createFromTemplate(
511
+ template,
512
+ index,
513
+ minID,
514
+ );
515
+ const projTemplate = project?.templates?.find?.(
516
+ (s) => s.key === section.key.replace("template-", ""),
517
+ );
518
+ if (projTemplate?.editables) {
519
+ section.cmsvalkey_set = projTemplate.editables.map((key) => {
520
+ return `${key}-autoadjunct-${section.autoAdjunctID}`;
521
+ });
522
+ }
523
+ return section;
507
524
  }),
508
525
  );
509
526
  }