@livepreso/api 6.44.0 → 6.46.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 (502) hide show
  1. package/.eslintrc.js +3 -0
  2. package/.rush/temp/1aebf46f78ad5c45f82f8147751890adb37bef9d.log +10 -0
  3. package/.rush/temp/256021b5963b4c0221d3dec247b697b9691a9b2c.log +10 -0
  4. package/.rush/temp/2a322f00f12cf9d1e64afe81275cc78d01c49050.log +10 -0
  5. package/.rush/temp/30061f1865447dcbb3f20a305061205f3dbe6091.log +10 -0
  6. package/.rush/temp/3cdc82c352e8ed90607952873f3aa4c200490874.log +10 -0
  7. package/.rush/temp/45522aea0dee8cb2be1a53248ba45bd235743b43.log +10 -0
  8. package/.rush/temp/5489ab737e406518983c16c57fc3e1edc07c0341.log +10 -0
  9. package/.rush/temp/58fcbb7f15a76326d40e0839ab179755da82a891.log +10 -0
  10. package/.rush/temp/5bc0bba70b733baa4dd976667ba0a1386e516186.log +10 -0
  11. package/.rush/temp/64f1bb696f8d7d7e72907b80df316b127f72e23e.log +10 -0
  12. package/.rush/temp/6f640f951414ea68adb65c17e4ed7527cde54faf.log +10 -0
  13. package/.rush/temp/7c7b958682d4ab5697530be47d0aac62efe1adf1.log +10 -0
  14. package/.rush/temp/82bfb987463fbcfebf04022e6ed00015c73879c8.log +10 -0
  15. package/.rush/temp/844034aa6e542115075e8f3dc5ffc640973e0064.log +10 -0
  16. package/.rush/temp/8b42957a7c15da1f29cb57bee125f13affa70dca.log +10 -0
  17. package/.rush/temp/924652444ab5a6063f328a2217123a2227058896.log +10 -0
  18. package/.rush/temp/9f2030f96d62f3e38052e35201819a216566f14f.log +10 -0
  19. package/.rush/temp/a769db9d81a23000c0e9b1bf4f1a9a9e721d0d7c.log +10 -0
  20. package/.rush/temp/a87d3a8b4ece87ec66f27c86226a9f205617681f.log +10 -0
  21. package/.rush/temp/bb7a5bdcc4af4ad1507f81f33774b31f5b4e4fb7.log +10 -0
  22. package/.rush/temp/c20e29ccaaa9231b38a28bb24451b4ce7562cdc0.log +10 -0
  23. package/.rush/temp/e21303db8f59b4625fd184c9114377d781fd24f8.log +10 -0
  24. package/.rush/temp/e6d303862765b6a5f41dd483d0f9ae083a1fae10.log +10 -0
  25. package/.rush/temp/eaf69fbc059d2f1258d7569136180d4a1d3c7072.log +10 -0
  26. package/.rush/temp/f85d279e2674966daaec83e1c3986a96f86ef304.log +10 -0
  27. package/.rush/temp/fc0a332c5b34c6b90006850cf2d93a48fb4b9a6e.log +10 -0
  28. package/.rush/temp/operation/test/all.log +19 -0
  29. package/.rush/temp/operation/test/state.json +3 -0
  30. package/.rush/temp/{package-deps_test.json → package-deps_build.json} +11 -11
  31. package/.rush/temp/shrinkwrap-deps.json +605 -597
  32. package/CHANGELOG.json +29 -0
  33. package/CHANGELOG.md +15 -1
  34. package/README.md +4 -4
  35. package/api.build.log +1 -1
  36. package/api.test.cache.log +1 -0
  37. package/api.test.log +19 -0
  38. package/bin/test.sh +0 -1
  39. package/cjs/api.js +18 -17
  40. package/cjs/api.js.map +1 -1
  41. package/cjs/api.spec.js +0 -4
  42. package/cjs/api.spec.js.map +1 -1
  43. package/cjs/auth.js +35 -36
  44. package/cjs/auth.js.map +1 -1
  45. package/cjs/auth.spec.js +52 -71
  46. package/cjs/auth.spec.js.map +1 -1
  47. package/cjs/caching.js +2 -7
  48. package/cjs/caching.js.map +1 -1
  49. package/cjs/collections/activity.js +16 -56
  50. package/cjs/collections/activity.js.map +1 -1
  51. package/cjs/collections/adjunct-sections.js +1 -10
  52. package/cjs/collections/adjunct-sections.js.map +1 -1
  53. package/cjs/collections/adjunct-slides.js +1 -10
  54. package/cjs/collections/adjunct-slides.js.map +1 -1
  55. package/cjs/collections/adjunct-sub-slides.js +1 -9
  56. package/cjs/collections/adjunct-sub-slides.js.map +1 -1
  57. package/cjs/collections/appointment-adjunct-tags.js +1 -9
  58. package/cjs/collections/appointment-adjunct-tags.js.map +1 -1
  59. package/cjs/collections/appointment-deckversion-tags.js +1 -9
  60. package/cjs/collections/appointment-deckversion-tags.js.map +1 -1
  61. package/cjs/collections/appointment-duplicates.js +1 -9
  62. package/cjs/collections/appointment-duplicates.js.map +1 -1
  63. package/cjs/collections/appointment-editors.js +1 -10
  64. package/cjs/collections/appointment-editors.js.map +1 -1
  65. package/cjs/collections/appointment-section-tags.js +1 -9
  66. package/cjs/collections/appointment-section-tags.js.map +1 -1
  67. package/cjs/collections/appointment-slide-tags.js +1 -9
  68. package/cjs/collections/appointment-slide-tags.js.map +1 -1
  69. package/cjs/collections/appointment-tags.js +66 -103
  70. package/cjs/collections/appointment-tags.js.map +1 -1
  71. package/cjs/collections/appointment-templates.js +27 -0
  72. package/cjs/collections/appointment-templates.js.map +1 -0
  73. package/cjs/collections/appointments.js +9 -29
  74. package/cjs/collections/appointments.js.map +1 -1
  75. package/cjs/collections/assets.js +1 -9
  76. package/cjs/collections/assets.js.map +1 -1
  77. package/cjs/collections/auto-adjuncts.js +6 -21
  78. package/cjs/collections/auto-adjuncts.js.map +1 -1
  79. package/cjs/collections/base.js +46 -112
  80. package/cjs/collections/base.js.map +1 -1
  81. package/cjs/collections/base.spec.js +204 -233
  82. package/cjs/collections/base.spec.js.map +1 -1
  83. package/cjs/collections/cms-vals.js +9 -16
  84. package/cjs/collections/cms-vals.js.map +1 -1
  85. package/cjs/collections/contact-phones.js +20 -0
  86. package/cjs/collections/contact-phones.js.map +1 -0
  87. package/cjs/collections/contacts.js +1 -9
  88. package/cjs/collections/contacts.js.map +1 -1
  89. package/cjs/collections/created-assets.js +1 -10
  90. package/cjs/collections/created-assets.js.map +1 -1
  91. package/cjs/collections/customers.js +1 -9
  92. package/cjs/collections/customers.js.map +1 -1
  93. package/cjs/collections/deck-notes.js +1 -10
  94. package/cjs/collections/deck-notes.js.map +1 -1
  95. package/cjs/collections/deck-version-screenshots.js +49 -0
  96. package/cjs/collections/deck-version-screenshots.js.map +1 -0
  97. package/cjs/collections/deck-versions.js +5 -20
  98. package/cjs/collections/deck-versions.js.map +1 -1
  99. package/cjs/collections/decks.js +1 -9
  100. package/cjs/collections/decks.js.map +1 -1
  101. package/cjs/collections/deleted-assets.js +1 -10
  102. package/cjs/collections/deleted-assets.js.map +1 -1
  103. package/cjs/collections/dispatches.js +1 -13
  104. package/cjs/collections/dispatches.js.map +1 -1
  105. package/cjs/collections/event-objects.js +1 -9
  106. package/cjs/collections/event-objects.js.map +1 -1
  107. package/cjs/collections/events.js +1 -9
  108. package/cjs/collections/events.js.map +1 -1
  109. package/cjs/collections/groups.js +1 -9
  110. package/cjs/collections/groups.js.map +1 -1
  111. package/cjs/collections/images.js +1 -9
  112. package/cjs/collections/images.js.map +1 -1
  113. package/cjs/collections/locations.js +1 -9
  114. package/cjs/collections/locations.js.map +1 -1
  115. package/cjs/collections/opportunities.js +1 -9
  116. package/cjs/collections/opportunities.js.map +1 -1
  117. package/cjs/collections/pack-diffs.js +1 -9
  118. package/cjs/collections/pack-diffs.js.map +1 -1
  119. package/cjs/collections/packs.js +1 -9
  120. package/cjs/collections/packs.js.map +1 -1
  121. package/cjs/collections/presets.js +1 -9
  122. package/cjs/collections/presets.js.map +1 -1
  123. package/cjs/collections/section-selections.js +1 -9
  124. package/cjs/collections/section-selections.js.map +1 -1
  125. package/cjs/collections/sections.js +1 -9
  126. package/cjs/collections/sections.js.map +1 -1
  127. package/cjs/collections/slide-selections.js +1 -9
  128. package/cjs/collections/slide-selections.js.map +1 -1
  129. package/cjs/collections/slides.js +1 -9
  130. package/cjs/collections/slides.js.map +1 -1
  131. package/cjs/collections/snapshots.js +1 -9
  132. package/cjs/collections/snapshots.js.map +1 -1
  133. package/cjs/collections/sub-slides.js +1 -9
  134. package/cjs/collections/sub-slides.js.map +1 -1
  135. package/cjs/collections/tags.js +1 -9
  136. package/cjs/collections/tags.js.map +1 -1
  137. package/cjs/collections/teams.js +1 -9
  138. package/cjs/collections/teams.js.map +1 -1
  139. package/cjs/collections/templates.js +1 -9
  140. package/cjs/collections/templates.js.map +1 -1
  141. package/cjs/collections/uploads.js +1 -9
  142. package/cjs/collections/uploads.js.map +1 -1
  143. package/cjs/collections/users.js +1 -9
  144. package/cjs/collections/users.js.map +1 -1
  145. package/cjs/collections.js +33 -86
  146. package/cjs/collections.js.map +1 -1
  147. package/cjs/fixtures.js +187 -0
  148. package/cjs/fixtures.js.map +1 -0
  149. package/cjs/index.js +0 -10
  150. package/cjs/index.js.map +1 -1
  151. package/cjs/log.js +0 -1
  152. package/cjs/log.js.map +1 -1
  153. package/cjs/middleware.js +2 -7
  154. package/cjs/middleware.js.map +1 -1
  155. package/cjs/middlewares/auth.js +1 -17
  156. package/cjs/middlewares/auth.js.map +1 -1
  157. package/cjs/middlewares/base.js +3 -9
  158. package/cjs/middlewares/base.js.map +1 -1
  159. package/cjs/middlewares/json.js +1 -19
  160. package/cjs/middlewares/json.js.map +1 -1
  161. package/cjs/middlewares/redirect.js +5 -21
  162. package/cjs/middlewares/redirect.js.map +1 -1
  163. package/cjs/models/activity-item.js +6 -20
  164. package/cjs/models/activity-item.js.map +1 -1
  165. package/cjs/models/adjunct-section.js +8 -21
  166. package/cjs/models/adjunct-section.js.map +1 -1
  167. package/cjs/models/adjunct-slide.js +8 -21
  168. package/cjs/models/adjunct-slide.js.map +1 -1
  169. package/cjs/models/adjunct-sub-slide.js +1 -16
  170. package/cjs/models/adjunct-sub-slide.js.map +1 -1
  171. package/cjs/models/adjunct.js +34 -10
  172. package/cjs/models/adjunct.js.map +1 -1
  173. package/cjs/models/api.js +1 -6
  174. package/cjs/models/api.js.map +1 -1
  175. package/cjs/models/appointment-adjunct-tags.js +1 -13
  176. package/cjs/models/appointment-adjunct-tags.js.map +1 -1
  177. package/cjs/models/appointment-deckversion-tags.js +1 -13
  178. package/cjs/models/appointment-deckversion-tags.js.map +1 -1
  179. package/cjs/models/appointment-duplicate.js +3 -25
  180. package/cjs/models/appointment-duplicate.js.map +1 -1
  181. package/cjs/models/appointment-editor.js +1 -14
  182. package/cjs/models/appointment-editor.js.map +1 -1
  183. package/cjs/models/appointment-section-tags.js +1 -13
  184. package/cjs/models/appointment-section-tags.js.map +1 -1
  185. package/cjs/models/appointment-slide-tags.js +1 -13
  186. package/cjs/models/appointment-slide-tags.js.map +1 -1
  187. package/cjs/models/appointment-stats.js +1 -11
  188. package/cjs/models/appointment-stats.js.map +1 -1
  189. package/cjs/models/appointment-tags.js +1 -10
  190. package/cjs/models/appointment-tags.js.map +1 -1
  191. package/cjs/models/appointment-template.js +23 -0
  192. package/cjs/models/appointment-template.js.map +1 -0
  193. package/cjs/models/appointment-viewing.js +1 -8
  194. package/cjs/models/appointment-viewing.js.map +1 -1
  195. package/cjs/models/appointment.js +94 -69
  196. package/cjs/models/appointment.js.map +1 -1
  197. package/cjs/models/asset.js +12 -11
  198. package/cjs/models/asset.js.map +1 -1
  199. package/cjs/models/auto-adjunct-key-check.js +1 -15
  200. package/cjs/models/auto-adjunct-key-check.js.map +1 -1
  201. package/cjs/models/auto-adjunct.js +5 -14
  202. package/cjs/models/auto-adjunct.js.map +1 -1
  203. package/cjs/models/base.js +89 -173
  204. package/cjs/models/base.js.map +1 -1
  205. package/cjs/models/base.spec.js +8 -30
  206. package/cjs/models/base.spec.js.map +1 -1
  207. package/cjs/models/choicelist.js +1 -8
  208. package/cjs/models/choicelist.js.map +1 -1
  209. package/cjs/models/cms-val.js +28 -15
  210. package/cjs/models/cms-val.js.map +1 -1
  211. package/cjs/models/cms-val.spec.js +25 -0
  212. package/cjs/models/cms-val.spec.js.map +1 -0
  213. package/cjs/models/contact-phone.js +54 -0
  214. package/cjs/models/contact-phone.js.map +1 -0
  215. package/cjs/models/contact.js +1 -18
  216. package/cjs/models/contact.js.map +1 -1
  217. package/cjs/models/customer.js +5 -30
  218. package/cjs/models/customer.js.map +1 -1
  219. package/cjs/models/deck-note.js +1 -9
  220. package/cjs/models/deck-note.js.map +1 -1
  221. package/cjs/models/deck-tags.js +1 -12
  222. package/cjs/models/deck-tags.js.map +1 -1
  223. package/cjs/models/deck-version-screenshot.js +47 -0
  224. package/cjs/models/deck-version-screenshot.js.map +1 -0
  225. package/cjs/models/deck-version.js +54 -47
  226. package/cjs/models/deck-version.js.map +1 -1
  227. package/cjs/models/deck.js +1 -14
  228. package/cjs/models/deck.js.map +1 -1
  229. package/cjs/models/dispatch-preview.js +1 -13
  230. package/cjs/models/dispatch-preview.js.map +1 -1
  231. package/cjs/models/dispatch.js +1 -23
  232. package/cjs/models/dispatch.js.map +1 -1
  233. package/cjs/models/envs.js +1 -6
  234. package/cjs/models/envs.js.map +1 -1
  235. package/cjs/models/event-object.js +1 -11
  236. package/cjs/models/event-object.js.map +1 -1
  237. package/cjs/models/event.js +1 -13
  238. package/cjs/models/event.js.map +1 -1
  239. package/cjs/models/feed-data.js +6 -13
  240. package/cjs/models/feed-data.js.map +1 -1
  241. package/cjs/models/file.js +1 -11
  242. package/cjs/models/file.js.map +1 -1
  243. package/cjs/models/group.js +1 -11
  244. package/cjs/models/group.js.map +1 -1
  245. package/cjs/models/handover.js +1 -13
  246. package/cjs/models/handover.js.map +1 -1
  247. package/cjs/models/hosted-preso.js +1 -15
  248. package/cjs/models/hosted-preso.js.map +1 -1
  249. package/cjs/models/image.js +30 -11
  250. package/cjs/models/image.js.map +1 -1
  251. package/cjs/models/location.js +1 -13
  252. package/cjs/models/location.js.map +1 -1
  253. package/cjs/models/manifest-json.js +75 -74
  254. package/cjs/models/manifest-json.js.map +1 -1
  255. package/cjs/models/onshare.js +1 -14
  256. package/cjs/models/onshare.js.map +1 -1
  257. package/cjs/models/opportunity.js +1 -14
  258. package/cjs/models/opportunity.js.map +1 -1
  259. package/cjs/models/pack-diff.js +1 -14
  260. package/cjs/models/pack-diff.js.map +1 -1
  261. package/cjs/models/pack.js +1 -12
  262. package/cjs/models/pack.js.map +1 -1
  263. package/cjs/models/preset.js +4 -20
  264. package/cjs/models/preset.js.map +1 -1
  265. package/cjs/models/refresh-request.js +17 -11
  266. package/cjs/models/refresh-request.js.map +1 -1
  267. package/cjs/models/room.js +1 -9
  268. package/cjs/models/room.js.map +1 -1
  269. package/cjs/models/salesforce-lookup.js +1 -12
  270. package/cjs/models/salesforce-lookup.js.map +1 -1
  271. package/cjs/models/section-selection.js +1 -14
  272. package/cjs/models/section-selection.js.map +1 -1
  273. package/cjs/models/section.js +4 -15
  274. package/cjs/models/section.js.map +1 -1
  275. package/cjs/models/slide-selection.js +1 -14
  276. package/cjs/models/slide-selection.js.map +1 -1
  277. package/cjs/models/slide.js +4 -15
  278. package/cjs/models/slide.js.map +1 -1
  279. package/cjs/models/snapshot.js +13 -15
  280. package/cjs/models/snapshot.js.map +1 -1
  281. package/cjs/models/snapshot.spec.js +44 -0
  282. package/cjs/models/snapshot.spec.js.map +1 -0
  283. package/cjs/models/sub-slide.js +1 -12
  284. package/cjs/models/sub-slide.js.map +1 -1
  285. package/cjs/models/support-ticket.js +1 -11
  286. package/cjs/models/support-ticket.js.map +1 -1
  287. package/cjs/models/tag.js +1 -13
  288. package/cjs/models/tag.js.map +1 -1
  289. package/cjs/models/team.js +14 -13
  290. package/cjs/models/team.js.map +1 -1
  291. package/cjs/models/template.js +89 -15
  292. package/cjs/models/template.js.map +1 -1
  293. package/cjs/models/tenancy.js +4 -11
  294. package/cjs/models/tenancy.js.map +1 -1
  295. package/cjs/models/timing-log.js +21 -78
  296. package/cjs/models/timing-log.js.map +1 -1
  297. package/cjs/models/timing-log.spec.js +24 -37
  298. package/cjs/models/timing-log.spec.js.map +1 -1
  299. package/cjs/models/token.js +46 -0
  300. package/cjs/models/token.js.map +1 -0
  301. package/cjs/models/transcribe-socket.js +1 -8
  302. package/cjs/models/transcribe-socket.js.map +1 -1
  303. package/cjs/models/upload.js +1 -7
  304. package/cjs/models/upload.js.map +1 -1
  305. package/cjs/models/user.js +11 -28
  306. package/cjs/models/user.js.map +1 -1
  307. package/cjs/models/user.spec.js +20 -30
  308. package/cjs/models/user.spec.js.map +1 -1
  309. package/cjs/models.js +44 -128
  310. package/cjs/models.js.map +1 -1
  311. package/cjs/presentation/appointment-presentation.js +14 -36
  312. package/cjs/presentation/appointment-presentation.js.map +1 -1
  313. package/cjs/presentation/base-presentation-collection.js +1 -7
  314. package/cjs/presentation/base-presentation-collection.js.map +1 -1
  315. package/cjs/presentation/base-presentation-model.js +108 -33
  316. package/cjs/presentation/base-presentation-model.js.map +1 -1
  317. package/cjs/presentation/base-presentation-model.spec.js +58 -23
  318. package/cjs/presentation/base-presentation-model.spec.js.map +1 -1
  319. package/cjs/presentation/presentation-deck.js +73 -83
  320. package/cjs/presentation/presentation-deck.js.map +1 -1
  321. package/cjs/presentation/presentation-deck.spec.js +118 -88
  322. package/cjs/presentation/presentation-deck.spec.js.map +1 -1
  323. package/cjs/presentation/presentation-decks.js +1 -9
  324. package/cjs/presentation/presentation-decks.js.map +1 -1
  325. package/cjs/presentation/presentation-section.js +70 -84
  326. package/cjs/presentation/presentation-section.js.map +1 -1
  327. package/cjs/presentation/presentation-section.spec.js +296 -238
  328. package/cjs/presentation/presentation-section.spec.js.map +1 -1
  329. package/cjs/presentation/presentation-sections.js +1 -9
  330. package/cjs/presentation/presentation-sections.js.map +1 -1
  331. package/cjs/presentation/presentation-slide.js +74 -84
  332. package/cjs/presentation/presentation-slide.js.map +1 -1
  333. package/cjs/presentation/presentation-slide.spec.js +211 -166
  334. package/cjs/presentation/presentation-slide.spec.js.map +1 -1
  335. package/cjs/presentation/presentation-slides.js +1 -9
  336. package/cjs/presentation/presentation-slides.js.map +1 -1
  337. package/cjs/presentation/presentation-subslide.js +3 -23
  338. package/cjs/presentation/presentation-subslide.js.map +1 -1
  339. package/cjs/presentation/presentation-subslide.spec.js +101 -125
  340. package/cjs/presentation/presentation-subslide.spec.js.map +1 -1
  341. package/cjs/presentation/presentation-subslides.js +1 -9
  342. package/cjs/presentation/presentation-subslides.js.map +1 -1
  343. package/cjs/presentation/presentation.js +87 -32
  344. package/cjs/presentation/presentation.js.map +1 -1
  345. package/cjs/presentation.js +0 -20
  346. package/cjs/presentation.js.map +1 -1
  347. package/cjs/selections.js +81 -0
  348. package/cjs/selections.js.map +1 -0
  349. package/cjs/state-register.js +3 -11
  350. package/cjs/state-register.js.map +1 -1
  351. package/cjs/sync.js +32 -76
  352. package/cjs/sync.js.map +1 -1
  353. package/cjs/utils.js +51 -42
  354. package/cjs/utils.js.map +1 -1
  355. package/cjs/utils.spec.js +0 -4
  356. package/cjs/utils.spec.js.map +1 -1
  357. package/jest.config.js +5 -3
  358. package/package.json +11 -8
  359. package/src/api.js +17 -2
  360. package/src/auth.js +45 -9
  361. package/src/auth.spec.js +2 -0
  362. package/src/collections/activity.js +4 -4
  363. package/src/collections/adjunct-sections.js +1 -1
  364. package/src/collections/adjunct-slides.js +1 -1
  365. package/src/collections/adjunct-sub-slides.js +1 -1
  366. package/src/collections/appointment-adjunct-tags.js +1 -1
  367. package/src/collections/appointment-deckversion-tags.js +2 -2
  368. package/src/collections/appointment-duplicates.js +1 -1
  369. package/src/collections/appointment-editors.js +1 -1
  370. package/src/collections/appointment-section-tags.js +1 -1
  371. package/src/collections/appointment-slide-tags.js +1 -1
  372. package/src/collections/appointment-tags.js +20 -18
  373. package/src/collections/appointment-templates.js +26 -0
  374. package/src/collections/appointments.js +9 -9
  375. package/src/collections/assets.js +1 -1
  376. package/src/collections/auto-adjuncts.js +1 -1
  377. package/src/collections/base.js +20 -10
  378. package/src/collections/base.spec.js +19 -5
  379. package/src/collections/cms-vals.js +5 -1
  380. package/src/collections/contact-phones.js +18 -0
  381. package/src/collections/contacts.js +1 -1
  382. package/src/collections/created-assets.js +1 -1
  383. package/src/collections/customers.js +1 -1
  384. package/src/collections/deck-notes.js +1 -1
  385. package/src/collections/deck-version-screenshots.js +48 -0
  386. package/src/collections/deck-versions.js +1 -1
  387. package/src/collections/decks.js +1 -1
  388. package/src/collections/deleted-assets.js +1 -1
  389. package/src/collections/dispatches.js +2 -2
  390. package/src/collections/event-objects.js +1 -1
  391. package/src/collections/events.js +1 -1
  392. package/src/collections/groups.js +1 -1
  393. package/src/collections/images.js +1 -1
  394. package/src/collections/locations.js +1 -1
  395. package/src/collections/opportunities.js +1 -1
  396. package/src/collections/pack-diffs.js +1 -1
  397. package/src/collections/packs.js +1 -1
  398. package/src/collections/presets.js +1 -1
  399. package/src/collections/section-selections.js +1 -1
  400. package/src/collections/sections.js +1 -1
  401. package/src/collections/slide-selections.js +1 -1
  402. package/src/collections/slides.js +1 -1
  403. package/src/collections/snapshots.js +1 -1
  404. package/src/collections/sub-slides.js +1 -1
  405. package/src/collections/tags.js +1 -1
  406. package/src/collections/teams.js +1 -1
  407. package/src/collections/templates.js +1 -1
  408. package/src/collections/uploads.js +1 -1
  409. package/src/collections/users.js +1 -1
  410. package/src/collections.js +3 -0
  411. package/src/fixtures.js +193 -0
  412. package/src/models/activity-item.js +3 -1
  413. package/src/models/adjunct-section.js +7 -2
  414. package/src/models/adjunct-slide.js +7 -2
  415. package/src/models/adjunct-sub-slide.js +1 -1
  416. package/src/models/adjunct.js +39 -1
  417. package/src/models/appointment-adjunct-tags.js +1 -1
  418. package/src/models/appointment-deckversion-tags.js +1 -1
  419. package/src/models/appointment-duplicate.js +1 -1
  420. package/src/models/appointment-editor.js +1 -1
  421. package/src/models/appointment-section-tags.js +1 -1
  422. package/src/models/appointment-slide-tags.js +1 -1
  423. package/src/models/appointment-stats.js +1 -1
  424. package/src/models/appointment-tags.js +1 -1
  425. package/src/models/appointment-template.js +19 -0
  426. package/src/models/appointment-viewing.js +1 -1
  427. package/src/models/appointment.js +112 -37
  428. package/src/models/asset.js +15 -1
  429. package/src/models/auto-adjunct-key-check.js +1 -1
  430. package/src/models/auto-adjunct.js +4 -1
  431. package/src/models/base.js +55 -22
  432. package/src/models/base.spec.js +34 -27
  433. package/src/models/choicelist.js +1 -1
  434. package/src/models/cms-val.js +24 -1
  435. package/src/models/cms-val.spec.js +14 -0
  436. package/src/models/contact-phone.js +57 -0
  437. package/src/models/contact.js +1 -1
  438. package/src/models/customer.js +3 -3
  439. package/src/models/deck-note.js +1 -1
  440. package/src/models/deck-tags.js +1 -1
  441. package/src/models/deck-version-screenshot.js +48 -0
  442. package/src/models/deck-version.js +60 -9
  443. package/src/models/deck.js +1 -1
  444. package/src/models/dispatch-preview.js +1 -1
  445. package/src/models/dispatch.js +1 -1
  446. package/src/models/event-object.js +1 -1
  447. package/src/models/event.js +1 -1
  448. package/src/models/feed-data.js +3 -1
  449. package/src/models/file.js +1 -1
  450. package/src/models/group.js +1 -1
  451. package/src/models/handover.js +1 -1
  452. package/src/models/hosted-preso.js +1 -1
  453. package/src/models/image.js +33 -1
  454. package/src/models/location.js +1 -1
  455. package/src/models/manifest-json.js +57 -6
  456. package/src/models/onshare.js +1 -1
  457. package/src/models/opportunity.js +1 -1
  458. package/src/models/pack-diff.js +1 -1
  459. package/src/models/pack.js +1 -1
  460. package/src/models/preset.js +3 -1
  461. package/src/models/refresh-request.js +15 -1
  462. package/src/models/room.js +1 -1
  463. package/src/models/salesforce-lookup.js +1 -1
  464. package/src/models/section-selection.js +1 -1
  465. package/src/models/section.js +3 -1
  466. package/src/models/slide-selection.js +1 -1
  467. package/src/models/slide.js +3 -1
  468. package/src/models/snapshot.js +11 -2
  469. package/src/models/snapshot.spec.js +31 -0
  470. package/src/models/sub-slide.js +1 -1
  471. package/src/models/support-ticket.js +1 -1
  472. package/src/models/tag.js +1 -1
  473. package/src/models/team.js +14 -3
  474. package/src/models/template.js +74 -2
  475. package/src/models/tenancy.js +4 -1
  476. package/src/models/timing-log.js +2 -2
  477. package/src/models/timing-log.spec.js +1 -1
  478. package/src/models/token.js +47 -0
  479. package/src/models/transcribe-socket.js +1 -1
  480. package/src/models/user.js +15 -2
  481. package/src/models.js +4 -0
  482. package/src/presentation/appointment-presentation.js +13 -5
  483. package/src/presentation/base-presentation-collection.js +1 -1
  484. package/src/presentation/base-presentation-model.js +88 -3
  485. package/src/presentation/base-presentation-model.spec.js +80 -3
  486. package/src/presentation/presentation-deck.js +65 -22
  487. package/src/presentation/presentation-deck.spec.js +55 -2
  488. package/src/presentation/presentation-decks.js +1 -1
  489. package/src/presentation/presentation-section.js +91 -31
  490. package/src/presentation/presentation-section.spec.js +142 -10
  491. package/src/presentation/presentation-sections.js +1 -1
  492. package/src/presentation/presentation-slide.js +69 -23
  493. package/src/presentation/presentation-slide.spec.js +105 -9
  494. package/src/presentation/presentation-slides.js +1 -1
  495. package/src/presentation/presentation-subslide.js +5 -5
  496. package/src/presentation/presentation-subslide.spec.js +3 -3
  497. package/src/presentation/presentation-subslides.js +1 -1
  498. package/src/presentation/presentation.js +27 -8
  499. package/src/selections.js +71 -0
  500. package/src/sync.js +1 -1
  501. package/src/utils.js +31 -8
  502. package/src/utils.spec.js +4 -4
@@ -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","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":"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","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"}
1
+ {"version":3,"file":"presentation-slide.js","names":["require","collections","_interopRequireWildcard","_models","_basePresentationModel","_presentationSubslide","_lodash","_interopRequireDefault","_index","_stateRegister","_url","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","PresentationSlide","exports","BasePresentationModel","extend","props","id","adjunctID","autoAdjunctID","type","templateID","createdByAutoAdjunct","createdByTemplate","html","css","index","key","sequence","custom","temporary","visible","title","section","image","_orig_image","thumbnail","selectionID","editable","tags","cmsvalkey_set","children","adjunct","template","subslides","url","_","isNumber","AdjunctSlideModel","SlideModel","createFromSlide","slideModel","options","undefined","defaults","adjunctSubSlides","AdjunctSubSlideCollection","screenshots","DeckVersionScreenshotCollection","rootAssetPath","selections","choicelist","getUniqueAdjunctID","parseInt","uniqueId","screenshotsToMap","assetRoot","getAssetRoot","index_asset","baseRoot","deckversion","slidePath","slice","concat","config","getVisibilityAndSequence","getTags","slide","getThumbnail","indexOf","add","subslide_set","map","model","PresentationSubSlide","createFromSubSlide","adjunctSubslides","maxID","max","pluck","createFromAdjunctSubSlide","createFromAdjunctSlide","adjunctSlideModel","_adjunctSlideModel$cr","_adjunctSlideModel$te","_adjunctSlideModel$te2","keyID","creator_autoadjunct","image_256","created_by_autoadjunct","Boolean","Error","origPath","orig_path","image_original","createFromManifestJSON","manifestJSON","sectionID","_key$split","split","_key$split2","_slicedToArray2","slideKey","titles","url2","resolve","getAssetPath","ordering","createFromManifestImpostor","presentationSlide","createFromTemplate","minID","Number","createFromAutoAdjunct","_autoAdjunct$template","opts","requiredKeys","_i","_requiredKeys","allowConvert","deckversionID","impostor","isAutoAdjunct","autoAdjunct","AutoAdjunctModel","autoAdjunctSlide","name","_autoAdjunctSlide$cms","missingKeys","find","k","startsWith","_toConsumableArray2","register"],"sources":["../../src/presentation/presentation-slide.js"],"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 * @property {string[]} cmsvalkey_set\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\tcmsvalkey_set: \"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\ttemplate: \"TemplateModel\",\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\tscreenshots: new collections.DeckVersionScreenshotCollection(),\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\toptions.screenshots = PresentationSlide.screenshotsToMap(options.screenshots);\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: PresentationSlide.getThumbnail(slideModel, options.screenshots),\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\tcmsvalkey_set: slideModel.cmsvalkey_set,\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\tscreenshots: new collections.DeckVersionScreenshotCollection(),\n\t});\n\n\toptions.screenshots = PresentationSlide.screenshotsToMap(options.screenshots);\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 autoAdjunctID = adjunctSlideModel.creator_autoadjunct?.id || null;\n\n\tconst slide = new PresentationSlide({\n\t\tid: options.id || options.getUniqueAdjunctID(),\n\t\tadjunct: adjunctSlideModel.adjunct,\n\t\tadjunctID: adjunctSlideModel.id,\n\t\tautoAdjunctID,\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\tcmsvalkey_set: adjunctSlideModel.template?.cmsvalkey_set || [],\n\t\ttemplateID: adjunctSlideModel.template?.id || null,\n\t\ttemplate: adjunctSlideModel.template || null,\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\n\t\tif (adjunctSlideModel.creator_autoadjunct) {\n\t\t\tslide.thumbnail = PresentationSlide.getThumbnail(\n\t\t\t\tadjunctSlideModel.creator_autoadjunct,\n\t\t\t\toptions.screenshots,\n\t\t\t);\n\t\t}\n\n\t\tif (!slide.thumbnail) {\n\t\t\tslide.thumbnail = adjunctSlideModel.template.image_256;\n\t\t}\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\tcmsvalkey_set: [],\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\tcmsvalkey_set: [],\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\tscreenshots: new collections.DeckVersionScreenshotCollection(),\n\t});\n\n\toptions.screenshots = PresentationSlide.screenshotsToMap(options.screenshots);\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?.id || null,\n\t\ttemplate: autoAdjunct.template || 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: PresentationSlide.getThumbnail(autoAdjunct, options.screenshots),\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\tcmsvalkey_set: autoAdjunct.cmsvalkey_set,\n\t});\n\n\tif (autoAdjunct.template) {\n\t\t// If we've found a new screenshot for it, we don't want to override it here\n\t\tif (!autoAdjunctSlide.thumbnail) {\n\t\t\tautoAdjunctSlide.thumbnail = autoAdjunct.template.image_256;\n\t\t}\n\t\tautoAdjunctSlide.createdByTemplate = true;\n\t\tautoAdjunctSlide.templateID = autoAdjunct.template.id;\n\t\tautoAdjunctSlide.html = autoAdjunct.template.index_asset.url();\n\t\t//\n\t\t// We've had some instances where the caching was returning the wrong data, and the\n\t\t// app was unable to recover when an autoadjunct was missing keys. So, check for missing\n\t\t// keys.\n\t\tconst missingKeys = autoAdjunct.template.cmsvalkey_set\n\t\t\t.filter((t) => {\n\t\t\t\treturn !autoAdjunctSlide.cmsvalkey_set.find((k) => k.startsWith(t));\n\t\t\t})\n\t\t\t.map((t) => {\n\t\t\t\treturn `${t}-autoadjunct-${autoAdjunct.id}`;\n\t\t\t});\n\n\t\tautoAdjunctSlide.cmsvalkey_set.push(...missingKeys);\n\t} else {\n\t\tautoAdjunctSlide.image = autoAdjunct.image_original;\n\t}\n\n\treturn autoAdjunctSlide;\n};\n\nregister(\"PresentationSlide\", PresentationSlide);\n"],"mappings":"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"}
@@ -1,19 +1,12 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
6
-
7
5
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
8
-
9
6
  var _adjunctSlide = require("../models/adjunct-slide");
10
-
11
7
  var _autoAdjunct = require("../models/auto-adjunct");
12
-
13
8
  var _presentationSlide = require("./presentation-slide");
14
-
15
9
  var _slide = require("../models/slide");
16
-
17
10
  describe("#createFromSlide", function () {
18
11
  var getSlideJSON = function getSlideJSON() {
19
12
  return {
@@ -44,72 +37,96 @@ describe("#createFromSlide", function () {
44
37
  url: "https://staging-test.salespreso.com/api/slides/23219/"
45
38
  };
46
39
  };
47
-
48
40
  it("should create a presentation slide", /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
49
41
  var slide, presentationSlide, expected;
50
42
  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
- }
43
+ while (1) switch (_context.prev = _context.next) {
44
+ case 0:
45
+ slide = new _slide.SlideModel(getSlideJSON());
46
+ presentationSlide = _presentationSlide.PresentationSlide.createFromSlide(slide);
47
+ expected = {
48
+ adjunctID: null,
49
+ autoAdjunctID: null,
50
+ createdByAutoAdjunct: false,
51
+ createdByTemplate: false,
52
+ css: "https://staging-test-cdn.salespreso.com/media/pack/410/assets/sections/test-deck/slides/slide-key/slide.css",
53
+ custom: false,
54
+ editable: false,
55
+ html: "https://staging-test-cdn.salespreso.com/media/pack/410/assets/sections/test-deck/slides/slide-key/index.html",
56
+ id: 23219,
57
+ index: 13,
58
+ key: "slide-key",
59
+ section: 1738,
60
+ selectionID: null,
61
+ sequence: 13,
62
+ subslides: [],
63
+ tags: [],
64
+ templateID: null,
65
+ thumbnail: null,
66
+ title: "Digital Transformation",
67
+ url: "/api/slides/23219/",
68
+ visible: true
69
+ };
70
+ expect(presentationSlide.toJSON()).toEqual(expected);
71
+ case 4:
72
+ case "end":
73
+ return _context.stop();
85
74
  }
86
75
  }, _callee);
87
76
  })));
88
77
  it("should use deckTags when available", /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
89
78
  var slide, options, presentationSlide;
90
79
  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
- }
80
+ while (1) switch (_context2.prev = _context2.next) {
81
+ case 0:
82
+ slide = new _slide.SlideModel(getSlideJSON());
83
+ options = {
84
+ deckTags: {
85
+ "test-deck/slide-key": ["slide-tag"]
86
+ }
87
+ };
88
+ presentationSlide = _presentationSlide.PresentationSlide.createFromSlide(slide, options);
89
+ expect(presentationSlide.tags).toEqual(["slide-tag"]);
90
+ case 4:
91
+ case "end":
92
+ return _context2.stop();
107
93
  }
108
94
  }, _callee2);
109
95
  })));
96
+ describe("Screenshots", function () {
97
+ it("should use the default image from the model if no screenshot found", function () {
98
+ var slide = new _slide.SlideModel(getSlideJSON());
99
+ var presentationSlide = _presentationSlide.PresentationSlide.createFromSlide(slide);
100
+ expect(presentationSlide.thumbnail).toEqual(null);
101
+ });
102
+ it("should use the screenshot model if it matches", function () {
103
+ var slide = new _slide.SlideModel(getSlideJSON());
104
+ var options = {
105
+ screenshots: {
106
+ "/api/slides/23219/": "test-screenshot.png"
107
+ }
108
+ };
109
+ var presentationSlide = _presentationSlide.PresentationSlide.createFromSlide(slide, options);
110
+ expect(presentationSlide.thumbnail).toEqual("test-screenshot.png");
111
+ });
112
+ });
110
113
  });
111
114
  describe("#createFromAdjunctSlide", function () {
112
115
  var getAdjunctSlideJSON = function getAdjunctSlideJSON() {
116
+ var includeTemplate = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
117
+ var template = {
118
+ id: 1,
119
+ image_256: "template.png",
120
+ index_asset: {
121
+ created_date: "2021-07-22T04:57:32.977770Z",
122
+ data: "index.html",
123
+ id: 148204,
124
+ modified_date: "2021-07-22T04:57:32.977790Z",
125
+ orig_path: "templates/test-template/foo",
126
+ pack: "https://staging-test.salespreso.com/api/packs/410/",
127
+ url: "https://staging-test-cdn.salespreso.com/media/pack/410/assets/sections/test-deck/slides/slide-key/index.html"
128
+ }
129
+ };
113
130
  return {
114
131
  adjunct: "https://staging-test.salespreso.com/api/adjuncts/7457/",
115
132
  appointment: "https://staging-test.salespreso.com/api/appointments/2426/",
@@ -129,75 +146,84 @@ describe("#createFromAdjunctSlide", function () {
129
146
  section: "https://staging-test.salespreso.com/api/sections/1755/",
130
147
  sequence: 3,
131
148
  tags: [],
132
- template: null,
149
+ template: includeTemplate ? template : null,
133
150
  title: "Six",
134
151
  url: "https://staging-test.salespreso.com/api/adjunctslides/10529/"
135
152
  };
136
153
  };
137
-
138
154
  it("should create a presentation slide", /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
139
155
  var adjunctSlide, presentationSlide, expected;
140
156
  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
- }
157
+ while (1) switch (_context3.prev = _context3.next) {
158
+ case 0:
159
+ adjunctSlide = new _adjunctSlide.AdjunctSlideModel(getAdjunctSlideJSON());
160
+ presentationSlide = _presentationSlide.PresentationSlide.createFromAdjunctSlide(adjunctSlide);
161
+ expected = {
162
+ adjunctID: 10529,
163
+ autoAdjunctID: 541,
164
+ createdByAutoAdjunct: true,
165
+ createdByTemplate: false,
166
+ custom: false,
167
+ id: 1,
168
+ image: "https://staging-test-cdn.salespreso.com/media/autoadjunct/123.png",
169
+ index: 3,
170
+ key: "adjunct-10529",
171
+ section: null,
172
+ sequence: 3,
173
+ subslides: [],
174
+ tags: [],
175
+ templateID: null,
176
+ temporary: true,
177
+ thumbnail: "https://staging-test-cdn.salespreso.com/media/CACHE/images/autoadjunct/123/456.jpg",
178
+ title: "Six",
179
+ url: "/api/adjunctslides/10529/",
180
+ visible: true,
181
+ cmsvalkey_set: []
182
+ };
183
+ expect(presentationSlide.toJSON()).toEqual(expect.objectContaining(expected));
184
+ case 4:
185
+ case "end":
186
+ return _context3.stop();
176
187
  }
177
188
  }, _callee3);
178
189
  })));
179
190
  it("should use deckTags when available", /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4() {
180
191
  var adjunctSlide, options, presentationSlide;
181
192
  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
- }
193
+ while (1) switch (_context4.prev = _context4.next) {
194
+ case 0:
195
+ adjunctSlide = new _adjunctSlide.AdjunctSlideModel(getAdjunctSlideJSON());
196
+ options = {
197
+ deckTags: {
198
+ "test-deck/adjunct-10529": ["adjunctslide-tag"]
199
+ }
200
+ };
201
+ presentationSlide = _presentationSlide.PresentationSlide.createFromAdjunctSlide(adjunctSlide, null, options);
202
+ expect(presentationSlide.tags).toEqual(["adjunctslide-tag"]);
203
+ case 4:
204
+ case "end":
205
+ return _context4.stop();
198
206
  }
199
207
  }, _callee4);
200
208
  })));
209
+ describe("Screenshots", function () {
210
+ it("should use the default image from the model if no screenshot found", function () {
211
+ var data = getAdjunctSlideJSON(true);
212
+ var adjunctSlide = new _adjunctSlide.AdjunctSlideModel(data);
213
+ var presentationSlide = _presentationSlide.PresentationSlide.createFromAdjunctSlide(adjunctSlide);
214
+ expect(presentationSlide.thumbnail).toEqual(data.template.image_256);
215
+ });
216
+ it("should use the screenshot model if it matches", function () {
217
+ var adjunctSlide = new _adjunctSlide.AdjunctSlideModel(getAdjunctSlideJSON(true));
218
+ var options = {
219
+ screenshots: {
220
+ "/api/autoadjuncts/541/": "test-screenshot.png"
221
+ }
222
+ };
223
+ var presentationSlide = _presentationSlide.PresentationSlide.createFromAdjunctSlide(adjunctSlide, null, options);
224
+ expect(presentationSlide.thumbnail).toEqual("test-screenshot.png");
225
+ });
226
+ });
201
227
  });
202
228
  describe("#createFromAutoAdjunct", function () {
203
229
  var getAutoAdjunctJSON = function getAutoAdjunctJSON() {
@@ -223,72 +249,91 @@ describe("#createFromAutoAdjunct", function () {
223
249
  url: "https://staging-test.salespreso.com/api/autoadjuncts/525/"
224
250
  };
225
251
  };
226
-
227
252
  it("should create a presentation slide", /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5() {
228
253
  var autoAdjunct, options, presentationSlide, expected;
229
254
  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
- }
255
+ while (1) switch (_context5.prev = _context5.next) {
256
+ case 0:
257
+ autoAdjunct = new _autoAdjunct.AutoAdjunctModel(getAutoAdjunctJSON());
258
+ options = {
259
+ index: 3,
260
+ deckversionID: 12
261
+ };
262
+ presentationSlide = _presentationSlide.PresentationSlide.createFromAutoAdjunct(autoAdjunct, options);
263
+ expected = {
264
+ adjunctID: 525,
265
+ autoAdjunctID: 525,
266
+ createdByAutoAdjunct: false,
267
+ createdByTemplate: false,
268
+ css: "",
269
+ html: "",
270
+ id: 525,
271
+ image: "https://staging-test-cdn.salespreso.com/media/autoadjunct/123.png",
272
+ index: 3,
273
+ key: "autoadjunct-three",
274
+ sequence: 3,
275
+ subslides: [],
276
+ tags: [],
277
+ template: null,
278
+ templateID: null,
279
+ temporary: true,
280
+ thumbnail: "https://staging-test-cdn.salespreso.com/media/CACHE/images/autoadjunct/123/456.jpg",
281
+ title: "Three",
282
+ url: "/api/adjunctslides/525/",
283
+ visible: true
284
+ };
285
+ expect(presentationSlide.toJSON()).toEqual(expected);
286
+ case 5:
287
+ case "end":
288
+ return _context5.stop();
266
289
  }
267
290
  }, _callee5);
268
291
  })));
269
292
  it("should use deckTags when available", /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6() {
270
293
  var autoAdjunct, options, presentationSlide;
271
294
  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
- }
295
+ while (1) switch (_context6.prev = _context6.next) {
296
+ case 0:
297
+ autoAdjunct = new _autoAdjunct.AutoAdjunctModel(getAutoAdjunctJSON());
298
+ options = {
299
+ index: 3,
300
+ deckversionID: 12,
301
+ deckTags: {
302
+ "test-deck/autoadjunct-three": ["autoadjunct-tags"]
303
+ }
304
+ };
305
+ presentationSlide = _presentationSlide.PresentationSlide.createFromAutoAdjunct(autoAdjunct, options);
306
+ expect(presentationSlide.tags).toEqual(["autoadjunct-tags"]);
307
+ case 4:
308
+ case "end":
309
+ return _context6.stop();
290
310
  }
291
311
  }, _callee6);
292
312
  })));
313
+ describe("Screenshots", function () {
314
+ it("should use the default image from the model if no screenshot found", function () {
315
+ var options = {
316
+ index: 3,
317
+ deckversionID: 12
318
+ };
319
+ var data = getAutoAdjunctJSON();
320
+ var autoAdjunct = new _autoAdjunct.AutoAdjunctModel(data);
321
+ var presentationSlide = _presentationSlide.PresentationSlide.createFromAutoAdjunct(autoAdjunct, options);
322
+ expect(presentationSlide.thumbnail).toEqual(data.image_256);
323
+ });
324
+ it("should use the screenshot model if it matches", function () {
325
+ var options = {
326
+ index: 3,
327
+ deckversionID: 12,
328
+ screenshots: {
329
+ "/api/autoadjuncts/525/": "test-screenshot.png"
330
+ }
331
+ };
332
+ var data = getAutoAdjunctJSON();
333
+ var autoAdjunct = new _autoAdjunct.AutoAdjunctModel(data);
334
+ var presentationSlide = _presentationSlide.PresentationSlide.createFromAutoAdjunct(autoAdjunct, options);
335
+ expect(presentationSlide.thumbnail).toEqual("test-screenshot.png");
336
+ });
337
+ });
293
338
  });
294
339
  //# sourceMappingURL=presentation-slide.spec.js.map