@livepreso/api 6.44.0 → 6.46.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (502) hide show
  1. package/.eslintrc.js +3 -0
  2. package/.rush/temp/1aebf46f78ad5c45f82f8147751890adb37bef9d.log +10 -0
  3. package/.rush/temp/256021b5963b4c0221d3dec247b697b9691a9b2c.log +10 -0
  4. package/.rush/temp/2a322f00f12cf9d1e64afe81275cc78d01c49050.log +10 -0
  5. package/.rush/temp/30061f1865447dcbb3f20a305061205f3dbe6091.log +10 -0
  6. package/.rush/temp/3cdc82c352e8ed90607952873f3aa4c200490874.log +10 -0
  7. package/.rush/temp/45522aea0dee8cb2be1a53248ba45bd235743b43.log +10 -0
  8. package/.rush/temp/5489ab737e406518983c16c57fc3e1edc07c0341.log +10 -0
  9. package/.rush/temp/58fcbb7f15a76326d40e0839ab179755da82a891.log +10 -0
  10. package/.rush/temp/5bc0bba70b733baa4dd976667ba0a1386e516186.log +10 -0
  11. package/.rush/temp/64f1bb696f8d7d7e72907b80df316b127f72e23e.log +10 -0
  12. package/.rush/temp/6f640f951414ea68adb65c17e4ed7527cde54faf.log +10 -0
  13. package/.rush/temp/7c7b958682d4ab5697530be47d0aac62efe1adf1.log +10 -0
  14. package/.rush/temp/82bfb987463fbcfebf04022e6ed00015c73879c8.log +10 -0
  15. package/.rush/temp/844034aa6e542115075e8f3dc5ffc640973e0064.log +10 -0
  16. package/.rush/temp/8b42957a7c15da1f29cb57bee125f13affa70dca.log +10 -0
  17. package/.rush/temp/924652444ab5a6063f328a2217123a2227058896.log +10 -0
  18. package/.rush/temp/9f2030f96d62f3e38052e35201819a216566f14f.log +10 -0
  19. package/.rush/temp/a769db9d81a23000c0e9b1bf4f1a9a9e721d0d7c.log +10 -0
  20. package/.rush/temp/a87d3a8b4ece87ec66f27c86226a9f205617681f.log +10 -0
  21. package/.rush/temp/bb7a5bdcc4af4ad1507f81f33774b31f5b4e4fb7.log +10 -0
  22. package/.rush/temp/c20e29ccaaa9231b38a28bb24451b4ce7562cdc0.log +10 -0
  23. package/.rush/temp/e21303db8f59b4625fd184c9114377d781fd24f8.log +10 -0
  24. package/.rush/temp/e6d303862765b6a5f41dd483d0f9ae083a1fae10.log +10 -0
  25. package/.rush/temp/eaf69fbc059d2f1258d7569136180d4a1d3c7072.log +10 -0
  26. package/.rush/temp/f85d279e2674966daaec83e1c3986a96f86ef304.log +10 -0
  27. package/.rush/temp/fc0a332c5b34c6b90006850cf2d93a48fb4b9a6e.log +10 -0
  28. package/.rush/temp/operation/test/all.log +19 -0
  29. package/.rush/temp/operation/test/state.json +3 -0
  30. package/.rush/temp/{package-deps_test.json → package-deps_build.json} +11 -11
  31. package/.rush/temp/shrinkwrap-deps.json +605 -597
  32. package/CHANGELOG.json +29 -0
  33. package/CHANGELOG.md +15 -1
  34. package/README.md +4 -4
  35. package/api.build.log +1 -1
  36. package/api.test.cache.log +1 -0
  37. package/api.test.log +19 -0
  38. package/bin/test.sh +0 -1
  39. package/cjs/api.js +18 -17
  40. package/cjs/api.js.map +1 -1
  41. package/cjs/api.spec.js +0 -4
  42. package/cjs/api.spec.js.map +1 -1
  43. package/cjs/auth.js +35 -36
  44. package/cjs/auth.js.map +1 -1
  45. package/cjs/auth.spec.js +52 -71
  46. package/cjs/auth.spec.js.map +1 -1
  47. package/cjs/caching.js +2 -7
  48. package/cjs/caching.js.map +1 -1
  49. package/cjs/collections/activity.js +16 -56
  50. package/cjs/collections/activity.js.map +1 -1
  51. package/cjs/collections/adjunct-sections.js +1 -10
  52. package/cjs/collections/adjunct-sections.js.map +1 -1
  53. package/cjs/collections/adjunct-slides.js +1 -10
  54. package/cjs/collections/adjunct-slides.js.map +1 -1
  55. package/cjs/collections/adjunct-sub-slides.js +1 -9
  56. package/cjs/collections/adjunct-sub-slides.js.map +1 -1
  57. package/cjs/collections/appointment-adjunct-tags.js +1 -9
  58. package/cjs/collections/appointment-adjunct-tags.js.map +1 -1
  59. package/cjs/collections/appointment-deckversion-tags.js +1 -9
  60. package/cjs/collections/appointment-deckversion-tags.js.map +1 -1
  61. package/cjs/collections/appointment-duplicates.js +1 -9
  62. package/cjs/collections/appointment-duplicates.js.map +1 -1
  63. package/cjs/collections/appointment-editors.js +1 -10
  64. package/cjs/collections/appointment-editors.js.map +1 -1
  65. package/cjs/collections/appointment-section-tags.js +1 -9
  66. package/cjs/collections/appointment-section-tags.js.map +1 -1
  67. package/cjs/collections/appointment-slide-tags.js +1 -9
  68. package/cjs/collections/appointment-slide-tags.js.map +1 -1
  69. package/cjs/collections/appointment-tags.js +66 -103
  70. package/cjs/collections/appointment-tags.js.map +1 -1
  71. package/cjs/collections/appointment-templates.js +27 -0
  72. package/cjs/collections/appointment-templates.js.map +1 -0
  73. package/cjs/collections/appointments.js +9 -29
  74. package/cjs/collections/appointments.js.map +1 -1
  75. package/cjs/collections/assets.js +1 -9
  76. package/cjs/collections/assets.js.map +1 -1
  77. package/cjs/collections/auto-adjuncts.js +6 -21
  78. package/cjs/collections/auto-adjuncts.js.map +1 -1
  79. package/cjs/collections/base.js +46 -112
  80. package/cjs/collections/base.js.map +1 -1
  81. package/cjs/collections/base.spec.js +204 -233
  82. package/cjs/collections/base.spec.js.map +1 -1
  83. package/cjs/collections/cms-vals.js +9 -16
  84. package/cjs/collections/cms-vals.js.map +1 -1
  85. package/cjs/collections/contact-phones.js +20 -0
  86. package/cjs/collections/contact-phones.js.map +1 -0
  87. package/cjs/collections/contacts.js +1 -9
  88. package/cjs/collections/contacts.js.map +1 -1
  89. package/cjs/collections/created-assets.js +1 -10
  90. package/cjs/collections/created-assets.js.map +1 -1
  91. package/cjs/collections/customers.js +1 -9
  92. package/cjs/collections/customers.js.map +1 -1
  93. package/cjs/collections/deck-notes.js +1 -10
  94. package/cjs/collections/deck-notes.js.map +1 -1
  95. package/cjs/collections/deck-version-screenshots.js +49 -0
  96. package/cjs/collections/deck-version-screenshots.js.map +1 -0
  97. package/cjs/collections/deck-versions.js +5 -20
  98. package/cjs/collections/deck-versions.js.map +1 -1
  99. package/cjs/collections/decks.js +1 -9
  100. package/cjs/collections/decks.js.map +1 -1
  101. package/cjs/collections/deleted-assets.js +1 -10
  102. package/cjs/collections/deleted-assets.js.map +1 -1
  103. package/cjs/collections/dispatches.js +1 -13
  104. package/cjs/collections/dispatches.js.map +1 -1
  105. package/cjs/collections/event-objects.js +1 -9
  106. package/cjs/collections/event-objects.js.map +1 -1
  107. package/cjs/collections/events.js +1 -9
  108. package/cjs/collections/events.js.map +1 -1
  109. package/cjs/collections/groups.js +1 -9
  110. package/cjs/collections/groups.js.map +1 -1
  111. package/cjs/collections/images.js +1 -9
  112. package/cjs/collections/images.js.map +1 -1
  113. package/cjs/collections/locations.js +1 -9
  114. package/cjs/collections/locations.js.map +1 -1
  115. package/cjs/collections/opportunities.js +1 -9
  116. package/cjs/collections/opportunities.js.map +1 -1
  117. package/cjs/collections/pack-diffs.js +1 -9
  118. package/cjs/collections/pack-diffs.js.map +1 -1
  119. package/cjs/collections/packs.js +1 -9
  120. package/cjs/collections/packs.js.map +1 -1
  121. package/cjs/collections/presets.js +1 -9
  122. package/cjs/collections/presets.js.map +1 -1
  123. package/cjs/collections/section-selections.js +1 -9
  124. package/cjs/collections/section-selections.js.map +1 -1
  125. package/cjs/collections/sections.js +1 -9
  126. package/cjs/collections/sections.js.map +1 -1
  127. package/cjs/collections/slide-selections.js +1 -9
  128. package/cjs/collections/slide-selections.js.map +1 -1
  129. package/cjs/collections/slides.js +1 -9
  130. package/cjs/collections/slides.js.map +1 -1
  131. package/cjs/collections/snapshots.js +1 -9
  132. package/cjs/collections/snapshots.js.map +1 -1
  133. package/cjs/collections/sub-slides.js +1 -9
  134. package/cjs/collections/sub-slides.js.map +1 -1
  135. package/cjs/collections/tags.js +1 -9
  136. package/cjs/collections/tags.js.map +1 -1
  137. package/cjs/collections/teams.js +1 -9
  138. package/cjs/collections/teams.js.map +1 -1
  139. package/cjs/collections/templates.js +1 -9
  140. package/cjs/collections/templates.js.map +1 -1
  141. package/cjs/collections/uploads.js +1 -9
  142. package/cjs/collections/uploads.js.map +1 -1
  143. package/cjs/collections/users.js +1 -9
  144. package/cjs/collections/users.js.map +1 -1
  145. package/cjs/collections.js +33 -86
  146. package/cjs/collections.js.map +1 -1
  147. package/cjs/fixtures.js +187 -0
  148. package/cjs/fixtures.js.map +1 -0
  149. package/cjs/index.js +0 -10
  150. package/cjs/index.js.map +1 -1
  151. package/cjs/log.js +0 -1
  152. package/cjs/log.js.map +1 -1
  153. package/cjs/middleware.js +2 -7
  154. package/cjs/middleware.js.map +1 -1
  155. package/cjs/middlewares/auth.js +1 -17
  156. package/cjs/middlewares/auth.js.map +1 -1
  157. package/cjs/middlewares/base.js +3 -9
  158. package/cjs/middlewares/base.js.map +1 -1
  159. package/cjs/middlewares/json.js +1 -19
  160. package/cjs/middlewares/json.js.map +1 -1
  161. package/cjs/middlewares/redirect.js +5 -21
  162. package/cjs/middlewares/redirect.js.map +1 -1
  163. package/cjs/models/activity-item.js +6 -20
  164. package/cjs/models/activity-item.js.map +1 -1
  165. package/cjs/models/adjunct-section.js +8 -21
  166. package/cjs/models/adjunct-section.js.map +1 -1
  167. package/cjs/models/adjunct-slide.js +8 -21
  168. package/cjs/models/adjunct-slide.js.map +1 -1
  169. package/cjs/models/adjunct-sub-slide.js +1 -16
  170. package/cjs/models/adjunct-sub-slide.js.map +1 -1
  171. package/cjs/models/adjunct.js +34 -10
  172. package/cjs/models/adjunct.js.map +1 -1
  173. package/cjs/models/api.js +1 -6
  174. package/cjs/models/api.js.map +1 -1
  175. package/cjs/models/appointment-adjunct-tags.js +1 -13
  176. package/cjs/models/appointment-adjunct-tags.js.map +1 -1
  177. package/cjs/models/appointment-deckversion-tags.js +1 -13
  178. package/cjs/models/appointment-deckversion-tags.js.map +1 -1
  179. package/cjs/models/appointment-duplicate.js +3 -25
  180. package/cjs/models/appointment-duplicate.js.map +1 -1
  181. package/cjs/models/appointment-editor.js +1 -14
  182. package/cjs/models/appointment-editor.js.map +1 -1
  183. package/cjs/models/appointment-section-tags.js +1 -13
  184. package/cjs/models/appointment-section-tags.js.map +1 -1
  185. package/cjs/models/appointment-slide-tags.js +1 -13
  186. package/cjs/models/appointment-slide-tags.js.map +1 -1
  187. package/cjs/models/appointment-stats.js +1 -11
  188. package/cjs/models/appointment-stats.js.map +1 -1
  189. package/cjs/models/appointment-tags.js +1 -10
  190. package/cjs/models/appointment-tags.js.map +1 -1
  191. package/cjs/models/appointment-template.js +23 -0
  192. package/cjs/models/appointment-template.js.map +1 -0
  193. package/cjs/models/appointment-viewing.js +1 -8
  194. package/cjs/models/appointment-viewing.js.map +1 -1
  195. package/cjs/models/appointment.js +94 -69
  196. package/cjs/models/appointment.js.map +1 -1
  197. package/cjs/models/asset.js +12 -11
  198. package/cjs/models/asset.js.map +1 -1
  199. package/cjs/models/auto-adjunct-key-check.js +1 -15
  200. package/cjs/models/auto-adjunct-key-check.js.map +1 -1
  201. package/cjs/models/auto-adjunct.js +5 -14
  202. package/cjs/models/auto-adjunct.js.map +1 -1
  203. package/cjs/models/base.js +89 -173
  204. package/cjs/models/base.js.map +1 -1
  205. package/cjs/models/base.spec.js +8 -30
  206. package/cjs/models/base.spec.js.map +1 -1
  207. package/cjs/models/choicelist.js +1 -8
  208. package/cjs/models/choicelist.js.map +1 -1
  209. package/cjs/models/cms-val.js +28 -15
  210. package/cjs/models/cms-val.js.map +1 -1
  211. package/cjs/models/cms-val.spec.js +25 -0
  212. package/cjs/models/cms-val.spec.js.map +1 -0
  213. package/cjs/models/contact-phone.js +54 -0
  214. package/cjs/models/contact-phone.js.map +1 -0
  215. package/cjs/models/contact.js +1 -18
  216. package/cjs/models/contact.js.map +1 -1
  217. package/cjs/models/customer.js +5 -30
  218. package/cjs/models/customer.js.map +1 -1
  219. package/cjs/models/deck-note.js +1 -9
  220. package/cjs/models/deck-note.js.map +1 -1
  221. package/cjs/models/deck-tags.js +1 -12
  222. package/cjs/models/deck-tags.js.map +1 -1
  223. package/cjs/models/deck-version-screenshot.js +47 -0
  224. package/cjs/models/deck-version-screenshot.js.map +1 -0
  225. package/cjs/models/deck-version.js +54 -47
  226. package/cjs/models/deck-version.js.map +1 -1
  227. package/cjs/models/deck.js +1 -14
  228. package/cjs/models/deck.js.map +1 -1
  229. package/cjs/models/dispatch-preview.js +1 -13
  230. package/cjs/models/dispatch-preview.js.map +1 -1
  231. package/cjs/models/dispatch.js +1 -23
  232. package/cjs/models/dispatch.js.map +1 -1
  233. package/cjs/models/envs.js +1 -6
  234. package/cjs/models/envs.js.map +1 -1
  235. package/cjs/models/event-object.js +1 -11
  236. package/cjs/models/event-object.js.map +1 -1
  237. package/cjs/models/event.js +1 -13
  238. package/cjs/models/event.js.map +1 -1
  239. package/cjs/models/feed-data.js +6 -13
  240. package/cjs/models/feed-data.js.map +1 -1
  241. package/cjs/models/file.js +1 -11
  242. package/cjs/models/file.js.map +1 -1
  243. package/cjs/models/group.js +1 -11
  244. package/cjs/models/group.js.map +1 -1
  245. package/cjs/models/handover.js +1 -13
  246. package/cjs/models/handover.js.map +1 -1
  247. package/cjs/models/hosted-preso.js +1 -15
  248. package/cjs/models/hosted-preso.js.map +1 -1
  249. package/cjs/models/image.js +30 -11
  250. package/cjs/models/image.js.map +1 -1
  251. package/cjs/models/location.js +1 -13
  252. package/cjs/models/location.js.map +1 -1
  253. package/cjs/models/manifest-json.js +75 -74
  254. package/cjs/models/manifest-json.js.map +1 -1
  255. package/cjs/models/onshare.js +1 -14
  256. package/cjs/models/onshare.js.map +1 -1
  257. package/cjs/models/opportunity.js +1 -14
  258. package/cjs/models/opportunity.js.map +1 -1
  259. package/cjs/models/pack-diff.js +1 -14
  260. package/cjs/models/pack-diff.js.map +1 -1
  261. package/cjs/models/pack.js +1 -12
  262. package/cjs/models/pack.js.map +1 -1
  263. package/cjs/models/preset.js +4 -20
  264. package/cjs/models/preset.js.map +1 -1
  265. package/cjs/models/refresh-request.js +17 -11
  266. package/cjs/models/refresh-request.js.map +1 -1
  267. package/cjs/models/room.js +1 -9
  268. package/cjs/models/room.js.map +1 -1
  269. package/cjs/models/salesforce-lookup.js +1 -12
  270. package/cjs/models/salesforce-lookup.js.map +1 -1
  271. package/cjs/models/section-selection.js +1 -14
  272. package/cjs/models/section-selection.js.map +1 -1
  273. package/cjs/models/section.js +4 -15
  274. package/cjs/models/section.js.map +1 -1
  275. package/cjs/models/slide-selection.js +1 -14
  276. package/cjs/models/slide-selection.js.map +1 -1
  277. package/cjs/models/slide.js +4 -15
  278. package/cjs/models/slide.js.map +1 -1
  279. package/cjs/models/snapshot.js +13 -15
  280. package/cjs/models/snapshot.js.map +1 -1
  281. package/cjs/models/snapshot.spec.js +44 -0
  282. package/cjs/models/snapshot.spec.js.map +1 -0
  283. package/cjs/models/sub-slide.js +1 -12
  284. package/cjs/models/sub-slide.js.map +1 -1
  285. package/cjs/models/support-ticket.js +1 -11
  286. package/cjs/models/support-ticket.js.map +1 -1
  287. package/cjs/models/tag.js +1 -13
  288. package/cjs/models/tag.js.map +1 -1
  289. package/cjs/models/team.js +14 -13
  290. package/cjs/models/team.js.map +1 -1
  291. package/cjs/models/template.js +89 -15
  292. package/cjs/models/template.js.map +1 -1
  293. package/cjs/models/tenancy.js +4 -11
  294. package/cjs/models/tenancy.js.map +1 -1
  295. package/cjs/models/timing-log.js +21 -78
  296. package/cjs/models/timing-log.js.map +1 -1
  297. package/cjs/models/timing-log.spec.js +24 -37
  298. package/cjs/models/timing-log.spec.js.map +1 -1
  299. package/cjs/models/token.js +46 -0
  300. package/cjs/models/token.js.map +1 -0
  301. package/cjs/models/transcribe-socket.js +1 -8
  302. package/cjs/models/transcribe-socket.js.map +1 -1
  303. package/cjs/models/upload.js +1 -7
  304. package/cjs/models/upload.js.map +1 -1
  305. package/cjs/models/user.js +11 -28
  306. package/cjs/models/user.js.map +1 -1
  307. package/cjs/models/user.spec.js +20 -30
  308. package/cjs/models/user.spec.js.map +1 -1
  309. package/cjs/models.js +44 -128
  310. package/cjs/models.js.map +1 -1
  311. package/cjs/presentation/appointment-presentation.js +14 -36
  312. package/cjs/presentation/appointment-presentation.js.map +1 -1
  313. package/cjs/presentation/base-presentation-collection.js +1 -7
  314. package/cjs/presentation/base-presentation-collection.js.map +1 -1
  315. package/cjs/presentation/base-presentation-model.js +108 -33
  316. package/cjs/presentation/base-presentation-model.js.map +1 -1
  317. package/cjs/presentation/base-presentation-model.spec.js +58 -23
  318. package/cjs/presentation/base-presentation-model.spec.js.map +1 -1
  319. package/cjs/presentation/presentation-deck.js +73 -83
  320. package/cjs/presentation/presentation-deck.js.map +1 -1
  321. package/cjs/presentation/presentation-deck.spec.js +118 -88
  322. package/cjs/presentation/presentation-deck.spec.js.map +1 -1
  323. package/cjs/presentation/presentation-decks.js +1 -9
  324. package/cjs/presentation/presentation-decks.js.map +1 -1
  325. package/cjs/presentation/presentation-section.js +70 -84
  326. package/cjs/presentation/presentation-section.js.map +1 -1
  327. package/cjs/presentation/presentation-section.spec.js +296 -238
  328. package/cjs/presentation/presentation-section.spec.js.map +1 -1
  329. package/cjs/presentation/presentation-sections.js +1 -9
  330. package/cjs/presentation/presentation-sections.js.map +1 -1
  331. package/cjs/presentation/presentation-slide.js +74 -84
  332. package/cjs/presentation/presentation-slide.js.map +1 -1
  333. package/cjs/presentation/presentation-slide.spec.js +211 -166
  334. package/cjs/presentation/presentation-slide.spec.js.map +1 -1
  335. package/cjs/presentation/presentation-slides.js +1 -9
  336. package/cjs/presentation/presentation-slides.js.map +1 -1
  337. package/cjs/presentation/presentation-subslide.js +3 -23
  338. package/cjs/presentation/presentation-subslide.js.map +1 -1
  339. package/cjs/presentation/presentation-subslide.spec.js +101 -125
  340. package/cjs/presentation/presentation-subslide.spec.js.map +1 -1
  341. package/cjs/presentation/presentation-subslides.js +1 -9
  342. package/cjs/presentation/presentation-subslides.js.map +1 -1
  343. package/cjs/presentation/presentation.js +87 -32
  344. package/cjs/presentation/presentation.js.map +1 -1
  345. package/cjs/presentation.js +0 -20
  346. package/cjs/presentation.js.map +1 -1
  347. package/cjs/selections.js +81 -0
  348. package/cjs/selections.js.map +1 -0
  349. package/cjs/state-register.js +3 -11
  350. package/cjs/state-register.js.map +1 -1
  351. package/cjs/sync.js +32 -76
  352. package/cjs/sync.js.map +1 -1
  353. package/cjs/utils.js +51 -42
  354. package/cjs/utils.js.map +1 -1
  355. package/cjs/utils.spec.js +0 -4
  356. package/cjs/utils.spec.js.map +1 -1
  357. package/jest.config.js +5 -3
  358. package/package.json +11 -8
  359. package/src/api.js +17 -2
  360. package/src/auth.js +45 -9
  361. package/src/auth.spec.js +2 -0
  362. package/src/collections/activity.js +4 -4
  363. package/src/collections/adjunct-sections.js +1 -1
  364. package/src/collections/adjunct-slides.js +1 -1
  365. package/src/collections/adjunct-sub-slides.js +1 -1
  366. package/src/collections/appointment-adjunct-tags.js +1 -1
  367. package/src/collections/appointment-deckversion-tags.js +2 -2
  368. package/src/collections/appointment-duplicates.js +1 -1
  369. package/src/collections/appointment-editors.js +1 -1
  370. package/src/collections/appointment-section-tags.js +1 -1
  371. package/src/collections/appointment-slide-tags.js +1 -1
  372. package/src/collections/appointment-tags.js +20 -18
  373. package/src/collections/appointment-templates.js +26 -0
  374. package/src/collections/appointments.js +9 -9
  375. package/src/collections/assets.js +1 -1
  376. package/src/collections/auto-adjuncts.js +1 -1
  377. package/src/collections/base.js +20 -10
  378. package/src/collections/base.spec.js +19 -5
  379. package/src/collections/cms-vals.js +5 -1
  380. package/src/collections/contact-phones.js +18 -0
  381. package/src/collections/contacts.js +1 -1
  382. package/src/collections/created-assets.js +1 -1
  383. package/src/collections/customers.js +1 -1
  384. package/src/collections/deck-notes.js +1 -1
  385. package/src/collections/deck-version-screenshots.js +48 -0
  386. package/src/collections/deck-versions.js +1 -1
  387. package/src/collections/decks.js +1 -1
  388. package/src/collections/deleted-assets.js +1 -1
  389. package/src/collections/dispatches.js +2 -2
  390. package/src/collections/event-objects.js +1 -1
  391. package/src/collections/events.js +1 -1
  392. package/src/collections/groups.js +1 -1
  393. package/src/collections/images.js +1 -1
  394. package/src/collections/locations.js +1 -1
  395. package/src/collections/opportunities.js +1 -1
  396. package/src/collections/pack-diffs.js +1 -1
  397. package/src/collections/packs.js +1 -1
  398. package/src/collections/presets.js +1 -1
  399. package/src/collections/section-selections.js +1 -1
  400. package/src/collections/sections.js +1 -1
  401. package/src/collections/slide-selections.js +1 -1
  402. package/src/collections/slides.js +1 -1
  403. package/src/collections/snapshots.js +1 -1
  404. package/src/collections/sub-slides.js +1 -1
  405. package/src/collections/tags.js +1 -1
  406. package/src/collections/teams.js +1 -1
  407. package/src/collections/templates.js +1 -1
  408. package/src/collections/uploads.js +1 -1
  409. package/src/collections/users.js +1 -1
  410. package/src/collections.js +3 -0
  411. package/src/fixtures.js +193 -0
  412. package/src/models/activity-item.js +3 -1
  413. package/src/models/adjunct-section.js +7 -2
  414. package/src/models/adjunct-slide.js +7 -2
  415. package/src/models/adjunct-sub-slide.js +1 -1
  416. package/src/models/adjunct.js +39 -1
  417. package/src/models/appointment-adjunct-tags.js +1 -1
  418. package/src/models/appointment-deckversion-tags.js +1 -1
  419. package/src/models/appointment-duplicate.js +1 -1
  420. package/src/models/appointment-editor.js +1 -1
  421. package/src/models/appointment-section-tags.js +1 -1
  422. package/src/models/appointment-slide-tags.js +1 -1
  423. package/src/models/appointment-stats.js +1 -1
  424. package/src/models/appointment-tags.js +1 -1
  425. package/src/models/appointment-template.js +19 -0
  426. package/src/models/appointment-viewing.js +1 -1
  427. package/src/models/appointment.js +112 -37
  428. package/src/models/asset.js +15 -1
  429. package/src/models/auto-adjunct-key-check.js +1 -1
  430. package/src/models/auto-adjunct.js +4 -1
  431. package/src/models/base.js +55 -22
  432. package/src/models/base.spec.js +34 -27
  433. package/src/models/choicelist.js +1 -1
  434. package/src/models/cms-val.js +24 -1
  435. package/src/models/cms-val.spec.js +14 -0
  436. package/src/models/contact-phone.js +57 -0
  437. package/src/models/contact.js +1 -1
  438. package/src/models/customer.js +3 -3
  439. package/src/models/deck-note.js +1 -1
  440. package/src/models/deck-tags.js +1 -1
  441. package/src/models/deck-version-screenshot.js +48 -0
  442. package/src/models/deck-version.js +60 -9
  443. package/src/models/deck.js +1 -1
  444. package/src/models/dispatch-preview.js +1 -1
  445. package/src/models/dispatch.js +1 -1
  446. package/src/models/event-object.js +1 -1
  447. package/src/models/event.js +1 -1
  448. package/src/models/feed-data.js +3 -1
  449. package/src/models/file.js +1 -1
  450. package/src/models/group.js +1 -1
  451. package/src/models/handover.js +1 -1
  452. package/src/models/hosted-preso.js +1 -1
  453. package/src/models/image.js +33 -1
  454. package/src/models/location.js +1 -1
  455. package/src/models/manifest-json.js +57 -6
  456. package/src/models/onshare.js +1 -1
  457. package/src/models/opportunity.js +1 -1
  458. package/src/models/pack-diff.js +1 -1
  459. package/src/models/pack.js +1 -1
  460. package/src/models/preset.js +3 -1
  461. package/src/models/refresh-request.js +15 -1
  462. package/src/models/room.js +1 -1
  463. package/src/models/salesforce-lookup.js +1 -1
  464. package/src/models/section-selection.js +1 -1
  465. package/src/models/section.js +3 -1
  466. package/src/models/slide-selection.js +1 -1
  467. package/src/models/slide.js +3 -1
  468. package/src/models/snapshot.js +11 -2
  469. package/src/models/snapshot.spec.js +31 -0
  470. package/src/models/sub-slide.js +1 -1
  471. package/src/models/support-ticket.js +1 -1
  472. package/src/models/tag.js +1 -1
  473. package/src/models/team.js +14 -3
  474. package/src/models/template.js +74 -2
  475. package/src/models/tenancy.js +4 -1
  476. package/src/models/timing-log.js +2 -2
  477. package/src/models/timing-log.spec.js +1 -1
  478. package/src/models/token.js +47 -0
  479. package/src/models/transcribe-socket.js +1 -1
  480. package/src/models/user.js +15 -2
  481. package/src/models.js +4 -0
  482. package/src/presentation/appointment-presentation.js +13 -5
  483. package/src/presentation/base-presentation-collection.js +1 -1
  484. package/src/presentation/base-presentation-model.js +88 -3
  485. package/src/presentation/base-presentation-model.spec.js +80 -3
  486. package/src/presentation/presentation-deck.js +65 -22
  487. package/src/presentation/presentation-deck.spec.js +55 -2
  488. package/src/presentation/presentation-decks.js +1 -1
  489. package/src/presentation/presentation-section.js +91 -31
  490. package/src/presentation/presentation-section.spec.js +142 -10
  491. package/src/presentation/presentation-sections.js +1 -1
  492. package/src/presentation/presentation-slide.js +69 -23
  493. package/src/presentation/presentation-slide.spec.js +105 -9
  494. package/src/presentation/presentation-slides.js +1 -1
  495. package/src/presentation/presentation-subslide.js +5 -5
  496. package/src/presentation/presentation-subslide.spec.js +3 -3
  497. package/src/presentation/presentation-subslides.js +1 -1
  498. package/src/presentation/presentation.js +27 -8
  499. package/src/selections.js +71 -0
  500. package/src/sync.js +1 -1
  501. package/src/utils.js +31 -8
  502. package/src/utils.spec.js +4 -4
@@ -44,7 +44,7 @@ export const DeckTagsModel = BaseModel.extend(
44
44
  this.items = tags;
45
45
  });
46
46
  },
47
- }
47
+ },
48
48
  );
49
49
 
50
50
  DeckTagsModel.canBeEmpty = true;
@@ -0,0 +1,48 @@
1
+ import "./team.js";
2
+
3
+ import { BaseModel } from "./base.js";
4
+ import _ from "lodash";
5
+ import { register } from "../state-register.js";
6
+
7
+ /**
8
+ * @constructor
9
+ * @alias models.DeckVersionScreenshotModel
10
+ * @extends models.BaseModel
11
+ */
12
+ export const DeckVersionScreenshotModel = BaseModel.extend(
13
+ /** @lends models.DeckVersionScreenshotModel# */ {
14
+ modelName: "deckversion-screenshots",
15
+
16
+ urlMatchKeys: {
17
+ "deckversion.id": "number",
18
+ },
19
+
20
+ /**
21
+ * @property {date} created_date
22
+ * @property {date} modified_date
23
+ * @property {string} image_128
24
+ * @property {string} image_256
25
+ * @property {string} image_512
26
+ * @property {string} subject - A url for a screenshotted model (section, slide, etc.)
27
+ */
28
+ props: {
29
+ created_date: "date",
30
+ modified_date: "date",
31
+ image_128: "string",
32
+ image_256: "string",
33
+ image_512: "string",
34
+ subject: "string",
35
+ },
36
+
37
+ children: {
38
+ team: "TeamModel",
39
+ },
40
+
41
+ serialize() {
42
+ const data = BaseModel.prototype.serialize.call(this);
43
+ return _.omit(data, ["url"]);
44
+ },
45
+ },
46
+ );
47
+
48
+ register("DeckVersionScreenshotModel", DeckVersionScreenshotModel);
@@ -1,13 +1,14 @@
1
1
  import "../collections/sections.js";
2
2
  import "../collections/deck-notes.js";
3
- import "../collections/templates.js";
4
3
  import "./pack.js";
5
4
  import "./deck.js";
6
5
  import "./asset.js";
7
6
  import "./manifest-json.js";
8
7
 
9
8
  import { BaseModel } from "./base.js";
9
+ import { DeckVersionScreenshotCollection } from "../collections/deck-version-screenshots.js";
10
10
  import Promise from "bluebird";
11
+ import { TemplateCollection } from "../collections.js";
11
12
  import _ from "lodash";
12
13
  import { register } from "../state-register.js";
13
14
  import superagent from "superagent";
@@ -39,6 +40,7 @@ export const DeckVersionModel = BaseModel.extend(
39
40
  * @property {boolean} has_editable_share_support
40
41
  * @property {string} point_in_time_share_policy
41
42
  * @property {string[]} tags
43
+ * @property {string[]} cmsvalkey_set
42
44
  */
43
45
  props: {
44
46
  image_128: "string",
@@ -59,6 +61,7 @@ export const DeckVersionModel = BaseModel.extend(
59
61
  has_editable_share_support: "boolean",
60
62
  point_in_time_share_policy: "string",
61
63
  tags: "array",
64
+ cmsvalkey_set: "array",
62
65
  },
63
66
 
64
67
  /**
@@ -77,22 +80,50 @@ export const DeckVersionModel = BaseModel.extend(
77
80
  /**
78
81
  * @property {collections.SectionCollection} section_set
79
82
  * @property {models.DeckNoteCollection} note_set
80
- * @property {models.TemplateCollection} template_set
81
83
  */
82
84
  collections: {
83
85
  section_set: "SectionCollection",
84
86
  note_set: "DeckNoteCollection",
85
- template_set: "TemplateCollection",
86
87
  },
87
88
 
88
89
  /**
89
- * @todo This should eventually return a hooks interface
90
- * @returns {object}
90
+ * @property {collections.DeckVersionScreenshotCollection} screenshots
91
91
  */
92
- getHooks() {
92
+ derived: {
93
+ screenshots: {
94
+ deps: ["id"],
95
+ fn: function () {
96
+ const screenshots = new DeckVersionScreenshotCollection(
97
+ {},
98
+ {
99
+ deckversion: this,
100
+ },
101
+ );
102
+ return screenshots;
103
+ },
104
+ },
105
+
106
+ template_set: {
107
+ deps: ["id"],
108
+ fn: function () {
109
+ const templates = new TemplateCollection(
110
+ {},
111
+ {
112
+ data: {
113
+ deckversion: this.id,
114
+ scope: "global",
115
+ },
116
+ },
117
+ );
118
+ return templates;
119
+ },
120
+ },
121
+ },
122
+
123
+ getHooksPath() {
93
124
  if (this.isNew()) {
94
125
  throw new Error(
95
- "Can only get hooks from a fetched deckversion or at least have an ID"
126
+ "Can only get hooks from a fetched deckversion or at least have an ID",
96
127
  );
97
128
  }
98
129
 
@@ -117,8 +148,17 @@ export const DeckVersionModel = BaseModel.extend(
117
148
  if (!this.manifest_json.hooks) {
118
149
  throw new Error("Manifest does not contain a hooks entry");
119
150
  }
120
- const hooksPath = `${rootAssetUrl}${this.manifest_json.hooks}`;
151
+ return `${rootAssetUrl}${this.manifest_json.hooks}`;
152
+ });
153
+ },
121
154
 
155
+ /**
156
+ * @todo This should eventually return a hooks interface
157
+ * @returns {object}
158
+ */
159
+ getHooks() {
160
+ return this.getHooksPath()
161
+ .then((hooksPath) => {
122
162
  return SystemJS.import(hooksPath);
123
163
  })
124
164
  .then((hooks) => {
@@ -152,6 +192,17 @@ export const DeckVersionModel = BaseModel.extend(
152
192
  return Promise.all(imports);
153
193
  },
154
194
 
195
+ fetch() {
196
+ const fetch = BaseModel.prototype.fetch.apply(this, arguments);
197
+
198
+ return Promise.resolve(fetch).tap(() => {
199
+ // `template_set` used to come on the deckversion response, but we have since
200
+ // decided to request it separately (this helps with caching). To keep the app
201
+ // working with minimal changes, we're making the extra request here.
202
+ return this.template_set.fetch();
203
+ });
204
+ },
205
+
155
206
  waitForReady() {
156
207
  return this.fetch().then(() => {
157
208
  if (["created", "failed"].indexOf(this.creation_status) > -1) {
@@ -178,7 +229,7 @@ export const DeckVersionModel = BaseModel.extend(
178
229
  upgrade_description: this.upgrade_description,
179
230
  };
180
231
  },
181
- }
232
+ },
182
233
  );
183
234
 
184
235
  register("DeckVersionModel", DeckVersionModel);
@@ -56,7 +56,7 @@ export const DeckModel = BaseModel.extend(
56
56
  head_version: "DeckVersionModel",
57
57
  tags: "DeckTagsModel",
58
58
  },
59
- }
59
+ },
60
60
  );
61
61
 
62
62
  register("DeckModel", DeckModel);
@@ -28,7 +28,7 @@ export const DispatchPreviewModel = BaseModel.extend(
28
28
  throw e;
29
29
  });
30
30
  },
31
- }
31
+ },
32
32
  );
33
33
 
34
34
  register("DispatchPreviewModel", DispatchPreviewModel);
@@ -105,7 +105,7 @@ export const DispatchModel = BaseModel.extend(
105
105
 
106
106
  return data;
107
107
  },
108
- }
108
+ },
109
109
  );
110
110
 
111
111
  register("DispatchModel", DispatchModel);
@@ -33,7 +33,7 @@ export const EventObjectModel = BaseModel.extend(
33
33
  children: {
34
34
  event: "EventModel",
35
35
  },
36
- }
36
+ },
37
37
  );
38
38
 
39
39
  register("EventObjectModel", EventObjectModel);
@@ -41,7 +41,7 @@ export const EventModel = BaseModel.extend(
41
41
  collections: {
42
42
  eventobject_set: "EventObjectCollection",
43
43
  },
44
- }
44
+ },
45
45
  );
46
46
 
47
47
  register("EventModel", EventModel);
@@ -14,10 +14,12 @@ export const FeedDataModel = BaseModel.extend(
14
14
 
15
15
  /**
16
16
  * @property {object} feed_data
17
+ * @property {object} feed_debug
17
18
  * @property {string} creation_status
18
19
  */
19
20
  props: {
20
21
  feed_data: "object",
22
+ feed_debug: { type: "object", default: () => {} },
21
23
  creation_status: "string",
22
24
  },
23
25
 
@@ -40,7 +42,7 @@ export const FeedDataModel = BaseModel.extend(
40
42
 
41
43
  return data;
42
44
  },
43
- }
45
+ },
44
46
  );
45
47
 
46
48
  register("FeedDataModel", FeedDataModel);
@@ -31,7 +31,7 @@ export const FileModel = BaseModel.extend(
31
31
  children: {
32
32
  event: "UserModel",
33
33
  },
34
- }
34
+ },
35
35
  );
36
36
 
37
37
  register("FileModel", FileModel);
@@ -24,7 +24,7 @@ export const GroupModel = BaseModel.extend(
24
24
  const urlRoot = Api.getURL();
25
25
  return `${urlRoot}groups/`;
26
26
  },
27
- }
27
+ },
28
28
  );
29
29
 
30
30
  register("GroupModel", GroupModel);
@@ -46,7 +46,7 @@ export const HandoverModel = BaseModel.extend(
46
46
 
47
47
  return data;
48
48
  },
49
- }
49
+ },
50
50
  );
51
51
 
52
52
  register("HandoverModel", HandoverModel);
@@ -44,7 +44,7 @@ export const HostedPresoModel = BaseModel.extend(
44
44
  collections: {
45
45
  user_set: "UserCollection",
46
46
  },
47
- }
47
+ },
48
48
  );
49
49
 
50
50
  register("HostedPresoModel", HostedPresoModel);
@@ -1,6 +1,8 @@
1
1
  import "./user.js";
2
2
 
3
+ import { Auth } from "../auth.js";
3
4
  import { BaseModel } from "./base.js";
5
+ import SuperAgentRequest from "superagent-bluebird-promise";
4
6
  import { register } from "../state-register.js";
5
7
 
6
8
  /**
@@ -37,7 +39,37 @@ export const ImageModel = BaseModel.extend(
37
39
  children: {
38
40
  event: "UserModel",
39
41
  },
40
- }
42
+ uploadBase64(data) {
43
+ // mime will be in the format "image/png;base64"
44
+ const fileType = data.mime.split(";")[0];
45
+ const fileEnd = fileType.split("/")[1];
46
+
47
+ return fetch(data.value)
48
+ .then((res) => {
49
+ return res.blob();
50
+ })
51
+ .then((blob) => {
52
+ const file = new File([blob], `image.${fileEnd}`, { type: fileType });
53
+ const formData = new FormData();
54
+ formData.append("image_original", file);
55
+
56
+ return this.uploadFile(file);
57
+ });
58
+ },
59
+ uploadFile(file) {
60
+ const formData = new FormData();
61
+ formData.append("image_original", file);
62
+
63
+ return SuperAgentRequest.post(this.url())
64
+ .send(formData)
65
+ .set(Auth.headers)
66
+ .then((response) => {
67
+ Object.keys(response.body).forEach((key) => {
68
+ this.set(key, response.body[key]);
69
+ });
70
+ });
71
+ },
72
+ },
41
73
  );
42
74
 
43
75
  register("ImageModel", ImageModel);
@@ -57,7 +57,7 @@ export const LocationModel = BaseModel.extend(
57
57
  collections: {
58
58
  contact_set: "ContactCollection",
59
59
  },
60
- }
60
+ },
61
61
  );
62
62
 
63
63
  register("LocationModel", LocationModel);
@@ -57,7 +57,8 @@ export const ManifestJSONModel = BaseModel.extend(
57
57
  },
58
58
  },
59
59
  dimensions: {
60
- type: "object",
60
+ // This could be a list or an object
61
+ type: "any",
61
62
  default: function () {
62
63
  return {
63
64
  width: 1024,
@@ -107,6 +108,45 @@ export const ManifestJSONModel = BaseModel.extend(
107
108
  },
108
109
  },
109
110
 
111
+ derived: {
112
+ // Most places just need this value, and making it derived
113
+ // gives us lower overhead (when we convert with .toJSON() it will
114
+ // also include this value, and means we don't have to convert back to
115
+ // a model just to get this again.)
116
+ screenDimensions: {
117
+ deps: ["dimensions"],
118
+ fn: function () {
119
+ return this.getScreenDimensions();
120
+ },
121
+ },
122
+ },
123
+
124
+ getDimensionsByName(name) {
125
+ if (Array.isArray(this.dimensions)) {
126
+ const dimension = this.dimensions.find(
127
+ (d) => d.name.toLowerCase() === name.toLowerCase(),
128
+ );
129
+ if (!dimension) {
130
+ return { width: 1024, height: 767 };
131
+ }
132
+ return { width: dimension.width, height: dimension.height };
133
+ }
134
+ return this.dimensions;
135
+ },
136
+
137
+ getScreenDimensions() {
138
+ return this.getDimensionsByName("screen");
139
+ },
140
+
141
+ getPDFDimensions() {
142
+ if (Array.isArray(this.dimensions)) {
143
+ const defaultPDFDimensions =
144
+ this.pdfpreferences?.defaultDimensions || "screen";
145
+ return this.getDimensionsByName(defaultPDFDimensions);
146
+ }
147
+ return this.dimensions;
148
+ },
149
+
110
150
  /**
111
151
  * Returns the path to a manifest asset, using its url as the base.
112
152
  * @param {?string} key
@@ -117,7 +157,7 @@ export const ManifestJSONModel = BaseModel.extend(
117
157
  const [sectionKey, slideKey = null] = key.split("/");
118
158
  const sectionKeyPath = url2.resolve(
119
159
  this.url(),
120
- `sections/${sectionKey}/`
160
+ `sections/${sectionKey}/`,
121
161
  );
122
162
  if (slideKey) {
123
163
  return url2.resolve(sectionKeyPath, `slides/${slideKey}/`);
@@ -144,7 +184,7 @@ export const ManifestJSONModel = BaseModel.extend(
144
184
 
145
185
  return BaseModel.prototype.url.call(this);
146
186
  },
147
- }
187
+ },
148
188
  );
149
189
 
150
190
  /**
@@ -204,7 +244,7 @@ ManifestJSONModel.createFromProject = function (projectFile) {
204
244
  };
205
245
  return templates;
206
246
  },
207
- {}
247
+ {},
208
248
  );
209
249
 
210
250
  const limits = {
@@ -278,7 +318,18 @@ ManifestJSONModel.createFromProject = function (projectFile) {
278
318
  }
279
319
 
280
320
  if (projectFile.dimensions) {
281
- manifest.dimensions = projectFile.dimensions;
321
+ const { dimensions } = projectFile;
322
+
323
+ if (Array.isArray(dimensions)) {
324
+ const screen = dimensions.filter((d) => d.name === "Screen");
325
+ if (!screen.length || screen.length > 1) {
326
+ throw new Error(
327
+ "Dimensions must contain one value named 'Screen' in project.yaml",
328
+ );
329
+ }
330
+ }
331
+
332
+ manifest.dimensions = dimensions;
282
333
  }
283
334
 
284
335
  if (projectFile.has_editable_share_support) {
@@ -311,7 +362,7 @@ ManifestJSONModel.createFromProject = function (projectFile) {
311
362
  // This means we validate that a fieldset field has a value. Before
312
363
  // this change, it was possible to save with a required field unfilled.
313
364
  // This just keeps backwards compatability.
314
- manifest.app_settings.fieldsets.enforce_required = true;
365
+ manifest.app_settings.fieldsets.enforce_required = false;
315
366
 
316
367
  return manifest;
317
368
  };
@@ -50,7 +50,7 @@ export const OnShareModel = BaseModel.extend(
50
50
 
51
51
  return data;
52
52
  },
53
- }
53
+ },
54
54
  );
55
55
 
56
56
  register("OnShareModel", OnShareModel);
@@ -47,7 +47,7 @@ export const OpportunityModel = BaseModel.extend(
47
47
  children: {
48
48
  customer: "CustomerModel",
49
49
  },
50
- }
50
+ },
51
51
  );
52
52
 
53
53
  register("OpportunityModel", OpportunityModel);
@@ -55,7 +55,7 @@ export const PackDiffModel = BaseModel.extend(
55
55
 
56
56
  return data;
57
57
  },
58
- }
58
+ },
59
59
  );
60
60
 
61
61
  register("PackDiffModel", PackDiffModel);
@@ -38,7 +38,7 @@ export const PackModel = BaseModel.extend(
38
38
  }
39
39
  return `${this.urlRoot()}empty/`;
40
40
  },
41
- }
41
+ },
42
42
  );
43
43
 
44
44
  register("PackModel", PackModel);
@@ -20,6 +20,7 @@ export const PresetModel = BaseModel.extend(
20
20
  * @property {date} created_date
21
21
  * @property {date} modified_date
22
22
  * @property {string} name
23
+ * @property {string} hash_id
23
24
  */
24
25
  props: {
25
26
  scope: "string",
@@ -28,6 +29,7 @@ export const PresetModel = BaseModel.extend(
28
29
  modified_date: "date",
29
30
  name: "stringSanitized",
30
31
  context: "object",
32
+ hash_id: "string",
31
33
  },
32
34
 
33
35
  /**
@@ -71,7 +73,7 @@ export const PresetModel = BaseModel.extend(
71
73
 
72
74
  return data;
73
75
  },
74
- }
76
+ },
75
77
  );
76
78
 
77
79
  PresetModel.USER_VISIBILITY = "__user__";
@@ -25,6 +25,20 @@ export const RefreshRequestModel = BaseModel.extend(
25
25
  user: "UserModel",
26
26
  },
27
27
 
28
+ waitForReady(opts = {}, attempts = 20) {
29
+ if (attempts === 0) {
30
+ return Promise.reject();
31
+ }
32
+ return this.fetch(opts).then(() => {
33
+ if (["ready", "failed"].indexOf(this.creation_status) > -1) {
34
+ return Promise.resolve();
35
+ }
36
+ return Promise.delay(1000).then(() =>
37
+ this.waitForReady(opts, attempts - 1),
38
+ );
39
+ });
40
+ },
41
+
28
42
  toServer() {
29
43
  if (this.isNew()) {
30
44
  return {
@@ -37,7 +51,7 @@ export const RefreshRequestModel = BaseModel.extend(
37
51
  url: this.url(),
38
52
  };
39
53
  },
40
- }
54
+ },
41
55
  );
42
56
 
43
57
  register("RefreshRequestModel", RefreshRequestModel);
@@ -38,7 +38,7 @@ export const RoomModel = BaseModel.extend(
38
38
  wamp_version: "string",
39
39
  websocket_server_uri: "string",
40
40
  },
41
- }
41
+ },
42
42
  );
43
43
 
44
44
  register("RoomModel", RoomModel);
@@ -24,7 +24,7 @@ export const SalesforceLookupModel = BaseModel.extend(
24
24
  customers: "CustomerCollection",
25
25
  opportunities: "OpportunityCollection",
26
26
  },
27
- }
27
+ },
28
28
  );
29
29
 
30
30
  register("SaleforceLookupModel", SalesforceLookupModel);
@@ -50,7 +50,7 @@ export const SectionSelectionModel = BaseModel.extend(
50
50
 
51
51
  return data;
52
52
  },
53
- }
53
+ },
54
54
  );
55
55
 
56
56
  register("SectionSelectionModel", SectionSelectionModel);
@@ -34,6 +34,7 @@ export const SectionModel = BaseModel.extend(
34
34
  * @property {string} title
35
35
  * @property {boolean} uploaded
36
36
  * @property {boolean} visible
37
+ * @property {string[]} cmsvalkey_set
37
38
  */
38
39
  props: {
39
40
  adjunctslide_limit: "number",
@@ -62,6 +63,7 @@ export const SectionModel = BaseModel.extend(
62
63
  type: "array",
63
64
  default: () => [],
64
65
  },
66
+ cmsvalkey_set: "array",
65
67
  },
66
68
 
67
69
  /**
@@ -79,7 +81,7 @@ export const SectionModel = BaseModel.extend(
79
81
  collections: {
80
82
  slide_set: "SlideCollection",
81
83
  },
82
- }
84
+ },
83
85
  );
84
86
 
85
87
  register("SectionModel", SectionModel);
@@ -50,7 +50,7 @@ export const SlideSelectionModel = BaseModel.extend(
50
50
 
51
51
  return data;
52
52
  },
53
- }
53
+ },
54
54
  );
55
55
 
56
56
  register("SlideSelectionModel", SlideSelectionModel);
@@ -35,6 +35,7 @@ export const SlideModel = BaseModel.extend(
35
35
  * @property {boolean} uploaded
36
36
  * @property {boolean} visible
37
37
  * @property {array} tags
38
+ * @property {string[]} cmsvalkey_set
38
39
  */
39
40
  props: {
40
41
  adjunctslide_limit: "number",
@@ -63,6 +64,7 @@ export const SlideModel = BaseModel.extend(
63
64
  type: "array",
64
65
  default: () => [],
65
66
  },
67
+ cmsvalkey_set: "array",
66
68
  },
67
69
 
68
70
  /**
@@ -80,7 +82,7 @@ export const SlideModel = BaseModel.extend(
80
82
  collections: {
81
83
  subslide_set: "SubSlideCollection",
82
84
  },
83
- }
85
+ },
84
86
  );
85
87
 
86
88
  register("SlideModel", SlideModel);