@livepreso/api 6.53.1 → 6.55.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.rush/temp/chunked-rush-logs/api.build.chunks.jsonl +2 -2
- package/.rush/temp/operation/build/all.log +2 -2
- package/.rush/temp/operation/build/error.log +1 -1
- package/.rush/temp/operation/build/log-chunks.jsonl +2 -2
- package/.rush/temp/operation/build/state.json +1 -1
- package/.rush/temp/shrinkwrap-deps.json +65 -15
- package/CHANGELOG.json +46 -0
- package/CHANGELOG.md +27 -1
- package/cjs/api.js +1 -1
- package/cjs/api.js.map +1 -1
- package/cjs/collections/auto-adjuncts.js +0 -22
- package/cjs/collections/auto-adjuncts.js.map +1 -1
- package/cjs/collections/cms-vals.js +25 -0
- package/cjs/collections/cms-vals.js.map +1 -1
- package/cjs/collections/cms-vals.spec.js +73 -0
- package/cjs/collections/cms-vals.spec.js.map +1 -0
- package/cjs/collections/deck-version-screenshots.js +0 -23
- package/cjs/collections/deck-version-screenshots.js.map +1 -1
- package/cjs/collections/scenarios.js +20 -0
- package/cjs/collections/scenarios.js.map +1 -0
- package/cjs/collections.js +11 -22
- package/cjs/collections.js.map +1 -1
- package/cjs/fixtures.js +18 -1
- package/cjs/fixtures.js.map +1 -1
- package/cjs/middlewares/base.js +1 -2
- package/cjs/middlewares/base.js.map +1 -1
- package/cjs/models/appointment.js +29 -8
- package/cjs/models/appointment.js.map +1 -1
- package/cjs/models/auto-adjunct.js +3 -2
- package/cjs/models/auto-adjunct.js.map +1 -1
- package/cjs/models/base.js +3 -1
- package/cjs/models/base.js.map +1 -1
- package/cjs/models/cms-val.js +3 -3
- package/cjs/models/cms-val.js.map +1 -1
- package/cjs/models/customer.js +2 -1
- package/cjs/models/customer.js.map +1 -1
- package/cjs/models/deck-layout.js +52 -0
- package/cjs/models/deck-layout.js.map +1 -0
- package/cjs/models/deck-version-screenshot.js +2 -2
- package/cjs/models/deck-version-screenshot.js.map +1 -1
- package/cjs/models/deck-version.js +43 -20
- package/cjs/models/deck-version.js.map +1 -1
- package/cjs/models/image.js +0 -2
- package/cjs/models/image.js.map +1 -1
- package/cjs/models/pack-diff.js +18 -9
- package/cjs/models/pack-diff.js.map +1 -1
- package/cjs/models/preset.js +8 -6
- package/cjs/models/preset.js.map +1 -1
- package/cjs/models/scenario.js +41 -0
- package/cjs/models/scenario.js.map +1 -0
- package/cjs/models/user.js +8 -3
- package/cjs/models/user.js.map +1 -1
- package/cjs/models.js +22 -0
- package/cjs/models.js.map +1 -1
- package/cjs/presentation/appointment-presentation.js +5 -3
- package/cjs/presentation/appointment-presentation.js.map +1 -1
- package/cjs/presentation/base-presentation-model.js +26 -23
- package/cjs/presentation/base-presentation-model.js.map +1 -1
- package/cjs/presentation/base-presentation-model.spec.js +21 -21
- package/cjs/presentation/base-presentation-model.spec.js.map +1 -1
- package/cjs/presentation/presentation-deck.js +6 -0
- package/cjs/presentation/presentation-deck.js.map +1 -1
- package/cjs/presentation/presentation-section.js +28 -3
- package/cjs/presentation/presentation-section.js.map +1 -1
- package/cjs/presentation/presentation-section.spec.js +16 -3
- package/cjs/presentation/presentation-section.spec.js.map +1 -1
- package/cjs/presentation/presentation-slide.js +25 -1
- package/cjs/presentation/presentation-slide.js.map +1 -1
- package/cjs/presentation/presentation-slide.spec.js +8 -1
- package/cjs/presentation/presentation-slide.spec.js.map +1 -1
- package/cjs/sync.js +17 -9
- package/cjs/sync.js.map +1 -1
- package/cjs/utils.js +12 -3
- package/cjs/utils.js.map +1 -1
- package/cjs/utils.spec.js +22 -0
- package/cjs/utils.spec.js.map +1 -1
- package/package.json +1 -1
- package/rush-logs/api.build.error.log +1 -1
- package/rush-logs/api.build.log +2 -2
- package/src/api.js +1 -1
- package/src/collections/auto-adjuncts.js +0 -22
- package/src/collections/cms-vals.js +28 -0
- package/src/collections/cms-vals.spec.js +66 -0
- package/src/collections/deck-version-screenshots.js +0 -22
- package/src/collections/scenarios.js +18 -0
- package/src/collections.js +1 -2
- package/src/fixtures.js +17 -1
- package/src/middlewares/base.js +1 -2
- package/src/models/appointment.js +32 -6
- package/src/models/auto-adjunct.js +3 -2
- package/src/models/base.js +3 -2
- package/src/models/cms-val.js +3 -3
- package/src/models/customer.js +1 -0
- package/src/models/deck-layout.js +54 -0
- package/src/models/deck-version-screenshot.js +2 -2
- package/src/models/deck-version.js +12 -14
- package/src/models/image.js +0 -3
- package/src/models/pack-diff.js +14 -9
- package/src/models/preset.js +8 -6
- package/src/models/scenario.js +39 -0
- package/src/models/user.js +8 -1
- package/src/models.js +2 -0
- package/src/presentation/appointment-presentation.js +7 -4
- package/src/presentation/base-presentation-model.js +29 -23
- package/src/presentation/base-presentation-model.spec.js +22 -22
- package/src/presentation/presentation-deck.js +6 -0
- package/src/presentation/presentation-section.js +26 -1
- package/src/presentation/presentation-section.spec.js +14 -1
- package/src/presentation/presentation-slide.js +24 -0
- package/src/presentation/presentation-slide.spec.js +7 -0
- package/src/sync.js +16 -12
- package/src/utils.js +13 -3
- package/src/utils.spec.js +27 -0
- package/cjs/collections/created-assets.js +0 -26
- package/cjs/collections/created-assets.js.map +0 -1
- package/cjs/collections/deleted-assets.js +0 -26
- package/cjs/collections/deleted-assets.js.map +0 -1
- package/src/collections/created-assets.js +0 -26
- package/src/collections/deleted-assets.js +0 -26
|
@@ -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","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":[]}
|
|
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","titleEditable","notesEditable","tagsEditable","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 {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},\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: 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\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\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\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":[]}
|
|
@@ -52,6 +52,9 @@ describe("#createFromSlide", function () {
|
|
|
52
52
|
css: "https://staging-test-cdn.salespreso.com/media/pack/410/assets/sections/test-deck/slides/slide-key/slide.css",
|
|
53
53
|
custom: false,
|
|
54
54
|
editable: false,
|
|
55
|
+
titleEditable: false,
|
|
56
|
+
tagsEditable: true,
|
|
57
|
+
notesEditable: true,
|
|
55
58
|
html: "https://staging-test-cdn.salespreso.com/media/pack/410/assets/sections/test-deck/slides/slide-key/index.html",
|
|
56
59
|
id: 23219,
|
|
57
60
|
index: 13,
|
|
@@ -283,7 +286,11 @@ describe("#createFromAutoAdjunct", function () {
|
|
|
283
286
|
thumbnail: "https://staging-test-cdn.salespreso.com/media/CACHE/images/autoadjunct/123/456.jpg",
|
|
284
287
|
title: "Three",
|
|
285
288
|
url: "/api/adjunctslides/525/",
|
|
286
|
-
visible: true
|
|
289
|
+
visible: true,
|
|
290
|
+
editable: true,
|
|
291
|
+
titleEditable: true,
|
|
292
|
+
notesEditable: true,
|
|
293
|
+
tagsEditable: true
|
|
287
294
|
};
|
|
288
295
|
expect(presentationSlide.toJSON()).toEqual(expected);
|
|
289
296
|
case 5:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presentation-slide.spec.js","names":["_adjunctSlide","require","_autoAdjunct","_presentationSlide","_slide","describe","getSlideJSON","created_date","description","enabled","id","image_128","image_256","image_512","index_asset","data","modified_date","orig_path","pack","url","key","namespaced_key","section","sequence","subslide_set","tags","title","it","_asyncToGenerator2","default","_regenerator","mark","_callee","slide","presentationSlide","expected","wrap","_callee$","_context","prev","next","SlideModel","PresentationSlide","createFromSlide","adjunctID","autoAdjunctID","createdByAutoAdjunct","createdByTemplate","css","custom","editable","html","index","namespacedKey","selectionID","subslides","templateID","thumbnail","visible","expect","toJSON","toEqual","stop","_callee2","options","_callee2$","_context2","deckTags","screenshots","getAdjunctSlideJSON","includeTemplate","arguments","length","undefined","template","adjunct","appointment","created_by_autoadjunct","creator_autoadjunct","deleted","html_content","image_1024","image_original","_callee3","adjunctSlide","_callee3$","_context3","AdjunctSlideModel","createFromAdjunctSlide","image","temporary","cmsvalkey_set","objectContaining","_callee4","_callee4$","_context4","getAutoAdjunctJSON","after_key","deck","sectionKey","name","parent_key","team","_callee5","autoAdjunct","_callee5$","_context5","AutoAdjunctModel","deckversionID","createFromAutoAdjunct","_callee6","_callee6$","_context6"],"sources":["../../src/presentation/presentation-slide.spec.js"],"sourcesContent":["import { AdjunctSlideModel } from \"../models/adjunct-slide\";\nimport { AutoAdjunctModel } from \"../models/auto-adjunct\";\nimport { PresentationSlide } from \"./presentation-slide\";\nimport { SlideModel } from \"../models/slide\";\n\ndescribe(\"#createFromSlide\", () => {\n\tconst getSlideJSON = () => {\n\t\treturn {\n\t\t\tcreated_date: \"2021-07-22T04:57:56.484060Z\",\n\t\t\tdescription: \"\",\n\t\t\tenabled: true,\n\t\t\tid: 23219,\n\t\t\timage_128: null,\n\t\t\timage_256: null,\n\t\t\timage_512: null,\n\t\t\tindex_asset: {\n\t\t\t\tcreated_date: \"2021-07-22T04:57:32.977770Z\",\n\t\t\t\tdata: \"sections/test-deck/slides/slide-key/index.html\",\n\t\t\t\tid: 148204,\n\t\t\t\tmodified_date: \"2021-07-22T04:57:32.977790Z\",\n\t\t\t\torig_path: \"sections/test-deck/slides/slide-key\",\n\t\t\t\tpack: \"/api/packs/410/\",\n\t\t\t\turl: \"https://staging-test-cdn.salespreso.com/media/pack/410/assets/sections/test-deck/slides/slide-key/index.html\",\n\t\t\t},\n\t\t\tkey: \"slide-key\",\n\t\t\tmodified_date: \"2021-07-22T05:03:07.778106Z\",\n\t\t\tnamespaced_key: \"test-deck/slide-key\",\n\t\t\tsection: \"/api/sections/1738/\",\n\t\t\tsequence: 13,\n\t\t\tsubslide_set: [],\n\t\t\ttags: [],\n\t\t\ttitle: \"Digital Transformation\",\n\t\t\turl: \"/api/slides/23219/\",\n\t\t};\n\t};\n\n\tit(\"should create a presentation slide\", async () => {\n\t\tconst slide = new SlideModel(getSlideJSON());\n\t\tconst presentationSlide = PresentationSlide.createFromSlide(slide);\n\n\t\tconst expected = {\n\t\t\tadjunctID: null,\n\t\t\tautoAdjunctID: null,\n\t\t\tcreatedByAutoAdjunct: false,\n\t\t\tcreatedByTemplate: false,\n\t\t\tcss: \"https://staging-test-cdn.salespreso.com/media/pack/410/assets/sections/test-deck/slides/slide-key/slide.css\",\n\t\t\tcustom: false,\n\t\t\teditable: false,\n\t\t\thtml: \"https://staging-test-cdn.salespreso.com/media/pack/410/assets/sections/test-deck/slides/slide-key/index.html\",\n\t\t\tid: 23219,\n\t\t\tindex: 13,\n\t\t\tkey: \"slide-key\",\n\t\t\tnamespacedKey: \"test-deck/slide-key\",\n\t\t\tsection: 1738,\n\t\t\tselectionID: null,\n\t\t\tsequence: 13,\n\t\t\tsubslides: [],\n\t\t\ttags: [],\n\t\t\ttemplateID: null,\n\t\t\tthumbnail: null,\n\t\t\ttitle: \"Digital Transformation\",\n\t\t\turl: \"/api/slides/23219/\",\n\t\t\tvisible: true,\n\t\t};\n\n\t\texpect(presentationSlide.toJSON()).toEqual(expected);\n\t});\n\n\tit(\"should use deckTags when available\", async () => {\n\t\tconst slide = new SlideModel(getSlideJSON());\n\t\tconst options = {\n\t\t\tdeckTags: { \"test-deck/slide-key\": [\"slide-tag\"] },\n\t\t};\n\n\t\tconst presentationSlide = PresentationSlide.createFromSlide(slide, options);\n\n\t\texpect(presentationSlide.tags).toEqual([\"slide-tag\"]);\n\t});\n\n\tdescribe(\"Screenshots\", () => {\n\t\tit(\"should use the default image from the model if no screenshot found\", () => {\n\t\t\tconst slide = new SlideModel(getSlideJSON());\n\t\t\tconst presentationSlide = PresentationSlide.createFromSlide(slide);\n\t\t\texpect(presentationSlide.thumbnail).toEqual(null);\n\t\t});\n\n\t\tit(\"should use the screenshot model if it matches\", () => {\n\t\t\tconst slide = new SlideModel(getSlideJSON());\n\t\t\tconst options = {\n\t\t\t\tscreenshots: {\n\t\t\t\t\t\"/api/slides/23219/\": \"test-screenshot.png\",\n\t\t\t\t},\n\t\t\t};\n\n\t\t\tconst presentationSlide = PresentationSlide.createFromSlide(\n\t\t\t\tslide,\n\t\t\t\toptions,\n\t\t\t);\n\t\t\texpect(presentationSlide.thumbnail).toEqual(\"test-screenshot.png\");\n\t\t});\n\t});\n});\n\ndescribe(\"#createFromAdjunctSlide\", () => {\n\tconst getAdjunctSlideJSON = (includeTemplate = false) => {\n\t\tconst template = {\n\t\t\tid: 1,\n\t\t\timage_256: \"template.png\",\n\t\t\tindex_asset: {\n\t\t\t\tcreated_date: \"2021-07-22T04:57:32.977770Z\",\n\t\t\t\tdata: \"index.html\",\n\t\t\t\tid: 148204,\n\t\t\t\tmodified_date: \"2021-07-22T04:57:32.977790Z\",\n\t\t\t\torig_path: \"templates/test-template/foo\",\n\t\t\t\tpack: \"/api/packs/410/\",\n\t\t\t\turl: \"https://staging-test-cdn.salespreso.com/media/pack/410/assets/sections/test-deck/slides/slide-key/index.html\",\n\t\t\t},\n\t\t};\n\n\t\treturn {\n\t\t\tadjunct: \"/api/adjuncts/7457/\",\n\t\t\tappointment: \"/api/appointments/2426/\",\n\t\t\tcreated_by_autoadjunct: true,\n\t\t\tcreated_date: \"2021-09-20T05:34:45.267698Z\",\n\t\t\tcreator_autoadjunct: \"/api/autoadjuncts/541/\",\n\t\t\tdeleted: false,\n\t\t\tenabled: true,\n\t\t\thtml_content:\n\t\t\t\t'<img src=\"https://staging-test-cdn.salespreso.com/media/autoadjunct/123.png\">',\n\t\t\tid: 10529,\n\t\t\timage_128:\n\t\t\t\t\"https://staging-test-cdn.salespreso.com/media/CACHE/images/autoadjunct/123/456.jpg\",\n\t\t\timage_256:\n\t\t\t\t\"https://staging-test-cdn.salespreso.com/media/CACHE/images/autoadjunct/123/456.jpg\",\n\t\t\timage_512:\n\t\t\t\t\"https://staging-test-cdn.salespreso.com/media/CACHE/images/autoadjunct/123/456.jpg\",\n\t\t\timage_1024:\n\t\t\t\t\"https://staging-test-cdn.salespreso.com/media/CACHE/images/autoadjunct/123/456.png\",\n\t\t\timage_original:\n\t\t\t\t\"https://staging-test-cdn.salespreso.com/media/autoadjunct/123.png\",\n\t\t\tmodified_date: \"2021-09-20T05:34:45.267703Z\",\n\t\t\tsection: \"/api/sections/1755/\",\n\t\t\tsequence: 3,\n\t\t\ttags: [],\n\t\t\ttemplate: includeTemplate ? template : null,\n\t\t\ttitle: \"Six\",\n\t\t\turl: \"/api/adjunctslides/10529/\",\n\t\t};\n\t};\n\n\tit(\"should create a presentation slide\", async () => {\n\t\tconst adjunctSlide = new AdjunctSlideModel(getAdjunctSlideJSON());\n\t\tconst presentationSlide =\n\t\t\tPresentationSlide.createFromAdjunctSlide(adjunctSlide);\n\n\t\tconst expected = {\n\t\t\tadjunctID: 10529,\n\t\t\tautoAdjunctID: 541,\n\t\t\tcreatedByAutoAdjunct: true,\n\t\t\tcreatedByTemplate: false,\n\t\t\tcustom: false,\n\t\t\tid: 1,\n\t\t\timage:\n\t\t\t\t\"https://staging-test-cdn.salespreso.com/media/autoadjunct/123.png\",\n\t\t\tindex: 3,\n\t\t\tkey: \"adjunct-10529\",\n\t\t\tsection: null,\n\t\t\tsequence: 3,\n\t\t\tsubslides: [],\n\t\t\ttags: [],\n\t\t\ttemplateID: null,\n\t\t\ttemporary: true,\n\t\t\tthumbnail:\n\t\t\t\t\"https://staging-test-cdn.salespreso.com/media/CACHE/images/autoadjunct/123/456.jpg\",\n\t\t\ttitle: \"Six\",\n\t\t\turl: \"/api/adjunctslides/10529/\",\n\t\t\tvisible: true,\n\t\t\tcmsvalkey_set: [],\n\t\t};\n\n\t\texpect(presentationSlide.toJSON()).toEqual(\n\t\t\texpect.objectContaining(expected),\n\t\t);\n\t});\n\n\tit(\"should use deckTags when available\", async () => {\n\t\tconst adjunctSlide = new AdjunctSlideModel(getAdjunctSlideJSON());\n\t\tconst options = {\n\t\t\tdeckTags: { \"test-deck/adjunct-10529\": [\"adjunctslide-tag\"] },\n\t\t};\n\n\t\tconst presentationSlide = PresentationSlide.createFromAdjunctSlide(\n\t\t\tadjunctSlide,\n\t\t\tnull,\n\t\t\toptions,\n\t\t);\n\n\t\texpect(presentationSlide.tags).toEqual([\"adjunctslide-tag\"]);\n\t});\n\n\tdescribe(\"Screenshots\", () => {\n\t\tit(\"should use the default image from the model if no screenshot found\", () => {\n\t\t\tconst data = getAdjunctSlideJSON(true);\n\t\t\tconst adjunctSlide = new AdjunctSlideModel(data);\n\t\t\tconst presentationSlide =\n\t\t\t\tPresentationSlide.createFromAdjunctSlide(adjunctSlide);\n\n\t\t\texpect(presentationSlide.thumbnail).toEqual(data.template.image_256);\n\t\t});\n\n\t\tit(\"should use the screenshot model if it matches\", () => {\n\t\t\tconst adjunctSlide = new AdjunctSlideModel(getAdjunctSlideJSON(true));\n\n\t\t\tconst options = {\n\t\t\t\tscreenshots: {\n\t\t\t\t\t\"/api/autoadjuncts/541/\": \"test-screenshot.png\",\n\t\t\t\t},\n\t\t\t};\n\n\t\t\tconst presentationSlide = PresentationSlide.createFromAdjunctSlide(\n\t\t\t\tadjunctSlide,\n\t\t\t\tnull,\n\t\t\t\toptions,\n\t\t\t);\n\t\t\texpect(presentationSlide.thumbnail).toEqual(\"test-screenshot.png\");\n\t\t});\n\t});\n});\n\ndescribe(\"#createFromAutoAdjunct\", () => {\n\tconst getAutoAdjunctJSON = () => {\n\t\treturn {\n\t\t\tafter_key: \"test-deck/industry_insights\",\n\t\t\tcreated_date: \"2021-08-02T00:28:41.992805Z\",\n\t\t\tdeck: \"/api/decks/4/\",\n\t\t\tenabled: true,\n\t\t\tid: 525,\n\t\t\timage_128:\n\t\t\t\t\"https://staging-test-cdn.salespreso.com/media/CACHE/images/autoadjunct/123/456.jpg\",\n\t\t\timage_256:\n\t\t\t\t\"https://staging-test-cdn.salespreso.com/media/CACHE/images/autoadjunct/123/456.jpg\",\n\t\t\timage_512:\n\t\t\t\t\"https://staging-test-cdn.salespreso.com/media/CACHE/images/autoadjunct/123/456.jpg\",\n\t\t\timage_1024:\n\t\t\t\t\"https://staging-test-cdn.salespreso.com/media/CACHE/images/autoadjunct/123/456.png\",\n\t\t\timage_original:\n\t\t\t\t\"https://staging-test-cdn.salespreso.com/media/autoadjunct/123.png\",\n\t\t\tkey: \"autoadjunct-three\",\n\t\t\tsectionKey: \"\",\n\t\t\tmodified_date: \"2021-09-15T05:52:49.234837Z\",\n\t\t\tname: \"Three\",\n\t\t\tparent_key: \"test-deck\",\n\t\t\tsequence: 4,\n\t\t\ttags: [],\n\t\t\tteam: null,\n\t\t\ttemplate: null,\n\t\t\turl: \"/api/autoadjuncts/525/\",\n\t\t};\n\t};\n\n\tit(\"should create a presentation slide\", async () => {\n\t\tconst autoAdjunct = new AutoAdjunctModel(getAutoAdjunctJSON());\n\t\tconst options = {\n\t\t\tindex: 3,\n\t\t\tdeckversionID: 12,\n\t\t};\n\n\t\tconst presentationSlide = PresentationSlide.createFromAutoAdjunct(\n\t\t\tautoAdjunct,\n\t\t\toptions,\n\t\t);\n\n\t\tconst expected = {\n\t\t\tadjunctID: 525,\n\t\t\tautoAdjunctID: 525,\n\t\t\tcreatedByAutoAdjunct: false,\n\t\t\tcreatedByTemplate: false,\n\t\t\tcss: \"\",\n\t\t\thtml: \"\",\n\t\t\tid: 525,\n\t\t\timage:\n\t\t\t\t\"https://staging-test-cdn.salespreso.com/media/autoadjunct/123.png\",\n\t\t\tindex: 3,\n\t\t\tkey: \"autoadjunct-three\",\n\t\t\tsectionKey: \"\",\n\t\t\tsequence: 3,\n\t\t\tsubslides: [],\n\t\t\ttags: [],\n\t\t\ttemplate: null,\n\t\t\ttemplateID: null,\n\t\t\ttemporary: true,\n\t\t\tthumbnail:\n\t\t\t\t\"https://staging-test-cdn.salespreso.com/media/CACHE/images/autoadjunct/123/456.jpg\",\n\t\t\ttitle: \"Three\",\n\t\t\turl: \"/api/adjunctslides/525/\",\n\t\t\tvisible: true,\n\t\t};\n\n\t\texpect(presentationSlide.toJSON()).toEqual(expected);\n\t});\n\n\tit(\"should use deckTags when available\", async () => {\n\t\tconst autoAdjunct = new AutoAdjunctModel(getAutoAdjunctJSON());\n\t\tconst options = {\n\t\t\tindex: 3,\n\t\t\tdeckversionID: 12,\n\t\t\tdeckTags: {\n\t\t\t\t\"test-deck/autoadjunct-three\": [\"autoadjunct-tags\"],\n\t\t\t},\n\t\t};\n\n\t\tconst presentationSlide = PresentationSlide.createFromAutoAdjunct(\n\t\t\tautoAdjunct,\n\t\t\toptions,\n\t\t);\n\t\texpect(presentationSlide.tags).toEqual([\"autoadjunct-tags\"]);\n\t});\n\n\tdescribe(\"Screenshots\", () => {\n\t\tit(\"should use the default image from the model if no screenshot found\", () => {\n\t\t\tconst options = { index: 3, deckversionID: 12 };\n\t\t\tconst data = getAutoAdjunctJSON();\n\t\t\tconst autoAdjunct = new AutoAdjunctModel(data);\n\t\t\tconst presentationSlide = PresentationSlide.createFromAutoAdjunct(\n\t\t\t\tautoAdjunct,\n\t\t\t\toptions,\n\t\t\t);\n\t\t\texpect(presentationSlide.thumbnail).toEqual(data.image_256);\n\t\t});\n\n\t\tit(\"should use the screenshot model if it matches\", () => {\n\t\t\tconst options = {\n\t\t\t\tindex: 3,\n\t\t\t\tdeckversionID: 12,\n\t\t\t\tscreenshots: {\n\t\t\t\t\t\"/api/autoadjuncts/525/\": \"test-screenshot.png\",\n\t\t\t\t},\n\t\t\t};\n\t\t\tconst data = getAutoAdjunctJSON();\n\t\t\tconst autoAdjunct = new AutoAdjunctModel(data);\n\t\t\tconst presentationSlide = PresentationSlide.createFromAutoAdjunct(\n\t\t\t\tautoAdjunct,\n\t\t\t\toptions,\n\t\t\t);\n\t\t\texpect(presentationSlide.thumbnail).toEqual(\"test-screenshot.png\");\n\t\t});\n\t});\n});\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"presentation-slide.spec.js","names":["_adjunctSlide","require","_autoAdjunct","_presentationSlide","_slide","describe","getSlideJSON","created_date","description","enabled","id","image_128","image_256","image_512","index_asset","data","modified_date","orig_path","pack","url","key","namespaced_key","section","sequence","subslide_set","tags","title","it","_asyncToGenerator2","default","_regenerator","mark","_callee","slide","presentationSlide","expected","wrap","_callee$","_context","prev","next","SlideModel","PresentationSlide","createFromSlide","adjunctID","autoAdjunctID","createdByAutoAdjunct","createdByTemplate","css","custom","editable","titleEditable","tagsEditable","notesEditable","html","index","namespacedKey","selectionID","subslides","templateID","thumbnail","visible","expect","toJSON","toEqual","stop","_callee2","options","_callee2$","_context2","deckTags","screenshots","getAdjunctSlideJSON","includeTemplate","arguments","length","undefined","template","adjunct","appointment","created_by_autoadjunct","creator_autoadjunct","deleted","html_content","image_1024","image_original","_callee3","adjunctSlide","_callee3$","_context3","AdjunctSlideModel","createFromAdjunctSlide","image","temporary","cmsvalkey_set","objectContaining","_callee4","_callee4$","_context4","getAutoAdjunctJSON","after_key","deck","sectionKey","name","parent_key","team","_callee5","autoAdjunct","_callee5$","_context5","AutoAdjunctModel","deckversionID","createFromAutoAdjunct","_callee6","_callee6$","_context6"],"sources":["../../src/presentation/presentation-slide.spec.js"],"sourcesContent":["import { AdjunctSlideModel } from \"../models/adjunct-slide\";\nimport { AutoAdjunctModel } from \"../models/auto-adjunct\";\nimport { PresentationSlide } from \"./presentation-slide\";\nimport { SlideModel } from \"../models/slide\";\n\ndescribe(\"#createFromSlide\", () => {\n\tconst getSlideJSON = () => {\n\t\treturn {\n\t\t\tcreated_date: \"2021-07-22T04:57:56.484060Z\",\n\t\t\tdescription: \"\",\n\t\t\tenabled: true,\n\t\t\tid: 23219,\n\t\t\timage_128: null,\n\t\t\timage_256: null,\n\t\t\timage_512: null,\n\t\t\tindex_asset: {\n\t\t\t\tcreated_date: \"2021-07-22T04:57:32.977770Z\",\n\t\t\t\tdata: \"sections/test-deck/slides/slide-key/index.html\",\n\t\t\t\tid: 148204,\n\t\t\t\tmodified_date: \"2021-07-22T04:57:32.977790Z\",\n\t\t\t\torig_path: \"sections/test-deck/slides/slide-key\",\n\t\t\t\tpack: \"/api/packs/410/\",\n\t\t\t\turl: \"https://staging-test-cdn.salespreso.com/media/pack/410/assets/sections/test-deck/slides/slide-key/index.html\",\n\t\t\t},\n\t\t\tkey: \"slide-key\",\n\t\t\tmodified_date: \"2021-07-22T05:03:07.778106Z\",\n\t\t\tnamespaced_key: \"test-deck/slide-key\",\n\t\t\tsection: \"/api/sections/1738/\",\n\t\t\tsequence: 13,\n\t\t\tsubslide_set: [],\n\t\t\ttags: [],\n\t\t\ttitle: \"Digital Transformation\",\n\t\t\turl: \"/api/slides/23219/\",\n\t\t};\n\t};\n\n\tit(\"should create a presentation slide\", async () => {\n\t\tconst slide = new SlideModel(getSlideJSON());\n\t\tconst presentationSlide = PresentationSlide.createFromSlide(slide);\n\n\t\tconst expected = {\n\t\t\tadjunctID: null,\n\t\t\tautoAdjunctID: null,\n\t\t\tcreatedByAutoAdjunct: false,\n\t\t\tcreatedByTemplate: false,\n\t\t\tcss: \"https://staging-test-cdn.salespreso.com/media/pack/410/assets/sections/test-deck/slides/slide-key/slide.css\",\n\t\t\tcustom: false,\n\t\t\teditable: false,\n\t\t\ttitleEditable: false,\n\t\t\ttagsEditable: true,\n\t\t\tnotesEditable: true,\n\t\t\thtml: \"https://staging-test-cdn.salespreso.com/media/pack/410/assets/sections/test-deck/slides/slide-key/index.html\",\n\t\t\tid: 23219,\n\t\t\tindex: 13,\n\t\t\tkey: \"slide-key\",\n\t\t\tnamespacedKey: \"test-deck/slide-key\",\n\t\t\tsection: 1738,\n\t\t\tselectionID: null,\n\t\t\tsequence: 13,\n\t\t\tsubslides: [],\n\t\t\ttags: [],\n\t\t\ttemplateID: null,\n\t\t\tthumbnail: null,\n\t\t\ttitle: \"Digital Transformation\",\n\t\t\turl: \"/api/slides/23219/\",\n\t\t\tvisible: true,\n\t\t};\n\n\t\texpect(presentationSlide.toJSON()).toEqual(expected);\n\t});\n\n\tit(\"should use deckTags when available\", async () => {\n\t\tconst slide = new SlideModel(getSlideJSON());\n\t\tconst options = {\n\t\t\tdeckTags: { \"test-deck/slide-key\": [\"slide-tag\"] },\n\t\t};\n\n\t\tconst presentationSlide = PresentationSlide.createFromSlide(slide, options);\n\n\t\texpect(presentationSlide.tags).toEqual([\"slide-tag\"]);\n\t});\n\n\tdescribe(\"Screenshots\", () => {\n\t\tit(\"should use the default image from the model if no screenshot found\", () => {\n\t\t\tconst slide = new SlideModel(getSlideJSON());\n\t\t\tconst presentationSlide = PresentationSlide.createFromSlide(slide);\n\t\t\texpect(presentationSlide.thumbnail).toEqual(null);\n\t\t});\n\n\t\tit(\"should use the screenshot model if it matches\", () => {\n\t\t\tconst slide = new SlideModel(getSlideJSON());\n\t\t\tconst options = {\n\t\t\t\tscreenshots: {\n\t\t\t\t\t\"/api/slides/23219/\": \"test-screenshot.png\",\n\t\t\t\t},\n\t\t\t};\n\n\t\t\tconst presentationSlide = PresentationSlide.createFromSlide(\n\t\t\t\tslide,\n\t\t\t\toptions,\n\t\t\t);\n\t\t\texpect(presentationSlide.thumbnail).toEqual(\"test-screenshot.png\");\n\t\t});\n\t});\n});\n\ndescribe(\"#createFromAdjunctSlide\", () => {\n\tconst getAdjunctSlideJSON = (includeTemplate = false) => {\n\t\tconst template = {\n\t\t\tid: 1,\n\t\t\timage_256: \"template.png\",\n\t\t\tindex_asset: {\n\t\t\t\tcreated_date: \"2021-07-22T04:57:32.977770Z\",\n\t\t\t\tdata: \"index.html\",\n\t\t\t\tid: 148204,\n\t\t\t\tmodified_date: \"2021-07-22T04:57:32.977790Z\",\n\t\t\t\torig_path: \"templates/test-template/foo\",\n\t\t\t\tpack: \"/api/packs/410/\",\n\t\t\t\turl: \"https://staging-test-cdn.salespreso.com/media/pack/410/assets/sections/test-deck/slides/slide-key/index.html\",\n\t\t\t},\n\t\t};\n\n\t\treturn {\n\t\t\tadjunct: \"/api/adjuncts/7457/\",\n\t\t\tappointment: \"/api/appointments/2426/\",\n\t\t\tcreated_by_autoadjunct: true,\n\t\t\tcreated_date: \"2021-09-20T05:34:45.267698Z\",\n\t\t\tcreator_autoadjunct: \"/api/autoadjuncts/541/\",\n\t\t\tdeleted: false,\n\t\t\tenabled: true,\n\t\t\thtml_content:\n\t\t\t\t'<img src=\"https://staging-test-cdn.salespreso.com/media/autoadjunct/123.png\">',\n\t\t\tid: 10529,\n\t\t\timage_128:\n\t\t\t\t\"https://staging-test-cdn.salespreso.com/media/CACHE/images/autoadjunct/123/456.jpg\",\n\t\t\timage_256:\n\t\t\t\t\"https://staging-test-cdn.salespreso.com/media/CACHE/images/autoadjunct/123/456.jpg\",\n\t\t\timage_512:\n\t\t\t\t\"https://staging-test-cdn.salespreso.com/media/CACHE/images/autoadjunct/123/456.jpg\",\n\t\t\timage_1024:\n\t\t\t\t\"https://staging-test-cdn.salespreso.com/media/CACHE/images/autoadjunct/123/456.png\",\n\t\t\timage_original:\n\t\t\t\t\"https://staging-test-cdn.salespreso.com/media/autoadjunct/123.png\",\n\t\t\tmodified_date: \"2021-09-20T05:34:45.267703Z\",\n\t\t\tsection: \"/api/sections/1755/\",\n\t\t\tsequence: 3,\n\t\t\ttags: [],\n\t\t\ttemplate: includeTemplate ? template : null,\n\t\t\ttitle: \"Six\",\n\t\t\turl: \"/api/adjunctslides/10529/\",\n\t\t};\n\t};\n\n\tit(\"should create a presentation slide\", async () => {\n\t\tconst adjunctSlide = new AdjunctSlideModel(getAdjunctSlideJSON());\n\t\tconst presentationSlide =\n\t\t\tPresentationSlide.createFromAdjunctSlide(adjunctSlide);\n\n\t\tconst expected = {\n\t\t\tadjunctID: 10529,\n\t\t\tautoAdjunctID: 541,\n\t\t\tcreatedByAutoAdjunct: true,\n\t\t\tcreatedByTemplate: false,\n\t\t\tcustom: false,\n\t\t\tid: 1,\n\t\t\timage:\n\t\t\t\t\"https://staging-test-cdn.salespreso.com/media/autoadjunct/123.png\",\n\t\t\tindex: 3,\n\t\t\tkey: \"adjunct-10529\",\n\t\t\tsection: null,\n\t\t\tsequence: 3,\n\t\t\tsubslides: [],\n\t\t\ttags: [],\n\t\t\ttemplateID: null,\n\t\t\ttemporary: true,\n\t\t\tthumbnail:\n\t\t\t\t\"https://staging-test-cdn.salespreso.com/media/CACHE/images/autoadjunct/123/456.jpg\",\n\t\t\ttitle: \"Six\",\n\t\t\turl: \"/api/adjunctslides/10529/\",\n\t\t\tvisible: true,\n\t\t\tcmsvalkey_set: [],\n\t\t};\n\n\t\texpect(presentationSlide.toJSON()).toEqual(\n\t\t\texpect.objectContaining(expected),\n\t\t);\n\t});\n\n\tit(\"should use deckTags when available\", async () => {\n\t\tconst adjunctSlide = new AdjunctSlideModel(getAdjunctSlideJSON());\n\t\tconst options = {\n\t\t\tdeckTags: { \"test-deck/adjunct-10529\": [\"adjunctslide-tag\"] },\n\t\t};\n\n\t\tconst presentationSlide = PresentationSlide.createFromAdjunctSlide(\n\t\t\tadjunctSlide,\n\t\t\tnull,\n\t\t\toptions,\n\t\t);\n\n\t\texpect(presentationSlide.tags).toEqual([\"adjunctslide-tag\"]);\n\t});\n\n\tdescribe(\"Screenshots\", () => {\n\t\tit(\"should use the default image from the model if no screenshot found\", () => {\n\t\t\tconst data = getAdjunctSlideJSON(true);\n\t\t\tconst adjunctSlide = new AdjunctSlideModel(data);\n\t\t\tconst presentationSlide =\n\t\t\t\tPresentationSlide.createFromAdjunctSlide(adjunctSlide);\n\n\t\t\texpect(presentationSlide.thumbnail).toEqual(data.template.image_256);\n\t\t});\n\n\t\tit(\"should use the screenshot model if it matches\", () => {\n\t\t\tconst adjunctSlide = new AdjunctSlideModel(getAdjunctSlideJSON(true));\n\n\t\t\tconst options = {\n\t\t\t\tscreenshots: {\n\t\t\t\t\t\"/api/autoadjuncts/541/\": \"test-screenshot.png\",\n\t\t\t\t},\n\t\t\t};\n\n\t\t\tconst presentationSlide = PresentationSlide.createFromAdjunctSlide(\n\t\t\t\tadjunctSlide,\n\t\t\t\tnull,\n\t\t\t\toptions,\n\t\t\t);\n\t\t\texpect(presentationSlide.thumbnail).toEqual(\"test-screenshot.png\");\n\t\t});\n\t});\n});\n\ndescribe(\"#createFromAutoAdjunct\", () => {\n\tconst getAutoAdjunctJSON = () => {\n\t\treturn {\n\t\t\tafter_key: \"test-deck/industry_insights\",\n\t\t\tcreated_date: \"2021-08-02T00:28:41.992805Z\",\n\t\t\tdeck: \"/api/decks/4/\",\n\t\t\tenabled: true,\n\t\t\tid: 525,\n\t\t\timage_128:\n\t\t\t\t\"https://staging-test-cdn.salespreso.com/media/CACHE/images/autoadjunct/123/456.jpg\",\n\t\t\timage_256:\n\t\t\t\t\"https://staging-test-cdn.salespreso.com/media/CACHE/images/autoadjunct/123/456.jpg\",\n\t\t\timage_512:\n\t\t\t\t\"https://staging-test-cdn.salespreso.com/media/CACHE/images/autoadjunct/123/456.jpg\",\n\t\t\timage_1024:\n\t\t\t\t\"https://staging-test-cdn.salespreso.com/media/CACHE/images/autoadjunct/123/456.png\",\n\t\t\timage_original:\n\t\t\t\t\"https://staging-test-cdn.salespreso.com/media/autoadjunct/123.png\",\n\t\t\tkey: \"autoadjunct-three\",\n\t\t\tsectionKey: \"\",\n\t\t\tmodified_date: \"2021-09-15T05:52:49.234837Z\",\n\t\t\tname: \"Three\",\n\t\t\tparent_key: \"test-deck\",\n\t\t\tsequence: 4,\n\t\t\ttags: [],\n\t\t\tteam: null,\n\t\t\ttemplate: null,\n\t\t\turl: \"/api/autoadjuncts/525/\",\n\t\t};\n\t};\n\n\tit(\"should create a presentation slide\", async () => {\n\t\tconst autoAdjunct = new AutoAdjunctModel(getAutoAdjunctJSON());\n\t\tconst options = {\n\t\t\tindex: 3,\n\t\t\tdeckversionID: 12,\n\t\t};\n\n\t\tconst presentationSlide = PresentationSlide.createFromAutoAdjunct(\n\t\t\tautoAdjunct,\n\t\t\toptions,\n\t\t);\n\n\t\tconst expected = {\n\t\t\tadjunctID: 525,\n\t\t\tautoAdjunctID: 525,\n\t\t\tcreatedByAutoAdjunct: false,\n\t\t\tcreatedByTemplate: false,\n\t\t\tcss: \"\",\n\t\t\thtml: \"\",\n\t\t\tid: 525,\n\t\t\timage:\n\t\t\t\t\"https://staging-test-cdn.salespreso.com/media/autoadjunct/123.png\",\n\t\t\tindex: 3,\n\t\t\tkey: \"autoadjunct-three\",\n\t\t\tsectionKey: \"\",\n\t\t\tsequence: 3,\n\t\t\tsubslides: [],\n\t\t\ttags: [],\n\t\t\ttemplate: null,\n\t\t\ttemplateID: null,\n\t\t\ttemporary: true,\n\t\t\tthumbnail:\n\t\t\t\t\"https://staging-test-cdn.salespreso.com/media/CACHE/images/autoadjunct/123/456.jpg\",\n\t\t\ttitle: \"Three\",\n\t\t\turl: \"/api/adjunctslides/525/\",\n\t\t\tvisible: true,\n\t\t\teditable: true,\n\t\t\ttitleEditable: true,\n\t\t\tnotesEditable: true,\n\t\t\ttagsEditable: true,\n\t\t};\n\n\t\texpect(presentationSlide.toJSON()).toEqual(expected);\n\t});\n\n\tit(\"should use deckTags when available\", async () => {\n\t\tconst autoAdjunct = new AutoAdjunctModel(getAutoAdjunctJSON());\n\t\tconst options = {\n\t\t\tindex: 3,\n\t\t\tdeckversionID: 12,\n\t\t\tdeckTags: {\n\t\t\t\t\"test-deck/autoadjunct-three\": [\"autoadjunct-tags\"],\n\t\t\t},\n\t\t};\n\n\t\tconst presentationSlide = PresentationSlide.createFromAutoAdjunct(\n\t\t\tautoAdjunct,\n\t\t\toptions,\n\t\t);\n\t\texpect(presentationSlide.tags).toEqual([\"autoadjunct-tags\"]);\n\t});\n\n\tdescribe(\"Screenshots\", () => {\n\t\tit(\"should use the default image from the model if no screenshot found\", () => {\n\t\t\tconst options = { index: 3, deckversionID: 12 };\n\t\t\tconst data = getAutoAdjunctJSON();\n\t\t\tconst autoAdjunct = new AutoAdjunctModel(data);\n\t\t\tconst presentationSlide = PresentationSlide.createFromAutoAdjunct(\n\t\t\t\tautoAdjunct,\n\t\t\t\toptions,\n\t\t\t);\n\t\t\texpect(presentationSlide.thumbnail).toEqual(data.image_256);\n\t\t});\n\n\t\tit(\"should use the screenshot model if it matches\", () => {\n\t\t\tconst options = {\n\t\t\t\tindex: 3,\n\t\t\t\tdeckversionID: 12,\n\t\t\t\tscreenshots: {\n\t\t\t\t\t\"/api/autoadjuncts/525/\": \"test-screenshot.png\",\n\t\t\t\t},\n\t\t\t};\n\t\t\tconst data = getAutoAdjunctJSON();\n\t\t\tconst autoAdjunct = new AutoAdjunctModel(data);\n\t\t\tconst presentationSlide = PresentationSlide.createFromAutoAdjunct(\n\t\t\t\tautoAdjunct,\n\t\t\t\toptions,\n\t\t\t);\n\t\t\texpect(presentationSlide.thumbnail).toEqual(\"test-screenshot.png\");\n\t\t});\n\t});\n});\n"],"mappings":"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","ignoreList":[]}
|
package/cjs/sync.js
CHANGED
|
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.sync = exports.methodMap = exports.defaultFetchURL = exports.buildURL = exports.ajaxSync = void 0;
|
|
8
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
8
9
|
var _bluebird = _interopRequireDefault(require("bluebird"));
|
|
9
10
|
var _superagentBluebirdPromise = _interopRequireDefault(require("superagent-bluebird-promise"));
|
|
10
11
|
var _lodash = _interopRequireDefault(require("lodash"));
|
|
@@ -45,7 +46,7 @@ var buildURL = exports.buildURL = function buildURL(_ref2) {
|
|
|
45
46
|
}
|
|
46
47
|
return url;
|
|
47
48
|
};
|
|
48
|
-
var sync = exports.sync = function sync(method) {
|
|
49
|
+
var sync = exports.sync = function sync(method, model, defaultOpts) {
|
|
49
50
|
var _this = this;
|
|
50
51
|
var syncArguments = arguments;
|
|
51
52
|
if (method === "read") {
|
|
@@ -57,16 +58,20 @@ var sync = exports.sync = function sync(method) {
|
|
|
57
58
|
}
|
|
58
59
|
});
|
|
59
60
|
return _bluebird.default.all(syncActions).then(function () {
|
|
60
|
-
|
|
61
|
+
for (var _len = arguments.length, newOpts = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
62
|
+
newOpts[_key] = arguments[_key];
|
|
63
|
+
}
|
|
64
|
+
var joinedOpts = _lodash.default.merge.apply(_lodash.default, [{}, defaultOpts].concat((0, _toConsumableArray2.default)(newOpts.flat())));
|
|
65
|
+
return ajaxSync.call(_this, method, model, joinedOpts);
|
|
61
66
|
});
|
|
62
67
|
}
|
|
63
|
-
return ajaxSync.
|
|
68
|
+
return ajaxSync.call(this, method, model, defaultOpts);
|
|
64
69
|
};
|
|
65
70
|
var ajaxSync = exports.ajaxSync = function ajaxSync(method, model, options) {
|
|
66
71
|
var type = methodMap[method];
|
|
67
72
|
|
|
68
73
|
// Default options, unless specified.
|
|
69
|
-
defaults(options ||
|
|
74
|
+
defaults(options || {}, {
|
|
70
75
|
emulateHTTP: false,
|
|
71
76
|
emulateJSON: false
|
|
72
77
|
});
|
|
@@ -109,7 +114,7 @@ var ajaxSync = exports.ajaxSync = function ajaxSync(method, model, options) {
|
|
|
109
114
|
options.xhr = request;
|
|
110
115
|
_middleware.middlewares.forEach(function (middleware) {
|
|
111
116
|
if (middleware.preflight) {
|
|
112
|
-
middleware.preflight(request);
|
|
117
|
+
middleware.preflight(request, model, options);
|
|
113
118
|
}
|
|
114
119
|
});
|
|
115
120
|
var mc = 0;
|
|
@@ -132,14 +137,14 @@ var ajaxSync = exports.ajaxSync = function ajaxSync(method, model, options) {
|
|
|
132
137
|
}
|
|
133
138
|
}
|
|
134
139
|
if (options.headers) {
|
|
135
|
-
for (var
|
|
136
|
-
request.header[
|
|
140
|
+
for (var _key2 in options.headers) {
|
|
141
|
+
request.header[_key2.toLowerCase()] = options.headers[_key2];
|
|
137
142
|
}
|
|
138
143
|
}
|
|
139
144
|
|
|
140
145
|
// TODO: Remove me when this can be moved... for now this removal is quite a complex
|
|
141
146
|
// process.
|
|
142
|
-
if (options.
|
|
147
|
+
if (options.cachedResponse) {
|
|
143
148
|
return _bluebird.default.resolve(options.cachedResponse).then(getNextMiddleware(request)).then(function (response) {
|
|
144
149
|
if (!response.data) {
|
|
145
150
|
response.data = JSON.parse(response.text);
|
|
@@ -166,7 +171,10 @@ var ajaxSync = exports.ajaxSync = function ajaxSync(method, model, options) {
|
|
|
166
171
|
return request
|
|
167
172
|
// Force a timeout on every request. Intermittent connections
|
|
168
173
|
// can have the request continue trying for minutes otherwise.
|
|
169
|
-
|
|
174
|
+
// 60 seconds is the timeout the server has, so we go for 65 seconds,
|
|
175
|
+
// so we give the chance to the server to time out first - helps with
|
|
176
|
+
// debugging.
|
|
177
|
+
.timeout(65 * 1000).then(getNextMiddleware(request)).then(function (response) {
|
|
170
178
|
var data;
|
|
171
179
|
try {
|
|
172
180
|
data = JSON.parse(response.text);
|
package/cjs/sync.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.js","names":["_bluebird","_interopRequireDefault","require","_superagentBluebirdPromise","_lodash","_log","_middleware","_superagent","_url","defaults","_","assign","urlError","Error","methodMap","exports","create","update","patch","delete","read","defaultFetchURL","_ref","model","log","warn","url","buildURL","_ref2","method","urlParse","url2","parse","replace","search","sync","_this","syncArguments","arguments","syncActions","middlewares","forEach","middleware","push","apply","Promise","all","then","ajaxSync","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","length","intercept","resolve","trigger","ajaxConfig","headers","key","header","toLowerCase","cached","deleted","cachedResponse","JSON","text","each","success","catch","error","message","timeout","e","set","emit","superagent","SuperagentPromiseError","res","body","status","concat","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\";\nimport url2 from \"url\";\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\tconst urlParse = url2.parse(url);\n\n\t// If not a GET request, strip the query params from the url\n\tif (method !== \"read\") {\n\t\treturn url.replace(urlParse.search, \"\");\n\t}\n\n\treturn url;\n};\n\nexport const sync = function (method) {\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(() => {\n\t\t\treturn ajaxSync.apply(this, syncArguments);\n\t\t});\n\t}\n\treturn ajaxSync.apply(this, syncArguments);\n};\n\nexport const ajaxSync = function (method, model, options) {\n\tconst type = methodMap[method];\n\n\t// Default options, unless specified.\n\tdefaults(options || (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);\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\trequest.header[key.toLowerCase()] = ajaxConfig.headers[key];\n\t\t}\n\t}\n\n\tif (options.headers) {\n\t\tfor (const key in options.headers) {\n\t\t\trequest.header[key.toLowerCase()] = options.headers[key];\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.cached && !options.deleted) {\n\t\treturn Promise.resolve(options.cachedResponse)\n\t\t\t.then(getNextMiddleware(request))\n\t\t\t.then(function (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(function (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.timeout(60 * 1000)\n\t\t\t.then(getNextMiddleware(request))\n\t\t\t.then(function (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(function (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":";;;;;;;AAAA,IAAAA,SAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,0BAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,OAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,IAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA;AACA,IAAAK,WAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,IAAA,GAAAP,sBAAA,CAAAC,OAAA;AAEA,IAAMO,QAAQ,GAAGC,eAAC,CAACD,QAAQ;AAC3B,IAAME,MAAM,GAAGD,eAAC,CAACC,MAAM;;AAEvB;AACA,IAAMC,QAAQ,GAAG,SAAXA,QAAQA,CAAA,EAAe;EAC5B,MAAM,IAAIC,KAAK,mDAAiD,CAAC;AAClE,CAAC;;AAED;AACO,IAAMC,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAG;EACxBE,MAAM,EAAE,MAAM;EACdC,MAAM,EAAE,KAAK;EACbC,KAAK,EAAE,OAAO;EACdC,MAAM,EAAE,QAAQ;EAChBC,IAAI,EAAE;AACP,CAAC;AAEM,IAAMC,eAAe,GAAAN,OAAA,CAAAM,eAAA,GAAG,SAAlBA,eAAeA,CAAAC,IAAA,EAAwB;EAAA,IAATC,KAAK,GAAAD,IAAA,CAALC,KAAK;EAC/CC,YAAG,CAACC,IAAI,CAAC,6DAA6D,CAAC;EACvE,OAAOF,KAAK,CAACG,GAAG,CAAC,CAAC;AACnB,CAAC;AAEM,IAAMC,QAAQ,GAAAZ,OAAA,CAAAY,QAAA,GAAG,SAAXA,QAAQA,CAAAC,KAAA,EAAgC;EAAA,IAAjBC,MAAM,GAAAD,KAAA,CAANC,MAAM;IAAEN,KAAK,GAAAK,KAAA,CAALL,KAAK;EAChD,IAAMG,GAAG,GAAGH,KAAK,CAACG,GAAG,CAAC,CAAC;EACvB,IAAMI,QAAQ,GAAGC,YAAI,CAACC,KAAK,CAACN,GAAG,CAAC;;EAEhC;EACA,IAAIG,MAAM,KAAK,MAAM,EAAE;IACtB,OAAOH,GAAG,CAACO,OAAO,CAACH,QAAQ,CAACI,MAAM,EAAE,EAAE,CAAC;EACxC;EAEA,OAAOR,GAAG;AACX,CAAC;AAEM,IAAMS,IAAI,GAAApB,OAAA,CAAAoB,IAAA,GAAG,SAAPA,IAAIA,CAAaN,MAAM,EAAE;EAAA,IAAAO,KAAA;EACrC,IAAMC,aAAa,GAAGC,SAAS;EAE/B,IAAIT,MAAM,KAAK,MAAM,EAAE;IACtB;IACA,IAAMU,WAAW,GAAG,EAAE;IACtBC,uBAAW,CAACC,OAAO,CAAC,UAACC,UAAU,EAAK;MACnC,IAAIA,UAAU,CAACP,IAAI,EAAE;QACpBI,WAAW,CAACI,IAAI,CAACD,UAAU,CAACP,IAAI,CAACS,KAAK,CAACR,KAAI,EAAEC,aAAa,CAAC,CAAC;MAC7D;IACD,CAAC,CAAC;IAEF,OAAOQ,iBAAO,CAACC,GAAG,CAACP,WAAW,CAAC,CAACQ,IAAI,CAAC,YAAM;MAC1C,OAAOC,QAAQ,CAACJ,KAAK,CAACR,KAAI,EAAEC,aAAa,CAAC;IAC3C,CAAC,CAAC;EACH;EACA,OAAOW,QAAQ,CAACJ,KAAK,CAAC,IAAI,EAAEP,aAAa,CAAC;AAC3C,CAAC;AAEM,IAAMW,QAAQ,GAAAjC,OAAA,CAAAiC,QAAA,GAAG,SAAXA,QAAQA,CAAanB,MAAM,EAAEN,KAAK,EAAE0B,OAAO,EAAE;EACzD,IAAMC,IAAI,GAAGpC,SAAS,CAACe,MAAM,CAAC;;EAE9B;EACApB,QAAQ,CAACwC,OAAO,KAAKA,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE;IACnCE,WAAW,EAAE,KAAK;IAClBC,WAAW,EAAE;EACd,CAAC,CAAC;;EAEF;EACA,IAAMC,MAAM,GAAG;IAAEH,IAAI,EAAEA;EAAK,CAAC;;EAE7B;EACA,IAAI,CAACD,OAAO,CAACvB,GAAG,EAAE;IACjBuB,OAAO,CAACvB,GAAG,GAAGhB,eAAC,CAAC4C,MAAM,CAAC/B,KAAK,EAAE,KAAK,CAAC,IAAIX,QAAQ,CAAC,CAAC;EACnD;;EAEA;EACA,IACCqC,OAAO,CAACM,IAAI,KAAK,IAAI,IACrBhC,KAAK,KACJM,MAAM,KAAK,QAAQ,IACnBA,MAAM,KAAK,QAAQ,IACnBA,MAAM,KAAK,OAAO,IACjBA,MAAM,KAAK,QAAQ,IAAIoB,OAAO,CAACO,KAAM,CAAC,EACvC;IACDH,MAAM,CAACI,IAAI,GAAGR,OAAO,CAACS,KAAK,IAAInC,KAAK,CAACoC,MAAM,CAACV,OAAO,CAAC;EACrD;EAEA,IAAMvB,GAAG,GAAGC,QAAQ,CAAC;IAAEE,MAAM,EAANA,MAAM;IAAEN,KAAK,EAALA,KAAK;IAAE0B,OAAO,EAAPA;EAAQ,CAAC,CAAC;EAEhD,IAAMW,eAAe,GAAGjD,MAAM,CAAC0C,MAAM,EAAEJ,OAAO,CAAC;EAC/CW,eAAe,CAAC/B,MAAM,GAAGqB,IAAI;EAE7B,IAAMW,OAAO,GAAG,IAAAC,kCAAiB,EAACZ,IAAI,EAAExB,GAAG,CAAC;EAE5C,IACCwB,IAAI,KAAK,OAAO,IAChBA,IAAI,KAAK,MAAM,IACfA,IAAI,KAAK,KAAK,IACbA,IAAI,KAAK,QAAQ,IAAID,OAAO,CAACO,KAAM,EACnC;IACD,IAAID,IAAI,GAAGhC,KAAK,CAACwC,QAAQ,CAAC,CAAC;;IAE3B;IACA;IACA;IACA,IAAIb,IAAI,KAAK,OAAO,IAAI,CAACxC,eAAC,CAACsD,OAAO,CAACT,IAAI,CAAC,IAAI,EAAEA,IAAI,YAAYU,QAAQ,CAAC,EAAE;MACxE;MACA;MACAV,IAAI,GAAG7C,eAAC,CAACwD,IAAI,CAACjB,OAAO,CAACS,KAAK,EAAES,MAAM,CAACC,IAAI,CAACb,IAAI,CAAC,CAAC;IAChD;IACAM,OAAO,CAACQ,IAAI,CAACd,IAAI,CAAC;EACnB;EAEAN,OAAO,CAACqB,GAAG,GAAGT,OAAO;EAErBrB,uBAAW,CAACC,OAAO,CAAC,UAACC,UAAU,EAAK;IACnC,IAAIA,UAAU,CAAC6B,SAAS,EAAE;MACzB7B,UAAU,CAAC6B,SAAS,CAACV,OAAO,CAAC;IAC9B;EACD,CAAC,CAAC;EAEF,IAAIW,EAAE,GAAG,CAAC;EAEV,SAASC,iBAAiBA,CAACZ,OAAO,EAAE;IACnC,OAAO,SAASa,qBAAqBA,CAACC,QAAQ,EAAE;MAC/C,IAAIH,EAAE,GAAGhC,uBAAW,CAACoC,MAAM,EAAE;QAC5B,OAAOpC,uBAAW,CAACgC,EAAE,EAAE,CAAC,CACtBK,SAAS,CAAChB,OAAO,EAAEc,QAAQ,EAAEpD,KAAK,CAAC,CACnCwB,IAAI,CAAC0B,iBAAiB,CAACZ,OAAO,CAAC,CAAC;MACnC;MACA,OAAOhB,iBAAO,CAACiC,OAAO,CAACH,QAAQ,CAAC;IACjC,CAAC;EACF;EAEApD,KAAK,CAACwD,OAAO,CAAC,SAAS,EAAExD,KAAK,EAAEsC,OAAO,EAAEZ,OAAO,EAAEW,eAAe,CAAC;EAClEC,OAAO,CAACD,eAAe,GAAGA,eAAe;EAEzC,IAAMoB,UAAU,GAAGtE,eAAC,CAAC4C,MAAM,CAAC/B,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;;EAEtD;EACA,IAAIyD,UAAU,CAACC,OAAO,EAAE;IACvB,KAAK,IAAMC,GAAG,IAAIF,UAAU,CAACC,OAAO,EAAE;MACrCpB,OAAO,CAACsB,MAAM,CAACD,GAAG,CAACE,WAAW,CAAC,CAAC,CAAC,GAAGJ,UAAU,CAACC,OAAO,CAACC,GAAG,CAAC;IAC5D;EACD;EAEA,IAAIjC,OAAO,CAACgC,OAAO,EAAE;IACpB,KAAK,IAAMC,IAAG,IAAIjC,OAAO,CAACgC,OAAO,EAAE;MAClCpB,OAAO,CAACsB,MAAM,CAACD,IAAG,CAACE,WAAW,CAAC,CAAC,CAAC,GAAGnC,OAAO,CAACgC,OAAO,CAACC,IAAG,CAAC;IACzD;EACD;;EAEA;EACA;EACA,IAAIjC,OAAO,CAACoC,MAAM,IAAI,CAACpC,OAAO,CAACqC,OAAO,EAAE;IACvC,OAAOzC,iBAAO,CAACiC,OAAO,CAAC7B,OAAO,CAACsC,cAAc,CAAC,CAC5CxC,IAAI,CAAC0B,iBAAiB,CAACZ,OAAO,CAAC,CAAC,CAChCd,IAAI,CAAC,UAAU4B,QAAQ,EAAE;MACzB,IAAI,CAACA,QAAQ,CAACpB,IAAI,EAAE;QACnBoB,QAAQ,CAACpB,IAAI,GAAGiC,IAAI,CAACxD,KAAK,CAAC2C,QAAQ,CAACc,IAAI,CAAC;MAC1C;MAEA,OAAO5C,iBAAO,CAAC6C,IAAI,CAAClD,uBAAW,EAAE,UAACE,UAAU,EAAK;QAChD,OAAOA,UAAU,CAACiD,OAAO,CAAC9B,OAAO,EAAEc,QAAQ,EAAEpD,KAAK,EAAE,IAAI,CAAC;MAC1D,CAAC,CAAC,CAACwB,IAAI,CAAC,YAAM;QACb,IAAIE,OAAO,CAAC0C,OAAO,EAAE;UACpB1C,OAAO,CAAC0C,OAAO,CAAChB,QAAQ,CAACpB,IAAI,EAAE,SAAS,EAAEoB,QAAQ,CAAC;QACpD;QAEA,OAAOA,QAAQ,CAACpB,IAAI;MACrB,CAAC,CAAC;IACH,CAAC,CAAC,CACDqC,KAAK,CAAC,UAAUjB,QAAQ,EAAE;MAC1B,OAAO9B,iBAAO,CAAC6C,IAAI,CAAClD,uBAAW,EAAE,UAACE,UAAU,EAAK;QAChD,OAAOA,UAAU,CAACmD,KAAK,CAAClB,QAAQ,EAAEpD,KAAK,CAAC;MACzC,CAAC,CAAC,CAACwB,IAAI,CAAC,YAAM;QACb,IAAIE,OAAO,CAAC4C,KAAK,EAAE;UAClB5C,OAAO,CAAC4C,KAAK,CAAClB,QAAQ,EAAE,OAAO,EAAEA,QAAQ,CAACmB,OAAO,CAAC;QACnD;QACA,MAAMnB,QAAQ;MACf,CAAC,CAAC;IACH,CAAC,CAAC;EACJ;EAEA,OACCd;EACC;EACA;EAAA,CACCkC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,CAClBhD,IAAI,CAAC0B,iBAAiB,CAACZ,OAAO,CAAC,CAAC,CAChCd,IAAI,CAAC,UAAU4B,QAAQ,EAAE;IACzB,IAAIpB,IAAI;IACR,IAAI;MACHA,IAAI,GAAGiC,IAAI,CAACxD,KAAK,CAAC2C,QAAQ,CAACc,IAAI,CAAC;IACjC,CAAC,CAAC,OAAOO,CAAC,EAAE;MACXzC,IAAI,GAAGoB,QAAQ;IAChB;IAEA,IAAIzB,IAAI,KAAK,QAAQ,EAAE;MACtB3B,KAAK,CAAC0E,GAAG,CAAC1C,IAAI,CAAC;IAChB;IAEA,OAAOV,iBAAO,CAAC6C,IAAI,CAAClD,uBAAW,EAAE,UAACE,UAAU,EAAK;MAChD,OAAOA,UAAU,CAACiD,OAAO,CAAC9B,OAAO,EAAEc,QAAQ,EAAEpD,KAAK,EAAE,KAAK,CAAC;IAC3D,CAAC,CAAC,CAACwB,IAAI,CAAC,YAAM;MACb,IAAIE,OAAO,CAAC0C,OAAO,EAAE;QACpB1C,OAAO,CAAC0C,OAAO,CAACpC,IAAI,EAAE,SAAS,EAAEoB,QAAQ,CAAC;MAC3C;MACAd,OAAO,CAACqC,IAAI,CAAC,SAAS,EAAEvB,QAAQ,CAAC;MACjC,OAAOpB,IAAI;IACZ,CAAC,CAAC;EACH,CAAC,CAAC,CACDqC,KAAK,CAACO,mBAAU,CAACC,sBAAsB,EAAE,UAACJ,CAAC,EAAK;IAChD,IACCA,CAAC,CAACK,GAAG,IACLL,CAAC,CAACK,GAAG,CAACC,IAAI,KACRN,CAAC,CAACO,MAAM,IAAI,GAAG,IAAIP,CAAC,CAACO,MAAM,GAAG,GAAG,IAAKP,CAAC,CAACO,MAAM,KAAK,GAAG,CAAC,EACxD;MACDP,CAAC,CAACF,OAAO,eAAAU,MAAA,CAAehB,IAAI,CAACiB,SAAS,CAACT,CAAC,CAACK,GAAG,CAACC,IAAI,CAAC,CAAE;IACrD;IACA,MAAMN,CAAC;EACR,CAAC,CAAC,CACDJ,KAAK,CAAC,UAAUjB,QAAQ,EAAE;IAC1B,OAAO9B,iBAAO,CAAC6C,IAAI,CAAClD,uBAAW,EAAE,UAACE,UAAU,EAAK;MAChD,OAAOA,UAAU,CAACmD,KAAK,CAAClB,QAAQ,CAAC;IAClC,CAAC,CAAC,CAAC5B,IAAI,CAAC,YAAM;MACb,IAAIE,OAAO,CAAC4C,KAAK,EAAE;QAClB5C,OAAO,CAAC4C,KAAK,CAAClB,QAAQ,EAAE,OAAO,EAAEA,QAAQ,CAACmB,OAAO,CAAC;MACnD;;MAEA;MACA,IACCnB,QAAQ,IACRA,QAAQ,CAAC+B,aAAa,IACtB/B,QAAQ,CAAC+B,aAAa,CAACC,IAAI,KAAK,cAAc,EAC7C;QACD,MAAM,IAAI9F,KAAK,WAAA2F,MAAA,CACJtD,IAAI,uBAAAsD,MAAA,CAAoB9E,GAAG,QAAA8E,MAAA,CAAK7B,QAAQ,CAACmB,OAAO,CAC3D,CAAC;MACF;MAEA,MAAMnB,QAAQ;IACf,CAAC,CAAC;EACH,CAAC,CAAC;AAEL,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"sync.js","names":["_bluebird","_interopRequireDefault","require","_superagentBluebirdPromise","_lodash","_log","_middleware","_superagent","_url","defaults","_","assign","urlError","Error","methodMap","exports","create","update","patch","delete","read","defaultFetchURL","_ref","model","log","warn","url","buildURL","_ref2","method","urlParse","url2","parse","replace","search","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","header","toLowerCase","cachedResponse","JSON","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\";\nimport url2 from \"url\";\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\tconst urlParse = url2.parse(url);\n\n\t// If not a GET request, strip the query params from the url\n\tif (method !== \"read\") {\n\t\treturn url.replace(urlParse.search, \"\");\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\trequest.header[key.toLowerCase()] = ajaxConfig.headers[key];\n\t\t}\n\t}\n\n\tif (options.headers) {\n\t\tfor (const key in options.headers) {\n\t\t\trequest.header[key.toLowerCase()] = options.headers[key];\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":[]}
|
package/cjs/utils.js
CHANGED
|
@@ -154,9 +154,18 @@ function sanitizeBase64(obj) {
|
|
|
154
154
|
return _objectSpread(_objectSpread({}, acc), {}, (0, _defineProperty2.default)({}, key, sanitizeBase64(obj[key], conditionFn)));
|
|
155
155
|
}, {});
|
|
156
156
|
} else if (typeof obj === "string") {
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
157
|
+
// Catch anything that looks like base64, or base64%2C (which is the encoded version)
|
|
158
|
+
// and strip it. This is a last resort, we'd prefer not to be in this position!
|
|
159
|
+
var re = /base64(,|(%2C))/;
|
|
160
|
+
if (re.test(obj)) {
|
|
161
|
+
var _conditionFn;
|
|
162
|
+
// If you're a developer, let's throw an error.
|
|
163
|
+
if (process.env.NODE_ENV === "development" && !window.Cypress) {
|
|
164
|
+
throw new Error("Tried to save a base64 string. Figure out why!");
|
|
165
|
+
}
|
|
166
|
+
if ((_conditionFn = conditionFn === null || conditionFn === void 0 ? void 0 : conditionFn(obj)) !== null && _conditionFn !== void 0 ? _conditionFn : true) {
|
|
167
|
+
return "";
|
|
168
|
+
}
|
|
160
169
|
}
|
|
161
170
|
}
|
|
162
171
|
return obj;
|
package/cjs/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","names":["_lodash","_interopRequireDefault","require","_url","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","url2","parse","path","removeMultiByteChars","_txt","txt","replace","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"],"sources":["../src/utils.js"],"sourcesContent":["import _ from \"lodash\";\n/* eslint-disable no-control-regex */\nimport url2 from \"url\";\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\treturn url2.parse(url).path;\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\tconst re = /^data:image\\/[a-zA-Z]+;base64,[A-Za-z0-9+/=]+$/;\n\t\tif (re.test(obj) && conditionFn(obj)) {\n\t\t\treturn \"\";\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","_url","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","url2","parse","path","removeMultiByteChars","_txt","txt","replace","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 */\nimport url2 from \"url\";\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\treturn url2.parse(url).path;\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":[]}
|
package/cjs/utils.spec.js
CHANGED
|
@@ -125,4 +125,26 @@ describe("replaceHostname()", function () {
|
|
|
125
125
|
expect(actual).toEqual(expected);
|
|
126
126
|
});
|
|
127
127
|
});
|
|
128
|
+
describe.only("sanitizeBase64()", function () {
|
|
129
|
+
["data:image/webp;base64,", "data%3Aimage%2Fwebp%3Bbase64%2C"].forEach(function (base64) {
|
|
130
|
+
it("should strip base64 from string", function () {
|
|
131
|
+
expect((0, _utils.sanitizeBase64)(base64)).toEqual("");
|
|
132
|
+
});
|
|
133
|
+
it("should strip base64 from array", function () {
|
|
134
|
+
expect((0, _utils.sanitizeBase64)([base64])).toEqual([""]);
|
|
135
|
+
});
|
|
136
|
+
it("should strip base64 from nested object", function () {
|
|
137
|
+
expect((0, _utils.sanitizeBase64)({
|
|
138
|
+
foo: [base64]
|
|
139
|
+
})).toEqual({
|
|
140
|
+
foo: [""]
|
|
141
|
+
});
|
|
142
|
+
});
|
|
143
|
+
it("should not strip if condition says not to", function () {
|
|
144
|
+
expect((0, _utils.sanitizeBase64)(base64, function () {
|
|
145
|
+
return false;
|
|
146
|
+
})).toEqual(base64);
|
|
147
|
+
});
|
|
148
|
+
});
|
|
149
|
+
});
|
|
128
150
|
//# sourceMappingURL=utils.spec.js.map
|