@livepreso/api 6.40.0 → 6.43.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 (446) hide show
  1. package/.eslintrc.js +5 -0
  2. package/.rush/temp/build-cache-tar.log +7 -0
  3. package/.rush/temp/package-deps_build.json +170 -0
  4. package/.rush/temp/shrinkwrap-deps.json +846 -0
  5. package/CHANGELOG.json +41 -0
  6. package/CHANGELOG.md +25 -0
  7. package/api.build.log +15 -0
  8. package/babel.config.js +9 -18
  9. package/cjs/api.js +1 -1
  10. package/cjs/api.js.map +1 -1
  11. package/cjs/api.spec.js +2 -2
  12. package/cjs/api.spec.js.map +1 -1
  13. package/cjs/auth.js +6 -5
  14. package/cjs/auth.js.map +1 -1
  15. package/cjs/auth.spec.js +25 -23
  16. package/cjs/auth.spec.js.map +1 -1
  17. package/cjs/caching.js +3 -3
  18. package/cjs/collections/activity.js +22 -27
  19. package/cjs/collections/activity.js.map +1 -1
  20. package/cjs/collections/adjunct-sections.js +2 -2
  21. package/cjs/collections/adjunct-sections.js.map +1 -1
  22. package/cjs/collections/adjunct-slides.js +2 -2
  23. package/cjs/collections/adjunct-slides.js.map +1 -1
  24. package/cjs/collections/adjunct-sub-slides.js +2 -2
  25. package/cjs/collections/adjunct-sub-slides.js.map +1 -1
  26. package/cjs/collections/appointment-adjunct-tags.js +28 -0
  27. package/cjs/collections/appointment-adjunct-tags.js.map +1 -0
  28. package/cjs/collections/appointment-deckversion-tags.js +28 -0
  29. package/cjs/collections/appointment-deckversion-tags.js.map +1 -0
  30. package/cjs/collections/appointment-duplicates.js +2 -2
  31. package/cjs/collections/appointment-duplicates.js.map +1 -1
  32. package/cjs/collections/appointment-editors.js +2 -2
  33. package/cjs/collections/appointment-editors.js.map +1 -1
  34. package/cjs/collections/appointment-section-tags.js +28 -0
  35. package/cjs/collections/appointment-section-tags.js.map +1 -0
  36. package/cjs/collections/appointment-slide-tags.js +28 -0
  37. package/cjs/collections/appointment-slide-tags.js.map +1 -0
  38. package/cjs/collections/appointment-tags.js +208 -0
  39. package/cjs/collections/appointment-tags.js.map +1 -0
  40. package/cjs/collections/appointments.js +10 -6
  41. package/cjs/collections/appointments.js.map +1 -1
  42. package/cjs/collections/assets.js +2 -2
  43. package/cjs/collections/assets.js.map +1 -1
  44. package/cjs/collections/auto-adjuncts.js +7 -3
  45. package/cjs/collections/auto-adjuncts.js.map +1 -1
  46. package/cjs/collections/base.js +30 -25
  47. package/cjs/collections/base.js.map +1 -1
  48. package/cjs/collections/base.spec.js +71 -123
  49. package/cjs/collections/base.spec.js.map +1 -1
  50. package/cjs/collections/cms-vals.js +2 -2
  51. package/cjs/collections/cms-vals.js.map +1 -1
  52. package/cjs/collections/contacts.js +2 -2
  53. package/cjs/collections/contacts.js.map +1 -1
  54. package/cjs/collections/created-assets.js +2 -2
  55. package/cjs/collections/created-assets.js.map +1 -1
  56. package/cjs/collections/customers.js +2 -2
  57. package/cjs/collections/customers.js.map +1 -1
  58. package/cjs/collections/deck-notes.js +2 -2
  59. package/cjs/collections/deck-notes.js.map +1 -1
  60. package/cjs/collections/deck-versions.js +20 -8
  61. package/cjs/collections/deck-versions.js.map +1 -1
  62. package/cjs/collections/decks.js +2 -2
  63. package/cjs/collections/decks.js.map +1 -1
  64. package/cjs/collections/deleted-assets.js +2 -2
  65. package/cjs/collections/deleted-assets.js.map +1 -1
  66. package/cjs/collections/dispatches.js +4 -4
  67. package/cjs/collections/dispatches.js.map +1 -1
  68. package/cjs/collections/event-objects.js +2 -2
  69. package/cjs/collections/event-objects.js.map +1 -1
  70. package/cjs/collections/events.js +2 -2
  71. package/cjs/collections/events.js.map +1 -1
  72. package/cjs/collections/groups.js +2 -2
  73. package/cjs/collections/groups.js.map +1 -1
  74. package/cjs/collections/images.js +2 -2
  75. package/cjs/collections/images.js.map +1 -1
  76. package/cjs/collections/locations.js +2 -2
  77. package/cjs/collections/locations.js.map +1 -1
  78. package/cjs/collections/opportunities.js +2 -2
  79. package/cjs/collections/opportunities.js.map +1 -1
  80. package/cjs/collections/pack-diffs.js +2 -2
  81. package/cjs/collections/pack-diffs.js.map +1 -1
  82. package/cjs/collections/packs.js +2 -2
  83. package/cjs/collections/packs.js.map +1 -1
  84. package/cjs/collections/presets.js +2 -2
  85. package/cjs/collections/presets.js.map +1 -1
  86. package/cjs/collections/section-selections.js +2 -2
  87. package/cjs/collections/section-selections.js.map +1 -1
  88. package/cjs/collections/sections.js +2 -2
  89. package/cjs/collections/sections.js.map +1 -1
  90. package/cjs/collections/slide-selections.js +2 -2
  91. package/cjs/collections/slide-selections.js.map +1 -1
  92. package/cjs/collections/slides.js +2 -2
  93. package/cjs/collections/slides.js.map +1 -1
  94. package/cjs/collections/snapshots.js +2 -2
  95. package/cjs/collections/snapshots.js.map +1 -1
  96. package/cjs/collections/sub-slides.js +2 -2
  97. package/cjs/collections/sub-slides.js.map +1 -1
  98. package/cjs/collections/tags.js +28 -0
  99. package/cjs/collections/tags.js.map +1 -0
  100. package/cjs/collections/teams.js +2 -2
  101. package/cjs/collections/teams.js.map +1 -1
  102. package/cjs/collections/templates.js +2 -2
  103. package/cjs/collections/templates.js.map +1 -1
  104. package/cjs/collections/uploads.js +2 -2
  105. package/cjs/collections/uploads.js.map +1 -1
  106. package/cjs/collections/users.js +2 -2
  107. package/cjs/collections/users.js.map +1 -1
  108. package/cjs/collections.js +115 -0
  109. package/cjs/collections.js.map +1 -1
  110. package/cjs/index.js +3 -0
  111. package/cjs/index.js.map +1 -1
  112. package/cjs/middleware.js.map +1 -1
  113. package/cjs/middlewares/auth.js +10 -6
  114. package/cjs/middlewares/auth.js.map +1 -1
  115. package/cjs/middlewares/base.js +1 -3
  116. package/cjs/middlewares/base.js.map +1 -1
  117. package/cjs/middlewares/json.js +10 -6
  118. package/cjs/middlewares/json.js.map +1 -1
  119. package/cjs/middlewares/redirect.js +10 -6
  120. package/cjs/middlewares/redirect.js.map +1 -1
  121. package/cjs/models/activity-item.js +6 -2
  122. package/cjs/models/activity-item.js.map +1 -1
  123. package/cjs/models/adjunct-section.js +2 -2
  124. package/cjs/models/adjunct-section.js.map +1 -1
  125. package/cjs/models/adjunct-slide.js +2 -2
  126. package/cjs/models/adjunct-slide.js.map +1 -1
  127. package/cjs/models/adjunct-sub-slide.js +2 -2
  128. package/cjs/models/adjunct-sub-slide.js.map +1 -1
  129. package/cjs/models/adjunct.js +2 -2
  130. package/cjs/models/adjunct.js.map +1 -1
  131. package/cjs/models/api.js.map +1 -1
  132. package/cjs/models/appointment-adjunct-tags.js +52 -0
  133. package/cjs/models/appointment-adjunct-tags.js.map +1 -0
  134. package/cjs/models/appointment-deckversion-tags.js +52 -0
  135. package/cjs/models/appointment-deckversion-tags.js.map +1 -0
  136. package/cjs/models/appointment-duplicate.js +8 -3
  137. package/cjs/models/appointment-duplicate.js.map +1 -1
  138. package/cjs/models/appointment-editor.js +2 -2
  139. package/cjs/models/appointment-editor.js.map +1 -1
  140. package/cjs/models/appointment-section-tags.js +52 -0
  141. package/cjs/models/appointment-section-tags.js.map +1 -0
  142. package/cjs/models/appointment-slide-tags.js +52 -0
  143. package/cjs/models/appointment-slide-tags.js.map +1 -0
  144. package/cjs/models/appointment-stats.js +2 -2
  145. package/cjs/models/appointment-stats.js.map +1 -1
  146. package/cjs/models/appointment-tags.js +48 -0
  147. package/cjs/models/appointment-tags.js.map +1 -0
  148. package/cjs/models/appointment-viewing.js +2 -2
  149. package/cjs/models/appointment-viewing.js.map +1 -1
  150. package/cjs/models/appointment.js +16 -7
  151. package/cjs/models/appointment.js.map +1 -1
  152. package/cjs/models/asset.js +2 -2
  153. package/cjs/models/asset.js.map +1 -1
  154. package/cjs/models/auto-adjunct-key-check.js +2 -2
  155. package/cjs/models/auto-adjunct-key-check.js.map +1 -1
  156. package/cjs/models/auto-adjunct.js +2 -2
  157. package/cjs/models/auto-adjunct.js.map +1 -1
  158. package/cjs/models/base.js +25 -36
  159. package/cjs/models/base.js.map +1 -1
  160. package/cjs/models/base.spec.js +45 -45
  161. package/cjs/models/base.spec.js.map +1 -1
  162. package/cjs/models/choicelist.js.map +1 -1
  163. package/cjs/models/cms-val.js.map +1 -1
  164. package/cjs/models/contact.js +2 -2
  165. package/cjs/models/contact.js.map +1 -1
  166. package/cjs/models/customer.js +2 -2
  167. package/cjs/models/customer.js.map +1 -1
  168. package/cjs/models/deck-note.js +2 -2
  169. package/cjs/models/deck-note.js.map +1 -1
  170. package/cjs/models/deck-tags.js +61 -0
  171. package/cjs/models/deck-tags.js.map +1 -0
  172. package/cjs/models/deck-version.js +5 -3
  173. package/cjs/models/deck-version.js.map +1 -1
  174. package/cjs/models/deck.js +6 -3
  175. package/cjs/models/deck.js.map +1 -1
  176. package/cjs/models/dispatch-preview.js +3 -3
  177. package/cjs/models/dispatch-preview.js.map +1 -1
  178. package/cjs/models/dispatch.js +2 -2
  179. package/cjs/models/dispatch.js.map +1 -1
  180. package/cjs/models/envs.js.map +1 -1
  181. package/cjs/models/event-object.js +2 -2
  182. package/cjs/models/event-object.js.map +1 -1
  183. package/cjs/models/event.js +2 -2
  184. package/cjs/models/event.js.map +1 -1
  185. package/cjs/models/feed-data.js +2 -2
  186. package/cjs/models/feed-data.js.map +1 -1
  187. package/cjs/models/file.js +2 -2
  188. package/cjs/models/file.js.map +1 -1
  189. package/cjs/models/group.js +2 -2
  190. package/cjs/models/group.js.map +1 -1
  191. package/cjs/models/handover.js +2 -2
  192. package/cjs/models/handover.js.map +1 -1
  193. package/cjs/models/hosted-preso.js +2 -2
  194. package/cjs/models/hosted-preso.js.map +1 -1
  195. package/cjs/models/image.js +2 -2
  196. package/cjs/models/image.js.map +1 -1
  197. package/cjs/models/location.js +2 -2
  198. package/cjs/models/location.js.map +1 -1
  199. package/cjs/models/manifest-json.js +74 -57
  200. package/cjs/models/manifest-json.js.map +1 -1
  201. package/cjs/models/onshare.js +2 -2
  202. package/cjs/models/onshare.js.map +1 -1
  203. package/cjs/models/opportunity.js +2 -2
  204. package/cjs/models/opportunity.js.map +1 -1
  205. package/cjs/models/pack-diff.js +2 -2
  206. package/cjs/models/pack-diff.js.map +1 -1
  207. package/cjs/models/pack.js +2 -2
  208. package/cjs/models/pack.js.map +1 -1
  209. package/cjs/models/preset.js +22 -2
  210. package/cjs/models/preset.js.map +1 -1
  211. package/cjs/models/refresh-request.js +2 -2
  212. package/cjs/models/refresh-request.js.map +1 -1
  213. package/cjs/models/room.js +2 -2
  214. package/cjs/models/room.js.map +1 -1
  215. package/cjs/models/salesforce-lookup.js +2 -2
  216. package/cjs/models/salesforce-lookup.js.map +1 -1
  217. package/cjs/models/section-selection.js +2 -2
  218. package/cjs/models/section-selection.js.map +1 -1
  219. package/cjs/models/section.js +2 -2
  220. package/cjs/models/section.js.map +1 -1
  221. package/cjs/models/slide-selection.js +2 -2
  222. package/cjs/models/slide-selection.js.map +1 -1
  223. package/cjs/models/slide.js +2 -2
  224. package/cjs/models/slide.js.map +1 -1
  225. package/cjs/models/snapshot.js +2 -2
  226. package/cjs/models/snapshot.js.map +1 -1
  227. package/cjs/models/sub-slide.js +2 -2
  228. package/cjs/models/sub-slide.js.map +1 -1
  229. package/cjs/models/support-ticket.js +2 -2
  230. package/cjs/models/support-ticket.js.map +1 -1
  231. package/cjs/models/tag.js +54 -0
  232. package/cjs/models/tag.js.map +1 -0
  233. package/cjs/models/team.js +2 -2
  234. package/cjs/models/team.js.map +1 -1
  235. package/cjs/models/template.js +2 -2
  236. package/cjs/models/template.js.map +1 -1
  237. package/cjs/models/tenancy.js +2 -2
  238. package/cjs/models/tenancy.js.map +1 -1
  239. package/cjs/models/timing-log.js +20 -41
  240. package/cjs/models/timing-log.js.map +1 -1
  241. package/cjs/models/timing-log.spec.js +18 -86
  242. package/cjs/models/timing-log.spec.js.map +1 -1
  243. package/cjs/models/transcribe-socket.js +2 -2
  244. package/cjs/models/transcribe-socket.js.map +1 -1
  245. package/cjs/models/upload.js +2 -2
  246. package/cjs/models/upload.js.map +1 -1
  247. package/cjs/models/user.js +6 -4
  248. package/cjs/models/user.js.map +1 -1
  249. package/cjs/models/user.spec.js +10 -8
  250. package/cjs/models/user.spec.js.map +1 -1
  251. package/cjs/models.js +148 -0
  252. package/cjs/models.js.map +1 -1
  253. package/cjs/presentation/appointment-presentation.js +13 -5
  254. package/cjs/presentation/appointment-presentation.js.map +1 -1
  255. package/cjs/presentation/base-presentation-collection.js.map +1 -1
  256. package/cjs/presentation/base-presentation-model.js +65 -0
  257. package/cjs/presentation/base-presentation-model.js.map +1 -1
  258. package/cjs/presentation/base-presentation-model.spec.js +87 -0
  259. package/cjs/presentation/base-presentation-model.spec.js.map +1 -1
  260. package/cjs/presentation/presentation-deck.js +31 -20
  261. package/cjs/presentation/presentation-deck.js.map +1 -1
  262. package/cjs/presentation/presentation-deck.spec.js +15 -13
  263. package/cjs/presentation/presentation-deck.spec.js.map +1 -1
  264. package/cjs/presentation/presentation-decks.js +2 -2
  265. package/cjs/presentation/presentation-decks.js.map +1 -1
  266. package/cjs/presentation/presentation-section.js +36 -17
  267. package/cjs/presentation/presentation-section.js.map +1 -1
  268. package/cjs/presentation/presentation-section.spec.js +418 -0
  269. package/cjs/presentation/presentation-section.spec.js.map +1 -0
  270. package/cjs/presentation/presentation-sections.js +2 -2
  271. package/cjs/presentation/presentation-sections.js.map +1 -1
  272. package/cjs/presentation/presentation-slide.js +35 -18
  273. package/cjs/presentation/presentation-slide.js.map +1 -1
  274. package/cjs/presentation/presentation-slide.spec.js +294 -0
  275. package/cjs/presentation/presentation-slide.spec.js.map +1 -0
  276. package/cjs/presentation/presentation-slides.js +2 -2
  277. package/cjs/presentation/presentation-slides.js.map +1 -1
  278. package/cjs/presentation/presentation-subslide.js +11 -7
  279. package/cjs/presentation/presentation-subslide.js.map +1 -1
  280. package/cjs/presentation/presentation-subslide.spec.js +68 -20
  281. package/cjs/presentation/presentation-subslide.spec.js.map +1 -1
  282. package/cjs/presentation/presentation-subslides.js +2 -2
  283. package/cjs/presentation/presentation-subslides.js.map +1 -1
  284. package/cjs/presentation/presentation.js +19 -9
  285. package/cjs/presentation/presentation.js.map +1 -1
  286. package/cjs/presentation.js +10 -0
  287. package/cjs/presentation.js.map +1 -1
  288. package/cjs/state-register.js +11 -1
  289. package/cjs/state-register.js.map +1 -1
  290. package/cjs/sync.js +7 -7
  291. package/cjs/sync.js.map +1 -1
  292. package/cjs/utils.js +7 -7
  293. package/cjs/utils.js.map +1 -1
  294. package/cjs/utils.spec.js.map +1 -1
  295. package/config/rush-project.json +53 -0
  296. package/index.js +0 -1
  297. package/jest.config.js +4 -4
  298. package/package.json +17 -59
  299. package/setup-tests.js +2 -1
  300. package/src/api.js +3 -3
  301. package/src/api.spec.js +3 -4
  302. package/src/auth.js +6 -7
  303. package/src/auth.spec.js +3 -4
  304. package/src/collections/activity.js +5 -6
  305. package/src/collections/adjunct-sections.js +4 -4
  306. package/src/collections/adjunct-slides.js +4 -4
  307. package/src/collections/adjunct-sub-slides.js +2 -2
  308. package/src/collections/appointment-adjunct-tags.js +18 -0
  309. package/src/collections/appointment-deckversion-tags.js +21 -0
  310. package/src/collections/appointment-duplicates.js +2 -2
  311. package/src/collections/appointment-editors.js +2 -2
  312. package/src/collections/appointment-section-tags.js +18 -0
  313. package/src/collections/appointment-slide-tags.js +18 -0
  314. package/src/collections/appointment-tags.js +136 -0
  315. package/src/collections/appointments.js +18 -23
  316. package/src/collections/assets.js +2 -2
  317. package/src/collections/auto-adjuncts.js +5 -5
  318. package/src/collections/base.js +17 -18
  319. package/src/collections/base.spec.js +7 -8
  320. package/src/collections/cms-vals.js +3 -3
  321. package/src/collections/contacts.js +2 -2
  322. package/src/collections/created-assets.js +2 -2
  323. package/src/collections/customers.js +2 -2
  324. package/src/collections/deck-notes.js +2 -2
  325. package/src/collections/deck-versions.js +18 -15
  326. package/src/collections/decks.js +2 -2
  327. package/src/collections/deleted-assets.js +2 -2
  328. package/src/collections/dispatches.js +8 -13
  329. package/src/collections/event-objects.js +2 -2
  330. package/src/collections/events.js +2 -2
  331. package/src/collections/groups.js +2 -2
  332. package/src/collections/images.js +2 -2
  333. package/src/collections/locations.js +2 -2
  334. package/src/collections/opportunities.js +2 -2
  335. package/src/collections/pack-diffs.js +2 -2
  336. package/src/collections/packs.js +2 -2
  337. package/src/collections/presets.js +2 -2
  338. package/src/collections/section-selections.js +4 -4
  339. package/src/collections/sections.js +2 -2
  340. package/src/collections/slide-selections.js +4 -4
  341. package/src/collections/slides.js +2 -2
  342. package/src/collections/snapshots.js +2 -2
  343. package/src/collections/sub-slides.js +2 -2
  344. package/src/collections/tags.js +18 -0
  345. package/src/collections/teams.js +2 -2
  346. package/src/collections/templates.js +2 -2
  347. package/src/collections/uploads.js +2 -2
  348. package/src/collections/users.js +2 -2
  349. package/src/collections.js +6 -0
  350. package/src/index.js +1 -4
  351. package/src/middleware.js +1 -1
  352. package/src/middlewares/json.js +2 -2
  353. package/src/middlewares/redirect.js +1 -2
  354. package/src/models/activity-item.js +6 -6
  355. package/src/models/adjunct-section.js +5 -5
  356. package/src/models/adjunct-slide.js +5 -5
  357. package/src/models/adjunct-sub-slide.js +5 -5
  358. package/src/models/adjunct.js +4 -4
  359. package/src/models/api.js +1 -1
  360. package/src/models/appointment-adjunct-tags.js +41 -0
  361. package/src/models/appointment-deckversion-tags.js +41 -0
  362. package/src/models/appointment-duplicate.js +7 -7
  363. package/src/models/appointment-editor.js +6 -6
  364. package/src/models/appointment-section-tags.js +41 -0
  365. package/src/models/appointment-slide-tags.js +41 -0
  366. package/src/models/appointment-stats.js +5 -5
  367. package/src/models/appointment-tags.js +39 -0
  368. package/src/models/appointment-viewing.js +3 -3
  369. package/src/models/appointment.js +35 -29
  370. package/src/models/asset.js +5 -5
  371. package/src/models/auto-adjunct-key-check.js +5 -5
  372. package/src/models/auto-adjunct.js +4 -4
  373. package/src/models/base.js +36 -37
  374. package/src/models/base.spec.js +61 -62
  375. package/src/models/choicelist.js +2 -2
  376. package/src/models/cms-val.js +3 -3
  377. package/src/models/contact.js +9 -9
  378. package/src/models/customer.js +13 -13
  379. package/src/models/deck-note.js +4 -4
  380. package/src/models/deck-tags.js +52 -0
  381. package/src/models/deck-version.js +9 -8
  382. package/src/models/deck.js +8 -6
  383. package/src/models/dispatch-preview.js +6 -7
  384. package/src/models/dispatch.js +6 -7
  385. package/src/models/envs.js +1 -1
  386. package/src/models/event-object.js +6 -6
  387. package/src/models/event.js +7 -7
  388. package/src/models/feed-data.js +5 -5
  389. package/src/models/file.js +4 -4
  390. package/src/models/group.js +3 -3
  391. package/src/models/handover.js +5 -5
  392. package/src/models/hosted-preso.js +5 -5
  393. package/src/models/image.js +4 -4
  394. package/src/models/location.js +5 -5
  395. package/src/models/manifest-json.js +68 -30
  396. package/src/models/onshare.js +5 -5
  397. package/src/models/opportunity.js +5 -5
  398. package/src/models/pack-diff.js +5 -5
  399. package/src/models/pack.js +4 -4
  400. package/src/models/preset.js +24 -5
  401. package/src/models/refresh-request.js +6 -6
  402. package/src/models/room.js +3 -3
  403. package/src/models/salesforce-lookup.js +3 -3
  404. package/src/models/section-selection.js +6 -6
  405. package/src/models/section.js +7 -7
  406. package/src/models/slide-selection.js +6 -6
  407. package/src/models/slide.js +7 -7
  408. package/src/models/snapshot.js +5 -5
  409. package/src/models/sub-slide.js +5 -5
  410. package/src/models/support-ticket.js +4 -4
  411. package/src/models/tag.js +42 -0
  412. package/src/models/team.js +4 -4
  413. package/src/models/template.js +4 -4
  414. package/src/models/tenancy.js +5 -5
  415. package/src/models/timing-log.js +18 -18
  416. package/src/models/timing-log.spec.js +28 -29
  417. package/src/models/transcribe-socket.js +3 -3
  418. package/src/models/upload.js +3 -3
  419. package/src/models/user.js +24 -20
  420. package/src/models/user.spec.js +2 -2
  421. package/src/models.js +7 -0
  422. package/src/presentation/appointment-presentation.js +14 -10
  423. package/src/presentation/base-presentation-model.js +67 -5
  424. package/src/presentation/base-presentation-model.spec.js +114 -22
  425. package/src/presentation/presentation-deck.js +54 -52
  426. package/src/presentation/presentation-deck.spec.js +26 -27
  427. package/src/presentation/presentation-decks.js +2 -2
  428. package/src/presentation/presentation-section.js +62 -48
  429. package/src/presentation/presentation-section.spec.js +363 -0
  430. package/src/presentation/presentation-sections.js +2 -2
  431. package/src/presentation/presentation-slide.js +51 -36
  432. package/src/presentation/presentation-slide.spec.js +250 -0
  433. package/src/presentation/presentation-slides.js +2 -2
  434. package/src/presentation/presentation-subslide.js +24 -17
  435. package/src/presentation/presentation-subslide.spec.js +40 -12
  436. package/src/presentation/presentation-subslides.js +2 -2
  437. package/src/presentation/presentation.js +27 -15
  438. package/src/state-register.js +7 -0
  439. package/src/sync.js +21 -23
  440. package/src/utils.js +8 -7
  441. package/src/utils.spec.js +15 -15
  442. package/.editorconfig +0 -9
  443. package/.eslintrc +0 -25
  444. package/.prettierrc.js +0 -3
  445. package/jsdoc.json +0 -12
  446. package/yarn.lock +0 -8099
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/presentation/presentation-slide.js"],"names":["PresentationSlide","BasePresentationModel","extend","props","id","adjunctID","autoAdjunctID","type","default","templateID","createdByAutoAdjunct","createdByTemplate","html","css","index","key","sequence","custom","temporary","visible","title","section","image","_orig_image","thumbnail","selectionID","editable","tags","children","adjunct","collections","subslides","url","_url","_","isNumber","AdjunctSlideModel","SlideModel","createFromSlide","slideModel","options","defaults","adjunctSubSlides","AdjunctSubSlideCollection","rootAssetPath","selections","choicelist","getUniqueAdjunctID","parseInt","uniqueId","assetRoot","index_asset","baseRoot","deckversion","slidePath","slice","length","config","getVisibilityAndSequence","slide","image_256","indexOf","add","subslide_set","map","model","PresentationSubSlide","createFromSubSlide","adjunctSubslides","filter","maxID","max","pluck","createFromAdjunctSubSlide","createFromAdjunctSlide","adjunctSlideModel","keyID","creator_autoadjunct","created_by_autoadjunct","Boolean","template","Error","origPath","orig_path","image_original","createFromManifestJSON","manifestJSON","sectionID","split","slideKey","titles","url2","resolve","getAssetPath","ordering","createFromManifestImpostor","presentationSlide","createFromTemplate","minID","Number","createFromAutoAdjunct","opts","requiredKeys","allowConvert","deckversionID","impostor","autoAdjunct","AutoAdjunctModel","autoAdjunctSlide","name"],"mappings":"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","sourcesContent":["import \"./presentation-subslides.js\";\n\nimport url2 from \"url\";\n\nimport _ from \"lodash\";\n\nimport * as collections from \"../collections.js\";\nimport { getAssetRoot } from \"../index.js\";\nimport { AdjunctSlideModel, AutoAdjunctModel, SlideModel } from \"../models.js\";\nimport { register } from \"../state-register.js\";\nimport { BasePresentationModel } from \"./base-presentation-model.js\";\nimport { PresentationSubSlide } from \"./presentation-subslide.js\";\n\n/**\n * @constructor\n * @alias presentation.PresentationSlide\n * @extends presentation.BasePresentationModel\n */\nexport const PresentationSlide = BasePresentationModel.extend(\n\t/** @lends presentation.PresentationSlide# */ {\n\t\t/**\n\t\t * @property {number} id\n\t\t * @property {number} adjunctID\n\t\t * @property {number} autoAdjunctID\n\t\t * @property {number} templateID\n\t\t * @property {boolean} createdByAutoAdjunct\n\t\t * @property {boolean} createdByTemplate\n\t\t * @property {string} html\n\t\t * @property {string} css\n\t\t * @property {number} index\n\t\t * @property {string} key\n\t\t * @property {number} sequence\n\t\t * @property {boolean} custom\n\t\t * @property {boolean} temporary\n\t\t * @property {boolean} visible\n\t\t * @property {string} title\n\t\t * @property {number} section\n\t\t * @property {string} image\n\t\t * @property {string} _orig_image\n\t\t * @property {string} thumbnail\n\t\t * @property {number} selectionID\n\t\t * @property {bool} editable\n\t\t * @property {array} tags\n\t\t */\n\t\tprops: {\n\t\t\tid: \"number\",\n\t\t\tadjunctID: \"number\",\n\t\t\tautoAdjunctID: {\n\t\t\t\ttype: \"number\",\n\t\t\t\tdefault: null\n\t\t\t},\n\t\t\ttemplateID: {\n\t\t\t\ttype: \"number\",\n\t\t\t\tdefault: null\n\t\t\t},\n\t\t\tcreatedByAutoAdjunct: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: false\n\t\t\t},\n\t\t\tcreatedByTemplate: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: false\n\t\t\t},\n\t\t\thtml: \"string\",\n\t\t\tcss: \"string\",\n\t\t\tindex: \"number\",\n\t\t\tkey: \"string\",\n\t\t\tsequence: \"number\",\n\t\t\tcustom: \"boolean\",\n\t\t\ttemporary: \"boolean\",\n\t\t\tvisible: \"boolean\",\n\t\t\ttitle: \"string\",\n\t\t\tsection: \"number\",\n\t\t\timage: \"string\",\n\t\t\t_orig_image: \"string\",\n\t\t\tthumbnail: \"string\",\n\t\t\tselectionID: \"number\",\n\t\t\teditable: \"boolean\",\n\t\t\ttags: \"array\"\n\t\t},\n\n\t\t/**\n\t\t * @property {models.AdjunctModel} adjunct\n\t\t */\n\t\tchildren: {\n\t\t\tadjunct: \"AdjunctModel\"\n\t\t},\n\n\t\t/**\n\t\t * @property {presentation.PresentationSubSlideCollection} subslides\n\t\t */\n\t\tcollections: {\n\t\t\tsubslides: \"PresentationSubSlideCollection\"\n\t\t},\n\n\t\turl() {\n\t\t\tif (!this._url) {\n\t\t\t\tif (_.isNumber(this.adjunctID)) {\n\t\t\t\t\tthis._url = new AdjunctSlideModel({ id: this.adjunctID }).url();\n\t\t\t\t} else {\n\t\t\t\t\tthis._url = new SlideModel({ id: this.id }).url();\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn this._url;\n\t\t}\n\t}\n);\n\n/**\n * @function createFromSlide\n * @memberof presentation.PresentationSlide\n * @param {models.SlideModel} slideModel\n * @param {object} [options]\n * @returns {presentation.PresentationSlide}\n */\nPresentationSlide.createFromSlide = function(slideModel, options = {}) {\n\t_.defaults(options, {\n\t\tadjunctSubSlides: new collections.AdjunctSubSlideCollection(),\n\t\trootAssetPath: null,\n\t\tselections: null,\n\t\tchoicelist: null,\n\t\tgetUniqueAdjunctID: () => {\n\t\t\treturn parseInt(_.uniqueId(), 10);\n\t\t}\n\t});\n\n\tlet html;\n\tlet css;\n\n\tconst assetRoot = getAssetRoot(slideModel.index_asset.url());\n\n\tif (options.rootAssetPath) {\n\t\tconst baseRoot = getAssetRoot(\n\t\t\tslideModel.section.deckversion.index_asset.url()\n\t\t);\n\t\tconst slidePath = assetRoot.slice(baseRoot.length);\n\t\thtml = `${options.rootAssetPath}${slidePath}index.html`;\n\t\tcss = `${options.rootAssetPath}${slidePath}slide.css`;\n\t} else {\n\t\thtml = `${assetRoot}index.html`;\n\t\tcss = `${assetRoot}slide.css`;\n\t}\n\n\tconst config = PresentationSlide.getVisibilityAndSequence(\n\t\tslideModel,\n\t\toptions\n\t);\n\n\tconst slide = new PresentationSlide({\n\t\tid: slideModel.id,\n\t\tadjunctID: null,\n\t\thtml,\n\t\tcss,\n\t\tkey: slideModel.key,\n\t\tthumbnail: slideModel.image_256,\n\t\tcustom: false,\n\t\teditable: slideModel.tags.indexOf(\"editable\") > -1,\n\t\ttitle: slideModel.title,\n\t\tsection: slideModel.section.id,\n\t\ttags: slideModel.tags,\n\t\tindex: config.sequence,\n\t\tsequence: config.sequence,\n\t\tvisible: config.visible,\n\t\tselectionID: config.selectionID\n\t});\n\n\tslide.subslides.add(\n\t\tslideModel.subslide_set.map(model => {\n\t\t\treturn PresentationSubSlide.createFromSubSlide(model, options);\n\t\t})\n\t);\n\n\tconst adjunctSubslides = options.adjunctSubSlides.filter(model => {\n\t\treturn model.slide.id === slideModel.id;\n\t});\n\n\t// If the slide's content is entirely adjunct and does not have a distinct\n\t// first subslide, we need to create one based on the slide.\n\t// This is mostly just a legacy format and is required for screenshots.\n\t// See REA-Developer's Investment Summary for an example.\n\tif (\n\t\tadjunctSubslides.length &&\n\t\t!slide.subslides.length &&\n\t\t!(slideModel.tags.indexOf(\"subslide_container\") > -1)\n\t) {\n\t\tslide.subslides.add(PresentationSubSlide.createFromSlide(slide));\n\t}\n\n\tlet maxID = 0;\n\tif (slide.subslides.length) {\n\t\tmaxID = _.max(slide.subslides.pluck(\"id\"));\n\t}\n\n\t// Add any adjunct subslides to the list\n\tslide.subslides.add(\n\t\tadjunctSubslides.map((model, index) => {\n\t\t\tconst id = maxID + index + 1;\n\n\t\t\treturn PresentationSubSlide.createFromAdjunctSubSlide(model, slideModel, {\n\t\t\t\t...options,\n\t\t\t\tid\n\t\t\t});\n\t\t})\n\t);\n\n\treturn slide;\n};\n\n/**\n * @function createFromAdjunctSlide\n * @memberof presentation.PresentationSlide\n * @param {models.AdjunctSlideModel} adjunctSlideModel\n * @param {models.SectionModel} sectionModel\n * @param {object} [options]\n * @returns {presentation.PresentationSlide}\n */\nPresentationSlide.createFromAdjunctSlide = function(\n\tadjunctSlideModel,\n\tsection = null,\n\toptions = {}\n) {\n\t_.defaults(options, {\n\t\tid: null,\n\t\trootAssetPath: null,\n\t\tselections: null,\n\t\tchoicelist: null,\n\t\tgetUniqueAdjunctID: () => {\n\t\t\treturn parseInt(_.uniqueId(), 10);\n\t\t}\n\t});\n\n\tconst keyID =\n\t\tadjunctSlideModel.id ||\n\t\t(adjunctSlideModel.creator_autoadjunct\n\t\t\t? adjunctSlideModel.creator_autoadjunct.id\n\t\t\t: null);\n\n\tlet key = null;\n\n\tif (adjunctSlideModel.key) {\n\t\tkey = adjunctSlideModel.key;\n\t} else if (keyID) {\n\t\tkey = `adjunct-${keyID}`;\n\t}\n\n\tconst config = PresentationSlide.getVisibilityAndSequence(\n\t\tadjunctSlideModel,\n\t\toptions\n\t);\n\n\tconst slide = new PresentationSlide({\n\t\tid: options.id || options.getUniqueAdjunctID(),\n\t\tadjunct: adjunctSlideModel.adjunct ? adjunctSlideModel.adjunct.url() : null,\n\t\tadjunctID: adjunctSlideModel.id,\n\t\tautoAdjunctID: adjunctSlideModel.creator_autoadjunct\n\t\t\t? adjunctSlideModel.creator_autoadjunct.id\n\t\t\t: null,\n\t\tkey,\n\t\tthumbnail: adjunctSlideModel.image_256,\n\t\tcreatedByAutoAdjunct: adjunctSlideModel.created_by_autoadjunct,\n\t\tcreatedByTemplate: Boolean(adjunctSlideModel.template),\n\t\tcustom: !adjunctSlideModel.created_by_autoadjunct,\n\t\ttemporary: adjunctSlideModel.created_by_autoadjunct,\n\t\ttitle: adjunctSlideModel.title,\n\t\tsection: section ? section.id : null,\n\t\ttags: adjunctSlideModel.tags,\n\t\tindex: config.sequence,\n\t\tsequence: config.sequence,\n\t\tvisible: config.visible\n\t});\n\n\tif (adjunctSlideModel.template) {\n\t\tif (!adjunctSlideModel.template.index_asset) {\n\t\t\tthrow new Error(\n\t\t\t\t\"Template missing index_asset. Do you have the whole template available?\"\n\t\t\t);\n\t\t}\n\t\tconst origPath = adjunctSlideModel.template.index_asset.orig_path;\n\t\tlet html;\n\t\tlet css;\n\n\t\tif (options.rootAssetPath) {\n\t\t\thtml = `${options.rootAssetPath}${origPath}/index.html`;\n\t\t\tcss = `${options.rootAssetPath}${origPath}/slide.css`;\n\t\t} else {\n\t\t\tconst assetRoot = getAssetRoot(\n\t\t\t\tadjunctSlideModel.template.index_asset.url()\n\t\t\t);\n\t\t\thtml = `${assetRoot}index.html`;\n\t\t\tcss = `${assetRoot}slide.css`;\n\t\t}\n\t\tslide.html = html;\n\t\tslide.css = css;\n\t\tslide.thumbnail = adjunctSlideModel.template.image_256;\n\t} else {\n\t\tslide.image = adjunctSlideModel.image_original;\n\t}\n\n\treturn slide;\n};\n\nPresentationSlide.createFromManifestJSON = function(\n\tmanifestJSON,\n\tkey,\n\tsectionID,\n\tindex\n) {\n\tconst [, slideKey] = key.split(\"/\");\n\n\tconst slide = new PresentationSlide({\n\t\tid: parseInt(_.uniqueId(), 10),\n\t\ttitle: manifestJSON.titles[key],\n\t\tindex,\n\t\thtml: url2.resolve(manifestJSON.getAssetPath(key), \"index.html\"),\n\t\tcss: url2.resolve(manifestJSON.getAssetPath(key), \"slide.css\"),\n\t\tkey: slideKey,\n\t\teditable: false,\n\t\tsequence: manifestJSON.ordering[key],\n\t\tthumbnail: null,\n\t\tcustom: false,\n\t\tvisible: true,\n\t\tsection: sectionID,\n\t\ttags: manifestJSON.tags[key] || null\n\t});\n\n\treturn slide;\n};\n\nPresentationSlide.createFromManifestImpostor = function(\n\tslide,\n\tindex,\n\tsectionID\n) {\n\tconst presentationSlide = new PresentationSlide({\n\t\tid: parseInt(_.uniqueId(), 10),\n\t\teditable: slide.tags.indexOf(\"editable\") !== -1,\n\t\tthumbnail: null,\n\t\tcustom: false,\n\t\tvisible: true,\n\t\tsection: sectionID,\n\t\tindex,\n\t\t...slide\n\t});\n\n\treturn presentationSlide;\n};\n\nPresentationSlide.createFromTemplate = function(\n\ttemplate,\n\tindex,\n\tsectionID,\n\tminID = 0\n) {\n\tconst presentationSlide = new PresentationSlide({\n\t\t...template,\n\t\tid: minID + parseInt(_.uniqueId(), 10),\n\t\teditable: false,\n\t\tthumbnail: null,\n\t\tcustom: false,\n\t\tvisible: true,\n\t\tsection: sectionID,\n\t\t// Makes sure templates are rendered with unique IDs\n\t\tautoAdjunctID: Number(_.uniqueId()),\n\t\tindex,\n\t\tcreatedByTemplate: true\n\t});\n\treturn presentationSlide;\n};\n\nPresentationSlide.createFromAutoAdjunct = function(model, opts) {\n\tconst requiredKeys = [\"index\", \"deckversionID\"];\n\tfor (const key of requiredKeys) {\n\t\tif (typeof opts[key] === \"undefined\") {\n\t\t\tthrow new Error(`Missing required key '${key}'.`);\n\t\t}\n\t}\n\n\tconst options = _.defaults(opts, {\n\t\tallowConvert: true,\n\t\tvisible: true,\n\t\tindex: -1,\n\t\tdeckversionID: -1,\n\t\tsequence: opts.index,\n\t\timpostor: false\n\t});\n\n\tconst autoAdjunct = new AutoAdjunctModel(model);\n\n\tconst autoAdjunctSlide = new PresentationSlide({\n\t\tid: options.id || autoAdjunct.id,\n\t\tadjunctID: autoAdjunct.id,\n\t\tautoAdjunctID: autoAdjunct.id,\n\t\tcreatedByTemplate: autoAdjunct.template !== null,\n\t\ttemplateID: autoAdjunct.template ? autoAdjunct.template.id : null,\n\t\thtml: \"\",\n\t\tcss: \"\",\n\t\tsequence: options.sequence,\n\t\tindex: options.index,\n\t\tkey: autoAdjunct.key,\n\t\tcreatedByAutoAdjunct: false,\n\t\tthumbnail: autoAdjunct.image_256,\n\t\ttemporary: true,\n\t\ttitle: autoAdjunct.name,\n\t\tvisible: options.visible,\n\t\tallowConvert: options.allowConvert,\n\t\tdeckversion: options.deckversionID,\n\t\timpostor: options.impostor\n\t});\n\n\tif (autoAdjunct.template) {\n\t\tautoAdjunctSlide.thumbnail = autoAdjunct.template.image_256;\n\t\tautoAdjunctSlide.createdByTemplate = true;\n\t\tautoAdjunctSlide.templateID = autoAdjunct.template.id;\n\t\tautoAdjunctSlide.html = autoAdjunct.template.index_asset.url();\n\t} else {\n\t\tautoAdjunctSlide.image = autoAdjunct.image_original;\n\t}\n\n\treturn autoAdjunctSlide;\n};\n\nregister(\"PresentationSlide\", PresentationSlide);\n"],"file":"presentation-slide.js"}
1
+ {"version":3,"sources":["../../src/presentation/presentation-slide.js"],"names":["PresentationSlide","BasePresentationModel","extend","props","id","adjunctID","autoAdjunctID","type","default","templateID","createdByAutoAdjunct","createdByTemplate","html","css","index","key","sequence","custom","temporary","visible","title","section","image","_orig_image","thumbnail","selectionID","editable","tags","children","adjunct","collections","subslides","url","_url","_","isNumber","AdjunctSlideModel","SlideModel","createFromSlide","slideModel","options","defaults","adjunctSubSlides","AdjunctSubSlideCollection","rootAssetPath","selections","choicelist","getUniqueAdjunctID","parseInt","uniqueId","assetRoot","index_asset","baseRoot","deckversion","slidePath","slice","length","config","getVisibilityAndSequence","getTags","slide","image_256","indexOf","add","subslide_set","map","model","PresentationSubSlide","createFromSubSlide","adjunctSubslides","filter","maxID","max","pluck","createFromAdjunctSubSlide","createFromAdjunctSlide","adjunctSlideModel","keyID","creator_autoadjunct","created_by_autoadjunct","Boolean","template","Error","origPath","orig_path","image_original","createFromManifestJSON","manifestJSON","sectionID","split","slideKey","titles","url2","resolve","getAssetPath","ordering","createFromManifestImpostor","presentationSlide","createFromTemplate","minID","Number","createFromAutoAdjunct","opts","requiredKeys","allowConvert","deckversionID","impostor","isAutoAdjunct","autoAdjunct","AutoAdjunctModel","autoAdjunctSlide","name"],"mappings":";;;;;;;;;;;;;;;AAAA;;AAEA;;AAEA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACO,IAAMA,iBAAiB,GAAGC,6CAAsBC,MAAtB;AAChC;AAA8C;AAC7C;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEC,EAAAA,KAAK,EAAE;AACNC,IAAAA,EAAE,EAAE,QADE;AAENC,IAAAA,SAAS,EAAE,QAFL;AAGNC,IAAAA,aAAa,EAAE;AACdC,MAAAA,IAAI,EAAE,QADQ;AAEdC,MAAAA,OAAO,EAAE;AAFK,KAHT;AAONC,IAAAA,UAAU,EAAE;AACXF,MAAAA,IAAI,EAAE,QADK;AAEXC,MAAAA,OAAO,EAAE;AAFE,KAPN;AAWNE,IAAAA,oBAAoB,EAAE;AACrBH,MAAAA,IAAI,EAAE,SADe;AAErBC,MAAAA,OAAO,EAAE;AAFY,KAXhB;AAeNG,IAAAA,iBAAiB,EAAE;AAClBJ,MAAAA,IAAI,EAAE,SADY;AAElBC,MAAAA,OAAO,EAAE;AAFS,KAfb;AAmBNI,IAAAA,IAAI,EAAE,QAnBA;AAoBNC,IAAAA,GAAG,EAAE,QApBC;AAqBNC,IAAAA,KAAK,EAAE,QArBD;AAsBNC,IAAAA,GAAG,EAAE,QAtBC;AAuBNC,IAAAA,QAAQ,EAAE,QAvBJ;AAwBNC,IAAAA,MAAM,EAAE,SAxBF;AAyBNC,IAAAA,SAAS,EAAE,SAzBL;AA0BNC,IAAAA,OAAO,EAAE,SA1BH;AA2BNC,IAAAA,KAAK,EAAE,QA3BD;AA4BNC,IAAAA,OAAO,EAAE,QA5BH;AA6BNC,IAAAA,KAAK,EAAE,QA7BD;AA8BNC,IAAAA,WAAW,EAAE,QA9BP;AA+BNC,IAAAA,SAAS,EAAE,QA/BL;AAgCNC,IAAAA,WAAW,EAAE,QAhCP;AAiCNC,IAAAA,QAAQ,EAAE,SAjCJ;AAkCNC,IAAAA,IAAI,EAAE;AAlCA,GAzBsC;;AA8D7C;AACF;AACA;AACEC,EAAAA,QAAQ,EAAE;AACTC,IAAAA,OAAO,EAAE;AADA,GAjEmC;;AAqE7C;AACF;AACA;AACEC,EAAAA,WAAW,EAAE;AACZC,IAAAA,SAAS,EAAE;AADC,GAxEgC;AA4E7CC,EAAAA,GA5E6C,iBA4EvC;AACL,QAAI,CAAC,KAAKC,IAAV,EAAgB;AACf,UAAIC,gBAAEC,QAAF,CAAW,KAAK9B,SAAhB,CAAJ,EAAgC;AAC/B,aAAK4B,IAAL,GAAY,IAAIG,yBAAJ,CAAsB;AAAEhC,UAAAA,EAAE,EAAE,KAAKC;AAAX,SAAtB,EAA8C2B,GAA9C,EAAZ;AACA,OAFD,MAEO;AACN,aAAKC,IAAL,GAAY,IAAII,kBAAJ,CAAe;AAAEjC,UAAAA,EAAE,EAAE,KAAKA;AAAX,SAAf,EAAgC4B,GAAhC,EAAZ;AACA;AACD;;AACD,WAAO,KAAKC,IAAZ;AACA;AArF4C,CADd,CAA1B;AA0FP;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AACAjC,iBAAiB,CAACsC,eAAlB,GAAoC,UAAUC,UAAV,EAAoC;AAAA,MAAdC,OAAc,uEAAJ,EAAI;;AACvEN,kBAAEO,QAAF,CAAWD,OAAX,EAAoB;AACnBE,IAAAA,gBAAgB,EAAE,IAAIZ,WAAW,CAACa,yBAAhB,EADC;AAEnBC,IAAAA,aAAa,EAAE,IAFI;AAGnBC,IAAAA,UAAU,EAAE,IAHO;AAInBC,IAAAA,UAAU,EAAE,IAJO;AAKnBC,IAAAA,kBAAkB,EAAE,8BAAM;AACzB,aAAOC,QAAQ,CAACd,gBAAEe,QAAF,EAAD,EAAe,EAAf,CAAf;AACA;AAPkB,GAApB;;AAUA,MAAIrC,IAAJ;AACA,MAAIC,GAAJ;AAEA,MAAMqC,SAAS,GAAG,yBAAaX,UAAU,CAACY,WAAX,CAAuBnB,GAAvB,EAAb,CAAlB;;AAEA,MAAIQ,OAAO,CAACI,aAAZ,EAA2B;AAC1B,QAAMQ,QAAQ,GAAG,yBAChBb,UAAU,CAAClB,OAAX,CAAmBgC,WAAnB,CAA+BF,WAA/B,CAA2CnB,GAA3C,EADgB,CAAjB;AAGA,QAAMsB,SAAS,GAAGJ,SAAS,CAACK,KAAV,CAAgBH,QAAQ,CAACI,MAAzB,CAAlB;AACA5C,IAAAA,IAAI,aAAM4B,OAAO,CAACI,aAAd,SAA8BU,SAA9B,eAAJ;AACAzC,IAAAA,GAAG,aAAM2B,OAAO,CAACI,aAAd,SAA8BU,SAA9B,cAAH;AACA,GAPD,MAOO;AACN1C,IAAAA,IAAI,aAAMsC,SAAN,eAAJ;AACArC,IAAAA,GAAG,aAAMqC,SAAN,cAAH;AACA;;AAED,MAAMO,MAAM,GAAGzD,iBAAiB,CAAC0D,wBAAlB,CACdnB,UADc,EAEdC,OAFc,CAAf;AAKA,MAAMb,IAAI,GAAG3B,iBAAiB,CAAC2D,OAAlB,CAA0BpB,UAA1B,EAAsCC,OAAtC,CAAb;AAEA,MAAMoB,KAAK,GAAG,IAAI5D,iBAAJ,CAAsB;AACnCI,IAAAA,EAAE,EAAEmC,UAAU,CAACnC,EADoB;AAEnCC,IAAAA,SAAS,EAAE,IAFwB;AAGnCO,IAAAA,IAAI,EAAJA,IAHmC;AAInCC,IAAAA,GAAG,EAAHA,GAJmC;AAKnCE,IAAAA,GAAG,EAAEwB,UAAU,CAACxB,GALmB;AAMnCS,IAAAA,SAAS,EAAEe,UAAU,CAACsB,SANa;AAOnC5C,IAAAA,MAAM,EAAE,KAP2B;AAQnCS,IAAAA,QAAQ,EAAEC,IAAI,CAACmC,OAAL,CAAa,UAAb,IAA2B,CAAC,CARH;AASnC1C,IAAAA,KAAK,EAAEmB,UAAU,CAACnB,KATiB;AAUnCC,IAAAA,OAAO,EAAEkB,UAAU,CAAClB,OAAX,CAAmBjB,EAVO;AAWnCuB,IAAAA,IAAI,EAAJA,IAXmC;AAYnCb,IAAAA,KAAK,EAAE2C,MAAM,CAACzC,QAZqB;AAanCA,IAAAA,QAAQ,EAAEyC,MAAM,CAACzC,QAbkB;AAcnCG,IAAAA,OAAO,EAAEsC,MAAM,CAACtC,OAdmB;AAenCM,IAAAA,WAAW,EAAEgC,MAAM,CAAChC;AAfe,GAAtB,CAAd;AAkBAmC,EAAAA,KAAK,CAAC7B,SAAN,CAAgBgC,GAAhB,CACCxB,UAAU,CAACyB,YAAX,CAAwBC,GAAxB,CAA4B,UAACC,KAAD,EAAW;AACtC,WAAOC,2CAAqBC,kBAArB,CAAwCF,KAAxC,EAA+C1B,OAA/C,CAAP;AACA,GAFD,CADD;AAMA,MAAM6B,gBAAgB,GAAG7B,OAAO,CAACE,gBAAR,CAAyB4B,MAAzB,CAAgC,UAACJ,KAAD,EAAW;AACnE,WAAOA,KAAK,CAACN,KAAN,CAAYxD,EAAZ,KAAmBmC,UAAU,CAACnC,EAArC;AACA,GAFwB,CAAzB,CA3DuE,CA+DvE;AACA;AACA;AACA;;AACA,MACCiE,gBAAgB,CAACb,MAAjB,IACA,CAACI,KAAK,CAAC7B,SAAN,CAAgByB,MADjB,IAEA,EAAE7B,IAAI,CAACmC,OAAL,CAAa,oBAAb,IAAqC,CAAC,CAAxC,CAHD,EAIE;AACDF,IAAAA,KAAK,CAAC7B,SAAN,CAAgBgC,GAAhB,CAAoBI,2CAAqB7B,eAArB,CAAqCsB,KAArC,CAApB;AACA;;AAED,MAAIW,KAAK,GAAG,CAAZ;;AACA,MAAIX,KAAK,CAAC7B,SAAN,CAAgByB,MAApB,EAA4B;AAC3Be,IAAAA,KAAK,GAAGrC,gBAAEsC,GAAF,CAAMZ,KAAK,CAAC7B,SAAN,CAAgB0C,KAAhB,CAAsB,IAAtB,CAAN,CAAR;AACA,GA9EsE,CAgFvE;;;AACAb,EAAAA,KAAK,CAAC7B,SAAN,CAAgBgC,GAAhB,CACCM,gBAAgB,CAACJ,GAAjB,CAAqB,UAACC,KAAD,EAAQpD,KAAR,EAAkB;AACtC,QAAMV,EAAE,GAAGmE,KAAK,GAAGzD,KAAR,GAAgB,CAA3B;AAEA,WAAOqD,2CAAqBO,yBAArB,CAA+CR,KAA/C,EAAsD3B,UAAtD,kCACHC,OADG;AAENpC,MAAAA,EAAE,EAAFA;AAFM,OAAP;AAIA,GAPD,CADD;AAWA,SAAOwD,KAAP;AACA,CA7FD;AA+FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA5D,iBAAiB,CAAC2E,sBAAlB,GAA2C,UAC1CC,iBAD0C,EAIzC;AAAA,MAFDvD,OAEC,uEAFS,IAET;AAAA,MADDmB,OACC,uEADS,EACT;;AACDN,kBAAEO,QAAF,CAAWD,OAAX,EAAoB;AACnBpC,IAAAA,EAAE,EAAE,IADe;AAEnBwC,IAAAA,aAAa,EAAE,IAFI;AAGnBC,IAAAA,UAAU,EAAE,IAHO;AAInBC,IAAAA,UAAU,EAAE,IAJO;AAKnBC,IAAAA,kBAAkB,EAAE,8BAAM;AACzB,aAAOC,QAAQ,CAACd,gBAAEe,QAAF,EAAD,EAAe,EAAf,CAAf;AACA;AAPkB,GAApB;;AAUA,MAAM4B,KAAK,GACVD,iBAAiB,CAACxE,EAAlB,KACCwE,iBAAiB,CAACE,mBAAlB,GACEF,iBAAiB,CAACE,mBAAlB,CAAsC1E,EADxC,GAEE,IAHH,CADD;AAMA,MAAIW,GAAG,GAAG,IAAV;;AAEA,MAAI6D,iBAAiB,CAAC7D,GAAtB,EAA2B;AAC1BA,IAAAA,GAAG,GAAG6D,iBAAiB,CAAC7D,GAAxB;AACA,GAFD,MAEO,IAAI8D,KAAJ,EAAW;AACjB9D,IAAAA,GAAG,qBAAc8D,KAAd,CAAH;AACAD,IAAAA,iBAAiB,CAAC7D,GAAlB,GAAwBA,GAAxB;AACA;;AAED,MAAM0C,MAAM,GAAGzD,iBAAiB,CAAC0D,wBAAlB,CACdkB,iBADc,EAEdpC,OAFc,CAAf;AAKA,MAAMb,IAAI,GAAG3B,iBAAiB,CAAC2D,OAAlB,CAA0BiB,iBAA1B,EAA6CpC,OAA7C,CAAb;AAEA,MAAMoB,KAAK,GAAG,IAAI5D,iBAAJ,CAAsB;AACnCI,IAAAA,EAAE,EAAEoC,OAAO,CAACpC,EAAR,IAAcoC,OAAO,CAACO,kBAAR,EADiB;AAEnClB,IAAAA,OAAO,EAAE+C,iBAAiB,CAAC/C,OAAlB,GAA4B+C,iBAAiB,CAAC/C,OAAlB,CAA0BG,GAA1B,EAA5B,GAA8D,IAFpC;AAGnC3B,IAAAA,SAAS,EAAEuE,iBAAiB,CAACxE,EAHM;AAInCE,IAAAA,aAAa,EAAEsE,iBAAiB,CAACE,mBAAlB,GACZF,iBAAiB,CAACE,mBAAlB,CAAsC1E,EAD1B,GAEZ,IANgC;AAOnCW,IAAAA,GAAG,EAAHA,GAPmC;AAQnCS,IAAAA,SAAS,EAAEoD,iBAAiB,CAACf,SARM;AASnCnD,IAAAA,oBAAoB,EAAEkE,iBAAiB,CAACG,sBATL;AAUnCpE,IAAAA,iBAAiB,EAAEqE,OAAO,CAACJ,iBAAiB,CAACK,QAAnB,CAVS;AAWnChE,IAAAA,MAAM,EAAE,CAAC2D,iBAAiB,CAACG,sBAXQ;AAYnC7D,IAAAA,SAAS,EAAE0D,iBAAiB,CAACG,sBAZM;AAanC3D,IAAAA,KAAK,EAAEwD,iBAAiB,CAACxD,KAbU;AAcnCC,IAAAA,OAAO,EAAEA,OAAO,GAAGA,OAAO,CAACjB,EAAX,GAAgB,IAdG;AAenCuB,IAAAA,IAAI,EAAJA,IAfmC;AAgBnCb,IAAAA,KAAK,EAAE2C,MAAM,CAACzC,QAhBqB;AAiBnCA,IAAAA,QAAQ,EAAEyC,MAAM,CAACzC,QAjBkB;AAkBnCG,IAAAA,OAAO,EAAEsC,MAAM,CAACtC;AAlBmB,GAAtB,CAAd;;AAqBA,MAAIyD,iBAAiB,CAACK,QAAtB,EAAgC;AAC/B,QAAI,CAACL,iBAAiB,CAACK,QAAlB,CAA2B9B,WAAhC,EAA6C;AAC5C,YAAM,IAAI+B,KAAJ,CACL,yEADK,CAAN;AAGA;;AACD,QAAMC,QAAQ,GAAGP,iBAAiB,CAACK,QAAlB,CAA2B9B,WAA3B,CAAuCiC,SAAxD;AACA,QAAIxE,IAAJ;AACA,QAAIC,GAAJ;;AAEA,QAAI2B,OAAO,CAACI,aAAZ,EAA2B;AAC1BhC,MAAAA,IAAI,aAAM4B,OAAO,CAACI,aAAd,SAA8BuC,QAA9B,gBAAJ;AACAtE,MAAAA,GAAG,aAAM2B,OAAO,CAACI,aAAd,SAA8BuC,QAA9B,eAAH;AACA,KAHD,MAGO;AACN,UAAMjC,SAAS,GAAG,yBACjB0B,iBAAiB,CAACK,QAAlB,CAA2B9B,WAA3B,CAAuCnB,GAAvC,EADiB,CAAlB;AAGApB,MAAAA,IAAI,aAAMsC,SAAN,eAAJ;AACArC,MAAAA,GAAG,aAAMqC,SAAN,cAAH;AACA;;AACDU,IAAAA,KAAK,CAAChD,IAAN,GAAaA,IAAb;AACAgD,IAAAA,KAAK,CAAC/C,GAAN,GAAYA,GAAZ;AACA+C,IAAAA,KAAK,CAACpC,SAAN,GAAkBoD,iBAAiB,CAACK,QAAlB,CAA2BpB,SAA7C;AACA,GAvBD,MAuBO;AACND,IAAAA,KAAK,CAACtC,KAAN,GAAcsD,iBAAiB,CAACS,cAAhC;AACA;;AAED,SAAOzB,KAAP;AACA,CAtFD;;AAwFA5D,iBAAiB,CAACsF,sBAAlB,GAA2C,UAC1CC,YAD0C,EAE1CxE,GAF0C,EAG1CyE,SAH0C,EAI1C1E,KAJ0C,EAKzC;AACD,mBAAqBC,GAAG,CAAC0E,KAAJ,CAAU,GAAV,CAArB;AAAA;AAAA,MAASC,QAAT;;AAEA,MAAM9B,KAAK,GAAG,IAAI5D,iBAAJ,CAAsB;AACnCI,IAAAA,EAAE,EAAE4C,QAAQ,CAACd,gBAAEe,QAAF,EAAD,EAAe,EAAf,CADuB;AAEnC7B,IAAAA,KAAK,EAAEmE,YAAY,CAACI,MAAb,CAAoB5E,GAApB,CAF4B;AAGnCD,IAAAA,KAAK,EAALA,KAHmC;AAInCF,IAAAA,IAAI,EAAEgF,aAAKC,OAAL,CAAaN,YAAY,CAACO,YAAb,CAA0B/E,GAA1B,CAAb,EAA6C,YAA7C,CAJ6B;AAKnCF,IAAAA,GAAG,EAAE+E,aAAKC,OAAL,CAAaN,YAAY,CAACO,YAAb,CAA0B/E,GAA1B,CAAb,EAA6C,WAA7C,CAL8B;AAMnCA,IAAAA,GAAG,EAAE2E,QAN8B;AAOnChE,IAAAA,QAAQ,EAAE,KAPyB;AAQnCV,IAAAA,QAAQ,EAAEuE,YAAY,CAACQ,QAAb,CAAsBhF,GAAtB,CARyB;AASnCS,IAAAA,SAAS,EAAE,IATwB;AAUnCP,IAAAA,MAAM,EAAE,KAV2B;AAWnCE,IAAAA,OAAO,EAAE,IAX0B;AAYnCE,IAAAA,OAAO,EAAEmE,SAZ0B;AAanC7D,IAAAA,IAAI,EAAE4D,YAAY,CAAC5D,IAAb,CAAkBZ,GAAlB,KAA0B;AAbG,GAAtB,CAAd;AAgBA,SAAO6C,KAAP;AACA,CAzBD;;AA2BA5D,iBAAiB,CAACgG,0BAAlB,GAA+C,UAC9CpC,KAD8C,EAE9C9C,KAF8C,EAG9C0E,SAH8C,EAI7C;AACD,MAAMS,iBAAiB,GAAG,IAAIjG,iBAAJ;AACzBI,IAAAA,EAAE,EAAE4C,QAAQ,CAACd,gBAAEe,QAAF,EAAD,EAAe,EAAf,CADa;AAEzBvB,IAAAA,QAAQ,EAAEkC,KAAK,CAACjC,IAAN,CAAWmC,OAAX,CAAmB,UAAnB,MAAmC,CAAC,CAFrB;AAGzBtC,IAAAA,SAAS,EAAE,IAHc;AAIzBP,IAAAA,MAAM,EAAE,KAJiB;AAKzBE,IAAAA,OAAO,EAAE,IALgB;AAMzBE,IAAAA,OAAO,EAAEmE,SANgB;AAOzB1E,IAAAA,KAAK,EAALA;AAPyB,KAQtB8C,KARsB,EAA1B;AAWA,SAAOqC,iBAAP;AACA,CAjBD;;AAmBAjG,iBAAiB,CAACkG,kBAAlB,GAAuC,UACtCjB,QADsC,EAEtCnE,KAFsC,EAGtC0E,SAHsC,EAKrC;AAAA,MADDW,KACC,uEADO,CACP;AACD,MAAMF,iBAAiB,GAAG,IAAIjG,iBAAJ,iCACtBiF,QADsB;AAEzB7E,IAAAA,EAAE,EAAE+F,KAAK,GAAGnD,QAAQ,CAACd,gBAAEe,QAAF,EAAD,EAAe,EAAf,CAFK;AAGzBvB,IAAAA,QAAQ,EAAE,KAHe;AAIzBF,IAAAA,SAAS,EAAE,IAJc;AAKzBP,IAAAA,MAAM,EAAE,KALiB;AAMzBE,IAAAA,OAAO,EAAE,IANgB;AAOzBE,IAAAA,OAAO,EAAEmE,SAPgB;AAQzB;AACAlF,IAAAA,aAAa,EAAE8F,MAAM,CAAClE,gBAAEe,QAAF,EAAD,CATI;AAUzBnC,IAAAA,KAAK,EAALA,KAVyB;AAWzBH,IAAAA,iBAAiB,EAAE;AAXM,KAA1B;AAaA,SAAOsF,iBAAP;AACA,CApBD;;AAsBAjG,iBAAiB,CAACqG,qBAAlB,GAA0C,UAAUnC,KAAV,EAAiBoC,IAAjB,EAAuB;AAChE,MAAMC,YAAY,GAAG,CAAC,OAAD,EAAU,eAAV,CAArB;;AACA,mCAAkBA,YAAlB,mCAAgC;AAA3B,QAAMxF,GAAG,oBAAT;;AACJ,QAAI,OAAOuF,IAAI,CAACvF,GAAD,CAAX,KAAqB,WAAzB,EAAsC;AACrC,YAAM,IAAImE,KAAJ,iCAAmCnE,GAAnC,QAAN;AACA;AACD;;AAED,MAAMyB,OAAO,GAAGN,gBAAEO,QAAF,CAAW6D,IAAX,EAAiB;AAChCE,IAAAA,YAAY,EAAE,IADkB;AAEhCrF,IAAAA,OAAO,EAAE,IAFuB;AAGhCL,IAAAA,KAAK,EAAE,CAAC,CAHwB;AAIhC2F,IAAAA,aAAa,EAAE,CAAC,CAJgB;AAKhCzF,IAAAA,QAAQ,EAAEsF,IAAI,CAACxF,KALiB;AAMhC4F,IAAAA,QAAQ,EAAE;AANsB,GAAjB,CAAhB;;AASA,MAAM/E,IAAI,GAAG3B,iBAAiB,CAAC2D,OAAlB,CACZ;AACCgD,IAAAA,aAAa,EAAE,IADhB;AAEC5F,IAAAA,GAAG,EAAEmD,KAAK,CAACnD,GAFZ;AAGCY,IAAAA,IAAI,EAAEuC,KAAK,CAACvC;AAHb,GADY,EAMZa,OANY,CAAb;AASA,MAAMoE,WAAW,GAAG,IAAIC,wBAAJ,CAAqB3C,KAArB,CAApB;AAEA,MAAM4C,gBAAgB,GAAG,IAAI9G,iBAAJ,CAAsB;AAC9CI,IAAAA,EAAE,EAAEoC,OAAO,CAACpC,EAAR,IAAcwG,WAAW,CAACxG,EADgB;AAE9CC,IAAAA,SAAS,EAAEuG,WAAW,CAACxG,EAFuB;AAG9CE,IAAAA,aAAa,EAAEsG,WAAW,CAACxG,EAHmB;AAI9CO,IAAAA,iBAAiB,EAAEiG,WAAW,CAAC3B,QAAZ,KAAyB,IAJE;AAK9CxE,IAAAA,UAAU,EAAEmG,WAAW,CAAC3B,QAAZ,GAAuB2B,WAAW,CAAC3B,QAAZ,CAAqB7E,EAA5C,GAAiD,IALf;AAM9CQ,IAAAA,IAAI,EAAE,EANwC;AAO9CC,IAAAA,GAAG,EAAE,EAPyC;AAQ9CG,IAAAA,QAAQ,EAAEwB,OAAO,CAACxB,QAR4B;AAS9CF,IAAAA,KAAK,EAAE0B,OAAO,CAAC1B,KAT+B;AAU9CC,IAAAA,GAAG,EAAE6F,WAAW,CAAC7F,GAV6B;AAW9CL,IAAAA,oBAAoB,EAAE,KAXwB;AAY9Cc,IAAAA,SAAS,EAAEoF,WAAW,CAAC/C,SAZuB;AAa9C3C,IAAAA,SAAS,EAAE,IAbmC;AAc9CE,IAAAA,KAAK,EAAEwF,WAAW,CAACG,IAd2B;AAe9C5F,IAAAA,OAAO,EAAEqB,OAAO,CAACrB,OAf6B;AAgB9CqF,IAAAA,YAAY,EAAEhE,OAAO,CAACgE,YAhBwB;AAiB9CnD,IAAAA,WAAW,EAAEb,OAAO,CAACiE,aAjByB;AAkB9CC,IAAAA,QAAQ,EAAElE,OAAO,CAACkE,QAlB4B;AAmB9C/E,IAAAA,IAAI,EAAJA;AAnB8C,GAAtB,CAAzB;;AAsBA,MAAIiF,WAAW,CAAC3B,QAAhB,EAA0B;AACzB6B,IAAAA,gBAAgB,CAACtF,SAAjB,GAA6BoF,WAAW,CAAC3B,QAAZ,CAAqBpB,SAAlD;AACAiD,IAAAA,gBAAgB,CAACnG,iBAAjB,GAAqC,IAArC;AACAmG,IAAAA,gBAAgB,CAACrG,UAAjB,GAA8BmG,WAAW,CAAC3B,QAAZ,CAAqB7E,EAAnD;AACA0G,IAAAA,gBAAgB,CAAClG,IAAjB,GAAwBgG,WAAW,CAAC3B,QAAZ,CAAqB9B,WAArB,CAAiCnB,GAAjC,EAAxB;AACA,GALD,MAKO;AACN8E,IAAAA,gBAAgB,CAACxF,KAAjB,GAAyBsF,WAAW,CAACvB,cAArC;AACA;;AAED,SAAOyB,gBAAP;AACA,CA5DD;;AA8DA,6BAAS,mBAAT,EAA8B9G,iBAA9B","sourcesContent":["import \"./presentation-subslides.js\";\n\nimport * as collections from \"../collections.js\";\n\nimport { AdjunctSlideModel, AutoAdjunctModel, SlideModel } from \"../models.js\";\n\nimport { BasePresentationModel } from \"./base-presentation-model.js\";\nimport { PresentationSubSlide } from \"./presentation-subslide.js\";\nimport _ from \"lodash\";\nimport { getAssetRoot } from \"../index.js\";\nimport { register } from \"../state-register.js\";\nimport url2 from \"url\";\n\n/**\n * @constructor\n * @alias presentation.PresentationSlide\n * @extends presentation.BasePresentationModel\n */\nexport const PresentationSlide = BasePresentationModel.extend(\n\t/** @lends presentation.PresentationSlide# */ {\n\t\t/**\n\t\t * @property {number} id\n\t\t * @property {number} adjunctID\n\t\t * @property {number} autoAdjunctID\n\t\t * @property {number} templateID\n\t\t * @property {boolean} createdByAutoAdjunct\n\t\t * @property {boolean} createdByTemplate\n\t\t * @property {string} html\n\t\t * @property {string} css\n\t\t * @property {number} index\n\t\t * @property {string} key\n\t\t * @property {number} sequence\n\t\t * @property {boolean} custom\n\t\t * @property {boolean} temporary\n\t\t * @property {boolean} visible\n\t\t * @property {string} title\n\t\t * @property {number} section\n\t\t * @property {string} image\n\t\t * @property {string} _orig_image\n\t\t * @property {string} thumbnail\n\t\t * @property {number} selectionID\n\t\t * @property {bool} editable\n\t\t * @property {array} tags\n\t\t */\n\t\tprops: {\n\t\t\tid: \"number\",\n\t\t\tadjunctID: \"number\",\n\t\t\tautoAdjunctID: {\n\t\t\t\ttype: \"number\",\n\t\t\t\tdefault: null,\n\t\t\t},\n\t\t\ttemplateID: {\n\t\t\t\ttype: \"number\",\n\t\t\t\tdefault: null,\n\t\t\t},\n\t\t\tcreatedByAutoAdjunct: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: false,\n\t\t\t},\n\t\t\tcreatedByTemplate: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: false,\n\t\t\t},\n\t\t\thtml: \"string\",\n\t\t\tcss: \"string\",\n\t\t\tindex: \"number\",\n\t\t\tkey: \"string\",\n\t\t\tsequence: \"number\",\n\t\t\tcustom: \"boolean\",\n\t\t\ttemporary: \"boolean\",\n\t\t\tvisible: \"boolean\",\n\t\t\ttitle: \"string\",\n\t\t\tsection: \"number\",\n\t\t\timage: \"string\",\n\t\t\t_orig_image: \"string\",\n\t\t\tthumbnail: \"string\",\n\t\t\tselectionID: \"number\",\n\t\t\teditable: \"boolean\",\n\t\t\ttags: \"array\",\n\t\t},\n\n\t\t/**\n\t\t * @property {models.AdjunctModel} adjunct\n\t\t */\n\t\tchildren: {\n\t\t\tadjunct: \"AdjunctModel\",\n\t\t},\n\n\t\t/**\n\t\t * @property {presentation.PresentationSubSlideCollection} subslides\n\t\t */\n\t\tcollections: {\n\t\t\tsubslides: \"PresentationSubSlideCollection\",\n\t\t},\n\n\t\turl() {\n\t\t\tif (!this._url) {\n\t\t\t\tif (_.isNumber(this.adjunctID)) {\n\t\t\t\t\tthis._url = new AdjunctSlideModel({ id: this.adjunctID }).url();\n\t\t\t\t} else {\n\t\t\t\t\tthis._url = new SlideModel({ id: this.id }).url();\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn this._url;\n\t\t},\n\t}\n);\n\n/**\n * @function createFromSlide\n * @memberof presentation.PresentationSlide\n * @param {models.SlideModel} slideModel\n * @param {object} [options]\n * @returns {presentation.PresentationSlide}\n */\nPresentationSlide.createFromSlide = function (slideModel, options = {}) {\n\t_.defaults(options, {\n\t\tadjunctSubSlides: new collections.AdjunctSubSlideCollection(),\n\t\trootAssetPath: null,\n\t\tselections: null,\n\t\tchoicelist: null,\n\t\tgetUniqueAdjunctID: () => {\n\t\t\treturn parseInt(_.uniqueId(), 10);\n\t\t},\n\t});\n\n\tlet html;\n\tlet css;\n\n\tconst assetRoot = getAssetRoot(slideModel.index_asset.url());\n\n\tif (options.rootAssetPath) {\n\t\tconst baseRoot = getAssetRoot(\n\t\t\tslideModel.section.deckversion.index_asset.url()\n\t\t);\n\t\tconst slidePath = assetRoot.slice(baseRoot.length);\n\t\thtml = `${options.rootAssetPath}${slidePath}index.html`;\n\t\tcss = `${options.rootAssetPath}${slidePath}slide.css`;\n\t} else {\n\t\thtml = `${assetRoot}index.html`;\n\t\tcss = `${assetRoot}slide.css`;\n\t}\n\n\tconst config = PresentationSlide.getVisibilityAndSequence(\n\t\tslideModel,\n\t\toptions\n\t);\n\n\tconst tags = PresentationSlide.getTags(slideModel, options);\n\n\tconst slide = new PresentationSlide({\n\t\tid: slideModel.id,\n\t\tadjunctID: null,\n\t\thtml,\n\t\tcss,\n\t\tkey: slideModel.key,\n\t\tthumbnail: slideModel.image_256,\n\t\tcustom: false,\n\t\teditable: tags.indexOf(\"editable\") > -1,\n\t\ttitle: slideModel.title,\n\t\tsection: slideModel.section.id,\n\t\ttags,\n\t\tindex: config.sequence,\n\t\tsequence: config.sequence,\n\t\tvisible: config.visible,\n\t\tselectionID: config.selectionID,\n\t});\n\n\tslide.subslides.add(\n\t\tslideModel.subslide_set.map((model) => {\n\t\t\treturn PresentationSubSlide.createFromSubSlide(model, options);\n\t\t})\n\t);\n\n\tconst adjunctSubslides = options.adjunctSubSlides.filter((model) => {\n\t\treturn model.slide.id === slideModel.id;\n\t});\n\n\t// If the slide's content is entirely adjunct and does not have a distinct\n\t// first subslide, we need to create one based on the slide.\n\t// This is mostly just a legacy format and is required for screenshots.\n\t// See REA-Developer's Investment Summary for an example.\n\tif (\n\t\tadjunctSubslides.length &&\n\t\t!slide.subslides.length &&\n\t\t!(tags.indexOf(\"subslide_container\") > -1)\n\t) {\n\t\tslide.subslides.add(PresentationSubSlide.createFromSlide(slide));\n\t}\n\n\tlet maxID = 0;\n\tif (slide.subslides.length) {\n\t\tmaxID = _.max(slide.subslides.pluck(\"id\"));\n\t}\n\n\t// Add any adjunct subslides to the list\n\tslide.subslides.add(\n\t\tadjunctSubslides.map((model, index) => {\n\t\t\tconst id = maxID + index + 1;\n\n\t\t\treturn PresentationSubSlide.createFromAdjunctSubSlide(model, slideModel, {\n\t\t\t\t...options,\n\t\t\t\tid,\n\t\t\t});\n\t\t})\n\t);\n\n\treturn slide;\n};\n\n/**\n * @function createFromAdjunctSlide\n * @memberof presentation.PresentationSlide\n * @param {models.AdjunctSlideModel} adjunctSlideModel\n * @param {models.SectionModel} sectionModel\n * @param {object} [options]\n * @returns {presentation.PresentationSlide}\n */\nPresentationSlide.createFromAdjunctSlide = function (\n\tadjunctSlideModel,\n\tsection = null,\n\toptions = {}\n) {\n\t_.defaults(options, {\n\t\tid: null,\n\t\trootAssetPath: null,\n\t\tselections: null,\n\t\tchoicelist: null,\n\t\tgetUniqueAdjunctID: () => {\n\t\t\treturn parseInt(_.uniqueId(), 10);\n\t\t},\n\t});\n\n\tconst keyID =\n\t\tadjunctSlideModel.id ||\n\t\t(adjunctSlideModel.creator_autoadjunct\n\t\t\t? adjunctSlideModel.creator_autoadjunct.id\n\t\t\t: null);\n\n\tlet key = null;\n\n\tif (adjunctSlideModel.key) {\n\t\tkey = adjunctSlideModel.key;\n\t} else if (keyID) {\n\t\tkey = `adjunct-${keyID}`;\n\t\tadjunctSlideModel.key = key;\n\t}\n\n\tconst config = PresentationSlide.getVisibilityAndSequence(\n\t\tadjunctSlideModel,\n\t\toptions\n\t);\n\n\tconst tags = PresentationSlide.getTags(adjunctSlideModel, options);\n\n\tconst slide = new PresentationSlide({\n\t\tid: options.id || options.getUniqueAdjunctID(),\n\t\tadjunct: adjunctSlideModel.adjunct ? adjunctSlideModel.adjunct.url() : null,\n\t\tadjunctID: adjunctSlideModel.id,\n\t\tautoAdjunctID: adjunctSlideModel.creator_autoadjunct\n\t\t\t? adjunctSlideModel.creator_autoadjunct.id\n\t\t\t: null,\n\t\tkey,\n\t\tthumbnail: adjunctSlideModel.image_256,\n\t\tcreatedByAutoAdjunct: adjunctSlideModel.created_by_autoadjunct,\n\t\tcreatedByTemplate: Boolean(adjunctSlideModel.template),\n\t\tcustom: !adjunctSlideModel.created_by_autoadjunct,\n\t\ttemporary: adjunctSlideModel.created_by_autoadjunct,\n\t\ttitle: adjunctSlideModel.title,\n\t\tsection: section ? section.id : null,\n\t\ttags,\n\t\tindex: config.sequence,\n\t\tsequence: config.sequence,\n\t\tvisible: config.visible,\n\t});\n\n\tif (adjunctSlideModel.template) {\n\t\tif (!adjunctSlideModel.template.index_asset) {\n\t\t\tthrow new Error(\n\t\t\t\t\"Template missing index_asset. Do you have the whole template available?\"\n\t\t\t);\n\t\t}\n\t\tconst origPath = adjunctSlideModel.template.index_asset.orig_path;\n\t\tlet html;\n\t\tlet css;\n\n\t\tif (options.rootAssetPath) {\n\t\t\thtml = `${options.rootAssetPath}${origPath}/index.html`;\n\t\t\tcss = `${options.rootAssetPath}${origPath}/slide.css`;\n\t\t} else {\n\t\t\tconst assetRoot = getAssetRoot(\n\t\t\t\tadjunctSlideModel.template.index_asset.url()\n\t\t\t);\n\t\t\thtml = `${assetRoot}index.html`;\n\t\t\tcss = `${assetRoot}slide.css`;\n\t\t}\n\t\tslide.html = html;\n\t\tslide.css = css;\n\t\tslide.thumbnail = adjunctSlideModel.template.image_256;\n\t} else {\n\t\tslide.image = adjunctSlideModel.image_original;\n\t}\n\n\treturn slide;\n};\n\nPresentationSlide.createFromManifestJSON = function (\n\tmanifestJSON,\n\tkey,\n\tsectionID,\n\tindex\n) {\n\tconst [, slideKey] = key.split(\"/\");\n\n\tconst slide = new PresentationSlide({\n\t\tid: parseInt(_.uniqueId(), 10),\n\t\ttitle: manifestJSON.titles[key],\n\t\tindex,\n\t\thtml: url2.resolve(manifestJSON.getAssetPath(key), \"index.html\"),\n\t\tcss: url2.resolve(manifestJSON.getAssetPath(key), \"slide.css\"),\n\t\tkey: slideKey,\n\t\teditable: false,\n\t\tsequence: manifestJSON.ordering[key],\n\t\tthumbnail: null,\n\t\tcustom: false,\n\t\tvisible: true,\n\t\tsection: sectionID,\n\t\ttags: manifestJSON.tags[key] || null,\n\t});\n\n\treturn slide;\n};\n\nPresentationSlide.createFromManifestImpostor = function (\n\tslide,\n\tindex,\n\tsectionID\n) {\n\tconst presentationSlide = new PresentationSlide({\n\t\tid: parseInt(_.uniqueId(), 10),\n\t\teditable: slide.tags.indexOf(\"editable\") !== -1,\n\t\tthumbnail: null,\n\t\tcustom: false,\n\t\tvisible: true,\n\t\tsection: sectionID,\n\t\tindex,\n\t\t...slide,\n\t});\n\n\treturn presentationSlide;\n};\n\nPresentationSlide.createFromTemplate = function (\n\ttemplate,\n\tindex,\n\tsectionID,\n\tminID = 0\n) {\n\tconst presentationSlide = new PresentationSlide({\n\t\t...template,\n\t\tid: minID + parseInt(_.uniqueId(), 10),\n\t\teditable: false,\n\t\tthumbnail: null,\n\t\tcustom: false,\n\t\tvisible: true,\n\t\tsection: sectionID,\n\t\t// Makes sure templates are rendered with unique IDs\n\t\tautoAdjunctID: Number(_.uniqueId()),\n\t\tindex,\n\t\tcreatedByTemplate: true,\n\t});\n\treturn presentationSlide;\n};\n\nPresentationSlide.createFromAutoAdjunct = function (model, opts) {\n\tconst requiredKeys = [\"index\", \"deckversionID\"];\n\tfor (const key of requiredKeys) {\n\t\tif (typeof opts[key] === \"undefined\") {\n\t\t\tthrow new Error(`Missing required key '${key}'.`);\n\t\t}\n\t}\n\n\tconst options = _.defaults(opts, {\n\t\tallowConvert: true,\n\t\tvisible: true,\n\t\tindex: -1,\n\t\tdeckversionID: -1,\n\t\tsequence: opts.index,\n\t\timpostor: false,\n\t});\n\n\tconst tags = PresentationSlide.getTags(\n\t\t{\n\t\t\tisAutoAdjunct: true,\n\t\t\tkey: model.key,\n\t\t\ttags: model.tags,\n\t\t},\n\t\toptions\n\t);\n\n\tconst autoAdjunct = new AutoAdjunctModel(model);\n\n\tconst autoAdjunctSlide = new PresentationSlide({\n\t\tid: options.id || autoAdjunct.id,\n\t\tadjunctID: autoAdjunct.id,\n\t\tautoAdjunctID: autoAdjunct.id,\n\t\tcreatedByTemplate: autoAdjunct.template !== null,\n\t\ttemplateID: autoAdjunct.template ? autoAdjunct.template.id : null,\n\t\thtml: \"\",\n\t\tcss: \"\",\n\t\tsequence: options.sequence,\n\t\tindex: options.index,\n\t\tkey: autoAdjunct.key,\n\t\tcreatedByAutoAdjunct: false,\n\t\tthumbnail: autoAdjunct.image_256,\n\t\ttemporary: true,\n\t\ttitle: autoAdjunct.name,\n\t\tvisible: options.visible,\n\t\tallowConvert: options.allowConvert,\n\t\tdeckversion: options.deckversionID,\n\t\timpostor: options.impostor,\n\t\ttags,\n\t});\n\n\tif (autoAdjunct.template) {\n\t\tautoAdjunctSlide.thumbnail = autoAdjunct.template.image_256;\n\t\tautoAdjunctSlide.createdByTemplate = true;\n\t\tautoAdjunctSlide.templateID = autoAdjunct.template.id;\n\t\tautoAdjunctSlide.html = autoAdjunct.template.index_asset.url();\n\t} else {\n\t\tautoAdjunctSlide.image = autoAdjunct.image_original;\n\t}\n\n\treturn autoAdjunctSlide;\n};\n\nregister(\"PresentationSlide\", PresentationSlide);\n"],"file":"presentation-slide.js"}
@@ -0,0 +1,294 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
6
+
7
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
8
+
9
+ var _adjunctSlide = require("../models/adjunct-slide");
10
+
11
+ var _autoAdjunct = require("../models/auto-adjunct");
12
+
13
+ var _presentationSlide = require("./presentation-slide");
14
+
15
+ var _slide = require("../models/slide");
16
+
17
+ describe("#createFromSlide", function () {
18
+ var getSlideJSON = function getSlideJSON() {
19
+ return {
20
+ created_date: "2021-07-22T04:57:56.484060Z",
21
+ description: "",
22
+ enabled: true,
23
+ id: 23219,
24
+ image_128: null,
25
+ image_256: null,
26
+ image_512: null,
27
+ index_asset: {
28
+ created_date: "2021-07-22T04:57:32.977770Z",
29
+ data: "sections/test-deck/slides/slide-key/index.html",
30
+ id: 148204,
31
+ modified_date: "2021-07-22T04:57:32.977790Z",
32
+ orig_path: "sections/test-deck/slides/slide-key",
33
+ pack: "https://staging-test.salespreso.com/api/packs/410/",
34
+ url: "https://staging-test-cdn.salespreso.com/media/pack/410/assets/sections/test-deck/slides/slide-key/index.html"
35
+ },
36
+ key: "slide-key",
37
+ modified_date: "2021-07-22T05:03:07.778106Z",
38
+ namespaced_key: "test-deck/slide-key",
39
+ section: "https://staging-test.salespreso.com/api/sections/1738/",
40
+ sequence: 13,
41
+ subslide_set: [],
42
+ tags: [],
43
+ title: "Digital Transformation",
44
+ url: "https://staging-test.salespreso.com/api/slides/23219/"
45
+ };
46
+ };
47
+
48
+ it("should create a presentation slide", /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
49
+ var slide, presentationSlide, expected;
50
+ return _regenerator.default.wrap(function _callee$(_context) {
51
+ while (1) {
52
+ switch (_context.prev = _context.next) {
53
+ case 0:
54
+ slide = new _slide.SlideModel(getSlideJSON());
55
+ presentationSlide = _presentationSlide.PresentationSlide.createFromSlide(slide);
56
+ expected = {
57
+ adjunctID: null,
58
+ autoAdjunctID: null,
59
+ createdByAutoAdjunct: false,
60
+ createdByTemplate: false,
61
+ css: "https://staging-test-cdn.salespreso.com/media/pack/410/assets/sections/test-deck/slides/slide-key/slide.css",
62
+ custom: false,
63
+ editable: false,
64
+ html: "https://staging-test-cdn.salespreso.com/media/pack/410/assets/sections/test-deck/slides/slide-key/index.html",
65
+ id: 23219,
66
+ index: 13,
67
+ key: "slide-key",
68
+ section: 1738,
69
+ selectionID: null,
70
+ sequence: 13,
71
+ subslides: [],
72
+ tags: [],
73
+ templateID: null,
74
+ thumbnail: null,
75
+ title: "Digital Transformation",
76
+ url: "/api/slides/23219/",
77
+ visible: true
78
+ };
79
+ expect(presentationSlide.toJSON()).toEqual(expected);
80
+
81
+ case 4:
82
+ case "end":
83
+ return _context.stop();
84
+ }
85
+ }
86
+ }, _callee);
87
+ })));
88
+ it("should use deckTags when available", /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
89
+ var slide, options, presentationSlide;
90
+ return _regenerator.default.wrap(function _callee2$(_context2) {
91
+ while (1) {
92
+ switch (_context2.prev = _context2.next) {
93
+ case 0:
94
+ slide = new _slide.SlideModel(getSlideJSON());
95
+ options = {
96
+ deckTags: {
97
+ "test-deck/slide-key": ["slide-tag"]
98
+ }
99
+ };
100
+ presentationSlide = _presentationSlide.PresentationSlide.createFromSlide(slide, options);
101
+ expect(presentationSlide.tags).toEqual(["slide-tag"]);
102
+
103
+ case 4:
104
+ case "end":
105
+ return _context2.stop();
106
+ }
107
+ }
108
+ }, _callee2);
109
+ })));
110
+ });
111
+ describe("#createFromAdjunctSlide", function () {
112
+ var getAdjunctSlideJSON = function getAdjunctSlideJSON() {
113
+ return {
114
+ adjunct: "https://staging-test.salespreso.com/api/adjuncts/7457/",
115
+ appointment: "https://staging-test.salespreso.com/api/appointments/2426/",
116
+ created_by_autoadjunct: true,
117
+ created_date: "2021-09-20T05:34:45.267698Z",
118
+ creator_autoadjunct: "https://staging-test.salespreso.com/api/autoadjuncts/541/",
119
+ deleted: false,
120
+ enabled: true,
121
+ html_content: '<img src="https://staging-test-cdn.salespreso.com/media/autoadjunct/123.png">',
122
+ id: 10529,
123
+ image_128: "https://staging-test-cdn.salespreso.com/media/CACHE/images/autoadjunct/123/456.jpg",
124
+ image_256: "https://staging-test-cdn.salespreso.com/media/CACHE/images/autoadjunct/123/456.jpg",
125
+ image_512: "https://staging-test-cdn.salespreso.com/media/CACHE/images/autoadjunct/123/456.jpg",
126
+ image_1024: "https://staging-test-cdn.salespreso.com/media/CACHE/images/autoadjunct/123/456.png",
127
+ image_original: "https://staging-test-cdn.salespreso.com/media/autoadjunct/123.png",
128
+ modified_date: "2021-09-20T05:34:45.267703Z",
129
+ section: "https://staging-test.salespreso.com/api/sections/1755/",
130
+ sequence: 3,
131
+ tags: [],
132
+ template: null,
133
+ title: "Six",
134
+ url: "https://staging-test.salespreso.com/api/adjunctslides/10529/"
135
+ };
136
+ };
137
+
138
+ it("should create a presentation slide", /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
139
+ var adjunctSlide, presentationSlide, expected;
140
+ return _regenerator.default.wrap(function _callee3$(_context3) {
141
+ while (1) {
142
+ switch (_context3.prev = _context3.next) {
143
+ case 0:
144
+ adjunctSlide = new _adjunctSlide.AdjunctSlideModel(getAdjunctSlideJSON());
145
+ presentationSlide = _presentationSlide.PresentationSlide.createFromAdjunctSlide(adjunctSlide);
146
+ expected = {
147
+ adjunct: {
148
+ url: "https://staging-test.salespreso.com/api/adjuncts/7457/"
149
+ },
150
+ adjunctID: 10529,
151
+ autoAdjunctID: 541,
152
+ createdByAutoAdjunct: true,
153
+ createdByTemplate: false,
154
+ custom: false,
155
+ id: 1,
156
+ image: "https://staging-test-cdn.salespreso.com/media/autoadjunct/123.png",
157
+ index: 3,
158
+ key: "adjunct-10529",
159
+ section: null,
160
+ sequence: 3,
161
+ subslides: [],
162
+ tags: [],
163
+ templateID: null,
164
+ temporary: true,
165
+ thumbnail: "https://staging-test-cdn.salespreso.com/media/CACHE/images/autoadjunct/123/456.jpg",
166
+ title: "Six",
167
+ url: "/api/adjunctslides/10529/",
168
+ visible: true
169
+ };
170
+ expect(presentationSlide.toJSON()).toEqual(expected);
171
+
172
+ case 4:
173
+ case "end":
174
+ return _context3.stop();
175
+ }
176
+ }
177
+ }, _callee3);
178
+ })));
179
+ it("should use deckTags when available", /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4() {
180
+ var adjunctSlide, options, presentationSlide;
181
+ return _regenerator.default.wrap(function _callee4$(_context4) {
182
+ while (1) {
183
+ switch (_context4.prev = _context4.next) {
184
+ case 0:
185
+ adjunctSlide = new _adjunctSlide.AdjunctSlideModel(getAdjunctSlideJSON());
186
+ options = {
187
+ deckTags: {
188
+ "test-deck/adjunct-10529": ["adjunctslide-tag"]
189
+ }
190
+ };
191
+ presentationSlide = _presentationSlide.PresentationSlide.createFromAdjunctSlide(adjunctSlide, null, options);
192
+ expect(presentationSlide.tags).toEqual(["adjunctslide-tag"]);
193
+
194
+ case 4:
195
+ case "end":
196
+ return _context4.stop();
197
+ }
198
+ }
199
+ }, _callee4);
200
+ })));
201
+ });
202
+ describe("#createFromAutoAdjunct", function () {
203
+ var getAutoAdjunctJSON = function getAutoAdjunctJSON() {
204
+ return {
205
+ after_key: "test-deck/industry_insights",
206
+ created_date: "2021-08-02T00:28:41.992805Z",
207
+ deck: "https://staging-test.salespreso.com/api/decks/4/",
208
+ enabled: true,
209
+ id: 525,
210
+ image_128: "https://staging-test-cdn.salespreso.com/media/CACHE/images/autoadjunct/123/456.jpg",
211
+ image_256: "https://staging-test-cdn.salespreso.com/media/CACHE/images/autoadjunct/123/456.jpg",
212
+ image_512: "https://staging-test-cdn.salespreso.com/media/CACHE/images/autoadjunct/123/456.jpg",
213
+ image_1024: "https://staging-test-cdn.salespreso.com/media/CACHE/images/autoadjunct/123/456.png",
214
+ image_original: "https://staging-test-cdn.salespreso.com/media/autoadjunct/123.png",
215
+ key: "autoadjunct-three",
216
+ modified_date: "2021-09-15T05:52:49.234837Z",
217
+ name: "Three",
218
+ parent_key: "test-deck",
219
+ sequence: 4,
220
+ tags: [],
221
+ team: null,
222
+ template: null,
223
+ url: "https://staging-test.salespreso.com/api/autoadjuncts/525/"
224
+ };
225
+ };
226
+
227
+ it("should create a presentation slide", /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5() {
228
+ var autoAdjunct, options, presentationSlide, expected;
229
+ return _regenerator.default.wrap(function _callee5$(_context5) {
230
+ while (1) {
231
+ switch (_context5.prev = _context5.next) {
232
+ case 0:
233
+ autoAdjunct = new _autoAdjunct.AutoAdjunctModel(getAutoAdjunctJSON());
234
+ options = {
235
+ index: 3,
236
+ deckversionID: 12
237
+ };
238
+ presentationSlide = _presentationSlide.PresentationSlide.createFromAutoAdjunct(autoAdjunct, options);
239
+ expected = {
240
+ adjunctID: 525,
241
+ autoAdjunctID: 525,
242
+ createdByAutoAdjunct: false,
243
+ createdByTemplate: false,
244
+ css: "",
245
+ html: "",
246
+ id: 525,
247
+ image: "https://staging-test-cdn.salespreso.com/media/autoadjunct/123.png",
248
+ index: 3,
249
+ key: "autoadjunct-three",
250
+ sequence: 3,
251
+ subslides: [],
252
+ tags: [],
253
+ templateID: null,
254
+ temporary: true,
255
+ thumbnail: "https://staging-test-cdn.salespreso.com/media/CACHE/images/autoadjunct/123/456.jpg",
256
+ title: "Three",
257
+ url: "/api/adjunctslides/525/",
258
+ visible: true
259
+ };
260
+ expect(presentationSlide.toJSON()).toEqual(expected);
261
+
262
+ case 5:
263
+ case "end":
264
+ return _context5.stop();
265
+ }
266
+ }
267
+ }, _callee5);
268
+ })));
269
+ it("should use deckTags when available", /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6() {
270
+ var autoAdjunct, options, presentationSlide;
271
+ return _regenerator.default.wrap(function _callee6$(_context6) {
272
+ while (1) {
273
+ switch (_context6.prev = _context6.next) {
274
+ case 0:
275
+ autoAdjunct = new _autoAdjunct.AutoAdjunctModel(getAutoAdjunctJSON());
276
+ options = {
277
+ index: 3,
278
+ deckversionID: 12,
279
+ deckTags: {
280
+ "test-deck/autoadjunct-three": ["autoadjunct-tags"]
281
+ }
282
+ };
283
+ presentationSlide = _presentationSlide.PresentationSlide.createFromAutoAdjunct(autoAdjunct, options);
284
+ expect(presentationSlide.tags).toEqual(["autoadjunct-tags"]);
285
+
286
+ case 4:
287
+ case "end":
288
+ return _context6.stop();
289
+ }
290
+ }
291
+ }, _callee6);
292
+ })));
293
+ });
294
+ //# sourceMappingURL=presentation-slide.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/presentation/presentation-slide.spec.js"],"names":["describe","getSlideJSON","created_date","description","enabled","id","image_128","image_256","image_512","index_asset","data","modified_date","orig_path","pack","url","key","namespaced_key","section","sequence","subslide_set","tags","title","it","slide","SlideModel","presentationSlide","PresentationSlide","createFromSlide","expected","adjunctID","autoAdjunctID","createdByAutoAdjunct","createdByTemplate","css","custom","editable","html","index","selectionID","subslides","templateID","thumbnail","visible","expect","toJSON","toEqual","options","deckTags","getAdjunctSlideJSON","adjunct","appointment","created_by_autoadjunct","creator_autoadjunct","deleted","html_content","image_1024","image_original","template","adjunctSlide","AdjunctSlideModel","createFromAdjunctSlide","image","temporary","getAutoAdjunctJSON","after_key","deck","name","parent_key","team","autoAdjunct","AutoAdjunctModel","deckversionID","createFromAutoAdjunct"],"mappings":"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","sourcesContent":["import { AdjunctSlideModel } from \"../models/adjunct-slide\";\nimport { AutoAdjunctModel } from \"../models/auto-adjunct\";\nimport { PresentationSlide } from \"./presentation-slide\";\nimport { SlideModel } from \"../models/slide\";\n\ndescribe(\"#createFromSlide\", () => {\n\tconst getSlideJSON = () => {\n\t\treturn {\n\t\t\tcreated_date: \"2021-07-22T04:57:56.484060Z\",\n\t\t\tdescription: \"\",\n\t\t\tenabled: true,\n\t\t\tid: 23219,\n\t\t\timage_128: null,\n\t\t\timage_256: null,\n\t\t\timage_512: null,\n\t\t\tindex_asset: {\n\t\t\t\tcreated_date: \"2021-07-22T04:57:32.977770Z\",\n\t\t\t\tdata: \"sections/test-deck/slides/slide-key/index.html\",\n\t\t\t\tid: 148204,\n\t\t\t\tmodified_date: \"2021-07-22T04:57:32.977790Z\",\n\t\t\t\torig_path: \"sections/test-deck/slides/slide-key\",\n\t\t\t\tpack: \"https://staging-test.salespreso.com/api/packs/410/\",\n\t\t\t\turl: \"https://staging-test-cdn.salespreso.com/media/pack/410/assets/sections/test-deck/slides/slide-key/index.html\",\n\t\t\t},\n\t\t\tkey: \"slide-key\",\n\t\t\tmodified_date: \"2021-07-22T05:03:07.778106Z\",\n\t\t\tnamespaced_key: \"test-deck/slide-key\",\n\t\t\tsection: \"https://staging-test.salespreso.com/api/sections/1738/\",\n\t\t\tsequence: 13,\n\t\t\tsubslide_set: [],\n\t\t\ttags: [],\n\t\t\ttitle: \"Digital Transformation\",\n\t\t\turl: \"https://staging-test.salespreso.com/api/slides/23219/\",\n\t\t};\n\t};\n\n\tit(\"should create a presentation slide\", async () => {\n\t\tconst slide = new SlideModel(getSlideJSON());\n\t\tconst presentationSlide = PresentationSlide.createFromSlide(slide);\n\n\t\tconst expected = {\n\t\t\tadjunctID: null,\n\t\t\tautoAdjunctID: null,\n\t\t\tcreatedByAutoAdjunct: false,\n\t\t\tcreatedByTemplate: false,\n\t\t\tcss: \"https://staging-test-cdn.salespreso.com/media/pack/410/assets/sections/test-deck/slides/slide-key/slide.css\",\n\t\t\tcustom: false,\n\t\t\teditable: false,\n\t\t\thtml: \"https://staging-test-cdn.salespreso.com/media/pack/410/assets/sections/test-deck/slides/slide-key/index.html\",\n\t\t\tid: 23219,\n\t\t\tindex: 13,\n\t\t\tkey: \"slide-key\",\n\t\t\tsection: 1738,\n\t\t\tselectionID: null,\n\t\t\tsequence: 13,\n\t\t\tsubslides: [],\n\t\t\ttags: [],\n\t\t\ttemplateID: null,\n\t\t\tthumbnail: null,\n\t\t\ttitle: \"Digital Transformation\",\n\t\t\turl: \"/api/slides/23219/\",\n\t\t\tvisible: true,\n\t\t};\n\n\t\texpect(presentationSlide.toJSON()).toEqual(expected);\n\t});\n\n\tit(\"should use deckTags when available\", async () => {\n\t\tconst slide = new SlideModel(getSlideJSON());\n\t\tconst options = {\n\t\t\tdeckTags: { \"test-deck/slide-key\": [\"slide-tag\"] },\n\t\t};\n\n\t\tconst presentationSlide = PresentationSlide.createFromSlide(slide, options);\n\n\t\texpect(presentationSlide.tags).toEqual([\"slide-tag\"]);\n\t});\n});\n\ndescribe(\"#createFromAdjunctSlide\", () => {\n\tconst getAdjunctSlideJSON = () => {\n\t\treturn {\n\t\t\tadjunct: \"https://staging-test.salespreso.com/api/adjuncts/7457/\",\n\t\t\tappointment: \"https://staging-test.salespreso.com/api/appointments/2426/\",\n\t\t\tcreated_by_autoadjunct: true,\n\t\t\tcreated_date: \"2021-09-20T05:34:45.267698Z\",\n\t\t\tcreator_autoadjunct:\n\t\t\t\t\"https://staging-test.salespreso.com/api/autoadjuncts/541/\",\n\t\t\tdeleted: false,\n\t\t\tenabled: true,\n\t\t\thtml_content:\n\t\t\t\t'<img src=\"https://staging-test-cdn.salespreso.com/media/autoadjunct/123.png\">',\n\t\t\tid: 10529,\n\t\t\timage_128:\n\t\t\t\t\"https://staging-test-cdn.salespreso.com/media/CACHE/images/autoadjunct/123/456.jpg\",\n\t\t\timage_256:\n\t\t\t\t\"https://staging-test-cdn.salespreso.com/media/CACHE/images/autoadjunct/123/456.jpg\",\n\t\t\timage_512:\n\t\t\t\t\"https://staging-test-cdn.salespreso.com/media/CACHE/images/autoadjunct/123/456.jpg\",\n\t\t\timage_1024:\n\t\t\t\t\"https://staging-test-cdn.salespreso.com/media/CACHE/images/autoadjunct/123/456.png\",\n\t\t\timage_original:\n\t\t\t\t\"https://staging-test-cdn.salespreso.com/media/autoadjunct/123.png\",\n\t\t\tmodified_date: \"2021-09-20T05:34:45.267703Z\",\n\t\t\tsection: \"https://staging-test.salespreso.com/api/sections/1755/\",\n\t\t\tsequence: 3,\n\t\t\ttags: [],\n\t\t\ttemplate: null,\n\t\t\ttitle: \"Six\",\n\t\t\turl: \"https://staging-test.salespreso.com/api/adjunctslides/10529/\",\n\t\t};\n\t};\n\n\tit(\"should create a presentation slide\", async () => {\n\t\tconst adjunctSlide = new AdjunctSlideModel(getAdjunctSlideJSON());\n\t\tconst presentationSlide =\n\t\t\tPresentationSlide.createFromAdjunctSlide(adjunctSlide);\n\n\t\tconst expected = {\n\t\t\tadjunct: {\n\t\t\t\turl: \"https://staging-test.salespreso.com/api/adjuncts/7457/\",\n\t\t\t},\n\t\t\tadjunctID: 10529,\n\t\t\tautoAdjunctID: 541,\n\t\t\tcreatedByAutoAdjunct: true,\n\t\t\tcreatedByTemplate: false,\n\t\t\tcustom: false,\n\t\t\tid: 1,\n\t\t\timage:\n\t\t\t\t\"https://staging-test-cdn.salespreso.com/media/autoadjunct/123.png\",\n\t\t\tindex: 3,\n\t\t\tkey: \"adjunct-10529\",\n\t\t\tsection: null,\n\t\t\tsequence: 3,\n\t\t\tsubslides: [],\n\t\t\ttags: [],\n\t\t\ttemplateID: null,\n\t\t\ttemporary: true,\n\t\t\tthumbnail:\n\t\t\t\t\"https://staging-test-cdn.salespreso.com/media/CACHE/images/autoadjunct/123/456.jpg\",\n\t\t\ttitle: \"Six\",\n\t\t\turl: \"/api/adjunctslides/10529/\",\n\t\t\tvisible: true,\n\t\t};\n\n\t\texpect(presentationSlide.toJSON()).toEqual(expected);\n\t});\n\n\tit(\"should use deckTags when available\", async () => {\n\t\tconst adjunctSlide = new AdjunctSlideModel(getAdjunctSlideJSON());\n\t\tconst options = {\n\t\t\tdeckTags: { \"test-deck/adjunct-10529\": [\"adjunctslide-tag\"] },\n\t\t};\n\n\t\tconst presentationSlide = PresentationSlide.createFromAdjunctSlide(\n\t\t\tadjunctSlide,\n\t\t\tnull,\n\t\t\toptions\n\t\t);\n\n\t\texpect(presentationSlide.tags).toEqual([\"adjunctslide-tag\"]);\n\t});\n});\n\ndescribe(\"#createFromAutoAdjunct\", () => {\n\tconst getAutoAdjunctJSON = () => {\n\t\treturn {\n\t\t\tafter_key: \"test-deck/industry_insights\",\n\t\t\tcreated_date: \"2021-08-02T00:28:41.992805Z\",\n\t\t\tdeck: \"https://staging-test.salespreso.com/api/decks/4/\",\n\t\t\tenabled: true,\n\t\t\tid: 525,\n\t\t\timage_128:\n\t\t\t\t\"https://staging-test-cdn.salespreso.com/media/CACHE/images/autoadjunct/123/456.jpg\",\n\t\t\timage_256:\n\t\t\t\t\"https://staging-test-cdn.salespreso.com/media/CACHE/images/autoadjunct/123/456.jpg\",\n\t\t\timage_512:\n\t\t\t\t\"https://staging-test-cdn.salespreso.com/media/CACHE/images/autoadjunct/123/456.jpg\",\n\t\t\timage_1024:\n\t\t\t\t\"https://staging-test-cdn.salespreso.com/media/CACHE/images/autoadjunct/123/456.png\",\n\t\t\timage_original:\n\t\t\t\t\"https://staging-test-cdn.salespreso.com/media/autoadjunct/123.png\",\n\t\t\tkey: \"autoadjunct-three\",\n\t\t\tmodified_date: \"2021-09-15T05:52:49.234837Z\",\n\t\t\tname: \"Three\",\n\t\t\tparent_key: \"test-deck\",\n\t\t\tsequence: 4,\n\t\t\ttags: [],\n\t\t\tteam: null,\n\t\t\ttemplate: null,\n\t\t\turl: \"https://staging-test.salespreso.com/api/autoadjuncts/525/\",\n\t\t};\n\t};\n\n\tit(\"should create a presentation slide\", async () => {\n\t\tconst autoAdjunct = new AutoAdjunctModel(getAutoAdjunctJSON());\n\t\tconst options = {\n\t\t\tindex: 3,\n\t\t\tdeckversionID: 12,\n\t\t};\n\n\t\tconst presentationSlide = PresentationSlide.createFromAutoAdjunct(\n\t\t\tautoAdjunct,\n\t\t\toptions\n\t\t);\n\n\t\tconst expected = {\n\t\t\tadjunctID: 525,\n\t\t\tautoAdjunctID: 525,\n\t\t\tcreatedByAutoAdjunct: false,\n\t\t\tcreatedByTemplate: false,\n\t\t\tcss: \"\",\n\t\t\thtml: \"\",\n\t\t\tid: 525,\n\t\t\timage:\n\t\t\t\t\"https://staging-test-cdn.salespreso.com/media/autoadjunct/123.png\",\n\t\t\tindex: 3,\n\t\t\tkey: \"autoadjunct-three\",\n\t\t\tsequence: 3,\n\t\t\tsubslides: [],\n\t\t\ttags: [],\n\t\t\ttemplateID: null,\n\t\t\ttemporary: true,\n\t\t\tthumbnail:\n\t\t\t\t\"https://staging-test-cdn.salespreso.com/media/CACHE/images/autoadjunct/123/456.jpg\",\n\t\t\ttitle: \"Three\",\n\t\t\turl: \"/api/adjunctslides/525/\",\n\t\t\tvisible: true,\n\t\t};\n\n\t\texpect(presentationSlide.toJSON()).toEqual(expected);\n\t});\n\n\tit(\"should use deckTags when available\", async () => {\n\t\tconst autoAdjunct = new AutoAdjunctModel(getAutoAdjunctJSON());\n\t\tconst options = {\n\t\t\tindex: 3,\n\t\t\tdeckversionID: 12,\n\t\t\tdeckTags: {\n\t\t\t\t\"test-deck/autoadjunct-three\": [\"autoadjunct-tags\"],\n\t\t\t},\n\t\t};\n\n\t\tconst presentationSlide = PresentationSlide.createFromAutoAdjunct(\n\t\t\tautoAdjunct,\n\t\t\toptions\n\t\t);\n\t\texpect(presentationSlide.tags).toEqual([\"autoadjunct-tags\"]);\n\t});\n});\n"],"file":"presentation-slide.spec.js"}
@@ -7,10 +7,10 @@ exports.PresentationSlideCollection = void 0;
7
7
 
8
8
  require("./presentation-slide.js");
9
9
 
10
- var _stateRegister = require("../state-register.js");
11
-
12
10
  var _basePresentationCollection = require("./base-presentation-collection.js");
13
11
 
12
+ var _stateRegister = require("../state-register.js");
13
+
14
14
  /**
15
15
  * @constructor
16
16
  * @alias presentation.PresentationSlideCollection
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/presentation/presentation-slides.js"],"names":["PresentationSlideCollection","BasePresentationCollection","extend","comparator","model"],"mappings":";;;;;;;AAAA;;AAEA;;AACA;;AAEA;;;;;;AAMO,IAAMA,2BAA2B,GAAGC,uDAA2BC,MAA3B;AAC1C;AAAwD;AACvDC,EAAAA,UAAU,EAAE,UAD2C;AAEvDC,EAAAA,KAAK,EAAE;AAFgD,CADd,CAApC;;;AAOP,6BAAS,6BAAT,EAAwCJ,2BAAxC","sourcesContent":["import \"./presentation-slide.js\";\n\nimport { register } from \"../state-register.js\";\nimport { BasePresentationCollection } from \"./base-presentation-collection.js\";\n\n/**\n * @constructor\n * @alias presentation.PresentationSlideCollection\n * @extends collections.BaseCollection\n * @see presentation.PresentationSlide\n */\nexport const PresentationSlideCollection = BasePresentationCollection.extend(\n\t/** @lends presentation.PresentationSlideCollection# */ {\n\t\tcomparator: \"sequence\",\n\t\tmodel: \"PresentationSlide\"\n\t}\n);\n\nregister(\"PresentationSlideCollection\", PresentationSlideCollection);\n"],"file":"presentation-slides.js"}
1
+ {"version":3,"sources":["../../src/presentation/presentation-slides.js"],"names":["PresentationSlideCollection","BasePresentationCollection","extend","comparator","model"],"mappings":";;;;;;;AAAA;;AAEA;;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMA,2BAA2B,GAAGC,uDAA2BC,MAA3B;AAC1C;AAAwD;AACvDC,EAAAA,UAAU,EAAE,UAD2C;AAEvDC,EAAAA,KAAK,EAAE;AAFgD,CADd,CAApC;;;AAOP,6BAAS,6BAAT,EAAwCJ,2BAAxC","sourcesContent":["import \"./presentation-slide.js\";\n\nimport { BasePresentationCollection } from \"./base-presentation-collection.js\";\nimport { register } from \"../state-register.js\";\n\n/**\n * @constructor\n * @alias presentation.PresentationSlideCollection\n * @extends collections.BaseCollection\n * @see presentation.PresentationSlide\n */\nexport const PresentationSlideCollection = BasePresentationCollection.extend(\n\t/** @lends presentation.PresentationSlideCollection# */ {\n\t\tcomparator: \"sequence\",\n\t\tmodel: \"PresentationSlide\",\n\t}\n);\n\nregister(\"PresentationSlideCollection\", PresentationSlideCollection);\n"],"file":"presentation-slides.js"}
@@ -7,14 +7,14 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.PresentationSubSlide = void 0;
9
9
 
10
- var _lodash = _interopRequireDefault(require("lodash"));
11
-
12
10
  var _models = require("../models.js");
13
11
 
14
- var _stateRegister = require("../state-register.js");
15
-
16
12
  var _basePresentationModel = require("./base-presentation-model.js");
17
13
 
14
+ var _lodash = _interopRequireDefault(require("lodash"));
15
+
16
+ var _stateRegister = require("../state-register.js");
17
+
18
18
  /**
19
19
  * @constructor
20
20
  * @alias presentation.PresentationSubSlide
@@ -98,6 +98,7 @@ PresentationSubSlide.createFromSubSlide = function (subSlideModel) {
98
98
  });
99
99
 
100
100
  var config = PresentationSubSlide.getVisibilityAndSequence(subSlideModel, options);
101
+ var tags = PresentationSubSlide.getTags(subSlideModel, options);
101
102
  var subslide = new PresentationSubSlide({
102
103
  id: subSlideModel.id,
103
104
  adjunctID: null,
@@ -106,7 +107,7 @@ PresentationSubSlide.createFromSubSlide = function (subSlideModel) {
106
107
  custom: false,
107
108
  title: subSlideModel.title,
108
109
  slide: subSlideModel.slide.id,
109
- tags: subSlideModel.tags,
110
+ tags: tags,
110
111
  index: config.sequence,
111
112
  sequence: config.sequence,
112
113
  visible: config.visible
@@ -135,18 +136,21 @@ PresentationSubSlide.createFromAdjunctSubSlide = function (adjunctSubSlideModel,
135
136
  }
136
137
  });
137
138
 
139
+ var key = "adjunct-".concat(adjunctSubSlideModel.id);
140
+ adjunctSubSlideModel.key = key;
138
141
  var config = PresentationSubSlide.getVisibilityAndSequence(adjunctSubSlideModel, options);
142
+ var tags = PresentationSubSlide.getTags(adjunctSubSlideModel, options);
139
143
  var subslide = new PresentationSubSlide({
140
144
  id: options.id || options.getUniqueAdjunctID(),
141
145
  adjunct: adjunctSubSlideModel.adjunct ? adjunctSubSlideModel.adjunct.url() : null,
142
146
  adjunctID: adjunctSubSlideModel.id,
143
147
  html_content: adjunctSubSlideModel.html_content,
144
- key: "adjunct-".concat(adjunctSubSlideModel.id),
148
+ key: key,
145
149
  image: adjunctSubSlideModel.image_256,
146
150
  custom: true,
147
151
  title: adjunctSubSlideModel.title,
148
152
  slide: slideModel.id,
149
- tags: adjunctSubSlideModel.tags,
153
+ tags: tags,
150
154
  index: config.sequence,
151
155
  sequence: config.sequence,
152
156
  visible: config.visible
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/presentation/presentation-subslide.js"],"names":["PresentationSubSlide","BasePresentationModel","extend","props","id","adjunctID","createdFromSlide","html_content","index","key","sequence","custom","visible","title","slide","image","_orig_image","tags","children","adjunct","url","_url","_","isNumber","AdjunctSubSlideModel","SubSlideModel","createFromSubSlide","subSlideModel","options","defaults","selections","choicelist","config","getVisibilityAndSequence","subslide","image_256","createFromAdjunctSubSlide","adjunctSubSlideModel","slideModel","getUniqueAdjunctID","parseInt","uniqueId","createFromSlide"],"mappings":"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","sourcesContent":["import _ from \"lodash\";\n\nimport { AdjunctSubSlideModel, SubSlideModel } from \"../models.js\";\nimport { register } from \"../state-register.js\";\nimport { BasePresentationModel } from \"./base-presentation-model.js\";\n\n/**\n * @constructor\n * @alias presentation.PresentationSubSlide\n * @extends presentation.BasePresentationModel\n */\nexport const PresentationSubSlide = BasePresentationModel.extend(\n\t/** @lends presentation.PresentationSubSlide# */ {\n\t\t/**\n\t\t * @property {number} id\n\t\t * @property {number} adjunctID\n\t\t * @property {boolean} createdFromSlide\n\t\t * @property {string} html_content\n\t\t * @property {number} index\n\t\t * @property {string} key\n\t\t * @property {number} sequence\n\t\t * @property {boolean} custom\n\t\t * @property {boolean} visible\n\t\t * @property {string} title\n\t\t * @property {number} slide\n\t\t * @property {string} image\n\t\t * @property {string} _orig_image\n\t\t * @property {array} tags\n\t\t */\n\t\tprops: {\n\t\t\tid: \"number\",\n\t\t\tadjunctID: \"number\",\n\t\t\tcreatedFromSlide: \"boolean\",\n\t\t\thtml_content: \"string\",\n\t\t\tindex: \"number\",\n\t\t\tkey: \"string\",\n\t\t\tsequence: \"number\",\n\t\t\tcustom: \"boolean\",\n\t\t\tvisible: \"boolean\",\n\t\t\ttitle: \"string\",\n\t\t\tslide: \"number\",\n\t\t\timage: \"string\",\n\t\t\t_orig_image: \"string\",\n\t\t\ttags: \"array\"\n\t\t},\n\n\t\t/**\n\t\t * @property {models.AdjunctModel} adjunct\n\t\t */\n\t\tchildren: {\n\t\t\tadjunct: \"AdjunctModel\"\n\t\t},\n\n\t\turl() {\n\t\t\tif (!this._url) {\n\t\t\t\tif (_.isNumber(this.adjunctID)) {\n\t\t\t\t\tthis._url = new AdjunctSubSlideModel({ id: this.adjunctID }).url();\n\t\t\t\t} else {\n\t\t\t\t\tthis._url = new SubSlideModel({ id: this.id }).url();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn this._url;\n\t\t}\n\t}\n);\n\n/**\n * @function createFromSubSlide\n * @memberof presentation.PresentationSubSlide\n * @param {models.SubSlideModel} subSlideModel\n * @param {object} [options]\n * @returns {presentation.PresentationSubSlide}\n */\nPresentationSubSlide.createFromSubSlide = function(\n\tsubSlideModel,\n\toptions = {}\n) {\n\t_.defaults(options, {\n\t\tselections: null,\n\t\tchoicelist: null\n\t});\n\n\tconst config = PresentationSubSlide.getVisibilityAndSequence(\n\t\tsubSlideModel,\n\t\toptions\n\t);\n\n\tconst subslide = new PresentationSubSlide({\n\t\tid: subSlideModel.id,\n\t\tadjunctID: null,\n\t\tkey: subSlideModel.key,\n\t\timage: subSlideModel.image_256,\n\t\tcustom: false,\n\t\ttitle: subSlideModel.title,\n\t\tslide: subSlideModel.slide.id,\n\t\ttags: subSlideModel.tags,\n\t\tindex: config.sequence,\n\t\tsequence: config.sequence,\n\t\tvisible: config.visible\n\t});\n\n\treturn subslide;\n};\n\n/**\n * @function createFromAdjunctSubSlide\n * @memberof presentation.PresentationSubSlide\n * @param {models.AdjunctSubSlideModel} adjunctSubSlideModel\n * @param {models.SlideModel} slideModel\n * @param {object} [options]\n * @returns {presentation.PresentationSubSlide}\n */\nPresentationSubSlide.createFromAdjunctSubSlide = function(\n\tadjunctSubSlideModel,\n\tslideModel,\n\toptions = {}\n) {\n\t_.defaults(options, {\n\t\tid: null,\n\t\tselections: null,\n\t\tchoicelist: null,\n\t\tgetUniqueAdjunctID: () => {\n\t\t\treturn parseInt(_.uniqueId(), 10);\n\t\t}\n\t});\n\n\tconst config = PresentationSubSlide.getVisibilityAndSequence(\n\t\tadjunctSubSlideModel,\n\t\toptions\n\t);\n\n\tconst subslide = new PresentationSubSlide({\n\t\tid: options.id || options.getUniqueAdjunctID(),\n\t\tadjunct: adjunctSubSlideModel.adjunct\n\t\t\t? adjunctSubSlideModel.adjunct.url()\n\t\t\t: null,\n\t\tadjunctID: adjunctSubSlideModel.id,\n\t\thtml_content: adjunctSubSlideModel.html_content,\n\t\tkey: `adjunct-${adjunctSubSlideModel.id}`,\n\t\timage: adjunctSubSlideModel.image_256,\n\t\tcustom: true,\n\t\ttitle: adjunctSubSlideModel.title,\n\t\tslide: slideModel.id,\n\t\ttags: adjunctSubSlideModel.tags,\n\t\tindex: config.sequence,\n\t\tsequence: config.sequence,\n\t\tvisible: config.visible\n\t});\n\n\treturn subslide;\n};\n\nPresentationSubSlide.createFromSlide = function(slide) {\n\tconst subslide = new PresentationSubSlide({\n\t\tid: slide.id,\n\t\tcreatedFromSlide: true,\n\t\tadjunctID: slide.adjunctID,\n\t\tindex: 0,\n\t\tkey: \"subslide-1\",\n\t\tsequence: 0,\n\t\tcustom: false,\n\t\tvisible: slide.visible,\n\t\ttitle: slide.title,\n\t\tslide: slide.id,\n\t\timage: slide.image,\n\t\ttags: slide.tags\n\t});\n\n\treturn subslide;\n};\n\nregister(\"PresentationSubSlide\", PresentationSubSlide);\n"],"file":"presentation-subslide.js"}
1
+ {"version":3,"sources":["../../src/presentation/presentation-subslide.js"],"names":["PresentationSubSlide","BasePresentationModel","extend","props","id","adjunctID","createdFromSlide","html_content","index","key","sequence","custom","visible","title","slide","image","_orig_image","tags","children","adjunct","url","_url","_","isNumber","AdjunctSubSlideModel","SubSlideModel","createFromSubSlide","subSlideModel","options","defaults","selections","choicelist","config","getVisibilityAndSequence","getTags","subslide","image_256","createFromAdjunctSubSlide","adjunctSubSlideModel","slideModel","getUniqueAdjunctID","parseInt","uniqueId","createFromSlide"],"mappings":"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","sourcesContent":["import { AdjunctSubSlideModel, SubSlideModel } from \"../models.js\";\n\nimport { BasePresentationModel } from \"./base-presentation-model.js\";\nimport _ from \"lodash\";\nimport { register } from \"../state-register.js\";\n\n/**\n * @constructor\n * @alias presentation.PresentationSubSlide\n * @extends presentation.BasePresentationModel\n */\nexport const PresentationSubSlide = BasePresentationModel.extend(\n\t/** @lends presentation.PresentationSubSlide# */ {\n\t\t/**\n\t\t * @property {number} id\n\t\t * @property {number} adjunctID\n\t\t * @property {boolean} createdFromSlide\n\t\t * @property {string} html_content\n\t\t * @property {number} index\n\t\t * @property {string} key\n\t\t * @property {number} sequence\n\t\t * @property {boolean} custom\n\t\t * @property {boolean} visible\n\t\t * @property {string} title\n\t\t * @property {number} slide\n\t\t * @property {string} image\n\t\t * @property {string} _orig_image\n\t\t * @property {array} tags\n\t\t */\n\t\tprops: {\n\t\t\tid: \"number\",\n\t\t\tadjunctID: \"number\",\n\t\t\tcreatedFromSlide: \"boolean\",\n\t\t\thtml_content: \"string\",\n\t\t\tindex: \"number\",\n\t\t\tkey: \"string\",\n\t\t\tsequence: \"number\",\n\t\t\tcustom: \"boolean\",\n\t\t\tvisible: \"boolean\",\n\t\t\ttitle: \"string\",\n\t\t\tslide: \"number\",\n\t\t\timage: \"string\",\n\t\t\t_orig_image: \"string\",\n\t\t\ttags: \"array\",\n\t\t},\n\n\t\t/**\n\t\t * @property {models.AdjunctModel} adjunct\n\t\t */\n\t\tchildren: {\n\t\t\tadjunct: \"AdjunctModel\",\n\t\t},\n\n\t\turl() {\n\t\t\tif (!this._url) {\n\t\t\t\tif (_.isNumber(this.adjunctID)) {\n\t\t\t\t\tthis._url = new AdjunctSubSlideModel({ id: this.adjunctID }).url();\n\t\t\t\t} else {\n\t\t\t\t\tthis._url = new SubSlideModel({ id: this.id }).url();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn this._url;\n\t\t},\n\t}\n);\n\n/**\n * @function createFromSubSlide\n * @memberof presentation.PresentationSubSlide\n * @param {models.SubSlideModel} subSlideModel\n * @param {object} [options]\n * @returns {presentation.PresentationSubSlide}\n */\nPresentationSubSlide.createFromSubSlide = function (\n\tsubSlideModel,\n\toptions = {}\n) {\n\t_.defaults(options, {\n\t\tselections: null,\n\t\tchoicelist: null,\n\t});\n\n\tconst config = PresentationSubSlide.getVisibilityAndSequence(\n\t\tsubSlideModel,\n\t\toptions\n\t);\n\n\tconst tags = PresentationSubSlide.getTags(subSlideModel, options);\n\n\tconst subslide = new PresentationSubSlide({\n\t\tid: subSlideModel.id,\n\t\tadjunctID: null,\n\t\tkey: subSlideModel.key,\n\t\timage: subSlideModel.image_256,\n\t\tcustom: false,\n\t\ttitle: subSlideModel.title,\n\t\tslide: subSlideModel.slide.id,\n\t\ttags,\n\t\tindex: config.sequence,\n\t\tsequence: config.sequence,\n\t\tvisible: config.visible,\n\t});\n\n\treturn subslide;\n};\n\n/**\n * @function createFromAdjunctSubSlide\n * @memberof presentation.PresentationSubSlide\n * @param {models.AdjunctSubSlideModel} adjunctSubSlideModel\n * @param {models.SlideModel} slideModel\n * @param {object} [options]\n * @returns {presentation.PresentationSubSlide}\n */\nPresentationSubSlide.createFromAdjunctSubSlide = function (\n\tadjunctSubSlideModel,\n\tslideModel,\n\toptions = {}\n) {\n\t_.defaults(options, {\n\t\tid: null,\n\t\tselections: null,\n\t\tchoicelist: null,\n\t\tgetUniqueAdjunctID: () => {\n\t\t\treturn parseInt(_.uniqueId(), 10);\n\t\t},\n\t});\n\n\tconst key = `adjunct-${adjunctSubSlideModel.id}`;\n\tadjunctSubSlideModel.key = key;\n\n\tconst config = PresentationSubSlide.getVisibilityAndSequence(\n\t\tadjunctSubSlideModel,\n\t\toptions\n\t);\n\n\tconst tags = PresentationSubSlide.getTags(adjunctSubSlideModel, options);\n\n\tconst subslide = new PresentationSubSlide({\n\t\tid: options.id || options.getUniqueAdjunctID(),\n\t\tadjunct: adjunctSubSlideModel.adjunct\n\t\t\t? adjunctSubSlideModel.adjunct.url()\n\t\t\t: null,\n\t\tadjunctID: adjunctSubSlideModel.id,\n\t\thtml_content: adjunctSubSlideModel.html_content,\n\t\tkey,\n\t\timage: adjunctSubSlideModel.image_256,\n\t\tcustom: true,\n\t\ttitle: adjunctSubSlideModel.title,\n\t\tslide: slideModel.id,\n\t\ttags,\n\t\tindex: config.sequence,\n\t\tsequence: config.sequence,\n\t\tvisible: config.visible,\n\t});\n\n\treturn subslide;\n};\n\nPresentationSubSlide.createFromSlide = function (slide) {\n\tconst subslide = new PresentationSubSlide({\n\t\tid: slide.id,\n\t\tcreatedFromSlide: true,\n\t\tadjunctID: slide.adjunctID,\n\t\tindex: 0,\n\t\tkey: \"subslide-1\",\n\t\tsequence: 0,\n\t\tcustom: false,\n\t\tvisible: slide.visible,\n\t\ttitle: slide.title,\n\t\tslide: slide.id,\n\t\timage: slide.image,\n\t\ttags: slide.tags,\n\t});\n\n\treturn subslide;\n};\n\nregister(\"PresentationSubSlide\", PresentationSubSlide);\n"],"file":"presentation-subslide.js"}