@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
package/cjs/models.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/models.js"],"names":[],"mappings":";;;;;;AAGA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["/**\n * @namespace models\n */\nexport * from \"./models/activity-item\";\nexport * from \"./models/adjunct\";\nexport * from \"./models/adjunct-section\";\nexport * from \"./models/adjunct-slide\";\nexport * from \"./models/adjunct-sub-slide\";\nexport * from \"./models/api\";\nexport * from \"./models/appointment\";\nexport * from \"./models/asset\";\nexport * from \"./models/auto-adjunct\";\nexport * from \"./models/base\";\nexport * from \"./models/choicelist.js\";\nexport * from \"./models/cms-val\";\nexport * from \"./models/contact\";\nexport * from \"./models/customer\";\nexport * from \"./models/deck\";\nexport * from \"./models/deck-version\";\nexport * from \"./models/dispatch\";\nexport * from \"./models/dispatch-preview\";\nexport * from \"./models/envs.js\";\nexport * from \"./models/event\";\nexport * from \"./models/event-object\";\nexport * from \"./models/file.js\";\nexport * from \"./models/feed-data.js\";\nexport * from \"./models/group\";\nexport * from \"./models/handover.js\";\nexport * from \"./models/hosted-preso.js\";\nexport * from \"./models/image\";\nexport * from \"./models/location.js\";\nexport * from \"./models/manifest-json\";\nexport * from \"./models/deck-note\";\nexport * from \"./models/opportunity\";\nexport * from \"./models/pack\";\nexport * from \"./models/pack-diff\";\nexport * from \"./models/preset\";\nexport * from \"./models/refresh-request\";\nexport * from \"./models/room\";\nexport * from \"./models/salesforce-lookup.js\";\nexport * from \"./models/section\";\nexport * from \"./models/section-selection\";\nexport * from \"./models/slide\";\nexport * from \"./models/slide-selection\";\nexport * from \"./models/snapshot\";\nexport * from \"./models/sub-slide\";\nexport * from \"./models/support-ticket.js\";\nexport * from \"./models/tenancy.js\";\nexport * from \"./models/timing-log.js\";\nexport * from \"./models/upload.js\";\nexport * from \"./models/user\";\nexport * from \"./models/onshare\";\nexport * from \"./models/appointment-editor.js\";\nexport * from \"./models/appointment-duplicate.js\";\nexport * from \"./models/appointment-stats.js\";\nexport * from \"./models/appointment-viewing.js\";\nexport * from \"./models/team.js\";\nexport * from \"./models/template.js\";\nexport * from \"./models/auto-adjunct-key-check.js\";\nexport * from \"./models/transcribe-socket.js\";\n"],"file":"models.js"}
1
+ {"version":3,"sources":["../src/models.js"],"names":[],"mappings":";;;;;;AAGA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["/**\n * @namespace models\n */\nexport * from \"./models/activity-item\";\nexport * from \"./models/adjunct\";\nexport * from \"./models/adjunct-section\";\nexport * from \"./models/adjunct-slide\";\nexport * from \"./models/adjunct-sub-slide\";\nexport * from \"./models/api\";\nexport * from \"./models/appointment\";\nexport * from \"./models/appointment-tags\";\nexport * from \"./models/asset\";\nexport * from \"./models/auto-adjunct\";\nexport * from \"./models/base\";\nexport * from \"./models/choicelist.js\";\nexport * from \"./models/cms-val\";\nexport * from \"./models/contact\";\nexport * from \"./models/customer\";\nexport * from \"./models/deck\";\nexport * from \"./models/deck-tags\";\nexport * from \"./models/deck-version\";\nexport * from \"./models/dispatch\";\nexport * from \"./models/dispatch-preview\";\nexport * from \"./models/envs.js\";\nexport * from \"./models/event\";\nexport * from \"./models/event-object\";\nexport * from \"./models/file.js\";\nexport * from \"./models/feed-data.js\";\nexport * from \"./models/group\";\nexport * from \"./models/handover.js\";\nexport * from \"./models/hosted-preso.js\";\nexport * from \"./models/image\";\nexport * from \"./models/location.js\";\nexport * from \"./models/manifest-json\";\nexport * from \"./models/deck-note\";\nexport * from \"./models/opportunity\";\nexport * from \"./models/pack\";\nexport * from \"./models/pack-diff\";\nexport * from \"./models/preset\";\nexport * from \"./models/refresh-request\";\nexport * from \"./models/room\";\nexport * from \"./models/salesforce-lookup.js\";\nexport * from \"./models/section\";\nexport * from \"./models/section-selection\";\nexport * from \"./models/slide\";\nexport * from \"./models/slide-selection\";\nexport * from \"./models/snapshot\";\nexport * from \"./models/sub-slide\";\nexport * from \"./models/support-ticket.js\";\nexport * from \"./models/tag.js\";\nexport * from \"./models/tenancy.js\";\nexport * from \"./models/timing-log.js\";\nexport * from \"./models/upload.js\";\nexport * from \"./models/user\";\nexport * from \"./models/onshare\";\nexport * from \"./models/appointment-editor.js\";\nexport * from \"./models/appointment-duplicate.js\";\nexport * from \"./models/appointment-stats.js\";\nexport * from \"./models/appointment-viewing.js\";\nexport * from \"./models/appointment-deckversion-tags.js\";\nexport * from \"./models/appointment-section-tags.js\";\nexport * from \"./models/appointment-slide-tags.js\";\nexport * from \"./models/appointment-adjunct-tags.js\";\nexport * from \"./models/team.js\";\nexport * from \"./models/template.js\";\nexport * from \"./models/auto-adjunct-key-check.js\";\nexport * from \"./models/transcribe-socket.js\";\n"],"file":"models.js"}
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.AppointmentPresentation = 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("./presentation.js");
13
13
 
@@ -25,9 +25,13 @@ var _models = require("../models.js");
25
25
 
26
26
  var _base = require("../models/base.js");
27
27
 
28
+ var _presentationDeck = require("./presentation-deck.js");
29
+
28
30
  var _stateRegister = require("../state-register.js");
29
31
 
30
- var _presentationDeck = require("./presentation-deck.js");
32
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
33
+
34
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
31
35
 
32
36
  /**
33
37
  * @constructor
@@ -78,15 +82,19 @@ var AppointmentPresentation = _base.BaseModel.extend(
78
82
  exports.AppointmentPresentation = AppointmentPresentation;
79
83
 
80
84
  var createFromAppointment = function createFromAppointment(appointment, options) {
81
- var appointmentPresentation = new AppointmentPresentation();
85
+ var appointmentPresentation = new AppointmentPresentation(); // Note that we're not passing through tags if appointment.tags is empty.
86
+ // This is because tags currently aren't available in the telepresenter
87
+ // bundle and we want to fall back on the model tags for now.
88
+
82
89
  appointmentPresentation.presentation.decks.add(appointment.deckversion_set.map(function (model, index) {
83
- return _presentationDeck.PresentationDeck.createFromDeckVersion(model, (0, _objectSpread3.default)({
90
+ return _presentationDeck.PresentationDeck.createFromDeckVersion(model, _objectSpread({
84
91
  adjunctSections: appointment.adjunctSections,
85
92
  adjunctSlides: appointment.adjunctSlides,
86
93
  adjunctSubSlides: appointment.adjunctSubSlides,
87
94
  sectionSelections: appointment.appointmentssection_set,
88
95
  slideSelections: appointment.appointmentsslide_set,
89
- index: index
96
+ index: index,
97
+ appointmentTags: appointment.tags.length ? appointment.tags : null
90
98
  }, options));
91
99
  }));
92
100
  appointmentPresentation.tele = appointment.latest_tele;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/presentation/appointment-presentation.js"],"names":["AppointmentPresentation","BaseModel","extend","props","viewtype","begin","end","tele","supportMode","locks","children","presentation","latest_snapshot","latest_feed_data","user","collections","opportunities","contacts","createFromAppointment","appointment","options","appointmentPresentation","decks","add","deckversion_set","map","model","index","PresentationDeck","createFromDeckVersion","adjunctSections","adjunctSlides","adjunctSubSlides","sectionSelections","appointmentssection_set","slideSelections","appointmentsslide_set","latest_tele","opportunity_set","contact_set","support_mode","id","createFromURL","url","AppointmentModel","fetchAll","then","createFromID"],"mappings":"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","sourcesContent":["import \"./presentation.js\";\nimport \"../models/feed-data.js\";\nimport \"../models/snapshot.js\";\nimport \"../models/user.js\";\nimport \"../collections/opportunities.js\";\nimport \"../collections/contacts.js\";\n\nimport { AppointmentModel } from \"../models.js\";\nimport { BaseModel } from \"../models/base.js\";\nimport { register } from \"../state-register.js\";\nimport { PresentationDeck } from \"./presentation-deck.js\";\n\n/**\n * @constructor\n * @alias presentation.AppointmentPresentation\n * @extends presentation.BasePresentationModel\n */\nexport const AppointmentPresentation = BaseModel.extend(\n\t/** @lends presentation.AppointmentPresentation# */ {\n\t\t/**\n\t\t * @property {string} viewtype\n\t\t * @property {date} begin\n\t\t * @property {object} tele\n\t\t * @property {boolean} supportMode\n\t\t */\n\t\tprops: {\n\t\t\tviewtype: \"string\",\n\t\t\tbegin: \"date\",\n\t\t\tend: \"date\",\n\t\t\ttele: \"object\",\n\t\t\tsupportMode: \"boolean\",\n\t\t\tlocks: \"array\"\n\t\t},\n\n\t\t/**\n\t\t * @property {presentation.Presentation} presentation\n\t\t * @property {models.SnapshotModel} latest_snapshot\n\t\t * @property {models.FeedDataModel} latest_feed_data\n\t\t * @property {models.UserModel} user\n\t\t */\n\t\tchildren: {\n\t\t\tpresentation: \"Presentation\",\n\t\t\tlatest_snapshot: \"SnapshotModel\",\n\t\t\tlatest_feed_data: \"FeedDataModel\",\n\t\t\tuser: \"UserModel\"\n\t\t},\n\n\t\t/**\n\t\t * @property {collections.OpportunityCollection} opportunities\n\t\t * @property {collections.ContactCollection} contacts\n\t\t */\n\t\tcollections: {\n\t\t\topportunities: \"OpportunityCollection\",\n\t\t\tcontacts: \"ContactCollection\"\n\t\t}\n\t}\n);\n\nconst createFromAppointment = function(appointment, options) {\n\tconst appointmentPresentation = new AppointmentPresentation();\n\n\tappointmentPresentation.presentation.decks.add(\n\t\tappointment.deckversion_set.map((model, index) => {\n\t\t\treturn PresentationDeck.createFromDeckVersion(model, {\n\t\t\t\tadjunctSections: appointment.adjunctSections,\n\t\t\t\tadjunctSlides: appointment.adjunctSlides,\n\t\t\t\tadjunctSubSlides: appointment.adjunctSubSlides,\n\t\t\t\tsectionSelections: appointment.appointmentssection_set,\n\t\t\t\tslideSelections: appointment.appointmentsslide_set,\n\t\t\t\tindex,\n\t\t\t\t...options\n\t\t\t});\n\t\t})\n\t);\n\n\tappointmentPresentation.tele = appointment.latest_tele;\n\tappointmentPresentation.user = appointment.user;\n\tappointmentPresentation.begin = appointment.begin;\n\tappointmentPresentation.end = appointment.end;\n\tappointmentPresentation.latest_snapshot = appointment.latest_snapshot;\n\tappointmentPresentation.latest_feed_data = appointment.latest_feed_data;\n\tappointmentPresentation.viewtype = appointment.viewtype;\n\tappointmentPresentation.opportunities = appointment.opportunity_set;\n\tappointmentPresentation.contacts = appointment.contact_set;\n\tappointmentPresentation.supportMode = appointment.support_mode;\n\tappointmentPresentation.id = appointment.id;\n\tappointmentPresentation.locks = appointment.locks;\n\n\treturn appointmentPresentation;\n};\n\n/**\n * @function createFromURL\n * @memberof presentation.AppointmentPresentation\n * @param {string} url\n */\nAppointmentPresentation.createFromURL = function(url, options = {}) {\n\tconst appointment = new AppointmentModel({ url });\n\n\treturn appointment.fetchAll(true).then(() => {\n\t\treturn createFromAppointment(appointment, options);\n\t});\n};\n\n/**\n * @function createFromID\n * @memberof presentation.AppointmentPresentation\n * @param {number} id\n */\nAppointmentPresentation.createFromID = function(id, options = {}) {\n\tconst appointment = new AppointmentModel({ id });\n\n\treturn appointment.fetchAll().then(() => {\n\t\treturn createFromAppointment(appointment, options);\n\t});\n};\n\n/**\n * @function createFromAppointment\n * @memberof presentation.AppointmentPresentation\n * @param {model} appointment\n */\nAppointmentPresentation.createFromAppointment = function(\n\tappointment,\n\toptions = {}\n) {\n\treturn createFromAppointment(appointment, options);\n};\n\nregister(\"AppointmentPresentation\", AppointmentPresentation);\n"],"file":"appointment-presentation.js"}
1
+ {"version":3,"sources":["../../src/presentation/appointment-presentation.js"],"names":["AppointmentPresentation","BaseModel","extend","props","viewtype","begin","end","tele","supportMode","locks","children","presentation","latest_snapshot","latest_feed_data","user","collections","opportunities","contacts","createFromAppointment","appointment","options","appointmentPresentation","decks","add","deckversion_set","map","model","index","PresentationDeck","createFromDeckVersion","adjunctSections","adjunctSlides","adjunctSubSlides","sectionSelections","appointmentssection_set","slideSelections","appointmentsslide_set","appointmentTags","tags","length","latest_tele","opportunity_set","contact_set","support_mode","id","createFromURL","url","AppointmentModel","fetchAll","then","createFromID"],"mappings":"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","sourcesContent":["import \"./presentation.js\";\nimport \"../models/feed-data.js\";\nimport \"../models/snapshot.js\";\nimport \"../models/user.js\";\nimport \"../collections/opportunities.js\";\nimport \"../collections/contacts.js\";\n\nimport { AppointmentModel } from \"../models.js\";\nimport { BaseModel } from \"../models/base.js\";\nimport { PresentationDeck } from \"./presentation-deck.js\";\nimport { register } from \"../state-register.js\";\n\n/**\n * @constructor\n * @alias presentation.AppointmentPresentation\n * @extends presentation.BasePresentationModel\n */\nexport const AppointmentPresentation = BaseModel.extend(\n\t/** @lends presentation.AppointmentPresentation# */ {\n\t\t/**\n\t\t * @property {string} viewtype\n\t\t * @property {date} begin\n\t\t * @property {object} tele\n\t\t * @property {boolean} supportMode\n\t\t */\n\t\tprops: {\n\t\t\tviewtype: \"string\",\n\t\t\tbegin: \"date\",\n\t\t\tend: \"date\",\n\t\t\ttele: \"object\",\n\t\t\tsupportMode: \"boolean\",\n\t\t\tlocks: \"array\",\n\t\t},\n\n\t\t/**\n\t\t * @property {presentation.Presentation} presentation\n\t\t * @property {models.SnapshotModel} latest_snapshot\n\t\t * @property {models.FeedDataModel} latest_feed_data\n\t\t * @property {models.UserModel} user\n\t\t */\n\t\tchildren: {\n\t\t\tpresentation: \"Presentation\",\n\t\t\tlatest_snapshot: \"SnapshotModel\",\n\t\t\tlatest_feed_data: \"FeedDataModel\",\n\t\t\tuser: \"UserModel\",\n\t\t},\n\n\t\t/**\n\t\t * @property {collections.OpportunityCollection} opportunities\n\t\t * @property {collections.ContactCollection} contacts\n\t\t */\n\t\tcollections: {\n\t\t\topportunities: \"OpportunityCollection\",\n\t\t\tcontacts: \"ContactCollection\",\n\t\t},\n\t}\n);\n\nconst createFromAppointment = function (appointment, options) {\n\tconst appointmentPresentation = new AppointmentPresentation();\n\n\t// Note that we're not passing through tags if appointment.tags is empty.\n\t// This is because tags currently aren't available in the telepresenter\n\t// bundle and we want to fall back on the model tags for now.\n\tappointmentPresentation.presentation.decks.add(\n\t\tappointment.deckversion_set.map((model, index) => {\n\t\t\treturn PresentationDeck.createFromDeckVersion(model, {\n\t\t\t\tadjunctSections: appointment.adjunctSections,\n\t\t\t\tadjunctSlides: appointment.adjunctSlides,\n\t\t\t\tadjunctSubSlides: appointment.adjunctSubSlides,\n\t\t\t\tsectionSelections: appointment.appointmentssection_set,\n\t\t\t\tslideSelections: appointment.appointmentsslide_set,\n\t\t\t\tindex,\n\t\t\t\tappointmentTags: appointment.tags.length ? appointment.tags : null,\n\t\t\t\t...options,\n\t\t\t});\n\t\t})\n\t);\n\n\tappointmentPresentation.tele = appointment.latest_tele;\n\tappointmentPresentation.user = appointment.user;\n\tappointmentPresentation.begin = appointment.begin;\n\tappointmentPresentation.end = appointment.end;\n\tappointmentPresentation.latest_snapshot = appointment.latest_snapshot;\n\tappointmentPresentation.latest_feed_data = appointment.latest_feed_data;\n\tappointmentPresentation.viewtype = appointment.viewtype;\n\tappointmentPresentation.opportunities = appointment.opportunity_set;\n\tappointmentPresentation.contacts = appointment.contact_set;\n\tappointmentPresentation.supportMode = appointment.support_mode;\n\tappointmentPresentation.id = appointment.id;\n\tappointmentPresentation.locks = appointment.locks;\n\n\treturn appointmentPresentation;\n};\n\n/**\n * @function createFromURL\n * @memberof presentation.AppointmentPresentation\n * @param {string} url\n */\nAppointmentPresentation.createFromURL = function (url, options = {}) {\n\tconst appointment = new AppointmentModel({ url });\n\n\treturn appointment.fetchAll(true).then(() => {\n\t\treturn createFromAppointment(appointment, options);\n\t});\n};\n\n/**\n * @function createFromID\n * @memberof presentation.AppointmentPresentation\n * @param {number} id\n */\nAppointmentPresentation.createFromID = function (id, options = {}) {\n\tconst appointment = new AppointmentModel({ id });\n\n\treturn appointment.fetchAll().then(() => {\n\t\treturn createFromAppointment(appointment, options);\n\t});\n};\n\n/**\n * @function createFromAppointment\n * @memberof presentation.AppointmentPresentation\n * @param {model} appointment\n */\nAppointmentPresentation.createFromAppointment = function (\n\tappointment,\n\toptions = {}\n) {\n\treturn createFromAppointment(appointment, options);\n};\n\nregister(\"AppointmentPresentation\", AppointmentPresentation);\n"],"file":"appointment-presentation.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/presentation/base-presentation-collection.js"],"names":["BasePresentationCollection","BaseCollection","extend","canBeEmpty"],"mappings":";;;;;;;AAAA;;AAEA;;;;;AAKO,IAAMA,0BAA0B,GAAGC,qBAAeC,MAAf;AACzC;AAAuD,EADd,CAAnC;;;AAIPF,0BAA0B,CAACG,UAA3B,GAAwC,IAAxC","sourcesContent":["import { BaseCollection } from \"../collections/base.js\";\n\n/**\n * @constructor\n * @alias presentation.BasePresentationCollection\n * @extends collections.BaseCollection\n */\nexport const BasePresentationCollection = BaseCollection.extend(\n\t/** @lends presentation.BasePresentationCollection# */ {}\n);\n\nBasePresentationCollection.canBeEmpty = true;\n"],"file":"base-presentation-collection.js"}
1
+ {"version":3,"sources":["../../src/presentation/base-presentation-collection.js"],"names":["BasePresentationCollection","BaseCollection","extend","canBeEmpty"],"mappings":";;;;;;;AAAA;;AAEA;AACA;AACA;AACA;AACA;AACO,IAAMA,0BAA0B,GAAGC,qBAAeC,MAAf;AACzC;AAAuD,EADd,CAAnC;;;AAIPF,0BAA0B,CAACG,UAA3B,GAAwC,IAAxC","sourcesContent":["import { BaseCollection } from \"../collections/base.js\";\n\n/**\n * @constructor\n * @alias presentation.BasePresentationCollection\n * @extends collections.BaseCollection\n */\nexport const BasePresentationCollection = BaseCollection.extend(\n\t/** @lends presentation.BasePresentationCollection# */ {}\n);\n\nBasePresentationCollection.canBeEmpty = true;\n"],"file":"base-presentation-collection.js"}
@@ -76,5 +76,70 @@ BasePresentationModel.getVisibilityAndSequence = function (model) {
76
76
  return config;
77
77
  };
78
78
 
79
+ var getAppointmentTags = function getAppointmentTags(model, tags) {
80
+ var _model$adjunct;
81
+
82
+ var url = ((_model$adjunct = model.adjunct) === null || _model$adjunct === void 0 ? void 0 : _model$adjunct.url()) || model.url();
83
+ var tagItem = tags.find(function (tag) {
84
+ return tag.content_url === url;
85
+ });
86
+
87
+ if (tagItem) {
88
+ return tagItem.tags || [];
89
+ } // Subslide tags currently aren't included in the
90
+ // appointmentTags data.
91
+
92
+
93
+ return model.tags || [];
94
+ };
95
+
96
+ var getDeckTags = function getDeckTags(model, tags) {
97
+ // All non-adjunct sections, slides and subslides have namespaced_key
98
+ if (model.namespaced_key) {
99
+ return tags[model.namespaced_key] || model.tags || [];
100
+ } else if (model.adjunct || model.isAutoAdjunct) {
101
+ // Autoadjunct keys are unique and move around so we search for them
102
+ // and ignore the rest of the namespaced key
103
+ var keys = Object.keys(tags).filter(function (key) {
104
+ if (key.includes("/")) {
105
+ var splitKey = key.split("/");
106
+ return splitKey[splitKey.length - 1] === model.key;
107
+ }
108
+
109
+ return key === model.key;
110
+ });
111
+ return keys.length ? tags[keys[0]] : [];
112
+ } else if (model.deck) {
113
+ // The deck's namespaced key is always "" - this is because the
114
+ // namespaced key format is section-key/slide-key, but the
115
+ // deck sits above sections.
116
+ return tags[""] || model.tags || [];
117
+ }
118
+
119
+ return model.tags || [];
120
+ }; // Retrieve the tags for the model.
121
+ // If appointmentTags is passed through in the options, we call the
122
+ // getAppointmentTags function above to retrieve the appointment tags
123
+ // for the model.
124
+ // if there are no appointmentTags but deckTags are passed
125
+ // through then we call the getDeckTags function.
126
+ // In the future we will always use one of these two methods and
127
+ // references to model.tags should be removed.
128
+
129
+
130
+ BasePresentationModel.getTags = function (model) {
131
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
132
+
133
+ if (options.appointmentTags) {
134
+ return getAppointmentTags(model, options.appointmentTags);
135
+ }
136
+
137
+ if (options.deckTags) {
138
+ return getDeckTags(model, options.deckTags);
139
+ }
140
+
141
+ return model.tags || [];
142
+ };
143
+
79
144
  BasePresentationModel.canBeEmpty = true;
80
145
  //# sourceMappingURL=base-presentation-model.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/presentation/base-presentation-model.js"],"names":["BasePresentationModel","BaseModel","extend","url","getVisibilityAndSequence","model","options","choicelist","selections","config","visible","enabled","sequence","selectionID","choice","find","item","indexOf","adjunct","selection","id","canBeEmpty"],"mappings":";;;;;;;AAAA;;AAEA;;;;;AAKO,IAAMA,qBAAqB,GAAGC,gBAAUC,MAAV;AACpC;AAAkD;AACjDC,EAAAA,GADiD,iBAC3C;AACL,WAAO,IAAP;AACA;AAHgD,CADd,CAA9B;AAQP;;;;;;;;;;;AAQAH,qBAAqB,CAACI,wBAAtB,GAAiD,UAASC,KAAT,EAA8B;AAAA,MAAdC,OAAc,uEAAJ,EAAI;AAAA,4BAC7BA,OAD6B,CACtEC,UADsE;AAAA,MACtEA,UADsE,oCACzD,IADyD;AAAA,4BAC7BD,OAD6B,CACnDE,UADmD;AAAA,MACnDA,UADmD,oCACtC,IADsC;AAE9E,MAAML,GAAG,GAAGE,KAAK,CAACF,GAAN,EAAZ;AAEA,MAAMM,MAAM,GAAG;AACdC,IAAAA,OAAO,EAAEL,KAAK,CAACK,OAAN,IAAiBL,KAAK,CAACM,OAAvB,IAAkC,KAD7B;AAEdC,IAAAA,QAAQ,EAAEP,KAAK,CAACO,QAFF;AAGdC,IAAAA,WAAW,EAAE;AAHC,GAAf;;AAMA,MAAIN,UAAJ,EAAgB;AACf;AACA;AACA,QAAMO,MAAM,GAAGP,UAAU,CAACQ,IAAX,CAAgB,UAAAC,IAAI;AAAA,aAAIA,IAAI,CAACb,GAAL,KAAaA,GAAjB;AAAA,KAApB,CAAf;;AAEA,QAAIW,MAAJ,EAAY;AACXL,MAAAA,MAAM,CAACG,QAAP,GAAkBL,UAAU,CAACU,OAAX,CAAmBH,MAAnB,CAAlB;AACAL,MAAAA,MAAM,CAACC,OAAP,GAAiBI,MAAM,CAACJ,OAAxB;AACA,KAHD,MAGO;AACND,MAAAA,MAAM,CAACC,OAAP,GAAiB,KAAjB;AACA;AACD,GAXD,MAWO,IAAIF,UAAU,IAAI,CAACH,KAAK,CAACa,OAAzB,EAAkC;AACxC;AACA;AACA;AACA,QAAMC,SAAS,GAAGX,UAAU,CAACO,IAAX,CAAgB,UAAAI,SAAS;AAAA,aAAIA,SAAS,CAAChB,GAAV,KAAkBA,GAAtB;AAAA,KAAzB,CAAlB;;AAEA,QAAIgB,SAAJ,EAAe;AACdV,MAAAA,MAAM,CAACC,OAAP,GAAiBS,SAAS,CAACT,OAA3B;AACAD,MAAAA,MAAM,CAACG,QAAP,GAAkBO,SAAS,CAACP,QAA5B;AACAH,MAAAA,MAAM,CAACI,WAAP,GAAqBM,SAAS,CAACC,EAA/B;AACA;AACD,GAhC6E,CAkC9E;AACA;;;AAEA,SAAOX,MAAP;AACA,CAtCD;;AAwCAT,qBAAqB,CAACqB,UAAtB,GAAmC,IAAnC","sourcesContent":["import { BaseModel } from \"../models/base.js\";\n\n/**\n * @constructor\n * @alias presentation.BasePresentationModel\n * @extends presentation.BaseModel\n */\nexport const BasePresentationModel = BaseModel.extend(\n\t/** @lends presentation.BasePresentationModel# */ {\n\t\turl() {\n\t\t\treturn null;\n\t\t}\n\t}\n);\n\n/**\n * Standard function for retrieving the visibility and sequence of a model\n * from a choicelist or section & slide selections. If a choicelist is\n * provided we prefer the choicelist, otherwise we use selections.\n * Adjuncts are included in choicelists but not in selections so we use the\n * model's state to determine sequence & vis when selections are used.\n */\n\nBasePresentationModel.getVisibilityAndSequence = function(model, options = {}) {\n\tconst { choicelist = null, selections = null } = options;\n\tconst url = model.url();\n\n\tconst config = {\n\t\tvisible: model.visible || model.enabled || false,\n\t\tsequence: model.sequence,\n\t\tselectionID: null\n\t};\n\n\tif (choicelist) {\n\t\t// All items should have a choicelist entry - if it's not in\n\t\t// the choicelist, it's not in the preso\n\t\tconst choice = choicelist.find(item => item.url === url);\n\n\t\tif (choice) {\n\t\t\tconfig.sequence = choicelist.indexOf(choice);\n\t\t\tconfig.visible = choice.visible;\n\t\t} else {\n\t\t\tconfig.visible = false;\n\t\t}\n\t} else if (selections && !model.adjunct) {\n\t\t// Non-adjunct subslides and adjunct sections/slides/subslides\n\t\t// have no selections - they fall through here using their\n\t\t// model's values\n\t\tconst selection = selections.find(selection => selection.url === url);\n\n\t\tif (selection) {\n\t\t\tconfig.visible = selection.visible;\n\t\t\tconfig.sequence = selection.sequence;\n\t\t\tconfig.selectionID = selection.id;\n\t\t}\n\t}\n\n\t// If neither a choicelist nor selections are available, the\n\t// values on the model will be used.\n\n\treturn config;\n};\n\nBasePresentationModel.canBeEmpty = true;\n"],"file":"base-presentation-model.js"}
1
+ {"version":3,"sources":["../../src/presentation/base-presentation-model.js"],"names":["BasePresentationModel","BaseModel","extend","url","getVisibilityAndSequence","model","options","choicelist","selections","config","visible","enabled","sequence","selectionID","choice","find","item","indexOf","adjunct","selection","id","getAppointmentTags","tags","tagItem","tag","content_url","getDeckTags","namespaced_key","isAutoAdjunct","keys","Object","filter","key","includes","splitKey","split","length","deck","getTags","appointmentTags","deckTags","canBeEmpty"],"mappings":"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","sourcesContent":["import { BaseModel } from \"../models/base.js\";\n\n/**\n * @constructor\n * @alias presentation.BasePresentationModel\n * @extends presentation.BaseModel\n */\nexport const BasePresentationModel = BaseModel.extend(\n\t/** @lends presentation.BasePresentationModel# */ {\n\t\turl() {\n\t\t\treturn null;\n\t\t},\n\t}\n);\n\n/**\n * Standard function for retrieving the visibility and sequence of a model\n * from a choicelist or section & slide selections. If a choicelist is\n * provided we prefer the choicelist, otherwise we use selections.\n * Adjuncts are included in choicelists but not in selections so we use the\n * model's state to determine sequence & vis when selections are used.\n */\n\nBasePresentationModel.getVisibilityAndSequence = function (\n\tmodel,\n\toptions = {}\n) {\n\tconst { choicelist = null, selections = null } = options;\n\tconst url = model.url();\n\n\tconst config = {\n\t\tvisible: model.visible || model.enabled || false,\n\t\tsequence: model.sequence,\n\t\tselectionID: null,\n\t};\n\n\tif (choicelist) {\n\t\t// All items should have a choicelist entry - if it's not in\n\t\t// the choicelist, it's not in the preso\n\t\tconst choice = choicelist.find((item) => item.url === url);\n\n\t\tif (choice) {\n\t\t\tconfig.sequence = choicelist.indexOf(choice);\n\t\t\tconfig.visible = choice.visible;\n\t\t} else {\n\t\t\tconfig.visible = false;\n\t\t}\n\t} else if (selections && !model.adjunct) {\n\t\t// Non-adjunct subslides and adjunct sections/slides/subslides\n\t\t// have no selections - they fall through here using their\n\t\t// model's values\n\t\tconst selection = selections.find((selection) => selection.url === url);\n\n\t\tif (selection) {\n\t\t\tconfig.visible = selection.visible;\n\t\t\tconfig.sequence = selection.sequence;\n\t\t\tconfig.selectionID = selection.id;\n\t\t}\n\t}\n\n\t// If neither a choicelist nor selections are available, the\n\t// values on the model will be used.\n\n\treturn config;\n};\n\nconst getAppointmentTags = function (model, tags) {\n\tconst url = model.adjunct?.url() || model.url();\n\tconst tagItem = tags.find((tag) => tag.content_url === url);\n\n\tif (tagItem) {\n\t\treturn tagItem.tags || [];\n\t}\n\n\t// Subslide tags currently aren't included in the\n\t// appointmentTags data.\n\treturn model.tags || [];\n};\n\nconst getDeckTags = function (model, tags) {\n\t// All non-adjunct sections, slides and subslides have namespaced_key\n\tif (model.namespaced_key) {\n\t\treturn tags[model.namespaced_key] || model.tags || [];\n\t} else if (model.adjunct || model.isAutoAdjunct) {\n\t\t// Autoadjunct keys are unique and move around so we search for them\n\t\t// and ignore the rest of the namespaced key\n\t\tconst keys = Object.keys(tags).filter((key) => {\n\t\t\tif (key.includes(\"/\")) {\n\t\t\t\tconst splitKey = key.split(\"/\");\n\n\t\t\t\treturn splitKey[splitKey.length - 1] === model.key;\n\t\t\t}\n\t\t\treturn key === model.key;\n\t\t});\n\t\treturn keys.length ? tags[keys[0]] : [];\n\t} else if (model.deck) {\n\t\t// The deck's namespaced key is always \"\" - this is because the\n\t\t// namespaced key format is section-key/slide-key, but the\n\t\t// deck sits above sections.\n\t\treturn tags[\"\"] || model.tags || [];\n\t}\n\n\treturn model.tags || [];\n};\n\n// Retrieve the tags for the model.\n// If appointmentTags is passed through in the options, we call the\n// getAppointmentTags function above to retrieve the appointment tags\n// for the model.\n// if there are no appointmentTags but deckTags are passed\n// through then we call the getDeckTags function.\n// In the future we will always use one of these two methods and\n// references to model.tags should be removed.\nBasePresentationModel.getTags = function (model, options = {}) {\n\tif (options.appointmentTags) {\n\t\treturn getAppointmentTags(model, options.appointmentTags);\n\t}\n\n\tif (options.deckTags) {\n\t\treturn getDeckTags(model, options.deckTags);\n\t}\n\n\treturn model.tags || [];\n};\n\nBasePresentationModel.canBeEmpty = true;\n"],"file":"base-presentation-model.js"}
@@ -1,5 +1,9 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
6
+
3
7
  var _basePresentationModel = require("./base-presentation-model.js");
4
8
 
5
9
  describe("#getVisibilityAndSequence", function () {
@@ -117,4 +121,87 @@ describe("#getVisibilityAndSequence", function () {
117
121
  expect(config).toEqual(expected);
118
122
  }); // adjuncts!!
119
123
  });
124
+ describe("#getTags", function () {
125
+ it("should return empty array when no options or model tags", function () {
126
+ var tags = _basePresentationModel.BasePresentationModel.getTags({});
127
+
128
+ expect((0, _typeof2.default)(tags)).toEqual("object");
129
+ expect(tags.length).toEqual(0);
130
+ });
131
+ it("should return tags when no tags passed in options", function () {
132
+ var model = {
133
+ tags: ["model-tag-1", "model-tag-2"]
134
+ };
135
+
136
+ var tags = _basePresentationModel.BasePresentationModel.getTags(model);
137
+
138
+ expect(tags).toEqual(model.tags);
139
+ });
140
+ it("should return tags for slide when tags passed in options", function () {
141
+ var model = {
142
+ namespaced_key: "slide-key",
143
+ tags: ["model-tag-1", "model-tag-2"]
144
+ };
145
+ var options = {
146
+ deckTags: {
147
+ "": ["deck-tags"],
148
+ "slide-key": ["slide-tags"]
149
+ }
150
+ };
151
+
152
+ var tags = _basePresentationModel.BasePresentationModel.getTags(model, options);
153
+
154
+ expect(tags).toEqual(["slide-tags"]);
155
+ });
156
+ it("should return tags for welcome slide when tags passed in options", function () {
157
+ var model = {
158
+ deck: {},
159
+ tags: ["model-tag-1", "model-tag-2"]
160
+ };
161
+ var options = {
162
+ deckTags: {
163
+ "": ["deck-tags"],
164
+ "slide-key": ["slide-tags"]
165
+ }
166
+ };
167
+
168
+ var tags = _basePresentationModel.BasePresentationModel.getTags(model, options);
169
+
170
+ expect(tags).toEqual(["deck-tags"]);
171
+ });
172
+ it("should return tags for an adjunct section when tags passed in options", function () {
173
+ var model = {
174
+ adjunct: true,
175
+ key: "adjunctsection-key",
176
+ tags: ["old-tag-1", "old-tag-2"]
177
+ };
178
+ var options = {
179
+ deckTags: {
180
+ "": ["deck-tags"],
181
+ "adjunctsection-key": ["adjunctsection-tags"]
182
+ }
183
+ };
184
+
185
+ var tags = _basePresentationModel.BasePresentationModel.getTags(model, options);
186
+
187
+ expect(tags).toEqual(["adjunctsection-tags"]);
188
+ });
189
+ it("should return tags for an adjunct slide when tags passed in options", function () {
190
+ var model = {
191
+ adjunct: true,
192
+ key: "adjunctslide-key",
193
+ tags: ["old-tag-1", "old-tag-2"]
194
+ };
195
+ var options = {
196
+ deckTags: {
197
+ "": ["deck-tags"],
198
+ "section-key/adjunctslide-key": ["adjunctslide-tags"]
199
+ }
200
+ };
201
+
202
+ var tags = _basePresentationModel.BasePresentationModel.getTags(model, options);
203
+
204
+ expect(tags).toEqual(["adjunctslide-tags"]);
205
+ });
206
+ });
120
207
  //# sourceMappingURL=base-presentation-model.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/presentation/base-presentation-model.spec.js"],"names":["describe","it","config","BasePresentationModel","getVisibilityAndSequence","sequence","visible","url","expected","selectionID","expect","toEqual","choicelist","selections","id"],"mappings":"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","sourcesContent":["import { BasePresentationModel } from \"./base-presentation-model.js\";\n\ndescribe(\"#getVisibilityAndSequence\", () => {\n\tit(\"should return model defaults when no options\", () => {\n\t\tconst config = BasePresentationModel.getVisibilityAndSequence({\n\t\t\tsequence: 99,\n\t\t\tvisible: true,\n\t\t\turl: () => \"\"\n\t\t});\n\n\t\tconst expected = {\n\t\t\tsequence: 99,\n\t\t\tvisible: true,\n\t\t\tselectionID: null\n\t\t};\n\n\t\texpect(config).toEqual(expected);\n\t});\n\n\tit(\"should return model defaults when no options\", () => {\n\t\tconst config = BasePresentationModel.getVisibilityAndSequence({\n\t\t\tsequence: 99,\n\t\t\tvisible: true,\n\t\t\turl: () => \"\"\n\t\t});\n\n\t\tconst expected = {\n\t\t\tsequence: 99,\n\t\t\tvisible: true,\n\t\t\tselectionID: null\n\t\t};\n\n\t\texpect(config).toEqual(expected);\n\t});\n\n\tit(\"should return choicelist config\", () => {\n\t\tconst choicelist = [\n\t\t\t{\n\t\t\t\turl: \"bleh/meh\",\n\t\t\t\tvisible: true\n\t\t\t}\n\t\t];\n\n\t\tconst config = BasePresentationModel.getVisibilityAndSequence(\n\t\t\t{\n\t\t\t\tsequence: 99,\n\t\t\t\tvisible: false,\n\t\t\t\turl: () => \"bleh/meh\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tchoicelist\n\t\t\t}\n\t\t);\n\n\t\tconst expected = {\n\t\t\tsequence: 0,\n\t\t\tvisible: true,\n\t\t\tselectionID: null\n\t\t};\n\n\t\texpect(config).toEqual(expected);\n\t});\n\n\tit(\"should return selections config\", () => {\n\t\tconst selections = [\n\t\t\t{\n\t\t\t\turl: \"bleh/meh\",\n\t\t\t\tvisible: true,\n\t\t\t\tsequence: 27,\n\t\t\t\tid: 58\n\t\t\t}\n\t\t];\n\n\t\tconst config = BasePresentationModel.getVisibilityAndSequence(\n\t\t\t{\n\t\t\t\tsequence: 99,\n\t\t\t\tvisible: false,\n\t\t\t\turl: () => \"bleh/meh\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tselections\n\t\t\t}\n\t\t);\n\n\t\tconst expected = {\n\t\t\tsequence: 27,\n\t\t\tvisible: true,\n\t\t\tselectionID: 58\n\t\t};\n\n\t\texpect(config).toEqual(expected);\n\t});\n\n\tit(\"should return choicelist config if both are provided\", () => {\n\t\tconst choicelist = [\n\t\t\t{\n\t\t\t\turl: \"gah/meh\",\n\t\t\t\tvisible: false\n\t\t\t},\n\t\t\t{\n\t\t\t\turl: \"bleh/meh\",\n\t\t\t\tvisible: true\n\t\t\t}\n\t\t];\n\n\t\tconst selections = [\n\t\t\t{\n\t\t\t\turl: \"bleh/meh\",\n\t\t\t\tvisible: true,\n\t\t\t\tsequence: 27,\n\t\t\t\tid: 58\n\t\t\t}\n\t\t];\n\n\t\tconst config = BasePresentationModel.getVisibilityAndSequence(\n\t\t\t{\n\t\t\t\tsequence: 99,\n\t\t\t\tvisible: false,\n\t\t\t\turl: () => \"bleh/meh\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tchoicelist,\n\t\t\t\tselections\n\t\t\t}\n\t\t);\n\n\t\tconst expected = {\n\t\t\tsequence: 1,\n\t\t\tvisible: true,\n\t\t\tselectionID: null\n\t\t};\n\n\t\texpect(config).toEqual(expected);\n\t});\n\n\t// adjuncts!!\n});\n"],"file":"base-presentation-model.spec.js"}
1
+ {"version":3,"sources":["../../src/presentation/base-presentation-model.spec.js"],"names":["describe","it","config","BasePresentationModel","getVisibilityAndSequence","sequence","visible","url","expected","selectionID","expect","toEqual","choicelist","selections","id","tags","getTags","length","model","namespaced_key","options","deckTags","deck","adjunct","key"],"mappings":"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","sourcesContent":["import { BasePresentationModel } from \"./base-presentation-model.js\";\n\ndescribe(\"#getVisibilityAndSequence\", () => {\n\tit(\"should return model defaults when no options\", () => {\n\t\tconst config = BasePresentationModel.getVisibilityAndSequence({\n\t\t\tsequence: 99,\n\t\t\tvisible: true,\n\t\t\turl: () => \"\",\n\t\t});\n\n\t\tconst expected = {\n\t\t\tsequence: 99,\n\t\t\tvisible: true,\n\t\t\tselectionID: null,\n\t\t};\n\n\t\texpect(config).toEqual(expected);\n\t});\n\n\tit(\"should return model defaults when no options\", () => {\n\t\tconst config = BasePresentationModel.getVisibilityAndSequence({\n\t\t\tsequence: 99,\n\t\t\tvisible: true,\n\t\t\turl: () => \"\",\n\t\t});\n\n\t\tconst expected = {\n\t\t\tsequence: 99,\n\t\t\tvisible: true,\n\t\t\tselectionID: null,\n\t\t};\n\n\t\texpect(config).toEqual(expected);\n\t});\n\n\tit(\"should return choicelist config\", () => {\n\t\tconst choicelist = [\n\t\t\t{\n\t\t\t\turl: \"bleh/meh\",\n\t\t\t\tvisible: true,\n\t\t\t},\n\t\t];\n\n\t\tconst config = BasePresentationModel.getVisibilityAndSequence(\n\t\t\t{\n\t\t\t\tsequence: 99,\n\t\t\t\tvisible: false,\n\t\t\t\turl: () => \"bleh/meh\",\n\t\t\t},\n\t\t\t{\n\t\t\t\tchoicelist,\n\t\t\t}\n\t\t);\n\n\t\tconst expected = {\n\t\t\tsequence: 0,\n\t\t\tvisible: true,\n\t\t\tselectionID: null,\n\t\t};\n\n\t\texpect(config).toEqual(expected);\n\t});\n\n\tit(\"should return selections config\", () => {\n\t\tconst selections = [\n\t\t\t{\n\t\t\t\turl: \"bleh/meh\",\n\t\t\t\tvisible: true,\n\t\t\t\tsequence: 27,\n\t\t\t\tid: 58,\n\t\t\t},\n\t\t];\n\n\t\tconst config = BasePresentationModel.getVisibilityAndSequence(\n\t\t\t{\n\t\t\t\tsequence: 99,\n\t\t\t\tvisible: false,\n\t\t\t\turl: () => \"bleh/meh\",\n\t\t\t},\n\t\t\t{\n\t\t\t\tselections,\n\t\t\t}\n\t\t);\n\n\t\tconst expected = {\n\t\t\tsequence: 27,\n\t\t\tvisible: true,\n\t\t\tselectionID: 58,\n\t\t};\n\n\t\texpect(config).toEqual(expected);\n\t});\n\n\tit(\"should return choicelist config if both are provided\", () => {\n\t\tconst choicelist = [\n\t\t\t{\n\t\t\t\turl: \"gah/meh\",\n\t\t\t\tvisible: false,\n\t\t\t},\n\t\t\t{\n\t\t\t\turl: \"bleh/meh\",\n\t\t\t\tvisible: true,\n\t\t\t},\n\t\t];\n\n\t\tconst selections = [\n\t\t\t{\n\t\t\t\turl: \"bleh/meh\",\n\t\t\t\tvisible: true,\n\t\t\t\tsequence: 27,\n\t\t\t\tid: 58,\n\t\t\t},\n\t\t];\n\n\t\tconst config = BasePresentationModel.getVisibilityAndSequence(\n\t\t\t{\n\t\t\t\tsequence: 99,\n\t\t\t\tvisible: false,\n\t\t\t\turl: () => \"bleh/meh\",\n\t\t\t},\n\t\t\t{\n\t\t\t\tchoicelist,\n\t\t\t\tselections,\n\t\t\t}\n\t\t);\n\n\t\tconst expected = {\n\t\t\tsequence: 1,\n\t\t\tvisible: true,\n\t\t\tselectionID: null,\n\t\t};\n\n\t\texpect(config).toEqual(expected);\n\t});\n\n\t// adjuncts!!\n});\n\ndescribe(\"#getTags\", () => {\n\tit(\"should return empty array when no options or model tags\", () => {\n\t\tconst tags = BasePresentationModel.getTags({});\n\n\t\texpect(typeof tags).toEqual(\"object\");\n\t\texpect(tags.length).toEqual(0);\n\t});\n\n\tit(\"should return tags when no tags passed in options\", () => {\n\t\tconst model = {\n\t\t\ttags: [\"model-tag-1\", \"model-tag-2\"],\n\t\t};\n\t\tconst tags = BasePresentationModel.getTags(model);\n\n\t\texpect(tags).toEqual(model.tags);\n\t});\n\n\tit(\"should return tags for slide when tags passed in options\", () => {\n\t\tconst model = {\n\t\t\tnamespaced_key: \"slide-key\",\n\t\t\ttags: [\"model-tag-1\", \"model-tag-2\"],\n\t\t};\n\n\t\tconst options = {\n\t\t\tdeckTags: {\n\t\t\t\t\"\": [\"deck-tags\"],\n\t\t\t\t\"slide-key\": [\"slide-tags\"],\n\t\t\t},\n\t\t};\n\n\t\tconst tags = BasePresentationModel.getTags(model, options);\n\n\t\texpect(tags).toEqual([\"slide-tags\"]);\n\t});\n\n\tit(\"should return tags for welcome slide when tags passed in options\", () => {\n\t\tconst model = {\n\t\t\tdeck: {},\n\t\t\ttags: [\"model-tag-1\", \"model-tag-2\"],\n\t\t};\n\n\t\tconst options = {\n\t\t\tdeckTags: {\n\t\t\t\t\"\": [\"deck-tags\"],\n\t\t\t\t\"slide-key\": [\"slide-tags\"],\n\t\t\t},\n\t\t};\n\n\t\tconst tags = BasePresentationModel.getTags(model, options);\n\n\t\texpect(tags).toEqual([\"deck-tags\"]);\n\t});\n\n\tit(\"should return tags for an adjunct section when tags passed in options\", () => {\n\t\tconst model = {\n\t\t\tadjunct: true,\n\t\t\tkey: \"adjunctsection-key\",\n\t\t\ttags: [\"old-tag-1\", \"old-tag-2\"],\n\t\t};\n\n\t\tconst options = {\n\t\t\tdeckTags: {\n\t\t\t\t\"\": [\"deck-tags\"],\n\t\t\t\t\"adjunctsection-key\": [\"adjunctsection-tags\"],\n\t\t\t},\n\t\t};\n\n\t\tconst tags = BasePresentationModel.getTags(model, options);\n\n\t\texpect(tags).toEqual([\"adjunctsection-tags\"]);\n\t});\n\n\tit(\"should return tags for an adjunct slide when tags passed in options\", () => {\n\t\tconst model = {\n\t\t\tadjunct: true,\n\t\t\tkey: \"adjunctslide-key\",\n\t\t\ttags: [\"old-tag-1\", \"old-tag-2\"],\n\t\t};\n\n\t\tconst options = {\n\t\t\tdeckTags: {\n\t\t\t\t\"\": [\"deck-tags\"],\n\t\t\t\t\"section-key/adjunctslide-key\": [\"adjunctslide-tags\"],\n\t\t\t},\n\t\t};\n\n\t\tconst tags = BasePresentationModel.getTags(model, options);\n\n\t\texpect(tags).toEqual([\"adjunctslide-tags\"]);\n\t});\n});\n"],"file":"base-presentation-model.spec.js"}
@@ -1,39 +1,47 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
-
5
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
4
 
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
10
10
  exports.PresentationDeck = void 0;
11
11
 
12
- var _objectSpread4 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread"));
12
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
13
 
14
14
  require("./presentation-sections.js");
15
15
 
16
- var _url = _interopRequireDefault(require("url"));
16
+ var collections = _interopRequireWildcard(require("../collections"));
17
17
 
18
- var _lodash = _interopRequireDefault(require("lodash"));
18
+ var _utils = require("../utils.js");
19
19
 
20
- var collections = _interopRequireWildcard(require("../collections"));
20
+ var _basePresentationModel = require("./base-presentation-model");
21
+
22
+ var _models = require("../models");
23
+
24
+ var _presentationSection = require("./presentation-section");
25
+
26
+ var _presentationSlide = require("./presentation-slide");
27
+
28
+ var _lodash = _interopRequireDefault(require("lodash"));
21
29
 
22
30
  var _index = require("../index.js");
23
31
 
24
32
  var _log = _interopRequireDefault(require("../log.js"));
25
33
 
26
- var _models = require("../models");
27
-
28
34
  var _stateRegister = require("../state-register");
29
35
 
30
- var _utils = require("../utils.js");
36
+ var _url = _interopRequireDefault(require("url"));
31
37
 
32
- var _basePresentationModel = require("./base-presentation-model");
38
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
33
39
 
34
- var _presentationSection = require("./presentation-section");
40
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
35
41
 
36
- var _presentationSlide = require("./presentation-slide");
42
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
43
+
44
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
37
45
 
38
46
  /**
39
47
  * @constructor
@@ -85,9 +93,9 @@ var PresentationDeck = _basePresentationModel.BasePresentationModel.extend(
85
93
  derived: {
86
94
  welcomeSlide: {
87
95
  fn: function fn() {
88
- return new _presentationSection.PresentationSection((0, _objectSpread4.default)({}, this.getAttributes({
96
+ return new _presentationSection.PresentationSection(_objectSpread(_objectSpread({}, this.getAttributes({
89
97
  props: true
90
- }), {
98
+ })), {}, {
91
99
  isWelcome: true
92
100
  }));
93
101
  }
@@ -150,7 +158,7 @@ PresentationDeck.createFromDeckVersion = function (deckVersionModel) {
150
158
  css = "".concat(assetRoot, "slide.css");
151
159
  }
152
160
 
153
- var tags = deckVersionModel.tags || [];
161
+ var tags = PresentationDeck.getTags(deckVersionModel, options);
154
162
  var deck = new PresentationDeck({
155
163
  html: html,
156
164
  css: css,
@@ -164,7 +172,8 @@ PresentationDeck.createFromDeckVersion = function (deckVersionModel) {
164
172
  title: deckVersionModel.deck.title,
165
173
  editable: tags.indexOf("editable") > -1,
166
174
  tags: tags,
167
- version: deckVersionModel.version
175
+ version: deckVersionModel.version,
176
+ usesImpostorSections: (0, _utils.isImpostorDeck)(deckVersionModel)
168
177
  });
169
178
 
170
179
  if (!deck.key) {
@@ -204,7 +213,7 @@ PresentationDeck.createFromDeckVersion = function (deckVersionModel) {
204
213
  // we're using selections or a choicelist.
205
214
 
206
215
 
207
- if (!(0, _utils.isImpostorDeck)(deckVersionModel)) {
216
+ if (!deck.usesImpostorSections) {
208
217
  // Non impostor deck using selections or a choicelist. Slides are already
209
218
  // associated with the correct sections, so all we have to do is turn
210
219
  // everything into a presentation model and pass the options through with
@@ -229,7 +238,6 @@ PresentationDeck.createFromDeckVersion = function (deckVersionModel) {
229
238
  // only contains one section, which is the "real" section but is not used in
230
239
  // the presentation. Some slides have the tag "section-header", and these slides
231
240
  // will be turned into sections and may be given sets of slides.
232
- deck.usesImpostorSections = true;
233
241
  var realSection = deckVersionModel.section_set.first();
234
242
  deck.realSection = new _presentationSection.PresentationSection({
235
243
  id: realSection.id,
@@ -333,13 +341,16 @@ PresentationDeck.createFromManifestJSON = function (manifestJSON) {
333
341
  thumbnail: null,
334
342
  deckID: 1,
335
343
  title: "Local",
336
- version: 1
344
+ version: 1,
345
+ tags: manifestJSON.tags[""] || []
337
346
  });
338
347
 
339
348
  var usesImpostorSections = _lodash.default.some(manifestJSON.tags, function (tags) {
340
349
  return tags.indexOf("section-header") !== -1;
341
350
  });
342
351
 
352
+ deck.usesImpostorSections = usesImpostorSections;
353
+
343
354
  if (usesImpostorSections) {
344
355
  deck.usesImpostorSections = true;
345
356
  var items = Object.keys(manifestJSON.titles).map(function (key) {
@@ -380,7 +391,7 @@ PresentationDeck.createFromManifestJSON = function (manifestJSON) {
380
391
 
381
392
  if (manifestJSON.templates) {
382
393
  var templates = Object.keys(manifestJSON.templates).map(function (key) {
383
- return (0, _objectSpread4.default)({}, manifestJSON.templates[key], {
394
+ return _objectSpread(_objectSpread({}, manifestJSON.templates[key]), {}, {
384
395
  key: key,
385
396
  sequence: manifestJSON.templates[key].ordering,
386
397
  index_asset: {