@livepreso/api 6.55.1 → 6.56.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.
Files changed (66) hide show
  1. package/.rush/temp/shrinkwrap-deps.json +1013 -1191
  2. package/CHANGELOG.json +29 -0
  3. package/CHANGELOG.md +19 -1
  4. package/cjs/api.js +3 -5
  5. package/cjs/api.js.map +1 -1
  6. package/cjs/auth.spec.js +11 -11
  7. package/cjs/auth.spec.js.map +1 -1
  8. package/cjs/collections/appointment-tags.js +14 -15
  9. package/cjs/collections/appointment-tags.js.map +1 -1
  10. package/cjs/collections/base.spec.js +30 -30
  11. package/cjs/collections/base.spec.js.map +1 -1
  12. package/cjs/fixtures.js +1 -2
  13. package/cjs/fixtures.js.map +1 -1
  14. package/cjs/models/appointment.js +7 -7
  15. package/cjs/models/appointment.js.map +1 -1
  16. package/cjs/models/base.js +30 -12
  17. package/cjs/models/base.js.map +1 -1
  18. package/cjs/models/cms-val.spec.js +2 -2
  19. package/cjs/models/cms-val.spec.js.map +1 -1
  20. package/cjs/models/deck-version.js +14 -34
  21. package/cjs/models/deck-version.js.map +1 -1
  22. package/cjs/models/manifest-json.js +41 -5
  23. package/cjs/models/manifest-json.js.map +1 -1
  24. package/cjs/models/pack.js +2 -1
  25. package/cjs/models/pack.js.map +1 -1
  26. package/cjs/models/snapshot.spec.js +2 -2
  27. package/cjs/models/snapshot.spec.js.map +1 -1
  28. package/cjs/models/template.js +10 -10
  29. package/cjs/models/template.js.map +1 -1
  30. package/cjs/models/timing-log.spec.js +2 -2
  31. package/cjs/models/timing-log.spec.js.map +1 -1
  32. package/cjs/models/user.spec.js +4 -4
  33. package/cjs/models/user.spec.js.map +1 -1
  34. package/cjs/presentation/presentation-deck.js +19 -9
  35. package/cjs/presentation/presentation-deck.js.map +1 -1
  36. package/cjs/presentation/presentation-deck.spec.js +6 -6
  37. package/cjs/presentation/presentation-deck.spec.js.map +1 -1
  38. package/cjs/presentation/presentation-section.js +33 -10
  39. package/cjs/presentation/presentation-section.js.map +1 -1
  40. package/cjs/presentation/presentation-section.spec.js +24 -16
  41. package/cjs/presentation/presentation-section.spec.js.map +1 -1
  42. package/cjs/presentation/presentation-slide.js +18 -7
  43. package/cjs/presentation/presentation-slide.js.map +1 -1
  44. package/cjs/presentation/presentation-slide.spec.js +21 -12
  45. package/cjs/presentation/presentation-slide.spec.js.map +1 -1
  46. package/cjs/presentation/presentation-subslide.spec.js +10 -10
  47. package/cjs/presentation/presentation-subslide.spec.js.map +1 -1
  48. package/cjs/presentation/presentation.js +26 -26
  49. package/cjs/presentation/presentation.js.map +1 -1
  50. package/cjs/sync.js +1 -3
  51. package/cjs/sync.js.map +1 -1
  52. package/cjs/utils.js +33 -3
  53. package/cjs/utils.js.map +1 -1
  54. package/package.json +3 -3
  55. package/src/api.js +3 -5
  56. package/src/models/base.js +27 -9
  57. package/src/models/deck-version.js +5 -31
  58. package/src/models/manifest-json.js +33 -5
  59. package/src/models/pack.js +1 -0
  60. package/src/presentation/presentation-deck.js +9 -9
  61. package/src/presentation/presentation-section.js +35 -12
  62. package/src/presentation/presentation-section.spec.js +8 -0
  63. package/src/presentation/presentation-slide.js +7 -4
  64. package/src/presentation/presentation-slide.spec.js +9 -0
  65. package/src/sync.js +1 -3
  66. package/src/utils.js +31 -2
@@ -1 +1 @@
1
- {"version":3,"file":"manifest-json.js","names":["require","_base","_stateRegister","_url","_interopRequireDefault","_createForOfIteratorHelper","r","e","t","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","_n","F","s","n","done","value","f","TypeError","o","a","u","call","next","return","_arrayLikeToArray","toString","slice","constructor","name","from","test","ownKeys","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","forEach","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","ManifestJSONModel","exports","BaseModel","extend","props","key","maintainer","common","feeds","hooks","fixtures","limits","ordering","tags","titles","templates","content_editors","persistentcontext","type","screenshotpreferences","vector","dimensions","width","height","pdfpreferences","quality_level","has_editable_share_support","has_signing_support","point_in_time_share_policy","notify_salesperson_after_feeds_fetched","require_verification","companywide_editable","app_settings","appointment","show_visible_default","fieldsets","enforce_required","requires_user_connectivity","derived","screenDimensions","deps","fn","getScreenDimensions","getDimensionsByName","dimension","find","d","_d$name","toLowerCase","getPDFDimensions","_this$pdfpreferences","defaultPDFDimensions","defaultDimensions","getAssetPath","undefined","_key$split","split","_key$split2","_slicedToArray2","sectionKey","_key$split2$","slideKey","sectionKeyPath","url2","resolve","url","concat","getTemplateAssetPath","parent","modelName","getPlainURL","prototype","createFromProject","projectFile","impostor","maxAdjunctSlides","sections","reduce","num","section","title","slides","newSection","_toConsumableArray2","_iterator","_step","slide","err","template","index","adjunctslide","slideIndex","_iterator2","_step2","_iterator3","_step3","welcome","manifest","screen","Error","canBeEmpty","register"],"sources":["../../src/models/manifest-json.js"],"sourcesContent":["import \"./pack.js\";\n\nimport { BaseModel } from \"./base.js\";\nimport { register } from \"../state-register.js\";\nimport url2 from \"url\";\n\n/**\n * @constructor\n * @alias models.ManifestJSONModel\n * @extends models.BaseModel\n */\nexport const ManifestJSONModel = BaseModel.extend(\n\t/** @lends models.ManifestJSONModel# */ {\n\t\t/**\n\t\t * @property {string} key\n\t\t * @property {string} maintainer\n\t\t * @property {object} common\n\t\t * @property {object} feeds\n\t\t * @property {object} hooks\n\t\t * @property {object} limits\n\t\t * @property {object} ordering\n\t\t * @property {object} tags\n\t\t * @property {object} titles\n\t\t * @property {object} templates\n\t\t * @property {object} screenshotpreferences\n\t\t * @property {object} dimensions\n\t\t * @property {object} pdfpreferences\n\t\t * @property {boolean} has_editable_share_support\n\t\t * @property {boolean} has_signing_support\n\t\t * @property {boolean} notify_salesperson_after_feeds_fetched\n\t\t * @property {boolean} require_verification\n\t\t * @property {boolean} companywide_editable\n\t\t * @property {object} content_editors\n\t\t */\n\t\tprops: {\n\t\t\tkey: \"string\",\n\t\t\tmaintainer: \"string\",\n\t\t\tcommon: \"object\",\n\t\t\tfeeds: \"object\",\n\t\t\thooks: \"string\",\n\t\t\tfixtures: \"object\",\n\t\t\tlimits: \"object\",\n\t\t\tordering: \"object\",\n\t\t\ttags: \"object\",\n\t\t\ttitles: \"object\",\n\t\t\ttemplates: \"object\",\n\t\t\tcontent_editors: \"object\",\n\t\t\tpersistentcontext: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: false,\n\t\t\t},\n\t\t\tscreenshotpreferences: {\n\t\t\t\ttype: \"object\",\n\t\t\t\tdefault: function () {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tvector: false,\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t},\n\t\t\tdimensions: {\n\t\t\t\t// This could be a list or an object\n\t\t\t\ttype: \"any\",\n\t\t\t\tdefault: function () {\n\t\t\t\t\treturn {\n\t\t\t\t\t\twidth: 1024,\n\t\t\t\t\t\theight: 768,\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t},\n\t\t\tpdfpreferences: {\n\t\t\t\ttype: \"object\",\n\t\t\t\tdefault: function () {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tquality_level: \"prepress\",\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t},\n\t\t\thas_editable_share_support: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: false,\n\t\t\t},\n\t\t\thas_signing_support: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: false,\n\t\t\t},\n\t\t\tpoint_in_time_share_policy: {\n\t\t\t\ttype: \"string\",\n\t\t\t},\n\t\t\tnotify_salesperson_after_feeds_fetched: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: false,\n\t\t\t},\n\t\t\trequire_verification: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: false,\n\t\t\t},\n\t\t\tcompanywide_editable: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: false,\n\t\t\t},\n\t\t\tapp_settings: {\n\t\t\t\ttype: \"object\",\n\t\t\t\tdefault: function () {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tappointment: {\n\t\t\t\t\t\t\tshow_visible_default: false,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tfieldsets: {\n\t\t\t\t\t\t\tenforce_required: false,\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t},\n\t\t\trequires_user_connectivity: {\n\t\t\t\ttype: \"array\",\n\t\t\t\tdefault: () => {\n\t\t\t\t\treturn [];\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\n\t\tderived: {\n\t\t\t// Most places just need this value, and making it derived\n\t\t\t// gives us lower overhead (when we convert with .toJSON() it will\n\t\t\t// also include this value, and means we don't have to convert back to\n\t\t\t// a model just to get this again.)\n\t\t\tscreenDimensions: {\n\t\t\t\tdeps: [\"dimensions\"],\n\t\t\t\tfn: function () {\n\t\t\t\t\treturn this.getScreenDimensions();\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\n\t\tgetDimensionsByName(name) {\n\t\t\tif (Array.isArray(this.dimensions)) {\n\t\t\t\tconst dimension = this.dimensions.find(\n\t\t\t\t\t(d) => d.name?.toLowerCase() === name?.toLowerCase(),\n\t\t\t\t);\n\t\t\t\tif (!dimension) {\n\t\t\t\t\treturn { width: 1024, height: 767 };\n\t\t\t\t}\n\t\t\t\treturn { width: dimension.width, height: dimension.height };\n\t\t\t}\n\t\t\treturn this.dimensions;\n\t\t},\n\n\t\tgetScreenDimensions() {\n\t\t\treturn this.getDimensionsByName(\"screen\");\n\t\t},\n\n\t\tgetPDFDimensions() {\n\t\t\tif (Array.isArray(this.dimensions)) {\n\t\t\t\tconst defaultPDFDimensions =\n\t\t\t\t\tthis.pdfpreferences?.defaultDimensions || \"screen\";\n\t\t\t\treturn this.getDimensionsByName(defaultPDFDimensions);\n\t\t\t}\n\t\t\treturn this.dimensions;\n\t\t},\n\n\t\t/**\n\t\t * Returns the path to a manifest asset, using its url as the base.\n\t\t * @param {?string} key\n\t\t * @returns {?string}\n\t\t */\n\t\tgetAssetPath(key = null) {\n\t\t\tif (key) {\n\t\t\t\tconst [sectionKey, slideKey = null] = key.split(\"/\");\n\t\t\t\tconst sectionKeyPath = url2.resolve(\n\t\t\t\t\tthis.url(),\n\t\t\t\t\t`sections/${sectionKey}/`,\n\t\t\t\t);\n\t\t\t\tif (slideKey) {\n\t\t\t\t\treturn url2.resolve(sectionKeyPath, `slides/${slideKey}/`);\n\t\t\t\t}\n\t\t\t\treturn sectionKeyPath;\n\t\t\t}\n\n\t\t\treturn this.url();\n\t\t},\n\n\t\t/**\n\t\t Returns path to template assets, which are exceptional to regular slide assets\n\t\t * @param {?string} key\n\t\t * @returns {?string}\n\t\t */\n\t\tgetTemplateAssetPath(key) {\n\t\t\treturn url2.resolve(this.getAssetPath(), `templates/${key}/`);\n\t\t},\n\n\t\turl() {\n\t\t\tif (this.parent && this.parent.modelName === \"deckversions\") {\n\t\t\t\treturn `${this.parent.getPlainURL()}manifest/`;\n\t\t\t}\n\n\t\t\treturn BaseModel.prototype.url.call(this);\n\t\t},\n\t},\n);\n\n/**\n * Converts a project file into a manifest json object. This expected\n * the project.yaml file to have been already read into a javascript\n * object.\n */\nManifestJSONModel.createFromProject = function (projectFile) {\n\t// If the deck is an impostor deck, we have to update some things for\n\t// them to make sense in the impostor format\n\tif (projectFile.impostor) {\n\t\t// There is only one real section; all of the \"sections\" defined in the\n\t\t// project.yaml are actually slides, and slides can't have a maxAdjunctSlides\n\t\t// value. We get around this by totalling up all of the maxAdjunctSlides values\n\t\t// across the sections and give that number to the real section. Later e.g. in the\n\t\t// app, that number will be taken and divided by the number of impostor sections\n\t\t// to get the maxAdjunctSlides value for each impostor section\n\t\tconst maxAdjunctSlides = projectFile.sections.reduce((num, section) => {\n\t\t\treturn num + (section.maxAdjunctSlides || 0);\n\t\t}, 0);\n\n\t\t// Create a \"real\" section (that will never be seen by the user) and give\n\t\t// it all of the sections & slides. Impostor sections (which are technically\n\t\t// slides) are given the \"section-header\" tag to mark them as sections\n\t\tprojectFile.sections = [\n\t\t\t{\n\t\t\t\tmaxAdjunctSlides,\n\t\t\t\tkey: projectFile.key,\n\t\t\t\ttitle: projectFile.name,\n\t\t\t\tslides: projectFile.sections.reduce((sections, section) => {\n\t\t\t\t\tconst newSection = {\n\t\t\t\t\t\t...section,\n\t\t\t\t\t\tslides: [],\n\t\t\t\t\t};\n\t\t\t\t\tnewSection.tags = [\"section-header\"].concat(newSection.tags || []);\n\n\t\t\t\t\tsections.push(newSection, ...(section.slides || []));\n\t\t\t\t\treturn sections;\n\t\t\t\t}, []),\n\t\t\t},\n\t\t];\n\t}\n\n\tconst titles = projectFile.sections.reduce((titles, section) => {\n\t\ttitles[section.key] = section.title;\n\t\tfor (const slide of section.slides || []) {\n\t\t\ttitles[`${section.key}/${slide.key}`] = slide.title;\n\t\t}\n\t\treturn titles;\n\t}, {});\n\n\tconst templates = (projectFile.templates || []).reduce(\n\t\t(templates, template, index) => {\n\t\t\ttemplates[template.key] = {\n\t\t\t\ttitle: template.title,\n\t\t\t\tordering: index + 1,\n\t\t\t};\n\t\t\treturn templates;\n\t\t},\n\t\t{},\n\t);\n\n\tconst limits = {\n\t\tadjunctslide: projectFile.sections.reduce((limits, section) => {\n\t\t\tif (typeof section.maxAdjunctSlides === \"number\") {\n\t\t\t\tlimits[section.key] = section.maxAdjunctSlides;\n\t\t\t}\n\t\t\treturn limits;\n\t\t}, {}),\n\t};\n\n\tconst ordering = projectFile.sections.reduce((ordering, section, index) => {\n\t\tordering[section.key] = index + 1;\n\t\tlet slideIndex = 0;\n\t\tfor (const slide of section.slides || []) {\n\t\t\tslideIndex++;\n\t\t\tordering[`${section.key}/${slide.key}`] = slideIndex;\n\t\t}\n\t\treturn ordering;\n\t}, {});\n\n\tconst tags = projectFile.sections.reduce((tags, section) => {\n\t\ttags[section.key] = section.tags || [];\n\t\tfor (const slide of section.slides || []) {\n\t\t\ttags[`${section.key}/${slide.key}`] = slide.tags || [];\n\t\t}\n\t\treturn tags;\n\t}, {});\n\n\t// Add config for the Welcome slide here - it's namespaced in\n\t// the project.yaml under the \"welcome\" key\n\tif (projectFile.welcome) {\n\t\tif (projectFile.welcome.tags) {\n\t\t\t// It's convention to use an empty string for the\n\t\t\t// Welcome slide's key\n\t\t\ttags[\"\"] = projectFile.welcome.tags || [];\n\t\t}\n\t}\n\n\tconst manifest = new ManifestJSONModel({\n\t\tcommon: projectFile.common,\n\t\tfeeds: projectFile.feeds,\n\t\thooks: projectFile.hooks,\n\t\tfixtures: projectFile.fixtures,\n\t\ttitles,\n\t\ttemplates,\n\t\tordering,\n\t\tlimits,\n\t\ttags,\n\t\tkey: projectFile.key,\n\t});\n\n\tif (projectFile.content_editors) {\n\t\tmanifest.content_editors = projectFile.content_editors;\n\t}\n\n\tif (projectFile.screenshotpreferences) {\n\t\tmanifest.screenshotpreferences = projectFile.screenshotpreferences;\n\t}\n\n\tif (projectFile.pdfpreferences) {\n\t\tmanifest.pdfpreferences = projectFile.pdfpreferences;\n\t}\n\n\tif (projectFile.persistentcontext) {\n\t\tmanifest.persistentcontext = projectFile.persistentcontext;\n\t}\n\n\tif (projectFile.maintainer) {\n\t\tmanifest.maintainer = projectFile.maintainer;\n\t}\n\n\tif (projectFile.dimensions) {\n\t\tconst { dimensions } = projectFile;\n\n\t\tif (Array.isArray(dimensions)) {\n\t\t\tconst screen = dimensions.filter((d) => d.name === \"Screen\");\n\t\t\tif (!screen.length || screen.length > 1) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t\"Dimensions must contain one value named 'Screen' in project.yaml\",\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\tmanifest.dimensions = dimensions;\n\t}\n\n\tif (projectFile.has_editable_share_support) {\n\t\tmanifest.has_editable_share_support =\n\t\t\tprojectFile.has_editable_share_support;\n\t}\n\n\tif (projectFile.has_signing_support) {\n\t\tmanifest.has_signing_support = projectFile.has_signing_support;\n\t}\n\n\tif (projectFile.point_in_time_share_policy) {\n\t\tmanifest.point_in_time_share_policy =\n\t\t\tprojectFile.point_in_time_share_policy;\n\t}\n\n\tif (projectFile.notify_salesperson_after_feeds_fetched) {\n\t\tmanifest.notify_salesperson_after_feeds_fetched =\n\t\t\tprojectFile.notify_salesperson_after_feeds_fetched;\n\t}\n\n\tif (projectFile.require_verification) {\n\t\tmanifest.require_verification = projectFile.require_verification;\n\t}\n\n\tif (projectFile.app_settings) {\n\t\tmanifest.app_settings = {\n\t\t\t...manifest.app_settings,\n\t\t\t...projectFile.app_settings,\n\t\t};\n\t}\n\n\tif (projectFile.requires_user_connectivity) {\n\t\tmanifest.requires_user_connectivity =\n\t\t\tprojectFile.requires_user_connectivity;\n\t}\n\n\t// For all new decks going forward, this should be set to true.\n\t// This means we validate that a fieldset field has a value. Before\n\t// this change, it was possible to save with a required field unfilled.\n\t// This just keeps backwards compatability.\n\tmanifest.app_settings.fieldsets.enforce_required = false;\n\n\treturn manifest;\n};\n\nManifestJSONModel.canBeEmpty = true;\n\nregister(\"ManifestJSONModel\", ManifestJSONModel);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"manifest-json.js","names":["_lodash","_interopRequireDefault","require","_superagent","_base","_stateRegister","_utils","_createForOfIteratorHelper","r","e","t","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","_n","F","s","n","done","value","f","TypeError","o","a","u","call","next","return","_arrayLikeToArray","toString","slice","constructor","name","from","test","ownKeys","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","forEach","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","ManifestJSONModel","exports","BaseModel","extend","props","key","maintainer","common","feeds","hooks","fixtures","limits","ordering","tags","titles","templates","content_editors","persistentcontext","type","screenshotpreferences","vector","dimensions","width","height","pdfpreferences","quality_level","has_editable_share_support","has_signing_support","point_in_time_share_policy","notify_salesperson_after_feeds_fetched","require_verification","companywide_editable","app_settings","appointment","show_visible_default","fieldsets","enforce_required","requires_user_connectivity","derived","screenDimensions","deps","fn","getScreenDimensions","getDimensionsByName","dimension","find","d","_d$name","toLowerCase","getPDFDimensions","_this$pdfpreferences","defaultPDFDimensions","defaultDimensions","getAssetPath","undefined","_key$split","split","_key$split2","_slicedToArray2","sectionKey","_key$split2$","slideKey","sectionKeyPath","resolveURL","url","concat","getTemplateAssetPath","getFixtures","rootAssetUrl","_this","_asyncToGenerator2","_regenerator","mark","_callee","fixturePaths","imports","wrap","_context","prev","_","map","fixture","path","superagent","get","then","response","text","JSON","parse","body","catch","SuperagentPromiseError","Promise","all","abrupt","stop","parent","modelName","getPlainURL","prototype","createFromProject","projectFile","impostor","maxAdjunctSlides","sections","reduce","num","section","title","slides","newSection","_toConsumableArray2","_iterator","_step","slide","err","template","index","adjunctslide","slideIndex","_iterator2","_step2","_iterator3","_step3","welcome","manifest","screen","Error","canBeEmpty","register"],"sources":["../../src/models/manifest-json.js"],"sourcesContent":["import _ from \"lodash\";\nimport \"./pack.js\";\n\nimport superagent from \"superagent\";\nimport { BaseModel } from \"./base.js\";\nimport { register } from \"../state-register.js\";\nimport { resolveURL } from \"../utils.js\";\n\n/**\n * @constructor\n * @alias models.ManifestJSONModel\n * @extends models.BaseModel\n */\nexport const ManifestJSONModel = BaseModel.extend(\n\t/** @lends models.ManifestJSONModel# */ {\n\t\t/**\n\t\t * @property {string} key\n\t\t * @property {string} maintainer\n\t\t * @property {object} common\n\t\t * @property {object} feeds\n\t\t * @property {object} hooks\n\t\t * @property {object} limits\n\t\t * @property {object} ordering\n\t\t * @property {object} tags\n\t\t * @property {object} titles\n\t\t * @property {object} templates\n\t\t * @property {object} screenshotpreferences\n\t\t * @property {object} dimensions\n\t\t * @property {object} pdfpreferences\n\t\t * @property {boolean} has_editable_share_support\n\t\t * @property {boolean} has_signing_support\n\t\t * @property {boolean} notify_salesperson_after_feeds_fetched\n\t\t * @property {boolean} require_verification\n\t\t * @property {boolean} companywide_editable\n\t\t * @property {object} content_editors\n\t\t */\n\t\tprops: {\n\t\t\tkey: \"string\",\n\t\t\tmaintainer: \"string\",\n\t\t\tcommon: \"object\",\n\t\t\tfeeds: \"object\",\n\t\t\thooks: \"string\",\n\t\t\tfixtures: \"object\",\n\t\t\tlimits: \"object\",\n\t\t\tordering: \"object\",\n\t\t\ttags: \"object\",\n\t\t\ttitles: \"object\",\n\t\t\ttemplates: \"object\",\n\t\t\tcontent_editors: \"object\",\n\t\t\tpersistentcontext: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: false,\n\t\t\t},\n\t\t\tscreenshotpreferences: {\n\t\t\t\ttype: \"object\",\n\t\t\t\tdefault: function () {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tvector: false,\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t},\n\t\t\tdimensions: {\n\t\t\t\t// This could be a list or an object\n\t\t\t\ttype: \"any\",\n\t\t\t\tdefault: function () {\n\t\t\t\t\treturn {\n\t\t\t\t\t\twidth: 1024,\n\t\t\t\t\t\theight: 768,\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t},\n\t\t\tpdfpreferences: {\n\t\t\t\ttype: \"object\",\n\t\t\t\tdefault: function () {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tquality_level: \"prepress\",\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t},\n\t\t\thas_editable_share_support: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: false,\n\t\t\t},\n\t\t\thas_signing_support: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: false,\n\t\t\t},\n\t\t\tpoint_in_time_share_policy: {\n\t\t\t\ttype: \"string\",\n\t\t\t},\n\t\t\tnotify_salesperson_after_feeds_fetched: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: false,\n\t\t\t},\n\t\t\trequire_verification: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: false,\n\t\t\t},\n\t\t\tcompanywide_editable: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: false,\n\t\t\t},\n\t\t\tapp_settings: {\n\t\t\t\ttype: \"object\",\n\t\t\t\tdefault: function () {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tappointment: {\n\t\t\t\t\t\t\tshow_visible_default: false,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tfieldsets: {\n\t\t\t\t\t\t\tenforce_required: false,\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t},\n\t\t\trequires_user_connectivity: {\n\t\t\t\ttype: \"array\",\n\t\t\t\tdefault: () => {\n\t\t\t\t\treturn [];\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\n\t\tderived: {\n\t\t\t// Most places just need this value, and making it derived\n\t\t\t// gives us lower overhead (when we convert with .toJSON() it will\n\t\t\t// also include this value, and means we don't have to convert back to\n\t\t\t// a model just to get this again.)\n\t\t\tscreenDimensions: {\n\t\t\t\tdeps: [\"dimensions\"],\n\t\t\t\tfn: function () {\n\t\t\t\t\treturn this.getScreenDimensions();\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\n\t\tgetDimensionsByName(name) {\n\t\t\tif (Array.isArray(this.dimensions)) {\n\t\t\t\tconst dimension = this.dimensions.find(\n\t\t\t\t\t(d) => d.name?.toLowerCase() === name.toLowerCase(),\n\t\t\t\t);\n\t\t\t\tif (!dimension) {\n\t\t\t\t\treturn { width: 1024, height: 767 };\n\t\t\t\t}\n\t\t\t\treturn { width: dimension.width, height: dimension.height };\n\t\t\t}\n\t\t\treturn this.dimensions;\n\t\t},\n\n\t\tgetScreenDimensions() {\n\t\t\treturn this.getDimensionsByName(\"screen\");\n\t\t},\n\n\t\tgetPDFDimensions() {\n\t\t\tif (Array.isArray(this.dimensions)) {\n\t\t\t\tconst defaultPDFDimensions =\n\t\t\t\t\tthis.pdfpreferences?.defaultDimensions || \"screen\";\n\t\t\t\treturn this.getDimensionsByName(defaultPDFDimensions);\n\t\t\t}\n\t\t\treturn this.dimensions;\n\t\t},\n\n\t\t/**\n\t\t * Returns the path to a manifest asset, using its url as the base.\n\t\t * @param {?string} key\n\t\t * @returns {?string}\n\t\t */\n\t\tgetAssetPath(key = null) {\n\t\t\tif (key) {\n\t\t\t\tconst [sectionKey, slideKey = null] = key.split(\"/\");\n\t\t\t\tconst sectionKeyPath = resolveURL(\n\t\t\t\t\tthis.url(),\n\t\t\t\t\t`sections/${sectionKey}/`,\n\t\t\t\t);\n\t\t\t\tif (slideKey) {\n\t\t\t\t\treturn resolveURL(sectionKeyPath, `slides/${slideKey}/`);\n\t\t\t\t}\n\t\t\t\treturn sectionKeyPath;\n\t\t\t}\n\n\t\t\treturn this.url();\n\t\t},\n\n\t\t/**\n\t\t Returns path to template assets, which are exceptional to regular slide assets\n\t\t * @param {?string} key\n\t\t * @returns {?string}\n\t\t */\n\t\tgetTemplateAssetPath(key) {\n\t\t\treturn resolveURL(this.getAssetPath(), `templates/${key}/`);\n\t\t},\n\n\t\tasync getFixtures(rootAssetUrl) {\n\t\t\tconst fixturePaths = this.fixtures || {};\n\t\t\tconst fixtures = {};\n\n\t\t\tconst imports = _.map(fixturePaths, (fixture, key) => {\n\t\t\t\tconst path = `${rootAssetUrl}${fixture}`;\n\n\t\t\t\treturn superagent\n\t\t\t\t\t.get(path)\n\t\t\t\t\t.then((response) => {\n\t\t\t\t\t\tif (response.text) {\n\t\t\t\t\t\t\tfixtures[key] = JSON.parse(response.text);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tfixtures[key] = response.body || {};\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\t.catch(superagent.SuperagentPromiseError, (e) => {\n\t\t\t\t\t\tthrow e;\n\t\t\t\t\t});\n\t\t\t});\n\n\t\t\tawait Promise.all(imports);\n\n\t\t\treturn fixtures;\n\t\t},\n\n\t\turl() {\n\t\t\tif (this.parent && this.parent.modelName === \"deckversions\") {\n\t\t\t\treturn `${this.parent.getPlainURL()}manifest/`;\n\t\t\t}\n\n\t\t\treturn BaseModel.prototype.url.call(this);\n\t\t},\n\t},\n);\n\n/**\n * Converts a project file into a manifest json object. This expected\n * the project.yaml file to have been already read into a javascript\n * object.\n */\nManifestJSONModel.createFromProject = function (projectFile) {\n\t// If the deck is an impostor deck, we have to update some things for\n\t// them to make sense in the impostor format\n\tif (projectFile.impostor) {\n\t\t// There is only one real section; all of the \"sections\" defined in the\n\t\t// project.yaml are actually slides, and slides can't have a maxAdjunctSlides\n\t\t// value. We get around this by totalling up all of the maxAdjunctSlides values\n\t\t// across the sections and give that number to the real section. Later e.g. in the\n\t\t// app, that number will be taken and divided by the number of impostor sections\n\t\t// to get the maxAdjunctSlides value for each impostor section\n\t\tconst maxAdjunctSlides = projectFile.sections.reduce((num, section) => {\n\t\t\treturn num + (section.maxAdjunctSlides || 0);\n\t\t}, 0);\n\n\t\t// Create a \"real\" section (that will never be seen by the user) and give\n\t\t// it all of the sections & slides. Impostor sections (which are technically\n\t\t// slides) are given the \"section-header\" tag to mark them as sections\n\t\tprojectFile.sections = [\n\t\t\t{\n\t\t\t\tmaxAdjunctSlides,\n\t\t\t\tkey: projectFile.key,\n\t\t\t\ttitle: projectFile.name,\n\t\t\t\tslides: projectFile.sections.reduce((sections, section) => {\n\t\t\t\t\tconst newSection = {\n\t\t\t\t\t\t...section,\n\t\t\t\t\t\tslides: [],\n\t\t\t\t\t};\n\t\t\t\t\tnewSection.tags = [\"section-header\"].concat(newSection.tags || []);\n\n\t\t\t\t\tsections.push(newSection, ...(section.slides || []));\n\t\t\t\t\treturn sections;\n\t\t\t\t}, []),\n\t\t\t},\n\t\t];\n\t}\n\n\tconst titles = projectFile.sections.reduce((titles, section) => {\n\t\ttitles[section.key] = section.title;\n\t\tfor (const slide of section.slides || []) {\n\t\t\ttitles[`${section.key}/${slide.key}`] = slide.title;\n\t\t}\n\t\treturn titles;\n\t}, {});\n\n\tconst templates = (projectFile.templates || []).reduce(\n\t\t(templates, template, index) => {\n\t\t\ttemplates[template.key] = {\n\t\t\t\ttitle: template.title,\n\t\t\t\tordering: index + 1,\n\t\t\t};\n\t\t\treturn templates;\n\t\t},\n\t\t{},\n\t);\n\n\tconst limits = {\n\t\tadjunctslide: projectFile.sections.reduce((limits, section) => {\n\t\t\tif (typeof section.maxAdjunctSlides === \"number\") {\n\t\t\t\tlimits[section.key] = section.maxAdjunctSlides;\n\t\t\t}\n\t\t\treturn limits;\n\t\t}, {}),\n\t};\n\n\tconst ordering = projectFile.sections.reduce((ordering, section, index) => {\n\t\tordering[section.key] = index + 1;\n\t\tlet slideIndex = 0;\n\t\tfor (const slide of section.slides || []) {\n\t\t\tslideIndex++;\n\t\t\tordering[`${section.key}/${slide.key}`] = slideIndex;\n\t\t}\n\t\treturn ordering;\n\t}, {});\n\n\tconst tags = projectFile.sections.reduce((tags, section) => {\n\t\ttags[section.key] = section.tags || [];\n\t\tfor (const slide of section.slides || []) {\n\t\t\ttags[`${section.key}/${slide.key}`] = slide.tags || [];\n\t\t}\n\t\treturn tags;\n\t}, {});\n\n\t// Add config for the Welcome slide here - it's namespaced in\n\t// the project.yaml under the \"welcome\" key\n\tif (projectFile.welcome) {\n\t\tif (projectFile.welcome.tags) {\n\t\t\t// It's convention to use an empty string for the\n\t\t\t// Welcome slide's key\n\t\t\ttags[\"\"] = projectFile.welcome.tags || [];\n\t\t}\n\t}\n\n\tconst manifest = new ManifestJSONModel({\n\t\tcommon: projectFile.common,\n\t\tfeeds: projectFile.feeds,\n\t\thooks: projectFile.hooks,\n\t\tfixtures: projectFile.fixtures,\n\t\ttitles,\n\t\ttemplates,\n\t\tordering,\n\t\tlimits,\n\t\ttags,\n\t\tkey: projectFile.key,\n\t});\n\n\tif (projectFile.content_editors) {\n\t\tmanifest.content_editors = projectFile.content_editors;\n\t}\n\n\tif (projectFile.screenshotpreferences) {\n\t\tmanifest.screenshotpreferences = projectFile.screenshotpreferences;\n\t}\n\n\tif (projectFile.pdfpreferences) {\n\t\tmanifest.pdfpreferences = projectFile.pdfpreferences;\n\t}\n\n\tif (projectFile.persistentcontext) {\n\t\tmanifest.persistentcontext = projectFile.persistentcontext;\n\t}\n\n\tif (projectFile.maintainer) {\n\t\tmanifest.maintainer = projectFile.maintainer;\n\t}\n\n\tif (projectFile.dimensions) {\n\t\tconst { dimensions } = projectFile;\n\n\t\tif (Array.isArray(dimensions)) {\n\t\t\tconst screen = dimensions.filter((d) => d.name === \"Screen\");\n\t\t\tif (!screen.length || screen.length > 1) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t\"Dimensions must contain one value named 'Screen' in project.yaml\",\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\tmanifest.dimensions = dimensions;\n\t}\n\n\tif (projectFile.has_editable_share_support) {\n\t\tmanifest.has_editable_share_support =\n\t\t\tprojectFile.has_editable_share_support;\n\t}\n\n\tif (projectFile.has_signing_support) {\n\t\tmanifest.has_signing_support = projectFile.has_signing_support;\n\t}\n\n\tif (projectFile.point_in_time_share_policy) {\n\t\tmanifest.point_in_time_share_policy =\n\t\t\tprojectFile.point_in_time_share_policy;\n\t}\n\n\tif (projectFile.notify_salesperson_after_feeds_fetched) {\n\t\tmanifest.notify_salesperson_after_feeds_fetched =\n\t\t\tprojectFile.notify_salesperson_after_feeds_fetched;\n\t}\n\n\tif (projectFile.require_verification) {\n\t\tmanifest.require_verification = projectFile.require_verification;\n\t}\n\n\tif (projectFile.app_settings) {\n\t\tmanifest.app_settings = {\n\t\t\t...manifest.app_settings,\n\t\t\t...projectFile.app_settings,\n\t\t};\n\t}\n\n\tif (projectFile.requires_user_connectivity) {\n\t\tmanifest.requires_user_connectivity =\n\t\t\tprojectFile.requires_user_connectivity;\n\t}\n\n\t// For all new decks going forward, this should be set to true.\n\t// This means we validate that a fieldset field has a value. Before\n\t// this change, it was possible to save with a required field unfilled.\n\t// This just keeps backwards compatability.\n\tmanifest.app_settings.fieldsets.enforce_required = false;\n\n\treturn manifest;\n};\n\nManifestJSONModel.canBeEmpty = true;\n\nregister(\"ManifestJSONModel\", ManifestJSONModel);\n"],"mappings":"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","ignoreList":[]}
@@ -24,7 +24,8 @@ var PackModel = exports.PackModel = _base.BaseModel.extend(/** @lends models.Pac
24
24
  created_date: "date",
25
25
  modified_date: "date",
26
26
  hash_digest: "string",
27
- hash_algorithm: "string"
27
+ hash_algorithm: "string",
28
+ root_url: "string"
28
29
  },
29
30
  /**
30
31
  * @property {collections.AssetCollection} asset_set
@@ -1 +1 @@
1
- {"version":3,"file":"pack.js","names":["require","_base","_stateRegister","PackModel","exports","BaseModel","extend","modelName","props","created_date","modified_date","hash_digest","hash_algorithm","collections","asset_set","url","get","_url","prototype","call","concat","urlRoot","register"],"sources":["../../src/models/pack.js"],"sourcesContent":["import \"../collections/assets.js\";\n\nimport { BaseModel } from \"./base.js\";\nimport { register } from \"../state-register.js\";\n\n/**\n * @constructor\n * @alias models.PackModel\n * @extends models.BaseModel\n */\nexport const PackModel = BaseModel.extend(\n\t/** @lends models.PackModel# */ {\n\t\tmodelName: \"packs\",\n\n\t\t/**\n\t\t * @property {date} created_date\n\t\t * @property {date} modified_date\n\t\t * @property {string} hash_digest\n\t\t * @property {string} hash_algorithm\n\t\t */\n\t\tprops: {\n\t\t\tcreated_date: \"date\",\n\t\t\tmodified_date: \"date\",\n\t\t\thash_digest: \"string\",\n\t\t\thash_algorithm: \"string\",\n\t\t},\n\n\t\t/**\n\t\t * @property {collections.AssetCollection} asset_set\n\t\t */\n\t\tcollections: {\n\t\t\tasset_set: \"AssetCollection\",\n\t\t},\n\n\t\turl() {\n\t\t\tif (this.get(\"id\") || this._url) {\n\t\t\t\treturn BaseModel.prototype.url.call(this);\n\t\t\t}\n\t\t\treturn `${this.urlRoot()}empty/`;\n\t\t},\n\t},\n);\n\nregister(\"PackModel\", PackModel);\n"],"mappings":";;;;;;AAAAA,OAAA;AAEA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AAEA;AACA;AACA;AACA;AACA;AACO,IAAMG,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAGE,eAAS,CAACC,MAAM,CACxC,+BAAgC;EAC/BC,SAAS,EAAE,OAAO;EAElB;AACF;AACA;AACA;AACA;AACA;EACEC,KAAK,EAAE;IACNC,YAAY,EAAE,MAAM;IACpBC,aAAa,EAAE,MAAM;IACrBC,WAAW,EAAE,QAAQ;IACrBC,cAAc,EAAE;EACjB,CAAC;EAED;AACF;AACA;EACEC,WAAW,EAAE;IACZC,SAAS,EAAE;EACZ,CAAC;EAEDC,GAAG,WAAHA,GAAGA,CAAA,EAAG;IACL,IAAI,IAAI,CAACC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAACC,IAAI,EAAE;MAChC,OAAOZ,eAAS,CAACa,SAAS,CAACH,GAAG,CAACI,IAAI,CAAC,IAAI,CAAC;IAC1C;IACA,UAAAC,MAAA,CAAU,IAAI,CAACC,OAAO,CAAC,CAAC;EACzB;AACD,CACD,CAAC;AAED,IAAAC,uBAAQ,EAAC,WAAW,EAAEnB,SAAS,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"pack.js","names":["require","_base","_stateRegister","PackModel","exports","BaseModel","extend","modelName","props","created_date","modified_date","hash_digest","hash_algorithm","root_url","collections","asset_set","url","get","_url","prototype","call","concat","urlRoot","register"],"sources":["../../src/models/pack.js"],"sourcesContent":["import \"../collections/assets.js\";\n\nimport { BaseModel } from \"./base.js\";\nimport { register } from \"../state-register.js\";\n\n/**\n * @constructor\n * @alias models.PackModel\n * @extends models.BaseModel\n */\nexport const PackModel = BaseModel.extend(\n\t/** @lends models.PackModel# */ {\n\t\tmodelName: \"packs\",\n\n\t\t/**\n\t\t * @property {date} created_date\n\t\t * @property {date} modified_date\n\t\t * @property {string} hash_digest\n\t\t * @property {string} hash_algorithm\n\t\t */\n\t\tprops: {\n\t\t\tcreated_date: \"date\",\n\t\t\tmodified_date: \"date\",\n\t\t\thash_digest: \"string\",\n\t\t\thash_algorithm: \"string\",\n\t\t\troot_url: \"string\",\n\t\t},\n\n\t\t/**\n\t\t * @property {collections.AssetCollection} asset_set\n\t\t */\n\t\tcollections: {\n\t\t\tasset_set: \"AssetCollection\",\n\t\t},\n\n\t\turl() {\n\t\t\tif (this.get(\"id\") || this._url) {\n\t\t\t\treturn BaseModel.prototype.url.call(this);\n\t\t\t}\n\t\t\treturn `${this.urlRoot()}empty/`;\n\t\t},\n\t},\n);\n\nregister(\"PackModel\", PackModel);\n"],"mappings":";;;;;;AAAAA,OAAA;AAEA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AAEA;AACA;AACA;AACA;AACA;AACO,IAAMG,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAGE,eAAS,CAACC,MAAM,CACxC,+BAAgC;EAC/BC,SAAS,EAAE,OAAO;EAElB;AACF;AACA;AACA;AACA;AACA;EACEC,KAAK,EAAE;IACNC,YAAY,EAAE,MAAM;IACpBC,aAAa,EAAE,MAAM;IACrBC,WAAW,EAAE,QAAQ;IACrBC,cAAc,EAAE,QAAQ;IACxBC,QAAQ,EAAE;EACX,CAAC;EAED;AACF;AACA;EACEC,WAAW,EAAE;IACZC,SAAS,EAAE;EACZ,CAAC;EAEDC,GAAG,WAAHA,GAAGA,CAAA,EAAG;IACL,IAAI,IAAI,CAACC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAACC,IAAI,EAAE;MAChC,OAAOb,eAAS,CAACc,SAAS,CAACH,GAAG,CAACI,IAAI,CAAC,IAAI,CAAC;IAC1C;IACA,UAAAC,MAAA,CAAU,IAAI,CAACC,OAAO,CAAC,CAAC;EACzB;AACD,CACD,CAAC;AAED,IAAAC,uBAAQ,EAAC,WAAW,EAAEpB,SAAS,CAAC","ignoreList":[]}
@@ -6,7 +6,7 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/
6
6
  var _api = require("sp-test/api");
7
7
  it("should remove large base64 strings from context when saving", /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee() {
8
8
  var SnapshotModel, smallBase64, largeBase64, snapshot;
9
- return _regenerator.default.wrap(function _callee$(_context) {
9
+ return _regenerator.default.wrap(function (_context) {
10
10
  while (1) switch (_context.prev = _context.next) {
11
11
  case 0:
12
12
  SnapshotModel = (0, _api.G)("SnapshotModel");
@@ -35,7 +35,7 @@ it("should remove large base64 strings from context when saving", /*#__PURE__*/(
35
35
  arr: [smallBase64, "", 1, "foo"]
36
36
  }
37
37
  });
38
- case 5:
38
+ case 1:
39
39
  case "end":
40
40
  return _context.stop();
41
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot.spec.js","names":["_api","require","it","_asyncToGenerator2","default","_regenerator","mark","_callee","SnapshotModel","smallBase64","largeBase64","snapshot","wrap","_callee$","_context","prev","next","G","Array","fill","join","context","number","nested","skip","normal","small","large","arr","expect","JSON","parse","toServer","toEqual","stop"],"sources":["../../src/models/snapshot.spec.js"],"sourcesContent":["import { G } from \"sp-test/api\";\n\nit(\"should remove large base64 strings from context when saving\", async () => {\n\tconst SnapshotModel = G(\"SnapshotModel\");\n\tconst smallBase64 = \"data:image/gif;base64,abcdefghhikl\";\n\tconst largeBase64 = smallBase64 + new Array(50_000).fill(\"a\").join(\"\");\n\n\tconst snapshot = new SnapshotModel({\n\t\tcontext: {\n\t\t\tnumber: 1,\n\t\t\tnested: {\n\t\t\t\tskip: null,\n\t\t\t\tnormal: \"hello\",\n\t\t\t\tsmall: smallBase64,\n\t\t\t\tlarge: largeBase64,\n\t\t\t\tarr: [smallBase64, largeBase64, 1, \"foo\"],\n\t\t\t},\n\t\t},\n\t});\n\n\texpect(JSON.parse(snapshot.toServer().context)).toEqual({\n\t\tnumber: 1,\n\t\tnested: {\n\t\t\tskip: null,\n\t\t\tnormal: \"hello\",\n\t\t\tsmall: smallBase64, // Small ones are ok\n\t\t\tlarge: \"\",\n\t\t\tarr: [smallBase64, \"\", 1, \"foo\"],\n\t\t},\n\t});\n});\n"],"mappings":";;;;;AAAA,IAAAA,IAAA,GAAAC,OAAA;AAEAC,EAAE,CAAC,6DAA6D,mBAAAC,kBAAA,CAAAC,OAAA,eAAAC,YAAA,CAAAD,OAAA,CAAAE,IAAA,CAAE,SAAAC,QAAA;EAAA,IAAAC,aAAA,EAAAC,WAAA,EAAAC,WAAA,EAAAC,QAAA;EAAA,OAAAN,YAAA,CAAAD,OAAA,CAAAQ,IAAA,UAAAC,SAAAC,QAAA;IAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;MAAA;QAC3DR,aAAa,GAAG,IAAAS,MAAC,EAAC,eAAe,CAAC;QAClCR,WAAW,GAAG,oCAAoC;QAClDC,WAAW,GAAGD,WAAW,GAAG,IAAIS,KAAK,CAAC,KAAM,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC,CAACC,IAAI,CAAC,EAAE,CAAC;QAEhET,QAAQ,GAAG,IAAIH,aAAa,CAAC;UAClCa,OAAO,EAAE;YACRC,MAAM,EAAE,CAAC;YACTC,MAAM,EAAE;cACPC,IAAI,EAAE,IAAI;cACVC,MAAM,EAAE,OAAO;cACfC,KAAK,EAAEjB,WAAW;cAClBkB,KAAK,EAAEjB,WAAW;cAClBkB,GAAG,EAAE,CAACnB,WAAW,EAAEC,WAAW,EAAE,CAAC,EAAE,KAAK;YACzC;UACD;QACD,CAAC,CAAC;QAEFmB,MAAM,CAACC,IAAI,CAACC,KAAK,CAACpB,QAAQ,CAACqB,QAAQ,CAAC,CAAC,CAACX,OAAO,CAAC,CAAC,CAACY,OAAO,CAAC;UACvDX,MAAM,EAAE,CAAC;UACTC,MAAM,EAAE;YACPC,IAAI,EAAE,IAAI;YACVC,MAAM,EAAE,OAAO;YACfC,KAAK,EAAEjB,WAAW;YAAE;YACpBkB,KAAK,EAAE,EAAE;YACTC,GAAG,EAAE,CAACnB,WAAW,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK;UAChC;QACD,CAAC,CAAC;MAAC;MAAA;QAAA,OAAAK,QAAA,CAAAoB,IAAA;IAAA;EAAA,GAAA3B,OAAA;AAAA,CACH,GAAC","ignoreList":[]}
1
+ {"version":3,"file":"snapshot.spec.js","names":["_api","require","it","_asyncToGenerator2","default","_regenerator","mark","_callee","SnapshotModel","smallBase64","largeBase64","snapshot","wrap","_context","prev","next","G","Array","fill","join","context","number","nested","skip","normal","small","large","arr","expect","JSON","parse","toServer","toEqual","stop"],"sources":["../../src/models/snapshot.spec.js"],"sourcesContent":["import { G } from \"sp-test/api\";\n\nit(\"should remove large base64 strings from context when saving\", async () => {\n\tconst SnapshotModel = G(\"SnapshotModel\");\n\tconst smallBase64 = \"data:image/gif;base64,abcdefghhikl\";\n\tconst largeBase64 = smallBase64 + new Array(50_000).fill(\"a\").join(\"\");\n\n\tconst snapshot = new SnapshotModel({\n\t\tcontext: {\n\t\t\tnumber: 1,\n\t\t\tnested: {\n\t\t\t\tskip: null,\n\t\t\t\tnormal: \"hello\",\n\t\t\t\tsmall: smallBase64,\n\t\t\t\tlarge: largeBase64,\n\t\t\t\tarr: [smallBase64, largeBase64, 1, \"foo\"],\n\t\t\t},\n\t\t},\n\t});\n\n\texpect(JSON.parse(snapshot.toServer().context)).toEqual({\n\t\tnumber: 1,\n\t\tnested: {\n\t\t\tskip: null,\n\t\t\tnormal: \"hello\",\n\t\t\tsmall: smallBase64, // Small ones are ok\n\t\t\tlarge: \"\",\n\t\t\tarr: [smallBase64, \"\", 1, \"foo\"],\n\t\t},\n\t});\n});\n"],"mappings":";;;;;AAAA,IAAAA,IAAA,GAAAC,OAAA;AAEAC,EAAE,CAAC,6DAA6D,mBAAAC,kBAAA,CAAAC,OAAA,eAAAC,YAAA,CAAAD,OAAA,CAAAE,IAAA,CAAE,SAAAC,QAAA;EAAA,IAAAC,aAAA,EAAAC,WAAA,EAAAC,WAAA,EAAAC,QAAA;EAAA,OAAAN,YAAA,CAAAD,OAAA,CAAAQ,IAAA,WAAAC,QAAA;IAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;MAAA;QAC3DP,aAAa,GAAG,IAAAQ,MAAC,EAAC,eAAe,CAAC;QAClCP,WAAW,GAAG,oCAAoC;QAClDC,WAAW,GAAGD,WAAW,GAAG,IAAIQ,KAAK,CAAC,KAAM,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC,CAACC,IAAI,CAAC,EAAE,CAAC;QAEhER,QAAQ,GAAG,IAAIH,aAAa,CAAC;UAClCY,OAAO,EAAE;YACRC,MAAM,EAAE,CAAC;YACTC,MAAM,EAAE;cACPC,IAAI,EAAE,IAAI;cACVC,MAAM,EAAE,OAAO;cACfC,KAAK,EAAEhB,WAAW;cAClBiB,KAAK,EAAEhB,WAAW;cAClBiB,GAAG,EAAE,CAAClB,WAAW,EAAEC,WAAW,EAAE,CAAC,EAAE,KAAK;YACzC;UACD;QACD,CAAC,CAAC;QAEFkB,MAAM,CAACC,IAAI,CAACC,KAAK,CAACnB,QAAQ,CAACoB,QAAQ,CAAC,CAAC,CAACX,OAAO,CAAC,CAAC,CAACY,OAAO,CAAC;UACvDX,MAAM,EAAE,CAAC;UACTC,MAAM,EAAE;YACPC,IAAI,EAAE,IAAI;YACVC,MAAM,EAAE,OAAO;YACfC,KAAK,EAAEhB,WAAW;YAAE;YACpBiB,KAAK,EAAE,EAAE;YACTC,GAAG,EAAE,CAAClB,WAAW,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK;UAChC;QACD,CAAC,CAAC;MAAC;MAAA;QAAA,OAAAI,QAAA,CAAAoB,IAAA;IAAA;EAAA,GAAA1B,OAAA;AAAA,CACH,GAAC","ignoreList":[]}
@@ -76,20 +76,20 @@ var TemplateModel = exports.TemplateModel = _base.BaseModel.extend(/** @lends mo
76
76
  var _this = this;
77
77
  return (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee() {
78
78
  var formData, image, _i, _arr, field, _i2, _arr2, _field, cmsvalkeys, context;
79
- return _regenerator.default.wrap(function _callee$(_context) {
79
+ return _regenerator.default.wrap(function (_context) {
80
80
  while (1) switch (_context.prev = _context.next) {
81
81
  case 0:
82
82
  formData = new FormData();
83
83
  if (!_this.image_original) {
84
- _context.next = 6;
84
+ _context.next = 2;
85
85
  break;
86
86
  }
87
- _context.next = 4;
87
+ _context.next = 1;
88
88
  return _superagentBluebirdPromise.default.get(_this.image_original).responseType("blob");
89
- case 4:
89
+ case 1:
90
90
  image = _context.sent;
91
91
  formData.append("image_original", image.body, "image.png");
92
- case 6:
92
+ case 2:
93
93
  for (_i = 0, _arr = ["title", "key", "scope", "sequence"]; _i < _arr.length; _i++) {
94
94
  field = _arr[_i];
95
95
  if (_this[field]) {
@@ -107,24 +107,24 @@ var TemplateModel = exports.TemplateModel = _base.BaseModel.extend(/** @lends mo
107
107
  // is in the next request.
108
108
  cmsvalkeys = _this.cmsvalkey_set;
109
109
  context = _this.context;
110
- _context.next = 12;
110
+ _context.next = 3;
111
111
  return _superagentBluebirdPromise.default.post(_this.url()).send(formData).set(_auth.Auth.headers).then(function (response) {
112
112
  Object.keys(response.body).forEach(function (key) {
113
113
  _this.set(key, response.body[key]);
114
114
  });
115
115
  return response;
116
116
  });
117
- case 12:
118
- _context.next = 14;
117
+ case 3:
118
+ _context.next = 4;
119
119
  return _this.save({
120
120
  cmsvalkey_set: cmsvalkeys,
121
121
  context: context
122
122
  }, {
123
123
  patch: true
124
124
  });
125
- case 14:
125
+ case 4:
126
126
  return _context.abrupt("return", _context.sent);
127
- case 15:
127
+ case 5:
128
128
  case "end":
129
129
  return _context.stop();
130
130
  }
@@ -1 +1 @@
1
- {"version":3,"file":"template.js","names":["require","_auth","_base","_superagentBluebirdPromise","_interopRequireDefault","_stateRegister","TemplateModel","exports","BaseModel","extend","modelName","props","created_date","modified_date","namespaced_key","title","key","scope","type","default","values","sequence","context","image_original","image_128","image_256","image_512","cmsvalkey_set","available_in_presos","children","index_asset","deckversion","original_template","saveWithImage","_this","_asyncToGenerator2","_regenerator","mark","_callee","formData","image","_i","_arr","field","_i2","_arr2","_field","cmsvalkeys","wrap","_callee$","_context","prev","next","FormData","SuperAgentRequest","get","responseType","sent","append","body","length","url","post","send","set","Auth","headers","then","response","Object","keys","forEach","save","patch","abrupt","stop","register"],"sources":["../../src/models/template.js"],"sourcesContent":["import \"./deck-version.js\";\nimport \"./asset.js\";\n\nimport { Auth } from \"../auth.js\";\nimport { BaseModel } from \"./base.js\";\nimport SuperAgentRequest from \"superagent-bluebird-promise\";\nimport { register } from \"../state-register.js\";\n\n/**\n * @constructor\n * @alias models.TemplateModel\n * @extends models.BaseModel\n */\nexport const TemplateModel = BaseModel.extend(\n\t/** @lends models.TemplateModel# */ {\n\t\tmodelName: \"templates\",\n\n\t\t/**\n\t\t * @property {date} created_date\n\t\t * @property {date} modified_date\n\t\t * @property {string} namespaced_key\n\t\t * @property {string} title\n\t\t * @property {string} key\n\t\t * @property {scope} scope\n\t\t * @property {number} sequence\n\t\t * @property {object} context\n\t\t * @property {string} image_original\n\t\t * @property {string} image_128\n\t\t * @property {string} image_256\n\t\t * @property {string} image_512\n\t\t * @property {string[]} cmsvalkey_set\n\t\t * @property {boolean} available_in_presos\n\t\t */\n\t\tprops: {\n\t\t\tcreated_date: \"date\",\n\t\t\tmodified_date: \"date\",\n\t\t\tnamespaced_key: \"string\",\n\t\t\ttitle: \"string\",\n\t\t\tkey: \"string\",\n\t\t\tscope: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdefault: \"global\",\n\t\t\t\tvalues: [\"global\", \"team\", \"user\"],\n\t\t\t},\n\t\t\tsequence: \"number\",\n\t\t\tcontext: {\n\t\t\t\ttype: \"object\",\n\t\t\t\tdefault: () => {},\n\t\t\t},\n\t\t\timage_original: \"string\",\n\t\t\timage_128: \"string\",\n\t\t\timage_256: \"string\",\n\t\t\timage_512: \"string\",\n\t\t\tcmsvalkey_set: \"array\",\n\t\t\tavailable_in_presos: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: true,\n\t\t\t},\n\t\t},\n\n\t\t/**\n\t\t * @property {models.AssetModel} index_asset\n\t\t * @property {models.DeckVersionModel} deckversion\n\t\t * @property {models.Template} original_template\n\t\t */\n\t\tchildren: {\n\t\t\tindex_asset: \"AssetModel\",\n\t\t\tdeckversion: \"DeckVersionModel\",\n\t\t\toriginal_template: \"TemplateModel\",\n\t\t},\n\n\t\tasync saveWithImage() {\n\t\t\tconst formData = new FormData();\n\n\t\t\tif (this.image_original) {\n\t\t\t\tconst image = await SuperAgentRequest.get(\n\t\t\t\t\tthis.image_original,\n\t\t\t\t).responseType(\"blob\");\n\n\t\t\t\tformData.append(\"image_original\", image.body, \"image.png\");\n\t\t\t}\n\n\t\t\tfor (const field of [\"title\", \"key\", \"scope\", \"sequence\"]) {\n\t\t\t\tif (this[field]) {\n\t\t\t\t\tformData.append(field, this[field]);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor (const field of [\"original_template\", \"deckversion\"]) {\n\t\t\t\tif (this[field]) {\n\t\t\t\t\tformData.append(field, this[field].url());\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Set these here, because after the save these will be set to whatever the return value\n\t\t\t// is in the next request.\n\t\t\tconst cmsvalkeys = this.cmsvalkey_set;\n\t\t\tconst context = this.context;\n\n\t\t\tawait SuperAgentRequest.post(this.url())\n\t\t\t\t.send(formData)\n\t\t\t\t.set(Auth.headers)\n\t\t\t\t.then((response) => {\n\t\t\t\t\tObject.keys(response.body).forEach((key) => {\n\t\t\t\t\t\tthis.set(key, response.body[key]);\n\t\t\t\t\t});\n\t\t\t\t\treturn response;\n\t\t\t\t});\n\n\t\t\t// HACK: Can't send an array (or can't figure out how to do it!) to django,\n\t\t\t// so we send it in a seperate patch.\n\t\t\treturn await this.save(\n\t\t\t\t{\n\t\t\t\t\tcmsvalkey_set: cmsvalkeys,\n\t\t\t\t\tcontext,\n\t\t\t\t},\n\t\t\t\t{ patch: true },\n\t\t\t);\n\t\t},\n\t},\n);\n\nregister(\"TemplateModel\", TemplateModel);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"template.js","names":["require","_auth","_base","_superagentBluebirdPromise","_interopRequireDefault","_stateRegister","TemplateModel","exports","BaseModel","extend","modelName","props","created_date","modified_date","namespaced_key","title","key","scope","type","default","values","sequence","context","image_original","image_128","image_256","image_512","cmsvalkey_set","available_in_presos","children","index_asset","deckversion","original_template","saveWithImage","_this","_asyncToGenerator2","_regenerator","mark","_callee","formData","image","_i","_arr","field","_i2","_arr2","_field","cmsvalkeys","wrap","_context","prev","next","FormData","SuperAgentRequest","get","responseType","sent","append","body","length","url","post","send","set","Auth","headers","then","response","Object","keys","forEach","save","patch","abrupt","stop","register"],"sources":["../../src/models/template.js"],"sourcesContent":["import \"./deck-version.js\";\nimport \"./asset.js\";\n\nimport { Auth } from \"../auth.js\";\nimport { BaseModel } from \"./base.js\";\nimport SuperAgentRequest from \"superagent-bluebird-promise\";\nimport { register } from \"../state-register.js\";\n\n/**\n * @constructor\n * @alias models.TemplateModel\n * @extends models.BaseModel\n */\nexport const TemplateModel = BaseModel.extend(\n\t/** @lends models.TemplateModel# */ {\n\t\tmodelName: \"templates\",\n\n\t\t/**\n\t\t * @property {date} created_date\n\t\t * @property {date} modified_date\n\t\t * @property {string} namespaced_key\n\t\t * @property {string} title\n\t\t * @property {string} key\n\t\t * @property {scope} scope\n\t\t * @property {number} sequence\n\t\t * @property {object} context\n\t\t * @property {string} image_original\n\t\t * @property {string} image_128\n\t\t * @property {string} image_256\n\t\t * @property {string} image_512\n\t\t * @property {string[]} cmsvalkey_set\n\t\t * @property {boolean} available_in_presos\n\t\t */\n\t\tprops: {\n\t\t\tcreated_date: \"date\",\n\t\t\tmodified_date: \"date\",\n\t\t\tnamespaced_key: \"string\",\n\t\t\ttitle: \"string\",\n\t\t\tkey: \"string\",\n\t\t\tscope: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdefault: \"global\",\n\t\t\t\tvalues: [\"global\", \"team\", \"user\"],\n\t\t\t},\n\t\t\tsequence: \"number\",\n\t\t\tcontext: {\n\t\t\t\ttype: \"object\",\n\t\t\t\tdefault: () => {},\n\t\t\t},\n\t\t\timage_original: \"string\",\n\t\t\timage_128: \"string\",\n\t\t\timage_256: \"string\",\n\t\t\timage_512: \"string\",\n\t\t\tcmsvalkey_set: \"array\",\n\t\t\tavailable_in_presos: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: true,\n\t\t\t},\n\t\t},\n\n\t\t/**\n\t\t * @property {models.AssetModel} index_asset\n\t\t * @property {models.DeckVersionModel} deckversion\n\t\t * @property {models.Template} original_template\n\t\t */\n\t\tchildren: {\n\t\t\tindex_asset: \"AssetModel\",\n\t\t\tdeckversion: \"DeckVersionModel\",\n\t\t\toriginal_template: \"TemplateModel\",\n\t\t},\n\n\t\tasync saveWithImage() {\n\t\t\tconst formData = new FormData();\n\n\t\t\tif (this.image_original) {\n\t\t\t\tconst image = await SuperAgentRequest.get(\n\t\t\t\t\tthis.image_original,\n\t\t\t\t).responseType(\"blob\");\n\n\t\t\t\tformData.append(\"image_original\", image.body, \"image.png\");\n\t\t\t}\n\n\t\t\tfor (const field of [\"title\", \"key\", \"scope\", \"sequence\"]) {\n\t\t\t\tif (this[field]) {\n\t\t\t\t\tformData.append(field, this[field]);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor (const field of [\"original_template\", \"deckversion\"]) {\n\t\t\t\tif (this[field]) {\n\t\t\t\t\tformData.append(field, this[field].url());\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Set these here, because after the save these will be set to whatever the return value\n\t\t\t// is in the next request.\n\t\t\tconst cmsvalkeys = this.cmsvalkey_set;\n\t\t\tconst context = this.context;\n\n\t\t\tawait SuperAgentRequest.post(this.url())\n\t\t\t\t.send(formData)\n\t\t\t\t.set(Auth.headers)\n\t\t\t\t.then((response) => {\n\t\t\t\t\tObject.keys(response.body).forEach((key) => {\n\t\t\t\t\t\tthis.set(key, response.body[key]);\n\t\t\t\t\t});\n\t\t\t\t\treturn response;\n\t\t\t\t});\n\n\t\t\t// HACK: Can't send an array (or can't figure out how to do it!) to django,\n\t\t\t// so we send it in a seperate patch.\n\t\t\treturn await this.save(\n\t\t\t\t{\n\t\t\t\t\tcmsvalkey_set: cmsvalkeys,\n\t\t\t\t\tcontext,\n\t\t\t\t},\n\t\t\t\t{ patch: true },\n\t\t\t);\n\t\t},\n\t},\n);\n\nregister(\"TemplateModel\", TemplateModel);\n"],"mappings":"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","ignoreList":[]}
@@ -56,7 +56,7 @@ describe("TimingLogModel", function () {
56
56
  describe.each([[undefined, "viewing"], ["present", "viewing"], ["view", "viewing"], ["prep", "preparing"], ["review", "reviewing"]])("{ mode: \"%s\" }", function (mode, modeType) {
57
57
  it("should show '".concat(modeType, "' when mode is ").concat(mode), /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee() {
58
58
  var TimingLogModel, timingLog, actual, expected;
59
- return _regenerator.default.wrap(function _callee$(_context) {
59
+ return _regenerator.default.wrap(function (_context) {
60
60
  while (1) switch (_context.prev = _context.next) {
61
61
  case 0:
62
62
  TimingLogModel = (0, _api.G)("TimingLogModel");
@@ -76,7 +76,7 @@ describe("TimingLogModel", function () {
76
76
  actual = timingLog.toCompactFormat();
77
77
  expected = (0, _dedentJs.default)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n\t\t\t\t\t\t/api/users/9/ ", " /api/appointments/20/\n\t\t\t\t\t\t2016-10-27 00:42:47.044000Z\n\n\n\t\t\t\t"], ["\n\t\t\t\t\t\t/api/users/9/ ", " /api/appointments/20/\n\t\t\t\t\t\t2016-10-27 00:42:47.044000Z\\n\\n\n\t\t\t\t"])), modeType);
78
78
  expect(actual).toEqual(expected);
79
- case 6:
79
+ case 1:
80
80
  case "end":
81
81
  return _context.stop();
82
82
  }
@@ -1 +1 @@
1
- {"version":3,"file":"timing-log.spec.js","names":["_api","require","_timingLog","_dedentJs","_interopRequireDefault","_moment","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_templateObject6","_templateObject7","describe","events","path","timestamp","is_unfocused","it","TimingLogModel","G","timingLog","currentTime","addEvent","expect","toEqual","appointment","id","user","begin","code","toCompactFormat","assumedCode","dedent","_taggedTemplateLiteral2","default","each","undefined","mode","modeType","concat","_asyncToGenerator2","_regenerator","mark","_callee","actual","expected","wrap","_callee$","_context","prev","next","stop","end","provisional","attendee_set","remote_attendee_set","modifiedEvents","moment"],"sources":["../../src/models/timing-log.spec.js"],"sourcesContent":["import { G } from \"sp-test/api\";\nimport { TimingLogModel } from \"./timing-log.js\";\nimport dedent from \"dedent-js\";\nimport moment from \"moment\";\n\ndescribe(\"TimingLogModel\", () => {\n\tconst events = [\n\t\t{\n\t\t\tpath: \"/api/deckversions/4/\",\n\t\t\ttimestamp: \"2016-10-27T00:42:47.045186Z\",\n\t\t\tis_unfocused: false,\n\t\t},\n\t\t{\n\t\t\tpath: \"/api/sections/28/\",\n\t\t\ttimestamp: \"2016-10-27T00:43:59.430102Z\",\n\t\t\tis_unfocused: false,\n\t\t},\n\t\t{\n\t\t\tpath: \"/api/slides/380/\",\n\t\t\ttimestamp: \"2016-10-27T00:45:01.038661Z\",\n\t\t\tis_unfocused: false,\n\t\t},\n\t\t{\n\t\t\tpath: \"/api/slides/378/\",\n\t\t\ttimestamp: \"2016-10-27T00:45:13.495713Z\",\n\t\t\tis_unfocused: false,\n\t\t},\n\t];\n\n\tit(\"should create logs with a timestamp right now\", function () {\n\t\tconst TimingLogModel = G(\"TimingLogModel\");\n\t\tconst timingLog = new TimingLogModel();\n\t\tconst currentTime = \"2016-10-27T00:42:47.044135Z\";\n\t\ttimingLog.addEvent(\"/api/sections/1/\", currentTime);\n\n\t\t// Some precision in milliseconds is lost here\n\t\texpect(timingLog.events[0].timestamp).toEqual(\n\t\t\t\"2016-10-27T00:42:47.044000Z\",\n\t\t);\n\t\texpect(timingLog.events[0].path).toEqual(\"/api/sections/1/\");\n\t});\n\n\tit(\"should generate a timinglog compact format string\", function () {\n\t\tconst TimingLogModel = G(\"TimingLogModel\");\n\n\t\tconst timingLog = new TimingLogModel({\n\t\t\tappointment: { id: 20 },\n\t\t\tuser: { id: 9 },\n\t\t\tbegin: \"2016-10-27T00:42:47.044135Z\",\n\t\t});\n\n\t\ttimingLog.events = events;\n\n\t\tconst code = timingLog.toCompactFormat();\n\t\tconst assumedCode = dedent`\n\t\t\t\t/api/users/9/ viewing /api/appointments/20/\n\t\t\t\t2016-10-27 00:42:47.044000Z\n\t\t\t\t1ms /api/deckversions/4/\n\t\t\t\t72386ms /api/sections/28/\n\t\t\t\t133994ms /api/slides/380/\n\t\t\t\t146451ms /api/slides/378/\\n\n\t\t`;\n\n\t\texpect(code).toEqual(assumedCode);\n\t});\n\n\tdescribe.each([\n\t\t[undefined, \"viewing\"],\n\t\t[\"present\", \"viewing\"],\n\t\t[\"view\", \"viewing\"],\n\t\t[\"prep\", \"preparing\"],\n\t\t[\"review\", \"reviewing\"],\n\t])(`{ mode: \"%s\" }`, (mode, modeType) => {\n\t\tit(`should show '${modeType}' when mode is ${mode}`, async () => {\n\t\t\tconst TimingLogModel = G(\"TimingLogModel\");\n\n\t\t\tconst timingLog = new TimingLogModel({\n\t\t\t\tappointment: { id: 20 },\n\t\t\t\tuser: { id: 9 },\n\t\t\t\tbegin: \"2016-10-27T00:42:47.044135Z\",\n\t\t\t});\n\n\t\t\t// First test is checking the default value, so we just\n\t\t\t// don't add anything in that one case.\n\t\t\tif (mode) {\n\t\t\t\ttimingLog.mode = mode;\n\t\t\t}\n\n\t\t\tconst actual = timingLog.toCompactFormat();\n\t\t\tconst expected = dedent`\n\t\t\t\t\t\t/api/users/9/ ${modeType} /api/appointments/20/\n\t\t\t\t\t\t2016-10-27 00:42:47.044000Z\\n\\n\n\t\t\t\t`;\n\n\t\t\texpect(actual).toEqual(expected);\n\t\t});\n\t});\n\n\tit(\"should add an end date if specified\", function () {\n\t\tconst TimingLogModel = G(\"TimingLogModel\");\n\n\t\tconst timingLog = new TimingLogModel({\n\t\t\tappointment: { id: 20 },\n\t\t\tuser: { id: 9 },\n\t\t\tbegin: \"2016-10-27T00:42:47.044135Z\",\n\t\t\tend: \"2016-10-27T00:48:13.495713Z\",\n\t\t\tprovisional: false,\n\t\t});\n\n\t\ttimingLog.events = events;\n\n\t\tconst code = timingLog.toCompactFormat();\n\t\tconst assumedCode = dedent`\n\t\t\t/api/users/9/ viewing /api/appointments/20/\n\t\t\t2016-10-27 00:42:47.044000Z\n\t\t\t1ms /api/deckversions/4/\n\t\t\t72386ms /api/sections/28/\n\t\t\t133994ms /api/slides/380/\n\t\t\t146451ms /api/slides/378/\n\t\t\t2016-10-27 00:48:13.495000Z\\n\n\t\t`;\n\n\t\texpect(code).toEqual(assumedCode);\n\t});\n\n\tit(\"should use provisional if flag is set\", function () {\n\t\tconst timingLog = new TimingLogModel({\n\t\t\tappointment: { id: 20 },\n\t\t\tuser: { id: 9 },\n\t\t\tbegin: \"2016-10-27T00:42:47.044135Z\",\n\t\t\tend: \"2016-10-27T00:48:13.495713Z\",\n\t\t\tprovisional: true,\n\t\t});\n\n\t\ttimingLog.events = events;\n\n\t\tconst code = timingLog.toCompactFormat();\n\t\tconst assumedCode = dedent`\n\t\t\t/api/users/9/ viewing /api/appointments/20/\n\t\t\t2016-10-27 00:42:47.044000Z\n\t\t\t1ms /api/deckversions/4/\n\t\t\t72386ms /api/sections/28/\n\t\t\t133994ms /api/slides/380/\n\t\t\t146451ms /api/slides/378/\n\t\t\t2016-10-27 00:48:13.495000Z provisional\\n\n\t\t`;\n\n\t\texpect(code).toEqual(assumedCode);\n\t});\n\n\tit(\"should show attendees if set\", function () {\n\t\tconst timingLog = new TimingLogModel({\n\t\t\tappointment: { id: 20 },\n\t\t\tuser: { id: 9 },\n\t\t\tattendee_set: [{ id: 10 }],\n\t\t\tremote_attendee_set: [{ id: 11 }],\n\t\t\tbegin: \"2016-10-27T00:42:47.044135Z\",\n\t\t});\n\n\t\ttimingLog.events = events;\n\n\t\tconst code = timingLog.toCompactFormat();\n\t\tconst assumedCode = dedent`\n\t\t\t/api/users/9/ viewing /api/appointments/20/\n\t\t\t/api/users/10/ attending\n\t\t\t/api/users/11/ attending remotely\n\t\t\t2016-10-27 00:42:47.044000Z\n\t\t\t1ms /api/deckversions/4/\n\t\t\t72386ms /api/sections/28/\n\t\t\t133994ms /api/slides/380/\n\t\t\t146451ms /api/slides/378/\\n\n\t\t`;\n\n\t\texpect(code).toEqual(assumedCode);\n\t});\n\n\tit(\"should add unfocused time\", function () {\n\t\tconst timingLog = new TimingLogModel({\n\t\t\tappointment: { id: 20 },\n\t\t\tuser: { id: 9 },\n\t\t\tattendee_set: [{ id: 10 }],\n\t\t\tremote_attendee_set: [{ id: 11 }],\n\t\t\tbegin: \"2016-10-27T00:42:47.044135Z\",\n\t\t});\n\n\t\tconst modifiedEvents = [...events];\n\t\tmodifiedEvents[2].path = \"/api/sections/28/\";\n\t\tmodifiedEvents[2].is_unfocused = true;\n\n\t\ttimingLog.events = modifiedEvents;\n\n\t\tconst code = timingLog.toCompactFormat();\n\t\tconst assumedCode = dedent`\n\t\t\t/api/users/9/ viewing /api/appointments/20/\n\t\t\t/api/users/10/ attending\n\t\t\t/api/users/11/ attending remotely\n\t\t\t2016-10-27 00:42:47.044000Z\n\t\t\t1ms /api/deckversions/4/\n\t\t\t72386ms /api/sections/28/\n\t\t\t133994ms unfocused\n\t\t\t146451ms /api/slides/378/\\n\n\t\t`;\n\n\t\texpect(code).toEqual(assumedCode);\n\t});\n\n\tit(\"should remove an unfocused events if they are first\", () => {\n\t\tconst timingLog = new TimingLogModel({\n\t\t\tappointment: { id: 20 },\n\t\t\tuser: { id: 9 },\n\t\t\tattendee_set: [{ id: 10 }],\n\t\t\tremote_attendee_set: [{ id: 11 }],\n\t\t\tbegin: \"2016-10-27T00:42:47.044135Z\",\n\t\t});\n\n\t\ttimingLog.events = [\n\t\t\t{\n\t\t\t\tpath: \"/api/deckversions/4/\",\n\t\t\t\ttimestamp: \"2016-10-27T00:42:47.045186Z\",\n\t\t\t\tis_unfocused: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: \"/api/sections/28/\",\n\t\t\t\ttimestamp: \"2016-10-27T00:43:59.430102Z\",\n\t\t\t\tis_unfocused: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: \"/api/slides/380/\",\n\t\t\t\ttimestamp: \"2016-10-27T00:45:01.038661Z\",\n\t\t\t\tis_unfocused: false,\n\t\t\t},\n\t\t];\n\n\t\tconst code = timingLog.toCompactFormat();\n\t\tconst assumedCode = dedent`\n\t\t\t/api/users/9/ viewing /api/appointments/20/\n\t\t\t/api/users/10/ attending\n\t\t\t/api/users/11/ attending remotely\n\t\t\t2016-10-27 00:42:47.044000Z\n\t\t\t133994ms /api/slides/380/\\n\n\t\t`;\n\n\t\texpect(code).toEqual(assumedCode);\n\t});\n});\n\ndescribe(\".addEvent\", () => {\n\tit(\"should strip unfocused event if no previous event\", () => {\n\t\tconst timingLog = new TimingLogModel({\n\t\t\tappointment: { id: 20 },\n\t\t\tuser: { id: 9 },\n\t\t\tattendee_set: [{ id: 10 }],\n\t\t\tremote_attendee_set: [{ id: 11 }],\n\t\t\tbegin: \"2016-10-27T00:42:47.044135Z\",\n\t\t});\n\n\t\ttimingLog.addEvent(\"unfocused\", moment());\n\n\t\texpect(timingLog.events).toEqual([]);\n\t});\n\n\tit(\"unfocused event path should match previous real content\", () => {\n\t\tconst timingLog = new TimingLogModel({\n\t\t\tappointment: { id: 20 },\n\t\t\tuser: { id: 9 },\n\t\t\tattendee_set: [{ id: 10 }],\n\t\t\tremote_attendee_set: [{ id: 11 }],\n\t\t\tbegin: \"2016-10-27T00:42:47.044135Z\",\n\t\t});\n\n\t\ttimingLog.addEvent(\"/api/slides/380/\", \"2016-10-27T00:42:47.044135Z\");\n\t\ttimingLog.addEvent(\"unfocused\", \"2016-10-27T00:42:47.044135Z\");\n\n\t\texpect(timingLog.events[1]).toEqual({\n\t\t\tis_unfocused: true,\n\t\t\tpath: \"/api/slides/380/\",\n\t\t\ttimestamp: \"2016-10-27T00:42:47.044000Z\",\n\t\t});\n\t});\n});\n"],"mappings":";;;;;;AAAA,IAAAA,IAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,OAAA,GAAAD,sBAAA,CAAAH,OAAA;AAA4B,IAAAK,eAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAC,gBAAA;AAE5BC,QAAQ,CAAC,gBAAgB,EAAE,YAAM;EAChC,IAAMC,MAAM,GAAG,CACd;IACCC,IAAI,EAAE,sBAAsB;IAC5BC,SAAS,EAAE,6BAA6B;IACxCC,YAAY,EAAE;EACf,CAAC,EACD;IACCF,IAAI,EAAE,mBAAmB;IACzBC,SAAS,EAAE,6BAA6B;IACxCC,YAAY,EAAE;EACf,CAAC,EACD;IACCF,IAAI,EAAE,kBAAkB;IACxBC,SAAS,EAAE,6BAA6B;IACxCC,YAAY,EAAE;EACf,CAAC,EACD;IACCF,IAAI,EAAE,kBAAkB;IACxBC,SAAS,EAAE,6BAA6B;IACxCC,YAAY,EAAE;EACf,CAAC,CACD;EAEDC,EAAE,CAAC,+CAA+C,EAAE,YAAY;IAC/D,IAAMC,cAAc,GAAG,IAAAC,MAAC,EAAC,gBAAgB,CAAC;IAC1C,IAAMC,SAAS,GAAG,IAAIF,cAAc,CAAC,CAAC;IACtC,IAAMG,WAAW,GAAG,6BAA6B;IACjDD,SAAS,CAACE,QAAQ,CAAC,kBAAkB,EAAED,WAAW,CAAC;;IAEnD;IACAE,MAAM,CAACH,SAAS,CAACP,MAAM,CAAC,CAAC,CAAC,CAACE,SAAS,CAAC,CAACS,OAAO,CAC5C,6BACD,CAAC;IACDD,MAAM,CAACH,SAAS,CAACP,MAAM,CAAC,CAAC,CAAC,CAACC,IAAI,CAAC,CAACU,OAAO,CAAC,kBAAkB,CAAC;EAC7D,CAAC,CAAC;EAEFP,EAAE,CAAC,mDAAmD,EAAE,YAAY;IACnE,IAAMC,cAAc,GAAG,IAAAC,MAAC,EAAC,gBAAgB,CAAC;IAE1C,IAAMC,SAAS,GAAG,IAAIF,cAAc,CAAC;MACpCO,WAAW,EAAE;QAAEC,EAAE,EAAE;MAAG,CAAC;MACvBC,IAAI,EAAE;QAAED,EAAE,EAAE;MAAE,CAAC;MACfE,KAAK,EAAE;IACR,CAAC,CAAC;IAEFR,SAAS,CAACP,MAAM,GAAGA,MAAM;IAEzB,IAAMgB,IAAI,GAAGT,SAAS,CAACU,eAAe,CAAC,CAAC;IACxC,IAAMC,WAAW,OAAGC,iBAAM,EAAA3B,eAAA,KAAAA,eAAA,OAAA4B,uBAAA,CAAAC,OAAA,0eAOzB;IAEDX,MAAM,CAACM,IAAI,CAAC,CAACL,OAAO,CAACO,WAAW,CAAC;EAClC,CAAC,CAAC;EAEFnB,QAAQ,CAACuB,IAAI,CAAC,CACb,CAACC,SAAS,EAAE,SAAS,CAAC,EACtB,CAAC,SAAS,EAAE,SAAS,CAAC,EACtB,CAAC,MAAM,EAAE,SAAS,CAAC,EACnB,CAAC,MAAM,EAAE,WAAW,CAAC,EACrB,CAAC,QAAQ,EAAE,WAAW,CAAC,CACvB,CAAC,qBAAmB,UAACC,IAAI,EAAEC,QAAQ,EAAK;IACxCrB,EAAE,iBAAAsB,MAAA,CAAiBD,QAAQ,qBAAAC,MAAA,CAAkBF,IAAI,oBAAAG,kBAAA,CAAAN,OAAA,eAAAO,YAAA,CAAAP,OAAA,CAAAQ,IAAA,CAAI,SAAAC,QAAA;MAAA,IAAAzB,cAAA,EAAAE,SAAA,EAAAwB,MAAA,EAAAC,QAAA;MAAA,OAAAJ,YAAA,CAAAP,OAAA,CAAAY,IAAA,UAAAC,SAAAC,QAAA;QAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;UAAA;YAC9ChC,cAAc,GAAG,IAAAC,MAAC,EAAC,gBAAgB,CAAC;YAEpCC,SAAS,GAAG,IAAIF,cAAc,CAAC;cACpCO,WAAW,EAAE;gBAAEC,EAAE,EAAE;cAAG,CAAC;cACvBC,IAAI,EAAE;gBAAED,EAAE,EAAE;cAAE,CAAC;cACfE,KAAK,EAAE;YACR,CAAC,CAAC,EAEF;YACA;YACA,IAAIS,IAAI,EAAE;cACTjB,SAAS,CAACiB,IAAI,GAAGA,IAAI;YACtB;YAEMO,MAAM,GAAGxB,SAAS,CAACU,eAAe,CAAC,CAAC;YACpCe,QAAQ,OAAGb,iBAAM,EAAA1B,gBAAA,KAAAA,gBAAA,OAAA2B,uBAAA,CAAAC,OAAA,4OACJI,QAAQ;YAI3Bf,MAAM,CAACqB,MAAM,CAAC,CAACpB,OAAO,CAACqB,QAAQ,CAAC;UAAC;UAAA;YAAA,OAAAG,QAAA,CAAAG,IAAA;QAAA;MAAA,GAAAR,OAAA;IAAA,CACjC,GAAC;EACH,CAAC,CAAC;EAEF1B,EAAE,CAAC,qCAAqC,EAAE,YAAY;IACrD,IAAMC,cAAc,GAAG,IAAAC,MAAC,EAAC,gBAAgB,CAAC;IAE1C,IAAMC,SAAS,GAAG,IAAIF,cAAc,CAAC;MACpCO,WAAW,EAAE;QAAEC,EAAE,EAAE;MAAG,CAAC;MACvBC,IAAI,EAAE;QAAED,EAAE,EAAE;MAAE,CAAC;MACfE,KAAK,EAAE,6BAA6B;MACpCwB,GAAG,EAAE,6BAA6B;MAClCC,WAAW,EAAE;IACd,CAAC,CAAC;IAEFjC,SAAS,CAACP,MAAM,GAAGA,MAAM;IAEzB,IAAMgB,IAAI,GAAGT,SAAS,CAACU,eAAe,CAAC,CAAC;IACxC,IAAMC,WAAW,OAAGC,iBAAM,EAAAzB,gBAAA,KAAAA,gBAAA,OAAA0B,uBAAA,CAAAC,OAAA,whBAQzB;IAEDX,MAAM,CAACM,IAAI,CAAC,CAACL,OAAO,CAACO,WAAW,CAAC;EAClC,CAAC,CAAC;EAEFd,EAAE,CAAC,uCAAuC,EAAE,YAAY;IACvD,IAAMG,SAAS,GAAG,IAAIF,yBAAc,CAAC;MACpCO,WAAW,EAAE;QAAEC,EAAE,EAAE;MAAG,CAAC;MACvBC,IAAI,EAAE;QAAED,EAAE,EAAE;MAAE,CAAC;MACfE,KAAK,EAAE,6BAA6B;MACpCwB,GAAG,EAAE,6BAA6B;MAClCC,WAAW,EAAE;IACd,CAAC,CAAC;IAEFjC,SAAS,CAACP,MAAM,GAAGA,MAAM;IAEzB,IAAMgB,IAAI,GAAGT,SAAS,CAACU,eAAe,CAAC,CAAC;IACxC,IAAMC,WAAW,OAAGC,iBAAM,EAAAxB,gBAAA,KAAAA,gBAAA,OAAAyB,uBAAA,CAAAC,OAAA,gjBAQzB;IAEDX,MAAM,CAACM,IAAI,CAAC,CAACL,OAAO,CAACO,WAAW,CAAC;EAClC,CAAC,CAAC;EAEFd,EAAE,CAAC,8BAA8B,EAAE,YAAY;IAC9C,IAAMG,SAAS,GAAG,IAAIF,yBAAc,CAAC;MACpCO,WAAW,EAAE;QAAEC,EAAE,EAAE;MAAG,CAAC;MACvBC,IAAI,EAAE;QAAED,EAAE,EAAE;MAAE,CAAC;MACf4B,YAAY,EAAE,CAAC;QAAE5B,EAAE,EAAE;MAAG,CAAC,CAAC;MAC1B6B,mBAAmB,EAAE,CAAC;QAAE7B,EAAE,EAAE;MAAG,CAAC,CAAC;MACjCE,KAAK,EAAE;IACR,CAAC,CAAC;IAEFR,SAAS,CAACP,MAAM,GAAGA,MAAM;IAEzB,IAAMgB,IAAI,GAAGT,SAAS,CAACU,eAAe,CAAC,CAAC;IACxC,IAAMC,WAAW,OAAGC,iBAAM,EAAAvB,gBAAA,KAAAA,gBAAA,OAAAwB,uBAAA,CAAAC,OAAA,omBASzB;IAEDX,MAAM,CAACM,IAAI,CAAC,CAACL,OAAO,CAACO,WAAW,CAAC;EAClC,CAAC,CAAC;EAEFd,EAAE,CAAC,2BAA2B,EAAE,YAAY;IAC3C,IAAMG,SAAS,GAAG,IAAIF,yBAAc,CAAC;MACpCO,WAAW,EAAE;QAAEC,EAAE,EAAE;MAAG,CAAC;MACvBC,IAAI,EAAE;QAAED,EAAE,EAAE;MAAE,CAAC;MACf4B,YAAY,EAAE,CAAC;QAAE5B,EAAE,EAAE;MAAG,CAAC,CAAC;MAC1B6B,mBAAmB,EAAE,CAAC;QAAE7B,EAAE,EAAE;MAAG,CAAC,CAAC;MACjCE,KAAK,EAAE;IACR,CAAC,CAAC;IAEF,IAAM4B,cAAc,MAAAjB,MAAA,CAAO1B,MAAM,CAAC;IAClC2C,cAAc,CAAC,CAAC,CAAC,CAAC1C,IAAI,GAAG,mBAAmB;IAC5C0C,cAAc,CAAC,CAAC,CAAC,CAACxC,YAAY,GAAG,IAAI;IAErCI,SAAS,CAACP,MAAM,GAAG2C,cAAc;IAEjC,IAAM3B,IAAI,GAAGT,SAAS,CAACU,eAAe,CAAC,CAAC;IACxC,IAAMC,WAAW,OAAGC,iBAAM,EAAAtB,gBAAA,KAAAA,gBAAA,OAAAuB,uBAAA,CAAAC,OAAA,slBASzB;IAEDX,MAAM,CAACM,IAAI,CAAC,CAACL,OAAO,CAACO,WAAW,CAAC;EAClC,CAAC,CAAC;EAEFd,EAAE,CAAC,qDAAqD,EAAE,YAAM;IAC/D,IAAMG,SAAS,GAAG,IAAIF,yBAAc,CAAC;MACpCO,WAAW,EAAE;QAAEC,EAAE,EAAE;MAAG,CAAC;MACvBC,IAAI,EAAE;QAAED,EAAE,EAAE;MAAE,CAAC;MACf4B,YAAY,EAAE,CAAC;QAAE5B,EAAE,EAAE;MAAG,CAAC,CAAC;MAC1B6B,mBAAmB,EAAE,CAAC;QAAE7B,EAAE,EAAE;MAAG,CAAC,CAAC;MACjCE,KAAK,EAAE;IACR,CAAC,CAAC;IAEFR,SAAS,CAACP,MAAM,GAAG,CAClB;MACCC,IAAI,EAAE,sBAAsB;MAC5BC,SAAS,EAAE,6BAA6B;MACxCC,YAAY,EAAE;IACf,CAAC,EACD;MACCF,IAAI,EAAE,mBAAmB;MACzBC,SAAS,EAAE,6BAA6B;MACxCC,YAAY,EAAE;IACf,CAAC,EACD;MACCF,IAAI,EAAE,kBAAkB;MACxBC,SAAS,EAAE,6BAA6B;MACxCC,YAAY,EAAE;IACf,CAAC,CACD;IAED,IAAMa,IAAI,GAAGT,SAAS,CAACU,eAAe,CAAC,CAAC;IACxC,IAAMC,WAAW,OAAGC,iBAAM,EAAArB,gBAAA,KAAAA,gBAAA,OAAAsB,uBAAA,CAAAC,OAAA,gaAMzB;IAEDX,MAAM,CAACM,IAAI,CAAC,CAACL,OAAO,CAACO,WAAW,CAAC;EAClC,CAAC,CAAC;AACH,CAAC,CAAC;AAEFnB,QAAQ,CAAC,WAAW,EAAE,YAAM;EAC3BK,EAAE,CAAC,mDAAmD,EAAE,YAAM;IAC7D,IAAMG,SAAS,GAAG,IAAIF,yBAAc,CAAC;MACpCO,WAAW,EAAE;QAAEC,EAAE,EAAE;MAAG,CAAC;MACvBC,IAAI,EAAE;QAAED,EAAE,EAAE;MAAE,CAAC;MACf4B,YAAY,EAAE,CAAC;QAAE5B,EAAE,EAAE;MAAG,CAAC,CAAC;MAC1B6B,mBAAmB,EAAE,CAAC;QAAE7B,EAAE,EAAE;MAAG,CAAC,CAAC;MACjCE,KAAK,EAAE;IACR,CAAC,CAAC;IAEFR,SAAS,CAACE,QAAQ,CAAC,WAAW,EAAE,IAAAmC,eAAM,EAAC,CAAC,CAAC;IAEzClC,MAAM,CAACH,SAAS,CAACP,MAAM,CAAC,CAACW,OAAO,CAAC,EAAE,CAAC;EACrC,CAAC,CAAC;EAEFP,EAAE,CAAC,yDAAyD,EAAE,YAAM;IACnE,IAAMG,SAAS,GAAG,IAAIF,yBAAc,CAAC;MACpCO,WAAW,EAAE;QAAEC,EAAE,EAAE;MAAG,CAAC;MACvBC,IAAI,EAAE;QAAED,EAAE,EAAE;MAAE,CAAC;MACf4B,YAAY,EAAE,CAAC;QAAE5B,EAAE,EAAE;MAAG,CAAC,CAAC;MAC1B6B,mBAAmB,EAAE,CAAC;QAAE7B,EAAE,EAAE;MAAG,CAAC,CAAC;MACjCE,KAAK,EAAE;IACR,CAAC,CAAC;IAEFR,SAAS,CAACE,QAAQ,CAAC,kBAAkB,EAAE,6BAA6B,CAAC;IACrEF,SAAS,CAACE,QAAQ,CAAC,WAAW,EAAE,6BAA6B,CAAC;IAE9DC,MAAM,CAACH,SAAS,CAACP,MAAM,CAAC,CAAC,CAAC,CAAC,CAACW,OAAO,CAAC;MACnCR,YAAY,EAAE,IAAI;MAClBF,IAAI,EAAE,kBAAkB;MACxBC,SAAS,EAAE;IACZ,CAAC,CAAC;EACH,CAAC,CAAC;AACH,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"timing-log.spec.js","names":["_api","require","_timingLog","_dedentJs","_interopRequireDefault","_moment","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_templateObject6","_templateObject7","describe","events","path","timestamp","is_unfocused","it","TimingLogModel","G","timingLog","currentTime","addEvent","expect","toEqual","appointment","id","user","begin","code","toCompactFormat","assumedCode","dedent","_taggedTemplateLiteral2","default","each","undefined","mode","modeType","concat","_asyncToGenerator2","_regenerator","mark","_callee","actual","expected","wrap","_context","prev","next","stop","end","provisional","attendee_set","remote_attendee_set","modifiedEvents","moment"],"sources":["../../src/models/timing-log.spec.js"],"sourcesContent":["import { G } from \"sp-test/api\";\nimport { TimingLogModel } from \"./timing-log.js\";\nimport dedent from \"dedent-js\";\nimport moment from \"moment\";\n\ndescribe(\"TimingLogModel\", () => {\n\tconst events = [\n\t\t{\n\t\t\tpath: \"/api/deckversions/4/\",\n\t\t\ttimestamp: \"2016-10-27T00:42:47.045186Z\",\n\t\t\tis_unfocused: false,\n\t\t},\n\t\t{\n\t\t\tpath: \"/api/sections/28/\",\n\t\t\ttimestamp: \"2016-10-27T00:43:59.430102Z\",\n\t\t\tis_unfocused: false,\n\t\t},\n\t\t{\n\t\t\tpath: \"/api/slides/380/\",\n\t\t\ttimestamp: \"2016-10-27T00:45:01.038661Z\",\n\t\t\tis_unfocused: false,\n\t\t},\n\t\t{\n\t\t\tpath: \"/api/slides/378/\",\n\t\t\ttimestamp: \"2016-10-27T00:45:13.495713Z\",\n\t\t\tis_unfocused: false,\n\t\t},\n\t];\n\n\tit(\"should create logs with a timestamp right now\", function () {\n\t\tconst TimingLogModel = G(\"TimingLogModel\");\n\t\tconst timingLog = new TimingLogModel();\n\t\tconst currentTime = \"2016-10-27T00:42:47.044135Z\";\n\t\ttimingLog.addEvent(\"/api/sections/1/\", currentTime);\n\n\t\t// Some precision in milliseconds is lost here\n\t\texpect(timingLog.events[0].timestamp).toEqual(\n\t\t\t\"2016-10-27T00:42:47.044000Z\",\n\t\t);\n\t\texpect(timingLog.events[0].path).toEqual(\"/api/sections/1/\");\n\t});\n\n\tit(\"should generate a timinglog compact format string\", function () {\n\t\tconst TimingLogModel = G(\"TimingLogModel\");\n\n\t\tconst timingLog = new TimingLogModel({\n\t\t\tappointment: { id: 20 },\n\t\t\tuser: { id: 9 },\n\t\t\tbegin: \"2016-10-27T00:42:47.044135Z\",\n\t\t});\n\n\t\ttimingLog.events = events;\n\n\t\tconst code = timingLog.toCompactFormat();\n\t\tconst assumedCode = dedent`\n\t\t\t\t/api/users/9/ viewing /api/appointments/20/\n\t\t\t\t2016-10-27 00:42:47.044000Z\n\t\t\t\t1ms /api/deckversions/4/\n\t\t\t\t72386ms /api/sections/28/\n\t\t\t\t133994ms /api/slides/380/\n\t\t\t\t146451ms /api/slides/378/\\n\n\t\t`;\n\n\t\texpect(code).toEqual(assumedCode);\n\t});\n\n\tdescribe.each([\n\t\t[undefined, \"viewing\"],\n\t\t[\"present\", \"viewing\"],\n\t\t[\"view\", \"viewing\"],\n\t\t[\"prep\", \"preparing\"],\n\t\t[\"review\", \"reviewing\"],\n\t])(`{ mode: \"%s\" }`, (mode, modeType) => {\n\t\tit(`should show '${modeType}' when mode is ${mode}`, async () => {\n\t\t\tconst TimingLogModel = G(\"TimingLogModel\");\n\n\t\t\tconst timingLog = new TimingLogModel({\n\t\t\t\tappointment: { id: 20 },\n\t\t\t\tuser: { id: 9 },\n\t\t\t\tbegin: \"2016-10-27T00:42:47.044135Z\",\n\t\t\t});\n\n\t\t\t// First test is checking the default value, so we just\n\t\t\t// don't add anything in that one case.\n\t\t\tif (mode) {\n\t\t\t\ttimingLog.mode = mode;\n\t\t\t}\n\n\t\t\tconst actual = timingLog.toCompactFormat();\n\t\t\tconst expected = dedent`\n\t\t\t\t\t\t/api/users/9/ ${modeType} /api/appointments/20/\n\t\t\t\t\t\t2016-10-27 00:42:47.044000Z\\n\\n\n\t\t\t\t`;\n\n\t\t\texpect(actual).toEqual(expected);\n\t\t});\n\t});\n\n\tit(\"should add an end date if specified\", function () {\n\t\tconst TimingLogModel = G(\"TimingLogModel\");\n\n\t\tconst timingLog = new TimingLogModel({\n\t\t\tappointment: { id: 20 },\n\t\t\tuser: { id: 9 },\n\t\t\tbegin: \"2016-10-27T00:42:47.044135Z\",\n\t\t\tend: \"2016-10-27T00:48:13.495713Z\",\n\t\t\tprovisional: false,\n\t\t});\n\n\t\ttimingLog.events = events;\n\n\t\tconst code = timingLog.toCompactFormat();\n\t\tconst assumedCode = dedent`\n\t\t\t/api/users/9/ viewing /api/appointments/20/\n\t\t\t2016-10-27 00:42:47.044000Z\n\t\t\t1ms /api/deckversions/4/\n\t\t\t72386ms /api/sections/28/\n\t\t\t133994ms /api/slides/380/\n\t\t\t146451ms /api/slides/378/\n\t\t\t2016-10-27 00:48:13.495000Z\\n\n\t\t`;\n\n\t\texpect(code).toEqual(assumedCode);\n\t});\n\n\tit(\"should use provisional if flag is set\", function () {\n\t\tconst timingLog = new TimingLogModel({\n\t\t\tappointment: { id: 20 },\n\t\t\tuser: { id: 9 },\n\t\t\tbegin: \"2016-10-27T00:42:47.044135Z\",\n\t\t\tend: \"2016-10-27T00:48:13.495713Z\",\n\t\t\tprovisional: true,\n\t\t});\n\n\t\ttimingLog.events = events;\n\n\t\tconst code = timingLog.toCompactFormat();\n\t\tconst assumedCode = dedent`\n\t\t\t/api/users/9/ viewing /api/appointments/20/\n\t\t\t2016-10-27 00:42:47.044000Z\n\t\t\t1ms /api/deckversions/4/\n\t\t\t72386ms /api/sections/28/\n\t\t\t133994ms /api/slides/380/\n\t\t\t146451ms /api/slides/378/\n\t\t\t2016-10-27 00:48:13.495000Z provisional\\n\n\t\t`;\n\n\t\texpect(code).toEqual(assumedCode);\n\t});\n\n\tit(\"should show attendees if set\", function () {\n\t\tconst timingLog = new TimingLogModel({\n\t\t\tappointment: { id: 20 },\n\t\t\tuser: { id: 9 },\n\t\t\tattendee_set: [{ id: 10 }],\n\t\t\tremote_attendee_set: [{ id: 11 }],\n\t\t\tbegin: \"2016-10-27T00:42:47.044135Z\",\n\t\t});\n\n\t\ttimingLog.events = events;\n\n\t\tconst code = timingLog.toCompactFormat();\n\t\tconst assumedCode = dedent`\n\t\t\t/api/users/9/ viewing /api/appointments/20/\n\t\t\t/api/users/10/ attending\n\t\t\t/api/users/11/ attending remotely\n\t\t\t2016-10-27 00:42:47.044000Z\n\t\t\t1ms /api/deckversions/4/\n\t\t\t72386ms /api/sections/28/\n\t\t\t133994ms /api/slides/380/\n\t\t\t146451ms /api/slides/378/\\n\n\t\t`;\n\n\t\texpect(code).toEqual(assumedCode);\n\t});\n\n\tit(\"should add unfocused time\", function () {\n\t\tconst timingLog = new TimingLogModel({\n\t\t\tappointment: { id: 20 },\n\t\t\tuser: { id: 9 },\n\t\t\tattendee_set: [{ id: 10 }],\n\t\t\tremote_attendee_set: [{ id: 11 }],\n\t\t\tbegin: \"2016-10-27T00:42:47.044135Z\",\n\t\t});\n\n\t\tconst modifiedEvents = [...events];\n\t\tmodifiedEvents[2].path = \"/api/sections/28/\";\n\t\tmodifiedEvents[2].is_unfocused = true;\n\n\t\ttimingLog.events = modifiedEvents;\n\n\t\tconst code = timingLog.toCompactFormat();\n\t\tconst assumedCode = dedent`\n\t\t\t/api/users/9/ viewing /api/appointments/20/\n\t\t\t/api/users/10/ attending\n\t\t\t/api/users/11/ attending remotely\n\t\t\t2016-10-27 00:42:47.044000Z\n\t\t\t1ms /api/deckversions/4/\n\t\t\t72386ms /api/sections/28/\n\t\t\t133994ms unfocused\n\t\t\t146451ms /api/slides/378/\\n\n\t\t`;\n\n\t\texpect(code).toEqual(assumedCode);\n\t});\n\n\tit(\"should remove an unfocused events if they are first\", () => {\n\t\tconst timingLog = new TimingLogModel({\n\t\t\tappointment: { id: 20 },\n\t\t\tuser: { id: 9 },\n\t\t\tattendee_set: [{ id: 10 }],\n\t\t\tremote_attendee_set: [{ id: 11 }],\n\t\t\tbegin: \"2016-10-27T00:42:47.044135Z\",\n\t\t});\n\n\t\ttimingLog.events = [\n\t\t\t{\n\t\t\t\tpath: \"/api/deckversions/4/\",\n\t\t\t\ttimestamp: \"2016-10-27T00:42:47.045186Z\",\n\t\t\t\tis_unfocused: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: \"/api/sections/28/\",\n\t\t\t\ttimestamp: \"2016-10-27T00:43:59.430102Z\",\n\t\t\t\tis_unfocused: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: \"/api/slides/380/\",\n\t\t\t\ttimestamp: \"2016-10-27T00:45:01.038661Z\",\n\t\t\t\tis_unfocused: false,\n\t\t\t},\n\t\t];\n\n\t\tconst code = timingLog.toCompactFormat();\n\t\tconst assumedCode = dedent`\n\t\t\t/api/users/9/ viewing /api/appointments/20/\n\t\t\t/api/users/10/ attending\n\t\t\t/api/users/11/ attending remotely\n\t\t\t2016-10-27 00:42:47.044000Z\n\t\t\t133994ms /api/slides/380/\\n\n\t\t`;\n\n\t\texpect(code).toEqual(assumedCode);\n\t});\n});\n\ndescribe(\".addEvent\", () => {\n\tit(\"should strip unfocused event if no previous event\", () => {\n\t\tconst timingLog = new TimingLogModel({\n\t\t\tappointment: { id: 20 },\n\t\t\tuser: { id: 9 },\n\t\t\tattendee_set: [{ id: 10 }],\n\t\t\tremote_attendee_set: [{ id: 11 }],\n\t\t\tbegin: \"2016-10-27T00:42:47.044135Z\",\n\t\t});\n\n\t\ttimingLog.addEvent(\"unfocused\", moment());\n\n\t\texpect(timingLog.events).toEqual([]);\n\t});\n\n\tit(\"unfocused event path should match previous real content\", () => {\n\t\tconst timingLog = new TimingLogModel({\n\t\t\tappointment: { id: 20 },\n\t\t\tuser: { id: 9 },\n\t\t\tattendee_set: [{ id: 10 }],\n\t\t\tremote_attendee_set: [{ id: 11 }],\n\t\t\tbegin: \"2016-10-27T00:42:47.044135Z\",\n\t\t});\n\n\t\ttimingLog.addEvent(\"/api/slides/380/\", \"2016-10-27T00:42:47.044135Z\");\n\t\ttimingLog.addEvent(\"unfocused\", \"2016-10-27T00:42:47.044135Z\");\n\n\t\texpect(timingLog.events[1]).toEqual({\n\t\t\tis_unfocused: true,\n\t\t\tpath: \"/api/slides/380/\",\n\t\t\ttimestamp: \"2016-10-27T00:42:47.044000Z\",\n\t\t});\n\t});\n});\n"],"mappings":"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","ignoreList":[]}
@@ -6,7 +6,7 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/
6
6
  var _api = require("sp-test/api");
7
7
  test("User can modify temporary slides", /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee() {
8
8
  var UserModel, user;
9
- return _regenerator.default.wrap(function _callee$(_context) {
9
+ return _regenerator.default.wrap(function (_context) {
10
10
  while (1) switch (_context.prev = _context.next) {
11
11
  case 0:
12
12
  UserModel = (0, _api.G)("UserModel");
@@ -14,7 +14,7 @@ test("User can modify temporary slides", /*#__PURE__*/(0, _asyncToGenerator2.def
14
14
  actions: ["Manage Temporary Slides"]
15
15
  });
16
16
  expect(user.permissions.presomanager.canModifyTemporarySlides).toBe(true);
17
- case 3:
17
+ case 1:
18
18
  case "end":
19
19
  return _context.stop();
20
20
  }
@@ -22,7 +22,7 @@ test("User can modify temporary slides", /*#__PURE__*/(0, _asyncToGenerator2.def
22
22
  })));
23
23
  test("User can modify editable content", /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2() {
24
24
  var UserModel, user;
25
- return _regenerator.default.wrap(function _callee2$(_context2) {
25
+ return _regenerator.default.wrap(function (_context2) {
26
26
  while (1) switch (_context2.prev = _context2.next) {
27
27
  case 0:
28
28
  UserModel = (0, _api.G)("UserModel");
@@ -30,7 +30,7 @@ test("User can modify editable content", /*#__PURE__*/(0, _asyncToGenerator2.def
30
30
  actions: ["Create Content"]
31
31
  });
32
32
  expect(user.permissions.presomanager.canModifyContent).toBe(true);
33
- case 3:
33
+ case 1:
34
34
  case "end":
35
35
  return _context2.stop();
36
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"user.spec.js","names":["_api","require","test","_asyncToGenerator2","default","_regenerator","mark","_callee","UserModel","user","wrap","_callee$","_context","prev","next","G","actions","expect","permissions","presomanager","canModifyTemporarySlides","toBe","stop","_callee2","_callee2$","_context2","canModifyContent"],"sources":["../../src/models/user.spec.js"],"sourcesContent":["import { G } from \"sp-test/api\";\n\ntest(\"User can modify temporary slides\", async () => {\n\tconst UserModel = G(\"UserModel\");\n\tconst user = new UserModel({\n\t\tactions: [\"Manage Temporary Slides\"],\n\t});\n\texpect(user.permissions.presomanager.canModifyTemporarySlides).toBe(true);\n});\n\ntest(\"User can modify editable content\", async () => {\n\tconst UserModel = G(\"UserModel\");\n\tconst user = new UserModel({\n\t\tactions: [\"Create Content\"],\n\t});\n\texpect(user.permissions.presomanager.canModifyContent).toBe(true);\n});\n"],"mappings":";;;;;AAAA,IAAAA,IAAA,GAAAC,OAAA;AAEAC,IAAI,CAAC,kCAAkC,mBAAAC,kBAAA,CAAAC,OAAA,eAAAC,YAAA,CAAAD,OAAA,CAAAE,IAAA,CAAE,SAAAC,QAAA;EAAA,IAAAC,SAAA,EAAAC,IAAA;EAAA,OAAAJ,YAAA,CAAAD,OAAA,CAAAM,IAAA,UAAAC,SAAAC,QAAA;IAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;MAAA;QAClCN,SAAS,GAAG,IAAAO,MAAC,EAAC,WAAW,CAAC;QAC1BN,IAAI,GAAG,IAAID,SAAS,CAAC;UAC1BQ,OAAO,EAAE,CAAC,yBAAyB;QACpC,CAAC,CAAC;QACFC,MAAM,CAACR,IAAI,CAACS,WAAW,CAACC,YAAY,CAACC,wBAAwB,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC;MAAC;MAAA;QAAA,OAAAT,QAAA,CAAAU,IAAA;IAAA;EAAA,GAAAf,OAAA;AAAA,CAC1E,GAAC;AAEFL,IAAI,CAAC,kCAAkC,mBAAAC,kBAAA,CAAAC,OAAA,eAAAC,YAAA,CAAAD,OAAA,CAAAE,IAAA,CAAE,SAAAiB,SAAA;EAAA,IAAAf,SAAA,EAAAC,IAAA;EAAA,OAAAJ,YAAA,CAAAD,OAAA,CAAAM,IAAA,UAAAc,UAAAC,SAAA;IAAA,kBAAAA,SAAA,CAAAZ,IAAA,GAAAY,SAAA,CAAAX,IAAA;MAAA;QAClCN,SAAS,GAAG,IAAAO,MAAC,EAAC,WAAW,CAAC;QAC1BN,IAAI,GAAG,IAAID,SAAS,CAAC;UAC1BQ,OAAO,EAAE,CAAC,gBAAgB;QAC3B,CAAC,CAAC;QACFC,MAAM,CAACR,IAAI,CAACS,WAAW,CAACC,YAAY,CAACO,gBAAgB,CAAC,CAACL,IAAI,CAAC,IAAI,CAAC;MAAC;MAAA;QAAA,OAAAI,SAAA,CAAAH,IAAA;IAAA;EAAA,GAAAC,QAAA;AAAA,CAClE,GAAC","ignoreList":[]}
1
+ {"version":3,"file":"user.spec.js","names":["_api","require","test","_asyncToGenerator2","default","_regenerator","mark","_callee","UserModel","user","wrap","_context","prev","next","G","actions","expect","permissions","presomanager","canModifyTemporarySlides","toBe","stop","_callee2","_context2","canModifyContent"],"sources":["../../src/models/user.spec.js"],"sourcesContent":["import { G } from \"sp-test/api\";\n\ntest(\"User can modify temporary slides\", async () => {\n\tconst UserModel = G(\"UserModel\");\n\tconst user = new UserModel({\n\t\tactions: [\"Manage Temporary Slides\"],\n\t});\n\texpect(user.permissions.presomanager.canModifyTemporarySlides).toBe(true);\n});\n\ntest(\"User can modify editable content\", async () => {\n\tconst UserModel = G(\"UserModel\");\n\tconst user = new UserModel({\n\t\tactions: [\"Create Content\"],\n\t});\n\texpect(user.permissions.presomanager.canModifyContent).toBe(true);\n});\n"],"mappings":";;;;;AAAA,IAAAA,IAAA,GAAAC,OAAA;AAEAC,IAAI,CAAC,kCAAkC,mBAAAC,kBAAA,CAAAC,OAAA,eAAAC,YAAA,CAAAD,OAAA,CAAAE,IAAA,CAAE,SAAAC,QAAA;EAAA,IAAAC,SAAA,EAAAC,IAAA;EAAA,OAAAJ,YAAA,CAAAD,OAAA,CAAAM,IAAA,WAAAC,QAAA;IAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;MAAA;QAClCL,SAAS,GAAG,IAAAM,MAAC,EAAC,WAAW,CAAC;QAC1BL,IAAI,GAAG,IAAID,SAAS,CAAC;UAC1BO,OAAO,EAAE,CAAC,yBAAyB;QACpC,CAAC,CAAC;QACFC,MAAM,CAACP,IAAI,CAACQ,WAAW,CAACC,YAAY,CAACC,wBAAwB,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC;MAAC;MAAA;QAAA,OAAAT,QAAA,CAAAU,IAAA;IAAA;EAAA,GAAAd,OAAA;AAAA,CAC1E,GAAC;AAEFL,IAAI,CAAC,kCAAkC,mBAAAC,kBAAA,CAAAC,OAAA,eAAAC,YAAA,CAAAD,OAAA,CAAAE,IAAA,CAAE,SAAAgB,SAAA;EAAA,IAAAd,SAAA,EAAAC,IAAA;EAAA,OAAAJ,YAAA,CAAAD,OAAA,CAAAM,IAAA,WAAAa,SAAA;IAAA,kBAAAA,SAAA,CAAAX,IAAA,GAAAW,SAAA,CAAAV,IAAA;MAAA;QAClCL,SAAS,GAAG,IAAAM,MAAC,EAAC,WAAW,CAAC;QAC1BL,IAAI,GAAG,IAAID,SAAS,CAAC;UAC1BO,OAAO,EAAE,CAAC,gBAAgB;QAC3B,CAAC,CAAC;QACFC,MAAM,CAACP,IAAI,CAACQ,WAAW,CAACC,YAAY,CAACM,gBAAgB,CAAC,CAACJ,IAAI,CAAC,IAAI,CAAC;MAAC;MAAA;QAAA,OAAAG,SAAA,CAAAF,IAAA;IAAA;EAAA,GAAAC,QAAA;AAAA,CAClE,GAAC","ignoreList":[]}
@@ -18,9 +18,7 @@ var _lodash = _interopRequireDefault(require("lodash"));
18
18
  var _index = require("../index.js");
19
19
  var _log = _interopRequireDefault(require("../log.js"));
20
20
  var _stateRegister = require("../state-register");
21
- var _url = _interopRequireDefault(require("url"));
22
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
23
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
21
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
24
22
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
25
23
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
26
24
  /**
@@ -69,7 +67,19 @@ var PresentationDeck = exports.PresentationDeck = _basePresentationModel.BasePre
69
67
  tags: "array",
70
68
  version: "number",
71
69
  namespacedKey: "string",
72
- cmsvalkey_set: "array"
70
+ cmsvalkey_set: "array",
71
+ isWelcome: {
72
+ type: "boolean",
73
+ default: true
74
+ },
75
+ isSlide: {
76
+ type: "boolean",
77
+ default: false
78
+ },
79
+ isSection: {
80
+ type: "boolean",
81
+ default: false
82
+ }
73
83
  },
74
84
  /**
75
85
  * @property {presentation.PresentationSection} realSection
@@ -342,8 +352,8 @@ PresentationDeck.createFromManifestJSON = function (manifestJSON, project) {
342
352
  index: 0,
343
353
  visible: true,
344
354
  key: manifestJSON.key || "manifest_deck",
345
- html: _url.default.resolve(manifestJSON.getAssetPath(), "index.html"),
346
- css: _url.default.resolve(manifestJSON.getAssetPath(), "slide.css"),
355
+ html: (0, _utils.resolveURL)(manifestJSON.getAssetPath(), "index.html"),
356
+ css: (0, _utils.resolveURL)(manifestJSON.getAssetPath(), "slide.css"),
347
357
  common: manifestJSON.common,
348
358
  thumbnail: null,
349
359
  deckID: 1,
@@ -365,8 +375,8 @@ PresentationDeck.createFromManifestJSON = function (manifestJSON, project) {
365
375
  return {
366
376
  key: newKey,
367
377
  sequence: sequence,
368
- html: _url.default.resolve(manifestJSON.getAssetPath(key), "index.html"),
369
- css: _url.default.resolve(manifestJSON.getAssetPath(key), "slide.css"),
378
+ html: (0, _utils.resolveURL)(manifestJSON.getAssetPath(key), "index.html"),
379
+ css: (0, _utils.resolveURL)(manifestJSON.getAssetPath(key), "slide.css"),
370
380
  title: manifestJSON.titles[key],
371
381
  tags: manifestJSON.tags[key] || [],
372
382
  cmsvalkey_set: []
@@ -404,7 +414,7 @@ PresentationDeck.createFromManifestJSON = function (manifestJSON, project) {
404
414
  key: key,
405
415
  sequence: manifestJSON.templates[key].ordering,
406
416
  index_asset: {
407
- url: _url.default.resolve(manifestJSON.getTemplateAssetPath(key), "index.html")
417
+ url: (0, _utils.resolveURL)(manifestJSON.getTemplateAssetPath(key), "index.html")
408
418
  },
409
419
  cmsvalkey_set: cmsvals
410
420
  });