@livepreso/api 6.48.1 → 6.49.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (366) hide show
  1. package/.lintstagedrc.js +6 -0
  2. package/.rush/temp/chunked-rush-logs/api.build.chunks.jsonl +6 -0
  3. package/.rush/temp/chunked-rush-logs/api.test.chunks.jsonl +1 -0
  4. package/.rush/temp/operation/build/all.log +6 -0
  5. package/.rush/temp/operation/build/log-chunks.jsonl +6 -0
  6. package/.rush/temp/operation/build/state.json +3 -0
  7. package/.rush/temp/shrinkwrap-deps.json +1131 -1013
  8. package/CHANGELOG.json +32 -0
  9. package/CHANGELOG.md +16 -1
  10. package/bin/test.sh +0 -0
  11. package/cjs/api.js +3 -18
  12. package/cjs/api.js.map +1 -1
  13. package/cjs/api.spec.js +0 -4
  14. package/cjs/api.spec.js.map +1 -1
  15. package/cjs/auth.js +2 -29
  16. package/cjs/auth.js.map +1 -1
  17. package/cjs/auth.spec.js +55 -80
  18. package/cjs/auth.spec.js.map +1 -1
  19. package/cjs/caching.js +2 -7
  20. package/cjs/caching.js.map +1 -1
  21. package/cjs/collections/activity.js +18 -58
  22. package/cjs/collections/activity.js.map +1 -1
  23. package/cjs/collections/adjunct-sections.js +2 -11
  24. package/cjs/collections/adjunct-sections.js.map +1 -1
  25. package/cjs/collections/adjunct-slides.js +2 -11
  26. package/cjs/collections/adjunct-slides.js.map +1 -1
  27. package/cjs/collections/adjunct-sub-slides.js +2 -10
  28. package/cjs/collections/adjunct-sub-slides.js.map +1 -1
  29. package/cjs/collections/appointment-adjunct-tags.js +1 -9
  30. package/cjs/collections/appointment-adjunct-tags.js.map +1 -1
  31. package/cjs/collections/appointment-deckversion-tags.js +1 -9
  32. package/cjs/collections/appointment-deckversion-tags.js.map +1 -1
  33. package/cjs/collections/appointment-editors.js +1 -10
  34. package/cjs/collections/appointment-editors.js.map +1 -1
  35. package/cjs/collections/appointment-section-tags.js +1 -9
  36. package/cjs/collections/appointment-section-tags.js.map +1 -1
  37. package/cjs/collections/appointment-slide-tags.js +1 -9
  38. package/cjs/collections/appointment-slide-tags.js.map +1 -1
  39. package/cjs/collections/appointment-tags.js +69 -108
  40. package/cjs/collections/appointment-tags.js.map +1 -1
  41. package/cjs/collections/appointment-templates.js +1 -10
  42. package/cjs/collections/appointment-templates.js.map +1 -1
  43. package/cjs/collections/appointments.js +9 -29
  44. package/cjs/collections/appointments.js.map +1 -1
  45. package/cjs/collections/assets.js +1 -9
  46. package/cjs/collections/assets.js.map +1 -1
  47. package/cjs/collections/auto-adjuncts.js +6 -21
  48. package/cjs/collections/auto-adjuncts.js.map +1 -1
  49. package/cjs/collections/base.js +54 -118
  50. package/cjs/collections/base.js.map +1 -1
  51. package/cjs/collections/base.spec.js +195 -242
  52. package/cjs/collections/base.spec.js.map +1 -1
  53. package/cjs/collections/cms-vals.js +4 -16
  54. package/cjs/collections/cms-vals.js.map +1 -1
  55. package/cjs/collections/contact-phones.js +1 -9
  56. package/cjs/collections/contact-phones.js.map +1 -1
  57. package/cjs/collections/contacts.js +1 -9
  58. package/cjs/collections/contacts.js.map +1 -1
  59. package/cjs/collections/created-assets.js +1 -10
  60. package/cjs/collections/created-assets.js.map +1 -1
  61. package/cjs/collections/customers.js +1 -9
  62. package/cjs/collections/customers.js.map +1 -1
  63. package/cjs/collections/deck-notes.js +1 -10
  64. package/cjs/collections/deck-notes.js.map +1 -1
  65. package/cjs/collections/deck-version-screenshots.js +4 -17
  66. package/cjs/collections/deck-version-screenshots.js.map +1 -1
  67. package/cjs/collections/deck-versions.js +5 -20
  68. package/cjs/collections/deck-versions.js.map +1 -1
  69. package/cjs/collections/decks.js +1 -9
  70. package/cjs/collections/decks.js.map +1 -1
  71. package/cjs/collections/deleted-assets.js +1 -10
  72. package/cjs/collections/deleted-assets.js.map +1 -1
  73. package/cjs/collections/dispatches.js +1 -13
  74. package/cjs/collections/dispatches.js.map +1 -1
  75. package/cjs/collections/event-objects.js +1 -9
  76. package/cjs/collections/event-objects.js.map +1 -1
  77. package/cjs/collections/events.js +1 -9
  78. package/cjs/collections/events.js.map +1 -1
  79. package/cjs/collections/groups.js +1 -9
  80. package/cjs/collections/groups.js.map +1 -1
  81. package/cjs/collections/images.js +1 -9
  82. package/cjs/collections/images.js.map +1 -1
  83. package/cjs/collections/locations.js +1 -9
  84. package/cjs/collections/locations.js.map +1 -1
  85. package/cjs/collections/opportunities.js +1 -9
  86. package/cjs/collections/opportunities.js.map +1 -1
  87. package/cjs/collections/pack-diffs.js +1 -9
  88. package/cjs/collections/pack-diffs.js.map +1 -1
  89. package/cjs/collections/packs.js +1 -9
  90. package/cjs/collections/packs.js.map +1 -1
  91. package/cjs/collections/presets.js +1 -9
  92. package/cjs/collections/presets.js.map +1 -1
  93. package/cjs/collections/section-selections.js +2 -10
  94. package/cjs/collections/section-selections.js.map +1 -1
  95. package/cjs/collections/sections.js +1 -9
  96. package/cjs/collections/sections.js.map +1 -1
  97. package/cjs/collections/signers.js +1 -9
  98. package/cjs/collections/signers.js.map +1 -1
  99. package/cjs/collections/signing-backends.js +1 -9
  100. package/cjs/collections/signing-backends.js.map +1 -1
  101. package/cjs/collections/signing-requests.js +1 -9
  102. package/cjs/collections/signing-requests.js.map +1 -1
  103. package/cjs/collections/slide-selections.js +2 -10
  104. package/cjs/collections/slide-selections.js.map +1 -1
  105. package/cjs/collections/slides.js +1 -9
  106. package/cjs/collections/slides.js.map +1 -1
  107. package/cjs/collections/snapshots.js +1 -9
  108. package/cjs/collections/snapshots.js.map +1 -1
  109. package/cjs/collections/sub-slides.js +1 -9
  110. package/cjs/collections/sub-slides.js.map +1 -1
  111. package/cjs/collections/tags.js +1 -9
  112. package/cjs/collections/tags.js.map +1 -1
  113. package/cjs/collections/teams.js +1 -9
  114. package/cjs/collections/teams.js.map +1 -1
  115. package/cjs/collections/templates.js +1 -9
  116. package/cjs/collections/templates.js.map +1 -1
  117. package/cjs/collections/uploads.js +1 -9
  118. package/cjs/collections/uploads.js.map +1 -1
  119. package/cjs/collections/users.js +1 -9
  120. package/cjs/collections/users.js.map +1 -1
  121. package/cjs/collections.js +0 -96
  122. package/cjs/collections.js.map +1 -1
  123. package/cjs/fixtures.js +19 -57
  124. package/cjs/fixtures.js.map +1 -1
  125. package/cjs/index.js +0 -12
  126. package/cjs/index.js.map +1 -1
  127. package/cjs/log.js +0 -1
  128. package/cjs/log.js.map +1 -1
  129. package/cjs/middleware.js +2 -7
  130. package/cjs/middleware.js.map +1 -1
  131. package/cjs/middlewares/auth.js +7 -25
  132. package/cjs/middlewares/auth.js.map +1 -1
  133. package/cjs/middlewares/base.js +4 -11
  134. package/cjs/middlewares/base.js.map +1 -1
  135. package/cjs/middlewares/json.js +7 -27
  136. package/cjs/middlewares/json.js.map +1 -1
  137. package/cjs/middlewares/redirect.js +11 -29
  138. package/cjs/middlewares/redirect.js.map +1 -1
  139. package/cjs/models/activity-item.js +3 -19
  140. package/cjs/models/activity-item.js.map +1 -1
  141. package/cjs/models/adjunct-section.js +6 -19
  142. package/cjs/models/adjunct-section.js.map +1 -1
  143. package/cjs/models/adjunct-slide.js +6 -19
  144. package/cjs/models/adjunct-slide.js.map +1 -1
  145. package/cjs/models/adjunct-sub-slide.js +5 -16
  146. package/cjs/models/adjunct-sub-slide.js.map +1 -1
  147. package/cjs/models/adjunct.js +7 -23
  148. package/cjs/models/adjunct.js.map +1 -1
  149. package/cjs/models/api.js +1 -6
  150. package/cjs/models/api.js.map +1 -1
  151. package/cjs/models/appointment-adjunct-tags.js +1 -13
  152. package/cjs/models/appointment-adjunct-tags.js.map +1 -1
  153. package/cjs/models/appointment-deckversion-tags.js +1 -13
  154. package/cjs/models/appointment-deckversion-tags.js.map +1 -1
  155. package/cjs/models/appointment-editor.js +1 -14
  156. package/cjs/models/appointment-editor.js.map +1 -1
  157. package/cjs/models/appointment-section-tags.js +1 -13
  158. package/cjs/models/appointment-section-tags.js.map +1 -1
  159. package/cjs/models/appointment-slide-tags.js +1 -13
  160. package/cjs/models/appointment-slide-tags.js.map +1 -1
  161. package/cjs/models/appointment-stats.js +1 -11
  162. package/cjs/models/appointment-stats.js.map +1 -1
  163. package/cjs/models/appointment-tags.js +1 -10
  164. package/cjs/models/appointment-tags.js.map +1 -1
  165. package/cjs/models/appointment-template.js +1 -6
  166. package/cjs/models/appointment-template.js.map +1 -1
  167. package/cjs/models/appointment-viewing.js +1 -8
  168. package/cjs/models/appointment-viewing.js.map +1 -1
  169. package/cjs/models/appointment.js +24 -97
  170. package/cjs/models/appointment.js.map +1 -1
  171. package/cjs/models/asset.js +1 -12
  172. package/cjs/models/asset.js.map +1 -1
  173. package/cjs/models/auto-adjunct-key-check.js +1 -15
  174. package/cjs/models/auto-adjunct-key-check.js.map +1 -1
  175. package/cjs/models/auto-adjunct.js +1 -13
  176. package/cjs/models/auto-adjunct.js.map +1 -1
  177. package/cjs/models/base.js +86 -216
  178. package/cjs/models/base.js.map +1 -1
  179. package/cjs/models/base.spec.js +0 -31
  180. package/cjs/models/base.spec.js.map +1 -1
  181. package/cjs/models/choicelist.js +1 -8
  182. package/cjs/models/choicelist.js.map +1 -1
  183. package/cjs/models/cms-val.js +5 -26
  184. package/cjs/models/cms-val.js.map +1 -1
  185. package/cjs/models/cms-val.spec.js +13 -20
  186. package/cjs/models/cms-val.spec.js.map +1 -1
  187. package/cjs/models/contact-phone.js +1 -13
  188. package/cjs/models/contact-phone.js.map +1 -1
  189. package/cjs/models/contact.js +1 -18
  190. package/cjs/models/contact.js.map +1 -1
  191. package/cjs/models/customer.js +3 -30
  192. package/cjs/models/customer.js.map +1 -1
  193. package/cjs/models/deck-note.js +1 -9
  194. package/cjs/models/deck-note.js.map +1 -1
  195. package/cjs/models/deck-tags.js +1 -12
  196. package/cjs/models/deck-tags.js.map +1 -1
  197. package/cjs/models/deck-version-screenshot.js +1 -13
  198. package/cjs/models/deck-version-screenshot.js.map +1 -1
  199. package/cjs/models/deck-version.js +13 -38
  200. package/cjs/models/deck-version.js.map +1 -1
  201. package/cjs/models/deck.js +1 -14
  202. package/cjs/models/deck.js.map +1 -1
  203. package/cjs/models/dispatch-preview.js +1 -13
  204. package/cjs/models/dispatch-preview.js.map +1 -1
  205. package/cjs/models/dispatch.js +1 -25
  206. package/cjs/models/dispatch.js.map +1 -1
  207. package/cjs/models/envs.js +1 -6
  208. package/cjs/models/envs.js.map +1 -1
  209. package/cjs/models/event-object.js +1 -11
  210. package/cjs/models/event-object.js.map +1 -1
  211. package/cjs/models/event.js +1 -13
  212. package/cjs/models/event.js.map +1 -1
  213. package/cjs/models/feed-data.js +1 -13
  214. package/cjs/models/feed-data.js.map +1 -1
  215. package/cjs/models/file.js +1 -11
  216. package/cjs/models/file.js.map +1 -1
  217. package/cjs/models/group.js +1 -11
  218. package/cjs/models/group.js.map +1 -1
  219. package/cjs/models/handover.js +1 -13
  220. package/cjs/models/handover.js.map +1 -1
  221. package/cjs/models/hosted-preso.js +1 -15
  222. package/cjs/models/hosted-preso.js.map +1 -1
  223. package/cjs/models/image.js +1 -16
  224. package/cjs/models/image.js.map +1 -1
  225. package/cjs/models/location.js +1 -13
  226. package/cjs/models/location.js.map +1 -1
  227. package/cjs/models/manifest-json.js +25 -84
  228. package/cjs/models/manifest-json.js.map +1 -1
  229. package/cjs/models/onshare.js +1 -14
  230. package/cjs/models/onshare.js.map +1 -1
  231. package/cjs/models/opportunity.js +1 -14
  232. package/cjs/models/opportunity.js.map +1 -1
  233. package/cjs/models/pack-diff.js +1 -14
  234. package/cjs/models/pack-diff.js.map +1 -1
  235. package/cjs/models/pack.js +1 -12
  236. package/cjs/models/pack.js.map +1 -1
  237. package/cjs/models/preset.js +1 -19
  238. package/cjs/models/preset.js.map +1 -1
  239. package/cjs/models/refresh-request.js +1 -11
  240. package/cjs/models/refresh-request.js.map +1 -1
  241. package/cjs/models/room.js +1 -9
  242. package/cjs/models/room.js.map +1 -1
  243. package/cjs/models/salesforce-lookup.js +1 -12
  244. package/cjs/models/salesforce-lookup.js.map +1 -1
  245. package/cjs/models/section-selection.js +7 -15
  246. package/cjs/models/section-selection.js.map +1 -1
  247. package/cjs/models/section.js +1 -14
  248. package/cjs/models/section.js.map +1 -1
  249. package/cjs/models/signer.js +1 -10
  250. package/cjs/models/signer.js.map +1 -1
  251. package/cjs/models/signing-backend.js +1 -9
  252. package/cjs/models/signing-backend.js.map +1 -1
  253. package/cjs/models/signing-request.js +1 -13
  254. package/cjs/models/signing-request.js.map +1 -1
  255. package/cjs/models/slide-selection.js +7 -15
  256. package/cjs/models/slide-selection.js.map +1 -1
  257. package/cjs/models/slide.js +1 -14
  258. package/cjs/models/slide.js.map +1 -1
  259. package/cjs/models/snapshot.js +3 -16
  260. package/cjs/models/snapshot.js.map +1 -1
  261. package/cjs/models/snapshot.spec.js +26 -33
  262. package/cjs/models/snapshot.spec.js.map +1 -1
  263. package/cjs/models/sub-slide.js +1 -12
  264. package/cjs/models/sub-slide.js.map +1 -1
  265. package/cjs/models/support-ticket.js +1 -11
  266. package/cjs/models/support-ticket.js.map +1 -1
  267. package/cjs/models/tag.js +1 -13
  268. package/cjs/models/tag.js.map +1 -1
  269. package/cjs/models/team.js +1 -13
  270. package/cjs/models/team.js.map +1 -1
  271. package/cjs/models/template.js +49 -79
  272. package/cjs/models/template.js.map +1 -1
  273. package/cjs/models/tenancy.js +1 -11
  274. package/cjs/models/tenancy.js.map +1 -1
  275. package/cjs/models/timing-log.js +23 -80
  276. package/cjs/models/timing-log.js.map +1 -1
  277. package/cjs/models/timing-log.spec.js +25 -38
  278. package/cjs/models/timing-log.spec.js.map +1 -1
  279. package/cjs/models/token.js +1 -11
  280. package/cjs/models/token.js.map +1 -1
  281. package/cjs/models/transcribe-socket.js +1 -8
  282. package/cjs/models/transcribe-socket.js.map +1 -1
  283. package/cjs/models/upload.js +1 -7
  284. package/cjs/models/upload.js.map +1 -1
  285. package/cjs/models/user.js +1 -29
  286. package/cjs/models/user.js.map +1 -1
  287. package/cjs/models/user.spec.js +22 -32
  288. package/cjs/models/user.spec.js.map +1 -1
  289. package/cjs/models.js +0 -140
  290. package/cjs/models.js.map +1 -1
  291. package/cjs/presentation/appointment-presentation.js +9 -35
  292. package/cjs/presentation/appointment-presentation.js.map +1 -1
  293. package/cjs/presentation/base-presentation-collection.js +1 -7
  294. package/cjs/presentation/base-presentation-collection.js.map +1 -1
  295. package/cjs/presentation/base-presentation-model.js +24 -67
  296. package/cjs/presentation/base-presentation-model.js.map +1 -1
  297. package/cjs/presentation/base-presentation-model.spec.js +5 -27
  298. package/cjs/presentation/base-presentation-model.spec.js.map +1 -1
  299. package/cjs/presentation/presentation-deck.js +41 -82
  300. package/cjs/presentation/presentation-deck.js.map +1 -1
  301. package/cjs/presentation/presentation-deck.spec.js +75 -98
  302. package/cjs/presentation/presentation-deck.spec.js.map +1 -1
  303. package/cjs/presentation/presentation-decks.js +1 -9
  304. package/cjs/presentation/presentation-decks.js.map +1 -1
  305. package/cjs/presentation/presentation-section.js +12 -74
  306. package/cjs/presentation/presentation-section.js.map +1 -1
  307. package/cjs/presentation/presentation-section.spec.js +211 -264
  308. package/cjs/presentation/presentation-section.spec.js.map +1 -1
  309. package/cjs/presentation/presentation-sections.js +1 -9
  310. package/cjs/presentation/presentation-sections.js.map +1 -1
  311. package/cjs/presentation/presentation-slide.js +23 -77
  312. package/cjs/presentation/presentation-slide.js.map +1 -1
  313. package/cjs/presentation/presentation-slide.spec.js +144 -182
  314. package/cjs/presentation/presentation-slide.spec.js.map +1 -1
  315. package/cjs/presentation/presentation-slides.js +1 -9
  316. package/cjs/presentation/presentation-slides.js.map +1 -1
  317. package/cjs/presentation/presentation-subslide.js +3 -23
  318. package/cjs/presentation/presentation-subslide.js.map +1 -1
  319. package/cjs/presentation/presentation-subslide.spec.js +106 -130
  320. package/cjs/presentation/presentation-subslide.spec.js.map +1 -1
  321. package/cjs/presentation/presentation-subslides.js +1 -9
  322. package/cjs/presentation/presentation-subslides.js.map +1 -1
  323. package/cjs/presentation/presentation.js +64 -118
  324. package/cjs/presentation/presentation.js.map +1 -1
  325. package/cjs/presentation.js +0 -20
  326. package/cjs/presentation.js.map +1 -1
  327. package/cjs/selections.js +10 -36
  328. package/cjs/selections.js.map +1 -1
  329. package/cjs/state-register.js +3 -11
  330. package/cjs/state-register.js.map +1 -1
  331. package/cjs/sync.js +32 -76
  332. package/cjs/sync.js.map +1 -1
  333. package/cjs/utils.js +21 -49
  334. package/cjs/utils.js.map +1 -1
  335. package/cjs/utils.spec.js +0 -4
  336. package/cjs/utils.spec.js.map +1 -1
  337. package/eslint.config.mjs +10 -0
  338. package/package.json +8 -9
  339. package/rush-logs/api.build.cache.log +1 -0
  340. package/rush-logs/api.build.log +6 -0
  341. package/rush-logs/api.test.cache.log +1 -0
  342. package/rush-logs/api.test.log +1 -0
  343. package/src/collections/activity.js +1 -1
  344. package/src/collections/adjunct-sections.js +3 -3
  345. package/src/collections/adjunct-slides.js +3 -3
  346. package/src/collections/adjunct-sub-slides.js +3 -3
  347. package/src/collections/base.js +14 -0
  348. package/src/collections/section-selections.js +3 -3
  349. package/src/collections/slide-selections.js +3 -3
  350. package/src/fixtures.js +8 -1
  351. package/src/models/adjunct-section.js +6 -0
  352. package/src/models/adjunct-slide.js +6 -0
  353. package/src/models/adjunct-sub-slide.js +5 -0
  354. package/src/models/adjunct.js +1 -1
  355. package/src/models/appointment.js +2 -0
  356. package/src/models/base.js +6 -2
  357. package/src/models/deck-version.js +7 -3
  358. package/src/models/manifest-json.js +1 -1
  359. package/src/models/section-selection.js +6 -0
  360. package/src/models/slide-selection.js +6 -0
  361. package/src/presentation/presentation-section.js +4 -0
  362. package/src/presentation/presentation-slide.js +8 -0
  363. package/src/presentation/presentation-slide.spec.js +2 -0
  364. package/.eslintrc.js +0 -8
  365. package/.gitlab-ci.yml +0 -4
  366. package/.husky/pre-commit +0 -4
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/presentation/base-presentation-model.js"],"names":["BasePresentationModel","BaseModel","extend","url","screenshotsToMap","screenshots","models","reduce","result","model","subject","Error","image_256","getThumbnail","filterScreenshotsByTeam","_screenshots","_team","DeckVersionScreenshotCollection","team","TeamModel","globalScreenshots","filter","screen","map","toJSON","teamScreenshots","teamScreen","existingGlobalIndex","_","findIndex","push","ordered","orderBy","getVisibilityAndSequence","options","choicelist","selections","config","visible","enabled","sequence","selectionID","choice","find","item","indexOf","adjunct","selection","id","getAppointmentTags","tags","tagItem","tag","content_url","getDeckTags","namespaced_key","isAutoAdjunct","keys","Object","key","includes","splitKey","split","length","deck","getTags","appointmentTags","deckTags","canBeEmpty"],"mappings":"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","sourcesContent":["import { BaseModel } from \"../models/base.js\";\nimport { DeckVersionScreenshotCollection } from \"../collections/deck-version-screenshots.js\";\nimport { TeamModel } from \"../models/team.js\";\nimport _ from \"lodash\";\n\n/**\n * @constructor\n * @alias presentation.BasePresentationModel\n * @extends presentation.BaseModel\n */\nexport const BasePresentationModel = BaseModel.extend(\n\t/** @lends presentation.BasePresentationModel# */ {\n\t\turl() {\n\t\t\treturn null;\n\t\t},\n\t},\n);\n\nBasePresentationModel.screenshotsToMap = function (screenshots) {\n\tif (!screenshots?.models) {\n\t\treturn screenshots;\n\t}\n\n\treturn screenshots.reduce((result, model) => {\n\t\tif (result[model.subject]) {\n\t\t\tthrow new Error(`\n\t\t\t\tFound multiple screenshots that could match this subject. If there is a team\n\t\t\t\tand a global, be sure to remove the screenshot that you don't need.\n\t\t\t`);\n\t\t}\n\t\tresult[model.subject] = model.image_256;\n\t\treturn result;\n\t}, {});\n};\n\n/**\n * Logic to pick a thumbnail based on either the model itself or from\n * and overriding screenshot if one exists.\n */\nBasePresentationModel.getThumbnail = function (model, screenshots) {\n\tif (screenshots?.models) {\n\t\tthrow new Error(\"Expected map file\");\n\t}\n\n\tif (!model) {\n\t\treturn null;\n\t}\n\n\treturn screenshots[model.url()] || model.image_256;\n};\n\n/**\n * Takes a list of screenshots and filters it to only be a list used by a single team\n * (or company wide).\n *\n * The logic should be like this:\n *\n *\t* If the team is null, we just return all global screenshots (team = null)\n *\t* If we select a team, we take those global screenshots and replace any that have a\n *\t\tteam specific version of that screenshot. If none is found, the team will want to\n *\t\tsee the same global version. Obviously only one team's screenshots should be available.\n */\nBasePresentationModel.filterScreenshotsByTeam = function (\n\t_screenshots,\n\t_team = null,\n) {\n\tconst screenshots = new DeckVersionScreenshotCollection(_screenshots);\n\tconst team = _team ? new TeamModel(_team) : null;\n\n\tconst globalScreenshots = screenshots\n\t\t.filter((screen) => screen.team === null)\n\t\t.map((screen) => screen.toJSON());\n\n\tconst result = globalScreenshots;\n\n\tif (team) {\n\t\tconst teamScreenshots = screenshots\n\t\t\t.filter((screen) => screen.team && screen.team.url() === team.url())\n\t\t\t.map((screen) => ({ ...screen.toJSON(), team: screen.team.url() }));\n\n\t\tfor (const teamScreen of teamScreenshots) {\n\t\t\tconst existingGlobalIndex = _.findIndex(result, {\n\t\t\t\tsubject: teamScreen.subject,\n\t\t\t});\n\n\t\t\tif (existingGlobalIndex === -1) {\n\t\t\t\t// If there isn't an existing global version, just add the team\n\t\t\t\t// screenshot to the list\n\t\t\t\tresult.push(teamScreen);\n\t\t\t} else {\n\t\t\t\t// Otherwise we should use the team version instead of the global version\n\t\t\t\tresult[existingGlobalIndex] = teamScreen;\n\t\t\t}\n\t\t}\n\t}\n\n\t// Try to return it in the same order every time\n\tconst ordered = _.orderBy(result, [\"team\", \"subject\"], [\"desc\", \"asc\"]);\n\treturn new DeckVersionScreenshotCollection(ordered);\n};\n\n/**\n * Standard function for retrieving the visibility and sequence of a model\n * from a choicelist or section & slide selections. If a choicelist is\n * provided we prefer the choicelist, otherwise we use selections.\n * Adjuncts are included in choicelists but not in selections so we use the\n * model's state to determine sequence & vis when selections are used.\n */\nBasePresentationModel.getVisibilityAndSequence = function (\n\tmodel,\n\toptions = {},\n) {\n\tconst { choicelist = null, selections = null } = options;\n\tconst url = model.url();\n\n\tconst config = {\n\t\tvisible: model.visible || model.enabled || false,\n\t\tsequence: model.sequence,\n\t\tselectionID: null,\n\t};\n\n\tif (choicelist) {\n\t\t// All items should have a choicelist entry - if it's not in\n\t\t// the choicelist, it's not in the preso\n\t\tconst choice = choicelist.find((item) => item.url === url);\n\n\t\tif (choice) {\n\t\t\tconfig.sequence = choicelist.indexOf(choice);\n\t\t\tconfig.visible = choice.visible;\n\t\t} else {\n\t\t\tconfig.visible = false;\n\t\t}\n\t} else if (selections && !model.adjunct) {\n\t\t// Non-adjunct subslides and adjunct sections/slides/subslides\n\t\t// have no selections - they fall through here using their\n\t\t// model's values\n\t\tconst selection = selections.find((selection) => selection.url === url);\n\n\t\tif (selection) {\n\t\t\tconfig.visible = selection.visible;\n\t\t\tconfig.sequence = selection.sequence;\n\t\t\tconfig.selectionID = selection.id;\n\t\t}\n\t}\n\n\t// If neither a choicelist nor selections are available, the\n\t// values on the model will be used.\n\n\treturn config;\n};\n\nconst getAppointmentTags = function (model, tags) {\n\tconst url = model.adjunct?.url() || model.url();\n\tconst tagItem = tags.find((tag) => tag.content_url === url);\n\n\tif (tagItem) {\n\t\treturn tagItem.tags || [];\n\t}\n\n\t// Subslide tags currently aren't included in the\n\t// appointmentTags data.\n\treturn model.tags || [];\n};\n\nconst getDeckTags = function (model, tags) {\n\t// All non-adjunct sections, slides and subslides have namespaced_key\n\tif (model.namespaced_key) {\n\t\treturn tags[model.namespaced_key] || model.tags || [];\n\t} else if (model.adjunct || model.isAutoAdjunct) {\n\t\t// Autoadjunct keys are unique and move around so we search for them\n\t\t// and ignore the rest of the namespaced key\n\t\tconst keys = Object.keys(tags).filter((key) => {\n\t\t\tif (key.includes(\"/\")) {\n\t\t\t\tconst splitKey = key.split(\"/\");\n\n\t\t\t\treturn splitKey[splitKey.length - 1] === model.key;\n\t\t\t}\n\t\t\treturn key === model.key;\n\t\t});\n\t\treturn keys.length ? tags[keys[0]] : [];\n\t} else if (model.deck) {\n\t\t// The deck's namespaced key is always \"\" - this is because the\n\t\t// namespaced key format is section-key/slide-key, but the\n\t\t// deck sits above sections.\n\t\treturn tags[\"\"] || model.tags || [];\n\t}\n\n\treturn model.tags || [];\n};\n\n// Retrieve the tags for the model.\n// If appointmentTags is passed through in the options, we call the\n// getAppointmentTags function above to retrieve the appointment tags\n// for the model.\n// if there are no appointmentTags but deckTags are passed\n// through then we call the getDeckTags function.\n// In the future we will always use one of these two methods and\n// references to model.tags should be removed.\nBasePresentationModel.getTags = function (model, options = {}) {\n\tif (options.appointmentTags) {\n\t\treturn getAppointmentTags(model, options.appointmentTags);\n\t}\n\n\tif (options.deckTags) {\n\t\treturn getDeckTags(model, options.deckTags);\n\t}\n\n\treturn model.tags || [];\n};\n\nBasePresentationModel.canBeEmpty = true;\n"],"file":"base-presentation-model.js"}
1
+ {"version":3,"file":"base-presentation-model.js","names":["_base","require","_deckVersionScreenshots","_team2","_lodash","_interopRequireDefault","_createForOfIteratorHelper","r","e","t","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","_n","F","s","n","done","value","f","TypeError","o","a","u","call","next","return","_arrayLikeToArray","toString","slice","constructor","name","from","test","ownKeys","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","forEach","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","BasePresentationModel","exports","BaseModel","extend","url","screenshotsToMap","screenshots","models","reduce","result","model","subject","Error","image_256","getThumbnail","filterScreenshotsByTeam","_screenshots","_team","undefined","DeckVersionScreenshotCollection","team","TeamModel","globalScreenshots","screen","map","toJSON","teamScreenshots","_iterator","_step","teamScreen","existingGlobalIndex","_","findIndex","err","ordered","orderBy","getVisibilityAndSequence","options","_options$choicelist","choicelist","_options$selections","selections","config","visible","enabled","sequence","selectionID","choice","find","item","indexOf","adjunct","selection","id","getAppointmentTags","tags","_model$adjunct","tagItem","tag","content_url","getDeckTags","namespaced_key","isAutoAdjunct","key","includes","splitKey","split","deck","getTags","appointmentTags","deckTags","canBeEmpty"],"sources":["../../src/presentation/base-presentation-model.js"],"sourcesContent":["import { BaseModel } from \"../models/base.js\";\nimport { DeckVersionScreenshotCollection } from \"../collections/deck-version-screenshots.js\";\nimport { TeamModel } from \"../models/team.js\";\nimport _ from \"lodash\";\n\n/**\n * @constructor\n * @alias presentation.BasePresentationModel\n * @extends presentation.BaseModel\n */\nexport const BasePresentationModel = BaseModel.extend(\n\t/** @lends presentation.BasePresentationModel# */ {\n\t\turl() {\n\t\t\treturn null;\n\t\t},\n\t},\n);\n\nBasePresentationModel.screenshotsToMap = function (screenshots) {\n\tif (!screenshots?.models) {\n\t\treturn screenshots;\n\t}\n\n\treturn screenshots.reduce((result, model) => {\n\t\tif (result[model.subject]) {\n\t\t\tthrow new Error(`\n\t\t\t\tFound multiple screenshots that could match this subject. If there is a team\n\t\t\t\tand a global, be sure to remove the screenshot that you don't need.\n\t\t\t`);\n\t\t}\n\t\tresult[model.subject] = model.image_256;\n\t\treturn result;\n\t}, {});\n};\n\n/**\n * Logic to pick a thumbnail based on either the model itself or from\n * and overriding screenshot if one exists.\n */\nBasePresentationModel.getThumbnail = function (model, screenshots) {\n\tif (screenshots?.models) {\n\t\tthrow new Error(\"Expected map file\");\n\t}\n\n\tif (!model) {\n\t\treturn null;\n\t}\n\n\treturn screenshots[model.url()] || model.image_256;\n};\n\n/**\n * Takes a list of screenshots and filters it to only be a list used by a single team\n * (or company wide).\n *\n * The logic should be like this:\n *\n *\t* If the team is null, we just return all global screenshots (team = null)\n *\t* If we select a team, we take those global screenshots and replace any that have a\n *\t\tteam specific version of that screenshot. If none is found, the team will want to\n *\t\tsee the same global version. Obviously only one team's screenshots should be available.\n */\nBasePresentationModel.filterScreenshotsByTeam = function (\n\t_screenshots,\n\t_team = null,\n) {\n\tconst screenshots = new DeckVersionScreenshotCollection(_screenshots);\n\tconst team = _team ? new TeamModel(_team) : null;\n\n\tconst globalScreenshots = screenshots\n\t\t.filter((screen) => screen.team === null)\n\t\t.map((screen) => screen.toJSON());\n\n\tconst result = globalScreenshots;\n\n\tif (team) {\n\t\tconst teamScreenshots = screenshots\n\t\t\t.filter((screen) => screen.team && screen.team.url() === team.url())\n\t\t\t.map((screen) => ({ ...screen.toJSON(), team: screen.team.url() }));\n\n\t\tfor (const teamScreen of teamScreenshots) {\n\t\t\tconst existingGlobalIndex = _.findIndex(result, {\n\t\t\t\tsubject: teamScreen.subject,\n\t\t\t});\n\n\t\t\tif (existingGlobalIndex === -1) {\n\t\t\t\t// If there isn't an existing global version, just add the team\n\t\t\t\t// screenshot to the list\n\t\t\t\tresult.push(teamScreen);\n\t\t\t} else {\n\t\t\t\t// Otherwise we should use the team version instead of the global version\n\t\t\t\tresult[existingGlobalIndex] = teamScreen;\n\t\t\t}\n\t\t}\n\t}\n\n\t// Try to return it in the same order every time\n\tconst ordered = _.orderBy(result, [\"team\", \"subject\"], [\"desc\", \"asc\"]);\n\treturn new DeckVersionScreenshotCollection(ordered);\n};\n\n/**\n * Standard function for retrieving the visibility and sequence of a model\n * from a choicelist or section & slide selections. If a choicelist is\n * provided we prefer the choicelist, otherwise we use selections.\n * Adjuncts are included in choicelists but not in selections so we use the\n * model's state to determine sequence & vis when selections are used.\n */\nBasePresentationModel.getVisibilityAndSequence = function (\n\tmodel,\n\toptions = {},\n) {\n\tconst { choicelist = null, selections = null } = options;\n\tconst url = model.url();\n\n\tconst config = {\n\t\tvisible: model.visible || model.enabled || false,\n\t\tsequence: model.sequence,\n\t\tselectionID: null,\n\t};\n\n\tif (choicelist) {\n\t\t// All items should have a choicelist entry - if it's not in\n\t\t// the choicelist, it's not in the preso\n\t\tconst choice = choicelist.find((item) => item.url === url);\n\n\t\tif (choice) {\n\t\t\tconfig.sequence = choicelist.indexOf(choice);\n\t\t\tconfig.visible = choice.visible;\n\t\t} else {\n\t\t\tconfig.visible = false;\n\t\t}\n\t} else if (selections && !model.adjunct) {\n\t\t// Non-adjunct subslides and adjunct sections/slides/subslides\n\t\t// have no selections - they fall through here using their\n\t\t// model's values\n\t\tconst selection = selections.find((selection) => selection.url === url);\n\n\t\tif (selection) {\n\t\t\tconfig.visible = selection.visible;\n\t\t\tconfig.sequence = selection.sequence;\n\t\t\tconfig.selectionID = selection.id;\n\t\t}\n\t}\n\n\t// If neither a choicelist nor selections are available, the\n\t// values on the model will be used.\n\n\treturn config;\n};\n\nconst getAppointmentTags = function (model, tags) {\n\tconst url = model.adjunct?.url() || model.url();\n\tconst tagItem = tags.find((tag) => tag.content_url === url);\n\n\tif (tagItem) {\n\t\treturn tagItem.tags || [];\n\t}\n\n\t// Subslide tags currently aren't included in the\n\t// appointmentTags data.\n\treturn model.tags || [];\n};\n\nconst getDeckTags = function (model, tags) {\n\t// All non-adjunct sections, slides and subslides have namespaced_key\n\tif (model.namespaced_key) {\n\t\treturn tags[model.namespaced_key] || model.tags || [];\n\t} else if (model.adjunct || model.isAutoAdjunct) {\n\t\t// Autoadjunct keys are unique and move around so we search for them\n\t\t// and ignore the rest of the namespaced key\n\t\tconst keys = Object.keys(tags).filter((key) => {\n\t\t\tif (key.includes(\"/\")) {\n\t\t\t\tconst splitKey = key.split(\"/\");\n\n\t\t\t\treturn splitKey[splitKey.length - 1] === model.key;\n\t\t\t}\n\t\t\treturn key === model.key;\n\t\t});\n\t\treturn keys.length ? tags[keys[0]] : [];\n\t} else if (model.deck) {\n\t\t// The deck's namespaced key is always \"\" - this is because the\n\t\t// namespaced key format is section-key/slide-key, but the\n\t\t// deck sits above sections.\n\t\treturn tags[\"\"] || model.tags || [];\n\t}\n\n\treturn model.tags || [];\n};\n\n// Retrieve the tags for the model.\n// If appointmentTags is passed through in the options, we call the\n// getAppointmentTags function above to retrieve the appointment tags\n// for the model.\n// if there are no appointmentTags but deckTags are passed\n// through then we call the getDeckTags function.\n// In the future we will always use one of these two methods and\n// references to model.tags should be removed.\nBasePresentationModel.getTags = function (model, options = {}) {\n\tif (options.appointmentTags) {\n\t\treturn getAppointmentTags(model, options.appointmentTags);\n\t}\n\n\tif (options.deckTags) {\n\t\treturn getDeckTags(model, options.deckTags);\n\t}\n\n\treturn model.tags || [];\n};\n\nBasePresentationModel.canBeEmpty = true;\n"],"mappings":"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","ignoreList":[]}
@@ -1,13 +1,9 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
6
-
7
5
  var _basePresentationModel = require("./base-presentation-model.js");
8
-
9
6
  var _deckVersionScreenshots = require("../collections/deck-version-screenshots.js");
10
-
11
7
  describe("#getVisibilityAndSequence", function () {
12
8
  it("should return model defaults when no options", function () {
13
9
  var config = _basePresentationModel.BasePresentationModel.getVisibilityAndSequence({
@@ -17,7 +13,6 @@ describe("#getVisibilityAndSequence", function () {
17
13
  return "";
18
14
  }
19
15
  });
20
-
21
16
  var expected = {
22
17
  sequence: 99,
23
18
  visible: true,
@@ -33,7 +28,6 @@ describe("#getVisibilityAndSequence", function () {
33
28
  return "";
34
29
  }
35
30
  });
36
-
37
31
  var expected = {
38
32
  sequence: 99,
39
33
  visible: true,
@@ -46,7 +40,6 @@ describe("#getVisibilityAndSequence", function () {
46
40
  url: "bleh/meh",
47
41
  visible: true
48
42
  }];
49
-
50
43
  var config = _basePresentationModel.BasePresentationModel.getVisibilityAndSequence({
51
44
  sequence: 99,
52
45
  visible: false,
@@ -56,7 +49,6 @@ describe("#getVisibilityAndSequence", function () {
56
49
  }, {
57
50
  choicelist: choicelist
58
51
  });
59
-
60
52
  var expected = {
61
53
  sequence: 0,
62
54
  visible: true,
@@ -71,7 +63,6 @@ describe("#getVisibilityAndSequence", function () {
71
63
  sequence: 27,
72
64
  id: 58
73
65
  }];
74
-
75
66
  var config = _basePresentationModel.BasePresentationModel.getVisibilityAndSequence({
76
67
  sequence: 99,
77
68
  visible: false,
@@ -81,7 +72,6 @@ describe("#getVisibilityAndSequence", function () {
81
72
  }, {
82
73
  selections: selections
83
74
  });
84
-
85
75
  var expected = {
86
76
  sequence: 27,
87
77
  visible: true,
@@ -103,7 +93,6 @@ describe("#getVisibilityAndSequence", function () {
103
93
  sequence: 27,
104
94
  id: 58
105
95
  }];
106
-
107
96
  var config = _basePresentationModel.BasePresentationModel.getVisibilityAndSequence({
108
97
  sequence: 99,
109
98
  visible: false,
@@ -114,19 +103,19 @@ describe("#getVisibilityAndSequence", function () {
114
103
  choicelist: choicelist,
115
104
  selections: selections
116
105
  });
117
-
118
106
  var expected = {
119
107
  sequence: 1,
120
108
  visible: true,
121
109
  selectionID: null
122
110
  };
123
111
  expect(config).toEqual(expected);
124
- }); // adjuncts!!
112
+ });
113
+
114
+ // adjuncts!!
125
115
  });
126
116
  describe("#getTags", function () {
127
117
  it("should return empty array when no options or model tags", function () {
128
118
  var tags = _basePresentationModel.BasePresentationModel.getTags({});
129
-
130
119
  expect((0, _typeof2.default)(tags)).toEqual("object");
131
120
  expect(tags.length).toEqual(0);
132
121
  });
@@ -134,9 +123,7 @@ describe("#getTags", function () {
134
123
  var model = {
135
124
  tags: ["model-tag-1", "model-tag-2"]
136
125
  };
137
-
138
126
  var tags = _basePresentationModel.BasePresentationModel.getTags(model);
139
-
140
127
  expect(tags).toEqual(model.tags);
141
128
  });
142
129
  it("should return tags for slide when tags passed in options", function () {
@@ -150,9 +137,7 @@ describe("#getTags", function () {
150
137
  "slide-key": ["slide-tags"]
151
138
  }
152
139
  };
153
-
154
140
  var tags = _basePresentationModel.BasePresentationModel.getTags(model, options);
155
-
156
141
  expect(tags).toEqual(["slide-tags"]);
157
142
  });
158
143
  it("should return tags for welcome slide when tags passed in options", function () {
@@ -166,9 +151,7 @@ describe("#getTags", function () {
166
151
  "slide-key": ["slide-tags"]
167
152
  }
168
153
  };
169
-
170
154
  var tags = _basePresentationModel.BasePresentationModel.getTags(model, options);
171
-
172
155
  expect(tags).toEqual(["deck-tags"]);
173
156
  });
174
157
  it("should return tags for an adjunct section when tags passed in options", function () {
@@ -183,9 +166,7 @@ describe("#getTags", function () {
183
166
  "adjunctsection-key": ["adjunctsection-tags"]
184
167
  }
185
168
  };
186
-
187
169
  var tags = _basePresentationModel.BasePresentationModel.getTags(model, options);
188
-
189
170
  expect(tags).toEqual(["adjunctsection-tags"]);
190
171
  });
191
172
  it("should return tags for an adjunct slide when tags passed in options", function () {
@@ -200,9 +181,7 @@ describe("#getTags", function () {
200
181
  "section-key/adjunctslide-key": ["adjunctslide-tags"]
201
182
  }
202
183
  };
203
-
204
184
  var tags = _basePresentationModel.BasePresentationModel.getTags(model, options);
205
-
206
185
  expect(tags).toEqual(["adjunctslide-tags"]);
207
186
  });
208
187
  });
@@ -223,7 +202,8 @@ describe("#filterScreenshotsByTeam", function () {
223
202
  subject: "/api/sections/2/",
224
203
  image_256: "team-1-screenshot.png",
225
204
  team: "/api/teams/1/"
226
- }, // Just for testing that the team filters don't get cross-contaminated
205
+ },
206
+ // Just for testing that the team filters don't get cross-contaminated
227
207
  {
228
208
  subject: "/api/sections/2/",
229
209
  image_256: "team-2-screenshot.png",
@@ -231,7 +211,6 @@ describe("#filterScreenshotsByTeam", function () {
231
211
  }]);
232
212
  it("should just return global screenshots if team is null", function () {
233
213
  var filtered = _basePresentationModel.BasePresentationModel.filterScreenshotsByTeam(screenshots, null).toJSON();
234
-
235
214
  expect(filtered).toEqual([{
236
215
  subject: "/api/slides/1/",
237
216
  image_256: "global-screenshot-1.png",
@@ -244,7 +223,6 @@ describe("#filterScreenshotsByTeam", function () {
244
223
  });
245
224
  it("should return globals with team override", function () {
246
225
  var filtered = _basePresentationModel.BasePresentationModel.filterScreenshotsByTeam(screenshots, 1).toJSON();
247
-
248
226
  expect(filtered).toEqual([{
249
227
  image_256: "global-screenshot-2.png",
250
228
  subject: "/api/slides/2/",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/presentation/base-presentation-model.spec.js"],"names":["describe","it","config","BasePresentationModel","getVisibilityAndSequence","sequence","visible","url","expected","selectionID","expect","toEqual","choicelist","selections","id","tags","getTags","length","model","namespaced_key","options","deckTags","deck","adjunct","key","screenshots","DeckVersionScreenshotCollection","subject","image_256","team","filtered","filterScreenshotsByTeam","toJSON"],"mappings":"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","sourcesContent":["import { BasePresentationModel } from \"./base-presentation-model.js\";\nimport { DeckVersionScreenshotCollection } from \"../collections/deck-version-screenshots.js\";\n\ndescribe(\"#getVisibilityAndSequence\", () => {\n\tit(\"should return model defaults when no options\", () => {\n\t\tconst config = BasePresentationModel.getVisibilityAndSequence({\n\t\t\tsequence: 99,\n\t\t\tvisible: true,\n\t\t\turl: () => \"\",\n\t\t});\n\n\t\tconst expected = {\n\t\t\tsequence: 99,\n\t\t\tvisible: true,\n\t\t\tselectionID: null,\n\t\t};\n\n\t\texpect(config).toEqual(expected);\n\t});\n\n\tit(\"should return model defaults when no options\", () => {\n\t\tconst config = BasePresentationModel.getVisibilityAndSequence({\n\t\t\tsequence: 99,\n\t\t\tvisible: true,\n\t\t\turl: () => \"\",\n\t\t});\n\n\t\tconst expected = {\n\t\t\tsequence: 99,\n\t\t\tvisible: true,\n\t\t\tselectionID: null,\n\t\t};\n\n\t\texpect(config).toEqual(expected);\n\t});\n\n\tit(\"should return choicelist config\", () => {\n\t\tconst choicelist = [\n\t\t\t{\n\t\t\t\turl: \"bleh/meh\",\n\t\t\t\tvisible: true,\n\t\t\t},\n\t\t];\n\n\t\tconst config = BasePresentationModel.getVisibilityAndSequence(\n\t\t\t{\n\t\t\t\tsequence: 99,\n\t\t\t\tvisible: false,\n\t\t\t\turl: () => \"bleh/meh\",\n\t\t\t},\n\t\t\t{\n\t\t\t\tchoicelist,\n\t\t\t},\n\t\t);\n\n\t\tconst expected = {\n\t\t\tsequence: 0,\n\t\t\tvisible: true,\n\t\t\tselectionID: null,\n\t\t};\n\n\t\texpect(config).toEqual(expected);\n\t});\n\n\tit(\"should return selections config\", () => {\n\t\tconst selections = [\n\t\t\t{\n\t\t\t\turl: \"bleh/meh\",\n\t\t\t\tvisible: true,\n\t\t\t\tsequence: 27,\n\t\t\t\tid: 58,\n\t\t\t},\n\t\t];\n\n\t\tconst config = BasePresentationModel.getVisibilityAndSequence(\n\t\t\t{\n\t\t\t\tsequence: 99,\n\t\t\t\tvisible: false,\n\t\t\t\turl: () => \"bleh/meh\",\n\t\t\t},\n\t\t\t{\n\t\t\t\tselections,\n\t\t\t},\n\t\t);\n\n\t\tconst expected = {\n\t\t\tsequence: 27,\n\t\t\tvisible: true,\n\t\t\tselectionID: 58,\n\t\t};\n\n\t\texpect(config).toEqual(expected);\n\t});\n\n\tit(\"should return choicelist config if both are provided\", () => {\n\t\tconst choicelist = [\n\t\t\t{\n\t\t\t\turl: \"gah/meh\",\n\t\t\t\tvisible: false,\n\t\t\t},\n\t\t\t{\n\t\t\t\turl: \"bleh/meh\",\n\t\t\t\tvisible: true,\n\t\t\t},\n\t\t];\n\n\t\tconst selections = [\n\t\t\t{\n\t\t\t\turl: \"bleh/meh\",\n\t\t\t\tvisible: true,\n\t\t\t\tsequence: 27,\n\t\t\t\tid: 58,\n\t\t\t},\n\t\t];\n\n\t\tconst config = BasePresentationModel.getVisibilityAndSequence(\n\t\t\t{\n\t\t\t\tsequence: 99,\n\t\t\t\tvisible: false,\n\t\t\t\turl: () => \"bleh/meh\",\n\t\t\t},\n\t\t\t{\n\t\t\t\tchoicelist,\n\t\t\t\tselections,\n\t\t\t},\n\t\t);\n\n\t\tconst expected = {\n\t\t\tsequence: 1,\n\t\t\tvisible: true,\n\t\t\tselectionID: null,\n\t\t};\n\n\t\texpect(config).toEqual(expected);\n\t});\n\n\t// adjuncts!!\n});\n\ndescribe(\"#getTags\", () => {\n\tit(\"should return empty array when no options or model tags\", () => {\n\t\tconst tags = BasePresentationModel.getTags({});\n\n\t\texpect(typeof tags).toEqual(\"object\");\n\t\texpect(tags.length).toEqual(0);\n\t});\n\n\tit(\"should return tags when no tags passed in options\", () => {\n\t\tconst model = {\n\t\t\ttags: [\"model-tag-1\", \"model-tag-2\"],\n\t\t};\n\t\tconst tags = BasePresentationModel.getTags(model);\n\n\t\texpect(tags).toEqual(model.tags);\n\t});\n\n\tit(\"should return tags for slide when tags passed in options\", () => {\n\t\tconst model = {\n\t\t\tnamespaced_key: \"slide-key\",\n\t\t\ttags: [\"model-tag-1\", \"model-tag-2\"],\n\t\t};\n\n\t\tconst options = {\n\t\t\tdeckTags: {\n\t\t\t\t\"\": [\"deck-tags\"],\n\t\t\t\t\"slide-key\": [\"slide-tags\"],\n\t\t\t},\n\t\t};\n\n\t\tconst tags = BasePresentationModel.getTags(model, options);\n\n\t\texpect(tags).toEqual([\"slide-tags\"]);\n\t});\n\n\tit(\"should return tags for welcome slide when tags passed in options\", () => {\n\t\tconst model = {\n\t\t\tdeck: {},\n\t\t\ttags: [\"model-tag-1\", \"model-tag-2\"],\n\t\t};\n\n\t\tconst options = {\n\t\t\tdeckTags: {\n\t\t\t\t\"\": [\"deck-tags\"],\n\t\t\t\t\"slide-key\": [\"slide-tags\"],\n\t\t\t},\n\t\t};\n\n\t\tconst tags = BasePresentationModel.getTags(model, options);\n\n\t\texpect(tags).toEqual([\"deck-tags\"]);\n\t});\n\n\tit(\"should return tags for an adjunct section when tags passed in options\", () => {\n\t\tconst model = {\n\t\t\tadjunct: true,\n\t\t\tkey: \"adjunctsection-key\",\n\t\t\ttags: [\"old-tag-1\", \"old-tag-2\"],\n\t\t};\n\n\t\tconst options = {\n\t\t\tdeckTags: {\n\t\t\t\t\"\": [\"deck-tags\"],\n\t\t\t\t\"adjunctsection-key\": [\"adjunctsection-tags\"],\n\t\t\t},\n\t\t};\n\n\t\tconst tags = BasePresentationModel.getTags(model, options);\n\n\t\texpect(tags).toEqual([\"adjunctsection-tags\"]);\n\t});\n\n\tit(\"should return tags for an adjunct slide when tags passed in options\", () => {\n\t\tconst model = {\n\t\t\tadjunct: true,\n\t\t\tkey: \"adjunctslide-key\",\n\t\t\ttags: [\"old-tag-1\", \"old-tag-2\"],\n\t\t};\n\n\t\tconst options = {\n\t\t\tdeckTags: {\n\t\t\t\t\"\": [\"deck-tags\"],\n\t\t\t\t\"section-key/adjunctslide-key\": [\"adjunctslide-tags\"],\n\t\t\t},\n\t\t};\n\n\t\tconst tags = BasePresentationModel.getTags(model, options);\n\n\t\texpect(tags).toEqual([\"adjunctslide-tags\"]);\n\t});\n});\n\ndescribe(\"#filterScreenshotsByTeam\", () => {\n\tconst screenshots = new DeckVersionScreenshotCollection([\n\t\t{\n\t\t\tsubject: \"/api/slides/1/\",\n\t\t\timage_256: \"global-screenshot-1.png\",\n\t\t\tteam: null,\n\t\t},\n\t\t{\n\t\t\tsubject: \"/api/slides/2/\",\n\t\t\timage_256: \"global-screenshot-2.png\",\n\t\t\tteam: null,\n\t\t},\n\t\t{\n\t\t\tsubject: \"/api/slides/1/\",\n\t\t\timage_256: \"team-1-screenshot.png\",\n\t\t\tteam: \"/api/teams/1/\",\n\t\t},\n\t\t{\n\t\t\tsubject: \"/api/sections/2/\",\n\t\t\timage_256: \"team-1-screenshot.png\",\n\t\t\tteam: \"/api/teams/1/\",\n\t\t},\n\t\t// Just for testing that the team filters don't get cross-contaminated\n\t\t{\n\t\t\tsubject: \"/api/sections/2/\",\n\t\t\timage_256: \"team-2-screenshot.png\",\n\t\t\tteam: \"/api/teams/2/\",\n\t\t},\n\t]);\n\n\tit(\"should just return global screenshots if team is null\", () => {\n\t\tconst filtered = BasePresentationModel.filterScreenshotsByTeam(\n\t\t\tscreenshots,\n\t\t\tnull,\n\t\t).toJSON();\n\n\t\texpect(filtered).toEqual([\n\t\t\t{\n\t\t\t\tsubject: \"/api/slides/1/\",\n\t\t\t\timage_256: \"global-screenshot-1.png\",\n\t\t\t\tteam: null,\n\t\t\t},\n\t\t\t{\n\t\t\t\tsubject: \"/api/slides/2/\",\n\t\t\t\timage_256: \"global-screenshot-2.png\",\n\t\t\t\tteam: null,\n\t\t\t},\n\t\t]);\n\t});\n\n\tit(\"should return globals with team override\", () => {\n\t\tconst filtered = BasePresentationModel.filterScreenshotsByTeam(\n\t\t\tscreenshots,\n\t\t\t1,\n\t\t).toJSON();\n\n\t\texpect(filtered).toEqual([\n\t\t\t{\n\t\t\t\timage_256: \"global-screenshot-2.png\",\n\t\t\t\tsubject: \"/api/slides/2/\",\n\t\t\t\tteam: null,\n\t\t\t},\n\t\t\t{\n\t\t\t\timage_256: \"team-1-screenshot.png\",\n\t\t\t\tsubject: \"/api/sections/2/\",\n\t\t\t\tteam: \"/api/teams/1/\",\n\t\t\t},\n\t\t\t{\n\t\t\t\timage_256: \"team-1-screenshot.png\",\n\t\t\t\tsubject: \"/api/slides/1/\",\n\t\t\t\tteam: \"/api/teams/1/\",\n\t\t\t},\n\t\t]);\n\t});\n});\n"],"file":"base-presentation-model.spec.js"}
1
+ {"version":3,"file":"base-presentation-model.spec.js","names":["_basePresentationModel","require","_deckVersionScreenshots","describe","it","config","BasePresentationModel","getVisibilityAndSequence","sequence","visible","url","expected","selectionID","expect","toEqual","choicelist","selections","id","tags","getTags","_typeof2","default","length","model","namespaced_key","options","deckTags","deck","adjunct","key","screenshots","DeckVersionScreenshotCollection","subject","image_256","team","filtered","filterScreenshotsByTeam","toJSON"],"sources":["../../src/presentation/base-presentation-model.spec.js"],"sourcesContent":["import { BasePresentationModel } from \"./base-presentation-model.js\";\nimport { DeckVersionScreenshotCollection } from \"../collections/deck-version-screenshots.js\";\n\ndescribe(\"#getVisibilityAndSequence\", () => {\n\tit(\"should return model defaults when no options\", () => {\n\t\tconst config = BasePresentationModel.getVisibilityAndSequence({\n\t\t\tsequence: 99,\n\t\t\tvisible: true,\n\t\t\turl: () => \"\",\n\t\t});\n\n\t\tconst expected = {\n\t\t\tsequence: 99,\n\t\t\tvisible: true,\n\t\t\tselectionID: null,\n\t\t};\n\n\t\texpect(config).toEqual(expected);\n\t});\n\n\tit(\"should return model defaults when no options\", () => {\n\t\tconst config = BasePresentationModel.getVisibilityAndSequence({\n\t\t\tsequence: 99,\n\t\t\tvisible: true,\n\t\t\turl: () => \"\",\n\t\t});\n\n\t\tconst expected = {\n\t\t\tsequence: 99,\n\t\t\tvisible: true,\n\t\t\tselectionID: null,\n\t\t};\n\n\t\texpect(config).toEqual(expected);\n\t});\n\n\tit(\"should return choicelist config\", () => {\n\t\tconst choicelist = [\n\t\t\t{\n\t\t\t\turl: \"bleh/meh\",\n\t\t\t\tvisible: true,\n\t\t\t},\n\t\t];\n\n\t\tconst config = BasePresentationModel.getVisibilityAndSequence(\n\t\t\t{\n\t\t\t\tsequence: 99,\n\t\t\t\tvisible: false,\n\t\t\t\turl: () => \"bleh/meh\",\n\t\t\t},\n\t\t\t{\n\t\t\t\tchoicelist,\n\t\t\t},\n\t\t);\n\n\t\tconst expected = {\n\t\t\tsequence: 0,\n\t\t\tvisible: true,\n\t\t\tselectionID: null,\n\t\t};\n\n\t\texpect(config).toEqual(expected);\n\t});\n\n\tit(\"should return selections config\", () => {\n\t\tconst selections = [\n\t\t\t{\n\t\t\t\turl: \"bleh/meh\",\n\t\t\t\tvisible: true,\n\t\t\t\tsequence: 27,\n\t\t\t\tid: 58,\n\t\t\t},\n\t\t];\n\n\t\tconst config = BasePresentationModel.getVisibilityAndSequence(\n\t\t\t{\n\t\t\t\tsequence: 99,\n\t\t\t\tvisible: false,\n\t\t\t\turl: () => \"bleh/meh\",\n\t\t\t},\n\t\t\t{\n\t\t\t\tselections,\n\t\t\t},\n\t\t);\n\n\t\tconst expected = {\n\t\t\tsequence: 27,\n\t\t\tvisible: true,\n\t\t\tselectionID: 58,\n\t\t};\n\n\t\texpect(config).toEqual(expected);\n\t});\n\n\tit(\"should return choicelist config if both are provided\", () => {\n\t\tconst choicelist = [\n\t\t\t{\n\t\t\t\turl: \"gah/meh\",\n\t\t\t\tvisible: false,\n\t\t\t},\n\t\t\t{\n\t\t\t\turl: \"bleh/meh\",\n\t\t\t\tvisible: true,\n\t\t\t},\n\t\t];\n\n\t\tconst selections = [\n\t\t\t{\n\t\t\t\turl: \"bleh/meh\",\n\t\t\t\tvisible: true,\n\t\t\t\tsequence: 27,\n\t\t\t\tid: 58,\n\t\t\t},\n\t\t];\n\n\t\tconst config = BasePresentationModel.getVisibilityAndSequence(\n\t\t\t{\n\t\t\t\tsequence: 99,\n\t\t\t\tvisible: false,\n\t\t\t\turl: () => \"bleh/meh\",\n\t\t\t},\n\t\t\t{\n\t\t\t\tchoicelist,\n\t\t\t\tselections,\n\t\t\t},\n\t\t);\n\n\t\tconst expected = {\n\t\t\tsequence: 1,\n\t\t\tvisible: true,\n\t\t\tselectionID: null,\n\t\t};\n\n\t\texpect(config).toEqual(expected);\n\t});\n\n\t// adjuncts!!\n});\n\ndescribe(\"#getTags\", () => {\n\tit(\"should return empty array when no options or model tags\", () => {\n\t\tconst tags = BasePresentationModel.getTags({});\n\n\t\texpect(typeof tags).toEqual(\"object\");\n\t\texpect(tags.length).toEqual(0);\n\t});\n\n\tit(\"should return tags when no tags passed in options\", () => {\n\t\tconst model = {\n\t\t\ttags: [\"model-tag-1\", \"model-tag-2\"],\n\t\t};\n\t\tconst tags = BasePresentationModel.getTags(model);\n\n\t\texpect(tags).toEqual(model.tags);\n\t});\n\n\tit(\"should return tags for slide when tags passed in options\", () => {\n\t\tconst model = {\n\t\t\tnamespaced_key: \"slide-key\",\n\t\t\ttags: [\"model-tag-1\", \"model-tag-2\"],\n\t\t};\n\n\t\tconst options = {\n\t\t\tdeckTags: {\n\t\t\t\t\"\": [\"deck-tags\"],\n\t\t\t\t\"slide-key\": [\"slide-tags\"],\n\t\t\t},\n\t\t};\n\n\t\tconst tags = BasePresentationModel.getTags(model, options);\n\n\t\texpect(tags).toEqual([\"slide-tags\"]);\n\t});\n\n\tit(\"should return tags for welcome slide when tags passed in options\", () => {\n\t\tconst model = {\n\t\t\tdeck: {},\n\t\t\ttags: [\"model-tag-1\", \"model-tag-2\"],\n\t\t};\n\n\t\tconst options = {\n\t\t\tdeckTags: {\n\t\t\t\t\"\": [\"deck-tags\"],\n\t\t\t\t\"slide-key\": [\"slide-tags\"],\n\t\t\t},\n\t\t};\n\n\t\tconst tags = BasePresentationModel.getTags(model, options);\n\n\t\texpect(tags).toEqual([\"deck-tags\"]);\n\t});\n\n\tit(\"should return tags for an adjunct section when tags passed in options\", () => {\n\t\tconst model = {\n\t\t\tadjunct: true,\n\t\t\tkey: \"adjunctsection-key\",\n\t\t\ttags: [\"old-tag-1\", \"old-tag-2\"],\n\t\t};\n\n\t\tconst options = {\n\t\t\tdeckTags: {\n\t\t\t\t\"\": [\"deck-tags\"],\n\t\t\t\t\"adjunctsection-key\": [\"adjunctsection-tags\"],\n\t\t\t},\n\t\t};\n\n\t\tconst tags = BasePresentationModel.getTags(model, options);\n\n\t\texpect(tags).toEqual([\"adjunctsection-tags\"]);\n\t});\n\n\tit(\"should return tags for an adjunct slide when tags passed in options\", () => {\n\t\tconst model = {\n\t\t\tadjunct: true,\n\t\t\tkey: \"adjunctslide-key\",\n\t\t\ttags: [\"old-tag-1\", \"old-tag-2\"],\n\t\t};\n\n\t\tconst options = {\n\t\t\tdeckTags: {\n\t\t\t\t\"\": [\"deck-tags\"],\n\t\t\t\t\"section-key/adjunctslide-key\": [\"adjunctslide-tags\"],\n\t\t\t},\n\t\t};\n\n\t\tconst tags = BasePresentationModel.getTags(model, options);\n\n\t\texpect(tags).toEqual([\"adjunctslide-tags\"]);\n\t});\n});\n\ndescribe(\"#filterScreenshotsByTeam\", () => {\n\tconst screenshots = new DeckVersionScreenshotCollection([\n\t\t{\n\t\t\tsubject: \"/api/slides/1/\",\n\t\t\timage_256: \"global-screenshot-1.png\",\n\t\t\tteam: null,\n\t\t},\n\t\t{\n\t\t\tsubject: \"/api/slides/2/\",\n\t\t\timage_256: \"global-screenshot-2.png\",\n\t\t\tteam: null,\n\t\t},\n\t\t{\n\t\t\tsubject: \"/api/slides/1/\",\n\t\t\timage_256: \"team-1-screenshot.png\",\n\t\t\tteam: \"/api/teams/1/\",\n\t\t},\n\t\t{\n\t\t\tsubject: \"/api/sections/2/\",\n\t\t\timage_256: \"team-1-screenshot.png\",\n\t\t\tteam: \"/api/teams/1/\",\n\t\t},\n\t\t// Just for testing that the team filters don't get cross-contaminated\n\t\t{\n\t\t\tsubject: \"/api/sections/2/\",\n\t\t\timage_256: \"team-2-screenshot.png\",\n\t\t\tteam: \"/api/teams/2/\",\n\t\t},\n\t]);\n\n\tit(\"should just return global screenshots if team is null\", () => {\n\t\tconst filtered = BasePresentationModel.filterScreenshotsByTeam(\n\t\t\tscreenshots,\n\t\t\tnull,\n\t\t).toJSON();\n\n\t\texpect(filtered).toEqual([\n\t\t\t{\n\t\t\t\tsubject: \"/api/slides/1/\",\n\t\t\t\timage_256: \"global-screenshot-1.png\",\n\t\t\t\tteam: null,\n\t\t\t},\n\t\t\t{\n\t\t\t\tsubject: \"/api/slides/2/\",\n\t\t\t\timage_256: \"global-screenshot-2.png\",\n\t\t\t\tteam: null,\n\t\t\t},\n\t\t]);\n\t});\n\n\tit(\"should return globals with team override\", () => {\n\t\tconst filtered = BasePresentationModel.filterScreenshotsByTeam(\n\t\t\tscreenshots,\n\t\t\t1,\n\t\t).toJSON();\n\n\t\texpect(filtered).toEqual([\n\t\t\t{\n\t\t\t\timage_256: \"global-screenshot-2.png\",\n\t\t\t\tsubject: \"/api/slides/2/\",\n\t\t\t\tteam: null,\n\t\t\t},\n\t\t\t{\n\t\t\t\timage_256: \"team-1-screenshot.png\",\n\t\t\t\tsubject: \"/api/sections/2/\",\n\t\t\t\tteam: \"/api/teams/1/\",\n\t\t\t},\n\t\t\t{\n\t\t\t\timage_256: \"team-1-screenshot.png\",\n\t\t\t\tsubject: \"/api/slides/1/\",\n\t\t\t\tteam: \"/api/teams/1/\",\n\t\t\t},\n\t\t]);\n\t});\n});\n"],"mappings":"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","ignoreList":[]}