@livepreso/api 6.41.0 → 6.44.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (446) hide show
  1. package/.eslintrc.js +5 -0
  2. package/.rush/temp/build-cache-tar.log +7 -0
  3. package/.rush/temp/package-deps_test.json +170 -0
  4. package/.rush/temp/shrinkwrap-deps.json +957 -0
  5. package/CHANGELOG.json +53 -0
  6. package/CHANGELOG.md +32 -0
  7. package/api.build.log +4 -0
  8. package/babel.config.js +9 -18
  9. package/cjs/api.js +1 -1
  10. package/cjs/api.js.map +1 -1
  11. package/cjs/api.spec.js +2 -2
  12. package/cjs/api.spec.js.map +1 -1
  13. package/cjs/auth.js +6 -5
  14. package/cjs/auth.js.map +1 -1
  15. package/cjs/auth.spec.js +25 -23
  16. package/cjs/auth.spec.js.map +1 -1
  17. package/cjs/caching.js +3 -3
  18. package/cjs/collections/activity.js +22 -27
  19. package/cjs/collections/activity.js.map +1 -1
  20. package/cjs/collections/adjunct-sections.js +2 -2
  21. package/cjs/collections/adjunct-sections.js.map +1 -1
  22. package/cjs/collections/adjunct-slides.js +2 -2
  23. package/cjs/collections/adjunct-slides.js.map +1 -1
  24. package/cjs/collections/adjunct-sub-slides.js +2 -2
  25. package/cjs/collections/adjunct-sub-slides.js.map +1 -1
  26. package/cjs/collections/appointment-adjunct-tags.js +28 -0
  27. package/cjs/collections/appointment-adjunct-tags.js.map +1 -0
  28. package/cjs/collections/appointment-deckversion-tags.js +28 -0
  29. package/cjs/collections/appointment-deckversion-tags.js.map +1 -0
  30. package/cjs/collections/appointment-duplicates.js +2 -2
  31. package/cjs/collections/appointment-duplicates.js.map +1 -1
  32. package/cjs/collections/appointment-editors.js +2 -2
  33. package/cjs/collections/appointment-editors.js.map +1 -1
  34. package/cjs/collections/appointment-section-tags.js +28 -0
  35. package/cjs/collections/appointment-section-tags.js.map +1 -0
  36. package/cjs/collections/appointment-slide-tags.js +28 -0
  37. package/cjs/collections/appointment-slide-tags.js.map +1 -0
  38. package/cjs/collections/appointment-tags.js +208 -0
  39. package/cjs/collections/appointment-tags.js.map +1 -0
  40. package/cjs/collections/appointments.js +10 -6
  41. package/cjs/collections/appointments.js.map +1 -1
  42. package/cjs/collections/assets.js +2 -2
  43. package/cjs/collections/assets.js.map +1 -1
  44. package/cjs/collections/auto-adjuncts.js +7 -3
  45. package/cjs/collections/auto-adjuncts.js.map +1 -1
  46. package/cjs/collections/base.js +103 -25
  47. package/cjs/collections/base.js.map +1 -1
  48. package/cjs/collections/base.spec.js +231 -123
  49. package/cjs/collections/base.spec.js.map +1 -1
  50. package/cjs/collections/cms-vals.js +2 -2
  51. package/cjs/collections/cms-vals.js.map +1 -1
  52. package/cjs/collections/contacts.js +2 -2
  53. package/cjs/collections/contacts.js.map +1 -1
  54. package/cjs/collections/created-assets.js +2 -2
  55. package/cjs/collections/created-assets.js.map +1 -1
  56. package/cjs/collections/customers.js +2 -2
  57. package/cjs/collections/customers.js.map +1 -1
  58. package/cjs/collections/deck-notes.js +2 -2
  59. package/cjs/collections/deck-notes.js.map +1 -1
  60. package/cjs/collections/deck-versions.js +20 -8
  61. package/cjs/collections/deck-versions.js.map +1 -1
  62. package/cjs/collections/decks.js +2 -2
  63. package/cjs/collections/decks.js.map +1 -1
  64. package/cjs/collections/deleted-assets.js +2 -2
  65. package/cjs/collections/deleted-assets.js.map +1 -1
  66. package/cjs/collections/dispatches.js +4 -4
  67. package/cjs/collections/dispatches.js.map +1 -1
  68. package/cjs/collections/event-objects.js +2 -2
  69. package/cjs/collections/event-objects.js.map +1 -1
  70. package/cjs/collections/events.js +2 -2
  71. package/cjs/collections/events.js.map +1 -1
  72. package/cjs/collections/groups.js +2 -2
  73. package/cjs/collections/groups.js.map +1 -1
  74. package/cjs/collections/images.js +2 -2
  75. package/cjs/collections/images.js.map +1 -1
  76. package/cjs/collections/locations.js +2 -2
  77. package/cjs/collections/locations.js.map +1 -1
  78. package/cjs/collections/opportunities.js +2 -2
  79. package/cjs/collections/opportunities.js.map +1 -1
  80. package/cjs/collections/pack-diffs.js +2 -2
  81. package/cjs/collections/pack-diffs.js.map +1 -1
  82. package/cjs/collections/packs.js +2 -2
  83. package/cjs/collections/packs.js.map +1 -1
  84. package/cjs/collections/presets.js +2 -2
  85. package/cjs/collections/presets.js.map +1 -1
  86. package/cjs/collections/section-selections.js +2 -2
  87. package/cjs/collections/section-selections.js.map +1 -1
  88. package/cjs/collections/sections.js +2 -2
  89. package/cjs/collections/sections.js.map +1 -1
  90. package/cjs/collections/slide-selections.js +2 -2
  91. package/cjs/collections/slide-selections.js.map +1 -1
  92. package/cjs/collections/slides.js +2 -2
  93. package/cjs/collections/slides.js.map +1 -1
  94. package/cjs/collections/snapshots.js +2 -2
  95. package/cjs/collections/snapshots.js.map +1 -1
  96. package/cjs/collections/sub-slides.js +2 -2
  97. package/cjs/collections/sub-slides.js.map +1 -1
  98. package/cjs/collections/tags.js +28 -0
  99. package/cjs/collections/tags.js.map +1 -0
  100. package/cjs/collections/teams.js +2 -2
  101. package/cjs/collections/teams.js.map +1 -1
  102. package/cjs/collections/templates.js +2 -2
  103. package/cjs/collections/templates.js.map +1 -1
  104. package/cjs/collections/uploads.js +2 -2
  105. package/cjs/collections/uploads.js.map +1 -1
  106. package/cjs/collections/users.js +2 -2
  107. package/cjs/collections/users.js.map +1 -1
  108. package/cjs/collections.js +115 -0
  109. package/cjs/collections.js.map +1 -1
  110. package/cjs/index.js +3 -0
  111. package/cjs/index.js.map +1 -1
  112. package/cjs/middleware.js.map +1 -1
  113. package/cjs/middlewares/auth.js +10 -6
  114. package/cjs/middlewares/auth.js.map +1 -1
  115. package/cjs/middlewares/base.js +1 -3
  116. package/cjs/middlewares/base.js.map +1 -1
  117. package/cjs/middlewares/json.js +10 -6
  118. package/cjs/middlewares/json.js.map +1 -1
  119. package/cjs/middlewares/redirect.js +10 -6
  120. package/cjs/middlewares/redirect.js.map +1 -1
  121. package/cjs/models/activity-item.js +6 -2
  122. package/cjs/models/activity-item.js.map +1 -1
  123. package/cjs/models/adjunct-section.js +2 -2
  124. package/cjs/models/adjunct-section.js.map +1 -1
  125. package/cjs/models/adjunct-slide.js +2 -2
  126. package/cjs/models/adjunct-slide.js.map +1 -1
  127. package/cjs/models/adjunct-sub-slide.js +2 -2
  128. package/cjs/models/adjunct-sub-slide.js.map +1 -1
  129. package/cjs/models/adjunct.js +2 -2
  130. package/cjs/models/adjunct.js.map +1 -1
  131. package/cjs/models/api.js.map +1 -1
  132. package/cjs/models/appointment-adjunct-tags.js +52 -0
  133. package/cjs/models/appointment-adjunct-tags.js.map +1 -0
  134. package/cjs/models/appointment-deckversion-tags.js +52 -0
  135. package/cjs/models/appointment-deckversion-tags.js.map +1 -0
  136. package/cjs/models/appointment-duplicate.js +8 -3
  137. package/cjs/models/appointment-duplicate.js.map +1 -1
  138. package/cjs/models/appointment-editor.js +2 -2
  139. package/cjs/models/appointment-editor.js.map +1 -1
  140. package/cjs/models/appointment-section-tags.js +52 -0
  141. package/cjs/models/appointment-section-tags.js.map +1 -0
  142. package/cjs/models/appointment-slide-tags.js +52 -0
  143. package/cjs/models/appointment-slide-tags.js.map +1 -0
  144. package/cjs/models/appointment-stats.js +2 -2
  145. package/cjs/models/appointment-stats.js.map +1 -1
  146. package/cjs/models/appointment-tags.js +48 -0
  147. package/cjs/models/appointment-tags.js.map +1 -0
  148. package/cjs/models/appointment-viewing.js +2 -2
  149. package/cjs/models/appointment-viewing.js.map +1 -1
  150. package/cjs/models/appointment.js +16 -7
  151. package/cjs/models/appointment.js.map +1 -1
  152. package/cjs/models/asset.js +2 -2
  153. package/cjs/models/asset.js.map +1 -1
  154. package/cjs/models/auto-adjunct-key-check.js +2 -2
  155. package/cjs/models/auto-adjunct-key-check.js.map +1 -1
  156. package/cjs/models/auto-adjunct.js +2 -2
  157. package/cjs/models/auto-adjunct.js.map +1 -1
  158. package/cjs/models/base.js +25 -36
  159. package/cjs/models/base.js.map +1 -1
  160. package/cjs/models/base.spec.js +45 -45
  161. package/cjs/models/base.spec.js.map +1 -1
  162. package/cjs/models/choicelist.js.map +1 -1
  163. package/cjs/models/cms-val.js.map +1 -1
  164. package/cjs/models/contact.js +2 -2
  165. package/cjs/models/contact.js.map +1 -1
  166. package/cjs/models/customer.js +2 -2
  167. package/cjs/models/customer.js.map +1 -1
  168. package/cjs/models/deck-note.js +2 -2
  169. package/cjs/models/deck-note.js.map +1 -1
  170. package/cjs/models/deck-tags.js +61 -0
  171. package/cjs/models/deck-tags.js.map +1 -0
  172. package/cjs/models/deck-version.js +5 -3
  173. package/cjs/models/deck-version.js.map +1 -1
  174. package/cjs/models/deck.js +6 -3
  175. package/cjs/models/deck.js.map +1 -1
  176. package/cjs/models/dispatch-preview.js +3 -3
  177. package/cjs/models/dispatch-preview.js.map +1 -1
  178. package/cjs/models/dispatch.js +2 -2
  179. package/cjs/models/dispatch.js.map +1 -1
  180. package/cjs/models/envs.js.map +1 -1
  181. package/cjs/models/event-object.js +2 -2
  182. package/cjs/models/event-object.js.map +1 -1
  183. package/cjs/models/event.js +2 -2
  184. package/cjs/models/event.js.map +1 -1
  185. package/cjs/models/feed-data.js +2 -2
  186. package/cjs/models/feed-data.js.map +1 -1
  187. package/cjs/models/file.js +2 -2
  188. package/cjs/models/file.js.map +1 -1
  189. package/cjs/models/group.js +2 -2
  190. package/cjs/models/group.js.map +1 -1
  191. package/cjs/models/handover.js +2 -2
  192. package/cjs/models/handover.js.map +1 -1
  193. package/cjs/models/hosted-preso.js +2 -2
  194. package/cjs/models/hosted-preso.js.map +1 -1
  195. package/cjs/models/image.js +2 -2
  196. package/cjs/models/image.js.map +1 -1
  197. package/cjs/models/location.js +2 -2
  198. package/cjs/models/location.js.map +1 -1
  199. package/cjs/models/manifest-json.js +83 -58
  200. package/cjs/models/manifest-json.js.map +1 -1
  201. package/cjs/models/onshare.js +2 -2
  202. package/cjs/models/onshare.js.map +1 -1
  203. package/cjs/models/opportunity.js +2 -2
  204. package/cjs/models/opportunity.js.map +1 -1
  205. package/cjs/models/pack-diff.js +2 -2
  206. package/cjs/models/pack-diff.js.map +1 -1
  207. package/cjs/models/pack.js +2 -2
  208. package/cjs/models/pack.js.map +1 -1
  209. package/cjs/models/preset.js +22 -2
  210. package/cjs/models/preset.js.map +1 -1
  211. package/cjs/models/refresh-request.js +2 -2
  212. package/cjs/models/refresh-request.js.map +1 -1
  213. package/cjs/models/room.js +2 -2
  214. package/cjs/models/room.js.map +1 -1
  215. package/cjs/models/salesforce-lookup.js +2 -2
  216. package/cjs/models/salesforce-lookup.js.map +1 -1
  217. package/cjs/models/section-selection.js +2 -2
  218. package/cjs/models/section-selection.js.map +1 -1
  219. package/cjs/models/section.js +2 -2
  220. package/cjs/models/section.js.map +1 -1
  221. package/cjs/models/slide-selection.js +2 -2
  222. package/cjs/models/slide-selection.js.map +1 -1
  223. package/cjs/models/slide.js +2 -2
  224. package/cjs/models/slide.js.map +1 -1
  225. package/cjs/models/snapshot.js +2 -2
  226. package/cjs/models/snapshot.js.map +1 -1
  227. package/cjs/models/sub-slide.js +2 -2
  228. package/cjs/models/sub-slide.js.map +1 -1
  229. package/cjs/models/support-ticket.js +2 -2
  230. package/cjs/models/support-ticket.js.map +1 -1
  231. package/cjs/models/tag.js +54 -0
  232. package/cjs/models/tag.js.map +1 -0
  233. package/cjs/models/team.js +2 -2
  234. package/cjs/models/team.js.map +1 -1
  235. package/cjs/models/template.js +2 -2
  236. package/cjs/models/template.js.map +1 -1
  237. package/cjs/models/tenancy.js +2 -2
  238. package/cjs/models/tenancy.js.map +1 -1
  239. package/cjs/models/timing-log.js +20 -41
  240. package/cjs/models/timing-log.js.map +1 -1
  241. package/cjs/models/timing-log.spec.js +18 -86
  242. package/cjs/models/timing-log.spec.js.map +1 -1
  243. package/cjs/models/transcribe-socket.js +2 -2
  244. package/cjs/models/transcribe-socket.js.map +1 -1
  245. package/cjs/models/upload.js +2 -2
  246. package/cjs/models/upload.js.map +1 -1
  247. package/cjs/models/user.js +4 -3
  248. package/cjs/models/user.js.map +1 -1
  249. package/cjs/models/user.spec.js +10 -8
  250. package/cjs/models/user.spec.js.map +1 -1
  251. package/cjs/models.js +148 -0
  252. package/cjs/models.js.map +1 -1
  253. package/cjs/presentation/appointment-presentation.js +13 -5
  254. package/cjs/presentation/appointment-presentation.js.map +1 -1
  255. package/cjs/presentation/base-presentation-collection.js.map +1 -1
  256. package/cjs/presentation/base-presentation-model.js +65 -0
  257. package/cjs/presentation/base-presentation-model.js.map +1 -1
  258. package/cjs/presentation/base-presentation-model.spec.js +87 -0
  259. package/cjs/presentation/base-presentation-model.spec.js.map +1 -1
  260. package/cjs/presentation/presentation-deck.js +31 -20
  261. package/cjs/presentation/presentation-deck.js.map +1 -1
  262. package/cjs/presentation/presentation-deck.spec.js +15 -13
  263. package/cjs/presentation/presentation-deck.spec.js.map +1 -1
  264. package/cjs/presentation/presentation-decks.js +2 -2
  265. package/cjs/presentation/presentation-decks.js.map +1 -1
  266. package/cjs/presentation/presentation-section.js +36 -17
  267. package/cjs/presentation/presentation-section.js.map +1 -1
  268. package/cjs/presentation/presentation-section.spec.js +418 -0
  269. package/cjs/presentation/presentation-section.spec.js.map +1 -0
  270. package/cjs/presentation/presentation-sections.js +2 -2
  271. package/cjs/presentation/presentation-sections.js.map +1 -1
  272. package/cjs/presentation/presentation-slide.js +35 -18
  273. package/cjs/presentation/presentation-slide.js.map +1 -1
  274. package/cjs/presentation/presentation-slide.spec.js +294 -0
  275. package/cjs/presentation/presentation-slide.spec.js.map +1 -0
  276. package/cjs/presentation/presentation-slides.js +2 -2
  277. package/cjs/presentation/presentation-slides.js.map +1 -1
  278. package/cjs/presentation/presentation-subslide.js +11 -7
  279. package/cjs/presentation/presentation-subslide.js.map +1 -1
  280. package/cjs/presentation/presentation-subslide.spec.js +68 -20
  281. package/cjs/presentation/presentation-subslide.spec.js.map +1 -1
  282. package/cjs/presentation/presentation-subslides.js +2 -2
  283. package/cjs/presentation/presentation-subslides.js.map +1 -1
  284. package/cjs/presentation/presentation.js +19 -9
  285. package/cjs/presentation/presentation.js.map +1 -1
  286. package/cjs/presentation.js +10 -0
  287. package/cjs/presentation.js.map +1 -1
  288. package/cjs/state-register.js +11 -1
  289. package/cjs/state-register.js.map +1 -1
  290. package/cjs/sync.js +7 -7
  291. package/cjs/sync.js.map +1 -1
  292. package/cjs/utils.js +7 -7
  293. package/cjs/utils.js.map +1 -1
  294. package/cjs/utils.spec.js.map +1 -1
  295. package/config/rush-project.json +11 -0
  296. package/index.js +0 -1
  297. package/jest.config.js +4 -4
  298. package/package.json +19 -59
  299. package/setup-tests.js +2 -1
  300. package/src/api.js +3 -3
  301. package/src/api.spec.js +3 -4
  302. package/src/auth.js +6 -7
  303. package/src/auth.spec.js +3 -4
  304. package/src/collections/activity.js +5 -6
  305. package/src/collections/adjunct-sections.js +4 -4
  306. package/src/collections/adjunct-slides.js +4 -4
  307. package/src/collections/adjunct-sub-slides.js +2 -2
  308. package/src/collections/appointment-adjunct-tags.js +18 -0
  309. package/src/collections/appointment-deckversion-tags.js +21 -0
  310. package/src/collections/appointment-duplicates.js +2 -2
  311. package/src/collections/appointment-editors.js +2 -2
  312. package/src/collections/appointment-section-tags.js +18 -0
  313. package/src/collections/appointment-slide-tags.js +18 -0
  314. package/src/collections/appointment-tags.js +136 -0
  315. package/src/collections/appointments.js +18 -23
  316. package/src/collections/assets.js +2 -2
  317. package/src/collections/auto-adjuncts.js +5 -5
  318. package/src/collections/base.js +88 -18
  319. package/src/collections/base.spec.js +100 -8
  320. package/src/collections/cms-vals.js +3 -3
  321. package/src/collections/contacts.js +2 -2
  322. package/src/collections/created-assets.js +2 -2
  323. package/src/collections/customers.js +2 -2
  324. package/src/collections/deck-notes.js +2 -2
  325. package/src/collections/deck-versions.js +18 -15
  326. package/src/collections/decks.js +2 -2
  327. package/src/collections/deleted-assets.js +2 -2
  328. package/src/collections/dispatches.js +8 -13
  329. package/src/collections/event-objects.js +2 -2
  330. package/src/collections/events.js +2 -2
  331. package/src/collections/groups.js +2 -2
  332. package/src/collections/images.js +2 -2
  333. package/src/collections/locations.js +2 -2
  334. package/src/collections/opportunities.js +2 -2
  335. package/src/collections/pack-diffs.js +2 -2
  336. package/src/collections/packs.js +2 -2
  337. package/src/collections/presets.js +2 -2
  338. package/src/collections/section-selections.js +4 -4
  339. package/src/collections/sections.js +2 -2
  340. package/src/collections/slide-selections.js +4 -4
  341. package/src/collections/slides.js +2 -2
  342. package/src/collections/snapshots.js +2 -2
  343. package/src/collections/sub-slides.js +2 -2
  344. package/src/collections/tags.js +18 -0
  345. package/src/collections/teams.js +2 -2
  346. package/src/collections/templates.js +2 -2
  347. package/src/collections/uploads.js +2 -2
  348. package/src/collections/users.js +2 -2
  349. package/src/collections.js +6 -0
  350. package/src/index.js +1 -4
  351. package/src/middleware.js +1 -1
  352. package/src/middlewares/json.js +2 -2
  353. package/src/middlewares/redirect.js +1 -2
  354. package/src/models/activity-item.js +6 -6
  355. package/src/models/adjunct-section.js +5 -5
  356. package/src/models/adjunct-slide.js +5 -5
  357. package/src/models/adjunct-sub-slide.js +5 -5
  358. package/src/models/adjunct.js +4 -4
  359. package/src/models/api.js +1 -1
  360. package/src/models/appointment-adjunct-tags.js +41 -0
  361. package/src/models/appointment-deckversion-tags.js +41 -0
  362. package/src/models/appointment-duplicate.js +7 -7
  363. package/src/models/appointment-editor.js +6 -6
  364. package/src/models/appointment-section-tags.js +41 -0
  365. package/src/models/appointment-slide-tags.js +41 -0
  366. package/src/models/appointment-stats.js +5 -5
  367. package/src/models/appointment-tags.js +39 -0
  368. package/src/models/appointment-viewing.js +3 -3
  369. package/src/models/appointment.js +35 -29
  370. package/src/models/asset.js +5 -5
  371. package/src/models/auto-adjunct-key-check.js +5 -5
  372. package/src/models/auto-adjunct.js +4 -4
  373. package/src/models/base.js +36 -37
  374. package/src/models/base.spec.js +61 -62
  375. package/src/models/choicelist.js +2 -2
  376. package/src/models/cms-val.js +3 -3
  377. package/src/models/contact.js +9 -9
  378. package/src/models/customer.js +13 -13
  379. package/src/models/deck-note.js +4 -4
  380. package/src/models/deck-tags.js +52 -0
  381. package/src/models/deck-version.js +9 -8
  382. package/src/models/deck.js +8 -6
  383. package/src/models/dispatch-preview.js +6 -7
  384. package/src/models/dispatch.js +6 -7
  385. package/src/models/envs.js +1 -1
  386. package/src/models/event-object.js +6 -6
  387. package/src/models/event.js +7 -7
  388. package/src/models/feed-data.js +5 -5
  389. package/src/models/file.js +4 -4
  390. package/src/models/group.js +3 -3
  391. package/src/models/handover.js +5 -5
  392. package/src/models/hosted-preso.js +5 -5
  393. package/src/models/image.js +4 -4
  394. package/src/models/location.js +5 -5
  395. package/src/models/manifest-json.js +77 -30
  396. package/src/models/onshare.js +5 -5
  397. package/src/models/opportunity.js +5 -5
  398. package/src/models/pack-diff.js +5 -5
  399. package/src/models/pack.js +4 -4
  400. package/src/models/preset.js +24 -5
  401. package/src/models/refresh-request.js +6 -6
  402. package/src/models/room.js +3 -3
  403. package/src/models/salesforce-lookup.js +3 -3
  404. package/src/models/section-selection.js +6 -6
  405. package/src/models/section.js +7 -7
  406. package/src/models/slide-selection.js +6 -6
  407. package/src/models/slide.js +7 -7
  408. package/src/models/snapshot.js +5 -5
  409. package/src/models/sub-slide.js +5 -5
  410. package/src/models/support-ticket.js +4 -4
  411. package/src/models/tag.js +42 -0
  412. package/src/models/team.js +4 -4
  413. package/src/models/template.js +4 -4
  414. package/src/models/tenancy.js +5 -5
  415. package/src/models/timing-log.js +18 -18
  416. package/src/models/timing-log.spec.js +28 -29
  417. package/src/models/transcribe-socket.js +3 -3
  418. package/src/models/upload.js +3 -3
  419. package/src/models/user.js +19 -17
  420. package/src/models/user.spec.js +2 -2
  421. package/src/models.js +7 -0
  422. package/src/presentation/appointment-presentation.js +14 -10
  423. package/src/presentation/base-presentation-model.js +67 -5
  424. package/src/presentation/base-presentation-model.spec.js +114 -22
  425. package/src/presentation/presentation-deck.js +54 -52
  426. package/src/presentation/presentation-deck.spec.js +26 -27
  427. package/src/presentation/presentation-decks.js +2 -2
  428. package/src/presentation/presentation-section.js +62 -48
  429. package/src/presentation/presentation-section.spec.js +363 -0
  430. package/src/presentation/presentation-sections.js +2 -2
  431. package/src/presentation/presentation-slide.js +51 -36
  432. package/src/presentation/presentation-slide.spec.js +250 -0
  433. package/src/presentation/presentation-slides.js +2 -2
  434. package/src/presentation/presentation-subslide.js +24 -17
  435. package/src/presentation/presentation-subslide.spec.js +40 -12
  436. package/src/presentation/presentation-subslides.js +2 -2
  437. package/src/presentation/presentation.js +27 -15
  438. package/src/state-register.js +7 -0
  439. package/src/sync.js +21 -23
  440. package/src/utils.js +8 -7
  441. package/src/utils.spec.js +15 -15
  442. package/.editorconfig +0 -9
  443. package/.eslintrc +0 -25
  444. package/.prettierrc.js +0 -3
  445. package/jsdoc.json +0 -12
  446. package/yarn.lock +0 -8099
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.AppointmentAdjunctTagsCollection = void 0;
7
+
8
+ require("../models/appointment-adjunct-tags.js");
9
+
10
+ var _base = require("./base.js");
11
+
12
+ var _stateRegister = require("../state-register.js");
13
+
14
+ /**
15
+ * @constructor
16
+ * @alias collections.AppointmentAdjunctTagsCollection
17
+ * @extends collections.BaseCollection
18
+ * @see models.AppointmentAdjunctTagsModel
19
+ */
20
+ var AppointmentAdjunctTagsCollection = _base.BaseCollection.extend(
21
+ /** @lends collections.AppointmentAdjunctTagsCollection# */
22
+ {
23
+ model: "AppointmentAdjunctTagsModel"
24
+ });
25
+
26
+ exports.AppointmentAdjunctTagsCollection = AppointmentAdjunctTagsCollection;
27
+ (0, _stateRegister.register)("AppointmentAdjunctTagsCollection", AppointmentAdjunctTagsCollection);
28
+ //# sourceMappingURL=appointment-adjunct-tags.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/collections/appointment-adjunct-tags.js"],"names":["AppointmentAdjunctTagsCollection","BaseCollection","extend","model"],"mappings":";;;;;;;AAAA;;AAEA;;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMA,gCAAgC,GAAGC,qBAAeC,MAAf;AAC/C;AAA4D;AAC3DC,EAAAA,KAAK,EAAE;AADoD,CADb,CAAzC;;;AAMP,6BAAS,kCAAT,EAA6CH,gCAA7C","sourcesContent":["import \"../models/appointment-adjunct-tags.js\";\n\nimport { BaseCollection } from \"./base.js\";\nimport { register } from \"../state-register.js\";\n\n/**\n * @constructor\n * @alias collections.AppointmentAdjunctTagsCollection\n * @extends collections.BaseCollection\n * @see models.AppointmentAdjunctTagsModel\n */\nexport const AppointmentAdjunctTagsCollection = BaseCollection.extend(\n\t/** @lends collections.AppointmentAdjunctTagsCollection# */ {\n\t\tmodel: \"AppointmentAdjunctTagsModel\",\n\t}\n);\n\nregister(\"AppointmentAdjunctTagsCollection\", AppointmentAdjunctTagsCollection);\n"],"file":"appointment-adjunct-tags.js"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.AppointmentDeckVersionTagsCollection = void 0;
7
+
8
+ require("../models/appointment-deckversion-tags.js");
9
+
10
+ var _base = require("./base.js");
11
+
12
+ var _stateRegister = require("../state-register.js");
13
+
14
+ /**
15
+ * @constructor
16
+ * @alias collections.AppointmentDeckVersionTagsCollection
17
+ * @extends collections.BaseCollection
18
+ * @see models.AppointmentDeckVersionTagsModel
19
+ */
20
+ var AppointmentDeckVersionTagsCollection = _base.BaseCollection.extend(
21
+ /** @lends collections.AppointmentDeckVersionTagsCollection# */
22
+ {
23
+ model: "AppointmentDeckVersionTagsModel"
24
+ });
25
+
26
+ exports.AppointmentDeckVersionTagsCollection = AppointmentDeckVersionTagsCollection;
27
+ (0, _stateRegister.register)("AppointmentDeckVersionTagsCollection", AppointmentDeckVersionTagsCollection);
28
+ //# sourceMappingURL=appointment-deckversion-tags.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/collections/appointment-deckversion-tags.js"],"names":["AppointmentDeckVersionTagsCollection","BaseCollection","extend","model"],"mappings":";;;;;;;AAAA;;AAEA;;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMA,oCAAoC,GAAGC,qBAAeC,MAAf;AACnD;AAAgE;AAC/DC,EAAAA,KAAK,EAAE;AADwD,CADb,CAA7C;;;AAMP,6BACC,sCADD,EAECH,oCAFD","sourcesContent":["import \"../models/appointment-deckversion-tags.js\";\n\nimport { BaseCollection } from \"./base.js\";\nimport { register } from \"../state-register.js\";\n\n/**\n * @constructor\n * @alias collections.AppointmentDeckVersionTagsCollection\n * @extends collections.BaseCollection\n * @see models.AppointmentDeckVersionTagsModel\n */\nexport const AppointmentDeckVersionTagsCollection = BaseCollection.extend(\n\t/** @lends collections.AppointmentDeckVersionTagsCollection# */ {\n\t\tmodel: \"AppointmentDeckVersionTagsModel\",\n\t}\n);\n\nregister(\n\t\"AppointmentDeckVersionTagsCollection\",\n\tAppointmentDeckVersionTagsCollection\n);\n"],"file":"appointment-deckversion-tags.js"}
@@ -7,10 +7,10 @@ exports.AppointmentDuplicateCollection = void 0;
7
7
 
8
8
  require("../models/appointment-duplicate.js");
9
9
 
10
- var _stateRegister = require("../state-register.js");
11
-
12
10
  var _base = require("./base.js");
13
11
 
12
+ var _stateRegister = require("../state-register.js");
13
+
14
14
  /**
15
15
  * @constructor
16
16
  * @alias collections.AppointmentDuplicateCollection
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/collections/appointment-duplicates.js"],"names":["AppointmentDuplicateCollection","BaseCollection","extend","comparator","model"],"mappings":";;;;;;;AAAA;;AAEA;;AACA;;AAEA;;;;;;AAMO,IAAMA,8BAA8B,GAAGC,qBAAeC,MAAf;AAC7C;AAA0D;AACzDC,EAAAA,UAAU,EAAE,UAD6C;AAEzDC,EAAAA,KAAK,EAAE;AAFkD,CADb,CAAvC;;;AAOP,6BAAS,gCAAT,EAA2CJ,8BAA3C","sourcesContent":["import \"../models/appointment-duplicate.js\";\n\nimport { register } from \"../state-register.js\";\nimport { BaseCollection } from \"./base.js\";\n\n/**\n * @constructor\n * @alias collections.AppointmentDuplicateCollection\n * @extends collections.BaseCollection\n * @see models.AppointmentDuplicateModel\n */\nexport const AppointmentDuplicateCollection = BaseCollection.extend(\n\t/** @lends collections.AppointmentDuplicateCollection# */ {\n\t\tcomparator: \"sequence\",\n\t\tmodel: \"AppointmentDuplicateModel\"\n\t}\n);\n\nregister(\"AppointmentDuplicateCollection\", AppointmentDuplicateCollection);\n"],"file":"appointment-duplicates.js"}
1
+ {"version":3,"sources":["../../src/collections/appointment-duplicates.js"],"names":["AppointmentDuplicateCollection","BaseCollection","extend","comparator","model"],"mappings":";;;;;;;AAAA;;AAEA;;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMA,8BAA8B,GAAGC,qBAAeC,MAAf;AAC7C;AAA0D;AACzDC,EAAAA,UAAU,EAAE,UAD6C;AAEzDC,EAAAA,KAAK,EAAE;AAFkD,CADb,CAAvC;;;AAOP,6BAAS,gCAAT,EAA2CJ,8BAA3C","sourcesContent":["import \"../models/appointment-duplicate.js\";\n\nimport { BaseCollection } from \"./base.js\";\nimport { register } from \"../state-register.js\";\n\n/**\n * @constructor\n * @alias collections.AppointmentDuplicateCollection\n * @extends collections.BaseCollection\n * @see models.AppointmentDuplicateModel\n */\nexport const AppointmentDuplicateCollection = BaseCollection.extend(\n\t/** @lends collections.AppointmentDuplicateCollection# */ {\n\t\tcomparator: \"sequence\",\n\t\tmodel: \"AppointmentDuplicateModel\",\n\t}\n);\n\nregister(\"AppointmentDuplicateCollection\", AppointmentDuplicateCollection);\n"],"file":"appointment-duplicates.js"}
@@ -7,10 +7,10 @@ exports.AppointmentEditorCollection = void 0;
7
7
 
8
8
  require("../models/appointment-editor.js");
9
9
 
10
- var _stateRegister = require("../state-register.js");
11
-
12
10
  var _base = require("./base.js");
13
11
 
12
+ var _stateRegister = require("../state-register.js");
13
+
14
14
  /**
15
15
  * @constructor
16
16
  * @alias collections.AppointmentEditorCollection
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/collections/appointment-editors.js"],"names":["AppointmentEditorCollection","BaseCollection","extend","comparator","model","url","_url","parent","_options","appointment","prototype","call"],"mappings":";;;;;;;AAAA;;AAEA;;AACA;;AAEA;;;;;;AAMO,IAAMA,2BAA2B,GAAGC,qBAAeC,MAAf;AAC1C;AAAuD;AACtDC,EAAAA,UAAU,EAAE,UAD0C;AAEtDC,EAAAA,KAAK,EAAE,wBAF+C;AAGtDC,EAAAA,GAHsD,iBAGhD;AACL,QAAI,CAAC,KAAKC,IAAN,IAAc,KAAKC,MAAvB,EAA+B;AAC9B,WAAKC,QAAL,CAAcC,WAAd,GAA4B,KAAKF,MAAjC;AACA;;AAED,WAAON,qBAAeS,SAAf,CAAyBL,GAAzB,CAA6BM,IAA7B,CAAkC,IAAlC,CAAP;AACA;AATqD,CADb,CAApC;;;AAcP,6BAAS,6BAAT,EAAwCX,2BAAxC","sourcesContent":["import \"../models/appointment-editor.js\";\n\nimport { register } from \"../state-register.js\";\nimport { BaseCollection } from \"./base.js\";\n\n/**\n * @constructor\n * @alias collections.AppointmentEditorCollection\n * @extends collections.BaseCollection\n * @see models.AppointmentEditorModel\n */\nexport const AppointmentEditorCollection = BaseCollection.extend(\n\t/** @lends collections.AppointmentEditorCollection# */ {\n\t\tcomparator: \"sequence\",\n\t\tmodel: \"AppointmentEditorModel\",\n\t\turl() {\n\t\t\tif (!this._url && this.parent) {\n\t\t\t\tthis._options.appointment = this.parent;\n\t\t\t}\n\n\t\t\treturn BaseCollection.prototype.url.call(this);\n\t\t}\n\t}\n);\n\nregister(\"AppointmentEditorCollection\", AppointmentEditorCollection);\n"],"file":"appointment-editors.js"}
1
+ {"version":3,"sources":["../../src/collections/appointment-editors.js"],"names":["AppointmentEditorCollection","BaseCollection","extend","comparator","model","url","_url","parent","_options","appointment","prototype","call"],"mappings":";;;;;;;AAAA;;AAEA;;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMA,2BAA2B,GAAGC,qBAAeC,MAAf;AAC1C;AAAuD;AACtDC,EAAAA,UAAU,EAAE,UAD0C;AAEtDC,EAAAA,KAAK,EAAE,wBAF+C;AAGtDC,EAAAA,GAHsD,iBAGhD;AACL,QAAI,CAAC,KAAKC,IAAN,IAAc,KAAKC,MAAvB,EAA+B;AAC9B,WAAKC,QAAL,CAAcC,WAAd,GAA4B,KAAKF,MAAjC;AACA;;AAED,WAAON,qBAAeS,SAAf,CAAyBL,GAAzB,CAA6BM,IAA7B,CAAkC,IAAlC,CAAP;AACA;AATqD,CADb,CAApC;;;AAcP,6BAAS,6BAAT,EAAwCX,2BAAxC","sourcesContent":["import \"../models/appointment-editor.js\";\n\nimport { BaseCollection } from \"./base.js\";\nimport { register } from \"../state-register.js\";\n\n/**\n * @constructor\n * @alias collections.AppointmentEditorCollection\n * @extends collections.BaseCollection\n * @see models.AppointmentEditorModel\n */\nexport const AppointmentEditorCollection = BaseCollection.extend(\n\t/** @lends collections.AppointmentEditorCollection# */ {\n\t\tcomparator: \"sequence\",\n\t\tmodel: \"AppointmentEditorModel\",\n\t\turl() {\n\t\t\tif (!this._url && this.parent) {\n\t\t\t\tthis._options.appointment = this.parent;\n\t\t\t}\n\n\t\t\treturn BaseCollection.prototype.url.call(this);\n\t\t},\n\t}\n);\n\nregister(\"AppointmentEditorCollection\", AppointmentEditorCollection);\n"],"file":"appointment-editors.js"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.AppointmentSectionTagsCollection = void 0;
7
+
8
+ require("../models/appointment-section-tags.js");
9
+
10
+ var _base = require("./base.js");
11
+
12
+ var _stateRegister = require("../state-register.js");
13
+
14
+ /**
15
+ * @constructor
16
+ * @alias collections.AppointmentSectionTagsCollection
17
+ * @extends collections.BaseCollection
18
+ * @see models.AppointmentSectionTagsModel
19
+ */
20
+ var AppointmentSectionTagsCollection = _base.BaseCollection.extend(
21
+ /** @lends collections.AppointmentSectionTagsCollection# */
22
+ {
23
+ model: "AppointmentSectionTagsModel"
24
+ });
25
+
26
+ exports.AppointmentSectionTagsCollection = AppointmentSectionTagsCollection;
27
+ (0, _stateRegister.register)("AppointmentSectionTagsCollection", AppointmentSectionTagsCollection);
28
+ //# sourceMappingURL=appointment-section-tags.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/collections/appointment-section-tags.js"],"names":["AppointmentSectionTagsCollection","BaseCollection","extend","model"],"mappings":";;;;;;;AAAA;;AAEA;;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMA,gCAAgC,GAAGC,qBAAeC,MAAf;AAC/C;AAA4D;AAC3DC,EAAAA,KAAK,EAAE;AADoD,CADb,CAAzC;;;AAMP,6BAAS,kCAAT,EAA6CH,gCAA7C","sourcesContent":["import \"../models/appointment-section-tags.js\";\n\nimport { BaseCollection } from \"./base.js\";\nimport { register } from \"../state-register.js\";\n\n/**\n * @constructor\n * @alias collections.AppointmentSectionTagsCollection\n * @extends collections.BaseCollection\n * @see models.AppointmentSectionTagsModel\n */\nexport const AppointmentSectionTagsCollection = BaseCollection.extend(\n\t/** @lends collections.AppointmentSectionTagsCollection# */ {\n\t\tmodel: \"AppointmentSectionTagsModel\",\n\t}\n);\n\nregister(\"AppointmentSectionTagsCollection\", AppointmentSectionTagsCollection);\n"],"file":"appointment-section-tags.js"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.AppointmentSlideTagsCollection = void 0;
7
+
8
+ require("../models/appointment-slide-tags.js");
9
+
10
+ var _base = require("./base.js");
11
+
12
+ var _stateRegister = require("../state-register.js");
13
+
14
+ /**
15
+ * @constructor
16
+ * @alias collections.AppointmentSlideTagsCollection
17
+ * @extends collections.BaseCollection
18
+ * @see models.AppointmentSlideTagsModel
19
+ */
20
+ var AppointmentSlideTagsCollection = _base.BaseCollection.extend(
21
+ /** @lends collections.AppointmentSlideTagsCollection# */
22
+ {
23
+ model: "AppointmentSlideTagsModel"
24
+ });
25
+
26
+ exports.AppointmentSlideTagsCollection = AppointmentSlideTagsCollection;
27
+ (0, _stateRegister.register)("AppointmentSlideTagsCollection", AppointmentSlideTagsCollection);
28
+ //# sourceMappingURL=appointment-slide-tags.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/collections/appointment-slide-tags.js"],"names":["AppointmentSlideTagsCollection","BaseCollection","extend","model"],"mappings":";;;;;;;AAAA;;AAEA;;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMA,8BAA8B,GAAGC,qBAAeC,MAAf;AAC7C;AAA0D;AACzDC,EAAAA,KAAK,EAAE;AADkD,CADb,CAAvC;;;AAMP,6BAAS,gCAAT,EAA2CH,8BAA3C","sourcesContent":["import \"../models/appointment-slide-tags.js\";\n\nimport { BaseCollection } from \"./base.js\";\nimport { register } from \"../state-register.js\";\n\n/**\n * @constructor\n * @alias collections.AppointmentSlideTagsCollection\n * @extends collections.BaseCollection\n * @see models.AppointmentSlideTagsModel\n */\nexport const AppointmentSlideTagsCollection = BaseCollection.extend(\n\t/** @lends collections.AppointmentSlideTagsCollection# */ {\n\t\tmodel: \"AppointmentSlideTagsModel\",\n\t}\n);\n\nregister(\"AppointmentSlideTagsCollection\", AppointmentSlideTagsCollection);\n"],"file":"appointment-slide-tags.js"}
@@ -0,0 +1,208 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.AppointmentTagsCollection = void 0;
9
+
10
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+
12
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
+
14
+ var _stateRegister = require("../state-register.js");
15
+
16
+ var _base = require("./base.js");
17
+
18
+ var _lodash = _interopRequireDefault(require("lodash"));
19
+
20
+ /**
21
+ * @constructor
22
+ * @alias collections.AppointmentTagsCollection
23
+ * @extends collections.BaseCollection
24
+ * @see models.AppointmentTagsModel
25
+ */
26
+ var AppointmentTagsCollection = _base.BaseCollection.extend(
27
+ /** @lends collections.AppointmentTagsCollection# */
28
+ {
29
+ model: "AppointmentTagsModel",
30
+ tagNameCollectionMapping: {
31
+ deckversion: "AppointmentDeckVersionTagsCollection",
32
+ section: "AppointmentSectionTagsCollection",
33
+ slide: "AppointmentSlideTagsCollection",
34
+ adjunct: "AppointmentAdjunctTagsCollection"
35
+ },
36
+ _mapResultsToModel: function _mapResultsToModel(result) {
37
+ var _this = this;
38
+
39
+ // Maps a model from a content specific tag to a more generic one.
40
+ // It's generally the same thing, except instead of something like:
41
+ //
42
+ // slide: "/api/slides/1/"
43
+ //
44
+ // It becomes:
45
+ //
46
+ // content_type: "slide",
47
+ // content_url: "/api/slides/1/"
48
+ //
49
+ // So that we can return the list side by side.
50
+ var AppointmentTagsModel = (0, _stateRegister.getState)("AppointmentTagsModel");
51
+ var resultType = Object.keys(result).find(function (key) {
52
+ return Object.keys(_this.tagNameCollectionMapping).includes(key);
53
+ });
54
+
55
+ if (!resultType) {
56
+ throw new Error("Unknown type of result found");
57
+ }
58
+
59
+ return new AppointmentTagsModel({
60
+ tags: result.tags,
61
+ content_type: resultType,
62
+ content_url: result[resultType],
63
+ appointment: result.appointment,
64
+ user: result.user,
65
+ url: result.url
66
+ });
67
+ },
68
+ // These methods don't quite make sense right now, disable it for development.
69
+ fetchSet: function fetchSet() {
70
+ return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
71
+ return _regenerator.default.wrap(function _callee$(_context) {
72
+ while (1) {
73
+ switch (_context.prev = _context.next) {
74
+ case 0:
75
+ throw new Error("Not implemented");
76
+
77
+ case 1:
78
+ case "end":
79
+ return _context.stop();
80
+ }
81
+ }
82
+ }, _callee);
83
+ }))();
84
+ },
85
+ fetchModels: function fetchModels() {
86
+ return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
87
+ return _regenerator.default.wrap(function _callee2$(_context2) {
88
+ while (1) {
89
+ switch (_context2.prev = _context2.next) {
90
+ case 0:
91
+ throw new Error("Not implemented");
92
+
93
+ case 1:
94
+ case "end":
95
+ return _context2.stop();
96
+ }
97
+ }
98
+ }, _callee2);
99
+ }))();
100
+ },
101
+ delete: function _delete() {
102
+ return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
103
+ return _regenerator.default.wrap(function _callee3$(_context3) {
104
+ while (1) {
105
+ switch (_context3.prev = _context3.next) {
106
+ case 0:
107
+ throw new Error("Cannot delete using this collection");
108
+
109
+ case 1:
110
+ case "end":
111
+ return _context3.stop();
112
+ }
113
+ }
114
+ }, _callee3);
115
+ }))();
116
+ },
117
+ save: function save() {
118
+ return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4() {
119
+ return _regenerator.default.wrap(function _callee4$(_context4) {
120
+ while (1) {
121
+ switch (_context4.prev = _context4.next) {
122
+ case 0:
123
+ throw new Error("Not implemented");
124
+
125
+ case 1:
126
+ case "end":
127
+ return _context4.stop();
128
+ }
129
+ }
130
+ }, _callee4);
131
+ }))();
132
+ },
133
+ fetch: function fetch(options) {
134
+ var _this2 = this;
135
+
136
+ return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5() {
137
+ var _this2$_options;
138
+
139
+ var AppointmentModel, hasAppointment, tagModels, results;
140
+ return _regenerator.default.wrap(function _callee5$(_context5) {
141
+ while (1) {
142
+ switch (_context5.prev = _context5.next) {
143
+ case 0:
144
+ AppointmentModel = (0, _stateRegister.getState)("AppointmentModel");
145
+ hasAppointment = ((_this2$_options = _this2._options) === null || _this2$_options === void 0 ? void 0 : _this2$_options.appointment) instanceof AppointmentModel || (options === null || options === void 0 ? void 0 : options.appointment) instanceof AppointmentModel;
146
+
147
+ if (!hasAppointment && _this2.parent instanceof AppointmentModel) {
148
+ options.appointment = _this2.parent;
149
+ hasAppointment = true;
150
+ }
151
+
152
+ if (hasAppointment) {
153
+ _context5.next = 5;
154
+ break;
155
+ }
156
+
157
+ throw new Error("Requires an appointment model in collection options to fetch.");
158
+
159
+ case 5:
160
+ tagModels = Object.values(_this2.tagNameCollectionMapping); // Fetch all the separate tag models and combine them into a single collection
161
+
162
+ _context5.next = 8;
163
+ return Promise.all(tagModels.map(function (tagModel) {
164
+ var Collection = (0, _stateRegister.getState)(tagModel);
165
+ var tags = new Collection({}, _this2._options);
166
+ return tags.fetch(options);
167
+ }));
168
+
169
+ case 8:
170
+ results = _context5.sent.flatMap(function (collection) {
171
+ return collection.results;
172
+ }).map(_this2._mapResultsToModel.bind(_this2));
173
+
174
+ _this2.add(results);
175
+
176
+ return _context5.abrupt("return", {
177
+ count: results.length,
178
+ next: null,
179
+ previous: null,
180
+ results: _this2.toJSON()
181
+ });
182
+
183
+ case 11:
184
+ case "end":
185
+ return _context5.stop();
186
+ }
187
+ }
188
+ }, _callee5);
189
+ }))();
190
+ },
191
+ // Used by Telepresenter to add the tags in the hostedpreso bundle to
192
+ // the appointment tags collection
193
+ addFromAppointment: function addFromAppointment(appointment) {
194
+ var tagCollectionNames = ["appointmentdeckversiontags_set", "appointmentsectiontags_set", "appointmentslidetags_set", "appointmentadjuncttags_set"]; // flatMap currently doesn't work in TelePresenter
195
+
196
+ var results = _lodash.default.flatten(tagCollectionNames.map(function (collectionName) {
197
+ var collection = appointment[collectionName];
198
+ return (collection === null || collection === void 0 ? void 0 : collection._data) || [];
199
+ })).map(this._mapResultsToModel.bind(this));
200
+
201
+ this.add(results);
202
+ }
203
+ });
204
+
205
+ exports.AppointmentTagsCollection = AppointmentTagsCollection;
206
+ AppointmentTagsCollection.canBeEmpty = true;
207
+ (0, _stateRegister.register)("AppointmentTagsCollection", AppointmentTagsCollection);
208
+ //# sourceMappingURL=appointment-tags.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/collections/appointment-tags.js"],"names":["AppointmentTagsCollection","BaseCollection","extend","model","tagNameCollectionMapping","deckversion","section","slide","adjunct","_mapResultsToModel","result","AppointmentTagsModel","resultType","Object","keys","find","key","includes","Error","tags","content_type","content_url","appointment","user","url","fetchSet","fetchModels","delete","save","fetch","options","AppointmentModel","hasAppointment","_options","parent","tagModels","values","Promise","all","map","tagModel","Collection","results","flatMap","collection","bind","add","count","length","next","previous","toJSON","addFromAppointment","tagCollectionNames","_","flatten","collectionName","_data","canBeEmpty"],"mappings":";;;;;;;;;;;;;AAAA;;AAEA;;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMA,yBAAyB,GAAGC,qBAAeC,MAAf;AACxC;AAAqD;AACpDC,EAAAA,KAAK,EAAE,sBAD6C;AAGpDC,EAAAA,wBAAwB,EAAE;AACzBC,IAAAA,WAAW,EAAE,sCADY;AAEzBC,IAAAA,OAAO,EAAE,kCAFgB;AAGzBC,IAAAA,KAAK,EAAE,gCAHkB;AAIzBC,IAAAA,OAAO,EAAE;AAJgB,GAH0B;AAUpDC,EAAAA,kBAVoD,8BAUjCC,MAViC,EAUzB;AAAA;;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAMC,oBAAoB,GAAG,6BAAS,sBAAT,CAA7B;AACA,QAAMC,UAAU,GAAGC,MAAM,CAACC,IAAP,CAAYJ,MAAZ,EAAoBK,IAApB,CAAyB,UAACC,GAAD,EAAS;AACpD,aAAOH,MAAM,CAACC,IAAP,CAAY,KAAI,CAACV,wBAAjB,EAA2Ca,QAA3C,CAAoDD,GAApD,CAAP;AACA,KAFkB,CAAnB;;AAGA,QAAI,CAACJ,UAAL,EAAiB;AAChB,YAAM,IAAIM,KAAJ,CAAU,8BAAV,CAAN;AACA;;AACD,WAAO,IAAIP,oBAAJ,CAAyB;AAC/BQ,MAAAA,IAAI,EAAET,MAAM,CAACS,IADkB;AAE/BC,MAAAA,YAAY,EAAER,UAFiB;AAG/BS,MAAAA,WAAW,EAAEX,MAAM,CAACE,UAAD,CAHY;AAI/BU,MAAAA,WAAW,EAAEZ,MAAM,CAACY,WAJW;AAK/BC,MAAAA,IAAI,EAAEb,MAAM,CAACa,IALkB;AAM/BC,MAAAA,GAAG,EAAEd,MAAM,CAACc;AANmB,KAAzB,CAAP;AAQA,GArCmD;AAuCpD;AACMC,EAAAA,QAxC8C,sBAwCnC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBACV,IAAIP,KAAJ,CAAU,iBAAV,CADU;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEhB,GA1CmD;AA4C9CQ,EAAAA,WA5C8C,yBA4ChC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBACb,IAAIR,KAAJ,CAAU,iBAAV,CADa;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEnB,GA9CmD;AAgD9CS,EAAAA,MAhD8C,qBAgDrC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBACR,IAAIT,KAAJ,CAAU,qCAAV,CADQ;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEd,GAlDmD;AAoD9CU,EAAAA,IApD8C,kBAoDvC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBACN,IAAIV,KAAJ,CAAU,iBAAV,CADM;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEZ,GAtDmD;AAwD9CW,EAAAA,KAxD8C,iBAwDxCC,OAxDwC,EAwD/B;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AACdC,cAAAA,gBADc,GACK,6BAAS,kBAAT,CADL;AAGhBC,cAAAA,cAHgB,GAInB,oBAAA,MAAI,CAACC,QAAL,oEAAeX,WAAf,aAAsCS,gBAAtC,IACA,CAAAD,OAAO,SAAP,IAAAA,OAAO,WAAP,YAAAA,OAAO,CAAER,WAAT,aAAgCS,gBALb;;AAOpB,kBAAI,CAACC,cAAD,IAAmB,MAAI,CAACE,MAAL,YAAuBH,gBAA9C,EAAgE;AAC/DD,gBAAAA,OAAO,CAACR,WAAR,GAAsB,MAAI,CAACY,MAA3B;AACAF,gBAAAA,cAAc,GAAG,IAAjB;AACA;;AAVmB,kBAYfA,cAZe;AAAA;AAAA;AAAA;;AAAA,oBAab,IAAId,KAAJ,CACL,+DADK,CAba;;AAAA;AAkBdiB,cAAAA,SAlBc,GAkBFtB,MAAM,CAACuB,MAAP,CAAc,MAAI,CAAChC,wBAAnB,CAlBE,EAmBpB;;AAnBoB;AAAA,qBAqBbiC,OAAO,CAACC,GAAR,CACLH,SAAS,CAACI,GAAV,CAAc,UAACC,QAAD,EAAc;AAC3B,oBAAMC,UAAU,GAAG,6BAASD,QAAT,CAAnB;AACA,oBAAMrB,IAAI,GAAG,IAAIsB,UAAJ,CAAe,EAAf,EAAmB,MAAI,CAACR,QAAxB,CAAb;AACA,uBAAOd,IAAI,CAACU,KAAL,CAAWC,OAAX,CAAP;AACA,eAJD,CADK,CArBa;;AAAA;AAoBdY,cAAAA,OApBc,kBA6BlBC,OA7BkB,CA6BV,UAACC,UAAD;AAAA,uBAAgBA,UAAU,CAACF,OAA3B;AAAA,eA7BU,EA8BlBH,GA9BkB,CA8Bd,MAAI,CAAC9B,kBAAL,CAAwBoC,IAAxB,CAA6B,MAA7B,CA9Bc;;AAgCpB,cAAA,MAAI,CAACC,GAAL,CAASJ,OAAT;;AAhCoB,gDAkCb;AACNK,gBAAAA,KAAK,EAAEL,OAAO,CAACM,MADT;AAENC,gBAAAA,IAAI,EAAE,IAFA;AAGNC,gBAAAA,QAAQ,EAAE,IAHJ;AAINR,gBAAAA,OAAO,EAAE,MAAI,CAACS,MAAL;AAJH,eAlCa;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAwCpB,GAhGmD;AAkGpD;AACA;AACAC,EAAAA,kBApGoD,8BAoGjC9B,WApGiC,EAoGpB;AAC/B,QAAM+B,kBAAkB,GAAG,CAC1B,gCAD0B,EAE1B,4BAF0B,EAG1B,0BAH0B,EAI1B,4BAJ0B,CAA3B,CAD+B,CAQ/B;;AACA,QAAMX,OAAO,GAAGY,gBAAEC,OAAF,CACfF,kBAAkB,CAACd,GAAnB,CAAuB,UAACiB,cAAD,EAAoB;AAC1C,UAAMZ,UAAU,GAAGtB,WAAW,CAACkC,cAAD,CAA9B;AACA,aAAO,CAAAZ,UAAU,SAAV,IAAAA,UAAU,WAAV,YAAAA,UAAU,CAAEa,KAAZ,KAAqB,EAA5B;AACA,KAHD,CADe,EAKdlB,GALc,CAKV,KAAK9B,kBAAL,CAAwBoC,IAAxB,CAA6B,IAA7B,CALU,CAAhB;;AAOA,SAAKC,GAAL,CAASJ,OAAT;AACA;AArHmD,CADb,CAAlC;;;AA0HP1C,yBAAyB,CAAC0D,UAA1B,GAAuC,IAAvC;AAEA,6BAAS,2BAAT,EAAsC1D,yBAAtC","sourcesContent":["import { getState, register } from \"../state-register.js\";\n\nimport { BaseCollection } from \"./base.js\";\nimport _ from \"lodash\";\n\n/**\n * @constructor\n * @alias collections.AppointmentTagsCollection\n * @extends collections.BaseCollection\n * @see models.AppointmentTagsModel\n */\nexport const AppointmentTagsCollection = BaseCollection.extend(\n\t/** @lends collections.AppointmentTagsCollection# */ {\n\t\tmodel: \"AppointmentTagsModel\",\n\n\t\ttagNameCollectionMapping: {\n\t\t\tdeckversion: \"AppointmentDeckVersionTagsCollection\",\n\t\t\tsection: \"AppointmentSectionTagsCollection\",\n\t\t\tslide: \"AppointmentSlideTagsCollection\",\n\t\t\tadjunct: \"AppointmentAdjunctTagsCollection\",\n\t\t},\n\n\t\t_mapResultsToModel(result) {\n\t\t\t// Maps a model from a content specific tag to a more generic one.\n\t\t\t// It's generally the same thing, except instead of something like:\n\t\t\t//\n\t\t\t// slide: \"/api/slides/1/\"\n\t\t\t//\n\t\t\t// It becomes:\n\t\t\t//\n\t\t\t// content_type: \"slide\",\n\t\t\t// content_url: \"/api/slides/1/\"\n\t\t\t//\n\t\t\t// So that we can return the list side by side.\n\t\t\tconst AppointmentTagsModel = getState(\"AppointmentTagsModel\");\n\t\t\tconst resultType = Object.keys(result).find((key) => {\n\t\t\t\treturn Object.keys(this.tagNameCollectionMapping).includes(key);\n\t\t\t});\n\t\t\tif (!resultType) {\n\t\t\t\tthrow new Error(\"Unknown type of result found\");\n\t\t\t}\n\t\t\treturn new AppointmentTagsModel({\n\t\t\t\ttags: result.tags,\n\t\t\t\tcontent_type: resultType,\n\t\t\t\tcontent_url: result[resultType],\n\t\t\t\tappointment: result.appointment,\n\t\t\t\tuser: result.user,\n\t\t\t\turl: result.url,\n\t\t\t});\n\t\t},\n\n\t\t// These methods don't quite make sense right now, disable it for development.\n\t\tasync fetchSet() {\n\t\t\tthrow new Error(\"Not implemented\");\n\t\t},\n\n\t\tasync fetchModels() {\n\t\t\tthrow new Error(\"Not implemented\");\n\t\t},\n\n\t\tasync delete() {\n\t\t\tthrow new Error(\"Cannot delete using this collection\");\n\t\t},\n\n\t\tasync save() {\n\t\t\tthrow new Error(\"Not implemented\");\n\t\t},\n\n\t\tasync fetch(options) {\n\t\t\tconst AppointmentModel = getState(\"AppointmentModel\");\n\n\t\t\tlet hasAppointment =\n\t\t\t\tthis._options?.appointment instanceof AppointmentModel ||\n\t\t\t\toptions?.appointment instanceof AppointmentModel;\n\n\t\t\tif (!hasAppointment && this.parent instanceof AppointmentModel) {\n\t\t\t\toptions.appointment = this.parent;\n\t\t\t\thasAppointment = true;\n\t\t\t}\n\n\t\t\tif (!hasAppointment) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t\"Requires an appointment model in collection options to fetch.\"\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst tagModels = Object.values(this.tagNameCollectionMapping);\n\t\t\t// Fetch all the separate tag models and combine them into a single collection\n\t\t\tconst results = (\n\t\t\t\tawait Promise.all(\n\t\t\t\t\ttagModels.map((tagModel) => {\n\t\t\t\t\t\tconst Collection = getState(tagModel);\n\t\t\t\t\t\tconst tags = new Collection({}, this._options);\n\t\t\t\t\t\treturn tags.fetch(options);\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t\t)\n\t\t\t\t.flatMap((collection) => collection.results)\n\t\t\t\t.map(this._mapResultsToModel.bind(this));\n\n\t\t\tthis.add(results);\n\n\t\t\treturn {\n\t\t\t\tcount: results.length,\n\t\t\t\tnext: null,\n\t\t\t\tprevious: null,\n\t\t\t\tresults: this.toJSON(),\n\t\t\t};\n\t\t},\n\n\t\t// Used by Telepresenter to add the tags in the hostedpreso bundle to\n\t\t// the appointment tags collection\n\t\taddFromAppointment(appointment) {\n\t\t\tconst tagCollectionNames = [\n\t\t\t\t\"appointmentdeckversiontags_set\",\n\t\t\t\t\"appointmentsectiontags_set\",\n\t\t\t\t\"appointmentslidetags_set\",\n\t\t\t\t\"appointmentadjuncttags_set\",\n\t\t\t];\n\n\t\t\t// flatMap currently doesn't work in TelePresenter\n\t\t\tconst results = _.flatten(\n\t\t\t\ttagCollectionNames.map((collectionName) => {\n\t\t\t\t\tconst collection = appointment[collectionName];\n\t\t\t\t\treturn collection?._data || [];\n\t\t\t\t})\n\t\t\t).map(this._mapResultsToModel.bind(this));\n\n\t\t\tthis.add(results);\n\t\t},\n\t}\n);\n\nAppointmentTagsCollection.canBeEmpty = true;\n\nregister(\"AppointmentTagsCollection\", AppointmentTagsCollection);\n"],"file":"appointment-tags.js"}
@@ -7,19 +7,23 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.AppointmentCollection = void 0;
9
9
 
10
- var _objectSpread4 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread"));
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
11
 
12
12
  require("../models/appointment.js");
13
13
 
14
- var _moment = _interopRequireDefault(require("moment"));
15
-
16
14
  var _auth = require("../auth.js");
17
15
 
16
+ var _base = require("./base.js");
17
+
18
18
  var _log = _interopRequireDefault(require("../log.js"));
19
19
 
20
+ var _moment = _interopRequireDefault(require("moment"));
21
+
20
22
  var _stateRegister = require("../state-register.js");
21
23
 
22
- var _base = require("./base.js");
24
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
25
+
26
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
23
27
 
24
28
  /**
25
29
  * @constructor
@@ -54,7 +58,7 @@ var AppointmentCollection = _base.BaseCollection.extend(
54
58
  var date = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _moment.default.now();
55
59
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
56
60
  var userID = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _auth.Auth.user.id;
57
- return this.fetch((0, _objectSpread4.default)({}, options, {
61
+ return this.fetch(_objectSpread(_objectSpread({}, options), {}, {
58
62
  data: AppointmentCollection.monthParametersForUser(date, userID, "sort")
59
63
  }));
60
64
  },
@@ -62,7 +66,7 @@ var AppointmentCollection = _base.BaseCollection.extend(
62
66
  var date = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _moment.default.now();
63
67
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
64
68
  var userID = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _auth.Auth.user.id;
65
- return this.fetch((0, _objectSpread4.default)({}, options, {
69
+ return this.fetch(_objectSpread(_objectSpread({}, options), {}, {
66
70
  data: AppointmentCollection.fortnightParametersForUser(date, userID, "sort")
67
71
  }));
68
72
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/collections/appointments.js"],"names":["AppointmentCollection","BaseCollection","extend","model","fetchEmpty","monthParametersForUser","log","warn","apply","arguments","fetchMonthForUser","date","moment","now","options","userID","Auth","user","id","fetch","data","fetchFortnightForUser","fortnightParametersForUser","fetchCreatedMonthForUser","parameter","dateFrom","subtract","format","dateTo","add","creation_status","startOf","endOf"],"mappings":";;;;;;;;;;;AAAA;;AAEA;;AAEA;;AACA;;AACA;;AACA;;AAEA;;;;;;AAMO,IAAMA,qBAAqB,GAAGC,qBAAeC,MAAf;AACpC;AAAiD;AAChDC,EAAAA,KAAK,EAAE,kBADyC;AAEhDC,EAAAA,UAAU,EAAE,IAFoC;;AAIhD;;;;;AAKAC,EAAAA,sBATgD,oCASvB;AACxBC,iBAAIC,IAAJ;;AAIA,WAAOP,qBAAqB,CAACK,sBAAtB,CAA6CG,KAA7C,CACN,IADM,EAENC,SAFM,CAAP;AAIA,GAlB+C;;AAoBhD;;;;;;AAMAC,EAAAA,iBA1BgD,+BA8B9C;AAAA,QAHDC,IAGC,uEAHMC,gBAAOC,GAAP,EAGN;AAAA,QAFDC,OAEC,uEAFS,EAET;AAAA,QADDC,MACC,uEADQC,WAAKC,IAAL,CAAUC,EAClB;AACD,WAAO,KAAKC,KAAL,iCACHL,OADG;AAENM,MAAAA,IAAI,EAAEpB,qBAAqB,CAACK,sBAAtB,CAA6CM,IAA7C,EAAmDI,MAAnD,EAA2D,MAA3D;AAFA,OAAP;AAIA,GAnC+C;AAqChDM,EAAAA,qBArCgD,mCAyC9C;AAAA,QAHDV,IAGC,uEAHMC,gBAAOC,GAAP,EAGN;AAAA,QAFDC,OAEC,uEAFS,EAET;AAAA,QADDC,MACC,uEADQC,WAAKC,IAAL,CAAUC,EAClB;AACD,WAAO,KAAKC,KAAL,iCACHL,OADG;AAENM,MAAAA,IAAI,EAAEpB,qBAAqB,CAACsB,0BAAtB,CACLX,IADK,EAELI,MAFK,EAGL,MAHK;AAFA,OAAP;AAQA,GAlD+C;;AAoDhD;;;;;;AAMAQ,EAAAA,wBA1DgD,oCA0DvBZ,IA1DuB,EA0DM;AAAA,QAAvBI,MAAuB,uEAAdC,WAAKC,IAAL,CAAUC,EAAI;AACrD,WAAO,KAAKC,KAAL,CAAW;AACjBC,MAAAA,IAAI,EAAEpB,qBAAqB,CAACK,sBAAtB,CACLM,IADK,EAELI,MAFK,EAGL,SAHK;AADW,KAAX,CAAP;AAOA;AAlE+C,CADb,CAA9B;AAuEP;;;;;;;;;;;;;AASAf,qBAAqB,CAACsB,0BAAtB,GAAmD,UAClDX,IADkD,EAIjD;AAAA,MAFDI,MAEC,uEAFQC,WAAKC,IAAL,CAAUC,EAElB;AAAA,MADDM,SACC,uEADW,MACX;AACD,MAAMC,QAAQ,GAAG,qBAAOd,IAAP,EACfe,QADe,CACN,CADM,EACH,MADG,EAEfC,MAFe,EAAjB;AAGA,MAAMC,MAAM,GAAG,qBAAOjB,IAAP,EACbkB,GADa,CACT,CADS,EACN,MADM,EAEbF,MAFa,EAAf,CAJC,CAQD;;AACA,MAAMP,IAAI,GAAG;AACZH,IAAAA,IAAI,EAAEF,MADM;AAEZe,IAAAA,eAAe,EAAE,CAAC,YAAD,EAAe,OAAf;AAFL,GAAb;AAKAV,EAAAA,IAAI,WAAII,SAAJ,gBAAJ,GAAiCC,QAAjC;AACAL,EAAAA,IAAI,WAAII,SAAJ,gBAAJ,GAAiCI,MAAjC;AAEA,SAAOR,IAAP;AACA,CAtBD;AAwBA;;;;;;;;;;;AASApB,qBAAqB,CAACK,sBAAtB,GAA+C,UAC9CM,IAD8C,EAI7C;AAAA,MAFDI,MAEC,uEAFQC,WAAKC,IAAL,CAAUC,EAElB;AAAA,MADDM,SACC,uEADW,MACX;AACD,MAAMC,QAAQ,GAAG,qBAAOd,IAAP,EACfoB,OADe,CACP,OADO,EAEfJ,MAFe,EAAjB;AAGA,MAAMC,MAAM,GAAG,qBAAOjB,IAAP,EACbqB,KADa,CACP,OADO,EAEbL,MAFa,EAAf,CAJC,CAQD;;AACA,MAAMP,IAAI,GAAG;AACZH,IAAAA,IAAI,EAAEF,MADM;AAEZe,IAAAA,eAAe,EAAE,CAAC,YAAD,EAAe,OAAf;AAFL,GAAb;AAKAV,EAAAA,IAAI,WAAII,SAAJ,gBAAJ,GAAiCC,QAAjC;AACAL,EAAAA,IAAI,WAAII,SAAJ,gBAAJ,GAAiCI,MAAjC;AAEA,SAAOR,IAAP;AACA,CAtBD;;AAwBA,6BAAS,uBAAT,EAAkCpB,qBAAlC","sourcesContent":["import \"../models/appointment.js\";\n\nimport moment from \"moment\";\n\nimport { Auth } from \"../auth.js\";\nimport log from \"../log.js\";\nimport { register } from \"../state-register.js\";\nimport { BaseCollection } from \"./base.js\";\n\n/**\n * @constructor\n * @alias collections.AppointmentCollection\n * @extends collections.BaseCollection\n * @see models.AppointmentModel\n */\nexport const AppointmentCollection = BaseCollection.extend(\n\t/** @lends collections.AppointmentCollection# */ {\n\t\tmodel: \"AppointmentModel\",\n\t\tfetchEmpty: true,\n\n\t\t/**\n\t\t * Returns a query parameter object for querying a months data for a user\n\t\t * @see collections.AppointmentCollection.monthParametersForUser\n\t\t * @deprecated\n\t\t */\n\t\tmonthParametersForUser() {\n\t\t\tlog.warn(`\n\t\t\tDeprecation: Calling fetchMonthForUser on an instance is deprecated.\n\t\t\tUse AppointmentCollection.monthParametersForUser instead\n\t\t`);\n\t\t\treturn AppointmentCollection.monthParametersForUser.apply(\n\t\t\t\tnull,\n\t\t\t\targuments\n\t\t\t);\n\t\t},\n\n\t\t/**\n\t\t * Fetch a month's schedule for a particular user.\n\t\t * @param {moment|string} date - A date in the month you wish to retrieve\n\t\t * @param {number} [userID] - A user's ID. Defaults to the current user if missing\n\t\t * @returns {Promise}\n\t\t */\n\t\tfetchMonthForUser(\n\t\t\tdate = moment.now(),\n\t\t\toptions = {},\n\t\t\tuserID = Auth.user.id\n\t\t) {\n\t\t\treturn this.fetch({\n\t\t\t\t...options,\n\t\t\t\tdata: AppointmentCollection.monthParametersForUser(date, userID, \"sort\")\n\t\t\t});\n\t\t},\n\n\t\tfetchFortnightForUser(\n\t\t\tdate = moment.now(),\n\t\t\toptions = {},\n\t\t\tuserID = Auth.user.id\n\t\t) {\n\t\t\treturn this.fetch({\n\t\t\t\t...options,\n\t\t\t\tdata: AppointmentCollection.fortnightParametersForUser(\n\t\t\t\t\tdate,\n\t\t\t\t\tuserID,\n\t\t\t\t\t\"sort\"\n\t\t\t\t)\n\t\t\t});\n\t\t},\n\n\t\t/**\n\t\t * Fetch a month's created appointments for a particular user.\n\t\t * @param {moment|string} date - A date in the month you wish to retrieve\n\t\t * @param {number} [userID] - A user's ID. Defaults to the current user if missing\n\t\t * @returns {Promise}\n\t\t */\n\t\tfetchCreatedMonthForUser(date, userID = Auth.user.id) {\n\t\t\treturn this.fetch({\n\t\t\t\tdata: AppointmentCollection.monthParametersForUser(\n\t\t\t\t\tdate,\n\t\t\t\t\tuserID,\n\t\t\t\t\t\"created\"\n\t\t\t\t)\n\t\t\t});\n\t\t}\n\t}\n);\n\n/**\n * Returns a query parameter object for querying a months data for a user\n * @function monthParametersForUser\n * @memberof collections.AppointmentCollection\n * @param {moment|string} date\n * @param {number} [userID]\n * @param {string} [parameter=\"sort\"]\n * @returns {object}\n */\nAppointmentCollection.fortnightParametersForUser = function(\n\tdate,\n\tuserID = Auth.user.id,\n\tparameter = \"sort\"\n) {\n\tconst dateFrom = moment(date)\n\t\t.subtract(1, \"week\")\n\t\t.format();\n\tconst dateTo = moment(date)\n\t\t.add(1, \"week\")\n\t\t.format();\n\n\t// The server only returns apts with 'ready' creation status by default\n\tconst data = {\n\t\tuser: userID,\n\t\tcreation_status: [\"processing\", \"ready\"]\n\t};\n\n\tdata[`${parameter}_date__gte`] = dateFrom;\n\tdata[`${parameter}_date__lte`] = dateTo;\n\n\treturn data;\n};\n\n/**\n * Returns a query parameter object for querying a months data for a user\n * @function monthParametersForUser\n * @memberof collections.AppointmentCollection\n * @param {moment|string} date\n * @param {number} [userID]\n * @param {string} [parameter=\"sort\"]\n * @returns {object}\n */\nAppointmentCollection.monthParametersForUser = function(\n\tdate,\n\tuserID = Auth.user.id,\n\tparameter = \"sort\"\n) {\n\tconst dateFrom = moment(date)\n\t\t.startOf(\"month\")\n\t\t.format();\n\tconst dateTo = moment(date)\n\t\t.endOf(\"month\")\n\t\t.format();\n\n\t// The server only returns apts with 'ready' creation status by default\n\tconst data = {\n\t\tuser: userID,\n\t\tcreation_status: [\"processing\", \"ready\"]\n\t};\n\n\tdata[`${parameter}_date__gte`] = dateFrom;\n\tdata[`${parameter}_date__lte`] = dateTo;\n\n\treturn data;\n};\n\nregister(\"AppointmentCollection\", AppointmentCollection);\n"],"file":"appointments.js"}
1
+ {"version":3,"sources":["../../src/collections/appointments.js"],"names":["AppointmentCollection","BaseCollection","extend","model","fetchEmpty","monthParametersForUser","log","warn","apply","arguments","fetchMonthForUser","date","moment","now","options","userID","Auth","user","id","fetch","data","fetchFortnightForUser","fortnightParametersForUser","fetchCreatedMonthForUser","parameter","dateFrom","subtract","format","dateTo","add","creation_status","startOf","endOf"],"mappings":"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","sourcesContent":["import \"../models/appointment.js\";\n\nimport { Auth } from \"../auth.js\";\nimport { BaseCollection } from \"./base.js\";\nimport log from \"../log.js\";\nimport moment from \"moment\";\nimport { register } from \"../state-register.js\";\n\n/**\n * @constructor\n * @alias collections.AppointmentCollection\n * @extends collections.BaseCollection\n * @see models.AppointmentModel\n */\nexport const AppointmentCollection = BaseCollection.extend(\n\t/** @lends collections.AppointmentCollection# */ {\n\t\tmodel: \"AppointmentModel\",\n\t\tfetchEmpty: true,\n\n\t\t/**\n\t\t * Returns a query parameter object for querying a months data for a user\n\t\t * @see collections.AppointmentCollection.monthParametersForUser\n\t\t * @deprecated\n\t\t */\n\t\tmonthParametersForUser() {\n\t\t\tlog.warn(`\n\t\t\tDeprecation: Calling fetchMonthForUser on an instance is deprecated.\n\t\t\tUse AppointmentCollection.monthParametersForUser instead\n\t\t`);\n\t\t\treturn AppointmentCollection.monthParametersForUser.apply(\n\t\t\t\tnull,\n\t\t\t\targuments\n\t\t\t);\n\t\t},\n\n\t\t/**\n\t\t * Fetch a month's schedule for a particular user.\n\t\t * @param {moment|string} date - A date in the month you wish to retrieve\n\t\t * @param {number} [userID] - A user's ID. Defaults to the current user if missing\n\t\t * @returns {Promise}\n\t\t */\n\t\tfetchMonthForUser(\n\t\t\tdate = moment.now(),\n\t\t\toptions = {},\n\t\t\tuserID = Auth.user.id\n\t\t) {\n\t\t\treturn this.fetch({\n\t\t\t\t...options,\n\t\t\t\tdata: AppointmentCollection.monthParametersForUser(\n\t\t\t\t\tdate,\n\t\t\t\t\tuserID,\n\t\t\t\t\t\"sort\"\n\t\t\t\t),\n\t\t\t});\n\t\t},\n\n\t\tfetchFortnightForUser(\n\t\t\tdate = moment.now(),\n\t\t\toptions = {},\n\t\t\tuserID = Auth.user.id\n\t\t) {\n\t\t\treturn this.fetch({\n\t\t\t\t...options,\n\t\t\t\tdata: AppointmentCollection.fortnightParametersForUser(\n\t\t\t\t\tdate,\n\t\t\t\t\tuserID,\n\t\t\t\t\t\"sort\"\n\t\t\t\t),\n\t\t\t});\n\t\t},\n\n\t\t/**\n\t\t * Fetch a month's created appointments for a particular user.\n\t\t * @param {moment|string} date - A date in the month you wish to retrieve\n\t\t * @param {number} [userID] - A user's ID. Defaults to the current user if missing\n\t\t * @returns {Promise}\n\t\t */\n\t\tfetchCreatedMonthForUser(date, userID = Auth.user.id) {\n\t\t\treturn this.fetch({\n\t\t\t\tdata: AppointmentCollection.monthParametersForUser(\n\t\t\t\t\tdate,\n\t\t\t\t\tuserID,\n\t\t\t\t\t\"created\"\n\t\t\t\t),\n\t\t\t});\n\t\t},\n\t}\n);\n\n/**\n * Returns a query parameter object for querying a months data for a user\n * @function monthParametersForUser\n * @memberof collections.AppointmentCollection\n * @param {moment|string} date\n * @param {number} [userID]\n * @param {string} [parameter=\"sort\"]\n * @returns {object}\n */\nAppointmentCollection.fortnightParametersForUser = function (\n\tdate,\n\tuserID = Auth.user.id,\n\tparameter = \"sort\"\n) {\n\tconst dateFrom = moment(date).subtract(1, \"week\").format();\n\tconst dateTo = moment(date).add(1, \"week\").format();\n\n\t// The server only returns apts with 'ready' creation status by default\n\tconst data = {\n\t\tuser: userID,\n\t\tcreation_status: [\"processing\", \"ready\"],\n\t};\n\n\tdata[`${parameter}_date__gte`] = dateFrom;\n\tdata[`${parameter}_date__lte`] = dateTo;\n\n\treturn data;\n};\n\n/**\n * Returns a query parameter object for querying a months data for a user\n * @function monthParametersForUser\n * @memberof collections.AppointmentCollection\n * @param {moment|string} date\n * @param {number} [userID]\n * @param {string} [parameter=\"sort\"]\n * @returns {object}\n */\nAppointmentCollection.monthParametersForUser = function (\n\tdate,\n\tuserID = Auth.user.id,\n\tparameter = \"sort\"\n) {\n\tconst dateFrom = moment(date).startOf(\"month\").format();\n\tconst dateTo = moment(date).endOf(\"month\").format();\n\n\t// The server only returns apts with 'ready' creation status by default\n\tconst data = {\n\t\tuser: userID,\n\t\tcreation_status: [\"processing\", \"ready\"],\n\t};\n\n\tdata[`${parameter}_date__gte`] = dateFrom;\n\tdata[`${parameter}_date__lte`] = dateTo;\n\n\treturn data;\n};\n\nregister(\"AppointmentCollection\", AppointmentCollection);\n"],"file":"appointments.js"}
@@ -7,10 +7,10 @@ exports.AssetCollection = void 0;
7
7
 
8
8
  require("../models/asset.js");
9
9
 
10
- var _stateRegister = require("../state-register.js");
11
-
12
10
  var _base = require("./base.js");
13
11
 
12
+ var _stateRegister = require("../state-register.js");
13
+
14
14
  /**
15
15
  * @constructor
16
16
  * @alias collections.AssetCollection
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/collections/assets.js"],"names":["AssetCollection","BaseCollection","extend","model"],"mappings":";;;;;;;AAAA;;AAEA;;AACA;;AAEA;;;;;;AAMO,IAAMA,eAAe,GAAGC,qBAAeC,MAAf;AAC9B;AAA2C;AAC1CC,EAAAA,KAAK,EAAE;AADmC,CADb,CAAxB;;;AAMP,6BAAS,iBAAT,EAA4BH,eAA5B","sourcesContent":["import \"../models/asset.js\";\n\nimport { register } from \"../state-register.js\";\nimport { BaseCollection } from \"./base.js\";\n\n/**\n * @constructor\n * @alias collections.AssetCollection\n * @extends collections.BaseCollection\n * @see models.AssetModel\n */\nexport const AssetCollection = BaseCollection.extend(\n\t/** @lends collections.AssetCollection# */ {\n\t\tmodel: \"AssetModel\"\n\t}\n);\n\nregister(\"AssetCollection\", AssetCollection);\n"],"file":"assets.js"}
1
+ {"version":3,"sources":["../../src/collections/assets.js"],"names":["AssetCollection","BaseCollection","extend","model"],"mappings":";;;;;;;AAAA;;AAEA;;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMA,eAAe,GAAGC,qBAAeC,MAAf;AAC9B;AAA2C;AAC1CC,EAAAA,KAAK,EAAE;AADmC,CADb,CAAxB;;;AAMP,6BAAS,iBAAT,EAA4BH,eAA5B","sourcesContent":["import \"../models/asset.js\";\n\nimport { BaseCollection } from \"./base.js\";\nimport { register } from \"../state-register.js\";\n\n/**\n * @constructor\n * @alias collections.AssetCollection\n * @extends collections.BaseCollection\n * @see models.AssetModel\n */\nexport const AssetCollection = BaseCollection.extend(\n\t/** @lends collections.AssetCollection# */ {\n\t\tmodel: \"AssetModel\",\n\t}\n);\n\nregister(\"AssetCollection\", AssetCollection);\n"],"file":"assets.js"}
@@ -7,15 +7,19 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.AutoAdjunctCollection = void 0;
9
9
 
10
- var _objectSpread3 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread"));
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
11
 
12
12
  require("../models/auto-adjunct.js");
13
13
 
14
14
  var _auth = _interopRequireDefault(require("../auth.js"));
15
15
 
16
+ var _base = require("./base.js");
17
+
16
18
  var _stateRegister = require("../state-register.js");
17
19
 
18
- var _base = require("./base.js");
20
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
21
+
22
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
19
23
 
20
24
  /**
21
25
  * @constructor
@@ -30,7 +34,7 @@ var AutoAdjunctCollection = _base.BaseCollection.extend(
30
34
  model: "AutoAdjunctModel",
31
35
  fetchByDeckID: function fetchByDeckID(deckID) {
32
36
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
33
- return this.fetch((0, _objectSpread3.default)({}, options, {
37
+ return this.fetch(_objectSpread(_objectSpread({}, options), {}, {
34
38
  data: {
35
39
  deck: deckID
36
40
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/collections/auto-adjuncts.js"],"names":["AutoAdjunctCollection","BaseCollection","extend","comparator","model","fetchByDeckID","deckID","options","fetch","data","deck","opts","user","Auth","team","concat","team_set","map","id","prototype","call"],"mappings":";;;;;;;;;;;AAAA;;AAEA;;AACA;;AACA;;AAEA;;;;;;AAMO,IAAMA,qBAAqB,GAAGC,qBAAeC,MAAf;AACpC;AAAiD;AAChDC,EAAAA,UAAU,EAAE,UADoC;AAEhDC,EAAAA,KAAK,EAAE,kBAFyC;AAIhDC,EAAAA,aAJgD,yBAIlCC,MAJkC,EAIZ;AAAA,QAAdC,OAAc,uEAAJ,EAAI;AACnC,WAAO,KAAKC,KAAL,iCACHD,OADG;AAENE,MAAAA,IAAI,EAAE;AACLC,QAAAA,IAAI,EAAEJ;AADD;AAFA,OAAP;AAMA,GAX+C;AAahDE,EAAAA,KAbgD,mBAa/B;AAAA,QAAXG,IAAW,uEAAJ,EAAI;AAAA,QACRC,IADQ,GACCC,aADD,CACRD,IADQ;;AAGhB,QAAI,CAACD,IAAI,CAACF,IAAV,EAAgB;AACfE,MAAAA,IAAI,CAACF,IAAL,GAAY,EAAZ;AACA,KALe,CAOhB;AACA;;;AACA,QAAI,CAACE,IAAI,CAACF,IAAL,CAAUK,IAAf,EAAqB;AACpB;AACA;AACA;AACA;AACA;AACAH,MAAAA,IAAI,CAACF,IAAL,CAAUK,IAAV,GAAiB,CAAC,IAAD,EAAOC,MAAP,CAAcH,IAAI,CAACI,QAAL,CAAcC,GAAd,CAAkB,UAAAH,IAAI;AAAA,eAAIA,IAAI,CAACI,EAAT;AAAA,OAAtB,CAAd,CAAjB;AACA;;AAED,WAAOjB,qBAAekB,SAAf,CAAyBX,KAAzB,CAA+BY,IAA/B,CAAoC,IAApC,EAA0CT,IAA1C,CAAP;AACA;AAhC+C,CADb,CAA9B;;;AAqCP,6BAAS,uBAAT,EAAkCX,qBAAlC","sourcesContent":["import \"../models/auto-adjunct.js\";\n\nimport Auth from \"../auth.js\";\nimport { register } from \"../state-register.js\";\nimport { BaseCollection } from \"./base.js\";\n\n/**\n * @constructor\n * @alias collections.AutoAdjunctCollection\n * @extends collections.BaseCollection\n * @see models.AutoAdjunctModel\n */\nexport const AutoAdjunctCollection = BaseCollection.extend(\n\t/** @lends collections.AutoAdjunctCollection# */ {\n\t\tcomparator: \"sequence\",\n\t\tmodel: \"AutoAdjunctModel\",\n\n\t\tfetchByDeckID(deckID, options = {}) {\n\t\t\treturn this.fetch({\n\t\t\t\t...options,\n\t\t\t\tdata: {\n\t\t\t\t\tdeck: deckID\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\n\t\tfetch(opts = {}) {\n\t\t\tconst { user } = Auth;\n\n\t\t\tif (!opts.data) {\n\t\t\t\topts.data = {};\n\t\t\t}\n\n\t\t\t// Let's only add this if it's not already being set, in case a global user\n\t\t\t// DOES want to see a specific team.\n\t\t\tif (!opts.data.team) {\n\t\t\t\t//\n\t\t\t\t// Filter all global autoadjuncts, and only query teams that\n\t\t\t\t// the authorized user is a part of. This is mostly for the case where\n\t\t\t\t// a 'global' temp slide admin could end up seeing autoadjuncts for\n\t\t\t\t// many teams - which would be increadibly confusing.\n\t\t\t\topts.data.team = [null].concat(user.team_set.map(team => team.id));\n\t\t\t}\n\n\t\t\treturn BaseCollection.prototype.fetch.call(this, opts);\n\t\t}\n\t}\n);\n\nregister(\"AutoAdjunctCollection\", AutoAdjunctCollection);\n"],"file":"auto-adjuncts.js"}
1
+ {"version":3,"sources":["../../src/collections/auto-adjuncts.js"],"names":["AutoAdjunctCollection","BaseCollection","extend","comparator","model","fetchByDeckID","deckID","options","fetch","data","deck","opts","user","Auth","team","concat","team_set","map","id","prototype","call"],"mappings":";;;;;;;;;;;AAAA;;AAEA;;AACA;;AACA;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMA,qBAAqB,GAAGC,qBAAeC,MAAf;AACpC;AAAiD;AAChDC,EAAAA,UAAU,EAAE,UADoC;AAEhDC,EAAAA,KAAK,EAAE,kBAFyC;AAIhDC,EAAAA,aAJgD,yBAIlCC,MAJkC,EAIZ;AAAA,QAAdC,OAAc,uEAAJ,EAAI;AACnC,WAAO,KAAKC,KAAL,iCACHD,OADG;AAENE,MAAAA,IAAI,EAAE;AACLC,QAAAA,IAAI,EAAEJ;AADD;AAFA,OAAP;AAMA,GAX+C;AAahDE,EAAAA,KAbgD,mBAa/B;AAAA,QAAXG,IAAW,uEAAJ,EAAI;AAChB,QAAQC,IAAR,GAAiBC,aAAjB,CAAQD,IAAR;;AAEA,QAAI,CAACD,IAAI,CAACF,IAAV,EAAgB;AACfE,MAAAA,IAAI,CAACF,IAAL,GAAY,EAAZ;AACA,KALe,CAOhB;AACA;;;AACA,QAAI,CAACE,IAAI,CAACF,IAAL,CAAUK,IAAf,EAAqB;AACpB;AACA;AACA;AACA;AACA;AACAH,MAAAA,IAAI,CAACF,IAAL,CAAUK,IAAV,GAAiB,CAAC,IAAD,EAAOC,MAAP,CAAcH,IAAI,CAACI,QAAL,CAAcC,GAAd,CAAkB,UAACH,IAAD;AAAA,eAAUA,IAAI,CAACI,EAAf;AAAA,OAAlB,CAAd,CAAjB;AACA;;AAED,WAAOjB,qBAAekB,SAAf,CAAyBX,KAAzB,CAA+BY,IAA/B,CAAoC,IAApC,EAA0CT,IAA1C,CAAP;AACA;AAhC+C,CADb,CAA9B;;;AAqCP,6BAAS,uBAAT,EAAkCX,qBAAlC","sourcesContent":["import \"../models/auto-adjunct.js\";\n\nimport Auth from \"../auth.js\";\nimport { BaseCollection } from \"./base.js\";\nimport { register } from \"../state-register.js\";\n\n/**\n * @constructor\n * @alias collections.AutoAdjunctCollection\n * @extends collections.BaseCollection\n * @see models.AutoAdjunctModel\n */\nexport const AutoAdjunctCollection = BaseCollection.extend(\n\t/** @lends collections.AutoAdjunctCollection# */ {\n\t\tcomparator: \"sequence\",\n\t\tmodel: \"AutoAdjunctModel\",\n\n\t\tfetchByDeckID(deckID, options = {}) {\n\t\t\treturn this.fetch({\n\t\t\t\t...options,\n\t\t\t\tdata: {\n\t\t\t\t\tdeck: deckID,\n\t\t\t\t},\n\t\t\t});\n\t\t},\n\n\t\tfetch(opts = {}) {\n\t\t\tconst { user } = Auth;\n\n\t\t\tif (!opts.data) {\n\t\t\t\topts.data = {};\n\t\t\t}\n\n\t\t\t// Let's only add this if it's not already being set, in case a global user\n\t\t\t// DOES want to see a specific team.\n\t\t\tif (!opts.data.team) {\n\t\t\t\t//\n\t\t\t\t// Filter all global autoadjuncts, and only query teams that\n\t\t\t\t// the authorized user is a part of. This is mostly for the case where\n\t\t\t\t// a 'global' temp slide admin could end up seeing autoadjuncts for\n\t\t\t\t// many teams - which would be increadibly confusing.\n\t\t\t\topts.data.team = [null].concat(user.team_set.map((team) => team.id));\n\t\t\t}\n\n\t\t\treturn BaseCollection.prototype.fetch.call(this, opts);\n\t\t},\n\t}\n);\n\nregister(\"AutoAdjunctCollection\", AutoAdjunctCollection);\n"],"file":"auto-adjuncts.js"}