@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.
- package/.rush/temp/1aebf46f78ad5c45f82f8147751890adb37bef9d.log +10 -0
- package/.rush/temp/256021b5963b4c0221d3dec247b697b9691a9b2c.log +10 -0
- package/.rush/temp/2a322f00f12cf9d1e64afe81275cc78d01c49050.log +10 -0
- package/.rush/temp/30061f1865447dcbb3f20a305061205f3dbe6091.log +10 -0
- package/.rush/temp/3cdc82c352e8ed90607952873f3aa4c200490874.log +10 -0
- package/.rush/temp/45522aea0dee8cb2be1a53248ba45bd235743b43.log +10 -0
- package/.rush/temp/5489ab737e406518983c16c57fc3e1edc07c0341.log +10 -0
- package/.rush/temp/58fcbb7f15a76326d40e0839ab179755da82a891.log +10 -0
- package/.rush/temp/5bc0bba70b733baa4dd976667ba0a1386e516186.log +10 -0
- package/.rush/temp/64f1bb696f8d7d7e72907b80df316b127f72e23e.log +10 -0
- package/.rush/temp/6f640f951414ea68adb65c17e4ed7527cde54faf.log +10 -0
- package/.rush/temp/7c7b958682d4ab5697530be47d0aac62efe1adf1.log +10 -0
- package/.rush/temp/82bfb987463fbcfebf04022e6ed00015c73879c8.log +10 -0
- package/.rush/temp/844034aa6e542115075e8f3dc5ffc640973e0064.log +10 -0
- package/.rush/temp/8b42957a7c15da1f29cb57bee125f13affa70dca.log +10 -0
- package/.rush/temp/924652444ab5a6063f328a2217123a2227058896.log +10 -0
- package/.rush/temp/9f2030f96d62f3e38052e35201819a216566f14f.log +10 -0
- package/.rush/temp/a769db9d81a23000c0e9b1bf4f1a9a9e721d0d7c.log +10 -0
- package/.rush/temp/a87d3a8b4ece87ec66f27c86226a9f205617681f.log +10 -0
- package/.rush/temp/bb7a5bdcc4af4ad1507f81f33774b31f5b4e4fb7.log +10 -0
- package/.rush/temp/build-cache-tar.log +7 -0
- package/.rush/temp/c20e29ccaaa9231b38a28bb24451b4ce7562cdc0.log +10 -0
- package/.rush/temp/chunked-rush-logs/api.build.chunks.jsonl +6 -0
- package/.rush/temp/chunked-rush-logs/api.test.chunks.jsonl +21 -0
- package/.rush/temp/e21303db8f59b4625fd184c9114377d781fd24f8.log +10 -0
- package/.rush/temp/e6d303862765b6a5f41dd483d0f9ae083a1fae10.log +10 -0
- package/.rush/temp/eaf69fbc059d2f1258d7569136180d4a1d3c7072.log +10 -0
- package/.rush/temp/f85d279e2674966daaec83e1c3986a96f86ef304.log +10 -0
- package/.rush/temp/fc0a332c5b34c6b90006850cf2d93a48fb4b9a6e.log +10 -0
- package/.rush/temp/operation/build/all.log +6 -0
- package/.rush/temp/operation/build/log-chunks.jsonl +6 -0
- package/.rush/temp/operation/build/state.json +3 -0
- package/.rush/temp/operation/test/all.log +21 -0
- package/.rush/temp/operation/test/log-chunks.jsonl +21 -0
- package/.rush/temp/operation/test/state.json +3 -0
- package/.rush/temp/package-deps_build.json +185 -0
- package/.rush/temp/shrinkwrap-deps.json +71 -13
- package/CHANGELOG.json +35 -0
- package/CHANGELOG.md +21 -1
- package/api.build.log +9 -0
- package/api.test.cache.log +1 -0
- package/api.test.log +19 -0
- package/cjs/api.js +1 -1
- package/cjs/api.js.map +1 -1
- package/cjs/collections/auto-adjuncts.js +0 -22
- package/cjs/collections/auto-adjuncts.js.map +1 -1
- package/cjs/collections/base.js +15 -1
- package/cjs/collections/base.js.map +1 -1
- package/cjs/collections/base.spec.js +61 -0
- package/cjs/collections/base.spec.js.map +1 -1
- package/cjs/collections/cms-vals.js +25 -0
- package/cjs/collections/cms-vals.js.map +1 -1
- package/cjs/collections/cms-vals.spec.js +73 -0
- package/cjs/collections/cms-vals.spec.js.map +1 -0
- package/cjs/collections/deck-version-screenshots.js +0 -23
- package/cjs/collections/deck-version-screenshots.js.map +1 -1
- package/cjs/collections/scenarios.js +20 -0
- package/cjs/collections/scenarios.js.map +1 -0
- package/cjs/collections.js +11 -0
- package/cjs/collections.js.map +1 -1
- package/cjs/fixtures.js +18 -1
- package/cjs/fixtures.js.map +1 -1
- package/cjs/models/appointment.js +29 -8
- package/cjs/models/appointment.js.map +1 -1
- package/cjs/models/auto-adjunct.js +3 -2
- package/cjs/models/auto-adjunct.js.map +1 -1
- package/cjs/models/base.js +57 -13
- package/cjs/models/base.js.map +1 -1
- package/cjs/models/base.spec.js +28 -0
- package/cjs/models/base.spec.js.map +1 -1
- package/cjs/models/cms-val.js +3 -3
- package/cjs/models/cms-val.js.map +1 -1
- package/cjs/models/deck-version-screenshot.js +2 -2
- package/cjs/models/deck-version-screenshot.js.map +1 -1
- package/cjs/models/deck-version.js +17 -8
- package/cjs/models/deck-version.js.map +1 -1
- package/cjs/models/preset.js +8 -6
- package/cjs/models/preset.js.map +1 -1
- package/cjs/models/scenario.js +41 -0
- package/cjs/models/scenario.js.map +1 -0
- package/cjs/models.js +11 -0
- package/cjs/models.js.map +1 -1
- package/cjs/presentation/appointment-presentation.js +2 -2
- package/cjs/presentation/appointment-presentation.js.map +1 -1
- package/cjs/presentation/base-presentation-model.js +26 -23
- package/cjs/presentation/base-presentation-model.js.map +1 -1
- package/cjs/presentation/base-presentation-model.spec.js +21 -21
- package/cjs/presentation/base-presentation-model.spec.js.map +1 -1
- package/cjs/presentation/presentation-section.js +29 -4
- package/cjs/presentation/presentation-section.js.map +1 -1
- package/cjs/presentation/presentation-section.spec.js +16 -3
- package/cjs/presentation/presentation-section.spec.js.map +1 -1
- package/cjs/presentation/presentation-slide.js +27 -3
- package/cjs/presentation/presentation-slide.js.map +1 -1
- package/cjs/presentation/presentation-slide.spec.js +8 -1
- package/cjs/presentation/presentation-slide.spec.js.map +1 -1
- package/cjs/utils.js +12 -3
- package/cjs/utils.js.map +1 -1
- package/cjs/utils.spec.js +22 -0
- package/cjs/utils.spec.js.map +1 -1
- package/package.json +3 -3
- package/rush-logs/api.build.cache.log +1 -0
- package/rush-logs/api.build.log +6 -0
- package/rush-logs/api.test.cache.log +1 -0
- package/rush-logs/api.test.log +21 -0
- package/src/api.js +1 -1
- package/src/collections/auto-adjuncts.js +0 -22
- package/src/collections/base.js +13 -2
- package/src/collections/base.spec.js +37 -0
- package/src/collections/cms-vals.js +28 -0
- package/src/collections/cms-vals.spec.js +66 -0
- package/src/collections/deck-version-screenshots.js +0 -22
- package/src/collections/scenarios.js +18 -0
- package/src/collections.js +1 -0
- package/src/fixtures.js +17 -1
- package/src/models/appointment.js +32 -6
- package/src/models/auto-adjunct.js +3 -2
- package/src/models/base.js +41 -13
- package/src/models/base.spec.js +18 -0
- package/src/models/cms-val.js +3 -3
- package/src/models/deck-version-screenshot.js +2 -2
- package/src/models/deck-version.js +10 -7
- package/src/models/preset.js +8 -6
- package/src/models/scenario.js +39 -0
- package/src/models.js +1 -0
- package/src/presentation/appointment-presentation.js +6 -4
- package/src/presentation/base-presentation-model.js +29 -23
- package/src/presentation/base-presentation-model.spec.js +22 -22
- package/src/presentation/presentation-section.js +27 -2
- package/src/presentation/presentation-section.spec.js +14 -1
- package/src/presentation/presentation-slide.js +26 -2
- package/src/presentation/presentation-slide.spec.js +7 -0
- package/src/utils.js +13 -3
- 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
|
|
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
|
|
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
|
|
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
|
|
62
|
-
* * If we select a
|
|
63
|
-
*
|
|
64
|
-
* see the same global version. Obviously only one
|
|
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.
|
|
67
|
-
var
|
|
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
|
|
70
|
+
var scenario = _scenario ? new _scenario2.ScenarioModel({
|
|
71
|
+
id: _scenario
|
|
72
|
+
}) : null;
|
|
70
73
|
var globalScreenshots = screenshots.filter(function (screen) {
|
|
71
|
-
return screen.
|
|
74
|
+
return screen.scenario === null;
|
|
72
75
|
}).map(function (screen) {
|
|
73
76
|
return screen.toJSON();
|
|
74
77
|
});
|
|
75
78
|
var result = globalScreenshots;
|
|
76
|
-
if (
|
|
77
|
-
var
|
|
78
|
-
return screen.
|
|
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
|
-
|
|
84
|
+
scenario: screen.scenario.url()
|
|
82
85
|
});
|
|
83
86
|
});
|
|
84
|
-
var _iterator = _createForOfIteratorHelper(
|
|
87
|
+
var _iterator = _createForOfIteratorHelper(scenarioScreenshots),
|
|
85
88
|
_step;
|
|
86
89
|
try {
|
|
87
90
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
88
|
-
var
|
|
91
|
+
var scenarioScreen = _step.value;
|
|
89
92
|
var existingGlobalIndex = _lodash.default.findIndex(result, {
|
|
90
|
-
subject:
|
|
93
|
+
subject: scenarioScreen.subject
|
|
91
94
|
});
|
|
92
95
|
if (existingGlobalIndex === -1) {
|
|
93
|
-
// If there isn't an existing global version, just add the
|
|
96
|
+
// If there isn't an existing global version, just add the scenario
|
|
94
97
|
// screenshot to the list
|
|
95
|
-
result.push(
|
|
98
|
+
result.push(scenarioScreen);
|
|
96
99
|
} else {
|
|
97
|
-
// Otherwise we should use the
|
|
98
|
-
result[existingGlobalIndex] =
|
|
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, ["
|
|
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("#
|
|
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
|
-
|
|
192
|
+
scenario: null
|
|
193
193
|
}, {
|
|
194
194
|
subject: "/api/slides/2/",
|
|
195
195
|
image_256: "global-screenshot-2.png",
|
|
196
|
-
|
|
196
|
+
scenario: null
|
|
197
197
|
}, {
|
|
198
198
|
subject: "/api/slides/1/",
|
|
199
|
-
image_256: "
|
|
200
|
-
|
|
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: "
|
|
204
|
-
|
|
203
|
+
image_256: "scenario-1-screenshot.png",
|
|
204
|
+
scenario: "/api/scenarios/50465ccb-8887-4e1c-bb01-84c91a58c7ea/"
|
|
205
205
|
},
|
|
206
|
-
// Just for testing that the
|
|
206
|
+
// Just for testing that the scenario filters don't get cross-contaminated
|
|
207
207
|
{
|
|
208
208
|
subject: "/api/sections/2/",
|
|
209
|
-
image_256: "
|
|
210
|
-
|
|
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
|
|
213
|
-
var filtered = _basePresentationModel.BasePresentationModel.
|
|
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
|
-
|
|
217
|
+
scenario: null
|
|
218
218
|
}, {
|
|
219
219
|
subject: "/api/slides/2/",
|
|
220
220
|
image_256: "global-screenshot-2.png",
|
|
221
|
-
|
|
221
|
+
scenario: null
|
|
222
222
|
}]);
|
|
223
223
|
});
|
|
224
|
-
it("should return globals with
|
|
225
|
-
var filtered = _basePresentationModel.BasePresentationModel.
|
|
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
|
-
|
|
229
|
+
scenario: null
|
|
230
230
|
}, {
|
|
231
|
-
image_256: "
|
|
231
|
+
image_256: "scenario-1-screenshot.png",
|
|
232
232
|
subject: "/api/sections/2/",
|
|
233
|
-
|
|
233
|
+
scenario: "/api/scenarios/50465ccb-8887-4e1c-bb01-84c91a58c7ea/"
|
|
234
234
|
}, {
|
|
235
|
-
image_256: "
|
|
235
|
+
image_256: "scenario-1-screenshot.png",
|
|
236
236
|
subject: "/api/slides/1/",
|
|
237
|
-
|
|
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":"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","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 {
|
|
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 ===
|
|
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
|
};
|