@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
@@ -3,8 +3,8 @@ import "./user.js";
3
3
  import "./room.js";
4
4
  import "../collections/users.js";
5
5
 
6
- import { register } from "../state-register.js";
7
6
  import { BaseModel } from "./base.js";
7
+ import { register } from "../state-register.js";
8
8
 
9
9
  /**
10
10
  * @constructor
@@ -25,7 +25,7 @@ export const HostedPresoModel = BaseModel.extend(
25
25
  created_date: "date",
26
26
  modified_date: "date",
27
27
  shortcode: "string",
28
- do_sync: "boolean"
28
+ do_sync: "boolean",
29
29
  },
30
30
 
31
31
  /**
@@ -35,15 +35,15 @@ export const HostedPresoModel = BaseModel.extend(
35
35
  children: {
36
36
  appointment: "AppointmentModel",
37
37
  creator: "UserModel",
38
- room: "RoomModel"
38
+ room: "RoomModel",
39
39
  },
40
40
 
41
41
  /**
42
42
  * @property {collections.UserCollection} user_set
43
43
  */
44
44
  collections: {
45
- user_set: "UserCollection"
46
- }
45
+ user_set: "UserCollection",
46
+ },
47
47
  }
48
48
  );
49
49
 
@@ -1,7 +1,7 @@
1
1
  import "./user.js";
2
2
 
3
- import { register } from "../state-register.js";
4
3
  import { BaseModel } from "./base.js";
4
+ import { register } from "../state-register.js";
5
5
 
6
6
  /**
7
7
  * @constructor
@@ -28,15 +28,15 @@ export const ImageModel = BaseModel.extend(
28
28
  modified_date: "date",
29
29
  image_128: "string",
30
30
  image_256: "string",
31
- image_512: "string"
31
+ image_512: "string",
32
32
  },
33
33
 
34
34
  /**
35
35
  * @property {models.UserModel} event
36
36
  */
37
37
  children: {
38
- event: "UserModel"
39
- }
38
+ event: "UserModel",
39
+ },
40
40
  }
41
41
  );
42
42
 
@@ -1,8 +1,8 @@
1
1
  import "./customer.js";
2
2
  import "../collections/contacts.js";
3
3
 
4
- import { register } from "../state-register.js";
5
4
  import { BaseModel } from "./base.js";
5
+ import { register } from "../state-register.js";
6
6
 
7
7
  /**
8
8
  * @constructor
@@ -41,22 +41,22 @@ export const LocationModel = BaseModel.extend(
41
41
  suburb: "stringSanitized",
42
42
  state: "stringSanitized",
43
43
  postcode: "stringSanitized",
44
- sequence: "number"
44
+ sequence: "number",
45
45
  },
46
46
 
47
47
  /**
48
48
  * @property {models.CustomerModel} customer
49
49
  */
50
50
  children: {
51
- customer: "CustomerModel"
51
+ customer: "CustomerModel",
52
52
  },
53
53
 
54
54
  /**
55
55
  * @property {collections.ContactCollection} contact_set
56
56
  */
57
57
  collections: {
58
- contact_set: "ContactCollection"
59
- }
58
+ contact_set: "ContactCollection",
59
+ },
60
60
  }
61
61
  );
62
62
 
@@ -1,9 +1,8 @@
1
1
  import "./pack.js";
2
2
 
3
- import url2 from "url";
4
-
5
- import { register } from "../state-register.js";
6
3
  import { BaseModel } from "./base.js";
4
+ import { register } from "../state-register.js";
5
+ import url2 from "url";
7
6
 
8
7
  /**
9
8
  * @constructor
@@ -47,59 +46,62 @@ export const ManifestJSONModel = BaseModel.extend(
47
46
  content_editors: "object",
48
47
  persistentcontext: {
49
48
  type: "boolean",
50
- default: false
49
+ default: false,
51
50
  },
52
51
  screenshotpreferences: {
53
52
  type: "object",
54
53
  default: function () {
55
54
  return {
56
- vector: false
55
+ vector: false,
57
56
  };
58
- }
57
+ },
59
58
  },
60
59
  dimensions: {
61
60
  type: "object",
62
61
  default: function () {
63
62
  return {
64
63
  width: 1024,
65
- height: 768
64
+ height: 768,
66
65
  };
67
- }
66
+ },
68
67
  },
69
68
  pdfpreferences: {
70
69
  type: "object",
71
70
  default: function () {
72
71
  return {
73
- quality_level: "prepress"
72
+ quality_level: "prepress",
74
73
  };
75
- }
74
+ },
76
75
  },
77
76
  has_editable_share_support: {
78
77
  type: "boolean",
79
- default: false
78
+ default: false,
79
+ },
80
+ point_in_time_share_policy: {
81
+ type: "string",
80
82
  },
81
83
  notify_salesperson_after_feeds_fetched: {
82
84
  type: "boolean",
83
- default: false
85
+ default: false,
84
86
  },
85
87
  require_verification: {
86
88
  type: "boolean",
87
- default: false
89
+ default: false,
88
90
  },
89
91
  companywide_editable: {
90
92
  type: "boolean",
91
- default: false
93
+ default: false,
92
94
  },
93
95
  app_settings: {
94
96
  type: "object",
95
97
  default: function () {
96
98
  return {
97
99
  appointment: {
98
- show_visible_default: false
99
- }
100
+ show_visible_default: false,
101
+ },
100
102
  };
101
- }
102
- }
103
+ },
104
+ },
103
105
  },
104
106
 
105
107
  /**
@@ -138,7 +140,7 @@ export const ManifestJSONModel = BaseModel.extend(
138
140
  }
139
141
 
140
142
  return BaseModel.prototype.url.call(this);
141
- }
143
+ },
142
144
  }
143
145
  );
144
146
 
@@ -148,6 +150,41 @@ export const ManifestJSONModel = BaseModel.extend(
148
150
  * object.
149
151
  */
150
152
  ManifestJSONModel.createFromProject = function (projectFile) {
153
+ // If the deck is an impostor deck, we have to update some things for
154
+ // them to make sense in the impostor format
155
+ if (projectFile.impostor) {
156
+ // There is only one real section; all of the "sections" defined in the
157
+ // project.yaml are actually slides, and slides can't have a maxAdjunctSlides
158
+ // value. We get around this by totalling up all of the maxAdjunctSlides values
159
+ // across the sections and give that number to the real section. Later e.g. in the
160
+ // app, that number will be taken and divided by the number of impostor sections
161
+ // to get the maxAdjunctSlides value for each impostor section
162
+ const maxAdjunctSlides = projectFile.sections.reduce((num, section) => {
163
+ return num + (section.maxAdjunctSlides || 0);
164
+ }, 0);
165
+
166
+ // Create a "real" section (that will never be seen by the user) and give
167
+ // it all of the sections & slides. Impostor sections (which are technically
168
+ // slides) are given the "section-header" tag to mark them as sections
169
+ projectFile.sections = [
170
+ {
171
+ maxAdjunctSlides,
172
+ key: projectFile.key,
173
+ title: projectFile.name,
174
+ slides: projectFile.sections.reduce((sections, section) => {
175
+ const newSection = {
176
+ ...section,
177
+ slides: [],
178
+ };
179
+ newSection.tags = ["section-header"].concat(newSection.tags || []);
180
+
181
+ sections.push(newSection, ...(section.slides || []));
182
+ return sections;
183
+ }, []),
184
+ },
185
+ ];
186
+ }
187
+
151
188
  const titles = projectFile.sections.reduce((titles, section) => {
152
189
  titles[section.key] = section.title;
153
190
  for (const slide of section.slides || []) {
@@ -160,7 +197,7 @@ ManifestJSONModel.createFromProject = function (projectFile) {
160
197
  (templates, template, index) => {
161
198
  templates[template.key] = {
162
199
  title: template.title,
163
- ordering: index + 1
200
+ ordering: index + 1,
164
201
  };
165
202
  return templates;
166
203
  },
@@ -173,7 +210,7 @@ ManifestJSONModel.createFromProject = function (projectFile) {
173
210
  limits[section.key] = section.maxAdjunctSlides;
174
211
  }
175
212
  return limits;
176
- }, {})
213
+ }, {}),
177
214
  };
178
215
 
179
216
  const ordering = projectFile.sections.reduce((ordering, section, index) => {
@@ -187,13 +224,9 @@ ManifestJSONModel.createFromProject = function (projectFile) {
187
224
  }, {});
188
225
 
189
226
  const tags = projectFile.sections.reduce((tags, section) => {
190
- if (section.tags) {
191
- tags[section.key] = section.tags;
192
- }
227
+ tags[section.key] = section.tags || [];
193
228
  for (const slide of section.slides || []) {
194
- if (slide.tags) {
195
- tags[`${section.key}/${slide.key}`] = slide.tags;
196
- }
229
+ tags[`${section.key}/${slide.key}`] = slide.tags || [];
197
230
  }
198
231
  return tags;
199
232
  }, {});
@@ -204,7 +237,7 @@ ManifestJSONModel.createFromProject = function (projectFile) {
204
237
  if (projectFile.welcome.tags) {
205
238
  // It's convention to use an empty string for the
206
239
  // Welcome slide's key
207
- tags[""] = projectFile.welcome.tags;
240
+ tags[""] = projectFile.welcome.tags || [];
208
241
  }
209
242
  }
210
243
 
@@ -218,7 +251,7 @@ ManifestJSONModel.createFromProject = function (projectFile) {
218
251
  ordering,
219
252
  limits,
220
253
  tags,
221
- key: projectFile.key
254
+ key: projectFile.key,
222
255
  });
223
256
 
224
257
  if (projectFile.content_editors) {
@@ -250,6 +283,11 @@ ManifestJSONModel.createFromProject = function (projectFile) {
250
283
  projectFile.has_editable_share_support;
251
284
  }
252
285
 
286
+ if (projectFile.point_in_time_share_policy) {
287
+ manifest.point_in_time_share_policy =
288
+ projectFile.point_in_time_share_policy;
289
+ }
290
+
253
291
  if (projectFile.notify_salesperson_after_feeds_fetched) {
254
292
  manifest.notify_salesperson_after_feeds_fetched =
255
293
  projectFile.notify_salesperson_after_feeds_fetched;
@@ -262,7 +300,7 @@ ManifestJSONModel.createFromProject = function (projectFile) {
262
300
  if (projectFile.app_settings) {
263
301
  manifest.app_settings = {
264
302
  ...manifest.app_settings,
265
- ...projectFile.app_settings
303
+ ...projectFile.app_settings,
266
304
  };
267
305
  }
268
306
 
@@ -2,8 +2,8 @@ import "./contact.js";
2
2
  import "./dispatch.js";
3
3
  import "./hosted-preso.js";
4
4
 
5
- import { register } from "../state-register.js";
6
5
  import { BaseModel } from "./base.js";
6
+ import { register } from "../state-register.js";
7
7
 
8
8
  /**
9
9
  * @constructor
@@ -19,7 +19,7 @@ export const OnShareModel = BaseModel.extend(
19
19
  */
20
20
  props: {
21
21
  generate_content: "string",
22
- share: "string"
22
+ share: "string",
23
23
  },
24
24
 
25
25
  /**
@@ -30,14 +30,14 @@ export const OnShareModel = BaseModel.extend(
30
30
  children: {
31
31
  sender: "ContactModel",
32
32
  original_dispatch: "DispatchModel",
33
- share: "HostedPresoModel"
33
+ share: "HostedPresoModel",
34
34
  },
35
35
 
36
36
  /**
37
37
  * @property {models.ContactCollection} contact_set
38
38
  */
39
39
  collections: {
40
- contact_set: "ContactCollection"
40
+ contact_set: "ContactCollection",
41
41
  },
42
42
 
43
43
  toServer() {
@@ -49,7 +49,7 @@ export const OnShareModel = BaseModel.extend(
49
49
  data.share = this._retrieveURL(this.share);
50
50
 
51
51
  return data;
52
- }
52
+ },
53
53
  }
54
54
  );
55
55
 
@@ -2,8 +2,8 @@ import "../collections/appointments.js";
2
2
  import "../collections/customers.js";
3
3
  import "../models/customer.js";
4
4
 
5
- import { register } from "../state-register.js";
6
5
  import { BaseModel } from "./base.js";
6
+ import { register } from "../state-register.js";
7
7
 
8
8
  /**
9
9
  * @constructor
@@ -29,7 +29,7 @@ export const OpportunityModel = BaseModel.extend(
29
29
  name: "stringSanitized",
30
30
  soft_deleted: "boolean",
31
31
  stage_name: "string",
32
- profile: { type: "object", default: () => null }
32
+ profile: { type: "object", default: () => null },
33
33
  },
34
34
 
35
35
  /**
@@ -38,15 +38,15 @@ export const OpportunityModel = BaseModel.extend(
38
38
  */
39
39
  collections: {
40
40
  appointment_set: "AppointmentCollection",
41
- contact_set: "ContactCollection"
41
+ contact_set: "ContactCollection",
42
42
  },
43
43
 
44
44
  /**
45
45
  * @property {models.CustomerModel} customer
46
46
  */
47
47
  children: {
48
- customer: "CustomerModel"
49
- }
48
+ customer: "CustomerModel",
49
+ },
50
50
  }
51
51
  );
52
52
 
@@ -2,8 +2,8 @@ import "./pack.js";
2
2
  import "../collections/created-assets.js";
3
3
  import "../collections/deleted-assets.js";
4
4
 
5
- import { register } from "../state-register.js";
6
5
  import { BaseModel } from "./base.js";
6
+ import { register } from "../state-register.js";
7
7
 
8
8
  /**
9
9
  * @constructor
@@ -26,7 +26,7 @@ export const PackDiffModel = BaseModel.extend(
26
26
  created_date: "date",
27
27
  creation_percent: "number",
28
28
  creation_status: "string",
29
- modified_date: "date"
29
+ modified_date: "date",
30
30
  },
31
31
 
32
32
  /**
@@ -35,7 +35,7 @@ export const PackDiffModel = BaseModel.extend(
35
35
  */
36
36
  collections: {
37
37
  created: "CreatedAssetCollection",
38
- deleted: "DeletedAssetCollection"
38
+ deleted: "DeletedAssetCollection",
39
39
  },
40
40
 
41
41
  /**
@@ -44,7 +44,7 @@ export const PackDiffModel = BaseModel.extend(
44
44
  */
45
45
  children: {
46
46
  pack_from: "PackModel",
47
- pack_to: "PackModel"
47
+ pack_to: "PackModel",
48
48
  },
49
49
 
50
50
  toServer() {
@@ -54,7 +54,7 @@ export const PackDiffModel = BaseModel.extend(
54
54
  data.pack_to = this._retrieveURL(this.pack_to);
55
55
 
56
56
  return data;
57
- }
57
+ },
58
58
  }
59
59
  );
60
60
 
@@ -1,7 +1,7 @@
1
1
  import "../collections/assets.js";
2
2
 
3
- import { register } from "../state-register.js";
4
3
  import { BaseModel } from "./base.js";
4
+ import { register } from "../state-register.js";
5
5
 
6
6
  /**
7
7
  * @constructor
@@ -22,14 +22,14 @@ export const PackModel = BaseModel.extend(
22
22
  created_date: "date",
23
23
  modified_date: "date",
24
24
  hash_digest: "string",
25
- hash_algorithm: "string"
25
+ hash_algorithm: "string",
26
26
  },
27
27
 
28
28
  /**
29
29
  * @property {collections.AssetCollection} asset_set
30
30
  */
31
31
  collections: {
32
- asset_set: "AssetCollection"
32
+ asset_set: "AssetCollection",
33
33
  },
34
34
 
35
35
  url() {
@@ -37,7 +37,7 @@ export const PackModel = BaseModel.extend(
37
37
  return BaseModel.prototype.url.call(this);
38
38
  }
39
39
  return `${this.urlRoot()}empty/`;
40
- }
40
+ },
41
41
  }
42
42
  );
43
43
 
@@ -1,8 +1,9 @@
1
1
  import "./user.js";
2
2
  import "./deck.js";
3
+ import "./team.js";
3
4
 
4
- import { register } from "../state-register.js";
5
5
  import { BaseModel } from "./base.js";
6
+ import { register } from "../state-register.js";
6
7
 
7
8
  /**
8
9
  * @constructor
@@ -26,16 +27,19 @@ export const PresetModel = BaseModel.extend(
26
27
  created_date: "date",
27
28
  modified_date: "date",
28
29
  name: "stringSanitized",
29
- context: "object"
30
+ context: "object",
30
31
  },
31
32
 
32
33
  /**
33
34
  * @property {models.UserModel} user
34
35
  * @property {models.DeckModel} deck
36
+ * @property {models.TeamModel} team
35
37
  */
36
38
  children: {
37
39
  user: "UserModel",
38
- deck: "DeckModel"
40
+ deck: "DeckModel",
41
+ team: "TeamModel",
42
+ keylist_team: "TeamModel",
39
43
  },
40
44
 
41
45
  toServer() {
@@ -47,16 +51,31 @@ export const PresetModel = BaseModel.extend(
47
51
  name: this.name,
48
52
  context: this.context || {},
49
53
  // user: this._retrieveURL(this.user),
50
- deck: this._retrieveURL(this.deck)
54
+ deck: this._retrieveURL(this.deck),
51
55
  };
52
56
 
53
57
  if (this.id) {
54
58
  data.id = this.id;
55
59
  }
56
60
 
61
+ const teamURL = this._retrieveURL(this.team);
62
+
63
+ if (teamURL) {
64
+ data.team = teamURL;
65
+ }
66
+ const keylistTeamURL = this._retrieveURL(this.keylist_team);
67
+
68
+ if (keylistTeamURL) {
69
+ data.keylist_team = keylistTeamURL;
70
+ }
71
+
57
72
  return data;
58
- }
73
+ },
59
74
  }
60
75
  );
61
76
 
77
+ PresetModel.USER_VISIBILITY = "__user__";
78
+ PresetModel.GLOBAL_VISIBILITY = "__global__";
79
+ PresetModel.STANDARD_SLIDE_SOURCE = "__standard__";
80
+
62
81
  register("PresetModel", PresetModel);
@@ -1,8 +1,8 @@
1
1
  import "./customer.js";
2
2
  import "./user.js";
3
3
 
4
- import { register } from "../state-register.js";
5
4
  import { BaseModel } from "./base.js";
5
+ import { register } from "../state-register.js";
6
6
 
7
7
  /**
8
8
  * @constructor
@@ -17,26 +17,26 @@ export const RefreshRequestModel = BaseModel.extend(
17
17
  created_date: "date",
18
18
  creation_status: "string",
19
19
  creation_status_reason: "string",
20
- modified_date: "date"
20
+ modified_date: "date",
21
21
  },
22
22
 
23
23
  children: {
24
24
  customer: "CustomerModel",
25
- user: "UserModel"
25
+ user: "UserModel",
26
26
  },
27
27
 
28
28
  toServer() {
29
29
  if (this.isNew()) {
30
30
  return {
31
31
  url: this.url(),
32
- customer: this._retrieveURL(this.customer)
32
+ customer: this._retrieveURL(this.customer),
33
33
  };
34
34
  }
35
35
 
36
36
  return {
37
- url: this.url()
37
+ url: this.url(),
38
38
  };
39
- }
39
+ },
40
40
  }
41
41
  );
42
42
 
@@ -1,5 +1,5 @@
1
- import { register } from "../state-register.js";
2
1
  import { BaseModel } from "./base.js";
2
+ import { register } from "../state-register.js";
3
3
 
4
4
  /**
5
5
  * @constructor
@@ -36,8 +36,8 @@ export const RoomModel = BaseModel.extend(
36
36
  rtms_version: "string",
37
37
  rtms_token: "string",
38
38
  wamp_version: "string",
39
- websocket_server_uri: "string"
40
- }
39
+ websocket_server_uri: "string",
40
+ },
41
41
  }
42
42
  );
43
43
 
@@ -2,8 +2,8 @@ import "../collections/contacts.js";
2
2
  import "../collections/customers.js";
3
3
  import "../collections/opportunities.js";
4
4
 
5
- import { register } from "../state-register.js";
6
5
  import { BaseModel } from "./base.js";
6
+ import { register } from "../state-register.js";
7
7
 
8
8
  /**
9
9
  * @constructor
@@ -22,8 +22,8 @@ export const SalesforceLookupModel = BaseModel.extend(
22
22
  collections: {
23
23
  contacts: "ContactCollection",
24
24
  customers: "CustomerCollection",
25
- opportunities: "OpportunityCollection"
26
- }
25
+ opportunities: "OpportunityCollection",
26
+ },
27
27
  }
28
28
  );
29
29
 
@@ -1,8 +1,8 @@
1
1
  import "./section.js";
2
2
  import "./appointment.js";
3
3
 
4
- import { register } from "../state-register.js";
5
4
  import { BaseModel } from "./base.js";
5
+ import { register } from "../state-register.js";
6
6
 
7
7
  /**
8
8
  * @constructor
@@ -14,7 +14,7 @@ export const SectionSelectionModel = BaseModel.extend(
14
14
  modelName: "appointment-sections",
15
15
 
16
16
  urlMatchKeys: {
17
- "appointment.id": "number"
17
+ "appointment.id": "number",
18
18
  },
19
19
 
20
20
  /**
@@ -23,7 +23,7 @@ export const SectionSelectionModel = BaseModel.extend(
23
23
  */
24
24
  props: {
25
25
  sequence: "number",
26
- visible: "boolean"
26
+ visible: "boolean",
27
27
  },
28
28
 
29
29
  /**
@@ -32,7 +32,7 @@ export const SectionSelectionModel = BaseModel.extend(
32
32
  */
33
33
  children: {
34
34
  appointment: "AppointmentModel",
35
- section: "SectionModel"
35
+ section: "SectionModel",
36
36
  },
37
37
 
38
38
  toServer() {
@@ -40,7 +40,7 @@ export const SectionSelectionModel = BaseModel.extend(
40
40
  appointment: this._retrieveURL(this.appointment),
41
41
  section: this._retrieveURL(this.section),
42
42
  sequence: this.sequence,
43
- visible: this.visible
43
+ visible: this.visible,
44
44
  };
45
45
 
46
46
  if (this.id) {
@@ -49,7 +49,7 @@ export const SectionSelectionModel = BaseModel.extend(
49
49
  }
50
50
 
51
51
  return data;
52
- }
52
+ },
53
53
  }
54
54
  );
55
55