@livepreso/api 6.55.2 → 6.56.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) 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 +15 -5
  24. package/.rush/temp/chunked-rush-logs/api.test.chunks.jsonl +1 -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 +15 -5
  31. package/.rush/temp/operation/build/error.log +13 -3
  32. package/.rush/temp/operation/build/log-chunks.jsonl +15 -5
  33. package/.rush/temp/operation/build/state.json +1 -1
  34. package/.rush/temp/operation/test/all.log +21 -0
  35. package/.rush/temp/operation/test/log-chunks.jsonl +21 -0
  36. package/.rush/temp/operation/test/state.json +3 -0
  37. package/.rush/temp/package-deps_build.json +185 -0
  38. package/.rush/temp/shrinkwrap-deps.json +1013 -1191
  39. package/CHANGELOG.json +29 -0
  40. package/CHANGELOG.md +19 -1
  41. package/api.build.log +9 -0
  42. package/api.test.cache.log +1 -0
  43. package/api.test.log +19 -0
  44. package/cjs/api.js +3 -5
  45. package/cjs/api.js.map +1 -1
  46. package/cjs/auth.spec.js +11 -11
  47. package/cjs/auth.spec.js.map +1 -1
  48. package/cjs/collections/appointment-tags.js +14 -15
  49. package/cjs/collections/appointment-tags.js.map +1 -1
  50. package/cjs/collections/base.spec.js +30 -30
  51. package/cjs/collections/base.spec.js.map +1 -1
  52. package/cjs/fixtures.js +1 -2
  53. package/cjs/fixtures.js.map +1 -1
  54. package/cjs/models/appointment.js +7 -7
  55. package/cjs/models/appointment.js.map +1 -1
  56. package/cjs/models/base.js +30 -12
  57. package/cjs/models/base.js.map +1 -1
  58. package/cjs/models/cms-val.spec.js +2 -2
  59. package/cjs/models/cms-val.spec.js.map +1 -1
  60. package/cjs/models/deck-version.js +14 -34
  61. package/cjs/models/deck-version.js.map +1 -1
  62. package/cjs/models/manifest-json.js +41 -5
  63. package/cjs/models/manifest-json.js.map +1 -1
  64. package/cjs/models/pack.js +2 -1
  65. package/cjs/models/pack.js.map +1 -1
  66. package/cjs/models/snapshot.spec.js +2 -2
  67. package/cjs/models/snapshot.spec.js.map +1 -1
  68. package/cjs/models/template.js +10 -10
  69. package/cjs/models/template.js.map +1 -1
  70. package/cjs/models/timing-log.js +17 -17
  71. package/cjs/models/timing-log.js.map +1 -1
  72. package/cjs/models/timing-log.spec.js +2 -2
  73. package/cjs/models/timing-log.spec.js.map +1 -1
  74. package/cjs/models/user.spec.js +4 -4
  75. package/cjs/models/user.spec.js.map +1 -1
  76. package/cjs/presentation/presentation-deck.js +19 -9
  77. package/cjs/presentation/presentation-deck.js.map +1 -1
  78. package/cjs/presentation/presentation-deck.spec.js +6 -6
  79. package/cjs/presentation/presentation-deck.spec.js.map +1 -1
  80. package/cjs/presentation/presentation-section.js +30 -9
  81. package/cjs/presentation/presentation-section.js.map +1 -1
  82. package/cjs/presentation/presentation-section.spec.js +24 -16
  83. package/cjs/presentation/presentation-section.spec.js.map +1 -1
  84. package/cjs/presentation/presentation-slide.js +18 -7
  85. package/cjs/presentation/presentation-slide.js.map +1 -1
  86. package/cjs/presentation/presentation-slide.spec.js +21 -12
  87. package/cjs/presentation/presentation-slide.spec.js.map +1 -1
  88. package/cjs/presentation/presentation-subslide.spec.js +10 -10
  89. package/cjs/presentation/presentation-subslide.spec.js.map +1 -1
  90. package/cjs/presentation/presentation.js +26 -26
  91. package/cjs/presentation/presentation.js.map +1 -1
  92. package/cjs/sync.js +15 -5
  93. package/cjs/sync.js.map +1 -1
  94. package/cjs/utils.js +33 -3
  95. package/cjs/utils.js.map +1 -1
  96. package/package.json +3 -3
  97. package/rush-logs/api.build.error.log +13 -3
  98. package/rush-logs/api.build.log +15 -5
  99. package/rush-logs/api.test.cache.log +1 -0
  100. package/rush-logs/api.test.log +1 -0
  101. package/src/api.js +3 -5
  102. package/src/models/base.js +27 -9
  103. package/src/models/deck-version.js +5 -31
  104. package/src/models/manifest-json.js +33 -5
  105. package/src/models/pack.js +1 -0
  106. package/src/models/timing-log.js +24 -28
  107. package/src/presentation/presentation-deck.js +9 -9
  108. package/src/presentation/presentation-section.js +31 -11
  109. package/src/presentation/presentation-section.spec.js +8 -0
  110. package/src/presentation/presentation-slide.js +7 -4
  111. package/src/presentation/presentation-slide.spec.js +9 -0
  112. package/src/sync.js +15 -5
  113. package/src/utils.js +31 -2
@@ -6,7 +6,7 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/
6
6
  var _api = require("sp-test/api");
7
7
  test("User can modify temporary slides", /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee() {
8
8
  var UserModel, user;
9
- return _regenerator.default.wrap(function _callee$(_context) {
9
+ return _regenerator.default.wrap(function (_context) {
10
10
  while (1) switch (_context.prev = _context.next) {
11
11
  case 0:
12
12
  UserModel = (0, _api.G)("UserModel");
@@ -14,7 +14,7 @@ test("User can modify temporary slides", /*#__PURE__*/(0, _asyncToGenerator2.def
14
14
  actions: ["Manage Temporary Slides"]
15
15
  });
16
16
  expect(user.permissions.presomanager.canModifyTemporarySlides).toBe(true);
17
- case 3:
17
+ case 1:
18
18
  case "end":
19
19
  return _context.stop();
20
20
  }
@@ -22,7 +22,7 @@ test("User can modify temporary slides", /*#__PURE__*/(0, _asyncToGenerator2.def
22
22
  })));
23
23
  test("User can modify editable content", /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2() {
24
24
  var UserModel, user;
25
- return _regenerator.default.wrap(function _callee2$(_context2) {
25
+ return _regenerator.default.wrap(function (_context2) {
26
26
  while (1) switch (_context2.prev = _context2.next) {
27
27
  case 0:
28
28
  UserModel = (0, _api.G)("UserModel");
@@ -30,7 +30,7 @@ test("User can modify editable content", /*#__PURE__*/(0, _asyncToGenerator2.def
30
30
  actions: ["Create Content"]
31
31
  });
32
32
  expect(user.permissions.presomanager.canModifyContent).toBe(true);
33
- case 3:
33
+ case 1:
34
34
  case "end":
35
35
  return _context2.stop();
36
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"user.spec.js","names":["_api","require","test","_asyncToGenerator2","default","_regenerator","mark","_callee","UserModel","user","wrap","_callee$","_context","prev","next","G","actions","expect","permissions","presomanager","canModifyTemporarySlides","toBe","stop","_callee2","_callee2$","_context2","canModifyContent"],"sources":["../../src/models/user.spec.js"],"sourcesContent":["import { G } from \"sp-test/api\";\n\ntest(\"User can modify temporary slides\", async () => {\n\tconst UserModel = G(\"UserModel\");\n\tconst user = new UserModel({\n\t\tactions: [\"Manage Temporary Slides\"],\n\t});\n\texpect(user.permissions.presomanager.canModifyTemporarySlides).toBe(true);\n});\n\ntest(\"User can modify editable content\", async () => {\n\tconst UserModel = G(\"UserModel\");\n\tconst user = new UserModel({\n\t\tactions: [\"Create Content\"],\n\t});\n\texpect(user.permissions.presomanager.canModifyContent).toBe(true);\n});\n"],"mappings":";;;;;AAAA,IAAAA,IAAA,GAAAC,OAAA;AAEAC,IAAI,CAAC,kCAAkC,mBAAAC,kBAAA,CAAAC,OAAA,eAAAC,YAAA,CAAAD,OAAA,CAAAE,IAAA,CAAE,SAAAC,QAAA;EAAA,IAAAC,SAAA,EAAAC,IAAA;EAAA,OAAAJ,YAAA,CAAAD,OAAA,CAAAM,IAAA,UAAAC,SAAAC,QAAA;IAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;MAAA;QAClCN,SAAS,GAAG,IAAAO,MAAC,EAAC,WAAW,CAAC;QAC1BN,IAAI,GAAG,IAAID,SAAS,CAAC;UAC1BQ,OAAO,EAAE,CAAC,yBAAyB;QACpC,CAAC,CAAC;QACFC,MAAM,CAACR,IAAI,CAACS,WAAW,CAACC,YAAY,CAACC,wBAAwB,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC;MAAC;MAAA;QAAA,OAAAT,QAAA,CAAAU,IAAA;IAAA;EAAA,GAAAf,OAAA;AAAA,CAC1E,GAAC;AAEFL,IAAI,CAAC,kCAAkC,mBAAAC,kBAAA,CAAAC,OAAA,eAAAC,YAAA,CAAAD,OAAA,CAAAE,IAAA,CAAE,SAAAiB,SAAA;EAAA,IAAAf,SAAA,EAAAC,IAAA;EAAA,OAAAJ,YAAA,CAAAD,OAAA,CAAAM,IAAA,UAAAc,UAAAC,SAAA;IAAA,kBAAAA,SAAA,CAAAZ,IAAA,GAAAY,SAAA,CAAAX,IAAA;MAAA;QAClCN,SAAS,GAAG,IAAAO,MAAC,EAAC,WAAW,CAAC;QAC1BN,IAAI,GAAG,IAAID,SAAS,CAAC;UAC1BQ,OAAO,EAAE,CAAC,gBAAgB;QAC3B,CAAC,CAAC;QACFC,MAAM,CAACR,IAAI,CAACS,WAAW,CAACC,YAAY,CAACO,gBAAgB,CAAC,CAACL,IAAI,CAAC,IAAI,CAAC;MAAC;MAAA;QAAA,OAAAI,SAAA,CAAAH,IAAA;IAAA;EAAA,GAAAC,QAAA;AAAA,CAClE,GAAC","ignoreList":[]}
1
+ {"version":3,"file":"user.spec.js","names":["_api","require","test","_asyncToGenerator2","default","_regenerator","mark","_callee","UserModel","user","wrap","_context","prev","next","G","actions","expect","permissions","presomanager","canModifyTemporarySlides","toBe","stop","_callee2","_context2","canModifyContent"],"sources":["../../src/models/user.spec.js"],"sourcesContent":["import { G } from \"sp-test/api\";\n\ntest(\"User can modify temporary slides\", async () => {\n\tconst UserModel = G(\"UserModel\");\n\tconst user = new UserModel({\n\t\tactions: [\"Manage Temporary Slides\"],\n\t});\n\texpect(user.permissions.presomanager.canModifyTemporarySlides).toBe(true);\n});\n\ntest(\"User can modify editable content\", async () => {\n\tconst UserModel = G(\"UserModel\");\n\tconst user = new UserModel({\n\t\tactions: [\"Create Content\"],\n\t});\n\texpect(user.permissions.presomanager.canModifyContent).toBe(true);\n});\n"],"mappings":";;;;;AAAA,IAAAA,IAAA,GAAAC,OAAA;AAEAC,IAAI,CAAC,kCAAkC,mBAAAC,kBAAA,CAAAC,OAAA,eAAAC,YAAA,CAAAD,OAAA,CAAAE,IAAA,CAAE,SAAAC,QAAA;EAAA,IAAAC,SAAA,EAAAC,IAAA;EAAA,OAAAJ,YAAA,CAAAD,OAAA,CAAAM,IAAA,WAAAC,QAAA;IAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;MAAA;QAClCL,SAAS,GAAG,IAAAM,MAAC,EAAC,WAAW,CAAC;QAC1BL,IAAI,GAAG,IAAID,SAAS,CAAC;UAC1BO,OAAO,EAAE,CAAC,yBAAyB;QACpC,CAAC,CAAC;QACFC,MAAM,CAACP,IAAI,CAACQ,WAAW,CAACC,YAAY,CAACC,wBAAwB,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC;MAAC;MAAA;QAAA,OAAAT,QAAA,CAAAU,IAAA;IAAA;EAAA,GAAAd,OAAA;AAAA,CAC1E,GAAC;AAEFL,IAAI,CAAC,kCAAkC,mBAAAC,kBAAA,CAAAC,OAAA,eAAAC,YAAA,CAAAD,OAAA,CAAAE,IAAA,CAAE,SAAAgB,SAAA;EAAA,IAAAd,SAAA,EAAAC,IAAA;EAAA,OAAAJ,YAAA,CAAAD,OAAA,CAAAM,IAAA,WAAAa,SAAA;IAAA,kBAAAA,SAAA,CAAAX,IAAA,GAAAW,SAAA,CAAAV,IAAA;MAAA;QAClCL,SAAS,GAAG,IAAAM,MAAC,EAAC,WAAW,CAAC;QAC1BL,IAAI,GAAG,IAAID,SAAS,CAAC;UAC1BO,OAAO,EAAE,CAAC,gBAAgB;QAC3B,CAAC,CAAC;QACFC,MAAM,CAACP,IAAI,CAACQ,WAAW,CAACC,YAAY,CAACM,gBAAgB,CAAC,CAACJ,IAAI,CAAC,IAAI,CAAC;MAAC;MAAA;QAAA,OAAAG,SAAA,CAAAF,IAAA;IAAA;EAAA,GAAAC,QAAA;AAAA,CAClE,GAAC","ignoreList":[]}
@@ -18,9 +18,7 @@ var _lodash = _interopRequireDefault(require("lodash"));
18
18
  var _index = require("../index.js");
19
19
  var _log = _interopRequireDefault(require("../log.js"));
20
20
  var _stateRegister = require("../state-register");
21
- var _url = _interopRequireDefault(require("url"));
22
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
23
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
21
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
24
22
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
25
23
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
26
24
  /**
@@ -69,7 +67,19 @@ var PresentationDeck = exports.PresentationDeck = _basePresentationModel.BasePre
69
67
  tags: "array",
70
68
  version: "number",
71
69
  namespacedKey: "string",
72
- cmsvalkey_set: "array"
70
+ cmsvalkey_set: "array",
71
+ isWelcome: {
72
+ type: "boolean",
73
+ default: true
74
+ },
75
+ isSlide: {
76
+ type: "boolean",
77
+ default: false
78
+ },
79
+ isSection: {
80
+ type: "boolean",
81
+ default: false
82
+ }
73
83
  },
74
84
  /**
75
85
  * @property {presentation.PresentationSection} realSection
@@ -342,8 +352,8 @@ PresentationDeck.createFromManifestJSON = function (manifestJSON, project) {
342
352
  index: 0,
343
353
  visible: true,
344
354
  key: manifestJSON.key || "manifest_deck",
345
- html: _url.default.resolve(manifestJSON.getAssetPath(), "index.html"),
346
- css: _url.default.resolve(manifestJSON.getAssetPath(), "slide.css"),
355
+ html: (0, _utils.resolveURL)(manifestJSON.getAssetPath(), "index.html"),
356
+ css: (0, _utils.resolveURL)(manifestJSON.getAssetPath(), "slide.css"),
347
357
  common: manifestJSON.common,
348
358
  thumbnail: null,
349
359
  deckID: 1,
@@ -365,8 +375,8 @@ PresentationDeck.createFromManifestJSON = function (manifestJSON, project) {
365
375
  return {
366
376
  key: newKey,
367
377
  sequence: sequence,
368
- html: _url.default.resolve(manifestJSON.getAssetPath(key), "index.html"),
369
- css: _url.default.resolve(manifestJSON.getAssetPath(key), "slide.css"),
378
+ html: (0, _utils.resolveURL)(manifestJSON.getAssetPath(key), "index.html"),
379
+ css: (0, _utils.resolveURL)(manifestJSON.getAssetPath(key), "slide.css"),
370
380
  title: manifestJSON.titles[key],
371
381
  tags: manifestJSON.tags[key] || [],
372
382
  cmsvalkey_set: []
@@ -404,7 +414,7 @@ PresentationDeck.createFromManifestJSON = function (manifestJSON, project) {
404
414
  key: key,
405
415
  sequence: manifestJSON.templates[key].ordering,
406
416
  index_asset: {
407
- url: _url.default.resolve(manifestJSON.getTemplateAssetPath(key), "index.html")
417
+ url: (0, _utils.resolveURL)(manifestJSON.getTemplateAssetPath(key), "index.html")
408
418
  },
409
419
  cmsvalkey_set: cmsvals
410
420
  });
@@ -1 +1 @@
1
- {"version":3,"file":"presentation-deck.js","names":["require","collections","_interopRequireWildcard","_utils","_basePresentationModel","_models","_presentationSection","_presentationSlide","_lodash","_interopRequireDefault","_index","_log","_stateRegister","_url","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","PresentationDeck","exports","BasePresentationModel","extend","props","html","css","id","deckID","index","thumbnail","visible","type","key","common","title","usesImpostorSections","editable","titleEditable","notesEditable","tagsEditable","tags","version","namespacedKey","cmsvalkey_set","children","realSection","derived","welcomeSlide","fn","PresentationSection","getAttributes","isWelcome","sections","url","DeckVersionModel","createFromDeckVersion","deckVersionModel","_deckVersionModel$nam","options","undefined","_","defaults","autoAdjuncts","AutoAdjunctCollection","adjunctSections","AdjunctSectionCollection","adjunctSlides","AdjunctSlideCollection","adjunctSubSlides","AdjunctSubSlideCollection","sectionSelections","SectionSelectionCollection","slideSelections","SlideSelectionCollection","screenshots","DeckVersionScreenshotCollection","rootAssetPath","templates","choicelist","screenshotsToMap","assetRoot","getAssetRoot","index_asset","concat","getTags","deck","getThumbnail","manifest_json","indexOf","isImpostorDeck","namespaced_key","log","warn","toJSON","selections","map","selection","sequence","section","slide","maxID","getMaxID","getUniqueAdjunctID","section_set","sectionModel","createFromSection","addSlides","slide_set","add","adjunctSection","createFromAdjunctSection","first","adjunctSlideLimit","adjunctslide_limit","slides","slideModel","isSection","isImpostor","createFromImpostorSection","PresentationSlide","createFromSlide","adjunctSlideModel","createFromAdjunctSlide","models","reverse","sectionSlides","Math","floor","template","createFromTemplate","autoSections","auto","Error","createFromAutoAdjunct","deckversionID","setSequentialSequences","createFromManifestJSON","manifestJSON","project","_project$welcome$edit","_project$welcome","parseInt","uniqueId","url2","resolve","getAssetPath","welcome","editables","some","items","titles","ordering","splitKey","split","newKey","sortBy","item","startIndex","endIndex","slice","createFromManifestImpostor","sectionKeys","_project$templates$fi","_project$templates","_project$templates$fi2","_project$templates$fi3","cmsvals","find","getTemplateAssetPath","minID","max","_project$templates2","_project$templates2$f","projTemplate","s","replace","autoAdjunctID","register"],"sources":["../../src/presentation/presentation-deck.js"],"sourcesContent":["import \"./presentation-sections.js\";\n\nimport * as collections from \"../collections\";\n\nimport {\n\tgetMaxID,\n\tisImpostor,\n\tisImpostorDeck,\n\tsetSequentialSequences,\n} from \"../utils.js\";\n\nimport { BasePresentationModel } from \"./base-presentation-model\";\nimport { DeckVersionModel } from \"../models\";\nimport { PresentationSection } from \"./presentation-section\";\nimport { PresentationSlide } from \"./presentation-slide\";\nimport _ from \"lodash\";\nimport { getAssetRoot } from \"../index.js\";\nimport log from \"../log.js\";\nimport { register } from \"../state-register\";\nimport url2 from \"url\";\n\n/**\n * @constructor\n * @alias presentation.PresentationDeck\n * @extends presentation.BasePresentationModel\n */\nexport const PresentationDeck = BasePresentationModel.extend(\n\t/** @lends presentation.PresentationDeck# */ {\n\t\t/**\n\t\t * @property {string} html\n\t\t * @property {string} css\n\t\t * @property {number} id\n\t\t * @property {number} deckID\n\t\t * @property {number} index\n\t\t * @property {string} thumbnail\n\t\t * @property {boolean} visible\n\t\t * @property {string} key\n\t\t * @property {object} common\n\t\t * @property {string} title\n\t\t * @property {boolean} usesImpostorSections\n\t\t * @property {boolean} editable\n\t\t * @property {array} tags\n\t\t * @property {number} version\n\t\t * @property {string} namespacedKey\n\t\t * @property {string[]} cmsvalkey_set\n\t\t */\n\t\tprops: {\n\t\t\thtml: \"string\",\n\t\t\tcss: \"string\",\n\t\t\tid: \"number\",\n\t\t\tdeckID: \"number\",\n\t\t\tindex: \"number\",\n\t\t\tthumbnail: \"string\",\n\t\t\tvisible: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tvisible: true,\n\t\t\t},\n\t\t\tkey: \"string\",\n\t\t\tcommon: \"object\",\n\t\t\ttitle: \"string\",\n\t\t\tusesImpostorSections: \"boolean\",\n\t\t\teditable: \"boolean\",\n\t\t\ttitleEditable: \"boolean\",\n\t\t\tnotesEditable: \"boolean\",\n\t\t\ttagsEditable: \"boolean\",\n\t\t\ttags: \"array\",\n\t\t\tversion: \"number\",\n\t\t\tnamespacedKey: \"string\",\n\t\t\tcmsvalkey_set: \"array\",\n\t\t},\n\n\t\t/**\n\t\t * @property {presentation.PresentationSection} realSection\n\t\t */\n\t\tchildren: {\n\t\t\trealSection: \"PresentationSection\",\n\t\t},\n\n\t\tderived: {\n\t\t\twelcomeSlide: {\n\t\t\t\tfn: function () {\n\t\t\t\t\treturn new PresentationSection({\n\t\t\t\t\t\t...this.getAttributes({ props: true }),\n\t\t\t\t\t\tisWelcome: true,\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\n\t\t/**\n\t\t * @property {presentation.PresentationSectionCollection} sections\n\t\t */\n\t\tcollections: {\n\t\t\tsections: \"PresentationSectionCollection\",\n\t\t},\n\n\t\turl() {\n\t\t\tif (!this._url) {\n\t\t\t\tthis._url = new DeckVersionModel({ id: this.id }).url();\n\t\t\t}\n\n\t\t\treturn this._url;\n\t\t},\n\t},\n);\n\n/**\n * @function createFromURL\n * @memberof presentation.PresentationDeck\n * @param {models.DeckVersionModel} deckVersionModel\n * @param {object} [options]\n * @param {number} [options.index = 0]\n * @param {collections.AdjunctSectionCollection}} [adjunctSections]\n * @returns {presentation.PresentationDeck}\n */\nPresentationDeck.createFromDeckVersion = function (\n\tdeckVersionModel,\n\toptions = {},\n) {\n\t_.defaults(options, {\n\t\tindex: 0,\n\t\tautoAdjuncts: new collections.AutoAdjunctCollection(),\n\t\tadjunctSections: new collections.AdjunctSectionCollection(),\n\t\tadjunctSlides: new collections.AdjunctSlideCollection(),\n\t\tadjunctSubSlides: new collections.AdjunctSubSlideCollection(),\n\t\tsectionSelections: new collections.SectionSelectionCollection(),\n\t\tslideSelections: new collections.SlideSelectionCollection(),\n\t\tscreenshots: new collections.DeckVersionScreenshotCollection(),\n\t\trootAssetPath: null,\n\t\ttemplates: null,\n\t\tchoicelist: null,\n\t});\n\n\toptions.screenshots = PresentationDeck.screenshotsToMap(options.screenshots);\n\n\tconst assetRoot = getAssetRoot(deckVersionModel.index_asset.url());\n\tlet html;\n\tlet css;\n\n\tif (options.rootAssetPath) {\n\t\thtml = `${options.rootAssetPath}index.html`;\n\t\tcss = `${options.rootAssetPath}slide.css`;\n\t} else {\n\t\thtml = `${assetRoot}index.html`;\n\t\tcss = `${assetRoot}slide.css`;\n\t}\n\n\tconst tags = PresentationDeck.getTags(deckVersionModel, options);\n\n\tconst deck = new PresentationDeck({\n\t\thtml,\n\t\tcss,\n\t\tid: deckVersionModel.id,\n\t\tindex: options.index,\n\t\tthumbnail: PresentationDeck.getThumbnail(\n\t\t\tdeckVersionModel,\n\t\t\toptions.screenshots,\n\t\t),\n\t\tdeckID: deckVersionModel.deck.id,\n\t\tvisible: true,\n\t\tkey: deckVersionModel.deck.key,\n\t\tcommon: deckVersionModel.manifest_json.common,\n\t\ttitle: deckVersionModel.deck.title,\n\t\teditable: tags.indexOf(\"editable\") > -1,\n\t\ttitleEditable: false,\n\t\tnotesEditable: true,\n\t\ttagsEditable: true,\n\t\ttags,\n\t\tversion: deckVersionModel.version,\n\t\tusesImpostorSections: isImpostorDeck(deckVersionModel),\n\t\tcmsvalkey_set: deckVersionModel.cmsvalkey_set || [],\n\n\t\t// Prefer getting the value from the server, but if, for example, it's an old\n\t\t// cached version that doesn't have a namespaced key, we can make a very good\n\t\t// guess at a default!\n\t\tnamespacedKey: deckVersionModel.namespaced_key ?? \"\",\n\t});\n\n\tif (!deck.key) {\n\t\tlog.warn(\n\t\t\t\"Deck key not available to presentation\",\n\t\t\tdeckVersionModel.deck.toJSON(),\n\t\t);\n\t}\n\n\t// Convert the selections to an easier format to use later\n\tconst sectionSelections = options.sectionSelections;\n\tconst slideSelections = options.slideSelections;\n\n\toptions.selections = sectionSelections\n\t\t.map((selection) => {\n\t\t\treturn {\n\t\t\t\tsequence: selection.sequence,\n\t\t\t\tvisible: selection.visible,\n\t\t\t\turl: selection.section.url(),\n\t\t\t\tid: selection.id,\n\t\t\t};\n\t\t})\n\t\t.concat(\n\t\t\tslideSelections.map((selection) => {\n\t\t\t\treturn {\n\t\t\t\t\tsequence: selection.sequence,\n\t\t\t\t\tvisible: selection.visible,\n\t\t\t\t\turl: selection.slide.url(),\n\t\t\t\t\tid: selection.id,\n\t\t\t\t};\n\t\t\t}),\n\t\t);\n\n\t// We want all adjuncts to have fake ids that can't possibly overlap with the ids of\n\t// normal sections, slides and subslides, so we make a base ID that is larger than\n\t// all existing IDs then use the getUniqueAdjunctID function to retrieve an incremented ID\n\tlet maxID = getMaxID(deckVersionModel);\n\n\toptions.getUniqueAdjunctID = function () {\n\t\treturn ++maxID;\n\t};\n\n\t// We have four different ways to create a presentation structure here - we are\n\t// using either selections or a choicelist, and the deck is either a normal\n\t// deck or an impostor deck. Setting up a non-impostor deck is easier, so I've\n\t// split this up into two primary methods to cover those two branches, and the models\n\t// internally retrieve the correct sequence & visibility data depending on whether\n\t// we're using selections or a choicelist.\n\n\tif (!deck.usesImpostorSections) {\n\t\t// Non impostor deck using selections or a choicelist. Slides are already\n\t\t// associated with the correct sections, so all we have to do is turn\n\t\t// everything into a presentation model and pass the options through with\n\t\t// the selections or choicelist data.\n\n\t\tdeckVersionModel.section_set.forEach((sectionModel) => {\n\t\t\tconst section = PresentationSection.createFromSection(\n\t\t\t\tsectionModel,\n\t\t\t\toptions,\n\t\t\t);\n\n\t\t\tsection.addSlides(sectionModel.slide_set, options);\n\t\t\tdeck.sections.add(section);\n\n\t\t\tconst adjunctSlides = options.adjunctSlides.filter((slide) => {\n\t\t\t\treturn slide.section && slide.section.id === section.id;\n\t\t\t});\n\n\t\t\tsection.addSlides(adjunctSlides, options);\n\t\t});\n\n\t\toptions.adjunctSections.forEach((adjunctSection) => {\n\t\t\tconst section = PresentationSection.createFromAdjunctSection(\n\t\t\t\tadjunctSection,\n\t\t\t\tDeckVersionModel,\n\t\t\t\toptions,\n\t\t\t);\n\n\t\t\tdeck.sections.add(section);\n\t\t});\n\t} else {\n\t\t// Impostor deck using selections or a choicelist. The deckversion.section_set\n\t\t// only contains one section, which is the \"real\" section but is not used in\n\t\t// the presentation. Some slides have the tag \"section-header\", and these slides\n\t\t// will be turned into sections and may be given sets of slides.\n\n\t\tconst realSection = deckVersionModel.section_set.first();\n\n\t\tdeck.realSection = new PresentationSection({\n\t\t\tid: realSection.id,\n\t\t\tkey: realSection.key,\n\t\t\tadjunctSlideLimit: realSection.adjunctslide_limit,\n\t\t});\n\n\t\tlet slides = [];\n\n\t\t// First we go through all slides and separate the impostor sections from the\n\t\t// normal slides. If a slide is a \"section header\" then we turn it into a presentation\n\t\t// section; if it is just a slide then we add it to the slides array, which will contain\n\t\t// all slides. We can't allocate slides to sections yet because we don't know\n\t\t// which section a slide belongs to.\n\t\trealSection.slide_set.forEach((slideModel) => {\n\t\t\tconst isSection = isImpostor(slideModel);\n\n\t\t\tif (isSection) {\n\t\t\t\tconst section = PresentationSection.createFromImpostorSection(\n\t\t\t\t\tslideModel,\n\t\t\t\t\toptions,\n\t\t\t\t);\n\n\t\t\t\tdeck.sections.add(section);\n\t\t\t} else {\n\t\t\t\tconst slide = PresentationSlide.createFromSlide(slideModel, options);\n\t\t\t\tslides.push(slide);\n\t\t\t}\n\t\t});\n\n\t\t// We filter the adjunct slides and add all the non-section slides to the slides array too.\n\t\toptions.adjunctSlides\n\t\t\t.filter((slide) => !isImpostor(slide))\n\t\t\t.forEach((adjunctSlideModel) => {\n\t\t\t\tconst slide = PresentationSlide.createFromAdjunctSlide(\n\t\t\t\t\tadjunctSlideModel,\n\t\t\t\t\tnull,\n\t\t\t\t\toptions,\n\t\t\t\t);\n\n\t\t\t\tslides.push(slide);\n\t\t\t});\n\n\t\t// Next we go through the sections backwards and use the sequence to find all slides\n\t\t// which belong to a section. Doing this backwards means that we only need to know\n\t\t// one section's sequence at a time, e.g. if I went forwards and the first section\n\t\t// had the sequence 1, I know that I can start looking for slides with sequence > 1\n\t\t// but I don't know where to stop. If I start with the last section and look for\n\t\t// slides with the sequence > 110 then I know that all slides with a sequence > 110\n\t\t// are valid. I then remove those slides from the slides array and move down to the\n\t\t// next section.\n\t\tdeck.sections.models.reverse().forEach((section) => {\n\t\t\tconst sectionSlides = slides.filter(\n\t\t\t\t(slide) => slide.sequence > section.sequence,\n\t\t\t);\n\n\t\t\tsection.slides.add(sectionSlides);\n\n\t\t\t// Slides have a \"section\" on their model that represents the section\n\t\t\t// that they belong to. Because this is an impostor deck, there's a\n\t\t\t// good chance that the section is now incorrect for normal slides,\n\t\t\t// and a 100% chance that it's incorrect for adjunct slides as we\n\t\t\t// didn't populate the section field when we created the adjunct slides.\n\t\t\t// We update those now with the correct section.\n\t\t\tsection.slides.forEach((slide) => {\n\t\t\t\tslide.section = section.id;\n\t\t\t});\n\n\t\t\tslides = slides.filter((slide) => slide.sequence <= section.sequence);\n\t\t});\n\n\t\t// Average the adjunct slide limit used across the entire deck over each section\n\t\t// in the deck. We do this before we add the adjunct impostor sections, 'cause you\n\t\t// can't add custom slides to those.\n\t\tdeck.sections.forEach((section) => {\n\t\t\tsection.adjunctSlideLimit = section.adjunctSlideLimit\n\t\t\t\t? section.adjunctSlideLimit\n\t\t\t\t: Math.floor(realSection.adjunctSlideLimit / deck.sections.length);\n\t\t});\n\n\t\t// Return the sections to the correct order\n\t\tdeck.sections.models.reverse();\n\n\t\t// Finally, we add the adjunct impostor sections. These are adjunct slides with\n\t\t// the \"section-header\" tag and they work the same way as the slide impostors,\n\t\t// but because adjunct sections can't have slides we're adding them after the\n\t\t// slide-assigning process\n\t\toptions.adjunctSlides\n\t\t\t.filter((slide) => isImpostor(slide))\n\t\t\t.forEach((adjunctSlideModel) => {\n\t\t\t\tconst adjunctSection = PresentationSection.createFromAdjunctSection(\n\t\t\t\t\tadjunctSlideModel,\n\t\t\t\t\tDeckVersionModel,\n\t\t\t\t\toptions,\n\t\t\t\t);\n\n\t\t\t\tdeck.sections.add(adjunctSection);\n\t\t\t});\n\t}\n\n\t// Add templates as sections if present. This is only used by the CDK.\n\tif (options.templates && options.templates.length > 0) {\n\t\tdeck.sections.add(\n\t\t\toptions.templates.map((template, index) => {\n\t\t\t\treturn PresentationSection.createFromTemplate(\n\t\t\t\t\ttemplate,\n\t\t\t\t\tdeck.sections.length + index,\n\t\t\t\t\toptions.getUniqueAdjunctID(),\n\t\t\t\t);\n\t\t\t}),\n\t\t);\n\t}\n\n\t// This is generally only used by screenshots\n\tif (options.autoAdjuncts) {\n\t\tconst autoSections = options.autoAdjuncts.map((auto, index) => {\n\t\t\t// We already have the template on the deckversion, so we can find it here.\n\t\t\tif (!auto.template) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t\"Attempted to use an autoadjunct that has no template.\",\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst section = PresentationSection.createFromAutoAdjunct(auto, {\n\t\t\t\tindex: deck.sections.length + index,\n\t\t\t\tdeckversionID: deck.id,\n\t\t\t});\n\n\t\t\treturn section;\n\t\t});\n\n\t\tdeck.sections.add(autoSections);\n\t}\n\n\tsetSequentialSequences(deck);\n\n\treturn deck;\n};\n\nPresentationDeck.createFromManifestJSON = function (manifestJSON, project) {\n\tconst deck = new PresentationDeck({\n\t\tid: parseInt(_.uniqueId(), 10),\n\t\tindex: 0,\n\t\tvisible: true,\n\t\tkey: manifestJSON.key || \"manifest_deck\",\n\t\thtml: url2.resolve(manifestJSON.getAssetPath(), \"index.html\"),\n\t\tcss: url2.resolve(manifestJSON.getAssetPath(), \"slide.css\"),\n\t\tcommon: manifestJSON.common,\n\t\tthumbnail: null,\n\t\tdeckID: 1,\n\t\ttitle: \"Local\",\n\t\tversion: 1,\n\t\ttags: manifestJSON.tags[\"\"] || [],\n\t\tcmsvalkey_set: project?.welcome?.editables ?? [],\n\t});\n\n\tconst usesImpostorSections = _.some(\n\t\tmanifestJSON.tags,\n\t\t(tags) => tags.indexOf(\"section-header\") !== -1,\n\t);\n\tdeck.usesImpostorSections = usesImpostorSections;\n\n\tif (usesImpostorSections) {\n\t\tdeck.usesImpostorSections = true;\n\n\t\tlet items = Object.keys(manifestJSON.titles).map((key) => {\n\t\t\tconst sequence = manifestJSON.toJSON().ordering[key];\n\t\t\tconst splitKey = key.split(\"/\");\n\t\t\tconst newKey = splitKey[splitKey.length - 1];\n\n\t\t\treturn {\n\t\t\t\tkey: newKey,\n\t\t\t\tsequence,\n\t\t\t\thtml: url2.resolve(manifestJSON.getAssetPath(key), \"index.html\"),\n\t\t\t\tcss: url2.resolve(manifestJSON.getAssetPath(key), \"slide.css\"),\n\t\t\t\ttitle: manifestJSON.titles[key],\n\t\t\t\ttags: manifestJSON.tags[key] || [],\n\t\t\t\tcmsvalkey_set: [],\n\t\t\t};\n\t\t});\n\n\t\titems = _.sortBy(items, \"sequence\");\n\n\t\tconst sections = items.filter(\n\t\t\t(item) => item.tags.indexOf(\"section-header\") !== -1,\n\t\t);\n\n\t\tsections.forEach((item, index) => {\n\t\t\tconst startIndex = items.indexOf(item) + 1;\n\t\t\tconst endIndex = sections[index + 1]\n\t\t\t\t? items.indexOf(sections[index + 1])\n\t\t\t\t: items.length;\n\n\t\t\tconst slides = items.slice(startIndex, endIndex);\n\n\t\t\titem.slides = slides;\n\t\t});\n\n\t\tdeck.sections.add(\n\t\t\tsections.map((section, index) => {\n\t\t\t\treturn PresentationSection.createFromManifestImpostor(\n\t\t\t\t\tsection,\n\t\t\t\t\tproject,\n\t\t\t\t\tindex,\n\t\t\t\t);\n\t\t\t}),\n\t\t);\n\n\t\tdeck.realSection = PresentationSection.createFromManifestImpostor(\n\t\t\titems[0],\n\t\t\tproject,\n\t\t);\n\t} else {\n\t\tconst sectionKeys = Object.keys(manifestJSON.titles).filter((title) => {\n\t\t\treturn title.split(\"/\").length === 1;\n\t\t});\n\n\t\tdeck.sections.add(\n\t\t\tsectionKeys.map((key, index) => {\n\t\t\t\treturn PresentationSection.createFromManifestJSON(\n\t\t\t\t\tmanifestJSON,\n\t\t\t\t\tproject,\n\t\t\t\t\tkey,\n\t\t\t\t\tindex,\n\t\t\t\t);\n\t\t\t}),\n\t\t);\n\t}\n\n\tif (manifestJSON.templates) {\n\t\tconst templates = Object.keys(manifestJSON.templates).map((key) => {\n\t\t\tconst cmsvals =\n\t\t\t\tproject?.templates?.find?.((t) => t.key === key)?.editables ?? [];\n\n\t\t\treturn {\n\t\t\t\t...manifestJSON.templates[key],\n\t\t\t\tkey,\n\t\t\t\tsequence: manifestJSON.templates[key].ordering,\n\t\t\t\tindex_asset: {\n\t\t\t\t\turl: url2.resolve(\n\t\t\t\t\t\tmanifestJSON.getTemplateAssetPath(key),\n\t\t\t\t\t\t\"index.html\",\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t\tcmsvalkey_set: cmsvals,\n\t\t\t};\n\t\t});\n\n\t\tconst minID = _.max(_.map(deck.sections.toJSON(), \"id\"));\n\n\t\tdeck.sections.add(\n\t\t\ttemplates.map((template, index) => {\n\t\t\t\tconst section = PresentationSection.createFromTemplate(\n\t\t\t\t\ttemplate,\n\t\t\t\t\tindex,\n\t\t\t\t\tminID,\n\t\t\t\t);\n\t\t\t\tconst projTemplate = project?.templates?.find?.(\n\t\t\t\t\t(s) => s.key === section.key.replace(\"template-\", \"\"),\n\t\t\t\t);\n\t\t\t\tif (projTemplate?.editables) {\n\t\t\t\t\tsection.cmsvalkey_set = projTemplate.editables.map((key) => {\n\t\t\t\t\t\treturn `${key}-autoadjunct-${section.autoAdjunctID}`;\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\treturn section;\n\t\t\t}),\n\t\t);\n\t}\n\n\treturn deck;\n};\n\nregister(\"PresentationDeck\", PresentationDeck);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"presentation-deck.js","names":["require","collections","_interopRequireWildcard","_utils","_basePresentationModel","_models","_presentationSection","_presentationSlide","_lodash","_interopRequireDefault","_index","_log","_stateRegister","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","PresentationDeck","exports","BasePresentationModel","extend","props","html","css","id","deckID","index","thumbnail","visible","type","key","common","title","usesImpostorSections","editable","titleEditable","notesEditable","tagsEditable","tags","version","namespacedKey","cmsvalkey_set","isWelcome","isSlide","isSection","children","realSection","derived","welcomeSlide","fn","PresentationSection","getAttributes","sections","url","_url","DeckVersionModel","createFromDeckVersion","deckVersionModel","_deckVersionModel$nam","options","undefined","_","defaults","autoAdjuncts","AutoAdjunctCollection","adjunctSections","AdjunctSectionCollection","adjunctSlides","AdjunctSlideCollection","adjunctSubSlides","AdjunctSubSlideCollection","sectionSelections","SectionSelectionCollection","slideSelections","SlideSelectionCollection","screenshots","DeckVersionScreenshotCollection","rootAssetPath","templates","choicelist","screenshotsToMap","assetRoot","getAssetRoot","index_asset","concat","getTags","deck","getThumbnail","manifest_json","indexOf","isImpostorDeck","namespaced_key","log","warn","toJSON","selections","map","selection","sequence","section","slide","maxID","getMaxID","getUniqueAdjunctID","section_set","sectionModel","createFromSection","addSlides","slide_set","add","adjunctSection","createFromAdjunctSection","first","adjunctSlideLimit","adjunctslide_limit","slides","slideModel","isImpostor","createFromImpostorSection","PresentationSlide","createFromSlide","adjunctSlideModel","createFromAdjunctSlide","models","reverse","sectionSlides","Math","floor","template","createFromTemplate","autoSections","auto","Error","createFromAutoAdjunct","deckversionID","setSequentialSequences","createFromManifestJSON","manifestJSON","project","_project$welcome$edit","_project$welcome","parseInt","uniqueId","resolveURL","getAssetPath","welcome","editables","some","items","titles","ordering","splitKey","split","newKey","sortBy","item","startIndex","endIndex","slice","createFromManifestImpostor","sectionKeys","_project$templates$fi","_project$templates","_project$templates$fi2","_project$templates$fi3","cmsvals","find","getTemplateAssetPath","minID","max","_project$templates2","_project$templates2$f","projTemplate","s","replace","autoAdjunctID","register"],"sources":["../../src/presentation/presentation-deck.js"],"sourcesContent":["import \"./presentation-sections.js\";\n\nimport * as collections from \"../collections\";\n\nimport {\n\tgetMaxID,\n\tisImpostor,\n\tisImpostorDeck,\n\tsetSequentialSequences,\n} from \"../utils.js\";\n\nimport { BasePresentationModel } from \"./base-presentation-model\";\nimport { DeckVersionModel } from \"../models\";\nimport { PresentationSection } from \"./presentation-section\";\nimport { PresentationSlide } from \"./presentation-slide\";\nimport _ from \"lodash\";\nimport { getAssetRoot } from \"../index.js\";\nimport log from \"../log.js\";\nimport { register } from \"../state-register\";\nimport { resolveURL } from \"../utils.js\";\n\n/**\n * @constructor\n * @alias presentation.PresentationDeck\n * @extends presentation.BasePresentationModel\n */\nexport const PresentationDeck = BasePresentationModel.extend(\n\t/** @lends presentation.PresentationDeck# */ {\n\t\t/**\n\t\t * @property {string} html\n\t\t * @property {string} css\n\t\t * @property {number} id\n\t\t * @property {number} deckID\n\t\t * @property {number} index\n\t\t * @property {string} thumbnail\n\t\t * @property {boolean} visible\n\t\t * @property {string} key\n\t\t * @property {object} common\n\t\t * @property {string} title\n\t\t * @property {boolean} usesImpostorSections\n\t\t * @property {boolean} editable\n\t\t * @property {array} tags\n\t\t * @property {number} version\n\t\t * @property {string} namespacedKey\n\t\t * @property {string[]} cmsvalkey_set\n\t\t */\n\t\tprops: {\n\t\t\thtml: \"string\",\n\t\t\tcss: \"string\",\n\t\t\tid: \"number\",\n\t\t\tdeckID: \"number\",\n\t\t\tindex: \"number\",\n\t\t\tthumbnail: \"string\",\n\t\t\tvisible: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tvisible: true,\n\t\t\t},\n\t\t\tkey: \"string\",\n\t\t\tcommon: \"object\",\n\t\t\ttitle: \"string\",\n\t\t\tusesImpostorSections: \"boolean\",\n\t\t\teditable: \"boolean\",\n\t\t\ttitleEditable: \"boolean\",\n\t\t\tnotesEditable: \"boolean\",\n\t\t\ttagsEditable: \"boolean\",\n\t\t\ttags: \"array\",\n\t\t\tversion: \"number\",\n\t\t\tnamespacedKey: \"string\",\n\t\t\tcmsvalkey_set: \"array\",\n\t\t\tisWelcome: { type: \"boolean\", default: true },\n\t\t\tisSlide: { type: \"boolean\", default: false },\n\t\t\tisSection: { type: \"boolean\", default: false },\n\t\t},\n\n\t\t/**\n\t\t * @property {presentation.PresentationSection} realSection\n\t\t */\n\t\tchildren: {\n\t\t\trealSection: \"PresentationSection\",\n\t\t},\n\n\t\tderived: {\n\t\t\twelcomeSlide: {\n\t\t\t\tfn: function () {\n\t\t\t\t\treturn new PresentationSection({\n\t\t\t\t\t\t...this.getAttributes({ props: true }),\n\t\t\t\t\t\tisWelcome: true,\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\n\t\t/**\n\t\t * @property {presentation.PresentationSectionCollection} sections\n\t\t */\n\t\tcollections: {\n\t\t\tsections: \"PresentationSectionCollection\",\n\t\t},\n\n\t\turl() {\n\t\t\tif (!this._url) {\n\t\t\t\tthis._url = new DeckVersionModel({ id: this.id }).url();\n\t\t\t}\n\n\t\t\treturn this._url;\n\t\t},\n\t},\n);\n\n/**\n * @function createFromURL\n * @memberof presentation.PresentationDeck\n * @param {models.DeckVersionModel} deckVersionModel\n * @param {object} [options]\n * @param {number} [options.index = 0]\n * @param {collections.AdjunctSectionCollection}} [adjunctSections]\n * @returns {presentation.PresentationDeck}\n */\nPresentationDeck.createFromDeckVersion = function (\n\tdeckVersionModel,\n\toptions = {},\n) {\n\t_.defaults(options, {\n\t\tindex: 0,\n\t\tautoAdjuncts: new collections.AutoAdjunctCollection(),\n\t\tadjunctSections: new collections.AdjunctSectionCollection(),\n\t\tadjunctSlides: new collections.AdjunctSlideCollection(),\n\t\tadjunctSubSlides: new collections.AdjunctSubSlideCollection(),\n\t\tsectionSelections: new collections.SectionSelectionCollection(),\n\t\tslideSelections: new collections.SlideSelectionCollection(),\n\t\tscreenshots: new collections.DeckVersionScreenshotCollection(),\n\t\trootAssetPath: null,\n\t\ttemplates: null,\n\t\tchoicelist: null,\n\t});\n\n\toptions.screenshots = PresentationDeck.screenshotsToMap(options.screenshots);\n\n\tconst assetRoot = getAssetRoot(deckVersionModel.index_asset.url());\n\tlet html;\n\tlet css;\n\n\tif (options.rootAssetPath) {\n\t\thtml = `${options.rootAssetPath}index.html`;\n\t\tcss = `${options.rootAssetPath}slide.css`;\n\t} else {\n\t\thtml = `${assetRoot}index.html`;\n\t\tcss = `${assetRoot}slide.css`;\n\t}\n\n\tconst tags = PresentationDeck.getTags(deckVersionModel, options);\n\n\tconst deck = new PresentationDeck({\n\t\thtml,\n\t\tcss,\n\t\tid: deckVersionModel.id,\n\t\tindex: options.index,\n\t\tthumbnail: PresentationDeck.getThumbnail(\n\t\t\tdeckVersionModel,\n\t\t\toptions.screenshots,\n\t\t),\n\t\tdeckID: deckVersionModel.deck.id,\n\t\tvisible: true,\n\t\tkey: deckVersionModel.deck.key,\n\t\tcommon: deckVersionModel.manifest_json.common,\n\t\ttitle: deckVersionModel.deck.title,\n\t\teditable: tags.indexOf(\"editable\") > -1,\n\t\ttitleEditable: false,\n\t\tnotesEditable: true,\n\t\ttagsEditable: true,\n\t\ttags,\n\t\tversion: deckVersionModel.version,\n\t\tusesImpostorSections: isImpostorDeck(deckVersionModel),\n\t\tcmsvalkey_set: deckVersionModel.cmsvalkey_set || [],\n\n\t\t// Prefer getting the value from the server, but if, for example, it's an old\n\t\t// cached version that doesn't have a namespaced key, we can make a very good\n\t\t// guess at a default!\n\t\tnamespacedKey: deckVersionModel.namespaced_key ?? \"\",\n\t});\n\n\tif (!deck.key) {\n\t\tlog.warn(\n\t\t\t\"Deck key not available to presentation\",\n\t\t\tdeckVersionModel.deck.toJSON(),\n\t\t);\n\t}\n\n\t// Convert the selections to an easier format to use later\n\tconst sectionSelections = options.sectionSelections;\n\tconst slideSelections = options.slideSelections;\n\n\toptions.selections = sectionSelections\n\t\t.map((selection) => {\n\t\t\treturn {\n\t\t\t\tsequence: selection.sequence,\n\t\t\t\tvisible: selection.visible,\n\t\t\t\turl: selection.section.url(),\n\t\t\t\tid: selection.id,\n\t\t\t};\n\t\t})\n\t\t.concat(\n\t\t\tslideSelections.map((selection) => {\n\t\t\t\treturn {\n\t\t\t\t\tsequence: selection.sequence,\n\t\t\t\t\tvisible: selection.visible,\n\t\t\t\t\turl: selection.slide.url(),\n\t\t\t\t\tid: selection.id,\n\t\t\t\t};\n\t\t\t}),\n\t\t);\n\n\t// We want all adjuncts to have fake ids that can't possibly overlap with the ids of\n\t// normal sections, slides and subslides, so we make a base ID that is larger than\n\t// all existing IDs then use the getUniqueAdjunctID function to retrieve an incremented ID\n\tlet maxID = getMaxID(deckVersionModel);\n\n\toptions.getUniqueAdjunctID = function () {\n\t\treturn ++maxID;\n\t};\n\n\t// We have four different ways to create a presentation structure here - we are\n\t// using either selections or a choicelist, and the deck is either a normal\n\t// deck or an impostor deck. Setting up a non-impostor deck is easier, so I've\n\t// split this up into two primary methods to cover those two branches, and the models\n\t// internally retrieve the correct sequence & visibility data depending on whether\n\t// we're using selections or a choicelist.\n\n\tif (!deck.usesImpostorSections) {\n\t\t// Non impostor deck using selections or a choicelist. Slides are already\n\t\t// associated with the correct sections, so all we have to do is turn\n\t\t// everything into a presentation model and pass the options through with\n\t\t// the selections or choicelist data.\n\n\t\tdeckVersionModel.section_set.forEach((sectionModel) => {\n\t\t\tconst section = PresentationSection.createFromSection(\n\t\t\t\tsectionModel,\n\t\t\t\toptions,\n\t\t\t);\n\n\t\t\tsection.addSlides(sectionModel.slide_set, options);\n\t\t\tdeck.sections.add(section);\n\n\t\t\tconst adjunctSlides = options.adjunctSlides.filter((slide) => {\n\t\t\t\treturn slide.section && slide.section.id === section.id;\n\t\t\t});\n\n\t\t\tsection.addSlides(adjunctSlides, options);\n\t\t});\n\n\t\toptions.adjunctSections.forEach((adjunctSection) => {\n\t\t\tconst section = PresentationSection.createFromAdjunctSection(\n\t\t\t\tadjunctSection,\n\t\t\t\tDeckVersionModel,\n\t\t\t\toptions,\n\t\t\t);\n\n\t\t\tdeck.sections.add(section);\n\t\t});\n\t} else {\n\t\t// Impostor deck using selections or a choicelist. The deckversion.section_set\n\t\t// only contains one section, which is the \"real\" section but is not used in\n\t\t// the presentation. Some slides have the tag \"section-header\", and these slides\n\t\t// will be turned into sections and may be given sets of slides.\n\n\t\tconst realSection = deckVersionModel.section_set.first();\n\n\t\tdeck.realSection = new PresentationSection({\n\t\t\tid: realSection.id,\n\t\t\tkey: realSection.key,\n\t\t\tadjunctSlideLimit: realSection.adjunctslide_limit,\n\t\t});\n\n\t\tlet slides = [];\n\n\t\t// First we go through all slides and separate the impostor sections from the\n\t\t// normal slides. If a slide is a \"section header\" then we turn it into a presentation\n\t\t// section; if it is just a slide then we add it to the slides array, which will contain\n\t\t// all slides. We can't allocate slides to sections yet because we don't know\n\t\t// which section a slide belongs to.\n\t\trealSection.slide_set.forEach((slideModel) => {\n\t\t\tconst isSection = isImpostor(slideModel);\n\n\t\t\tif (isSection) {\n\t\t\t\tconst section = PresentationSection.createFromImpostorSection(\n\t\t\t\t\tslideModel,\n\t\t\t\t\toptions,\n\t\t\t\t);\n\n\t\t\t\tdeck.sections.add(section);\n\t\t\t} else {\n\t\t\t\tconst slide = PresentationSlide.createFromSlide(slideModel, options);\n\t\t\t\tslides.push(slide);\n\t\t\t}\n\t\t});\n\n\t\t// We filter the adjunct slides and add all the non-section slides to the slides array too.\n\t\toptions.adjunctSlides\n\t\t\t.filter((slide) => !isImpostor(slide))\n\t\t\t.forEach((adjunctSlideModel) => {\n\t\t\t\tconst slide = PresentationSlide.createFromAdjunctSlide(\n\t\t\t\t\tadjunctSlideModel,\n\t\t\t\t\tnull,\n\t\t\t\t\toptions,\n\t\t\t\t);\n\n\t\t\t\tslides.push(slide);\n\t\t\t});\n\n\t\t// Next we go through the sections backwards and use the sequence to find all slides\n\t\t// which belong to a section. Doing this backwards means that we only need to know\n\t\t// one section's sequence at a time, e.g. if I went forwards and the first section\n\t\t// had the sequence 1, I know that I can start looking for slides with sequence > 1\n\t\t// but I don't know where to stop. If I start with the last section and look for\n\t\t// slides with the sequence > 110 then I know that all slides with a sequence > 110\n\t\t// are valid. I then remove those slides from the slides array and move down to the\n\t\t// next section.\n\t\tdeck.sections.models.reverse().forEach((section) => {\n\t\t\tconst sectionSlides = slides.filter(\n\t\t\t\t(slide) => slide.sequence > section.sequence,\n\t\t\t);\n\n\t\t\tsection.slides.add(sectionSlides);\n\n\t\t\t// Slides have a \"section\" on their model that represents the section\n\t\t\t// that they belong to. Because this is an impostor deck, there's a\n\t\t\t// good chance that the section is now incorrect for normal slides,\n\t\t\t// and a 100% chance that it's incorrect for adjunct slides as we\n\t\t\t// didn't populate the section field when we created the adjunct slides.\n\t\t\t// We update those now with the correct section.\n\t\t\tsection.slides.forEach((slide) => {\n\t\t\t\tslide.section = section.id;\n\t\t\t});\n\n\t\t\tslides = slides.filter((slide) => slide.sequence <= section.sequence);\n\t\t});\n\n\t\t// Average the adjunct slide limit used across the entire deck over each section\n\t\t// in the deck. We do this before we add the adjunct impostor sections, 'cause you\n\t\t// can't add custom slides to those.\n\t\tdeck.sections.forEach((section) => {\n\t\t\tsection.adjunctSlideLimit = section.adjunctSlideLimit\n\t\t\t\t? section.adjunctSlideLimit\n\t\t\t\t: Math.floor(realSection.adjunctSlideLimit / deck.sections.length);\n\t\t});\n\n\t\t// Return the sections to the correct order\n\t\tdeck.sections.models.reverse();\n\n\t\t// Finally, we add the adjunct impostor sections. These are adjunct slides with\n\t\t// the \"section-header\" tag and they work the same way as the slide impostors,\n\t\t// but because adjunct sections can't have slides we're adding them after the\n\t\t// slide-assigning process\n\t\toptions.adjunctSlides\n\t\t\t.filter((slide) => isImpostor(slide))\n\t\t\t.forEach((adjunctSlideModel) => {\n\t\t\t\tconst adjunctSection = PresentationSection.createFromAdjunctSection(\n\t\t\t\t\tadjunctSlideModel,\n\t\t\t\t\tDeckVersionModel,\n\t\t\t\t\toptions,\n\t\t\t\t);\n\n\t\t\t\tdeck.sections.add(adjunctSection);\n\t\t\t});\n\t}\n\n\t// Add templates as sections if present. This is only used by the CDK.\n\tif (options.templates && options.templates.length > 0) {\n\t\tdeck.sections.add(\n\t\t\toptions.templates.map((template, index) => {\n\t\t\t\treturn PresentationSection.createFromTemplate(\n\t\t\t\t\ttemplate,\n\t\t\t\t\tdeck.sections.length + index,\n\t\t\t\t\toptions.getUniqueAdjunctID(),\n\t\t\t\t);\n\t\t\t}),\n\t\t);\n\t}\n\n\t// This is generally only used by screenshots\n\tif (options.autoAdjuncts) {\n\t\tconst autoSections = options.autoAdjuncts.map((auto, index) => {\n\t\t\t// We already have the template on the deckversion, so we can find it here.\n\t\t\tif (!auto.template) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t\"Attempted to use an autoadjunct that has no template.\",\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst section = PresentationSection.createFromAutoAdjunct(auto, {\n\t\t\t\tindex: deck.sections.length + index,\n\t\t\t\tdeckversionID: deck.id,\n\t\t\t});\n\n\t\t\treturn section;\n\t\t});\n\n\t\tdeck.sections.add(autoSections);\n\t}\n\n\tsetSequentialSequences(deck);\n\n\treturn deck;\n};\n\nPresentationDeck.createFromManifestJSON = function (manifestJSON, project) {\n\tconst deck = new PresentationDeck({\n\t\tid: parseInt(_.uniqueId(), 10),\n\t\tindex: 0,\n\t\tvisible: true,\n\t\tkey: manifestJSON.key || \"manifest_deck\",\n\t\thtml: resolveURL(manifestJSON.getAssetPath(), \"index.html\"),\n\t\tcss: resolveURL(manifestJSON.getAssetPath(), \"slide.css\"),\n\t\tcommon: manifestJSON.common,\n\t\tthumbnail: null,\n\t\tdeckID: 1,\n\t\ttitle: \"Local\",\n\t\tversion: 1,\n\t\ttags: manifestJSON.tags[\"\"] || [],\n\t\tcmsvalkey_set: project?.welcome?.editables ?? [],\n\t});\n\n\tconst usesImpostorSections = _.some(\n\t\tmanifestJSON.tags,\n\t\t(tags) => tags.indexOf(\"section-header\") !== -1,\n\t);\n\tdeck.usesImpostorSections = usesImpostorSections;\n\n\tif (usesImpostorSections) {\n\t\tdeck.usesImpostorSections = true;\n\n\t\tlet items = Object.keys(manifestJSON.titles).map((key) => {\n\t\t\tconst sequence = manifestJSON.toJSON().ordering[key];\n\t\t\tconst splitKey = key.split(\"/\");\n\t\t\tconst newKey = splitKey[splitKey.length - 1];\n\n\t\t\treturn {\n\t\t\t\tkey: newKey,\n\t\t\t\tsequence,\n\t\t\t\thtml: resolveURL(manifestJSON.getAssetPath(key), \"index.html\"),\n\t\t\t\tcss: resolveURL(manifestJSON.getAssetPath(key), \"slide.css\"),\n\t\t\t\ttitle: manifestJSON.titles[key],\n\t\t\t\ttags: manifestJSON.tags[key] || [],\n\t\t\t\tcmsvalkey_set: [],\n\t\t\t};\n\t\t});\n\n\t\titems = _.sortBy(items, \"sequence\");\n\n\t\tconst sections = items.filter(\n\t\t\t(item) => item.tags.indexOf(\"section-header\") !== -1,\n\t\t);\n\n\t\tsections.forEach((item, index) => {\n\t\t\tconst startIndex = items.indexOf(item) + 1;\n\t\t\tconst endIndex = sections[index + 1]\n\t\t\t\t? items.indexOf(sections[index + 1])\n\t\t\t\t: items.length;\n\n\t\t\tconst slides = items.slice(startIndex, endIndex);\n\n\t\t\titem.slides = slides;\n\t\t});\n\n\t\tdeck.sections.add(\n\t\t\tsections.map((section, index) => {\n\t\t\t\treturn PresentationSection.createFromManifestImpostor(\n\t\t\t\t\tsection,\n\t\t\t\t\tproject,\n\t\t\t\t\tindex,\n\t\t\t\t);\n\t\t\t}),\n\t\t);\n\n\t\tdeck.realSection = PresentationSection.createFromManifestImpostor(\n\t\t\titems[0],\n\t\t\tproject,\n\t\t);\n\t} else {\n\t\tconst sectionKeys = Object.keys(manifestJSON.titles).filter((title) => {\n\t\t\treturn title.split(\"/\").length === 1;\n\t\t});\n\n\t\tdeck.sections.add(\n\t\t\tsectionKeys.map((key, index) => {\n\t\t\t\treturn PresentationSection.createFromManifestJSON(\n\t\t\t\t\tmanifestJSON,\n\t\t\t\t\tproject,\n\t\t\t\t\tkey,\n\t\t\t\t\tindex,\n\t\t\t\t);\n\t\t\t}),\n\t\t);\n\t}\n\n\tif (manifestJSON.templates) {\n\t\tconst templates = Object.keys(manifestJSON.templates).map((key) => {\n\t\t\tconst cmsvals =\n\t\t\t\tproject?.templates?.find?.((t) => t.key === key)?.editables ?? [];\n\n\t\t\treturn {\n\t\t\t\t...manifestJSON.templates[key],\n\t\t\t\tkey,\n\t\t\t\tsequence: manifestJSON.templates[key].ordering,\n\t\t\t\tindex_asset: {\n\t\t\t\t\turl: resolveURL(manifestJSON.getTemplateAssetPath(key), \"index.html\"),\n\t\t\t\t},\n\t\t\t\tcmsvalkey_set: cmsvals,\n\t\t\t};\n\t\t});\n\n\t\tconst minID = _.max(_.map(deck.sections.toJSON(), \"id\"));\n\n\t\tdeck.sections.add(\n\t\t\ttemplates.map((template, index) => {\n\t\t\t\tconst section = PresentationSection.createFromTemplate(\n\t\t\t\t\ttemplate,\n\t\t\t\t\tindex,\n\t\t\t\t\tminID,\n\t\t\t\t);\n\t\t\t\tconst projTemplate = project?.templates?.find?.(\n\t\t\t\t\t(s) => s.key === section.key.replace(\"template-\", \"\"),\n\t\t\t\t);\n\t\t\t\tif (projTemplate?.editables) {\n\t\t\t\t\tsection.cmsvalkey_set = projTemplate.editables.map((key) => {\n\t\t\t\t\t\treturn `${key}-autoadjunct-${section.autoAdjunctID}`;\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\treturn section;\n\t\t\t}),\n\t\t);\n\t}\n\n\treturn deck;\n};\n\nregister(\"PresentationDeck\", PresentationDeck);\n"],"mappings":"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","ignoreList":[]}
@@ -14,7 +14,7 @@ describe("#createFromManifestJSON", function () {
14
14
  });
15
15
  it("should add template sections to the end of a deck", /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee() {
16
16
  var model, deck, lastSection;
17
- return _regenerator.default.wrap(function _callee$(_context) {
17
+ return _regenerator.default.wrap(function (_context) {
18
18
  while (1) switch (_context.prev = _context.next) {
19
19
  case 0:
20
20
  (0, _api.G)(_manifestJson.ManifestJSONModel);
@@ -56,7 +56,7 @@ describe("#createFromManifestJSON", function () {
56
56
  expect(lastSection.key).toEqual("template-orange");
57
57
  expect(lastSection.html).toEqual("/api/templates/orange/index.html");
58
58
  expect(lastSection.css).toEqual("/api/templates/orange/slide.css");
59
- case 11:
59
+ case 1:
60
60
  case "end":
61
61
  return _context.stop();
62
62
  }
@@ -140,7 +140,7 @@ describe("#createFromDeckVersion", function () {
140
140
  };
141
141
  it("should not add template sections to the end of a deck", /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2() {
142
142
  var model, deck;
143
- return _regenerator.default.wrap(function _callee2$(_context2) {
143
+ return _regenerator.default.wrap(function (_context2) {
144
144
  while (1) switch (_context2.prev = _context2.next) {
145
145
  case 0:
146
146
  (0, _api.G)(_deckVersion.DeckVersionModel);
@@ -149,7 +149,7 @@ describe("#createFromDeckVersion", function () {
149
149
  expect(deck.sections.length).toEqual(3);
150
150
  expect(deck.sections.at(0).title).toEqual("Section 1");
151
151
  expect(deck.sections.at(deck.sections.length - 1).title).toEqual("Section 3");
152
- case 6:
152
+ case 1:
153
153
  case "end":
154
154
  return _context2.stop();
155
155
  }
@@ -157,7 +157,7 @@ describe("#createFromDeckVersion", function () {
157
157
  })));
158
158
  it("should add template sections to the end of a deck", /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee3() {
159
159
  var model, deck, lastSection;
160
- return _regenerator.default.wrap(function _callee3$(_context3) {
160
+ return _regenerator.default.wrap(function (_context3) {
161
161
  while (1) switch (_context3.prev = _context3.next) {
162
162
  case 0:
163
163
  (0, _api.G)(_deckVersion.DeckVersionModel);
@@ -173,7 +173,7 @@ describe("#createFromDeckVersion", function () {
173
173
  expect(lastSection.key).toEqual("template-orange");
174
174
  expect(lastSection.html).toEqual("http://path/to/template/orange/index.html");
175
175
  expect(lastSection.css).toEqual("http://path/to/template/orange/slide.css");
176
- case 11:
176
+ case 1:
177
177
  case "end":
178
178
  return _context3.stop();
179
179
  }
@@ -1 +1 @@
1
- {"version":3,"file":"presentation-deck.spec.js","names":["_deckVersion","require","_deckVersionScreenshots","_api","_manifestJson","_presentationDeck","describe","beforeEach","jest","spyOn","ManifestJSONModel","prototype","mockReturnValue","it","_asyncToGenerator2","default","_regenerator","mark","_callee","model","deck","lastSection","wrap","_callee$","_context","prev","next","G","titles","section_1","section_2","section_3","ordering","templates","apple","title","orange","tags","PresentationDeck","createFromManifestJSON","expect","sections","length","toEqual","at","key","html","css","stop","deckVersionJSON","image_256","template_set","id","sequence","index_asset","url","section_set","deckversion","slide_set","subslide_set","section","_callee2","_callee2$","_context2","DeckVersionModel","createFromDeckVersion","_callee3","_callee3$","_context3","presentationDeck","thumbnail","options","screenshots","DeckVersionScreenshotCollection","subject","first","slide","presentationSection","presentationSlide","slides"],"sources":["../../src/presentation/presentation-deck.spec.js"],"sourcesContent":["import { DeckVersionModel } from \"../models/deck-version\";\nimport { DeckVersionScreenshotCollection } from \"../collections/deck-version-screenshots.js\";\nimport { G } from \"sp-test/api\";\nimport { ManifestJSONModel } from \"../models/manifest-json\";\nimport { PresentationDeck } from \"./presentation-deck\";\n\ndescribe(\"#createFromManifestJSON\", () => {\n\tbeforeEach(() => {\n\t\tjest\n\t\t\t.spyOn(ManifestJSONModel.prototype, \"getAssetPath\")\n\t\t\t.mockReturnValue(\"/api/\");\n\t});\n\n\tit(\"should add template sections to the end of a deck\", async () => {\n\t\tG(ManifestJSONModel);\n\t\tconst model = new ManifestJSONModel({\n\t\t\ttitles: {\n\t\t\t\tsection_1: \"Section 1\",\n\t\t\t\t\"section_1/slide_1\": \"Section 1 Slide 1\",\n\t\t\t\tsection_2: \"Section 2\",\n\t\t\t\t\"section_2/slide_1\": \"Section 2 Slide 1\",\n\t\t\t\t\"section_2/slide_2\": \"Section 2 Slide 2\",\n\t\t\t\tsection_3: \"Section 3\",\n\t\t\t},\n\t\t\tordering: {\n\t\t\t\tsection_1: 1,\n\t\t\t\t\"section_1/slide_1\": 1,\n\t\t\t\tsection_2: 2,\n\t\t\t\t\"section_2/slide_1\": 1,\n\t\t\t\t\"section_2/slide_2\": 2,\n\t\t\t\tsection_3: 3,\n\t\t\t},\n\t\t\ttemplates: {\n\t\t\t\tapple: {\n\t\t\t\t\ttitle: \"Apple\",\n\t\t\t\t\tordering: 1,\n\t\t\t\t},\n\t\t\t\torange: {\n\t\t\t\t\ttitle: \"Orange\",\n\t\t\t\t\tordering: 2,\n\t\t\t\t},\n\t\t\t},\n\t\t\ttags: {},\n\t\t});\n\n\t\tconst deck = PresentationDeck.createFromManifestJSON(model);\n\t\texpect(deck.sections.length).toEqual(5);\n\t\texpect(deck.sections.at(0).title).toEqual(\"Section 1\");\n\t\texpect(deck.sections.at(3).title).toEqual(\"Apple\");\n\n\t\tconst lastSection = deck.sections.at(deck.sections.length - 1);\n\t\texpect(lastSection.title).toEqual(\"Orange\");\n\t\texpect(lastSection.key).toEqual(\"template-orange\");\n\t\texpect(lastSection.html).toEqual(\"/api/templates/orange/index.html\");\n\t\texpect(lastSection.css).toEqual(\"/api/templates/orange/slide.css\");\n\t});\n});\n\ndescribe(\"#createFromDeckVersion\", () => {\n\tconst deckVersionJSON = {\n\t\timage_256: \"http://path/to/deck/thumbnail.png\",\n\t\ttemplate_set: [\n\t\t\t{\n\t\t\t\tid: 20,\n\t\t\t\ttitle: \"Apple\",\n\t\t\t\tkey: \"apple\",\n\t\t\t\tsequence: 1,\n\t\t\t\tindex_asset: {\n\t\t\t\t\turl: \"http://path/to/template/apple/index.html\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 21,\n\t\t\t\ttitle: \"Orange\",\n\t\t\t\tkey: \"orange\",\n\t\t\t\tsequence: 2,\n\t\t\t\tindex_asset: {\n\t\t\t\t\turl: \"http://path/to/template/orange/index.html\",\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t\tindex_asset: {\n\t\t\turl: \"http://path/to/index.html\",\n\t\t},\n\t\tdeck: {\n\t\t\tid: 1,\n\t\t},\n\t\tsection_set: [\n\t\t\t{\n\t\t\t\tid: 1,\n\t\t\t\ttitle: \"Section 1\",\n\t\t\t\timage_256: \"default_section.png\",\n\t\t\t\tindex_asset: {\n\t\t\t\t\turl: \"http://path/to/index.html\",\n\t\t\t\t},\n\t\t\t\tdeckversion: { id: 1 },\n\t\t\t\tsequence: 1,\n\t\t\t\tslide_set: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 1,\n\t\t\t\t\t\ttitle: \"Slide 1\",\n\t\t\t\t\t\tindex_asset: {\n\t\t\t\t\t\t\turl: \"http://path/to/index.html\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\timage_256: \"default_slide.png\",\n\t\t\t\t\t\tsubslide_set: [],\n\t\t\t\t\t\tsection: { id: 1 },\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 2,\n\t\t\t\ttitle: \"Section 2\",\n\t\t\t\timage_256: \"default_section.png\",\n\t\t\t\tindex_asset: {\n\t\t\t\t\turl: \"http://path/to/index.html\",\n\t\t\t\t},\n\t\t\t\tdeckversion: { id: 1 },\n\t\t\t\tsequence: 2,\n\t\t\t\tslide_set: [],\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 3,\n\t\t\t\ttitle: \"Section 3\",\n\t\t\t\timage_256: \"default_section.png\",\n\t\t\t\tindex_asset: {\n\t\t\t\t\turl: \"http://path/to/index.html\",\n\t\t\t\t},\n\t\t\t\tdeckversion: { id: 1 },\n\t\t\t\tsequence: 3,\n\t\t\t\tslide_set: [],\n\t\t\t},\n\t\t],\n\t};\n\n\tit(\"should not add template sections to the end of a deck\", async () => {\n\t\tG(DeckVersionModel);\n\t\tconst model = new DeckVersionModel(deckVersionJSON);\n\t\tconst deck = PresentationDeck.createFromDeckVersion(model);\n\n\t\texpect(deck.sections.length).toEqual(3);\n\t\texpect(deck.sections.at(0).title).toEqual(\"Section 1\");\n\t\texpect(deck.sections.at(deck.sections.length - 1).title).toEqual(\n\t\t\t\"Section 3\",\n\t\t);\n\t});\n\n\tit(\"should add template sections to the end of a deck\", async () => {\n\t\tG(DeckVersionModel);\n\t\tconst model = new DeckVersionModel(deckVersionJSON);\n\t\tconst deck = PresentationDeck.createFromDeckVersion(model, {\n\t\t\ttemplates: model.template_set,\n\t\t});\n\n\t\texpect(deck.sections.length).toEqual(5);\n\t\texpect(deck.sections.at(0).title).toEqual(\"Section 1\");\n\t\texpect(deck.sections.at(3).title).toEqual(\"Apple\");\n\n\t\tconst lastSection = deck.sections.at(deck.sections.length - 1);\n\t\texpect(lastSection.title).toEqual(\"Orange\");\n\t\texpect(lastSection.key).toEqual(\"template-orange\");\n\t\texpect(lastSection.html).toEqual(\n\t\t\t\"http://path/to/template/orange/index.html\",\n\t\t);\n\t\texpect(lastSection.css).toEqual(\"http://path/to/template/orange/slide.css\");\n\t});\n\n\tdescribe(\"Screenshots\", () => {\n\t\tit(\"should use the default image from the slide if no screenshot found\", () => {\n\t\t\tconst deck = new DeckVersionModel(deckVersionJSON);\n\t\t\tconst presentationDeck = PresentationDeck.createFromDeckVersion(deck);\n\t\t\texpect(presentationDeck.thumbnail).toEqual(deckVersionJSON.image_256);\n\t\t});\n\n\t\tit(\"should use the screenshot model if it matches\", () => {\n\t\t\tconst deck = new DeckVersionModel(deckVersionJSON);\n\t\t\tconst options = {\n\t\t\t\tscreenshots: new DeckVersionScreenshotCollection([\n\t\t\t\t\t{ subject: deck.url(), image_256: \"test-screenshot.png\" },\n\t\t\t\t]),\n\t\t\t};\n\n\t\t\tconst presentationDeck = PresentationDeck.createFromDeckVersion(\n\t\t\t\tdeck,\n\t\t\t\toptions,\n\t\t\t);\n\t\t\texpect(presentationDeck.thumbnail).toEqual(\"test-screenshot.png\");\n\t\t});\n\n\t\tit(\"should pass screenshots to nested models\", () => {\n\t\t\tconst deck = new DeckVersionModel(deckVersionJSON);\n\t\t\tconst section = deck.section_set.first();\n\t\t\tconst slide = section.slide_set.first();\n\n\t\t\tconst options = {\n\t\t\t\tscreenshots: new DeckVersionScreenshotCollection([\n\t\t\t\t\t{ subject: deck.url(), image_256: \"test-screenshot.png\" },\n\t\t\t\t\t{ subject: section.url(), image_256: \"test-screenshot.png\" },\n\t\t\t\t\t{ subject: slide.url(), image_256: \"test-screenshot.png\" },\n\t\t\t\t]),\n\t\t\t};\n\n\t\t\tconst presentationDeck = PresentationDeck.createFromDeckVersion(\n\t\t\t\tdeck,\n\t\t\t\toptions,\n\t\t\t);\n\t\t\tconst presentationSection = presentationDeck.sections.first();\n\t\t\tconst presentationSlide = presentationSection.slides.first();\n\n\t\t\texpect(presentationSection.thumbnail).toEqual(\"test-screenshot.png\");\n\t\t\texpect(presentationSlide.thumbnail).toEqual(\"test-screenshot.png\");\n\t\t});\n\t});\n});\n"],"mappings":";;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,uBAAA,GAAAD,OAAA;AACA,IAAAE,IAAA,GAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AACA,IAAAI,iBAAA,GAAAJ,OAAA;AAEAK,QAAQ,CAAC,yBAAyB,EAAE,YAAM;EACzCC,UAAU,CAAC,YAAM;IAChBC,IAAI,CACFC,KAAK,CAACC,+BAAiB,CAACC,SAAS,EAAE,cAAc,CAAC,CAClDC,eAAe,CAAC,OAAO,CAAC;EAC3B,CAAC,CAAC;EAEFC,EAAE,CAAC,mDAAmD,mBAAAC,kBAAA,CAAAC,OAAA,eAAAC,YAAA,CAAAD,OAAA,CAAAE,IAAA,CAAE,SAAAC,QAAA;IAAA,IAAAC,KAAA,EAAAC,IAAA,EAAAC,WAAA;IAAA,OAAAL,YAAA,CAAAD,OAAA,CAAAO,IAAA,UAAAC,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UACvD,IAAAC,MAAC,EAACjB,+BAAiB,CAAC;UACdS,KAAK,GAAG,IAAIT,+BAAiB,CAAC;YACnCkB,MAAM,EAAE;cACPC,SAAS,EAAE,WAAW;cACtB,mBAAmB,EAAE,mBAAmB;cACxCC,SAAS,EAAE,WAAW;cACtB,mBAAmB,EAAE,mBAAmB;cACxC,mBAAmB,EAAE,mBAAmB;cACxCC,SAAS,EAAE;YACZ,CAAC;YACDC,QAAQ,EAAE;cACTH,SAAS,EAAE,CAAC;cACZ,mBAAmB,EAAE,CAAC;cACtBC,SAAS,EAAE,CAAC;cACZ,mBAAmB,EAAE,CAAC;cACtB,mBAAmB,EAAE,CAAC;cACtBC,SAAS,EAAE;YACZ,CAAC;YACDE,SAAS,EAAE;cACVC,KAAK,EAAE;gBACNC,KAAK,EAAE,OAAO;gBACdH,QAAQ,EAAE;cACX,CAAC;cACDI,MAAM,EAAE;gBACPD,KAAK,EAAE,QAAQ;gBACfH,QAAQ,EAAE;cACX;YACD,CAAC;YACDK,IAAI,EAAE,CAAC;UACR,CAAC,CAAC;UAEIjB,IAAI,GAAGkB,kCAAgB,CAACC,sBAAsB,CAACpB,KAAK,CAAC;UAC3DqB,MAAM,CAACpB,IAAI,CAACqB,QAAQ,CAACC,MAAM,CAAC,CAACC,OAAO,CAAC,CAAC,CAAC;UACvCH,MAAM,CAACpB,IAAI,CAACqB,QAAQ,CAACG,EAAE,CAAC,CAAC,CAAC,CAACT,KAAK,CAAC,CAACQ,OAAO,CAAC,WAAW,CAAC;UACtDH,MAAM,CAACpB,IAAI,CAACqB,QAAQ,CAACG,EAAE,CAAC,CAAC,CAAC,CAACT,KAAK,CAAC,CAACQ,OAAO,CAAC,OAAO,CAAC;UAE5CtB,WAAW,GAAGD,IAAI,CAACqB,QAAQ,CAACG,EAAE,CAACxB,IAAI,CAACqB,QAAQ,CAACC,MAAM,GAAG,CAAC,CAAC;UAC9DF,MAAM,CAACnB,WAAW,CAACc,KAAK,CAAC,CAACQ,OAAO,CAAC,QAAQ,CAAC;UAC3CH,MAAM,CAACnB,WAAW,CAACwB,GAAG,CAAC,CAACF,OAAO,CAAC,iBAAiB,CAAC;UAClDH,MAAM,CAACnB,WAAW,CAACyB,IAAI,CAAC,CAACH,OAAO,CAAC,kCAAkC,CAAC;UACpEH,MAAM,CAACnB,WAAW,CAAC0B,GAAG,CAAC,CAACJ,OAAO,CAAC,iCAAiC,CAAC;QAAC;QAAA;UAAA,OAAAnB,QAAA,CAAAwB,IAAA;MAAA;IAAA,GAAA9B,OAAA;EAAA,CACnE,GAAC;AACH,CAAC,CAAC;AAEFZ,QAAQ,CAAC,wBAAwB,EAAE,YAAM;EACxC,IAAM2C,eAAe,GAAG;IACvBC,SAAS,EAAE,mCAAmC;IAC9CC,YAAY,EAAE,CACb;MACCC,EAAE,EAAE,EAAE;MACNjB,KAAK,EAAE,OAAO;MACdU,GAAG,EAAE,OAAO;MACZQ,QAAQ,EAAE,CAAC;MACXC,WAAW,EAAE;QACZC,GAAG,EAAE;MACN;IACD,CAAC,EACD;MACCH,EAAE,EAAE,EAAE;MACNjB,KAAK,EAAE,QAAQ;MACfU,GAAG,EAAE,QAAQ;MACbQ,QAAQ,EAAE,CAAC;MACXC,WAAW,EAAE;QACZC,GAAG,EAAE;MACN;IACD,CAAC,CACD;IACDD,WAAW,EAAE;MACZC,GAAG,EAAE;IACN,CAAC;IACDnC,IAAI,EAAE;MACLgC,EAAE,EAAE;IACL,CAAC;IACDI,WAAW,EAAE,CACZ;MACCJ,EAAE,EAAE,CAAC;MACLjB,KAAK,EAAE,WAAW;MAClBe,SAAS,EAAE,qBAAqB;MAChCI,WAAW,EAAE;QACZC,GAAG,EAAE;MACN,CAAC;MACDE,WAAW,EAAE;QAAEL,EAAE,EAAE;MAAE,CAAC;MACtBC,QAAQ,EAAE,CAAC;MACXK,SAAS,EAAE,CACV;QACCN,EAAE,EAAE,CAAC;QACLjB,KAAK,EAAE,SAAS;QAChBmB,WAAW,EAAE;UACZC,GAAG,EAAE;QACN,CAAC;QACDL,SAAS,EAAE,mBAAmB;QAC9BS,YAAY,EAAE,EAAE;QAChBC,OAAO,EAAE;UAAER,EAAE,EAAE;QAAE;MAClB,CAAC;IAEH,CAAC,EACD;MACCA,EAAE,EAAE,CAAC;MACLjB,KAAK,EAAE,WAAW;MAClBe,SAAS,EAAE,qBAAqB;MAChCI,WAAW,EAAE;QACZC,GAAG,EAAE;MACN,CAAC;MACDE,WAAW,EAAE;QAAEL,EAAE,EAAE;MAAE,CAAC;MACtBC,QAAQ,EAAE,CAAC;MACXK,SAAS,EAAE;IACZ,CAAC,EACD;MACCN,EAAE,EAAE,CAAC;MACLjB,KAAK,EAAE,WAAW;MAClBe,SAAS,EAAE,qBAAqB;MAChCI,WAAW,EAAE;QACZC,GAAG,EAAE;MACN,CAAC;MACDE,WAAW,EAAE;QAAEL,EAAE,EAAE;MAAE,CAAC;MACtBC,QAAQ,EAAE,CAAC;MACXK,SAAS,EAAE;IACZ,CAAC;EAEH,CAAC;EAED7C,EAAE,CAAC,uDAAuD,mBAAAC,kBAAA,CAAAC,OAAA,eAAAC,YAAA,CAAAD,OAAA,CAAAE,IAAA,CAAE,SAAA4C,SAAA;IAAA,IAAA1C,KAAA,EAAAC,IAAA;IAAA,OAAAJ,YAAA,CAAAD,OAAA,CAAAO,IAAA,UAAAwC,UAAAC,SAAA;MAAA,kBAAAA,SAAA,CAAAtC,IAAA,GAAAsC,SAAA,CAAArC,IAAA;QAAA;UAC3D,IAAAC,MAAC,EAACqC,6BAAgB,CAAC;UACb7C,KAAK,GAAG,IAAI6C,6BAAgB,CAACf,eAAe,CAAC;UAC7C7B,IAAI,GAAGkB,kCAAgB,CAAC2B,qBAAqB,CAAC9C,KAAK,CAAC;UAE1DqB,MAAM,CAACpB,IAAI,CAACqB,QAAQ,CAACC,MAAM,CAAC,CAACC,OAAO,CAAC,CAAC,CAAC;UACvCH,MAAM,CAACpB,IAAI,CAACqB,QAAQ,CAACG,EAAE,CAAC,CAAC,CAAC,CAACT,KAAK,CAAC,CAACQ,OAAO,CAAC,WAAW,CAAC;UACtDH,MAAM,CAACpB,IAAI,CAACqB,QAAQ,CAACG,EAAE,CAACxB,IAAI,CAACqB,QAAQ,CAACC,MAAM,GAAG,CAAC,CAAC,CAACP,KAAK,CAAC,CAACQ,OAAO,CAC/D,WACD,CAAC;QAAC;QAAA;UAAA,OAAAoB,SAAA,CAAAf,IAAA;MAAA;IAAA,GAAAa,QAAA;EAAA,CACF,GAAC;EAEFhD,EAAE,CAAC,mDAAmD,mBAAAC,kBAAA,CAAAC,OAAA,eAAAC,YAAA,CAAAD,OAAA,CAAAE,IAAA,CAAE,SAAAiD,SAAA;IAAA,IAAA/C,KAAA,EAAAC,IAAA,EAAAC,WAAA;IAAA,OAAAL,YAAA,CAAAD,OAAA,CAAAO,IAAA,UAAA6C,UAAAC,SAAA;MAAA,kBAAAA,SAAA,CAAA3C,IAAA,GAAA2C,SAAA,CAAA1C,IAAA;QAAA;UACvD,IAAAC,MAAC,EAACqC,6BAAgB,CAAC;UACb7C,KAAK,GAAG,IAAI6C,6BAAgB,CAACf,eAAe,CAAC;UAC7C7B,IAAI,GAAGkB,kCAAgB,CAAC2B,qBAAqB,CAAC9C,KAAK,EAAE;YAC1Dc,SAAS,EAAEd,KAAK,CAACgC;UAClB,CAAC,CAAC;UAEFX,MAAM,CAACpB,IAAI,CAACqB,QAAQ,CAACC,MAAM,CAAC,CAACC,OAAO,CAAC,CAAC,CAAC;UACvCH,MAAM,CAACpB,IAAI,CAACqB,QAAQ,CAACG,EAAE,CAAC,CAAC,CAAC,CAACT,KAAK,CAAC,CAACQ,OAAO,CAAC,WAAW,CAAC;UACtDH,MAAM,CAACpB,IAAI,CAACqB,QAAQ,CAACG,EAAE,CAAC,CAAC,CAAC,CAACT,KAAK,CAAC,CAACQ,OAAO,CAAC,OAAO,CAAC;UAE5CtB,WAAW,GAAGD,IAAI,CAACqB,QAAQ,CAACG,EAAE,CAACxB,IAAI,CAACqB,QAAQ,CAACC,MAAM,GAAG,CAAC,CAAC;UAC9DF,MAAM,CAACnB,WAAW,CAACc,KAAK,CAAC,CAACQ,OAAO,CAAC,QAAQ,CAAC;UAC3CH,MAAM,CAACnB,WAAW,CAACwB,GAAG,CAAC,CAACF,OAAO,CAAC,iBAAiB,CAAC;UAClDH,MAAM,CAACnB,WAAW,CAACyB,IAAI,CAAC,CAACH,OAAO,CAC/B,2CACD,CAAC;UACDH,MAAM,CAACnB,WAAW,CAAC0B,GAAG,CAAC,CAACJ,OAAO,CAAC,0CAA0C,CAAC;QAAC;QAAA;UAAA,OAAAyB,SAAA,CAAApB,IAAA;MAAA;IAAA,GAAAkB,QAAA;EAAA,CAC5E,GAAC;EAEF5D,QAAQ,CAAC,aAAa,EAAE,YAAM;IAC7BO,EAAE,CAAC,oEAAoE,EAAE,YAAM;MAC9E,IAAMO,IAAI,GAAG,IAAI4C,6BAAgB,CAACf,eAAe,CAAC;MAClD,IAAMoB,gBAAgB,GAAG/B,kCAAgB,CAAC2B,qBAAqB,CAAC7C,IAAI,CAAC;MACrEoB,MAAM,CAAC6B,gBAAgB,CAACC,SAAS,CAAC,CAAC3B,OAAO,CAACM,eAAe,CAACC,SAAS,CAAC;IACtE,CAAC,CAAC;IAEFrC,EAAE,CAAC,+CAA+C,EAAE,YAAM;MACzD,IAAMO,IAAI,GAAG,IAAI4C,6BAAgB,CAACf,eAAe,CAAC;MAClD,IAAMsB,OAAO,GAAG;QACfC,WAAW,EAAE,IAAIC,uDAA+B,CAAC,CAChD;UAAEC,OAAO,EAAEtD,IAAI,CAACmC,GAAG,CAAC,CAAC;UAAEL,SAAS,EAAE;QAAsB,CAAC,CACzD;MACF,CAAC;MAED,IAAMmB,gBAAgB,GAAG/B,kCAAgB,CAAC2B,qBAAqB,CAC9D7C,IAAI,EACJmD,OACD,CAAC;MACD/B,MAAM,CAAC6B,gBAAgB,CAACC,SAAS,CAAC,CAAC3B,OAAO,CAAC,qBAAqB,CAAC;IAClE,CAAC,CAAC;IAEF9B,EAAE,CAAC,0CAA0C,EAAE,YAAM;MACpD,IAAMO,IAAI,GAAG,IAAI4C,6BAAgB,CAACf,eAAe,CAAC;MAClD,IAAMW,OAAO,GAAGxC,IAAI,CAACoC,WAAW,CAACmB,KAAK,CAAC,CAAC;MACxC,IAAMC,KAAK,GAAGhB,OAAO,CAACF,SAAS,CAACiB,KAAK,CAAC,CAAC;MAEvC,IAAMJ,OAAO,GAAG;QACfC,WAAW,EAAE,IAAIC,uDAA+B,CAAC,CAChD;UAAEC,OAAO,EAAEtD,IAAI,CAACmC,GAAG,CAAC,CAAC;UAAEL,SAAS,EAAE;QAAsB,CAAC,EACzD;UAAEwB,OAAO,EAAEd,OAAO,CAACL,GAAG,CAAC,CAAC;UAAEL,SAAS,EAAE;QAAsB,CAAC,EAC5D;UAAEwB,OAAO,EAAEE,KAAK,CAACrB,GAAG,CAAC,CAAC;UAAEL,SAAS,EAAE;QAAsB,CAAC,CAC1D;MACF,CAAC;MAED,IAAMmB,gBAAgB,GAAG/B,kCAAgB,CAAC2B,qBAAqB,CAC9D7C,IAAI,EACJmD,OACD,CAAC;MACD,IAAMM,mBAAmB,GAAGR,gBAAgB,CAAC5B,QAAQ,CAACkC,KAAK,CAAC,CAAC;MAC7D,IAAMG,iBAAiB,GAAGD,mBAAmB,CAACE,MAAM,CAACJ,KAAK,CAAC,CAAC;MAE5DnC,MAAM,CAACqC,mBAAmB,CAACP,SAAS,CAAC,CAAC3B,OAAO,CAAC,qBAAqB,CAAC;MACpEH,MAAM,CAACsC,iBAAiB,CAACR,SAAS,CAAC,CAAC3B,OAAO,CAAC,qBAAqB,CAAC;IACnE,CAAC,CAAC;EACH,CAAC,CAAC;AACH,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"presentation-deck.spec.js","names":["_deckVersion","require","_deckVersionScreenshots","_api","_manifestJson","_presentationDeck","describe","beforeEach","jest","spyOn","ManifestJSONModel","prototype","mockReturnValue","it","_asyncToGenerator2","default","_regenerator","mark","_callee","model","deck","lastSection","wrap","_context","prev","next","G","titles","section_1","section_2","section_3","ordering","templates","apple","title","orange","tags","PresentationDeck","createFromManifestJSON","expect","sections","length","toEqual","at","key","html","css","stop","deckVersionJSON","image_256","template_set","id","sequence","index_asset","url","section_set","deckversion","slide_set","subslide_set","section","_callee2","_context2","DeckVersionModel","createFromDeckVersion","_callee3","_context3","presentationDeck","thumbnail","options","screenshots","DeckVersionScreenshotCollection","subject","first","slide","presentationSection","presentationSlide","slides"],"sources":["../../src/presentation/presentation-deck.spec.js"],"sourcesContent":["import { DeckVersionModel } from \"../models/deck-version\";\nimport { DeckVersionScreenshotCollection } from \"../collections/deck-version-screenshots.js\";\nimport { G } from \"sp-test/api\";\nimport { ManifestJSONModel } from \"../models/manifest-json\";\nimport { PresentationDeck } from \"./presentation-deck\";\n\ndescribe(\"#createFromManifestJSON\", () => {\n\tbeforeEach(() => {\n\t\tjest\n\t\t\t.spyOn(ManifestJSONModel.prototype, \"getAssetPath\")\n\t\t\t.mockReturnValue(\"/api/\");\n\t});\n\n\tit(\"should add template sections to the end of a deck\", async () => {\n\t\tG(ManifestJSONModel);\n\t\tconst model = new ManifestJSONModel({\n\t\t\ttitles: {\n\t\t\t\tsection_1: \"Section 1\",\n\t\t\t\t\"section_1/slide_1\": \"Section 1 Slide 1\",\n\t\t\t\tsection_2: \"Section 2\",\n\t\t\t\t\"section_2/slide_1\": \"Section 2 Slide 1\",\n\t\t\t\t\"section_2/slide_2\": \"Section 2 Slide 2\",\n\t\t\t\tsection_3: \"Section 3\",\n\t\t\t},\n\t\t\tordering: {\n\t\t\t\tsection_1: 1,\n\t\t\t\t\"section_1/slide_1\": 1,\n\t\t\t\tsection_2: 2,\n\t\t\t\t\"section_2/slide_1\": 1,\n\t\t\t\t\"section_2/slide_2\": 2,\n\t\t\t\tsection_3: 3,\n\t\t\t},\n\t\t\ttemplates: {\n\t\t\t\tapple: {\n\t\t\t\t\ttitle: \"Apple\",\n\t\t\t\t\tordering: 1,\n\t\t\t\t},\n\t\t\t\torange: {\n\t\t\t\t\ttitle: \"Orange\",\n\t\t\t\t\tordering: 2,\n\t\t\t\t},\n\t\t\t},\n\t\t\ttags: {},\n\t\t});\n\n\t\tconst deck = PresentationDeck.createFromManifestJSON(model);\n\t\texpect(deck.sections.length).toEqual(5);\n\t\texpect(deck.sections.at(0).title).toEqual(\"Section 1\");\n\t\texpect(deck.sections.at(3).title).toEqual(\"Apple\");\n\n\t\tconst lastSection = deck.sections.at(deck.sections.length - 1);\n\t\texpect(lastSection.title).toEqual(\"Orange\");\n\t\texpect(lastSection.key).toEqual(\"template-orange\");\n\t\texpect(lastSection.html).toEqual(\"/api/templates/orange/index.html\");\n\t\texpect(lastSection.css).toEqual(\"/api/templates/orange/slide.css\");\n\t});\n});\n\ndescribe(\"#createFromDeckVersion\", () => {\n\tconst deckVersionJSON = {\n\t\timage_256: \"http://path/to/deck/thumbnail.png\",\n\t\ttemplate_set: [\n\t\t\t{\n\t\t\t\tid: 20,\n\t\t\t\ttitle: \"Apple\",\n\t\t\t\tkey: \"apple\",\n\t\t\t\tsequence: 1,\n\t\t\t\tindex_asset: {\n\t\t\t\t\turl: \"http://path/to/template/apple/index.html\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 21,\n\t\t\t\ttitle: \"Orange\",\n\t\t\t\tkey: \"orange\",\n\t\t\t\tsequence: 2,\n\t\t\t\tindex_asset: {\n\t\t\t\t\turl: \"http://path/to/template/orange/index.html\",\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t\tindex_asset: {\n\t\t\turl: \"http://path/to/index.html\",\n\t\t},\n\t\tdeck: {\n\t\t\tid: 1,\n\t\t},\n\t\tsection_set: [\n\t\t\t{\n\t\t\t\tid: 1,\n\t\t\t\ttitle: \"Section 1\",\n\t\t\t\timage_256: \"default_section.png\",\n\t\t\t\tindex_asset: {\n\t\t\t\t\turl: \"http://path/to/index.html\",\n\t\t\t\t},\n\t\t\t\tdeckversion: { id: 1 },\n\t\t\t\tsequence: 1,\n\t\t\t\tslide_set: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 1,\n\t\t\t\t\t\ttitle: \"Slide 1\",\n\t\t\t\t\t\tindex_asset: {\n\t\t\t\t\t\t\turl: \"http://path/to/index.html\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\timage_256: \"default_slide.png\",\n\t\t\t\t\t\tsubslide_set: [],\n\t\t\t\t\t\tsection: { id: 1 },\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 2,\n\t\t\t\ttitle: \"Section 2\",\n\t\t\t\timage_256: \"default_section.png\",\n\t\t\t\tindex_asset: {\n\t\t\t\t\turl: \"http://path/to/index.html\",\n\t\t\t\t},\n\t\t\t\tdeckversion: { id: 1 },\n\t\t\t\tsequence: 2,\n\t\t\t\tslide_set: [],\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 3,\n\t\t\t\ttitle: \"Section 3\",\n\t\t\t\timage_256: \"default_section.png\",\n\t\t\t\tindex_asset: {\n\t\t\t\t\turl: \"http://path/to/index.html\",\n\t\t\t\t},\n\t\t\t\tdeckversion: { id: 1 },\n\t\t\t\tsequence: 3,\n\t\t\t\tslide_set: [],\n\t\t\t},\n\t\t],\n\t};\n\n\tit(\"should not add template sections to the end of a deck\", async () => {\n\t\tG(DeckVersionModel);\n\t\tconst model = new DeckVersionModel(deckVersionJSON);\n\t\tconst deck = PresentationDeck.createFromDeckVersion(model);\n\n\t\texpect(deck.sections.length).toEqual(3);\n\t\texpect(deck.sections.at(0).title).toEqual(\"Section 1\");\n\t\texpect(deck.sections.at(deck.sections.length - 1).title).toEqual(\n\t\t\t\"Section 3\",\n\t\t);\n\t});\n\n\tit(\"should add template sections to the end of a deck\", async () => {\n\t\tG(DeckVersionModel);\n\t\tconst model = new DeckVersionModel(deckVersionJSON);\n\t\tconst deck = PresentationDeck.createFromDeckVersion(model, {\n\t\t\ttemplates: model.template_set,\n\t\t});\n\n\t\texpect(deck.sections.length).toEqual(5);\n\t\texpect(deck.sections.at(0).title).toEqual(\"Section 1\");\n\t\texpect(deck.sections.at(3).title).toEqual(\"Apple\");\n\n\t\tconst lastSection = deck.sections.at(deck.sections.length - 1);\n\t\texpect(lastSection.title).toEqual(\"Orange\");\n\t\texpect(lastSection.key).toEqual(\"template-orange\");\n\t\texpect(lastSection.html).toEqual(\n\t\t\t\"http://path/to/template/orange/index.html\",\n\t\t);\n\t\texpect(lastSection.css).toEqual(\"http://path/to/template/orange/slide.css\");\n\t});\n\n\tdescribe(\"Screenshots\", () => {\n\t\tit(\"should use the default image from the slide if no screenshot found\", () => {\n\t\t\tconst deck = new DeckVersionModel(deckVersionJSON);\n\t\t\tconst presentationDeck = PresentationDeck.createFromDeckVersion(deck);\n\t\t\texpect(presentationDeck.thumbnail).toEqual(deckVersionJSON.image_256);\n\t\t});\n\n\t\tit(\"should use the screenshot model if it matches\", () => {\n\t\t\tconst deck = new DeckVersionModel(deckVersionJSON);\n\t\t\tconst options = {\n\t\t\t\tscreenshots: new DeckVersionScreenshotCollection([\n\t\t\t\t\t{ subject: deck.url(), image_256: \"test-screenshot.png\" },\n\t\t\t\t]),\n\t\t\t};\n\n\t\t\tconst presentationDeck = PresentationDeck.createFromDeckVersion(\n\t\t\t\tdeck,\n\t\t\t\toptions,\n\t\t\t);\n\t\t\texpect(presentationDeck.thumbnail).toEqual(\"test-screenshot.png\");\n\t\t});\n\n\t\tit(\"should pass screenshots to nested models\", () => {\n\t\t\tconst deck = new DeckVersionModel(deckVersionJSON);\n\t\t\tconst section = deck.section_set.first();\n\t\t\tconst slide = section.slide_set.first();\n\n\t\t\tconst options = {\n\t\t\t\tscreenshots: new DeckVersionScreenshotCollection([\n\t\t\t\t\t{ subject: deck.url(), image_256: \"test-screenshot.png\" },\n\t\t\t\t\t{ subject: section.url(), image_256: \"test-screenshot.png\" },\n\t\t\t\t\t{ subject: slide.url(), image_256: \"test-screenshot.png\" },\n\t\t\t\t]),\n\t\t\t};\n\n\t\t\tconst presentationDeck = PresentationDeck.createFromDeckVersion(\n\t\t\t\tdeck,\n\t\t\t\toptions,\n\t\t\t);\n\t\t\tconst presentationSection = presentationDeck.sections.first();\n\t\t\tconst presentationSlide = presentationSection.slides.first();\n\n\t\t\texpect(presentationSection.thumbnail).toEqual(\"test-screenshot.png\");\n\t\t\texpect(presentationSlide.thumbnail).toEqual(\"test-screenshot.png\");\n\t\t});\n\t});\n});\n"],"mappings":"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","ignoreList":[]}
@@ -16,9 +16,8 @@ var _presentationSlide = require("./presentation-slide.js");
16
16
  var _lodash = _interopRequireDefault(require("lodash"));
17
17
  var _index = require("../index.js");
18
18
  var _stateRegister = require("../state-register.js");
19
- var _url = _interopRequireDefault(require("url"));
20
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
21
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
19
+ var _utils = require("../utils.js");
20
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
22
21
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
23
22
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
24
23
  /**
@@ -103,11 +102,19 @@ var PresentationSection = exports.PresentationSection = _basePresentationModel.B
103
102
  tagsEditable: "boolean",
104
103
  tags: "array",
105
104
  impostor: "boolean",
105
+ cmsvalkey_set: "array",
106
106
  isWelcome: {
107
107
  type: "boolean",
108
108
  default: false
109
109
  },
110
- cmsvalkey_set: "array"
110
+ isSlide: {
111
+ type: "boolean",
112
+ default: false
113
+ },
114
+ isSection: {
115
+ type: "boolean",
116
+ default: true
117
+ }
111
118
  },
112
119
  /**
113
120
  * @property {models.AdjunctModel} adjunct
@@ -372,8 +379,8 @@ PresentationSection.createFromManifestJSON = function (manifestJSON, project, se
372
379
  id: parseInt(_lodash.default.uniqueId(), 10),
373
380
  index: index,
374
381
  title: manifestJSON.titles[sectionKey],
375
- html: _url.default.resolve(manifestJSON.getAssetPath(sectionKey), "index.html"),
376
- css: _url.default.resolve(manifestJSON.getAssetPath(sectionKey), "slide.css"),
382
+ html: (0, _utils.resolveURL)(manifestJSON.getAssetPath(sectionKey), "index.html"),
383
+ css: (0, _utils.resolveURL)(manifestJSON.getAssetPath(sectionKey), "slide.css"),
377
384
  key: sectionKey,
378
385
  sequence: manifestJSON.ordering[sectionKey] - 1,
379
386
  thumbnail: null,
@@ -493,17 +500,31 @@ PresentationSection.createFromAutoAdjunct = function (model) {
493
500
  };
494
501
  PresentationSection.createFromTemplate = function (template, index) {
495
502
  var minID = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
503
+ var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
496
504
  var templateModel = new _models.TemplateModel(template);
505
+ _lodash.default.defaults(options, {
506
+ rootAssetPath: null
507
+ });
497
508
  var deckversion = new _models.DeckVersionModel(templateModel.deckversion);
498
- var templateAssetRoot = (0, _index.getAssetRoot)(templateModel.index_asset.url());
509
+ var html;
510
+ var css;
511
+ if (options.rootAssetPath) {
512
+ var origPath = templateModel.index_asset.orig_path;
513
+ html = "".concat(options.rootAssetPath).concat(origPath, "/index.html");
514
+ css = "".concat(options.rootAssetPath).concat(origPath, "/slide.css");
515
+ } else {
516
+ var templateAssetRoot = (0, _index.getAssetRoot)(templateModel.index_asset.url());
517
+ html = "".concat(templateAssetRoot, "index.html");
518
+ css = "".concat(templateAssetRoot, "slide.css");
519
+ }
499
520
  var presentationSection = new PresentationSection({
500
521
  id: minID + parseInt(_lodash.default.uniqueId(), 10),
501
522
  templateID: templateModel.id,
502
523
  template: templateModel,
503
524
  key: "template-".concat(templateModel.key),
504
525
  title: templateModel.title,
505
- html: "".concat(templateAssetRoot, "index.html"),
506
- css: "".concat(templateAssetRoot, "slide.css"),
526
+ html: html,
527
+ css: css,
507
528
  custom: false,
508
529
  visible: true,
509
530
  thumbnail: templateModel.image_256,