@livepreso/api 6.40.0 → 6.43.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (446) hide show
  1. package/.eslintrc.js +5 -0
  2. package/.rush/temp/build-cache-tar.log +7 -0
  3. package/.rush/temp/package-deps_build.json +170 -0
  4. package/.rush/temp/shrinkwrap-deps.json +846 -0
  5. package/CHANGELOG.json +41 -0
  6. package/CHANGELOG.md +25 -0
  7. package/api.build.log +15 -0
  8. package/babel.config.js +9 -18
  9. package/cjs/api.js +1 -1
  10. package/cjs/api.js.map +1 -1
  11. package/cjs/api.spec.js +2 -2
  12. package/cjs/api.spec.js.map +1 -1
  13. package/cjs/auth.js +6 -5
  14. package/cjs/auth.js.map +1 -1
  15. package/cjs/auth.spec.js +25 -23
  16. package/cjs/auth.spec.js.map +1 -1
  17. package/cjs/caching.js +3 -3
  18. package/cjs/collections/activity.js +22 -27
  19. package/cjs/collections/activity.js.map +1 -1
  20. package/cjs/collections/adjunct-sections.js +2 -2
  21. package/cjs/collections/adjunct-sections.js.map +1 -1
  22. package/cjs/collections/adjunct-slides.js +2 -2
  23. package/cjs/collections/adjunct-slides.js.map +1 -1
  24. package/cjs/collections/adjunct-sub-slides.js +2 -2
  25. package/cjs/collections/adjunct-sub-slides.js.map +1 -1
  26. package/cjs/collections/appointment-adjunct-tags.js +28 -0
  27. package/cjs/collections/appointment-adjunct-tags.js.map +1 -0
  28. package/cjs/collections/appointment-deckversion-tags.js +28 -0
  29. package/cjs/collections/appointment-deckversion-tags.js.map +1 -0
  30. package/cjs/collections/appointment-duplicates.js +2 -2
  31. package/cjs/collections/appointment-duplicates.js.map +1 -1
  32. package/cjs/collections/appointment-editors.js +2 -2
  33. package/cjs/collections/appointment-editors.js.map +1 -1
  34. package/cjs/collections/appointment-section-tags.js +28 -0
  35. package/cjs/collections/appointment-section-tags.js.map +1 -0
  36. package/cjs/collections/appointment-slide-tags.js +28 -0
  37. package/cjs/collections/appointment-slide-tags.js.map +1 -0
  38. package/cjs/collections/appointment-tags.js +208 -0
  39. package/cjs/collections/appointment-tags.js.map +1 -0
  40. package/cjs/collections/appointments.js +10 -6
  41. package/cjs/collections/appointments.js.map +1 -1
  42. package/cjs/collections/assets.js +2 -2
  43. package/cjs/collections/assets.js.map +1 -1
  44. package/cjs/collections/auto-adjuncts.js +7 -3
  45. package/cjs/collections/auto-adjuncts.js.map +1 -1
  46. package/cjs/collections/base.js +30 -25
  47. package/cjs/collections/base.js.map +1 -1
  48. package/cjs/collections/base.spec.js +71 -123
  49. package/cjs/collections/base.spec.js.map +1 -1
  50. package/cjs/collections/cms-vals.js +2 -2
  51. package/cjs/collections/cms-vals.js.map +1 -1
  52. package/cjs/collections/contacts.js +2 -2
  53. package/cjs/collections/contacts.js.map +1 -1
  54. package/cjs/collections/created-assets.js +2 -2
  55. package/cjs/collections/created-assets.js.map +1 -1
  56. package/cjs/collections/customers.js +2 -2
  57. package/cjs/collections/customers.js.map +1 -1
  58. package/cjs/collections/deck-notes.js +2 -2
  59. package/cjs/collections/deck-notes.js.map +1 -1
  60. package/cjs/collections/deck-versions.js +20 -8
  61. package/cjs/collections/deck-versions.js.map +1 -1
  62. package/cjs/collections/decks.js +2 -2
  63. package/cjs/collections/decks.js.map +1 -1
  64. package/cjs/collections/deleted-assets.js +2 -2
  65. package/cjs/collections/deleted-assets.js.map +1 -1
  66. package/cjs/collections/dispatches.js +4 -4
  67. package/cjs/collections/dispatches.js.map +1 -1
  68. package/cjs/collections/event-objects.js +2 -2
  69. package/cjs/collections/event-objects.js.map +1 -1
  70. package/cjs/collections/events.js +2 -2
  71. package/cjs/collections/events.js.map +1 -1
  72. package/cjs/collections/groups.js +2 -2
  73. package/cjs/collections/groups.js.map +1 -1
  74. package/cjs/collections/images.js +2 -2
  75. package/cjs/collections/images.js.map +1 -1
  76. package/cjs/collections/locations.js +2 -2
  77. package/cjs/collections/locations.js.map +1 -1
  78. package/cjs/collections/opportunities.js +2 -2
  79. package/cjs/collections/opportunities.js.map +1 -1
  80. package/cjs/collections/pack-diffs.js +2 -2
  81. package/cjs/collections/pack-diffs.js.map +1 -1
  82. package/cjs/collections/packs.js +2 -2
  83. package/cjs/collections/packs.js.map +1 -1
  84. package/cjs/collections/presets.js +2 -2
  85. package/cjs/collections/presets.js.map +1 -1
  86. package/cjs/collections/section-selections.js +2 -2
  87. package/cjs/collections/section-selections.js.map +1 -1
  88. package/cjs/collections/sections.js +2 -2
  89. package/cjs/collections/sections.js.map +1 -1
  90. package/cjs/collections/slide-selections.js +2 -2
  91. package/cjs/collections/slide-selections.js.map +1 -1
  92. package/cjs/collections/slides.js +2 -2
  93. package/cjs/collections/slides.js.map +1 -1
  94. package/cjs/collections/snapshots.js +2 -2
  95. package/cjs/collections/snapshots.js.map +1 -1
  96. package/cjs/collections/sub-slides.js +2 -2
  97. package/cjs/collections/sub-slides.js.map +1 -1
  98. package/cjs/collections/tags.js +28 -0
  99. package/cjs/collections/tags.js.map +1 -0
  100. package/cjs/collections/teams.js +2 -2
  101. package/cjs/collections/teams.js.map +1 -1
  102. package/cjs/collections/templates.js +2 -2
  103. package/cjs/collections/templates.js.map +1 -1
  104. package/cjs/collections/uploads.js +2 -2
  105. package/cjs/collections/uploads.js.map +1 -1
  106. package/cjs/collections/users.js +2 -2
  107. package/cjs/collections/users.js.map +1 -1
  108. package/cjs/collections.js +115 -0
  109. package/cjs/collections.js.map +1 -1
  110. package/cjs/index.js +3 -0
  111. package/cjs/index.js.map +1 -1
  112. package/cjs/middleware.js.map +1 -1
  113. package/cjs/middlewares/auth.js +10 -6
  114. package/cjs/middlewares/auth.js.map +1 -1
  115. package/cjs/middlewares/base.js +1 -3
  116. package/cjs/middlewares/base.js.map +1 -1
  117. package/cjs/middlewares/json.js +10 -6
  118. package/cjs/middlewares/json.js.map +1 -1
  119. package/cjs/middlewares/redirect.js +10 -6
  120. package/cjs/middlewares/redirect.js.map +1 -1
  121. package/cjs/models/activity-item.js +6 -2
  122. package/cjs/models/activity-item.js.map +1 -1
  123. package/cjs/models/adjunct-section.js +2 -2
  124. package/cjs/models/adjunct-section.js.map +1 -1
  125. package/cjs/models/adjunct-slide.js +2 -2
  126. package/cjs/models/adjunct-slide.js.map +1 -1
  127. package/cjs/models/adjunct-sub-slide.js +2 -2
  128. package/cjs/models/adjunct-sub-slide.js.map +1 -1
  129. package/cjs/models/adjunct.js +2 -2
  130. package/cjs/models/adjunct.js.map +1 -1
  131. package/cjs/models/api.js.map +1 -1
  132. package/cjs/models/appointment-adjunct-tags.js +52 -0
  133. package/cjs/models/appointment-adjunct-tags.js.map +1 -0
  134. package/cjs/models/appointment-deckversion-tags.js +52 -0
  135. package/cjs/models/appointment-deckversion-tags.js.map +1 -0
  136. package/cjs/models/appointment-duplicate.js +8 -3
  137. package/cjs/models/appointment-duplicate.js.map +1 -1
  138. package/cjs/models/appointment-editor.js +2 -2
  139. package/cjs/models/appointment-editor.js.map +1 -1
  140. package/cjs/models/appointment-section-tags.js +52 -0
  141. package/cjs/models/appointment-section-tags.js.map +1 -0
  142. package/cjs/models/appointment-slide-tags.js +52 -0
  143. package/cjs/models/appointment-slide-tags.js.map +1 -0
  144. package/cjs/models/appointment-stats.js +2 -2
  145. package/cjs/models/appointment-stats.js.map +1 -1
  146. package/cjs/models/appointment-tags.js +48 -0
  147. package/cjs/models/appointment-tags.js.map +1 -0
  148. package/cjs/models/appointment-viewing.js +2 -2
  149. package/cjs/models/appointment-viewing.js.map +1 -1
  150. package/cjs/models/appointment.js +16 -7
  151. package/cjs/models/appointment.js.map +1 -1
  152. package/cjs/models/asset.js +2 -2
  153. package/cjs/models/asset.js.map +1 -1
  154. package/cjs/models/auto-adjunct-key-check.js +2 -2
  155. package/cjs/models/auto-adjunct-key-check.js.map +1 -1
  156. package/cjs/models/auto-adjunct.js +2 -2
  157. package/cjs/models/auto-adjunct.js.map +1 -1
  158. package/cjs/models/base.js +25 -36
  159. package/cjs/models/base.js.map +1 -1
  160. package/cjs/models/base.spec.js +45 -45
  161. package/cjs/models/base.spec.js.map +1 -1
  162. package/cjs/models/choicelist.js.map +1 -1
  163. package/cjs/models/cms-val.js.map +1 -1
  164. package/cjs/models/contact.js +2 -2
  165. package/cjs/models/contact.js.map +1 -1
  166. package/cjs/models/customer.js +2 -2
  167. package/cjs/models/customer.js.map +1 -1
  168. package/cjs/models/deck-note.js +2 -2
  169. package/cjs/models/deck-note.js.map +1 -1
  170. package/cjs/models/deck-tags.js +61 -0
  171. package/cjs/models/deck-tags.js.map +1 -0
  172. package/cjs/models/deck-version.js +5 -3
  173. package/cjs/models/deck-version.js.map +1 -1
  174. package/cjs/models/deck.js +6 -3
  175. package/cjs/models/deck.js.map +1 -1
  176. package/cjs/models/dispatch-preview.js +3 -3
  177. package/cjs/models/dispatch-preview.js.map +1 -1
  178. package/cjs/models/dispatch.js +2 -2
  179. package/cjs/models/dispatch.js.map +1 -1
  180. package/cjs/models/envs.js.map +1 -1
  181. package/cjs/models/event-object.js +2 -2
  182. package/cjs/models/event-object.js.map +1 -1
  183. package/cjs/models/event.js +2 -2
  184. package/cjs/models/event.js.map +1 -1
  185. package/cjs/models/feed-data.js +2 -2
  186. package/cjs/models/feed-data.js.map +1 -1
  187. package/cjs/models/file.js +2 -2
  188. package/cjs/models/file.js.map +1 -1
  189. package/cjs/models/group.js +2 -2
  190. package/cjs/models/group.js.map +1 -1
  191. package/cjs/models/handover.js +2 -2
  192. package/cjs/models/handover.js.map +1 -1
  193. package/cjs/models/hosted-preso.js +2 -2
  194. package/cjs/models/hosted-preso.js.map +1 -1
  195. package/cjs/models/image.js +2 -2
  196. package/cjs/models/image.js.map +1 -1
  197. package/cjs/models/location.js +2 -2
  198. package/cjs/models/location.js.map +1 -1
  199. package/cjs/models/manifest-json.js +74 -57
  200. package/cjs/models/manifest-json.js.map +1 -1
  201. package/cjs/models/onshare.js +2 -2
  202. package/cjs/models/onshare.js.map +1 -1
  203. package/cjs/models/opportunity.js +2 -2
  204. package/cjs/models/opportunity.js.map +1 -1
  205. package/cjs/models/pack-diff.js +2 -2
  206. package/cjs/models/pack-diff.js.map +1 -1
  207. package/cjs/models/pack.js +2 -2
  208. package/cjs/models/pack.js.map +1 -1
  209. package/cjs/models/preset.js +22 -2
  210. package/cjs/models/preset.js.map +1 -1
  211. package/cjs/models/refresh-request.js +2 -2
  212. package/cjs/models/refresh-request.js.map +1 -1
  213. package/cjs/models/room.js +2 -2
  214. package/cjs/models/room.js.map +1 -1
  215. package/cjs/models/salesforce-lookup.js +2 -2
  216. package/cjs/models/salesforce-lookup.js.map +1 -1
  217. package/cjs/models/section-selection.js +2 -2
  218. package/cjs/models/section-selection.js.map +1 -1
  219. package/cjs/models/section.js +2 -2
  220. package/cjs/models/section.js.map +1 -1
  221. package/cjs/models/slide-selection.js +2 -2
  222. package/cjs/models/slide-selection.js.map +1 -1
  223. package/cjs/models/slide.js +2 -2
  224. package/cjs/models/slide.js.map +1 -1
  225. package/cjs/models/snapshot.js +2 -2
  226. package/cjs/models/snapshot.js.map +1 -1
  227. package/cjs/models/sub-slide.js +2 -2
  228. package/cjs/models/sub-slide.js.map +1 -1
  229. package/cjs/models/support-ticket.js +2 -2
  230. package/cjs/models/support-ticket.js.map +1 -1
  231. package/cjs/models/tag.js +54 -0
  232. package/cjs/models/tag.js.map +1 -0
  233. package/cjs/models/team.js +2 -2
  234. package/cjs/models/team.js.map +1 -1
  235. package/cjs/models/template.js +2 -2
  236. package/cjs/models/template.js.map +1 -1
  237. package/cjs/models/tenancy.js +2 -2
  238. package/cjs/models/tenancy.js.map +1 -1
  239. package/cjs/models/timing-log.js +20 -41
  240. package/cjs/models/timing-log.js.map +1 -1
  241. package/cjs/models/timing-log.spec.js +18 -86
  242. package/cjs/models/timing-log.spec.js.map +1 -1
  243. package/cjs/models/transcribe-socket.js +2 -2
  244. package/cjs/models/transcribe-socket.js.map +1 -1
  245. package/cjs/models/upload.js +2 -2
  246. package/cjs/models/upload.js.map +1 -1
  247. package/cjs/models/user.js +6 -4
  248. package/cjs/models/user.js.map +1 -1
  249. package/cjs/models/user.spec.js +10 -8
  250. package/cjs/models/user.spec.js.map +1 -1
  251. package/cjs/models.js +148 -0
  252. package/cjs/models.js.map +1 -1
  253. package/cjs/presentation/appointment-presentation.js +13 -5
  254. package/cjs/presentation/appointment-presentation.js.map +1 -1
  255. package/cjs/presentation/base-presentation-collection.js.map +1 -1
  256. package/cjs/presentation/base-presentation-model.js +65 -0
  257. package/cjs/presentation/base-presentation-model.js.map +1 -1
  258. package/cjs/presentation/base-presentation-model.spec.js +87 -0
  259. package/cjs/presentation/base-presentation-model.spec.js.map +1 -1
  260. package/cjs/presentation/presentation-deck.js +31 -20
  261. package/cjs/presentation/presentation-deck.js.map +1 -1
  262. package/cjs/presentation/presentation-deck.spec.js +15 -13
  263. package/cjs/presentation/presentation-deck.spec.js.map +1 -1
  264. package/cjs/presentation/presentation-decks.js +2 -2
  265. package/cjs/presentation/presentation-decks.js.map +1 -1
  266. package/cjs/presentation/presentation-section.js +36 -17
  267. package/cjs/presentation/presentation-section.js.map +1 -1
  268. package/cjs/presentation/presentation-section.spec.js +418 -0
  269. package/cjs/presentation/presentation-section.spec.js.map +1 -0
  270. package/cjs/presentation/presentation-sections.js +2 -2
  271. package/cjs/presentation/presentation-sections.js.map +1 -1
  272. package/cjs/presentation/presentation-slide.js +35 -18
  273. package/cjs/presentation/presentation-slide.js.map +1 -1
  274. package/cjs/presentation/presentation-slide.spec.js +294 -0
  275. package/cjs/presentation/presentation-slide.spec.js.map +1 -0
  276. package/cjs/presentation/presentation-slides.js +2 -2
  277. package/cjs/presentation/presentation-slides.js.map +1 -1
  278. package/cjs/presentation/presentation-subslide.js +11 -7
  279. package/cjs/presentation/presentation-subslide.js.map +1 -1
  280. package/cjs/presentation/presentation-subslide.spec.js +68 -20
  281. package/cjs/presentation/presentation-subslide.spec.js.map +1 -1
  282. package/cjs/presentation/presentation-subslides.js +2 -2
  283. package/cjs/presentation/presentation-subslides.js.map +1 -1
  284. package/cjs/presentation/presentation.js +19 -9
  285. package/cjs/presentation/presentation.js.map +1 -1
  286. package/cjs/presentation.js +10 -0
  287. package/cjs/presentation.js.map +1 -1
  288. package/cjs/state-register.js +11 -1
  289. package/cjs/state-register.js.map +1 -1
  290. package/cjs/sync.js +7 -7
  291. package/cjs/sync.js.map +1 -1
  292. package/cjs/utils.js +7 -7
  293. package/cjs/utils.js.map +1 -1
  294. package/cjs/utils.spec.js.map +1 -1
  295. package/config/rush-project.json +53 -0
  296. package/index.js +0 -1
  297. package/jest.config.js +4 -4
  298. package/package.json +17 -59
  299. package/setup-tests.js +2 -1
  300. package/src/api.js +3 -3
  301. package/src/api.spec.js +3 -4
  302. package/src/auth.js +6 -7
  303. package/src/auth.spec.js +3 -4
  304. package/src/collections/activity.js +5 -6
  305. package/src/collections/adjunct-sections.js +4 -4
  306. package/src/collections/adjunct-slides.js +4 -4
  307. package/src/collections/adjunct-sub-slides.js +2 -2
  308. package/src/collections/appointment-adjunct-tags.js +18 -0
  309. package/src/collections/appointment-deckversion-tags.js +21 -0
  310. package/src/collections/appointment-duplicates.js +2 -2
  311. package/src/collections/appointment-editors.js +2 -2
  312. package/src/collections/appointment-section-tags.js +18 -0
  313. package/src/collections/appointment-slide-tags.js +18 -0
  314. package/src/collections/appointment-tags.js +136 -0
  315. package/src/collections/appointments.js +18 -23
  316. package/src/collections/assets.js +2 -2
  317. package/src/collections/auto-adjuncts.js +5 -5
  318. package/src/collections/base.js +17 -18
  319. package/src/collections/base.spec.js +7 -8
  320. package/src/collections/cms-vals.js +3 -3
  321. package/src/collections/contacts.js +2 -2
  322. package/src/collections/created-assets.js +2 -2
  323. package/src/collections/customers.js +2 -2
  324. package/src/collections/deck-notes.js +2 -2
  325. package/src/collections/deck-versions.js +18 -15
  326. package/src/collections/decks.js +2 -2
  327. package/src/collections/deleted-assets.js +2 -2
  328. package/src/collections/dispatches.js +8 -13
  329. package/src/collections/event-objects.js +2 -2
  330. package/src/collections/events.js +2 -2
  331. package/src/collections/groups.js +2 -2
  332. package/src/collections/images.js +2 -2
  333. package/src/collections/locations.js +2 -2
  334. package/src/collections/opportunities.js +2 -2
  335. package/src/collections/pack-diffs.js +2 -2
  336. package/src/collections/packs.js +2 -2
  337. package/src/collections/presets.js +2 -2
  338. package/src/collections/section-selections.js +4 -4
  339. package/src/collections/sections.js +2 -2
  340. package/src/collections/slide-selections.js +4 -4
  341. package/src/collections/slides.js +2 -2
  342. package/src/collections/snapshots.js +2 -2
  343. package/src/collections/sub-slides.js +2 -2
  344. package/src/collections/tags.js +18 -0
  345. package/src/collections/teams.js +2 -2
  346. package/src/collections/templates.js +2 -2
  347. package/src/collections/uploads.js +2 -2
  348. package/src/collections/users.js +2 -2
  349. package/src/collections.js +6 -0
  350. package/src/index.js +1 -4
  351. package/src/middleware.js +1 -1
  352. package/src/middlewares/json.js +2 -2
  353. package/src/middlewares/redirect.js +1 -2
  354. package/src/models/activity-item.js +6 -6
  355. package/src/models/adjunct-section.js +5 -5
  356. package/src/models/adjunct-slide.js +5 -5
  357. package/src/models/adjunct-sub-slide.js +5 -5
  358. package/src/models/adjunct.js +4 -4
  359. package/src/models/api.js +1 -1
  360. package/src/models/appointment-adjunct-tags.js +41 -0
  361. package/src/models/appointment-deckversion-tags.js +41 -0
  362. package/src/models/appointment-duplicate.js +7 -7
  363. package/src/models/appointment-editor.js +6 -6
  364. package/src/models/appointment-section-tags.js +41 -0
  365. package/src/models/appointment-slide-tags.js +41 -0
  366. package/src/models/appointment-stats.js +5 -5
  367. package/src/models/appointment-tags.js +39 -0
  368. package/src/models/appointment-viewing.js +3 -3
  369. package/src/models/appointment.js +35 -29
  370. package/src/models/asset.js +5 -5
  371. package/src/models/auto-adjunct-key-check.js +5 -5
  372. package/src/models/auto-adjunct.js +4 -4
  373. package/src/models/base.js +36 -37
  374. package/src/models/base.spec.js +61 -62
  375. package/src/models/choicelist.js +2 -2
  376. package/src/models/cms-val.js +3 -3
  377. package/src/models/contact.js +9 -9
  378. package/src/models/customer.js +13 -13
  379. package/src/models/deck-note.js +4 -4
  380. package/src/models/deck-tags.js +52 -0
  381. package/src/models/deck-version.js +9 -8
  382. package/src/models/deck.js +8 -6
  383. package/src/models/dispatch-preview.js +6 -7
  384. package/src/models/dispatch.js +6 -7
  385. package/src/models/envs.js +1 -1
  386. package/src/models/event-object.js +6 -6
  387. package/src/models/event.js +7 -7
  388. package/src/models/feed-data.js +5 -5
  389. package/src/models/file.js +4 -4
  390. package/src/models/group.js +3 -3
  391. package/src/models/handover.js +5 -5
  392. package/src/models/hosted-preso.js +5 -5
  393. package/src/models/image.js +4 -4
  394. package/src/models/location.js +5 -5
  395. package/src/models/manifest-json.js +68 -30
  396. package/src/models/onshare.js +5 -5
  397. package/src/models/opportunity.js +5 -5
  398. package/src/models/pack-diff.js +5 -5
  399. package/src/models/pack.js +4 -4
  400. package/src/models/preset.js +24 -5
  401. package/src/models/refresh-request.js +6 -6
  402. package/src/models/room.js +3 -3
  403. package/src/models/salesforce-lookup.js +3 -3
  404. package/src/models/section-selection.js +6 -6
  405. package/src/models/section.js +7 -7
  406. package/src/models/slide-selection.js +6 -6
  407. package/src/models/slide.js +7 -7
  408. package/src/models/snapshot.js +5 -5
  409. package/src/models/sub-slide.js +5 -5
  410. package/src/models/support-ticket.js +4 -4
  411. package/src/models/tag.js +42 -0
  412. package/src/models/team.js +4 -4
  413. package/src/models/template.js +4 -4
  414. package/src/models/tenancy.js +5 -5
  415. package/src/models/timing-log.js +18 -18
  416. package/src/models/timing-log.spec.js +28 -29
  417. package/src/models/transcribe-socket.js +3 -3
  418. package/src/models/upload.js +3 -3
  419. package/src/models/user.js +24 -20
  420. package/src/models/user.spec.js +2 -2
  421. package/src/models.js +7 -0
  422. package/src/presentation/appointment-presentation.js +14 -10
  423. package/src/presentation/base-presentation-model.js +67 -5
  424. package/src/presentation/base-presentation-model.spec.js +114 -22
  425. package/src/presentation/presentation-deck.js +54 -52
  426. package/src/presentation/presentation-deck.spec.js +26 -27
  427. package/src/presentation/presentation-decks.js +2 -2
  428. package/src/presentation/presentation-section.js +62 -48
  429. package/src/presentation/presentation-section.spec.js +363 -0
  430. package/src/presentation/presentation-sections.js +2 -2
  431. package/src/presentation/presentation-slide.js +51 -36
  432. package/src/presentation/presentation-slide.spec.js +250 -0
  433. package/src/presentation/presentation-slides.js +2 -2
  434. package/src/presentation/presentation-subslide.js +24 -17
  435. package/src/presentation/presentation-subslide.spec.js +40 -12
  436. package/src/presentation/presentation-subslides.js +2 -2
  437. package/src/presentation/presentation.js +27 -15
  438. package/src/state-register.js +7 -0
  439. package/src/sync.js +21 -23
  440. package/src/utils.js +8 -7
  441. package/src/utils.spec.js +15 -15
  442. package/.editorconfig +0 -9
  443. package/.eslintrc +0 -25
  444. package/.prettierrc.js +0 -3
  445. package/jsdoc.json +0 -12
  446. package/yarn.lock +0 -8099
@@ -1,23 +1,23 @@
1
1
  import "./presentation-sections.js";
2
2
 
3
- import url2 from "url";
4
-
5
- import _ from "lodash";
6
-
7
3
  import * as collections from "../collections";
8
- import { getAssetRoot } from "../index.js";
9
- import log from "../log.js";
10
- import { DeckVersionModel } from "../models";
11
- import { register } from "../state-register";
4
+
12
5
  import {
13
6
  getMaxID,
14
7
  isImpostor,
15
8
  isImpostorDeck,
16
- setSequentialSequences
9
+ setSequentialSequences,
17
10
  } from "../utils.js";
11
+
18
12
  import { BasePresentationModel } from "./base-presentation-model";
13
+ import { DeckVersionModel } from "../models";
19
14
  import { PresentationSection } from "./presentation-section";
20
15
  import { PresentationSlide } from "./presentation-slide";
16
+ import _ from "lodash";
17
+ import { getAssetRoot } from "../index.js";
18
+ import log from "../log.js";
19
+ import { register } from "../state-register";
20
+ import url2 from "url";
21
21
 
22
22
  /**
23
23
  * @constructor
@@ -56,32 +56,32 @@ export const PresentationDeck = BasePresentationModel.extend(
56
56
  usesImpostorSections: "boolean",
57
57
  editable: "boolean",
58
58
  tags: "array",
59
- version: "number"
59
+ version: "number",
60
60
  },
61
61
 
62
62
  /**
63
63
  * @property {presentation.PresentationSection} realSection
64
64
  */
65
65
  children: {
66
- realSection: "PresentationSection"
66
+ realSection: "PresentationSection",
67
67
  },
68
68
 
69
69
  derived: {
70
70
  welcomeSlide: {
71
- fn: function() {
71
+ fn: function () {
72
72
  return new PresentationSection({
73
73
  ...this.getAttributes({ props: true }),
74
- isWelcome: true
74
+ isWelcome: true,
75
75
  });
76
- }
77
- }
76
+ },
77
+ },
78
78
  },
79
79
 
80
80
  /**
81
81
  * @property {presentation.PresentationSectionCollection} sections
82
82
  */
83
83
  collections: {
84
- sections: "PresentationSectionCollection"
84
+ sections: "PresentationSectionCollection",
85
85
  },
86
86
 
87
87
  url() {
@@ -90,7 +90,7 @@ export const PresentationDeck = BasePresentationModel.extend(
90
90
  }
91
91
 
92
92
  return this._url;
93
- }
93
+ },
94
94
  }
95
95
  );
96
96
 
@@ -103,7 +103,7 @@ export const PresentationDeck = BasePresentationModel.extend(
103
103
  * @param {collections.AdjunctSectionCollection}} [adjunctSections]
104
104
  * @returns {presentation.PresentationDeck}
105
105
  */
106
- PresentationDeck.createFromDeckVersion = function(
106
+ PresentationDeck.createFromDeckVersion = function (
107
107
  deckVersionModel,
108
108
  options = {}
109
109
  ) {
@@ -116,7 +116,7 @@ PresentationDeck.createFromDeckVersion = function(
116
116
  slideSelections: new collections.SlideSelectionCollection(),
117
117
  rootAssetPath: null,
118
118
  templates: null,
119
- choicelist: null
119
+ choicelist: null,
120
120
  });
121
121
 
122
122
  const assetRoot = getAssetRoot(deckVersionModel.index_asset.url());
@@ -131,7 +131,7 @@ PresentationDeck.createFromDeckVersion = function(
131
131
  css = `${assetRoot}slide.css`;
132
132
  }
133
133
 
134
- const tags = deckVersionModel.tags || [];
134
+ const tags = PresentationDeck.getTags(deckVersionModel, options);
135
135
 
136
136
  const deck = new PresentationDeck({
137
137
  html,
@@ -146,7 +146,8 @@ PresentationDeck.createFromDeckVersion = function(
146
146
  title: deckVersionModel.deck.title,
147
147
  editable: tags.indexOf("editable") > -1,
148
148
  tags,
149
- version: deckVersionModel.version
149
+ version: deckVersionModel.version,
150
+ usesImpostorSections: isImpostorDeck(deckVersionModel),
150
151
  });
151
152
 
152
153
  if (!deck.key) {
@@ -161,21 +162,21 @@ PresentationDeck.createFromDeckVersion = function(
161
162
  const slideSelections = options.slideSelections;
162
163
 
163
164
  options.selections = sectionSelections
164
- .map(selection => {
165
+ .map((selection) => {
165
166
  return {
166
167
  sequence: selection.sequence,
167
168
  visible: selection.visible,
168
169
  url: selection.section.url(),
169
- id: selection.id
170
+ id: selection.id,
170
171
  };
171
172
  })
172
173
  .concat(
173
- slideSelections.map(selection => {
174
+ slideSelections.map((selection) => {
174
175
  return {
175
176
  sequence: selection.sequence,
176
177
  visible: selection.visible,
177
178
  url: selection.slide.url(),
178
- id: selection.id
179
+ id: selection.id,
179
180
  };
180
181
  })
181
182
  );
@@ -185,7 +186,7 @@ PresentationDeck.createFromDeckVersion = function(
185
186
  // all existing IDs then use the getUniqueAdjunctID function to retrieve an incremented ID
186
187
  let maxID = getMaxID(deckVersionModel);
187
188
 
188
- options.getUniqueAdjunctID = function() {
189
+ options.getUniqueAdjunctID = function () {
189
190
  return ++maxID;
190
191
  };
191
192
 
@@ -196,13 +197,13 @@ PresentationDeck.createFromDeckVersion = function(
196
197
  // internally retrieve the correct sequence & visibility data depending on whether
197
198
  // we're using selections or a choicelist.
198
199
 
199
- if (!isImpostorDeck(deckVersionModel)) {
200
+ if (!deck.usesImpostorSections) {
200
201
  // Non impostor deck using selections or a choicelist. Slides are already
201
202
  // associated with the correct sections, so all we have to do is turn
202
203
  // everything into a presentation model and pass the options through with
203
204
  // the selections or choicelist data.
204
205
 
205
- deckVersionModel.section_set.forEach(sectionModel => {
206
+ deckVersionModel.section_set.forEach((sectionModel) => {
206
207
  const section = PresentationSection.createFromSection(
207
208
  sectionModel,
208
209
  options
@@ -211,14 +212,14 @@ PresentationDeck.createFromDeckVersion = function(
211
212
  section.addSlides(sectionModel.slide_set, options);
212
213
  deck.sections.add(section);
213
214
 
214
- const adjunctSlides = options.adjunctSlides.filter(slide => {
215
+ const adjunctSlides = options.adjunctSlides.filter((slide) => {
215
216
  return slide.section && slide.section.id === section.id;
216
217
  });
217
218
 
218
219
  section.addSlides(adjunctSlides, options);
219
220
  });
220
221
 
221
- options.adjunctSections.forEach(adjunctSection => {
222
+ options.adjunctSections.forEach((adjunctSection) => {
222
223
  const section = PresentationSection.createFromAdjunctSection(
223
224
  adjunctSection,
224
225
  DeckVersionModel,
@@ -232,14 +233,13 @@ PresentationDeck.createFromDeckVersion = function(
232
233
  // only contains one section, which is the "real" section but is not used in
233
234
  // the presentation. Some slides have the tag "section-header", and these slides
234
235
  // will be turned into sections and may be given sets of slides.
235
- deck.usesImpostorSections = true;
236
236
 
237
237
  const realSection = deckVersionModel.section_set.first();
238
238
 
239
239
  deck.realSection = new PresentationSection({
240
240
  id: realSection.id,
241
241
  key: realSection.key,
242
- adjunctSlideLimit: realSection.adjunctslide_limit
242
+ adjunctSlideLimit: realSection.adjunctslide_limit,
243
243
  });
244
244
 
245
245
  let slides = [];
@@ -249,7 +249,7 @@ PresentationDeck.createFromDeckVersion = function(
249
249
  // section; if it is just a slide then we add it to the slides array, which will contain
250
250
  // all slides. We can't allocate slides to sections yet because we don't know
251
251
  // which section a slide belongs to.
252
- realSection.slide_set.forEach(slideModel => {
252
+ realSection.slide_set.forEach((slideModel) => {
253
253
  const isSection = isImpostor(slideModel);
254
254
 
255
255
  if (isSection) {
@@ -268,8 +268,8 @@ PresentationDeck.createFromDeckVersion = function(
268
268
 
269
269
  // We filter the adjunct slides and add all the non-section slides to the slides array too.
270
270
  options.adjunctSlides
271
- .filter(slide => !isImpostor(slide))
272
- .forEach(adjunctSlideModel => {
271
+ .filter((slide) => !isImpostor(slide))
272
+ .forEach((adjunctSlideModel) => {
273
273
  const slide = PresentationSlide.createFromAdjunctSlide(
274
274
  adjunctSlideModel,
275
275
  null,
@@ -287,9 +287,9 @@ PresentationDeck.createFromDeckVersion = function(
287
287
  // slides with the sequence > 110 then I know that all slides with a sequence > 110
288
288
  // are valid. I then remove those slides from the slides array and move down to the
289
289
  // next section.
290
- deck.sections.models.reverse().forEach(section => {
290
+ deck.sections.models.reverse().forEach((section) => {
291
291
  const sectionSlides = slides.filter(
292
- slide => slide.sequence > section.sequence
292
+ (slide) => slide.sequence > section.sequence
293
293
  );
294
294
 
295
295
  section.slides.add(sectionSlides);
@@ -300,17 +300,17 @@ PresentationDeck.createFromDeckVersion = function(
300
300
  // and a 100% chance that it's incorrect for adjunct slides as we
301
301
  // didn't populate the section field when we created the adjunct slides.
302
302
  // We update those now with the correct section.
303
- section.slides.forEach(slide => {
303
+ section.slides.forEach((slide) => {
304
304
  slide.section = section.id;
305
305
  });
306
306
 
307
- slides = slides.filter(slide => slide.sequence <= section.sequence);
307
+ slides = slides.filter((slide) => slide.sequence <= section.sequence);
308
308
  });
309
309
 
310
310
  // Average the adjunct slide limit used across the entire deck over each section
311
311
  // in the deck. We do this before we add the adjunct impostor sections, 'cause you
312
312
  // can't add custom slides to those.
313
- deck.sections.forEach(section => {
313
+ deck.sections.forEach((section) => {
314
314
  section.adjunctSlideLimit = section.adjunctSlideLimit
315
315
  ? section.adjunctSlideLimit
316
316
  : Math.floor(realSection.adjunctSlideLimit / deck.sections.length);
@@ -324,8 +324,8 @@ PresentationDeck.createFromDeckVersion = function(
324
324
  // but because adjunct sections can't have slides we're adding them after the
325
325
  // slide-assigning process
326
326
  options.adjunctSlides
327
- .filter(slide => isImpostor(slide))
328
- .forEach(adjunctSlideModel => {
327
+ .filter((slide) => isImpostor(slide))
328
+ .forEach((adjunctSlideModel) => {
329
329
  const adjunctSection = PresentationSection.createFromAdjunctSection(
330
330
  adjunctSlideModel,
331
331
  DeckVersionModel,
@@ -354,7 +354,7 @@ PresentationDeck.createFromDeckVersion = function(
354
354
  return deck;
355
355
  };
356
356
 
357
- PresentationDeck.createFromManifestJSON = function(manifestJSON) {
357
+ PresentationDeck.createFromManifestJSON = function (manifestJSON) {
358
358
  const deck = new PresentationDeck({
359
359
  id: parseInt(_.uniqueId(), 10),
360
360
  index: 0,
@@ -366,18 +366,20 @@ PresentationDeck.createFromManifestJSON = function(manifestJSON) {
366
366
  thumbnail: null,
367
367
  deckID: 1,
368
368
  title: "Local",
369
- version: 1
369
+ version: 1,
370
+ tags: manifestJSON.tags[""] || [],
370
371
  });
371
372
 
372
373
  const usesImpostorSections = _.some(
373
374
  manifestJSON.tags,
374
- tags => tags.indexOf("section-header") !== -1
375
+ (tags) => tags.indexOf("section-header") !== -1
375
376
  );
377
+ deck.usesImpostorSections = usesImpostorSections;
376
378
 
377
379
  if (usesImpostorSections) {
378
380
  deck.usesImpostorSections = true;
379
381
 
380
- let items = Object.keys(manifestJSON.titles).map(key => {
382
+ let items = Object.keys(manifestJSON.titles).map((key) => {
381
383
  const sequence = manifestJSON.toJSON().ordering[key];
382
384
  const splitKey = key.split("/");
383
385
  const newKey = splitKey[splitKey.length - 1];
@@ -388,14 +390,14 @@ PresentationDeck.createFromManifestJSON = function(manifestJSON) {
388
390
  html: url2.resolve(manifestJSON.getAssetPath(key), "index.html"),
389
391
  css: url2.resolve(manifestJSON.getAssetPath(key), "slide.css"),
390
392
  title: manifestJSON.titles[key],
391
- tags: manifestJSON.tags[key] || []
393
+ tags: manifestJSON.tags[key] || [],
392
394
  };
393
395
  });
394
396
 
395
397
  items = _.sortBy(items, "sequence");
396
398
 
397
399
  const sections = items.filter(
398
- item => item.tags.indexOf("section-header") !== -1
400
+ (item) => item.tags.indexOf("section-header") !== -1
399
401
  );
400
402
 
401
403
  sections.forEach((item, index) => {
@@ -417,7 +419,7 @@ PresentationDeck.createFromManifestJSON = function(manifestJSON) {
417
419
 
418
420
  deck.realSection = PresentationSection.createFromManifestImpostor(items[0]);
419
421
  } else {
420
- const sectionKeys = Object.keys(manifestJSON.titles).filter(title => {
422
+ const sectionKeys = Object.keys(manifestJSON.titles).filter((title) => {
421
423
  return title.split("/").length === 1;
422
424
  });
423
425
 
@@ -433,7 +435,7 @@ PresentationDeck.createFromManifestJSON = function(manifestJSON) {
433
435
  }
434
436
 
435
437
  if (manifestJSON.templates) {
436
- const templates = Object.keys(manifestJSON.templates).map(key => {
438
+ const templates = Object.keys(manifestJSON.templates).map((key) => {
437
439
  return {
438
440
  ...manifestJSON.templates[key],
439
441
  key,
@@ -442,8 +444,8 @@ PresentationDeck.createFromManifestJSON = function(manifestJSON) {
442
444
  url: url2.resolve(
443
445
  manifestJSON.getTemplateAssetPath(key),
444
446
  "index.html"
445
- )
446
- }
447
+ ),
448
+ },
447
449
  };
448
450
  });
449
451
 
@@ -1,6 +1,5 @@
1
- import { G } from "sp-test/api";
2
-
3
1
  import { DeckVersionModel } from "../models/deck-version";
2
+ import { G } from "sp-test/api";
4
3
  import { ManifestJSONModel } from "../models/manifest-json";
5
4
  import { PresentationDeck } from "./presentation-deck";
6
5
 
@@ -20,7 +19,7 @@ describe("#createFromManifestJSON", () => {
20
19
  section_2: "Section 2",
21
20
  "section_2/slide_1": "Section 2 Slide 1",
22
21
  "section_2/slide_2": "Section 2 Slide 2",
23
- section_3: "Section 3"
22
+ section_3: "Section 3",
24
23
  },
25
24
  ordering: {
26
25
  section_1: 1,
@@ -28,19 +27,19 @@ describe("#createFromManifestJSON", () => {
28
27
  section_2: 2,
29
28
  "section_2/slide_1": 1,
30
29
  "section_2/slide_2": 2,
31
- section_3: 3
30
+ section_3: 3,
32
31
  },
33
32
  templates: {
34
33
  apple: {
35
34
  title: "Apple",
36
- ordering: 1
35
+ ordering: 1,
37
36
  },
38
37
  orange: {
39
38
  title: "Orange",
40
- ordering: 2
41
- }
39
+ ordering: 2,
40
+ },
42
41
  },
43
- tags: {}
42
+ tags: {},
44
43
  });
45
44
 
46
45
  const deck = PresentationDeck.createFromManifestJSON(model);
@@ -65,8 +64,8 @@ describe("#createFromDeckVersion", () => {
65
64
  key: "apple",
66
65
  sequence: 1,
67
66
  index_asset: {
68
- url: "http://path/to/template/apple/index.html"
69
- }
67
+ url: "http://path/to/template/apple/index.html",
68
+ },
70
69
  },
71
70
  {
72
71
  id: 21,
@@ -74,22 +73,22 @@ describe("#createFromDeckVersion", () => {
74
73
  key: "orange",
75
74
  sequence: 2,
76
75
  index_asset: {
77
- url: "http://path/to/template/orange/index.html"
78
- }
79
- }
76
+ url: "http://path/to/template/orange/index.html",
77
+ },
78
+ },
80
79
  ],
81
80
  index_asset: {
82
- url: "http://path/to/index.html"
81
+ url: "http://path/to/index.html",
83
82
  },
84
83
  deck: {
85
- id: 1
84
+ id: 1,
86
85
  },
87
86
  section_set: [
88
87
  {
89
88
  id: 1,
90
89
  title: "Section 1",
91
90
  index_asset: {
92
- url: "http://path/to/index.html"
91
+ url: "http://path/to/index.html",
93
92
  },
94
93
  deckversion: { id: 1 },
95
94
  sequence: 1,
@@ -98,34 +97,34 @@ describe("#createFromDeckVersion", () => {
98
97
  id: 1,
99
98
  title: "Slide 1",
100
99
  index_asset: {
101
- url: "http://path/to/index.html"
100
+ url: "http://path/to/index.html",
102
101
  },
103
102
  subslide_set: [],
104
- section: { id: 1 }
105
- }
106
- ]
103
+ section: { id: 1 },
104
+ },
105
+ ],
107
106
  },
108
107
  {
109
108
  id: 2,
110
109
  title: "Section 2",
111
110
  index_asset: {
112
- url: "http://path/to/index.html"
111
+ url: "http://path/to/index.html",
113
112
  },
114
113
  deckversion: { id: 1 },
115
114
  sequence: 2,
116
- slide_set: []
115
+ slide_set: [],
117
116
  },
118
117
  {
119
118
  id: 3,
120
119
  title: "Section 3",
121
120
  index_asset: {
122
- url: "http://path/to/index.html"
121
+ url: "http://path/to/index.html",
123
122
  },
124
123
  deckversion: { id: 1 },
125
124
  sequence: 3,
126
- slide_set: []
127
- }
128
- ]
125
+ slide_set: [],
126
+ },
127
+ ],
129
128
  };
130
129
 
131
130
  it("should not add template sections to the end of a deck", async () => {
@@ -144,7 +143,7 @@ describe("#createFromDeckVersion", () => {
144
143
  G(DeckVersionModel);
145
144
  const model = new DeckVersionModel(deckVersionJSON);
146
145
  const deck = PresentationDeck.createFromDeckVersion(model, {
147
- templates: model.template_set
146
+ templates: model.template_set,
148
147
  });
149
148
 
150
149
  expect(deck.sections.length).toEqual(5);
@@ -1,7 +1,7 @@
1
1
  import "./presentation-deck.js";
2
2
 
3
- import { register } from "../state-register.js";
4
3
  import { BasePresentationCollection } from "./base-presentation-collection.js";
4
+ import { register } from "../state-register.js";
5
5
 
6
6
  /**
7
7
  * @constructor
@@ -12,7 +12,7 @@ import { BasePresentationCollection } from "./base-presentation-collection.js";
12
12
  export const PresentationDeckCollection = BasePresentationCollection.extend(
13
13
  /** @lends presentation.PresentationDeckCollection# */ {
14
14
  comparator: "sequence",
15
- model: "PresentationDeck"
15
+ model: "PresentationDeck",
16
16
  }
17
17
  );
18
18