@livepreso/api 6.45.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 (478) hide show
  1. package/.rush/temp/1aebf46f78ad5c45f82f8147751890adb37bef9d.log +10 -0
  2. package/.rush/temp/3cdc82c352e8ed90607952873f3aa4c200490874.log +10 -0
  3. package/.rush/temp/5489ab737e406518983c16c57fc3e1edc07c0341.log +10 -0
  4. package/.rush/temp/924652444ab5a6063f328a2217123a2227058896.log +10 -0
  5. package/.rush/temp/9f2030f96d62f3e38052e35201819a216566f14f.log +10 -0
  6. package/.rush/temp/operation/test/all.log +19 -0
  7. package/.rush/temp/operation/test/state.json +3 -0
  8. package/.rush/temp/shrinkwrap-deps.json +563 -546
  9. package/CHANGELOG.json +12 -0
  10. package/CHANGELOG.md +8 -1
  11. package/README.md +4 -4
  12. package/api.build.log +2 -4
  13. package/api.test.cache.log +1 -0
  14. package/api.test.log +19 -0
  15. package/cjs/api.js +18 -17
  16. package/cjs/api.js.map +1 -1
  17. package/cjs/api.spec.js +0 -4
  18. package/cjs/api.spec.js.map +1 -1
  19. package/cjs/auth.js +5 -32
  20. package/cjs/auth.js.map +1 -1
  21. package/cjs/auth.spec.js +52 -77
  22. package/cjs/auth.spec.js.map +1 -1
  23. package/cjs/caching.js +2 -7
  24. package/cjs/caching.js.map +1 -1
  25. package/cjs/collections/activity.js +16 -56
  26. package/cjs/collections/activity.js.map +1 -1
  27. package/cjs/collections/adjunct-sections.js +1 -10
  28. package/cjs/collections/adjunct-sections.js.map +1 -1
  29. package/cjs/collections/adjunct-slides.js +1 -10
  30. package/cjs/collections/adjunct-slides.js.map +1 -1
  31. package/cjs/collections/adjunct-sub-slides.js +1 -9
  32. package/cjs/collections/adjunct-sub-slides.js.map +1 -1
  33. package/cjs/collections/appointment-adjunct-tags.js +1 -9
  34. package/cjs/collections/appointment-adjunct-tags.js.map +1 -1
  35. package/cjs/collections/appointment-deckversion-tags.js +1 -9
  36. package/cjs/collections/appointment-deckversion-tags.js.map +1 -1
  37. package/cjs/collections/appointment-duplicates.js +1 -9
  38. package/cjs/collections/appointment-duplicates.js.map +1 -1
  39. package/cjs/collections/appointment-editors.js +1 -10
  40. package/cjs/collections/appointment-editors.js.map +1 -1
  41. package/cjs/collections/appointment-section-tags.js +1 -9
  42. package/cjs/collections/appointment-section-tags.js.map +1 -1
  43. package/cjs/collections/appointment-slide-tags.js +1 -9
  44. package/cjs/collections/appointment-slide-tags.js.map +1 -1
  45. package/cjs/collections/appointment-tags.js +66 -103
  46. package/cjs/collections/appointment-tags.js.map +1 -1
  47. package/cjs/collections/appointment-templates.js +27 -0
  48. package/cjs/collections/appointment-templates.js.map +1 -0
  49. package/cjs/collections/appointments.js +9 -29
  50. package/cjs/collections/appointments.js.map +1 -1
  51. package/cjs/collections/assets.js +1 -9
  52. package/cjs/collections/assets.js.map +1 -1
  53. package/cjs/collections/auto-adjuncts.js +6 -21
  54. package/cjs/collections/auto-adjuncts.js.map +1 -1
  55. package/cjs/collections/base.js +37 -111
  56. package/cjs/collections/base.js.map +1 -1
  57. package/cjs/collections/base.spec.js +186 -233
  58. package/cjs/collections/base.spec.js.map +1 -1
  59. package/cjs/collections/cms-vals.js +9 -16
  60. package/cjs/collections/cms-vals.js.map +1 -1
  61. package/cjs/collections/contact-phones.js +20 -0
  62. package/cjs/collections/contact-phones.js.map +1 -0
  63. package/cjs/collections/contacts.js +1 -9
  64. package/cjs/collections/contacts.js.map +1 -1
  65. package/cjs/collections/created-assets.js +1 -10
  66. package/cjs/collections/created-assets.js.map +1 -1
  67. package/cjs/collections/customers.js +1 -9
  68. package/cjs/collections/customers.js.map +1 -1
  69. package/cjs/collections/deck-notes.js +1 -10
  70. package/cjs/collections/deck-notes.js.map +1 -1
  71. package/cjs/collections/deck-version-screenshots.js +4 -17
  72. package/cjs/collections/deck-version-screenshots.js.map +1 -1
  73. package/cjs/collections/deck-versions.js +5 -20
  74. package/cjs/collections/deck-versions.js.map +1 -1
  75. package/cjs/collections/decks.js +1 -9
  76. package/cjs/collections/decks.js.map +1 -1
  77. package/cjs/collections/deleted-assets.js +1 -10
  78. package/cjs/collections/deleted-assets.js.map +1 -1
  79. package/cjs/collections/dispatches.js +1 -13
  80. package/cjs/collections/dispatches.js.map +1 -1
  81. package/cjs/collections/event-objects.js +1 -9
  82. package/cjs/collections/event-objects.js.map +1 -1
  83. package/cjs/collections/events.js +1 -9
  84. package/cjs/collections/events.js.map +1 -1
  85. package/cjs/collections/groups.js +1 -9
  86. package/cjs/collections/groups.js.map +1 -1
  87. package/cjs/collections/images.js +1 -9
  88. package/cjs/collections/images.js.map +1 -1
  89. package/cjs/collections/locations.js +1 -9
  90. package/cjs/collections/locations.js.map +1 -1
  91. package/cjs/collections/opportunities.js +1 -9
  92. package/cjs/collections/opportunities.js.map +1 -1
  93. package/cjs/collections/pack-diffs.js +1 -9
  94. package/cjs/collections/pack-diffs.js.map +1 -1
  95. package/cjs/collections/packs.js +1 -9
  96. package/cjs/collections/packs.js.map +1 -1
  97. package/cjs/collections/presets.js +1 -9
  98. package/cjs/collections/presets.js.map +1 -1
  99. package/cjs/collections/section-selections.js +1 -9
  100. package/cjs/collections/section-selections.js.map +1 -1
  101. package/cjs/collections/sections.js +1 -9
  102. package/cjs/collections/sections.js.map +1 -1
  103. package/cjs/collections/slide-selections.js +1 -9
  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 +22 -88
  122. package/cjs/collections.js.map +1 -1
  123. package/cjs/fixtures.js +187 -0
  124. package/cjs/fixtures.js.map +1 -0
  125. package/cjs/index.js +0 -10
  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 +1 -17
  132. package/cjs/middlewares/auth.js.map +1 -1
  133. package/cjs/middlewares/base.js +3 -9
  134. package/cjs/middlewares/base.js.map +1 -1
  135. package/cjs/middlewares/json.js +1 -19
  136. package/cjs/middlewares/json.js.map +1 -1
  137. package/cjs/middlewares/redirect.js +5 -21
  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 +8 -21
  142. package/cjs/models/adjunct-section.js.map +1 -1
  143. package/cjs/models/adjunct-slide.js +8 -21
  144. package/cjs/models/adjunct-slide.js.map +1 -1
  145. package/cjs/models/adjunct-sub-slide.js +1 -16
  146. package/cjs/models/adjunct-sub-slide.js.map +1 -1
  147. package/cjs/models/adjunct.js +34 -10
  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-duplicate.js +3 -25
  156. package/cjs/models/appointment-duplicate.js.map +1 -1
  157. package/cjs/models/appointment-editor.js +1 -14
  158. package/cjs/models/appointment-editor.js.map +1 -1
  159. package/cjs/models/appointment-section-tags.js +1 -13
  160. package/cjs/models/appointment-section-tags.js.map +1 -1
  161. package/cjs/models/appointment-slide-tags.js +1 -13
  162. package/cjs/models/appointment-slide-tags.js.map +1 -1
  163. package/cjs/models/appointment-stats.js +1 -11
  164. package/cjs/models/appointment-stats.js.map +1 -1
  165. package/cjs/models/appointment-tags.js +1 -10
  166. package/cjs/models/appointment-tags.js.map +1 -1
  167. package/cjs/models/appointment-template.js +23 -0
  168. package/cjs/models/appointment-template.js.map +1 -0
  169. package/cjs/models/appointment-viewing.js +1 -8
  170. package/cjs/models/appointment-viewing.js.map +1 -1
  171. package/cjs/models/appointment.js +85 -70
  172. package/cjs/models/appointment.js.map +1 -1
  173. package/cjs/models/asset.js +12 -11
  174. package/cjs/models/asset.js.map +1 -1
  175. package/cjs/models/auto-adjunct-key-check.js +1 -15
  176. package/cjs/models/auto-adjunct-key-check.js.map +1 -1
  177. package/cjs/models/auto-adjunct.js +3 -14
  178. package/cjs/models/auto-adjunct.js.map +1 -1
  179. package/cjs/models/base.js +74 -176
  180. package/cjs/models/base.js.map +1 -1
  181. package/cjs/models/base.spec.js +0 -31
  182. package/cjs/models/base.spec.js.map +1 -1
  183. package/cjs/models/choicelist.js +1 -8
  184. package/cjs/models/choicelist.js.map +1 -1
  185. package/cjs/models/cms-val.js +28 -15
  186. package/cjs/models/cms-val.js.map +1 -1
  187. package/cjs/models/cms-val.spec.js +25 -0
  188. package/cjs/models/cms-val.spec.js.map +1 -0
  189. package/cjs/models/contact-phone.js +54 -0
  190. package/cjs/models/contact-phone.js.map +1 -0
  191. package/cjs/models/contact.js +1 -18
  192. package/cjs/models/contact.js.map +1 -1
  193. package/cjs/models/customer.js +5 -30
  194. package/cjs/models/customer.js.map +1 -1
  195. package/cjs/models/deck-note.js +1 -9
  196. package/cjs/models/deck-note.js.map +1 -1
  197. package/cjs/models/deck-tags.js +1 -12
  198. package/cjs/models/deck-tags.js.map +1 -1
  199. package/cjs/models/deck-version-screenshot.js +1 -13
  200. package/cjs/models/deck-version-screenshot.js.map +1 -1
  201. package/cjs/models/deck-version.js +28 -44
  202. package/cjs/models/deck-version.js.map +1 -1
  203. package/cjs/models/deck.js +1 -14
  204. package/cjs/models/deck.js.map +1 -1
  205. package/cjs/models/dispatch-preview.js +1 -13
  206. package/cjs/models/dispatch-preview.js.map +1 -1
  207. package/cjs/models/dispatch.js +1 -23
  208. package/cjs/models/dispatch.js.map +1 -1
  209. package/cjs/models/envs.js +1 -6
  210. package/cjs/models/envs.js.map +1 -1
  211. package/cjs/models/event-object.js +1 -11
  212. package/cjs/models/event-object.js.map +1 -1
  213. package/cjs/models/event.js +1 -13
  214. package/cjs/models/event.js.map +1 -1
  215. package/cjs/models/feed-data.js +1 -13
  216. package/cjs/models/feed-data.js.map +1 -1
  217. package/cjs/models/file.js +1 -11
  218. package/cjs/models/file.js.map +1 -1
  219. package/cjs/models/group.js +1 -11
  220. package/cjs/models/group.js.map +1 -1
  221. package/cjs/models/handover.js +1 -13
  222. package/cjs/models/handover.js.map +1 -1
  223. package/cjs/models/hosted-preso.js +1 -15
  224. package/cjs/models/hosted-preso.js.map +1 -1
  225. package/cjs/models/image.js +1 -16
  226. package/cjs/models/image.js.map +1 -1
  227. package/cjs/models/location.js +1 -13
  228. package/cjs/models/location.js.map +1 -1
  229. package/cjs/models/manifest-json.js +74 -73
  230. package/cjs/models/manifest-json.js.map +1 -1
  231. package/cjs/models/onshare.js +1 -14
  232. package/cjs/models/onshare.js.map +1 -1
  233. package/cjs/models/opportunity.js +1 -14
  234. package/cjs/models/opportunity.js.map +1 -1
  235. package/cjs/models/pack-diff.js +1 -14
  236. package/cjs/models/pack-diff.js.map +1 -1
  237. package/cjs/models/pack.js +1 -12
  238. package/cjs/models/pack.js.map +1 -1
  239. package/cjs/models/preset.js +4 -20
  240. package/cjs/models/preset.js.map +1 -1
  241. package/cjs/models/refresh-request.js +17 -11
  242. package/cjs/models/refresh-request.js.map +1 -1
  243. package/cjs/models/room.js +1 -9
  244. package/cjs/models/room.js.map +1 -1
  245. package/cjs/models/salesforce-lookup.js +1 -12
  246. package/cjs/models/salesforce-lookup.js.map +1 -1
  247. package/cjs/models/section-selection.js +1 -14
  248. package/cjs/models/section-selection.js.map +1 -1
  249. package/cjs/models/section.js +1 -14
  250. package/cjs/models/section.js.map +1 -1
  251. package/cjs/models/slide-selection.js +1 -14
  252. package/cjs/models/slide-selection.js.map +1 -1
  253. package/cjs/models/slide.js +1 -14
  254. package/cjs/models/slide.js.map +1 -1
  255. package/cjs/models/snapshot.js +13 -15
  256. package/cjs/models/snapshot.js.map +1 -1
  257. package/cjs/models/snapshot.spec.js +44 -0
  258. package/cjs/models/snapshot.spec.js.map +1 -0
  259. package/cjs/models/sub-slide.js +1 -12
  260. package/cjs/models/sub-slide.js.map +1 -1
  261. package/cjs/models/support-ticket.js +1 -11
  262. package/cjs/models/support-ticket.js.map +1 -1
  263. package/cjs/models/tag.js +1 -13
  264. package/cjs/models/tag.js.map +1 -1
  265. package/cjs/models/team.js +14 -13
  266. package/cjs/models/team.js.map +1 -1
  267. package/cjs/models/template.js +87 -15
  268. package/cjs/models/template.js.map +1 -1
  269. package/cjs/models/tenancy.js +4 -11
  270. package/cjs/models/tenancy.js.map +1 -1
  271. package/cjs/models/timing-log.js +21 -78
  272. package/cjs/models/timing-log.js.map +1 -1
  273. package/cjs/models/timing-log.spec.js +24 -37
  274. package/cjs/models/timing-log.spec.js.map +1 -1
  275. package/cjs/models/token.js +1 -11
  276. package/cjs/models/token.js.map +1 -1
  277. package/cjs/models/transcribe-socket.js +1 -8
  278. package/cjs/models/transcribe-socket.js.map +1 -1
  279. package/cjs/models/upload.js +1 -7
  280. package/cjs/models/upload.js.map +1 -1
  281. package/cjs/models/user.js +10 -28
  282. package/cjs/models/user.js.map +1 -1
  283. package/cjs/models/user.spec.js +20 -30
  284. package/cjs/models/user.spec.js.map +1 -1
  285. package/cjs/models.js +22 -132
  286. package/cjs/models.js.map +1 -1
  287. package/cjs/presentation/appointment-presentation.js +9 -35
  288. package/cjs/presentation/appointment-presentation.js.map +1 -1
  289. package/cjs/presentation/base-presentation-collection.js +1 -7
  290. package/cjs/presentation/base-presentation-collection.js.map +1 -1
  291. package/cjs/presentation/base-presentation-model.js +40 -74
  292. package/cjs/presentation/base-presentation-model.js.map +1 -1
  293. package/cjs/presentation/base-presentation-model.spec.js +6 -27
  294. package/cjs/presentation/base-presentation-model.spec.js.map +1 -1
  295. package/cjs/presentation/presentation-deck.js +46 -83
  296. package/cjs/presentation/presentation-deck.js.map +1 -1
  297. package/cjs/presentation/presentation-deck.spec.js +72 -95
  298. package/cjs/presentation/presentation-deck.spec.js.map +1 -1
  299. package/cjs/presentation/presentation-decks.js +1 -9
  300. package/cjs/presentation/presentation-decks.js.map +1 -1
  301. package/cjs/presentation/presentation-section.js +37 -77
  302. package/cjs/presentation/presentation-section.js.map +1 -1
  303. package/cjs/presentation/presentation-section.spec.js +211 -271
  304. package/cjs/presentation/presentation-section.spec.js.map +1 -1
  305. package/cjs/presentation/presentation-sections.js +1 -9
  306. package/cjs/presentation/presentation-sections.js.map +1 -1
  307. package/cjs/presentation/presentation-slide.js +49 -76
  308. package/cjs/presentation/presentation-slide.js.map +1 -1
  309. package/cjs/presentation/presentation-slide.spec.js +145 -192
  310. package/cjs/presentation/presentation-slide.spec.js.map +1 -1
  311. package/cjs/presentation/presentation-slides.js +1 -9
  312. package/cjs/presentation/presentation-slides.js.map +1 -1
  313. package/cjs/presentation/presentation-subslide.js +3 -23
  314. package/cjs/presentation/presentation-subslide.js.map +1 -1
  315. package/cjs/presentation/presentation-subslide.spec.js +101 -125
  316. package/cjs/presentation/presentation-subslide.spec.js.map +1 -1
  317. package/cjs/presentation/presentation-subslides.js +1 -9
  318. package/cjs/presentation/presentation-subslides.js.map +1 -1
  319. package/cjs/presentation/presentation.js +62 -111
  320. package/cjs/presentation/presentation.js.map +1 -1
  321. package/cjs/presentation.js +0 -20
  322. package/cjs/presentation.js.map +1 -1
  323. package/cjs/selections.js +81 -0
  324. package/cjs/selections.js.map +1 -0
  325. package/cjs/state-register.js +3 -11
  326. package/cjs/state-register.js.map +1 -1
  327. package/cjs/sync.js +32 -76
  328. package/cjs/sync.js.map +1 -1
  329. package/cjs/utils.js +51 -42
  330. package/cjs/utils.js.map +1 -1
  331. package/cjs/utils.spec.js +0 -4
  332. package/cjs/utils.spec.js.map +1 -1
  333. package/jest.config.js +4 -3
  334. package/package.json +9 -6
  335. package/src/api.js +17 -2
  336. package/src/auth.js +3 -3
  337. package/src/collections/activity.js +4 -4
  338. package/src/collections/adjunct-sections.js +1 -1
  339. package/src/collections/adjunct-slides.js +1 -1
  340. package/src/collections/adjunct-sub-slides.js +1 -1
  341. package/src/collections/appointment-adjunct-tags.js +1 -1
  342. package/src/collections/appointment-deckversion-tags.js +2 -2
  343. package/src/collections/appointment-duplicates.js +1 -1
  344. package/src/collections/appointment-editors.js +1 -1
  345. package/src/collections/appointment-section-tags.js +1 -1
  346. package/src/collections/appointment-slide-tags.js +1 -1
  347. package/src/collections/appointment-tags.js +20 -18
  348. package/src/collections/appointment-templates.js +26 -0
  349. package/src/collections/appointments.js +9 -9
  350. package/src/collections/assets.js +1 -1
  351. package/src/collections/auto-adjuncts.js +1 -1
  352. package/src/collections/base.js +10 -6
  353. package/src/collections/base.spec.js +2 -2
  354. package/src/collections/cms-vals.js +5 -1
  355. package/src/collections/contact-phones.js +18 -0
  356. package/src/collections/contacts.js +1 -1
  357. package/src/collections/created-assets.js +1 -1
  358. package/src/collections/customers.js +1 -1
  359. package/src/collections/deck-notes.js +1 -1
  360. package/src/collections/deck-version-screenshots.js +1 -1
  361. package/src/collections/deck-versions.js +1 -1
  362. package/src/collections/decks.js +1 -1
  363. package/src/collections/deleted-assets.js +1 -1
  364. package/src/collections/dispatches.js +2 -2
  365. package/src/collections/event-objects.js +1 -1
  366. package/src/collections/events.js +1 -1
  367. package/src/collections/groups.js +1 -1
  368. package/src/collections/images.js +1 -1
  369. package/src/collections/locations.js +1 -1
  370. package/src/collections/opportunities.js +1 -1
  371. package/src/collections/pack-diffs.js +1 -1
  372. package/src/collections/packs.js +1 -1
  373. package/src/collections/presets.js +1 -1
  374. package/src/collections/section-selections.js +1 -1
  375. package/src/collections/sections.js +1 -1
  376. package/src/collections/slide-selections.js +1 -1
  377. package/src/collections/slides.js +1 -1
  378. package/src/collections/snapshots.js +1 -1
  379. package/src/collections/sub-slides.js +1 -1
  380. package/src/collections/tags.js +1 -1
  381. package/src/collections/teams.js +1 -1
  382. package/src/collections/templates.js +1 -1
  383. package/src/collections/uploads.js +1 -1
  384. package/src/collections/users.js +1 -1
  385. package/src/collections.js +2 -0
  386. package/src/fixtures.js +193 -0
  387. package/src/models/activity-item.js +1 -1
  388. package/src/models/adjunct-section.js +7 -2
  389. package/src/models/adjunct-slide.js +7 -2
  390. package/src/models/adjunct-sub-slide.js +1 -1
  391. package/src/models/adjunct.js +39 -1
  392. package/src/models/appointment-adjunct-tags.js +1 -1
  393. package/src/models/appointment-deckversion-tags.js +1 -1
  394. package/src/models/appointment-duplicate.js +1 -1
  395. package/src/models/appointment-editor.js +1 -1
  396. package/src/models/appointment-section-tags.js +1 -1
  397. package/src/models/appointment-slide-tags.js +1 -1
  398. package/src/models/appointment-stats.js +1 -1
  399. package/src/models/appointment-tags.js +1 -1
  400. package/src/models/appointment-template.js +19 -0
  401. package/src/models/appointment-viewing.js +1 -1
  402. package/src/models/appointment.js +101 -38
  403. package/src/models/asset.js +15 -1
  404. package/src/models/auto-adjunct-key-check.js +1 -1
  405. package/src/models/auto-adjunct.js +2 -1
  406. package/src/models/base.js +36 -21
  407. package/src/models/base.spec.js +18 -18
  408. package/src/models/choicelist.js +1 -1
  409. package/src/models/cms-val.js +24 -1
  410. package/src/models/cms-val.spec.js +14 -0
  411. package/src/models/contact-phone.js +57 -0
  412. package/src/models/contact.js +1 -1
  413. package/src/models/customer.js +3 -3
  414. package/src/models/deck-note.js +1 -1
  415. package/src/models/deck-tags.js +1 -1
  416. package/src/models/deck-version-screenshot.js +1 -1
  417. package/src/models/deck-version.js +31 -6
  418. package/src/models/deck.js +1 -1
  419. package/src/models/dispatch-preview.js +1 -1
  420. package/src/models/dispatch.js +1 -1
  421. package/src/models/event-object.js +1 -1
  422. package/src/models/event.js +1 -1
  423. package/src/models/feed-data.js +2 -2
  424. package/src/models/file.js +1 -1
  425. package/src/models/group.js +1 -1
  426. package/src/models/handover.js +1 -1
  427. package/src/models/hosted-preso.js +1 -1
  428. package/src/models/image.js +1 -1
  429. package/src/models/location.js +1 -1
  430. package/src/models/manifest-json.js +56 -5
  431. package/src/models/onshare.js +1 -1
  432. package/src/models/opportunity.js +1 -1
  433. package/src/models/pack-diff.js +1 -1
  434. package/src/models/pack.js +1 -1
  435. package/src/models/preset.js +3 -1
  436. package/src/models/refresh-request.js +15 -1
  437. package/src/models/room.js +1 -1
  438. package/src/models/salesforce-lookup.js +1 -1
  439. package/src/models/section-selection.js +1 -1
  440. package/src/models/section.js +1 -1
  441. package/src/models/slide-selection.js +1 -1
  442. package/src/models/slide.js +1 -1
  443. package/src/models/snapshot.js +11 -2
  444. package/src/models/snapshot.spec.js +31 -0
  445. package/src/models/sub-slide.js +1 -1
  446. package/src/models/support-ticket.js +1 -1
  447. package/src/models/tag.js +1 -1
  448. package/src/models/team.js +14 -3
  449. package/src/models/template.js +72 -2
  450. package/src/models/tenancy.js +4 -1
  451. package/src/models/timing-log.js +2 -2
  452. package/src/models/timing-log.spec.js +1 -1
  453. package/src/models/token.js +1 -1
  454. package/src/models/transcribe-socket.js +1 -1
  455. package/src/models/user.js +13 -2
  456. package/src/models.js +2 -0
  457. package/src/presentation/appointment-presentation.js +4 -4
  458. package/src/presentation/base-presentation-collection.js +1 -1
  459. package/src/presentation/base-presentation-model.js +25 -16
  460. package/src/presentation/base-presentation-model.spec.js +5 -5
  461. package/src/presentation/presentation-deck.js +28 -23
  462. package/src/presentation/presentation-deck.spec.js +4 -4
  463. package/src/presentation/presentation-decks.js +1 -1
  464. package/src/presentation/presentation-section.js +59 -31
  465. package/src/presentation/presentation-section.spec.js +31 -32
  466. package/src/presentation/presentation-sections.js +1 -1
  467. package/src/presentation/presentation-slide.js +51 -25
  468. package/src/presentation/presentation-slide.spec.js +21 -27
  469. package/src/presentation/presentation-slides.js +1 -1
  470. package/src/presentation/presentation-subslide.js +5 -5
  471. package/src/presentation/presentation-subslide.spec.js +3 -3
  472. package/src/presentation/presentation-subslides.js +1 -1
  473. package/src/presentation/presentation.js +5 -3
  474. package/src/selections.js +71 -0
  475. package/src/sync.js +1 -1
  476. package/src/utils.js +31 -8
  477. package/src/utils.spec.js +4 -4
  478. package/.rush/temp/package-deps_test.json +0 -172
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/presentation/base-presentation-model.js"],"names":["BasePresentationModel","BaseModel","extend","url","getThumbnail","model","screenshots","overrideScreenshot","filter","screen","subject","length","Error","image_256","filterScreenshotsByTeam","_screenshots","_team","DeckVersionScreenshotCollection","team","TeamModel","globalScreenshots","map","toJSON","result","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","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\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\tconst overrideScreenshot =\n\t\tscreenshots?.filter((screen) => {\n\t\t\treturn screen.subject === model.url();\n\t\t}) ?? [];\n\n\tif (overrideScreenshot.length) {\n\t\tif (overrideScreenshot.length > 1) {\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\n\t\treturn overrideScreenshot[0].image_256;\n\t}\n\n\treturn 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","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","return","minLen","_arrayLikeToArray","Object","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","ownKeys","r","t","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","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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"}
@@ -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,20 @@ 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
  });
116
+
126
117
  describe("#getTags", function () {
127
118
  it("should return empty array when no options or model tags", function () {
128
119
  var tags = _basePresentationModel.BasePresentationModel.getTags({});
129
-
130
120
  expect((0, _typeof2.default)(tags)).toEqual("object");
131
121
  expect(tags.length).toEqual(0);
132
122
  });
@@ -134,9 +124,7 @@ describe("#getTags", function () {
134
124
  var model = {
135
125
  tags: ["model-tag-1", "model-tag-2"]
136
126
  };
137
-
138
127
  var tags = _basePresentationModel.BasePresentationModel.getTags(model);
139
-
140
128
  expect(tags).toEqual(model.tags);
141
129
  });
142
130
  it("should return tags for slide when tags passed in options", function () {
@@ -150,9 +138,7 @@ describe("#getTags", function () {
150
138
  "slide-key": ["slide-tags"]
151
139
  }
152
140
  };
153
-
154
141
  var tags = _basePresentationModel.BasePresentationModel.getTags(model, options);
155
-
156
142
  expect(tags).toEqual(["slide-tags"]);
157
143
  });
158
144
  it("should return tags for welcome slide when tags passed in options", function () {
@@ -166,9 +152,7 @@ describe("#getTags", function () {
166
152
  "slide-key": ["slide-tags"]
167
153
  }
168
154
  };
169
-
170
155
  var tags = _basePresentationModel.BasePresentationModel.getTags(model, options);
171
-
172
156
  expect(tags).toEqual(["deck-tags"]);
173
157
  });
174
158
  it("should return tags for an adjunct section when tags passed in options", function () {
@@ -183,9 +167,7 @@ describe("#getTags", function () {
183
167
  "adjunctsection-key": ["adjunctsection-tags"]
184
168
  }
185
169
  };
186
-
187
170
  var tags = _basePresentationModel.BasePresentationModel.getTags(model, options);
188
-
189
171
  expect(tags).toEqual(["adjunctsection-tags"]);
190
172
  });
191
173
  it("should return tags for an adjunct slide when tags passed in options", function () {
@@ -200,9 +182,7 @@ describe("#getTags", function () {
200
182
  "section-key/adjunctslide-key": ["adjunctslide-tags"]
201
183
  }
202
184
  };
203
-
204
185
  var tags = _basePresentationModel.BasePresentationModel.getTags(model, options);
205
-
206
186
  expect(tags).toEqual(["adjunctslide-tags"]);
207
187
  });
208
188
  });
@@ -223,7 +203,8 @@ describe("#filterScreenshotsByTeam", function () {
223
203
  subject: "/api/sections/2/",
224
204
  image_256: "team-1-screenshot.png",
225
205
  team: "/api/teams/1/"
226
- }, // Just for testing that the team filters don't get cross-contaminated
206
+ },
207
+ // Just for testing that the team filters don't get cross-contaminated
227
208
  {
228
209
  subject: "/api/sections/2/",
229
210
  image_256: "team-2-screenshot.png",
@@ -231,7 +212,6 @@ describe("#filterScreenshotsByTeam", function () {
231
212
  }]);
232
213
  it("should just return global screenshots if team is null", function () {
233
214
  var filtered = _basePresentationModel.BasePresentationModel.filterScreenshotsByTeam(screenshots, null).toJSON();
234
-
235
215
  expect(filtered).toEqual([{
236
216
  subject: "/api/slides/1/",
237
217
  image_256: "global-screenshot-1.png",
@@ -244,7 +224,6 @@ describe("#filterScreenshotsByTeam", function () {
244
224
  });
245
225
  it("should return globals with team override", function () {
246
226
  var filtered = _basePresentationModel.BasePresentationModel.filterScreenshotsByTeam(screenshots, 1).toJSON();
247
-
248
227
  expect(filtered).toEqual([{
249
228
  image_256: "global-screenshot-2.png",
250
229
  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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"}