@livepreso/api 6.53.0 → 6.54.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 (134) hide show
  1. package/.rush/temp/1aebf46f78ad5c45f82f8147751890adb37bef9d.log +10 -0
  2. package/.rush/temp/256021b5963b4c0221d3dec247b697b9691a9b2c.log +10 -0
  3. package/.rush/temp/2a322f00f12cf9d1e64afe81275cc78d01c49050.log +10 -0
  4. package/.rush/temp/30061f1865447dcbb3f20a305061205f3dbe6091.log +10 -0
  5. package/.rush/temp/3cdc82c352e8ed90607952873f3aa4c200490874.log +10 -0
  6. package/.rush/temp/45522aea0dee8cb2be1a53248ba45bd235743b43.log +10 -0
  7. package/.rush/temp/5489ab737e406518983c16c57fc3e1edc07c0341.log +10 -0
  8. package/.rush/temp/58fcbb7f15a76326d40e0839ab179755da82a891.log +10 -0
  9. package/.rush/temp/5bc0bba70b733baa4dd976667ba0a1386e516186.log +10 -0
  10. package/.rush/temp/64f1bb696f8d7d7e72907b80df316b127f72e23e.log +10 -0
  11. package/.rush/temp/6f640f951414ea68adb65c17e4ed7527cde54faf.log +10 -0
  12. package/.rush/temp/7c7b958682d4ab5697530be47d0aac62efe1adf1.log +10 -0
  13. package/.rush/temp/82bfb987463fbcfebf04022e6ed00015c73879c8.log +10 -0
  14. package/.rush/temp/844034aa6e542115075e8f3dc5ffc640973e0064.log +10 -0
  15. package/.rush/temp/8b42957a7c15da1f29cb57bee125f13affa70dca.log +10 -0
  16. package/.rush/temp/924652444ab5a6063f328a2217123a2227058896.log +10 -0
  17. package/.rush/temp/9f2030f96d62f3e38052e35201819a216566f14f.log +10 -0
  18. package/.rush/temp/a769db9d81a23000c0e9b1bf4f1a9a9e721d0d7c.log +10 -0
  19. package/.rush/temp/a87d3a8b4ece87ec66f27c86226a9f205617681f.log +10 -0
  20. package/.rush/temp/bb7a5bdcc4af4ad1507f81f33774b31f5b4e4fb7.log +10 -0
  21. package/.rush/temp/build-cache-tar.log +7 -0
  22. package/.rush/temp/c20e29ccaaa9231b38a28bb24451b4ce7562cdc0.log +10 -0
  23. package/.rush/temp/chunked-rush-logs/api.build.chunks.jsonl +6 -0
  24. package/.rush/temp/chunked-rush-logs/api.test.chunks.jsonl +21 -0
  25. package/.rush/temp/e21303db8f59b4625fd184c9114377d781fd24f8.log +10 -0
  26. package/.rush/temp/e6d303862765b6a5f41dd483d0f9ae083a1fae10.log +10 -0
  27. package/.rush/temp/eaf69fbc059d2f1258d7569136180d4a1d3c7072.log +10 -0
  28. package/.rush/temp/f85d279e2674966daaec83e1c3986a96f86ef304.log +10 -0
  29. package/.rush/temp/fc0a332c5b34c6b90006850cf2d93a48fb4b9a6e.log +10 -0
  30. package/.rush/temp/operation/build/all.log +6 -0
  31. package/.rush/temp/operation/build/log-chunks.jsonl +6 -0
  32. package/.rush/temp/operation/build/state.json +3 -0
  33. package/.rush/temp/operation/test/all.log +21 -0
  34. package/.rush/temp/operation/test/log-chunks.jsonl +21 -0
  35. package/.rush/temp/operation/test/state.json +3 -0
  36. package/.rush/temp/package-deps_build.json +185 -0
  37. package/.rush/temp/shrinkwrap-deps.json +71 -13
  38. package/CHANGELOG.json +35 -0
  39. package/CHANGELOG.md +21 -1
  40. package/api.build.log +9 -0
  41. package/api.test.cache.log +1 -0
  42. package/api.test.log +19 -0
  43. package/cjs/api.js +1 -1
  44. package/cjs/api.js.map +1 -1
  45. package/cjs/collections/auto-adjuncts.js +0 -22
  46. package/cjs/collections/auto-adjuncts.js.map +1 -1
  47. package/cjs/collections/base.js +15 -1
  48. package/cjs/collections/base.js.map +1 -1
  49. package/cjs/collections/base.spec.js +61 -0
  50. package/cjs/collections/base.spec.js.map +1 -1
  51. package/cjs/collections/cms-vals.js +25 -0
  52. package/cjs/collections/cms-vals.js.map +1 -1
  53. package/cjs/collections/cms-vals.spec.js +73 -0
  54. package/cjs/collections/cms-vals.spec.js.map +1 -0
  55. package/cjs/collections/deck-version-screenshots.js +0 -23
  56. package/cjs/collections/deck-version-screenshots.js.map +1 -1
  57. package/cjs/collections/scenarios.js +20 -0
  58. package/cjs/collections/scenarios.js.map +1 -0
  59. package/cjs/collections.js +11 -0
  60. package/cjs/collections.js.map +1 -1
  61. package/cjs/fixtures.js +18 -1
  62. package/cjs/fixtures.js.map +1 -1
  63. package/cjs/models/appointment.js +29 -8
  64. package/cjs/models/appointment.js.map +1 -1
  65. package/cjs/models/auto-adjunct.js +3 -2
  66. package/cjs/models/auto-adjunct.js.map +1 -1
  67. package/cjs/models/base.js +57 -13
  68. package/cjs/models/base.js.map +1 -1
  69. package/cjs/models/base.spec.js +28 -0
  70. package/cjs/models/base.spec.js.map +1 -1
  71. package/cjs/models/cms-val.js +3 -3
  72. package/cjs/models/cms-val.js.map +1 -1
  73. package/cjs/models/deck-version-screenshot.js +2 -2
  74. package/cjs/models/deck-version-screenshot.js.map +1 -1
  75. package/cjs/models/deck-version.js +17 -8
  76. package/cjs/models/deck-version.js.map +1 -1
  77. package/cjs/models/preset.js +8 -6
  78. package/cjs/models/preset.js.map +1 -1
  79. package/cjs/models/scenario.js +41 -0
  80. package/cjs/models/scenario.js.map +1 -0
  81. package/cjs/models.js +11 -0
  82. package/cjs/models.js.map +1 -1
  83. package/cjs/presentation/appointment-presentation.js +2 -2
  84. package/cjs/presentation/appointment-presentation.js.map +1 -1
  85. package/cjs/presentation/base-presentation-model.js +26 -23
  86. package/cjs/presentation/base-presentation-model.js.map +1 -1
  87. package/cjs/presentation/base-presentation-model.spec.js +21 -21
  88. package/cjs/presentation/base-presentation-model.spec.js.map +1 -1
  89. package/cjs/presentation/presentation-section.js +29 -4
  90. package/cjs/presentation/presentation-section.js.map +1 -1
  91. package/cjs/presentation/presentation-section.spec.js +16 -3
  92. package/cjs/presentation/presentation-section.spec.js.map +1 -1
  93. package/cjs/presentation/presentation-slide.js +27 -3
  94. package/cjs/presentation/presentation-slide.js.map +1 -1
  95. package/cjs/presentation/presentation-slide.spec.js +8 -1
  96. package/cjs/presentation/presentation-slide.spec.js.map +1 -1
  97. package/cjs/utils.js +12 -3
  98. package/cjs/utils.js.map +1 -1
  99. package/cjs/utils.spec.js +22 -0
  100. package/cjs/utils.spec.js.map +1 -1
  101. package/package.json +3 -3
  102. package/rush-logs/api.build.cache.log +1 -0
  103. package/rush-logs/api.build.log +6 -0
  104. package/rush-logs/api.test.cache.log +1 -0
  105. package/rush-logs/api.test.log +21 -0
  106. package/src/api.js +1 -1
  107. package/src/collections/auto-adjuncts.js +0 -22
  108. package/src/collections/base.js +13 -2
  109. package/src/collections/base.spec.js +37 -0
  110. package/src/collections/cms-vals.js +28 -0
  111. package/src/collections/cms-vals.spec.js +66 -0
  112. package/src/collections/deck-version-screenshots.js +0 -22
  113. package/src/collections/scenarios.js +18 -0
  114. package/src/collections.js +1 -0
  115. package/src/fixtures.js +17 -1
  116. package/src/models/appointment.js +32 -6
  117. package/src/models/auto-adjunct.js +3 -2
  118. package/src/models/base.js +41 -13
  119. package/src/models/base.spec.js +18 -0
  120. package/src/models/cms-val.js +3 -3
  121. package/src/models/deck-version-screenshot.js +2 -2
  122. package/src/models/deck-version.js +10 -7
  123. package/src/models/preset.js +8 -6
  124. package/src/models/scenario.js +39 -0
  125. package/src/models.js +1 -0
  126. package/src/presentation/appointment-presentation.js +6 -4
  127. package/src/presentation/base-presentation-model.js +29 -23
  128. package/src/presentation/base-presentation-model.spec.js +22 -22
  129. package/src/presentation/presentation-section.js +27 -2
  130. package/src/presentation/presentation-section.spec.js +14 -1
  131. package/src/presentation/presentation-slide.js +26 -2
  132. package/src/presentation/presentation-slide.spec.js +7 -0
  133. package/src/utils.js +13 -3
  134. package/src/utils.spec.js +27 -0
@@ -8,7 +8,7 @@ exports.BasePresentationModel = void 0;
8
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
9
  var _base = require("../models/base.js");
10
10
  var _deckVersionScreenshots = require("../collections/deck-version-screenshots.js");
11
- var _team2 = require("../models/team.js");
11
+ var _scenario2 = require("../models/scenario.js");
12
12
  var _lodash = _interopRequireDefault(require("lodash"));
13
13
  function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
14
14
  function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
@@ -31,7 +31,7 @@ BasePresentationModel.screenshotsToMap = function (screenshots) {
31
31
  }
32
32
  return screenshots.reduce(function (result, model) {
33
33
  if (result[model.subject]) {
34
- throw new Error("\n\t\t\t\tFound multiple screenshots that could match this subject. If there is a team\n\t\t\t\tand a global, be sure to remove the screenshot that you don't need.\n\t\t\t");
34
+ throw new Error("\n\t\t\t\tFound multiple screenshots that could match this subject. If there is a scenario\n\t\t\t\tand a global, be sure to remove the screenshot that you don't need.\n\t\t\t");
35
35
  }
36
36
  result[model.subject] = model.image_256;
37
37
  return result;
@@ -53,49 +53,52 @@ BasePresentationModel.getThumbnail = function (model, screenshots) {
53
53
  };
54
54
 
55
55
  /**
56
- * Takes a list of screenshots and filters it to only be a list used by a single team
56
+ * Takes a list of screenshots and filters it to only be a list used by a single scenario
57
57
  * (or company wide).
58
58
  *
59
59
  * The logic should be like this:
60
60
  *
61
- * * If the team is null, we just return all global screenshots (team = null)
62
- * * If we select a team, we take those global screenshots and replace any that have a
63
- * team specific version of that screenshot. If none is found, the team will want to
64
- * see the same global version. Obviously only one team's screenshots should be available.
61
+ * * If the scenario is null, we just return all global screenshots (scenario = null)
62
+ * * If we select a scenario, we take those global screenshots and replace any that have a
63
+ * scenario specific version of that screenshot. If none is found, the
64
+ * scenario will want to see the same global version. Obviously only one
65
+ * scenario's screenshots should be available.
65
66
  */
66
- BasePresentationModel.filterScreenshotsByTeam = function (_screenshots) {
67
- var _team = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
67
+ BasePresentationModel.filterScreenshotsByScenario = function (_screenshots) {
68
+ var _scenario = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
68
69
  var screenshots = new _deckVersionScreenshots.DeckVersionScreenshotCollection(_screenshots);
69
- var team = _team ? new _team2.TeamModel(_team) : null;
70
+ var scenario = _scenario ? new _scenario2.ScenarioModel({
71
+ id: _scenario
72
+ }) : null;
70
73
  var globalScreenshots = screenshots.filter(function (screen) {
71
- return screen.team === null;
74
+ return screen.scenario === null;
72
75
  }).map(function (screen) {
73
76
  return screen.toJSON();
74
77
  });
75
78
  var result = globalScreenshots;
76
- if (team) {
77
- var teamScreenshots = screenshots.filter(function (screen) {
78
- return screen.team && screen.team.url() === team.url();
79
+ if (scenario) {
80
+ var scenarioScreenshots = screenshots.filter(function (screen) {
81
+ return screen.scenario && screen.scenario.url() === scenario.url();
79
82
  }).map(function (screen) {
80
83
  return _objectSpread(_objectSpread({}, screen.toJSON()), {}, {
81
- team: screen.team.url()
84
+ scenario: screen.scenario.url()
82
85
  });
83
86
  });
84
- var _iterator = _createForOfIteratorHelper(teamScreenshots),
87
+ var _iterator = _createForOfIteratorHelper(scenarioScreenshots),
85
88
  _step;
86
89
  try {
87
90
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
88
- var teamScreen = _step.value;
91
+ var scenarioScreen = _step.value;
89
92
  var existingGlobalIndex = _lodash.default.findIndex(result, {
90
- subject: teamScreen.subject
93
+ subject: scenarioScreen.subject
91
94
  });
92
95
  if (existingGlobalIndex === -1) {
93
- // If there isn't an existing global version, just add the team
96
+ // If there isn't an existing global version, just add the scenario
94
97
  // screenshot to the list
95
- result.push(teamScreen);
98
+ result.push(scenarioScreen);
96
99
  } else {
97
- // Otherwise we should use the team version instead of the global version
98
- result[existingGlobalIndex] = teamScreen;
100
+ // Otherwise we should use the scenario version instead of the global version
101
+ result[existingGlobalIndex] = scenarioScreen;
99
102
  }
100
103
  }
101
104
  } catch (err) {
@@ -106,7 +109,7 @@ BasePresentationModel.filterScreenshotsByTeam = function (_screenshots) {
106
109
  }
107
110
 
108
111
  // Try to return it in the same order every time
109
- var ordered = _lodash.default.orderBy(result, ["team", "subject"], ["desc", "asc"]);
112
+ var ordered = _lodash.default.orderBy(result, ["scenario", "subject"], ["desc", "asc"]);
110
113
  return new _deckVersionScreenshots.DeckVersionScreenshotCollection(ordered);
111
114
  };
112
115
 
@@ -1 +1 @@
1
- {"version":3,"file":"base-presentation-model.js","names":["_base","require","_deckVersionScreenshots","_team2","_lodash","_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","BasePresentationModel","exports","BaseModel","extend","url","screenshotsToMap","screenshots","models","reduce","result","model","subject","Error","image_256","getThumbnail","filterScreenshotsByTeam","_screenshots","_team","undefined","DeckVersionScreenshotCollection","team","TeamModel","globalScreenshots","screen","map","toJSON","teamScreenshots","_iterator","_step","teamScreen","existingGlobalIndex","_","findIndex","err","ordered","orderBy","getVisibilityAndSequence","options","_options$choicelist","choicelist","_options$selections","selections","config","visible","enabled","sequence","selectionID","choice","find","item","indexOf","adjunct","selection","id","getAppointmentTags","tags","_model$adjunct","tagItem","tag","content_url","getDeckTags","namespaced_key","isAutoAdjunct","key","includes","splitKey","split","deck","getTags","appointmentTags","deckTags","canBeEmpty"],"sources":["../../src/presentation/base-presentation-model.js"],"sourcesContent":["import { BaseModel } from \"../models/base.js\";\nimport { DeckVersionScreenshotCollection } from \"../collections/deck-version-screenshots.js\";\nimport { TeamModel } from \"../models/team.js\";\nimport _ from \"lodash\";\n\n/**\n * @constructor\n * @alias presentation.BasePresentationModel\n * @extends presentation.BaseModel\n */\nexport const BasePresentationModel = BaseModel.extend(\n\t/** @lends presentation.BasePresentationModel# */ {\n\t\turl() {\n\t\t\treturn null;\n\t\t},\n\t},\n);\n\nBasePresentationModel.screenshotsToMap = function (screenshots) {\n\tif (!screenshots?.models) {\n\t\treturn screenshots;\n\t}\n\n\treturn screenshots.reduce((result, model) => {\n\t\tif (result[model.subject]) {\n\t\t\tthrow new Error(`\n\t\t\t\tFound multiple screenshots that could match this subject. If there is a team\n\t\t\t\tand a global, be sure to remove the screenshot that you don't need.\n\t\t\t`);\n\t\t}\n\t\tresult[model.subject] = model.image_256;\n\t\treturn result;\n\t}, {});\n};\n\n/**\n * Logic to pick a thumbnail based on either the model itself or from\n * and overriding screenshot if one exists.\n */\nBasePresentationModel.getThumbnail = function (model, screenshots) {\n\tif (screenshots?.models) {\n\t\tthrow new Error(\"Expected map file\");\n\t}\n\n\tif (!model) {\n\t\treturn null;\n\t}\n\n\treturn screenshots[model.url()] || model.image_256;\n};\n\n/**\n * Takes a list of screenshots and filters it to only be a list used by a single team\n * (or company wide).\n *\n * The logic should be like this:\n *\n *\t* If the team is null, we just return all global screenshots (team = null)\n *\t* If we select a team, we take those global screenshots and replace any that have a\n *\t\tteam specific version of that screenshot. If none is found, the team will want to\n *\t\tsee the same global version. Obviously only one team's screenshots should be available.\n */\nBasePresentationModel.filterScreenshotsByTeam = function (\n\t_screenshots,\n\t_team = null,\n) {\n\tconst screenshots = new DeckVersionScreenshotCollection(_screenshots);\n\tconst team = _team ? new TeamModel(_team) : null;\n\n\tconst globalScreenshots = screenshots\n\t\t.filter((screen) => screen.team === null)\n\t\t.map((screen) => screen.toJSON());\n\n\tconst result = globalScreenshots;\n\n\tif (team) {\n\t\tconst teamScreenshots = screenshots\n\t\t\t.filter((screen) => screen.team && screen.team.url() === team.url())\n\t\t\t.map((screen) => ({ ...screen.toJSON(), team: screen.team.url() }));\n\n\t\tfor (const teamScreen of teamScreenshots) {\n\t\t\tconst existingGlobalIndex = _.findIndex(result, {\n\t\t\t\tsubject: teamScreen.subject,\n\t\t\t});\n\n\t\t\tif (existingGlobalIndex === -1) {\n\t\t\t\t// If there isn't an existing global version, just add the team\n\t\t\t\t// screenshot to the list\n\t\t\t\tresult.push(teamScreen);\n\t\t\t} else {\n\t\t\t\t// Otherwise we should use the team version instead of the global version\n\t\t\t\tresult[existingGlobalIndex] = teamScreen;\n\t\t\t}\n\t\t}\n\t}\n\n\t// Try to return it in the same order every time\n\tconst ordered = _.orderBy(result, [\"team\", \"subject\"], [\"desc\", \"asc\"]);\n\treturn new DeckVersionScreenshotCollection(ordered);\n};\n\n/**\n * Standard function for retrieving the visibility and sequence of a model\n * from a choicelist or section & slide selections. If a choicelist is\n * provided we prefer the choicelist, otherwise we use selections.\n * Adjuncts are included in choicelists but not in selections so we use the\n * model's state to determine sequence & vis when selections are used.\n */\nBasePresentationModel.getVisibilityAndSequence = function (\n\tmodel,\n\toptions = {},\n) {\n\tconst { choicelist = null, selections = null } = options;\n\tconst url = model.url();\n\n\tconst config = {\n\t\tvisible: model.visible || model.enabled || false,\n\t\tsequence: model.sequence,\n\t\tselectionID: null,\n\t};\n\n\tif (choicelist) {\n\t\t// All items should have a choicelist entry - if it's not in\n\t\t// the choicelist, it's not in the preso\n\t\tconst choice = choicelist.find((item) => item.url === url);\n\n\t\tif (choice) {\n\t\t\tconfig.sequence = choicelist.indexOf(choice);\n\t\t\tconfig.visible = choice.visible;\n\t\t} else {\n\t\t\tconfig.visible = false;\n\t\t}\n\t} else if (selections && !model.adjunct) {\n\t\t// Non-adjunct subslides and adjunct sections/slides/subslides\n\t\t// have no selections - they fall through here using their\n\t\t// model's values\n\t\tconst selection = selections.find((selection) => selection.url === url);\n\n\t\tif (selection) {\n\t\t\tconfig.visible = selection.visible;\n\t\t\tconfig.sequence = selection.sequence;\n\t\t\tconfig.selectionID = selection.id;\n\t\t}\n\t}\n\n\t// If neither a choicelist nor selections are available, the\n\t// values on the model will be used.\n\n\treturn config;\n};\n\nconst getAppointmentTags = function (model, tags) {\n\tconst url = model.adjunct?.url() || model.url();\n\tconst tagItem = tags.find((tag) => tag.content_url === url);\n\n\tif (tagItem) {\n\t\treturn tagItem.tags || [];\n\t}\n\n\t// Subslide tags currently aren't included in the\n\t// appointmentTags data.\n\treturn model.tags || [];\n};\n\nconst getDeckTags = function (model, tags) {\n\t// All non-adjunct sections, slides and subslides have namespaced_key\n\tif (model.namespaced_key) {\n\t\treturn tags[model.namespaced_key] || model.tags || [];\n\t} else if (model.adjunct || model.isAutoAdjunct) {\n\t\t// Autoadjunct keys are unique and move around so we search for them\n\t\t// and ignore the rest of the namespaced key\n\t\tconst keys = Object.keys(tags).filter((key) => {\n\t\t\tif (key.includes(\"/\")) {\n\t\t\t\tconst splitKey = key.split(\"/\");\n\n\t\t\t\treturn splitKey[splitKey.length - 1] === model.key;\n\t\t\t}\n\t\t\treturn key === model.key;\n\t\t});\n\t\treturn keys.length ? tags[keys[0]] : [];\n\t} else if (model.deck) {\n\t\t// The deck's namespaced key is always \"\" - this is because the\n\t\t// namespaced key format is section-key/slide-key, but the\n\t\t// deck sits above sections.\n\t\treturn tags[\"\"] || model.tags || [];\n\t}\n\n\treturn model.tags || [];\n};\n\n// Retrieve the tags for the model.\n// If appointmentTags is passed through in the options, we call the\n// getAppointmentTags function above to retrieve the appointment tags\n// for the model.\n// if there are no appointmentTags but deckTags are passed\n// through then we call the getDeckTags function.\n// In the future we will always use one of these two methods and\n// references to model.tags should be removed.\nBasePresentationModel.getTags = function (model, options = {}) {\n\tif (options.appointmentTags) {\n\t\treturn getAppointmentTags(model, options.appointmentTags);\n\t}\n\n\tif (options.deckTags) {\n\t\treturn getDeckTags(model, options.deckTags);\n\t}\n\n\treturn model.tags || [];\n};\n\nBasePresentationModel.canBeEmpty = true;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"base-presentation-model.js","names":["_base","require","_deckVersionScreenshots","_scenario2","_lodash","_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","BasePresentationModel","exports","BaseModel","extend","url","screenshotsToMap","screenshots","models","reduce","result","model","subject","Error","image_256","getThumbnail","filterScreenshotsByScenario","_screenshots","_scenario","undefined","DeckVersionScreenshotCollection","scenario","ScenarioModel","id","globalScreenshots","screen","map","toJSON","scenarioScreenshots","_iterator","_step","scenarioScreen","existingGlobalIndex","_","findIndex","err","ordered","orderBy","getVisibilityAndSequence","options","_options$choicelist","choicelist","_options$selections","selections","config","visible","enabled","sequence","selectionID","choice","find","item","indexOf","adjunct","selection","getAppointmentTags","tags","_model$adjunct","tagItem","tag","content_url","getDeckTags","namespaced_key","isAutoAdjunct","key","includes","splitKey","split","deck","getTags","appointmentTags","deckTags","canBeEmpty"],"sources":["../../src/presentation/base-presentation-model.js"],"sourcesContent":["import { BaseModel } from \"../models/base.js\";\nimport { DeckVersionScreenshotCollection } from \"../collections/deck-version-screenshots.js\";\nimport { ScenarioModel } from \"../models/scenario.js\";\nimport _ from \"lodash\";\n\n/**\n * @constructor\n * @alias presentation.BasePresentationModel\n * @extends presentation.BaseModel\n */\nexport const BasePresentationModel = BaseModel.extend(\n\t/** @lends presentation.BasePresentationModel# */ {\n\t\turl() {\n\t\t\treturn null;\n\t\t},\n\t},\n);\n\nBasePresentationModel.screenshotsToMap = function (screenshots) {\n\tif (!screenshots?.models) {\n\t\treturn screenshots;\n\t}\n\n\treturn screenshots.reduce((result, model) => {\n\t\tif (result[model.subject]) {\n\t\t\tthrow new Error(`\n\t\t\t\tFound multiple screenshots that could match this subject. If there is a scenario\n\t\t\t\tand a global, be sure to remove the screenshot that you don't need.\n\t\t\t`);\n\t\t}\n\t\tresult[model.subject] = model.image_256;\n\t\treturn result;\n\t}, {});\n};\n\n/**\n * Logic to pick a thumbnail based on either the model itself or from\n * and overriding screenshot if one exists.\n */\nBasePresentationModel.getThumbnail = function (model, screenshots) {\n\tif (screenshots?.models) {\n\t\tthrow new Error(\"Expected map file\");\n\t}\n\n\tif (!model) {\n\t\treturn null;\n\t}\n\n\treturn screenshots[model.url()] || model.image_256;\n};\n\n/**\n * Takes a list of screenshots and filters it to only be a list used by a single scenario\n * (or company wide).\n *\n * The logic should be like this:\n *\n *\t* If the scenario is null, we just return all global screenshots (scenario = null)\n *\t* If we select a scenario, we take those global screenshots and replace any that have a\n *\t\tscenario specific version of that screenshot. If none is found, the\n *\t\tscenario will want to see the same global version. Obviously only one\n *\t\tscenario's screenshots should be available.\n */\nBasePresentationModel.filterScreenshotsByScenario = function (\n\t_screenshots,\n\t_scenario = null,\n) {\n\tconst screenshots = new DeckVersionScreenshotCollection(_screenshots);\n\tconst scenario = _scenario ? new ScenarioModel({ id: _scenario }) : null;\n\n\tconst globalScreenshots = screenshots\n\t\t.filter((screen) => screen.scenario === null)\n\t\t.map((screen) => screen.toJSON());\n\n\tconst result = globalScreenshots;\n\n\tif (scenario) {\n\t\tconst scenarioScreenshots = screenshots\n\t\t\t.filter(\n\t\t\t\t(screen) => screen.scenario && screen.scenario.url() === scenario.url(),\n\t\t\t)\n\t\t\t.map((screen) => ({\n\t\t\t\t...screen.toJSON(),\n\t\t\t\tscenario: screen.scenario.url(),\n\t\t\t}));\n\n\t\tfor (const scenarioScreen of scenarioScreenshots) {\n\t\t\tconst existingGlobalIndex = _.findIndex(result, {\n\t\t\t\tsubject: scenarioScreen.subject,\n\t\t\t});\n\n\t\t\tif (existingGlobalIndex === -1) {\n\t\t\t\t// If there isn't an existing global version, just add the scenario\n\t\t\t\t// screenshot to the list\n\t\t\t\tresult.push(scenarioScreen);\n\t\t\t} else {\n\t\t\t\t// Otherwise we should use the scenario version instead of the global version\n\t\t\t\tresult[existingGlobalIndex] = scenarioScreen;\n\t\t\t}\n\t\t}\n\t}\n\n\t// Try to return it in the same order every time\n\tconst ordered = _.orderBy(result, [\"scenario\", \"subject\"], [\"desc\", \"asc\"]);\n\treturn new DeckVersionScreenshotCollection(ordered);\n};\n\n/**\n * Standard function for retrieving the visibility and sequence of a model\n * from a choicelist or section & slide selections. If a choicelist is\n * provided we prefer the choicelist, otherwise we use selections.\n * Adjuncts are included in choicelists but not in selections so we use the\n * model's state to determine sequence & vis when selections are used.\n */\nBasePresentationModel.getVisibilityAndSequence = function (\n\tmodel,\n\toptions = {},\n) {\n\tconst { choicelist = null, selections = null } = options;\n\tconst url = model.url();\n\n\tconst config = {\n\t\tvisible: model.visible || model.enabled || false,\n\t\tsequence: model.sequence,\n\t\tselectionID: null,\n\t};\n\n\tif (choicelist) {\n\t\t// All items should have a choicelist entry - if it's not in\n\t\t// the choicelist, it's not in the preso\n\t\tconst choice = choicelist.find((item) => item.url === url);\n\n\t\tif (choice) {\n\t\t\tconfig.sequence = choicelist.indexOf(choice);\n\t\t\tconfig.visible = choice.visible;\n\t\t} else {\n\t\t\tconfig.visible = false;\n\t\t}\n\t} else if (selections && !model.adjunct) {\n\t\t// Non-adjunct subslides and adjunct sections/slides/subslides\n\t\t// have no selections - they fall through here using their\n\t\t// model's values\n\t\tconst selection = selections.find((selection) => selection.url === url);\n\n\t\tif (selection) {\n\t\t\tconfig.visible = selection.visible;\n\t\t\tconfig.sequence = selection.sequence;\n\t\t\tconfig.selectionID = selection.id;\n\t\t}\n\t}\n\n\t// If neither a choicelist nor selections are available, the\n\t// values on the model will be used.\n\n\treturn config;\n};\n\nconst getAppointmentTags = function (model, tags) {\n\tconst url = model.adjunct?.url() || model.url();\n\tconst tagItem = tags.find((tag) => tag.content_url === url);\n\n\tif (tagItem) {\n\t\treturn tagItem.tags || [];\n\t}\n\n\t// Subslide tags currently aren't included in the\n\t// appointmentTags data.\n\treturn model.tags || [];\n};\n\nconst getDeckTags = function (model, tags) {\n\t// All non-adjunct sections, slides and subslides have namespaced_key\n\tif (model.namespaced_key) {\n\t\treturn tags[model.namespaced_key] || model.tags || [];\n\t} else if (model.adjunct || model.isAutoAdjunct) {\n\t\t// Autoadjunct keys are unique and move around so we search for them\n\t\t// and ignore the rest of the namespaced key\n\t\tconst keys = Object.keys(tags).filter((key) => {\n\t\t\tif (key.includes(\"/\")) {\n\t\t\t\tconst splitKey = key.split(\"/\");\n\n\t\t\t\treturn splitKey[splitKey.length - 1] === model.key;\n\t\t\t}\n\t\t\treturn key === model.key;\n\t\t});\n\t\treturn keys.length ? tags[keys[0]] : [];\n\t} else if (model.deck) {\n\t\t// The deck's namespaced key is always \"\" - this is because the\n\t\t// namespaced key format is section-key/slide-key, but the\n\t\t// deck sits above sections.\n\t\treturn tags[\"\"] || model.tags || [];\n\t}\n\n\treturn model.tags || [];\n};\n\n// Retrieve the tags for the model.\n// If appointmentTags is passed through in the options, we call the\n// getAppointmentTags function above to retrieve the appointment tags\n// for the model.\n// if there are no appointmentTags but deckTags are passed\n// through then we call the getDeckTags function.\n// In the future we will always use one of these two methods and\n// references to model.tags should be removed.\nBasePresentationModel.getTags = function (model, options = {}) {\n\tif (options.appointmentTags) {\n\t\treturn getAppointmentTags(model, options.appointmentTags);\n\t}\n\n\tif (options.deckTags) {\n\t\treturn getDeckTags(model, options.deckTags);\n\t}\n\n\treturn model.tags || [];\n};\n\nBasePresentationModel.canBeEmpty = true;\n"],"mappings":"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","ignoreList":[]}
@@ -185,56 +185,56 @@ describe("#getTags", function () {
185
185
  expect(tags).toEqual(["adjunctslide-tags"]);
186
186
  });
187
187
  });
188
- describe("#filterScreenshotsByTeam", function () {
188
+ describe("#filterScreenshotsByScenario", function () {
189
189
  var screenshots = new _deckVersionScreenshots.DeckVersionScreenshotCollection([{
190
190
  subject: "/api/slides/1/",
191
191
  image_256: "global-screenshot-1.png",
192
- team: null
192
+ scenario: null
193
193
  }, {
194
194
  subject: "/api/slides/2/",
195
195
  image_256: "global-screenshot-2.png",
196
- team: null
196
+ scenario: null
197
197
  }, {
198
198
  subject: "/api/slides/1/",
199
- image_256: "team-1-screenshot.png",
200
- team: "/api/teams/1/"
199
+ image_256: "scenario-1-screenshot.png",
200
+ scenario: "/api/scenarios/50465ccb-8887-4e1c-bb01-84c91a58c7ea/"
201
201
  }, {
202
202
  subject: "/api/sections/2/",
203
- image_256: "team-1-screenshot.png",
204
- team: "/api/teams/1/"
203
+ image_256: "scenario-1-screenshot.png",
204
+ scenario: "/api/scenarios/50465ccb-8887-4e1c-bb01-84c91a58c7ea/"
205
205
  },
206
- // Just for testing that the team filters don't get cross-contaminated
206
+ // Just for testing that the scenario filters don't get cross-contaminated
207
207
  {
208
208
  subject: "/api/sections/2/",
209
- image_256: "team-2-screenshot.png",
210
- team: "/api/teams/2/"
209
+ image_256: "scenario-2-screenshot.png",
210
+ scenario: "/api/scenarios/9d35f335-efe7-4e5b-8365-f2afa229469d/"
211
211
  }]);
212
- it("should just return global screenshots if team is null", function () {
213
- var filtered = _basePresentationModel.BasePresentationModel.filterScreenshotsByTeam(screenshots, null).toJSON();
212
+ it("should just return global screenshots if scenario is null", function () {
213
+ var filtered = _basePresentationModel.BasePresentationModel.filterScreenshotsByScenario(screenshots, null).toJSON();
214
214
  expect(filtered).toEqual([{
215
215
  subject: "/api/slides/1/",
216
216
  image_256: "global-screenshot-1.png",
217
- team: null
217
+ scenario: null
218
218
  }, {
219
219
  subject: "/api/slides/2/",
220
220
  image_256: "global-screenshot-2.png",
221
- team: null
221
+ scenario: null
222
222
  }]);
223
223
  });
224
- it("should return globals with team override", function () {
225
- var filtered = _basePresentationModel.BasePresentationModel.filterScreenshotsByTeam(screenshots, 1).toJSON();
224
+ it("should return globals with scenario override", function () {
225
+ var filtered = _basePresentationModel.BasePresentationModel.filterScreenshotsByScenario(screenshots, "50465ccb-8887-4e1c-bb01-84c91a58c7ea").toJSON();
226
226
  expect(filtered).toEqual([{
227
227
  image_256: "global-screenshot-2.png",
228
228
  subject: "/api/slides/2/",
229
- team: null
229
+ scenario: null
230
230
  }, {
231
- image_256: "team-1-screenshot.png",
231
+ image_256: "scenario-1-screenshot.png",
232
232
  subject: "/api/sections/2/",
233
- team: "/api/teams/1/"
233
+ scenario: "/api/scenarios/50465ccb-8887-4e1c-bb01-84c91a58c7ea/"
234
234
  }, {
235
- image_256: "team-1-screenshot.png",
235
+ image_256: "scenario-1-screenshot.png",
236
236
  subject: "/api/slides/1/",
237
- team: "/api/teams/1/"
237
+ scenario: "/api/scenarios/50465ccb-8887-4e1c-bb01-84c91a58c7ea/"
238
238
  }]);
239
239
  });
240
240
  });
@@ -1 +1 @@
1
- {"version":3,"file":"base-presentation-model.spec.js","names":["_basePresentationModel","require","_deckVersionScreenshots","describe","it","config","BasePresentationModel","getVisibilityAndSequence","sequence","visible","url","expected","selectionID","expect","toEqual","choicelist","selections","id","tags","getTags","_typeof2","default","length","model","namespaced_key","options","deckTags","deck","adjunct","key","screenshots","DeckVersionScreenshotCollection","subject","image_256","team","filtered","filterScreenshotsByTeam","toJSON"],"sources":["../../src/presentation/base-presentation-model.spec.js"],"sourcesContent":["import { BasePresentationModel } from \"./base-presentation-model.js\";\nimport { DeckVersionScreenshotCollection } from \"../collections/deck-version-screenshots.js\";\n\ndescribe(\"#getVisibilityAndSequence\", () => {\n\tit(\"should return model defaults when no options\", () => {\n\t\tconst config = BasePresentationModel.getVisibilityAndSequence({\n\t\t\tsequence: 99,\n\t\t\tvisible: true,\n\t\t\turl: () => \"\",\n\t\t});\n\n\t\tconst expected = {\n\t\t\tsequence: 99,\n\t\t\tvisible: true,\n\t\t\tselectionID: null,\n\t\t};\n\n\t\texpect(config).toEqual(expected);\n\t});\n\n\tit(\"should return model defaults when no options\", () => {\n\t\tconst config = BasePresentationModel.getVisibilityAndSequence({\n\t\t\tsequence: 99,\n\t\t\tvisible: true,\n\t\t\turl: () => \"\",\n\t\t});\n\n\t\tconst expected = {\n\t\t\tsequence: 99,\n\t\t\tvisible: true,\n\t\t\tselectionID: null,\n\t\t};\n\n\t\texpect(config).toEqual(expected);\n\t});\n\n\tit(\"should return choicelist config\", () => {\n\t\tconst choicelist = [\n\t\t\t{\n\t\t\t\turl: \"bleh/meh\",\n\t\t\t\tvisible: true,\n\t\t\t},\n\t\t];\n\n\t\tconst config = BasePresentationModel.getVisibilityAndSequence(\n\t\t\t{\n\t\t\t\tsequence: 99,\n\t\t\t\tvisible: false,\n\t\t\t\turl: () => \"bleh/meh\",\n\t\t\t},\n\t\t\t{\n\t\t\t\tchoicelist,\n\t\t\t},\n\t\t);\n\n\t\tconst expected = {\n\t\t\tsequence: 0,\n\t\t\tvisible: true,\n\t\t\tselectionID: null,\n\t\t};\n\n\t\texpect(config).toEqual(expected);\n\t});\n\n\tit(\"should return selections config\", () => {\n\t\tconst selections = [\n\t\t\t{\n\t\t\t\turl: \"bleh/meh\",\n\t\t\t\tvisible: true,\n\t\t\t\tsequence: 27,\n\t\t\t\tid: 58,\n\t\t\t},\n\t\t];\n\n\t\tconst config = BasePresentationModel.getVisibilityAndSequence(\n\t\t\t{\n\t\t\t\tsequence: 99,\n\t\t\t\tvisible: false,\n\t\t\t\turl: () => \"bleh/meh\",\n\t\t\t},\n\t\t\t{\n\t\t\t\tselections,\n\t\t\t},\n\t\t);\n\n\t\tconst expected = {\n\t\t\tsequence: 27,\n\t\t\tvisible: true,\n\t\t\tselectionID: 58,\n\t\t};\n\n\t\texpect(config).toEqual(expected);\n\t});\n\n\tit(\"should return choicelist config if both are provided\", () => {\n\t\tconst choicelist = [\n\t\t\t{\n\t\t\t\turl: \"gah/meh\",\n\t\t\t\tvisible: false,\n\t\t\t},\n\t\t\t{\n\t\t\t\turl: \"bleh/meh\",\n\t\t\t\tvisible: true,\n\t\t\t},\n\t\t];\n\n\t\tconst selections = [\n\t\t\t{\n\t\t\t\turl: \"bleh/meh\",\n\t\t\t\tvisible: true,\n\t\t\t\tsequence: 27,\n\t\t\t\tid: 58,\n\t\t\t},\n\t\t];\n\n\t\tconst config = BasePresentationModel.getVisibilityAndSequence(\n\t\t\t{\n\t\t\t\tsequence: 99,\n\t\t\t\tvisible: false,\n\t\t\t\turl: () => \"bleh/meh\",\n\t\t\t},\n\t\t\t{\n\t\t\t\tchoicelist,\n\t\t\t\tselections,\n\t\t\t},\n\t\t);\n\n\t\tconst expected = {\n\t\t\tsequence: 1,\n\t\t\tvisible: true,\n\t\t\tselectionID: null,\n\t\t};\n\n\t\texpect(config).toEqual(expected);\n\t});\n\n\t// adjuncts!!\n});\n\ndescribe(\"#getTags\", () => {\n\tit(\"should return empty array when no options or model tags\", () => {\n\t\tconst tags = BasePresentationModel.getTags({});\n\n\t\texpect(typeof tags).toEqual(\"object\");\n\t\texpect(tags.length).toEqual(0);\n\t});\n\n\tit(\"should return tags when no tags passed in options\", () => {\n\t\tconst model = {\n\t\t\ttags: [\"model-tag-1\", \"model-tag-2\"],\n\t\t};\n\t\tconst tags = BasePresentationModel.getTags(model);\n\n\t\texpect(tags).toEqual(model.tags);\n\t});\n\n\tit(\"should return tags for slide when tags passed in options\", () => {\n\t\tconst model = {\n\t\t\tnamespaced_key: \"slide-key\",\n\t\t\ttags: [\"model-tag-1\", \"model-tag-2\"],\n\t\t};\n\n\t\tconst options = {\n\t\t\tdeckTags: {\n\t\t\t\t\"\": [\"deck-tags\"],\n\t\t\t\t\"slide-key\": [\"slide-tags\"],\n\t\t\t},\n\t\t};\n\n\t\tconst tags = BasePresentationModel.getTags(model, options);\n\n\t\texpect(tags).toEqual([\"slide-tags\"]);\n\t});\n\n\tit(\"should return tags for welcome slide when tags passed in options\", () => {\n\t\tconst model = {\n\t\t\tdeck: {},\n\t\t\ttags: [\"model-tag-1\", \"model-tag-2\"],\n\t\t};\n\n\t\tconst options = {\n\t\t\tdeckTags: {\n\t\t\t\t\"\": [\"deck-tags\"],\n\t\t\t\t\"slide-key\": [\"slide-tags\"],\n\t\t\t},\n\t\t};\n\n\t\tconst tags = BasePresentationModel.getTags(model, options);\n\n\t\texpect(tags).toEqual([\"deck-tags\"]);\n\t});\n\n\tit(\"should return tags for an adjunct section when tags passed in options\", () => {\n\t\tconst model = {\n\t\t\tadjunct: true,\n\t\t\tkey: \"adjunctsection-key\",\n\t\t\ttags: [\"old-tag-1\", \"old-tag-2\"],\n\t\t};\n\n\t\tconst options = {\n\t\t\tdeckTags: {\n\t\t\t\t\"\": [\"deck-tags\"],\n\t\t\t\t\"adjunctsection-key\": [\"adjunctsection-tags\"],\n\t\t\t},\n\t\t};\n\n\t\tconst tags = BasePresentationModel.getTags(model, options);\n\n\t\texpect(tags).toEqual([\"adjunctsection-tags\"]);\n\t});\n\n\tit(\"should return tags for an adjunct slide when tags passed in options\", () => {\n\t\tconst model = {\n\t\t\tadjunct: true,\n\t\t\tkey: \"adjunctslide-key\",\n\t\t\ttags: [\"old-tag-1\", \"old-tag-2\"],\n\t\t};\n\n\t\tconst options = {\n\t\t\tdeckTags: {\n\t\t\t\t\"\": [\"deck-tags\"],\n\t\t\t\t\"section-key/adjunctslide-key\": [\"adjunctslide-tags\"],\n\t\t\t},\n\t\t};\n\n\t\tconst tags = BasePresentationModel.getTags(model, options);\n\n\t\texpect(tags).toEqual([\"adjunctslide-tags\"]);\n\t});\n});\n\ndescribe(\"#filterScreenshotsByTeam\", () => {\n\tconst screenshots = new DeckVersionScreenshotCollection([\n\t\t{\n\t\t\tsubject: \"/api/slides/1/\",\n\t\t\timage_256: \"global-screenshot-1.png\",\n\t\t\tteam: null,\n\t\t},\n\t\t{\n\t\t\tsubject: \"/api/slides/2/\",\n\t\t\timage_256: \"global-screenshot-2.png\",\n\t\t\tteam: null,\n\t\t},\n\t\t{\n\t\t\tsubject: \"/api/slides/1/\",\n\t\t\timage_256: \"team-1-screenshot.png\",\n\t\t\tteam: \"/api/teams/1/\",\n\t\t},\n\t\t{\n\t\t\tsubject: \"/api/sections/2/\",\n\t\t\timage_256: \"team-1-screenshot.png\",\n\t\t\tteam: \"/api/teams/1/\",\n\t\t},\n\t\t// Just for testing that the team filters don't get cross-contaminated\n\t\t{\n\t\t\tsubject: \"/api/sections/2/\",\n\t\t\timage_256: \"team-2-screenshot.png\",\n\t\t\tteam: \"/api/teams/2/\",\n\t\t},\n\t]);\n\n\tit(\"should just return global screenshots if team is null\", () => {\n\t\tconst filtered = BasePresentationModel.filterScreenshotsByTeam(\n\t\t\tscreenshots,\n\t\t\tnull,\n\t\t).toJSON();\n\n\t\texpect(filtered).toEqual([\n\t\t\t{\n\t\t\t\tsubject: \"/api/slides/1/\",\n\t\t\t\timage_256: \"global-screenshot-1.png\",\n\t\t\t\tteam: null,\n\t\t\t},\n\t\t\t{\n\t\t\t\tsubject: \"/api/slides/2/\",\n\t\t\t\timage_256: \"global-screenshot-2.png\",\n\t\t\t\tteam: null,\n\t\t\t},\n\t\t]);\n\t});\n\n\tit(\"should return globals with team override\", () => {\n\t\tconst filtered = BasePresentationModel.filterScreenshotsByTeam(\n\t\t\tscreenshots,\n\t\t\t1,\n\t\t).toJSON();\n\n\t\texpect(filtered).toEqual([\n\t\t\t{\n\t\t\t\timage_256: \"global-screenshot-2.png\",\n\t\t\t\tsubject: \"/api/slides/2/\",\n\t\t\t\tteam: null,\n\t\t\t},\n\t\t\t{\n\t\t\t\timage_256: \"team-1-screenshot.png\",\n\t\t\t\tsubject: \"/api/sections/2/\",\n\t\t\t\tteam: \"/api/teams/1/\",\n\t\t\t},\n\t\t\t{\n\t\t\t\timage_256: \"team-1-screenshot.png\",\n\t\t\t\tsubject: \"/api/slides/1/\",\n\t\t\t\tteam: \"/api/teams/1/\",\n\t\t\t},\n\t\t]);\n\t});\n});\n"],"mappings":";;;;AAAA,IAAAA,sBAAA,GAAAC,OAAA;AACA,IAAAC,uBAAA,GAAAD,OAAA;AAEAE,QAAQ,CAAC,2BAA2B,EAAE,YAAM;EAC3CC,EAAE,CAAC,8CAA8C,EAAE,YAAM;IACxD,IAAMC,MAAM,GAAGC,4CAAqB,CAACC,wBAAwB,CAAC;MAC7DC,QAAQ,EAAE,EAAE;MACZC,OAAO,EAAE,IAAI;MACbC,GAAG,EAAE,SAALA,GAAGA,CAAA;QAAA,OAAQ,EAAE;MAAA;IACd,CAAC,CAAC;IAEF,IAAMC,QAAQ,GAAG;MAChBH,QAAQ,EAAE,EAAE;MACZC,OAAO,EAAE,IAAI;MACbG,WAAW,EAAE;IACd,CAAC;IAEDC,MAAM,CAACR,MAAM,CAAC,CAACS,OAAO,CAACH,QAAQ,CAAC;EACjC,CAAC,CAAC;EAEFP,EAAE,CAAC,8CAA8C,EAAE,YAAM;IACxD,IAAMC,MAAM,GAAGC,4CAAqB,CAACC,wBAAwB,CAAC;MAC7DC,QAAQ,EAAE,EAAE;MACZC,OAAO,EAAE,IAAI;MACbC,GAAG,EAAE,SAALA,GAAGA,CAAA;QAAA,OAAQ,EAAE;MAAA;IACd,CAAC,CAAC;IAEF,IAAMC,QAAQ,GAAG;MAChBH,QAAQ,EAAE,EAAE;MACZC,OAAO,EAAE,IAAI;MACbG,WAAW,EAAE;IACd,CAAC;IAEDC,MAAM,CAACR,MAAM,CAAC,CAACS,OAAO,CAACH,QAAQ,CAAC;EACjC,CAAC,CAAC;EAEFP,EAAE,CAAC,iCAAiC,EAAE,YAAM;IAC3C,IAAMW,UAAU,GAAG,CAClB;MACCL,GAAG,EAAE,UAAU;MACfD,OAAO,EAAE;IACV,CAAC,CACD;IAED,IAAMJ,MAAM,GAAGC,4CAAqB,CAACC,wBAAwB,CAC5D;MACCC,QAAQ,EAAE,EAAE;MACZC,OAAO,EAAE,KAAK;MACdC,GAAG,EAAE,SAALA,GAAGA,CAAA;QAAA,OAAQ,UAAU;MAAA;IACtB,CAAC,EACD;MACCK,UAAU,EAAVA;IACD,CACD,CAAC;IAED,IAAMJ,QAAQ,GAAG;MAChBH,QAAQ,EAAE,CAAC;MACXC,OAAO,EAAE,IAAI;MACbG,WAAW,EAAE;IACd,CAAC;IAEDC,MAAM,CAACR,MAAM,CAAC,CAACS,OAAO,CAACH,QAAQ,CAAC;EACjC,CAAC,CAAC;EAEFP,EAAE,CAAC,iCAAiC,EAAE,YAAM;IAC3C,IAAMY,UAAU,GAAG,CAClB;MACCN,GAAG,EAAE,UAAU;MACfD,OAAO,EAAE,IAAI;MACbD,QAAQ,EAAE,EAAE;MACZS,EAAE,EAAE;IACL,CAAC,CACD;IAED,IAAMZ,MAAM,GAAGC,4CAAqB,CAACC,wBAAwB,CAC5D;MACCC,QAAQ,EAAE,EAAE;MACZC,OAAO,EAAE,KAAK;MACdC,GAAG,EAAE,SAALA,GAAGA,CAAA;QAAA,OAAQ,UAAU;MAAA;IACtB,CAAC,EACD;MACCM,UAAU,EAAVA;IACD,CACD,CAAC;IAED,IAAML,QAAQ,GAAG;MAChBH,QAAQ,EAAE,EAAE;MACZC,OAAO,EAAE,IAAI;MACbG,WAAW,EAAE;IACd,CAAC;IAEDC,MAAM,CAACR,MAAM,CAAC,CAACS,OAAO,CAACH,QAAQ,CAAC;EACjC,CAAC,CAAC;EAEFP,EAAE,CAAC,sDAAsD,EAAE,YAAM;IAChE,IAAMW,UAAU,GAAG,CAClB;MACCL,GAAG,EAAE,SAAS;MACdD,OAAO,EAAE;IACV,CAAC,EACD;MACCC,GAAG,EAAE,UAAU;MACfD,OAAO,EAAE;IACV,CAAC,CACD;IAED,IAAMO,UAAU,GAAG,CAClB;MACCN,GAAG,EAAE,UAAU;MACfD,OAAO,EAAE,IAAI;MACbD,QAAQ,EAAE,EAAE;MACZS,EAAE,EAAE;IACL,CAAC,CACD;IAED,IAAMZ,MAAM,GAAGC,4CAAqB,CAACC,wBAAwB,CAC5D;MACCC,QAAQ,EAAE,EAAE;MACZC,OAAO,EAAE,KAAK;MACdC,GAAG,EAAE,SAALA,GAAGA,CAAA;QAAA,OAAQ,UAAU;MAAA;IACtB,CAAC,EACD;MACCK,UAAU,EAAVA,UAAU;MACVC,UAAU,EAAVA;IACD,CACD,CAAC;IAED,IAAML,QAAQ,GAAG;MAChBH,QAAQ,EAAE,CAAC;MACXC,OAAO,EAAE,IAAI;MACbG,WAAW,EAAE;IACd,CAAC;IAEDC,MAAM,CAACR,MAAM,CAAC,CAACS,OAAO,CAACH,QAAQ,CAAC;EACjC,CAAC,CAAC;;EAEF;AACD,CAAC,CAAC;AAEFR,QAAQ,CAAC,UAAU,EAAE,YAAM;EAC1BC,EAAE,CAAC,yDAAyD,EAAE,YAAM;IACnE,IAAMc,IAAI,GAAGZ,4CAAqB,CAACa,OAAO,CAAC,CAAC,CAAC,CAAC;IAE9CN,MAAM,KAAAO,QAAA,CAAAC,OAAA,EAAQH,IAAI,EAAC,CAACJ,OAAO,CAAC,QAAQ,CAAC;IACrCD,MAAM,CAACK,IAAI,CAACI,MAAM,CAAC,CAACR,OAAO,CAAC,CAAC,CAAC;EAC/B,CAAC,CAAC;EAEFV,EAAE,CAAC,mDAAmD,EAAE,YAAM;IAC7D,IAAMmB,KAAK,GAAG;MACbL,IAAI,EAAE,CAAC,aAAa,EAAE,aAAa;IACpC,CAAC;IACD,IAAMA,IAAI,GAAGZ,4CAAqB,CAACa,OAAO,CAACI,KAAK,CAAC;IAEjDV,MAAM,CAACK,IAAI,CAAC,CAACJ,OAAO,CAACS,KAAK,CAACL,IAAI,CAAC;EACjC,CAAC,CAAC;EAEFd,EAAE,CAAC,0DAA0D,EAAE,YAAM;IACpE,IAAMmB,KAAK,GAAG;MACbC,cAAc,EAAE,WAAW;MAC3BN,IAAI,EAAE,CAAC,aAAa,EAAE,aAAa;IACpC,CAAC;IAED,IAAMO,OAAO,GAAG;MACfC,QAAQ,EAAE;QACT,EAAE,EAAE,CAAC,WAAW,CAAC;QACjB,WAAW,EAAE,CAAC,YAAY;MAC3B;IACD,CAAC;IAED,IAAMR,IAAI,GAAGZ,4CAAqB,CAACa,OAAO,CAACI,KAAK,EAAEE,OAAO,CAAC;IAE1DZ,MAAM,CAACK,IAAI,CAAC,CAACJ,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC;EACrC,CAAC,CAAC;EAEFV,EAAE,CAAC,kEAAkE,EAAE,YAAM;IAC5E,IAAMmB,KAAK,GAAG;MACbI,IAAI,EAAE,CAAC,CAAC;MACRT,IAAI,EAAE,CAAC,aAAa,EAAE,aAAa;IACpC,CAAC;IAED,IAAMO,OAAO,GAAG;MACfC,QAAQ,EAAE;QACT,EAAE,EAAE,CAAC,WAAW,CAAC;QACjB,WAAW,EAAE,CAAC,YAAY;MAC3B;IACD,CAAC;IAED,IAAMR,IAAI,GAAGZ,4CAAqB,CAACa,OAAO,CAACI,KAAK,EAAEE,OAAO,CAAC;IAE1DZ,MAAM,CAACK,IAAI,CAAC,CAACJ,OAAO,CAAC,CAAC,WAAW,CAAC,CAAC;EACpC,CAAC,CAAC;EAEFV,EAAE,CAAC,uEAAuE,EAAE,YAAM;IACjF,IAAMmB,KAAK,GAAG;MACbK,OAAO,EAAE,IAAI;MACbC,GAAG,EAAE,oBAAoB;MACzBX,IAAI,EAAE,CAAC,WAAW,EAAE,WAAW;IAChC,CAAC;IAED,IAAMO,OAAO,GAAG;MACfC,QAAQ,EAAE;QACT,EAAE,EAAE,CAAC,WAAW,CAAC;QACjB,oBAAoB,EAAE,CAAC,qBAAqB;MAC7C;IACD,CAAC;IAED,IAAMR,IAAI,GAAGZ,4CAAqB,CAACa,OAAO,CAACI,KAAK,EAAEE,OAAO,CAAC;IAE1DZ,MAAM,CAACK,IAAI,CAAC,CAACJ,OAAO,CAAC,CAAC,qBAAqB,CAAC,CAAC;EAC9C,CAAC,CAAC;EAEFV,EAAE,CAAC,qEAAqE,EAAE,YAAM;IAC/E,IAAMmB,KAAK,GAAG;MACbK,OAAO,EAAE,IAAI;MACbC,GAAG,EAAE,kBAAkB;MACvBX,IAAI,EAAE,CAAC,WAAW,EAAE,WAAW;IAChC,CAAC;IAED,IAAMO,OAAO,GAAG;MACfC,QAAQ,EAAE;QACT,EAAE,EAAE,CAAC,WAAW,CAAC;QACjB,8BAA8B,EAAE,CAAC,mBAAmB;MACrD;IACD,CAAC;IAED,IAAMR,IAAI,GAAGZ,4CAAqB,CAACa,OAAO,CAACI,KAAK,EAAEE,OAAO,CAAC;IAE1DZ,MAAM,CAACK,IAAI,CAAC,CAACJ,OAAO,CAAC,CAAC,mBAAmB,CAAC,CAAC;EAC5C,CAAC,CAAC;AACH,CAAC,CAAC;AAEFX,QAAQ,CAAC,0BAA0B,EAAE,YAAM;EAC1C,IAAM2B,WAAW,GAAG,IAAIC,uDAA+B,CAAC,CACvD;IACCC,OAAO,EAAE,gBAAgB;IACzBC,SAAS,EAAE,yBAAyB;IACpCC,IAAI,EAAE;EACP,CAAC,EACD;IACCF,OAAO,EAAE,gBAAgB;IACzBC,SAAS,EAAE,yBAAyB;IACpCC,IAAI,EAAE;EACP,CAAC,EACD;IACCF,OAAO,EAAE,gBAAgB;IACzBC,SAAS,EAAE,uBAAuB;IAClCC,IAAI,EAAE;EACP,CAAC,EACD;IACCF,OAAO,EAAE,kBAAkB;IAC3BC,SAAS,EAAE,uBAAuB;IAClCC,IAAI,EAAE;EACP,CAAC;EACD;EACA;IACCF,OAAO,EAAE,kBAAkB;IAC3BC,SAAS,EAAE,uBAAuB;IAClCC,IAAI,EAAE;EACP,CAAC,CACD,CAAC;EAEF9B,EAAE,CAAC,uDAAuD,EAAE,YAAM;IACjE,IAAM+B,QAAQ,GAAG7B,4CAAqB,CAAC8B,uBAAuB,CAC7DN,WAAW,EACX,IACD,CAAC,CAACO,MAAM,CAAC,CAAC;IAEVxB,MAAM,CAACsB,QAAQ,CAAC,CAACrB,OAAO,CAAC,CACxB;MACCkB,OAAO,EAAE,gBAAgB;MACzBC,SAAS,EAAE,yBAAyB;MACpCC,IAAI,EAAE;IACP,CAAC,EACD;MACCF,OAAO,EAAE,gBAAgB;MACzBC,SAAS,EAAE,yBAAyB;MACpCC,IAAI,EAAE;IACP,CAAC,CACD,CAAC;EACH,CAAC,CAAC;EAEF9B,EAAE,CAAC,0CAA0C,EAAE,YAAM;IACpD,IAAM+B,QAAQ,GAAG7B,4CAAqB,CAAC8B,uBAAuB,CAC7DN,WAAW,EACX,CACD,CAAC,CAACO,MAAM,CAAC,CAAC;IAEVxB,MAAM,CAACsB,QAAQ,CAAC,CAACrB,OAAO,CAAC,CACxB;MACCmB,SAAS,EAAE,yBAAyB;MACpCD,OAAO,EAAE,gBAAgB;MACzBE,IAAI,EAAE;IACP,CAAC,EACD;MACCD,SAAS,EAAE,uBAAuB;MAClCD,OAAO,EAAE,kBAAkB;MAC3BE,IAAI,EAAE;IACP,CAAC,EACD;MACCD,SAAS,EAAE,uBAAuB;MAClCD,OAAO,EAAE,gBAAgB;MACzBE,IAAI,EAAE;IACP,CAAC,CACD,CAAC;EACH,CAAC,CAAC;AACH,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"base-presentation-model.spec.js","names":["_basePresentationModel","require","_deckVersionScreenshots","describe","it","config","BasePresentationModel","getVisibilityAndSequence","sequence","visible","url","expected","selectionID","expect","toEqual","choicelist","selections","id","tags","getTags","_typeof2","default","length","model","namespaced_key","options","deckTags","deck","adjunct","key","screenshots","DeckVersionScreenshotCollection","subject","image_256","scenario","filtered","filterScreenshotsByScenario","toJSON"],"sources":["../../src/presentation/base-presentation-model.spec.js"],"sourcesContent":["import { BasePresentationModel } from \"./base-presentation-model.js\";\nimport { DeckVersionScreenshotCollection } from \"../collections/deck-version-screenshots.js\";\n\ndescribe(\"#getVisibilityAndSequence\", () => {\n\tit(\"should return model defaults when no options\", () => {\n\t\tconst config = BasePresentationModel.getVisibilityAndSequence({\n\t\t\tsequence: 99,\n\t\t\tvisible: true,\n\t\t\turl: () => \"\",\n\t\t});\n\n\t\tconst expected = {\n\t\t\tsequence: 99,\n\t\t\tvisible: true,\n\t\t\tselectionID: null,\n\t\t};\n\n\t\texpect(config).toEqual(expected);\n\t});\n\n\tit(\"should return model defaults when no options\", () => {\n\t\tconst config = BasePresentationModel.getVisibilityAndSequence({\n\t\t\tsequence: 99,\n\t\t\tvisible: true,\n\t\t\turl: () => \"\",\n\t\t});\n\n\t\tconst expected = {\n\t\t\tsequence: 99,\n\t\t\tvisible: true,\n\t\t\tselectionID: null,\n\t\t};\n\n\t\texpect(config).toEqual(expected);\n\t});\n\n\tit(\"should return choicelist config\", () => {\n\t\tconst choicelist = [\n\t\t\t{\n\t\t\t\turl: \"bleh/meh\",\n\t\t\t\tvisible: true,\n\t\t\t},\n\t\t];\n\n\t\tconst config = BasePresentationModel.getVisibilityAndSequence(\n\t\t\t{\n\t\t\t\tsequence: 99,\n\t\t\t\tvisible: false,\n\t\t\t\turl: () => \"bleh/meh\",\n\t\t\t},\n\t\t\t{\n\t\t\t\tchoicelist,\n\t\t\t},\n\t\t);\n\n\t\tconst expected = {\n\t\t\tsequence: 0,\n\t\t\tvisible: true,\n\t\t\tselectionID: null,\n\t\t};\n\n\t\texpect(config).toEqual(expected);\n\t});\n\n\tit(\"should return selections config\", () => {\n\t\tconst selections = [\n\t\t\t{\n\t\t\t\turl: \"bleh/meh\",\n\t\t\t\tvisible: true,\n\t\t\t\tsequence: 27,\n\t\t\t\tid: 58,\n\t\t\t},\n\t\t];\n\n\t\tconst config = BasePresentationModel.getVisibilityAndSequence(\n\t\t\t{\n\t\t\t\tsequence: 99,\n\t\t\t\tvisible: false,\n\t\t\t\turl: () => \"bleh/meh\",\n\t\t\t},\n\t\t\t{\n\t\t\t\tselections,\n\t\t\t},\n\t\t);\n\n\t\tconst expected = {\n\t\t\tsequence: 27,\n\t\t\tvisible: true,\n\t\t\tselectionID: 58,\n\t\t};\n\n\t\texpect(config).toEqual(expected);\n\t});\n\n\tit(\"should return choicelist config if both are provided\", () => {\n\t\tconst choicelist = [\n\t\t\t{\n\t\t\t\turl: \"gah/meh\",\n\t\t\t\tvisible: false,\n\t\t\t},\n\t\t\t{\n\t\t\t\turl: \"bleh/meh\",\n\t\t\t\tvisible: true,\n\t\t\t},\n\t\t];\n\n\t\tconst selections = [\n\t\t\t{\n\t\t\t\turl: \"bleh/meh\",\n\t\t\t\tvisible: true,\n\t\t\t\tsequence: 27,\n\t\t\t\tid: 58,\n\t\t\t},\n\t\t];\n\n\t\tconst config = BasePresentationModel.getVisibilityAndSequence(\n\t\t\t{\n\t\t\t\tsequence: 99,\n\t\t\t\tvisible: false,\n\t\t\t\turl: () => \"bleh/meh\",\n\t\t\t},\n\t\t\t{\n\t\t\t\tchoicelist,\n\t\t\t\tselections,\n\t\t\t},\n\t\t);\n\n\t\tconst expected = {\n\t\t\tsequence: 1,\n\t\t\tvisible: true,\n\t\t\tselectionID: null,\n\t\t};\n\n\t\texpect(config).toEqual(expected);\n\t});\n\n\t// adjuncts!!\n});\n\ndescribe(\"#getTags\", () => {\n\tit(\"should return empty array when no options or model tags\", () => {\n\t\tconst tags = BasePresentationModel.getTags({});\n\n\t\texpect(typeof tags).toEqual(\"object\");\n\t\texpect(tags.length).toEqual(0);\n\t});\n\n\tit(\"should return tags when no tags passed in options\", () => {\n\t\tconst model = {\n\t\t\ttags: [\"model-tag-1\", \"model-tag-2\"],\n\t\t};\n\t\tconst tags = BasePresentationModel.getTags(model);\n\n\t\texpect(tags).toEqual(model.tags);\n\t});\n\n\tit(\"should return tags for slide when tags passed in options\", () => {\n\t\tconst model = {\n\t\t\tnamespaced_key: \"slide-key\",\n\t\t\ttags: [\"model-tag-1\", \"model-tag-2\"],\n\t\t};\n\n\t\tconst options = {\n\t\t\tdeckTags: {\n\t\t\t\t\"\": [\"deck-tags\"],\n\t\t\t\t\"slide-key\": [\"slide-tags\"],\n\t\t\t},\n\t\t};\n\n\t\tconst tags = BasePresentationModel.getTags(model, options);\n\n\t\texpect(tags).toEqual([\"slide-tags\"]);\n\t});\n\n\tit(\"should return tags for welcome slide when tags passed in options\", () => {\n\t\tconst model = {\n\t\t\tdeck: {},\n\t\t\ttags: [\"model-tag-1\", \"model-tag-2\"],\n\t\t};\n\n\t\tconst options = {\n\t\t\tdeckTags: {\n\t\t\t\t\"\": [\"deck-tags\"],\n\t\t\t\t\"slide-key\": [\"slide-tags\"],\n\t\t\t},\n\t\t};\n\n\t\tconst tags = BasePresentationModel.getTags(model, options);\n\n\t\texpect(tags).toEqual([\"deck-tags\"]);\n\t});\n\n\tit(\"should return tags for an adjunct section when tags passed in options\", () => {\n\t\tconst model = {\n\t\t\tadjunct: true,\n\t\t\tkey: \"adjunctsection-key\",\n\t\t\ttags: [\"old-tag-1\", \"old-tag-2\"],\n\t\t};\n\n\t\tconst options = {\n\t\t\tdeckTags: {\n\t\t\t\t\"\": [\"deck-tags\"],\n\t\t\t\t\"adjunctsection-key\": [\"adjunctsection-tags\"],\n\t\t\t},\n\t\t};\n\n\t\tconst tags = BasePresentationModel.getTags(model, options);\n\n\t\texpect(tags).toEqual([\"adjunctsection-tags\"]);\n\t});\n\n\tit(\"should return tags for an adjunct slide when tags passed in options\", () => {\n\t\tconst model = {\n\t\t\tadjunct: true,\n\t\t\tkey: \"adjunctslide-key\",\n\t\t\ttags: [\"old-tag-1\", \"old-tag-2\"],\n\t\t};\n\n\t\tconst options = {\n\t\t\tdeckTags: {\n\t\t\t\t\"\": [\"deck-tags\"],\n\t\t\t\t\"section-key/adjunctslide-key\": [\"adjunctslide-tags\"],\n\t\t\t},\n\t\t};\n\n\t\tconst tags = BasePresentationModel.getTags(model, options);\n\n\t\texpect(tags).toEqual([\"adjunctslide-tags\"]);\n\t});\n});\n\ndescribe(\"#filterScreenshotsByScenario\", () => {\n\tconst screenshots = new DeckVersionScreenshotCollection([\n\t\t{\n\t\t\tsubject: \"/api/slides/1/\",\n\t\t\timage_256: \"global-screenshot-1.png\",\n\t\t\tscenario: null,\n\t\t},\n\t\t{\n\t\t\tsubject: \"/api/slides/2/\",\n\t\t\timage_256: \"global-screenshot-2.png\",\n\t\t\tscenario: null,\n\t\t},\n\t\t{\n\t\t\tsubject: \"/api/slides/1/\",\n\t\t\timage_256: \"scenario-1-screenshot.png\",\n\t\t\tscenario: \"/api/scenarios/50465ccb-8887-4e1c-bb01-84c91a58c7ea/\",\n\t\t},\n\t\t{\n\t\t\tsubject: \"/api/sections/2/\",\n\t\t\timage_256: \"scenario-1-screenshot.png\",\n\t\t\tscenario: \"/api/scenarios/50465ccb-8887-4e1c-bb01-84c91a58c7ea/\",\n\t\t},\n\t\t// Just for testing that the scenario filters don't get cross-contaminated\n\t\t{\n\t\t\tsubject: \"/api/sections/2/\",\n\t\t\timage_256: \"scenario-2-screenshot.png\",\n\t\t\tscenario: \"/api/scenarios/9d35f335-efe7-4e5b-8365-f2afa229469d/\",\n\t\t},\n\t]);\n\n\tit(\"should just return global screenshots if scenario is null\", () => {\n\t\tconst filtered = BasePresentationModel.filterScreenshotsByScenario(\n\t\t\tscreenshots,\n\t\t\tnull,\n\t\t).toJSON();\n\n\t\texpect(filtered).toEqual([\n\t\t\t{\n\t\t\t\tsubject: \"/api/slides/1/\",\n\t\t\t\timage_256: \"global-screenshot-1.png\",\n\t\t\t\tscenario: null,\n\t\t\t},\n\t\t\t{\n\t\t\t\tsubject: \"/api/slides/2/\",\n\t\t\t\timage_256: \"global-screenshot-2.png\",\n\t\t\t\tscenario: null,\n\t\t\t},\n\t\t]);\n\t});\n\n\tit(\"should return globals with scenario override\", () => {\n\t\tconst filtered = BasePresentationModel.filterScreenshotsByScenario(\n\t\t\tscreenshots,\n\t\t\t\"50465ccb-8887-4e1c-bb01-84c91a58c7ea\",\n\t\t).toJSON();\n\n\t\texpect(filtered).toEqual([\n\t\t\t{\n\t\t\t\timage_256: \"global-screenshot-2.png\",\n\t\t\t\tsubject: \"/api/slides/2/\",\n\t\t\t\tscenario: null,\n\t\t\t},\n\t\t\t{\n\t\t\t\timage_256: \"scenario-1-screenshot.png\",\n\t\t\t\tsubject: \"/api/sections/2/\",\n\t\t\t\tscenario: \"/api/scenarios/50465ccb-8887-4e1c-bb01-84c91a58c7ea/\",\n\t\t\t},\n\t\t\t{\n\t\t\t\timage_256: \"scenario-1-screenshot.png\",\n\t\t\t\tsubject: \"/api/slides/1/\",\n\t\t\t\tscenario: \"/api/scenarios/50465ccb-8887-4e1c-bb01-84c91a58c7ea/\",\n\t\t\t},\n\t\t]);\n\t});\n});\n"],"mappings":"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","ignoreList":[]}
@@ -50,7 +50,10 @@ var PresentationSection = exports.PresentationSection = _basePresentationModel.B
50
50
  * @property {boolean} visible
51
51
  * @property {number} deckversion
52
52
  * @property {number} selectionID
53
- * @property {boolean} editable
53
+ * @property {bool} editable
54
+ * @property {bool} titleEditable
55
+ * @property {bool} notesEditable
56
+ * @property {bool} tagsEditable
54
57
  * @property {array} tags
55
58
  * @property {boolean} impostor
56
59
  * @property {boolean} isWelcome
@@ -95,6 +98,9 @@ var PresentationSection = exports.PresentationSection = _basePresentationModel.B
95
98
  deckversion: "number",
96
99
  selectionID: "number",
97
100
  editable: "boolean",
101
+ titleEditable: "boolean",
102
+ notesEditable: "boolean",
103
+ tagsEditable: "boolean",
98
104
  tags: "array",
99
105
  impostor: "boolean",
100
106
  isWelcome: {
@@ -207,6 +213,11 @@ PresentationSection.createFromSection = function (sectionModel) {
207
213
  title: sectionModel.title,
208
214
  deckversion: sectionModel.deckversion.id,
209
215
  editable: tags.indexOf("editable") > -1,
216
+ // By default this is true for a deck slide. These can be changed later in PM depending
217
+ // on the logged in user and properties of an AutoAdjunct
218
+ titleEditable: false,
219
+ notesEditable: true,
220
+ tagsEditable: true,
210
221
  tags: tags,
211
222
  index: config.sequence,
212
223
  sequence: config.sequence,
@@ -266,6 +277,9 @@ PresentationSection.createFromAdjunctSection = function (adjunctSectionModel, de
266
277
  title: adjunctSectionModel.title,
267
278
  deckversion: deckVersionModel.id,
268
279
  editable: false,
280
+ titleEditable: false,
281
+ notesEditable: false,
282
+ tagsEditable: false,
269
283
  index: config.sequence,
270
284
  sequence: config.sequence,
271
285
  visible: config.visible,
@@ -336,6 +350,9 @@ PresentationSection.createFromImpostorSection = function (slideModel) {
336
350
  title: slideModel.title,
337
351
  deckversion: slideModel.section.deckversion.id,
338
352
  editable: tags.indexOf("editable") > -1,
353
+ titleEditable: false,
354
+ notesEditable: false,
355
+ tagsEditable: false,
339
356
  tags: tags,
340
357
  index: config.sequence,
341
358
  sequence: config.sequence,
@@ -379,7 +396,7 @@ PresentationSection.createFromManifestImpostor = function (section, project, ind
379
396
  var slides = section.slides || [];
380
397
  section.slides = null;
381
398
  var projectSection = project === null || project === void 0 ? void 0 : project.sections.find(function (s) {
382
- return s.key === section.key;
399
+ return s.key === project.key;
383
400
  });
384
401
  var presentationSection = new PresentationSection(_objectSpread(_objectSpread({
385
402
  id: parseInt(_lodash.default.uniqueId(), 10),
@@ -444,7 +461,11 @@ PresentationSection.createFromAutoAdjunct = function (model) {
444
461
  impostor: options.impostor,
445
462
  tags: tags,
446
463
  cmsvalkey_set: autoAdjunct.cmsvalkey_set,
447
- namespacedKey: autoAdjunct.namespaced_key
464
+ namespacedKey: autoAdjunct.namespaced_key,
465
+ editable: true,
466
+ titleEditable: true,
467
+ notesEditable: true,
468
+ tagsEditable: true
448
469
  });
449
470
  if (autoAdjunct.template) {
450
471
  var _autoAdjunctSection$c;
@@ -493,7 +514,11 @@ PresentationSection.createFromTemplate = function (template, index) {
493
514
  createdByTemplate: true,
494
515
  index: index,
495
516
  cmsvalkey_set: [],
496
- namespacedKey: templateModel.namespaced_key
517
+ namespacedKey: templateModel.namespaced_key,
518
+ editable: false,
519
+ titleEditable: false,
520
+ notesEditable: false,
521
+ tagsEditable: false
497
522
  });
498
523
  return presentationSection;
499
524
  };