@livepreso/api 6.48.1 → 6.49.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (365) hide show
  1. package/.lintstagedrc.js +6 -0
  2. package/.rush/temp/chunked-rush-logs/api.build.chunks.jsonl +6 -0
  3. package/.rush/temp/chunked-rush-logs/api.test.chunks.jsonl +1 -0
  4. package/.rush/temp/operation/build/all.log +6 -0
  5. package/.rush/temp/operation/build/log-chunks.jsonl +6 -0
  6. package/.rush/temp/operation/build/state.json +3 -0
  7. package/.rush/temp/shrinkwrap-deps.json +1131 -1013
  8. package/CHANGELOG.json +20 -0
  9. package/CHANGELOG.md +9 -1
  10. package/bin/test.sh +0 -0
  11. package/cjs/api.js +3 -18
  12. package/cjs/api.js.map +1 -1
  13. package/cjs/api.spec.js +0 -4
  14. package/cjs/api.spec.js.map +1 -1
  15. package/cjs/auth.js +2 -29
  16. package/cjs/auth.js.map +1 -1
  17. package/cjs/auth.spec.js +55 -80
  18. package/cjs/auth.spec.js.map +1 -1
  19. package/cjs/caching.js +2 -7
  20. package/cjs/caching.js.map +1 -1
  21. package/cjs/collections/activity.js +18 -58
  22. package/cjs/collections/activity.js.map +1 -1
  23. package/cjs/collections/adjunct-sections.js +2 -11
  24. package/cjs/collections/adjunct-sections.js.map +1 -1
  25. package/cjs/collections/adjunct-slides.js +2 -11
  26. package/cjs/collections/adjunct-slides.js.map +1 -1
  27. package/cjs/collections/adjunct-sub-slides.js +2 -10
  28. package/cjs/collections/adjunct-sub-slides.js.map +1 -1
  29. package/cjs/collections/appointment-adjunct-tags.js +1 -9
  30. package/cjs/collections/appointment-adjunct-tags.js.map +1 -1
  31. package/cjs/collections/appointment-deckversion-tags.js +1 -9
  32. package/cjs/collections/appointment-deckversion-tags.js.map +1 -1
  33. package/cjs/collections/appointment-editors.js +1 -10
  34. package/cjs/collections/appointment-editors.js.map +1 -1
  35. package/cjs/collections/appointment-section-tags.js +1 -9
  36. package/cjs/collections/appointment-section-tags.js.map +1 -1
  37. package/cjs/collections/appointment-slide-tags.js +1 -9
  38. package/cjs/collections/appointment-slide-tags.js.map +1 -1
  39. package/cjs/collections/appointment-tags.js +69 -108
  40. package/cjs/collections/appointment-tags.js.map +1 -1
  41. package/cjs/collections/appointment-templates.js +1 -10
  42. package/cjs/collections/appointment-templates.js.map +1 -1
  43. package/cjs/collections/appointments.js +9 -29
  44. package/cjs/collections/appointments.js.map +1 -1
  45. package/cjs/collections/assets.js +1 -9
  46. package/cjs/collections/assets.js.map +1 -1
  47. package/cjs/collections/auto-adjuncts.js +6 -21
  48. package/cjs/collections/auto-adjuncts.js.map +1 -1
  49. package/cjs/collections/base.js +54 -118
  50. package/cjs/collections/base.js.map +1 -1
  51. package/cjs/collections/base.spec.js +195 -242
  52. package/cjs/collections/base.spec.js.map +1 -1
  53. package/cjs/collections/cms-vals.js +4 -16
  54. package/cjs/collections/cms-vals.js.map +1 -1
  55. package/cjs/collections/contact-phones.js +1 -9
  56. package/cjs/collections/contact-phones.js.map +1 -1
  57. package/cjs/collections/contacts.js +1 -9
  58. package/cjs/collections/contacts.js.map +1 -1
  59. package/cjs/collections/created-assets.js +1 -10
  60. package/cjs/collections/created-assets.js.map +1 -1
  61. package/cjs/collections/customers.js +1 -9
  62. package/cjs/collections/customers.js.map +1 -1
  63. package/cjs/collections/deck-notes.js +1 -10
  64. package/cjs/collections/deck-notes.js.map +1 -1
  65. package/cjs/collections/deck-version-screenshots.js +4 -17
  66. package/cjs/collections/deck-version-screenshots.js.map +1 -1
  67. package/cjs/collections/deck-versions.js +5 -20
  68. package/cjs/collections/deck-versions.js.map +1 -1
  69. package/cjs/collections/decks.js +1 -9
  70. package/cjs/collections/decks.js.map +1 -1
  71. package/cjs/collections/deleted-assets.js +1 -10
  72. package/cjs/collections/deleted-assets.js.map +1 -1
  73. package/cjs/collections/dispatches.js +1 -13
  74. package/cjs/collections/dispatches.js.map +1 -1
  75. package/cjs/collections/event-objects.js +1 -9
  76. package/cjs/collections/event-objects.js.map +1 -1
  77. package/cjs/collections/events.js +1 -9
  78. package/cjs/collections/events.js.map +1 -1
  79. package/cjs/collections/groups.js +1 -9
  80. package/cjs/collections/groups.js.map +1 -1
  81. package/cjs/collections/images.js +1 -9
  82. package/cjs/collections/images.js.map +1 -1
  83. package/cjs/collections/locations.js +1 -9
  84. package/cjs/collections/locations.js.map +1 -1
  85. package/cjs/collections/opportunities.js +1 -9
  86. package/cjs/collections/opportunities.js.map +1 -1
  87. package/cjs/collections/pack-diffs.js +1 -9
  88. package/cjs/collections/pack-diffs.js.map +1 -1
  89. package/cjs/collections/packs.js +1 -9
  90. package/cjs/collections/packs.js.map +1 -1
  91. package/cjs/collections/presets.js +1 -9
  92. package/cjs/collections/presets.js.map +1 -1
  93. package/cjs/collections/section-selections.js +2 -10
  94. package/cjs/collections/section-selections.js.map +1 -1
  95. package/cjs/collections/sections.js +1 -9
  96. package/cjs/collections/sections.js.map +1 -1
  97. package/cjs/collections/signers.js +1 -9
  98. package/cjs/collections/signers.js.map +1 -1
  99. package/cjs/collections/signing-backends.js +1 -9
  100. package/cjs/collections/signing-backends.js.map +1 -1
  101. package/cjs/collections/signing-requests.js +1 -9
  102. package/cjs/collections/signing-requests.js.map +1 -1
  103. package/cjs/collections/slide-selections.js +2 -10
  104. package/cjs/collections/slide-selections.js.map +1 -1
  105. package/cjs/collections/slides.js +1 -9
  106. package/cjs/collections/slides.js.map +1 -1
  107. package/cjs/collections/snapshots.js +1 -9
  108. package/cjs/collections/snapshots.js.map +1 -1
  109. package/cjs/collections/sub-slides.js +1 -9
  110. package/cjs/collections/sub-slides.js.map +1 -1
  111. package/cjs/collections/tags.js +1 -9
  112. package/cjs/collections/tags.js.map +1 -1
  113. package/cjs/collections/teams.js +1 -9
  114. package/cjs/collections/teams.js.map +1 -1
  115. package/cjs/collections/templates.js +1 -9
  116. package/cjs/collections/templates.js.map +1 -1
  117. package/cjs/collections/uploads.js +1 -9
  118. package/cjs/collections/uploads.js.map +1 -1
  119. package/cjs/collections/users.js +1 -9
  120. package/cjs/collections/users.js.map +1 -1
  121. package/cjs/collections.js +0 -96
  122. package/cjs/collections.js.map +1 -1
  123. package/cjs/fixtures.js +19 -57
  124. package/cjs/fixtures.js.map +1 -1
  125. package/cjs/index.js +0 -12
  126. package/cjs/index.js.map +1 -1
  127. package/cjs/log.js +0 -1
  128. package/cjs/log.js.map +1 -1
  129. package/cjs/middleware.js +2 -7
  130. package/cjs/middleware.js.map +1 -1
  131. package/cjs/middlewares/auth.js +7 -25
  132. package/cjs/middlewares/auth.js.map +1 -1
  133. package/cjs/middlewares/base.js +4 -11
  134. package/cjs/middlewares/base.js.map +1 -1
  135. package/cjs/middlewares/json.js +7 -27
  136. package/cjs/middlewares/json.js.map +1 -1
  137. package/cjs/middlewares/redirect.js +11 -29
  138. package/cjs/middlewares/redirect.js.map +1 -1
  139. package/cjs/models/activity-item.js +3 -19
  140. package/cjs/models/activity-item.js.map +1 -1
  141. package/cjs/models/adjunct-section.js +6 -19
  142. package/cjs/models/adjunct-section.js.map +1 -1
  143. package/cjs/models/adjunct-slide.js +6 -19
  144. package/cjs/models/adjunct-slide.js.map +1 -1
  145. package/cjs/models/adjunct-sub-slide.js +5 -16
  146. package/cjs/models/adjunct-sub-slide.js.map +1 -1
  147. package/cjs/models/adjunct.js +7 -23
  148. package/cjs/models/adjunct.js.map +1 -1
  149. package/cjs/models/api.js +1 -6
  150. package/cjs/models/api.js.map +1 -1
  151. package/cjs/models/appointment-adjunct-tags.js +1 -13
  152. package/cjs/models/appointment-adjunct-tags.js.map +1 -1
  153. package/cjs/models/appointment-deckversion-tags.js +1 -13
  154. package/cjs/models/appointment-deckversion-tags.js.map +1 -1
  155. package/cjs/models/appointment-editor.js +1 -14
  156. package/cjs/models/appointment-editor.js.map +1 -1
  157. package/cjs/models/appointment-section-tags.js +1 -13
  158. package/cjs/models/appointment-section-tags.js.map +1 -1
  159. package/cjs/models/appointment-slide-tags.js +1 -13
  160. package/cjs/models/appointment-slide-tags.js.map +1 -1
  161. package/cjs/models/appointment-stats.js +1 -11
  162. package/cjs/models/appointment-stats.js.map +1 -1
  163. package/cjs/models/appointment-tags.js +1 -10
  164. package/cjs/models/appointment-tags.js.map +1 -1
  165. package/cjs/models/appointment-template.js +1 -6
  166. package/cjs/models/appointment-template.js.map +1 -1
  167. package/cjs/models/appointment-viewing.js +1 -8
  168. package/cjs/models/appointment-viewing.js.map +1 -1
  169. package/cjs/models/appointment.js +24 -97
  170. package/cjs/models/appointment.js.map +1 -1
  171. package/cjs/models/asset.js +1 -12
  172. package/cjs/models/asset.js.map +1 -1
  173. package/cjs/models/auto-adjunct-key-check.js +1 -15
  174. package/cjs/models/auto-adjunct-key-check.js.map +1 -1
  175. package/cjs/models/auto-adjunct.js +1 -13
  176. package/cjs/models/auto-adjunct.js.map +1 -1
  177. package/cjs/models/base.js +86 -216
  178. package/cjs/models/base.js.map +1 -1
  179. package/cjs/models/base.spec.js +0 -31
  180. package/cjs/models/base.spec.js.map +1 -1
  181. package/cjs/models/choicelist.js +1 -8
  182. package/cjs/models/choicelist.js.map +1 -1
  183. package/cjs/models/cms-val.js +5 -26
  184. package/cjs/models/cms-val.js.map +1 -1
  185. package/cjs/models/cms-val.spec.js +13 -20
  186. package/cjs/models/cms-val.spec.js.map +1 -1
  187. package/cjs/models/contact-phone.js +1 -13
  188. package/cjs/models/contact-phone.js.map +1 -1
  189. package/cjs/models/contact.js +1 -18
  190. package/cjs/models/contact.js.map +1 -1
  191. package/cjs/models/customer.js +3 -30
  192. package/cjs/models/customer.js.map +1 -1
  193. package/cjs/models/deck-note.js +1 -9
  194. package/cjs/models/deck-note.js.map +1 -1
  195. package/cjs/models/deck-tags.js +1 -12
  196. package/cjs/models/deck-tags.js.map +1 -1
  197. package/cjs/models/deck-version-screenshot.js +1 -13
  198. package/cjs/models/deck-version-screenshot.js.map +1 -1
  199. package/cjs/models/deck-version.js +13 -38
  200. package/cjs/models/deck-version.js.map +1 -1
  201. package/cjs/models/deck.js +1 -14
  202. package/cjs/models/deck.js.map +1 -1
  203. package/cjs/models/dispatch-preview.js +1 -13
  204. package/cjs/models/dispatch-preview.js.map +1 -1
  205. package/cjs/models/dispatch.js +1 -25
  206. package/cjs/models/dispatch.js.map +1 -1
  207. package/cjs/models/envs.js +1 -6
  208. package/cjs/models/envs.js.map +1 -1
  209. package/cjs/models/event-object.js +1 -11
  210. package/cjs/models/event-object.js.map +1 -1
  211. package/cjs/models/event.js +1 -13
  212. package/cjs/models/event.js.map +1 -1
  213. package/cjs/models/feed-data.js +1 -13
  214. package/cjs/models/feed-data.js.map +1 -1
  215. package/cjs/models/file.js +1 -11
  216. package/cjs/models/file.js.map +1 -1
  217. package/cjs/models/group.js +1 -11
  218. package/cjs/models/group.js.map +1 -1
  219. package/cjs/models/handover.js +1 -13
  220. package/cjs/models/handover.js.map +1 -1
  221. package/cjs/models/hosted-preso.js +1 -15
  222. package/cjs/models/hosted-preso.js.map +1 -1
  223. package/cjs/models/image.js +1 -16
  224. package/cjs/models/image.js.map +1 -1
  225. package/cjs/models/location.js +1 -13
  226. package/cjs/models/location.js.map +1 -1
  227. package/cjs/models/manifest-json.js +25 -84
  228. package/cjs/models/manifest-json.js.map +1 -1
  229. package/cjs/models/onshare.js +1 -14
  230. package/cjs/models/onshare.js.map +1 -1
  231. package/cjs/models/opportunity.js +1 -14
  232. package/cjs/models/opportunity.js.map +1 -1
  233. package/cjs/models/pack-diff.js +1 -14
  234. package/cjs/models/pack-diff.js.map +1 -1
  235. package/cjs/models/pack.js +1 -12
  236. package/cjs/models/pack.js.map +1 -1
  237. package/cjs/models/preset.js +1 -19
  238. package/cjs/models/preset.js.map +1 -1
  239. package/cjs/models/refresh-request.js +1 -11
  240. package/cjs/models/refresh-request.js.map +1 -1
  241. package/cjs/models/room.js +1 -9
  242. package/cjs/models/room.js.map +1 -1
  243. package/cjs/models/salesforce-lookup.js +1 -12
  244. package/cjs/models/salesforce-lookup.js.map +1 -1
  245. package/cjs/models/section-selection.js +7 -15
  246. package/cjs/models/section-selection.js.map +1 -1
  247. package/cjs/models/section.js +1 -14
  248. package/cjs/models/section.js.map +1 -1
  249. package/cjs/models/signer.js +1 -10
  250. package/cjs/models/signer.js.map +1 -1
  251. package/cjs/models/signing-backend.js +1 -9
  252. package/cjs/models/signing-backend.js.map +1 -1
  253. package/cjs/models/signing-request.js +1 -13
  254. package/cjs/models/signing-request.js.map +1 -1
  255. package/cjs/models/slide-selection.js +7 -15
  256. package/cjs/models/slide-selection.js.map +1 -1
  257. package/cjs/models/slide.js +1 -14
  258. package/cjs/models/slide.js.map +1 -1
  259. package/cjs/models/snapshot.js +3 -16
  260. package/cjs/models/snapshot.js.map +1 -1
  261. package/cjs/models/snapshot.spec.js +26 -33
  262. package/cjs/models/snapshot.spec.js.map +1 -1
  263. package/cjs/models/sub-slide.js +1 -12
  264. package/cjs/models/sub-slide.js.map +1 -1
  265. package/cjs/models/support-ticket.js +1 -11
  266. package/cjs/models/support-ticket.js.map +1 -1
  267. package/cjs/models/tag.js +1 -13
  268. package/cjs/models/tag.js.map +1 -1
  269. package/cjs/models/team.js +1 -13
  270. package/cjs/models/team.js.map +1 -1
  271. package/cjs/models/template.js +49 -79
  272. package/cjs/models/template.js.map +1 -1
  273. package/cjs/models/tenancy.js +1 -11
  274. package/cjs/models/tenancy.js.map +1 -1
  275. package/cjs/models/timing-log.js +23 -80
  276. package/cjs/models/timing-log.js.map +1 -1
  277. package/cjs/models/timing-log.spec.js +25 -38
  278. package/cjs/models/timing-log.spec.js.map +1 -1
  279. package/cjs/models/token.js +1 -11
  280. package/cjs/models/token.js.map +1 -1
  281. package/cjs/models/transcribe-socket.js +1 -8
  282. package/cjs/models/transcribe-socket.js.map +1 -1
  283. package/cjs/models/upload.js +1 -7
  284. package/cjs/models/upload.js.map +1 -1
  285. package/cjs/models/user.js +1 -29
  286. package/cjs/models/user.js.map +1 -1
  287. package/cjs/models/user.spec.js +22 -32
  288. package/cjs/models/user.spec.js.map +1 -1
  289. package/cjs/models.js +0 -140
  290. package/cjs/models.js.map +1 -1
  291. package/cjs/presentation/appointment-presentation.js +9 -35
  292. package/cjs/presentation/appointment-presentation.js.map +1 -1
  293. package/cjs/presentation/base-presentation-collection.js +1 -7
  294. package/cjs/presentation/base-presentation-collection.js.map +1 -1
  295. package/cjs/presentation/base-presentation-model.js +24 -67
  296. package/cjs/presentation/base-presentation-model.js.map +1 -1
  297. package/cjs/presentation/base-presentation-model.spec.js +5 -27
  298. package/cjs/presentation/base-presentation-model.spec.js.map +1 -1
  299. package/cjs/presentation/presentation-deck.js +41 -82
  300. package/cjs/presentation/presentation-deck.js.map +1 -1
  301. package/cjs/presentation/presentation-deck.spec.js +75 -98
  302. package/cjs/presentation/presentation-deck.spec.js.map +1 -1
  303. package/cjs/presentation/presentation-decks.js +1 -9
  304. package/cjs/presentation/presentation-decks.js.map +1 -1
  305. package/cjs/presentation/presentation-section.js +12 -74
  306. package/cjs/presentation/presentation-section.js.map +1 -1
  307. package/cjs/presentation/presentation-section.spec.js +211 -264
  308. package/cjs/presentation/presentation-section.spec.js.map +1 -1
  309. package/cjs/presentation/presentation-sections.js +1 -9
  310. package/cjs/presentation/presentation-sections.js.map +1 -1
  311. package/cjs/presentation/presentation-slide.js +23 -77
  312. package/cjs/presentation/presentation-slide.js.map +1 -1
  313. package/cjs/presentation/presentation-slide.spec.js +144 -182
  314. package/cjs/presentation/presentation-slide.spec.js.map +1 -1
  315. package/cjs/presentation/presentation-slides.js +1 -9
  316. package/cjs/presentation/presentation-slides.js.map +1 -1
  317. package/cjs/presentation/presentation-subslide.js +3 -23
  318. package/cjs/presentation/presentation-subslide.js.map +1 -1
  319. package/cjs/presentation/presentation-subslide.spec.js +106 -130
  320. package/cjs/presentation/presentation-subslide.spec.js.map +1 -1
  321. package/cjs/presentation/presentation-subslides.js +1 -9
  322. package/cjs/presentation/presentation-subslides.js.map +1 -1
  323. package/cjs/presentation/presentation.js +64 -118
  324. package/cjs/presentation/presentation.js.map +1 -1
  325. package/cjs/presentation.js +0 -20
  326. package/cjs/presentation.js.map +1 -1
  327. package/cjs/selections.js +10 -36
  328. package/cjs/selections.js.map +1 -1
  329. package/cjs/state-register.js +3 -11
  330. package/cjs/state-register.js.map +1 -1
  331. package/cjs/sync.js +32 -76
  332. package/cjs/sync.js.map +1 -1
  333. package/cjs/utils.js +21 -49
  334. package/cjs/utils.js.map +1 -1
  335. package/cjs/utils.spec.js +0 -4
  336. package/cjs/utils.spec.js.map +1 -1
  337. package/eslint.config.mjs +10 -0
  338. package/package.json +8 -9
  339. package/rush-logs/api.build.cache.log +1 -0
  340. package/rush-logs/api.build.log +6 -0
  341. package/rush-logs/api.test.cache.log +1 -0
  342. package/rush-logs/api.test.log +1 -0
  343. package/src/collections/adjunct-sections.js +3 -3
  344. package/src/collections/adjunct-slides.js +3 -3
  345. package/src/collections/adjunct-sub-slides.js +3 -3
  346. package/src/collections/base.js +14 -0
  347. package/src/collections/section-selections.js +3 -3
  348. package/src/collections/slide-selections.js +3 -3
  349. package/src/fixtures.js +8 -1
  350. package/src/models/adjunct-section.js +6 -0
  351. package/src/models/adjunct-slide.js +6 -0
  352. package/src/models/adjunct-sub-slide.js +5 -0
  353. package/src/models/adjunct.js +1 -1
  354. package/src/models/appointment.js +2 -0
  355. package/src/models/base.js +6 -2
  356. package/src/models/deck-version.js +7 -3
  357. package/src/models/manifest-json.js +1 -1
  358. package/src/models/section-selection.js +6 -0
  359. package/src/models/slide-selection.js +6 -0
  360. package/src/presentation/presentation-section.js +4 -0
  361. package/src/presentation/presentation-slide.js +8 -0
  362. package/src/presentation/presentation-slide.spec.js +2 -0
  363. package/.eslintrc.js +0 -8
  364. package/.gitlab-ci.yml +0 -4
  365. package/.husky/pre-commit +0 -4
@@ -1,56 +1,34 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports.PresentationDeck = void 0;
11
-
12
9
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
-
14
10
  require("./presentation-sections.js");
15
-
16
11
  var collections = _interopRequireWildcard(require("../collections"));
17
-
18
12
  var _utils = require("../utils.js");
19
-
20
13
  var _basePresentationModel = require("./base-presentation-model");
21
-
22
14
  var _models = require("../models");
23
-
24
15
  var _presentationSection = require("./presentation-section");
25
-
26
16
  var _presentationSlide = require("./presentation-slide");
27
-
28
17
  var _lodash = _interopRequireDefault(require("lodash"));
29
-
30
18
  var _index = require("../index.js");
31
-
32
19
  var _log = _interopRequireDefault(require("../log.js"));
33
-
34
20
  var _stateRegister = require("../state-register");
35
-
36
21
  var _url = _interopRequireDefault(require("url"));
37
-
38
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
39
-
40
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
41
-
42
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
43
-
44
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
45
-
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; }
24
+ 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
+ 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; }
46
26
  /**
47
27
  * @constructor
48
28
  * @alias presentation.PresentationDeck
49
29
  * @extends presentation.BasePresentationModel
50
30
  */
51
- var PresentationDeck = _basePresentationModel.BasePresentationModel.extend(
52
- /** @lends presentation.PresentationDeck# */
53
- {
31
+ var PresentationDeck = exports.PresentationDeck = _basePresentationModel.BasePresentationModel.extend(/** @lends presentation.PresentationDeck# */{
54
32
  /**
55
33
  * @property {string} html
56
34
  * @property {string} css
@@ -88,7 +66,6 @@ var PresentationDeck = _basePresentationModel.BasePresentationModel.extend(
88
66
  version: "number",
89
67
  cmsvalkey_set: "array"
90
68
  },
91
-
92
69
  /**
93
70
  * @property {presentation.PresentationSection} realSection
94
71
  */
@@ -106,7 +83,6 @@ var PresentationDeck = _basePresentationModel.BasePresentationModel.extend(
106
83
  }
107
84
  }
108
85
  },
109
-
110
86
  /**
111
87
  * @property {presentation.PresentationSectionCollection} sections
112
88
  */
@@ -119,10 +95,10 @@ var PresentationDeck = _basePresentationModel.BasePresentationModel.extend(
119
95
  id: this.id
120
96
  }).url();
121
97
  }
122
-
123
98
  return this._url;
124
99
  }
125
100
  });
101
+
126
102
  /**
127
103
  * @function createFromURL
128
104
  * @memberof presentation.PresentationDeck
@@ -132,13 +108,8 @@ var PresentationDeck = _basePresentationModel.BasePresentationModel.extend(
132
108
  * @param {collections.AdjunctSectionCollection}} [adjunctSections]
133
109
  * @returns {presentation.PresentationDeck}
134
110
  */
135
-
136
-
137
- exports.PresentationDeck = PresentationDeck;
138
-
139
111
  PresentationDeck.createFromDeckVersion = function (deckVersionModel) {
140
112
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
141
-
142
113
  _lodash.default.defaults(options, {
143
114
  index: 0,
144
115
  autoAdjuncts: new collections.AutoAdjunctCollection(),
@@ -152,12 +123,10 @@ PresentationDeck.createFromDeckVersion = function (deckVersionModel) {
152
123
  templates: null,
153
124
  choicelist: null
154
125
  });
155
-
156
126
  options.screenshots = PresentationDeck.screenshotsToMap(options.screenshots);
157
127
  var assetRoot = (0, _index.getAssetRoot)(deckVersionModel.index_asset.url());
158
128
  var html;
159
129
  var css;
160
-
161
130
  if (options.rootAssetPath) {
162
131
  html = "".concat(options.rootAssetPath, "index.html");
163
132
  css = "".concat(options.rootAssetPath, "slide.css");
@@ -165,7 +134,6 @@ PresentationDeck.createFromDeckVersion = function (deckVersionModel) {
165
134
  html = "".concat(assetRoot, "index.html");
166
135
  css = "".concat(assetRoot, "slide.css");
167
136
  }
168
-
169
137
  var tags = PresentationDeck.getTags(deckVersionModel, options);
170
138
  var deck = new PresentationDeck({
171
139
  html: html,
@@ -184,12 +152,11 @@ PresentationDeck.createFromDeckVersion = function (deckVersionModel) {
184
152
  usesImpostorSections: (0, _utils.isImpostorDeck)(deckVersionModel),
185
153
  cmsvalkey_set: deckVersionModel.cmsvalkey_set || []
186
154
  });
187
-
188
155
  if (!deck.key) {
189
156
  _log.default.warn("Deck key not available to presentation", deckVersionModel.deck.toJSON());
190
- } // Convert the selections to an easier format to use later
191
-
157
+ }
192
158
 
159
+ // Convert the selections to an easier format to use later
193
160
  var sectionSelections = options.sectionSelections;
194
161
  var slideSelections = options.slideSelections;
195
162
  options.selections = sectionSelections.map(function (selection) {
@@ -206,30 +173,31 @@ PresentationDeck.createFromDeckVersion = function (deckVersionModel) {
206
173
  url: selection.slide.url(),
207
174
  id: selection.id
208
175
  };
209
- })); // We want all adjuncts to have fake ids that can't possibly overlap with the ids of
176
+ }));
177
+
178
+ // We want all adjuncts to have fake ids that can't possibly overlap with the ids of
210
179
  // normal sections, slides and subslides, so we make a base ID that is larger than
211
180
  // all existing IDs then use the getUniqueAdjunctID function to retrieve an incremented ID
212
-
213
181
  var maxID = (0, _utils.getMaxID)(deckVersionModel);
214
-
215
182
  options.getUniqueAdjunctID = function () {
216
183
  return ++maxID;
217
- }; // We have four different ways to create a presentation structure here - we are
184
+ };
185
+
186
+ // We have four different ways to create a presentation structure here - we are
218
187
  // using either selections or a choicelist, and the deck is either a normal
219
188
  // deck or an impostor deck. Setting up a non-impostor deck is easier, so I've
220
189
  // split this up into two primary methods to cover those two branches, and the models
221
190
  // internally retrieve the correct sequence & visibility data depending on whether
222
191
  // we're using selections or a choicelist.
223
192
 
224
-
225
193
  if (!deck.usesImpostorSections) {
226
194
  // Non impostor deck using selections or a choicelist. Slides are already
227
195
  // associated with the correct sections, so all we have to do is turn
228
196
  // everything into a presentation model and pass the options through with
229
197
  // the selections or choicelist data.
198
+
230
199
  deckVersionModel.section_set.forEach(function (sectionModel) {
231
200
  var section = _presentationSection.PresentationSection.createFromSection(sectionModel, options);
232
-
233
201
  section.addSlides(sectionModel.slide_set, options);
234
202
  deck.sections.add(section);
235
203
  var adjunctSlides = options.adjunctSlides.filter(function (slide) {
@@ -239,7 +207,6 @@ PresentationDeck.createFromDeckVersion = function (deckVersionModel) {
239
207
  });
240
208
  options.adjunctSections.forEach(function (adjunctSection) {
241
209
  var section = _presentationSection.PresentationSection.createFromAdjunctSection(adjunctSection, _models.DeckVersionModel, options);
242
-
243
210
  deck.sections.add(section);
244
211
  });
245
212
  } else {
@@ -247,39 +214,40 @@ PresentationDeck.createFromDeckVersion = function (deckVersionModel) {
247
214
  // only contains one section, which is the "real" section but is not used in
248
215
  // the presentation. Some slides have the tag "section-header", and these slides
249
216
  // will be turned into sections and may be given sets of slides.
217
+
250
218
  var realSection = deckVersionModel.section_set.first();
251
219
  deck.realSection = new _presentationSection.PresentationSection({
252
220
  id: realSection.id,
253
221
  key: realSection.key,
254
222
  adjunctSlideLimit: realSection.adjunctslide_limit
255
223
  });
256
- var slides = []; // First we go through all slides and separate the impostor sections from the
224
+ var slides = [];
225
+
226
+ // First we go through all slides and separate the impostor sections from the
257
227
  // normal slides. If a slide is a "section header" then we turn it into a presentation
258
228
  // section; if it is just a slide then we add it to the slides array, which will contain
259
229
  // all slides. We can't allocate slides to sections yet because we don't know
260
230
  // which section a slide belongs to.
261
-
262
231
  realSection.slide_set.forEach(function (slideModel) {
263
232
  var isSection = (0, _utils.isImpostor)(slideModel);
264
-
265
233
  if (isSection) {
266
234
  var section = _presentationSection.PresentationSection.createFromImpostorSection(slideModel, _models.DeckVersionModel, options);
267
-
268
235
  deck.sections.add(section);
269
236
  } else {
270
237
  var slide = _presentationSlide.PresentationSlide.createFromSlide(slideModel, options);
271
-
272
238
  slides.push(slide);
273
239
  }
274
- }); // We filter the adjunct slides and add all the non-section slides to the slides array too.
240
+ });
275
241
 
242
+ // We filter the adjunct slides and add all the non-section slides to the slides array too.
276
243
  options.adjunctSlides.filter(function (slide) {
277
244
  return !(0, _utils.isImpostor)(slide);
278
245
  }).forEach(function (adjunctSlideModel) {
279
246
  var slide = _presentationSlide.PresentationSlide.createFromAdjunctSlide(adjunctSlideModel, null, options);
280
-
281
247
  slides.push(slide);
282
- }); // Next we go through the sections backwards and use the sequence to find all slides
248
+ });
249
+
250
+ // Next we go through the sections backwards and use the sequence to find all slides
283
251
  // which belong to a section. Doing this backwards means that we only need to know
284
252
  // one section's sequence at a time, e.g. if I went forwards and the first section
285
253
  // had the sequence 1, I know that I can start looking for slides with sequence > 1
@@ -287,65 +255,66 @@ PresentationDeck.createFromDeckVersion = function (deckVersionModel) {
287
255
  // slides with the sequence > 110 then I know that all slides with a sequence > 110
288
256
  // are valid. I then remove those slides from the slides array and move down to the
289
257
  // next section.
290
-
291
258
  deck.sections.models.reverse().forEach(function (section) {
292
259
  var sectionSlides = slides.filter(function (slide) {
293
260
  return slide.sequence > section.sequence;
294
261
  });
295
- section.slides.add(sectionSlides); // Slides have a "section" on their model that represents the section
262
+ section.slides.add(sectionSlides);
263
+
264
+ // Slides have a "section" on their model that represents the section
296
265
  // that they belong to. Because this is an impostor deck, there's a
297
266
  // good chance that the section is now incorrect for normal slides,
298
267
  // and a 100% chance that it's incorrect for adjunct slides as we
299
268
  // didn't populate the section field when we created the adjunct slides.
300
269
  // We update those now with the correct section.
301
-
302
270
  section.slides.forEach(function (slide) {
303
271
  slide.section = section.id;
304
272
  });
305
273
  slides = slides.filter(function (slide) {
306
274
  return slide.sequence <= section.sequence;
307
275
  });
308
- }); // Average the adjunct slide limit used across the entire deck over each section
276
+ });
277
+
278
+ // Average the adjunct slide limit used across the entire deck over each section
309
279
  // in the deck. We do this before we add the adjunct impostor sections, 'cause you
310
280
  // can't add custom slides to those.
311
-
312
281
  deck.sections.forEach(function (section) {
313
282
  section.adjunctSlideLimit = section.adjunctSlideLimit ? section.adjunctSlideLimit : Math.floor(realSection.adjunctSlideLimit / deck.sections.length);
314
- }); // Return the sections to the correct order
283
+ });
315
284
 
316
- deck.sections.models.reverse(); // Finally, we add the adjunct impostor sections. These are adjunct slides with
285
+ // Return the sections to the correct order
286
+ deck.sections.models.reverse();
287
+
288
+ // Finally, we add the adjunct impostor sections. These are adjunct slides with
317
289
  // the "section-header" tag and they work the same way as the slide impostors,
318
290
  // but because adjunct sections can't have slides we're adding them after the
319
291
  // slide-assigning process
320
-
321
292
  options.adjunctSlides.filter(function (slide) {
322
293
  return (0, _utils.isImpostor)(slide);
323
294
  }).forEach(function (adjunctSlideModel) {
324
295
  var adjunctSection = _presentationSection.PresentationSection.createFromAdjunctSection(adjunctSlideModel, _models.DeckVersionModel, options);
325
-
326
296
  deck.sections.add(adjunctSection);
327
297
  });
328
- } // Add templates as sections if present. This is only used by the CDK.
329
-
298
+ }
330
299
 
300
+ // Add templates as sections if present. This is only used by the CDK.
331
301
  if (options.templates && options.templates.length > 0) {
332
302
  deck.sections.add(options.templates.map(function (template, index) {
333
303
  return _presentationSection.PresentationSection.createFromTemplate(template, deck.sections.length + index, options.getUniqueAdjunctID());
334
304
  }));
335
- } // This is generally only used by screenshots
336
-
305
+ }
337
306
 
307
+ // This is generally only used by screenshots
338
308
  if (options.autoAdjuncts) {
339
309
  var autoSections = options.autoAdjuncts.map(function (auto, index) {
340
310
  // We already have the template on the deckversion, so we can find it here.
341
311
  if (!auto.template) {
342
312
  throw new Error("Attempted to use an autoadjunct that has no template.");
343
313
  }
314
+ var section = _presentationSection.PresentationSection.createFromTemplate(auto.template, deck.sections.length + index, options.getUniqueAdjunctID());
344
315
 
345
- var section = _presentationSection.PresentationSection.createFromTemplate(auto.template, deck.sections.length + index, options.getUniqueAdjunctID()); // We've just borrowed the "from template" method above. We want to add
316
+ // We've just borrowed the "from template" method above. We want to add
346
317
  // back some of the specific keys about the auto.
347
-
348
-
349
318
  section.autoAdjunctID = auto.id;
350
319
  section.key = auto.key;
351
320
  section.title = auto.name;
@@ -353,11 +322,9 @@ PresentationDeck.createFromDeckVersion = function (deckVersionModel) {
353
322
  });
354
323
  deck.sections.add(autoSections);
355
324
  }
356
-
357
325
  (0, _utils.setSequentialSequences)(deck);
358
326
  return deck;
359
327
  };
360
-
361
328
  PresentationDeck.createFromManifestJSON = function (manifestJSON) {
362
329
  var deck = new PresentationDeck({
363
330
  id: parseInt(_lodash.default.uniqueId(), 10),
@@ -374,13 +341,10 @@ PresentationDeck.createFromManifestJSON = function (manifestJSON) {
374
341
  tags: manifestJSON.tags[""] || [],
375
342
  cmsvalkey_set: []
376
343
  });
377
-
378
344
  var usesImpostorSections = _lodash.default.some(manifestJSON.tags, function (tags) {
379
345
  return tags.indexOf("section-header") !== -1;
380
346
  });
381
-
382
347
  deck.usesImpostorSections = usesImpostorSections;
383
-
384
348
  if (usesImpostorSections) {
385
349
  deck.usesImpostorSections = true;
386
350
  var items = Object.keys(manifestJSON.titles).map(function (key) {
@@ -419,7 +383,6 @@ PresentationDeck.createFromManifestJSON = function (manifestJSON) {
419
383
  return _presentationSection.PresentationSection.createFromManifestJSON(manifestJSON, key, index);
420
384
  }));
421
385
  }
422
-
423
386
  if (manifestJSON.templates) {
424
387
  var templates = Object.keys(manifestJSON.templates).map(function (key) {
425
388
  return _objectSpread(_objectSpread({}, manifestJSON.templates[key]), {}, {
@@ -430,16 +393,12 @@ PresentationDeck.createFromManifestJSON = function (manifestJSON) {
430
393
  }
431
394
  });
432
395
  });
433
-
434
396
  var minID = _lodash.default.max(_lodash.default.map(deck.sections.toJSON(), "id"));
435
-
436
397
  deck.sections.add(templates.map(function (template, index) {
437
398
  return _presentationSection.PresentationSection.createFromTemplate(template, index, minID);
438
399
  }));
439
400
  }
440
-
441
401
  return deck;
442
402
  };
443
-
444
403
  (0, _stateRegister.register)("PresentationDeck", PresentationDeck);
445
404
  //# sourceMappingURL=presentation-deck.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/presentation/presentation-deck.js"],"names":["PresentationDeck","BasePresentationModel","extend","props","html","css","id","deckID","index","thumbnail","visible","type","key","common","title","usesImpostorSections","editable","tags","version","cmsvalkey_set","children","realSection","derived","welcomeSlide","fn","PresentationSection","getAttributes","isWelcome","collections","sections","url","_url","DeckVersionModel","createFromDeckVersion","deckVersionModel","options","_","defaults","autoAdjuncts","AutoAdjunctCollection","adjunctSections","AdjunctSectionCollection","adjunctSlides","AdjunctSlideCollection","adjunctSubSlides","AdjunctSubSlideCollection","sectionSelections","SectionSelectionCollection","slideSelections","SlideSelectionCollection","screenshots","DeckVersionScreenshotCollection","rootAssetPath","templates","choicelist","screenshotsToMap","assetRoot","index_asset","getTags","deck","getThumbnail","manifest_json","indexOf","log","warn","toJSON","selections","map","selection","sequence","section","concat","slide","maxID","getUniqueAdjunctID","section_set","forEach","sectionModel","createFromSection","addSlides","slide_set","add","filter","adjunctSection","createFromAdjunctSection","first","adjunctSlideLimit","adjunctslide_limit","slides","slideModel","isSection","createFromImpostorSection","PresentationSlide","createFromSlide","push","adjunctSlideModel","createFromAdjunctSlide","models","reverse","sectionSlides","Math","floor","length","template","createFromTemplate","autoSections","auto","Error","autoAdjunctID","name","createFromManifestJSON","manifestJSON","parseInt","uniqueId","url2","resolve","getAssetPath","some","items","Object","keys","titles","ordering","splitKey","split","newKey","sortBy","item","startIndex","endIndex","slice","createFromManifestImpostor","sectionKeys","getTemplateAssetPath","minID","max"],"mappings":"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","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[]} 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\ttags: \"array\",\n\t\t\tversion: \"number\",\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\ttags,\n\t\tversion: deckVersionModel.version,\n\t\tusesImpostorSections: isImpostorDeck(deckVersionModel),\n\t\tcmsvalkey_set: deckVersionModel.cmsvalkey_set || [],\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\tDeckVersionModel,\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.createFromTemplate(\n\t\t\t\tauto.template,\n\t\t\t\tdeck.sections.length + index,\n\t\t\t\toptions.getUniqueAdjunctID(),\n\t\t\t);\n\n\t\t\t// We've just borrowed the \"from template\" method above. We want to add\n\t\t\t// back some of the specific keys about the auto.\n\t\t\tsection.autoAdjunctID = auto.id;\n\t\t\tsection.key = auto.key;\n\t\t\tsection.title = auto.name;\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) {\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: [],\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(section, index);\n\t\t\t}),\n\t\t);\n\n\t\tdeck.realSection = PresentationSection.createFromManifestImpostor(items[0]);\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\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\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};\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\treturn PresentationSection.createFromTemplate(template, index, minID);\n\t\t\t}),\n\t\t);\n\t}\n\n\treturn deck;\n};\n\nregister(\"PresentationDeck\", PresentationDeck);\n"],"file":"presentation-deck.js"}
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","tags","version","cmsvalkey_set","children","realSection","derived","welcomeSlide","fn","PresentationSection","getAttributes","isWelcome","sections","url","DeckVersionModel","createFromDeckVersion","deckVersionModel","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","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","autoAdjunctID","name","setSequentialSequences","createFromManifestJSON","manifestJSON","parseInt","uniqueId","url2","resolve","getAssetPath","some","items","titles","ordering","splitKey","split","newKey","sortBy","item","startIndex","endIndex","slice","createFromManifestImpostor","sectionKeys","getTemplateAssetPath","minID","max","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[]} 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\ttags: \"array\",\n\t\t\tversion: \"number\",\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\ttags,\n\t\tversion: deckVersionModel.version,\n\t\tusesImpostorSections: isImpostorDeck(deckVersionModel),\n\t\tcmsvalkey_set: deckVersionModel.cmsvalkey_set || [],\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\tDeckVersionModel,\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.createFromTemplate(\n\t\t\t\tauto.template,\n\t\t\t\tdeck.sections.length + index,\n\t\t\t\toptions.getUniqueAdjunctID(),\n\t\t\t);\n\n\t\t\t// We've just borrowed the \"from template\" method above. We want to add\n\t\t\t// back some of the specific keys about the auto.\n\t\t\tsection.autoAdjunctID = auto.id;\n\t\t\tsection.key = auto.key;\n\t\t\tsection.title = auto.name;\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) {\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: [],\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(section, index);\n\t\t\t}),\n\t\t);\n\n\t\tdeck.realSection = PresentationSection.createFromManifestImpostor(items[0]);\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\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\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};\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\treturn PresentationSection.createFromTemplate(template, index, minID);\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":[]}