@livepreso/api 6.45.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 (478) hide show
  1. package/.rush/temp/1aebf46f78ad5c45f82f8147751890adb37bef9d.log +10 -0
  2. package/.rush/temp/3cdc82c352e8ed90607952873f3aa4c200490874.log +10 -0
  3. package/.rush/temp/5489ab737e406518983c16c57fc3e1edc07c0341.log +10 -0
  4. package/.rush/temp/924652444ab5a6063f328a2217123a2227058896.log +10 -0
  5. package/.rush/temp/9f2030f96d62f3e38052e35201819a216566f14f.log +10 -0
  6. package/.rush/temp/operation/test/all.log +19 -0
  7. package/.rush/temp/operation/test/state.json +3 -0
  8. package/.rush/temp/shrinkwrap-deps.json +563 -546
  9. package/CHANGELOG.json +12 -0
  10. package/CHANGELOG.md +8 -1
  11. package/README.md +4 -4
  12. package/api.build.log +2 -4
  13. package/api.test.cache.log +1 -0
  14. package/api.test.log +19 -0
  15. package/cjs/api.js +18 -17
  16. package/cjs/api.js.map +1 -1
  17. package/cjs/api.spec.js +0 -4
  18. package/cjs/api.spec.js.map +1 -1
  19. package/cjs/auth.js +5 -32
  20. package/cjs/auth.js.map +1 -1
  21. package/cjs/auth.spec.js +52 -77
  22. package/cjs/auth.spec.js.map +1 -1
  23. package/cjs/caching.js +2 -7
  24. package/cjs/caching.js.map +1 -1
  25. package/cjs/collections/activity.js +16 -56
  26. package/cjs/collections/activity.js.map +1 -1
  27. package/cjs/collections/adjunct-sections.js +1 -10
  28. package/cjs/collections/adjunct-sections.js.map +1 -1
  29. package/cjs/collections/adjunct-slides.js +1 -10
  30. package/cjs/collections/adjunct-slides.js.map +1 -1
  31. package/cjs/collections/adjunct-sub-slides.js +1 -9
  32. package/cjs/collections/adjunct-sub-slides.js.map +1 -1
  33. package/cjs/collections/appointment-adjunct-tags.js +1 -9
  34. package/cjs/collections/appointment-adjunct-tags.js.map +1 -1
  35. package/cjs/collections/appointment-deckversion-tags.js +1 -9
  36. package/cjs/collections/appointment-deckversion-tags.js.map +1 -1
  37. package/cjs/collections/appointment-duplicates.js +1 -9
  38. package/cjs/collections/appointment-duplicates.js.map +1 -1
  39. package/cjs/collections/appointment-editors.js +1 -10
  40. package/cjs/collections/appointment-editors.js.map +1 -1
  41. package/cjs/collections/appointment-section-tags.js +1 -9
  42. package/cjs/collections/appointment-section-tags.js.map +1 -1
  43. package/cjs/collections/appointment-slide-tags.js +1 -9
  44. package/cjs/collections/appointment-slide-tags.js.map +1 -1
  45. package/cjs/collections/appointment-tags.js +66 -103
  46. package/cjs/collections/appointment-tags.js.map +1 -1
  47. package/cjs/collections/appointment-templates.js +27 -0
  48. package/cjs/collections/appointment-templates.js.map +1 -0
  49. package/cjs/collections/appointments.js +9 -29
  50. package/cjs/collections/appointments.js.map +1 -1
  51. package/cjs/collections/assets.js +1 -9
  52. package/cjs/collections/assets.js.map +1 -1
  53. package/cjs/collections/auto-adjuncts.js +6 -21
  54. package/cjs/collections/auto-adjuncts.js.map +1 -1
  55. package/cjs/collections/base.js +37 -111
  56. package/cjs/collections/base.js.map +1 -1
  57. package/cjs/collections/base.spec.js +186 -233
  58. package/cjs/collections/base.spec.js.map +1 -1
  59. package/cjs/collections/cms-vals.js +9 -16
  60. package/cjs/collections/cms-vals.js.map +1 -1
  61. package/cjs/collections/contact-phones.js +20 -0
  62. package/cjs/collections/contact-phones.js.map +1 -0
  63. package/cjs/collections/contacts.js +1 -9
  64. package/cjs/collections/contacts.js.map +1 -1
  65. package/cjs/collections/created-assets.js +1 -10
  66. package/cjs/collections/created-assets.js.map +1 -1
  67. package/cjs/collections/customers.js +1 -9
  68. package/cjs/collections/customers.js.map +1 -1
  69. package/cjs/collections/deck-notes.js +1 -10
  70. package/cjs/collections/deck-notes.js.map +1 -1
  71. package/cjs/collections/deck-version-screenshots.js +4 -17
  72. package/cjs/collections/deck-version-screenshots.js.map +1 -1
  73. package/cjs/collections/deck-versions.js +5 -20
  74. package/cjs/collections/deck-versions.js.map +1 -1
  75. package/cjs/collections/decks.js +1 -9
  76. package/cjs/collections/decks.js.map +1 -1
  77. package/cjs/collections/deleted-assets.js +1 -10
  78. package/cjs/collections/deleted-assets.js.map +1 -1
  79. package/cjs/collections/dispatches.js +1 -13
  80. package/cjs/collections/dispatches.js.map +1 -1
  81. package/cjs/collections/event-objects.js +1 -9
  82. package/cjs/collections/event-objects.js.map +1 -1
  83. package/cjs/collections/events.js +1 -9
  84. package/cjs/collections/events.js.map +1 -1
  85. package/cjs/collections/groups.js +1 -9
  86. package/cjs/collections/groups.js.map +1 -1
  87. package/cjs/collections/images.js +1 -9
  88. package/cjs/collections/images.js.map +1 -1
  89. package/cjs/collections/locations.js +1 -9
  90. package/cjs/collections/locations.js.map +1 -1
  91. package/cjs/collections/opportunities.js +1 -9
  92. package/cjs/collections/opportunities.js.map +1 -1
  93. package/cjs/collections/pack-diffs.js +1 -9
  94. package/cjs/collections/pack-diffs.js.map +1 -1
  95. package/cjs/collections/packs.js +1 -9
  96. package/cjs/collections/packs.js.map +1 -1
  97. package/cjs/collections/presets.js +1 -9
  98. package/cjs/collections/presets.js.map +1 -1
  99. package/cjs/collections/section-selections.js +1 -9
  100. package/cjs/collections/section-selections.js.map +1 -1
  101. package/cjs/collections/sections.js +1 -9
  102. package/cjs/collections/sections.js.map +1 -1
  103. package/cjs/collections/slide-selections.js +1 -9
  104. package/cjs/collections/slide-selections.js.map +1 -1
  105. package/cjs/collections/slides.js +1 -9
  106. package/cjs/collections/slides.js.map +1 -1
  107. package/cjs/collections/snapshots.js +1 -9
  108. package/cjs/collections/snapshots.js.map +1 -1
  109. package/cjs/collections/sub-slides.js +1 -9
  110. package/cjs/collections/sub-slides.js.map +1 -1
  111. package/cjs/collections/tags.js +1 -9
  112. package/cjs/collections/tags.js.map +1 -1
  113. package/cjs/collections/teams.js +1 -9
  114. package/cjs/collections/teams.js.map +1 -1
  115. package/cjs/collections/templates.js +1 -9
  116. package/cjs/collections/templates.js.map +1 -1
  117. package/cjs/collections/uploads.js +1 -9
  118. package/cjs/collections/uploads.js.map +1 -1
  119. package/cjs/collections/users.js +1 -9
  120. package/cjs/collections/users.js.map +1 -1
  121. package/cjs/collections.js +22 -88
  122. package/cjs/collections.js.map +1 -1
  123. package/cjs/fixtures.js +187 -0
  124. package/cjs/fixtures.js.map +1 -0
  125. package/cjs/index.js +0 -10
  126. package/cjs/index.js.map +1 -1
  127. package/cjs/log.js +0 -1
  128. package/cjs/log.js.map +1 -1
  129. package/cjs/middleware.js +2 -7
  130. package/cjs/middleware.js.map +1 -1
  131. package/cjs/middlewares/auth.js +1 -17
  132. package/cjs/middlewares/auth.js.map +1 -1
  133. package/cjs/middlewares/base.js +3 -9
  134. package/cjs/middlewares/base.js.map +1 -1
  135. package/cjs/middlewares/json.js +1 -19
  136. package/cjs/middlewares/json.js.map +1 -1
  137. package/cjs/middlewares/redirect.js +5 -21
  138. package/cjs/middlewares/redirect.js.map +1 -1
  139. package/cjs/models/activity-item.js +3 -19
  140. package/cjs/models/activity-item.js.map +1 -1
  141. package/cjs/models/adjunct-section.js +8 -21
  142. package/cjs/models/adjunct-section.js.map +1 -1
  143. package/cjs/models/adjunct-slide.js +8 -21
  144. package/cjs/models/adjunct-slide.js.map +1 -1
  145. package/cjs/models/adjunct-sub-slide.js +1 -16
  146. package/cjs/models/adjunct-sub-slide.js.map +1 -1
  147. package/cjs/models/adjunct.js +34 -10
  148. package/cjs/models/adjunct.js.map +1 -1
  149. package/cjs/models/api.js +1 -6
  150. package/cjs/models/api.js.map +1 -1
  151. package/cjs/models/appointment-adjunct-tags.js +1 -13
  152. package/cjs/models/appointment-adjunct-tags.js.map +1 -1
  153. package/cjs/models/appointment-deckversion-tags.js +1 -13
  154. package/cjs/models/appointment-deckversion-tags.js.map +1 -1
  155. package/cjs/models/appointment-duplicate.js +3 -25
  156. package/cjs/models/appointment-duplicate.js.map +1 -1
  157. package/cjs/models/appointment-editor.js +1 -14
  158. package/cjs/models/appointment-editor.js.map +1 -1
  159. package/cjs/models/appointment-section-tags.js +1 -13
  160. package/cjs/models/appointment-section-tags.js.map +1 -1
  161. package/cjs/models/appointment-slide-tags.js +1 -13
  162. package/cjs/models/appointment-slide-tags.js.map +1 -1
  163. package/cjs/models/appointment-stats.js +1 -11
  164. package/cjs/models/appointment-stats.js.map +1 -1
  165. package/cjs/models/appointment-tags.js +1 -10
  166. package/cjs/models/appointment-tags.js.map +1 -1
  167. package/cjs/models/appointment-template.js +23 -0
  168. package/cjs/models/appointment-template.js.map +1 -0
  169. package/cjs/models/appointment-viewing.js +1 -8
  170. package/cjs/models/appointment-viewing.js.map +1 -1
  171. package/cjs/models/appointment.js +85 -70
  172. package/cjs/models/appointment.js.map +1 -1
  173. package/cjs/models/asset.js +12 -11
  174. package/cjs/models/asset.js.map +1 -1
  175. package/cjs/models/auto-adjunct-key-check.js +1 -15
  176. package/cjs/models/auto-adjunct-key-check.js.map +1 -1
  177. package/cjs/models/auto-adjunct.js +3 -14
  178. package/cjs/models/auto-adjunct.js.map +1 -1
  179. package/cjs/models/base.js +74 -176
  180. package/cjs/models/base.js.map +1 -1
  181. package/cjs/models/base.spec.js +0 -31
  182. package/cjs/models/base.spec.js.map +1 -1
  183. package/cjs/models/choicelist.js +1 -8
  184. package/cjs/models/choicelist.js.map +1 -1
  185. package/cjs/models/cms-val.js +28 -15
  186. package/cjs/models/cms-val.js.map +1 -1
  187. package/cjs/models/cms-val.spec.js +25 -0
  188. package/cjs/models/cms-val.spec.js.map +1 -0
  189. package/cjs/models/contact-phone.js +54 -0
  190. package/cjs/models/contact-phone.js.map +1 -0
  191. package/cjs/models/contact.js +1 -18
  192. package/cjs/models/contact.js.map +1 -1
  193. package/cjs/models/customer.js +5 -30
  194. package/cjs/models/customer.js.map +1 -1
  195. package/cjs/models/deck-note.js +1 -9
  196. package/cjs/models/deck-note.js.map +1 -1
  197. package/cjs/models/deck-tags.js +1 -12
  198. package/cjs/models/deck-tags.js.map +1 -1
  199. package/cjs/models/deck-version-screenshot.js +1 -13
  200. package/cjs/models/deck-version-screenshot.js.map +1 -1
  201. package/cjs/models/deck-version.js +28 -44
  202. package/cjs/models/deck-version.js.map +1 -1
  203. package/cjs/models/deck.js +1 -14
  204. package/cjs/models/deck.js.map +1 -1
  205. package/cjs/models/dispatch-preview.js +1 -13
  206. package/cjs/models/dispatch-preview.js.map +1 -1
  207. package/cjs/models/dispatch.js +1 -23
  208. package/cjs/models/dispatch.js.map +1 -1
  209. package/cjs/models/envs.js +1 -6
  210. package/cjs/models/envs.js.map +1 -1
  211. package/cjs/models/event-object.js +1 -11
  212. package/cjs/models/event-object.js.map +1 -1
  213. package/cjs/models/event.js +1 -13
  214. package/cjs/models/event.js.map +1 -1
  215. package/cjs/models/feed-data.js +1 -13
  216. package/cjs/models/feed-data.js.map +1 -1
  217. package/cjs/models/file.js +1 -11
  218. package/cjs/models/file.js.map +1 -1
  219. package/cjs/models/group.js +1 -11
  220. package/cjs/models/group.js.map +1 -1
  221. package/cjs/models/handover.js +1 -13
  222. package/cjs/models/handover.js.map +1 -1
  223. package/cjs/models/hosted-preso.js +1 -15
  224. package/cjs/models/hosted-preso.js.map +1 -1
  225. package/cjs/models/image.js +1 -16
  226. package/cjs/models/image.js.map +1 -1
  227. package/cjs/models/location.js +1 -13
  228. package/cjs/models/location.js.map +1 -1
  229. package/cjs/models/manifest-json.js +74 -73
  230. package/cjs/models/manifest-json.js.map +1 -1
  231. package/cjs/models/onshare.js +1 -14
  232. package/cjs/models/onshare.js.map +1 -1
  233. package/cjs/models/opportunity.js +1 -14
  234. package/cjs/models/opportunity.js.map +1 -1
  235. package/cjs/models/pack-diff.js +1 -14
  236. package/cjs/models/pack-diff.js.map +1 -1
  237. package/cjs/models/pack.js +1 -12
  238. package/cjs/models/pack.js.map +1 -1
  239. package/cjs/models/preset.js +4 -20
  240. package/cjs/models/preset.js.map +1 -1
  241. package/cjs/models/refresh-request.js +17 -11
  242. package/cjs/models/refresh-request.js.map +1 -1
  243. package/cjs/models/room.js +1 -9
  244. package/cjs/models/room.js.map +1 -1
  245. package/cjs/models/salesforce-lookup.js +1 -12
  246. package/cjs/models/salesforce-lookup.js.map +1 -1
  247. package/cjs/models/section-selection.js +1 -14
  248. package/cjs/models/section-selection.js.map +1 -1
  249. package/cjs/models/section.js +1 -14
  250. package/cjs/models/section.js.map +1 -1
  251. package/cjs/models/slide-selection.js +1 -14
  252. package/cjs/models/slide-selection.js.map +1 -1
  253. package/cjs/models/slide.js +1 -14
  254. package/cjs/models/slide.js.map +1 -1
  255. package/cjs/models/snapshot.js +13 -15
  256. package/cjs/models/snapshot.js.map +1 -1
  257. package/cjs/models/snapshot.spec.js +44 -0
  258. package/cjs/models/snapshot.spec.js.map +1 -0
  259. package/cjs/models/sub-slide.js +1 -12
  260. package/cjs/models/sub-slide.js.map +1 -1
  261. package/cjs/models/support-ticket.js +1 -11
  262. package/cjs/models/support-ticket.js.map +1 -1
  263. package/cjs/models/tag.js +1 -13
  264. package/cjs/models/tag.js.map +1 -1
  265. package/cjs/models/team.js +14 -13
  266. package/cjs/models/team.js.map +1 -1
  267. package/cjs/models/template.js +87 -15
  268. package/cjs/models/template.js.map +1 -1
  269. package/cjs/models/tenancy.js +4 -11
  270. package/cjs/models/tenancy.js.map +1 -1
  271. package/cjs/models/timing-log.js +21 -78
  272. package/cjs/models/timing-log.js.map +1 -1
  273. package/cjs/models/timing-log.spec.js +24 -37
  274. package/cjs/models/timing-log.spec.js.map +1 -1
  275. package/cjs/models/token.js +1 -11
  276. package/cjs/models/token.js.map +1 -1
  277. package/cjs/models/transcribe-socket.js +1 -8
  278. package/cjs/models/transcribe-socket.js.map +1 -1
  279. package/cjs/models/upload.js +1 -7
  280. package/cjs/models/upload.js.map +1 -1
  281. package/cjs/models/user.js +10 -28
  282. package/cjs/models/user.js.map +1 -1
  283. package/cjs/models/user.spec.js +20 -30
  284. package/cjs/models/user.spec.js.map +1 -1
  285. package/cjs/models.js +22 -132
  286. package/cjs/models.js.map +1 -1
  287. package/cjs/presentation/appointment-presentation.js +9 -35
  288. package/cjs/presentation/appointment-presentation.js.map +1 -1
  289. package/cjs/presentation/base-presentation-collection.js +1 -7
  290. package/cjs/presentation/base-presentation-collection.js.map +1 -1
  291. package/cjs/presentation/base-presentation-model.js +40 -74
  292. package/cjs/presentation/base-presentation-model.js.map +1 -1
  293. package/cjs/presentation/base-presentation-model.spec.js +6 -27
  294. package/cjs/presentation/base-presentation-model.spec.js.map +1 -1
  295. package/cjs/presentation/presentation-deck.js +46 -83
  296. package/cjs/presentation/presentation-deck.js.map +1 -1
  297. package/cjs/presentation/presentation-deck.spec.js +72 -95
  298. package/cjs/presentation/presentation-deck.spec.js.map +1 -1
  299. package/cjs/presentation/presentation-decks.js +1 -9
  300. package/cjs/presentation/presentation-decks.js.map +1 -1
  301. package/cjs/presentation/presentation-section.js +37 -77
  302. package/cjs/presentation/presentation-section.js.map +1 -1
  303. package/cjs/presentation/presentation-section.spec.js +211 -271
  304. package/cjs/presentation/presentation-section.spec.js.map +1 -1
  305. package/cjs/presentation/presentation-sections.js +1 -9
  306. package/cjs/presentation/presentation-sections.js.map +1 -1
  307. package/cjs/presentation/presentation-slide.js +49 -76
  308. package/cjs/presentation/presentation-slide.js.map +1 -1
  309. package/cjs/presentation/presentation-slide.spec.js +145 -192
  310. package/cjs/presentation/presentation-slide.spec.js.map +1 -1
  311. package/cjs/presentation/presentation-slides.js +1 -9
  312. package/cjs/presentation/presentation-slides.js.map +1 -1
  313. package/cjs/presentation/presentation-subslide.js +3 -23
  314. package/cjs/presentation/presentation-subslide.js.map +1 -1
  315. package/cjs/presentation/presentation-subslide.spec.js +101 -125
  316. package/cjs/presentation/presentation-subslide.spec.js.map +1 -1
  317. package/cjs/presentation/presentation-subslides.js +1 -9
  318. package/cjs/presentation/presentation-subslides.js.map +1 -1
  319. package/cjs/presentation/presentation.js +62 -111
  320. package/cjs/presentation/presentation.js.map +1 -1
  321. package/cjs/presentation.js +0 -20
  322. package/cjs/presentation.js.map +1 -1
  323. package/cjs/selections.js +81 -0
  324. package/cjs/selections.js.map +1 -0
  325. package/cjs/state-register.js +3 -11
  326. package/cjs/state-register.js.map +1 -1
  327. package/cjs/sync.js +32 -76
  328. package/cjs/sync.js.map +1 -1
  329. package/cjs/utils.js +51 -42
  330. package/cjs/utils.js.map +1 -1
  331. package/cjs/utils.spec.js +0 -4
  332. package/cjs/utils.spec.js.map +1 -1
  333. package/jest.config.js +4 -3
  334. package/package.json +9 -6
  335. package/src/api.js +17 -2
  336. package/src/auth.js +3 -3
  337. package/src/collections/activity.js +4 -4
  338. package/src/collections/adjunct-sections.js +1 -1
  339. package/src/collections/adjunct-slides.js +1 -1
  340. package/src/collections/adjunct-sub-slides.js +1 -1
  341. package/src/collections/appointment-adjunct-tags.js +1 -1
  342. package/src/collections/appointment-deckversion-tags.js +2 -2
  343. package/src/collections/appointment-duplicates.js +1 -1
  344. package/src/collections/appointment-editors.js +1 -1
  345. package/src/collections/appointment-section-tags.js +1 -1
  346. package/src/collections/appointment-slide-tags.js +1 -1
  347. package/src/collections/appointment-tags.js +20 -18
  348. package/src/collections/appointment-templates.js +26 -0
  349. package/src/collections/appointments.js +9 -9
  350. package/src/collections/assets.js +1 -1
  351. package/src/collections/auto-adjuncts.js +1 -1
  352. package/src/collections/base.js +10 -6
  353. package/src/collections/base.spec.js +2 -2
  354. package/src/collections/cms-vals.js +5 -1
  355. package/src/collections/contact-phones.js +18 -0
  356. package/src/collections/contacts.js +1 -1
  357. package/src/collections/created-assets.js +1 -1
  358. package/src/collections/customers.js +1 -1
  359. package/src/collections/deck-notes.js +1 -1
  360. package/src/collections/deck-version-screenshots.js +1 -1
  361. package/src/collections/deck-versions.js +1 -1
  362. package/src/collections/decks.js +1 -1
  363. package/src/collections/deleted-assets.js +1 -1
  364. package/src/collections/dispatches.js +2 -2
  365. package/src/collections/event-objects.js +1 -1
  366. package/src/collections/events.js +1 -1
  367. package/src/collections/groups.js +1 -1
  368. package/src/collections/images.js +1 -1
  369. package/src/collections/locations.js +1 -1
  370. package/src/collections/opportunities.js +1 -1
  371. package/src/collections/pack-diffs.js +1 -1
  372. package/src/collections/packs.js +1 -1
  373. package/src/collections/presets.js +1 -1
  374. package/src/collections/section-selections.js +1 -1
  375. package/src/collections/sections.js +1 -1
  376. package/src/collections/slide-selections.js +1 -1
  377. package/src/collections/slides.js +1 -1
  378. package/src/collections/snapshots.js +1 -1
  379. package/src/collections/sub-slides.js +1 -1
  380. package/src/collections/tags.js +1 -1
  381. package/src/collections/teams.js +1 -1
  382. package/src/collections/templates.js +1 -1
  383. package/src/collections/uploads.js +1 -1
  384. package/src/collections/users.js +1 -1
  385. package/src/collections.js +2 -0
  386. package/src/fixtures.js +193 -0
  387. package/src/models/activity-item.js +1 -1
  388. package/src/models/adjunct-section.js +7 -2
  389. package/src/models/adjunct-slide.js +7 -2
  390. package/src/models/adjunct-sub-slide.js +1 -1
  391. package/src/models/adjunct.js +39 -1
  392. package/src/models/appointment-adjunct-tags.js +1 -1
  393. package/src/models/appointment-deckversion-tags.js +1 -1
  394. package/src/models/appointment-duplicate.js +1 -1
  395. package/src/models/appointment-editor.js +1 -1
  396. package/src/models/appointment-section-tags.js +1 -1
  397. package/src/models/appointment-slide-tags.js +1 -1
  398. package/src/models/appointment-stats.js +1 -1
  399. package/src/models/appointment-tags.js +1 -1
  400. package/src/models/appointment-template.js +19 -0
  401. package/src/models/appointment-viewing.js +1 -1
  402. package/src/models/appointment.js +101 -38
  403. package/src/models/asset.js +15 -1
  404. package/src/models/auto-adjunct-key-check.js +1 -1
  405. package/src/models/auto-adjunct.js +2 -1
  406. package/src/models/base.js +36 -21
  407. package/src/models/base.spec.js +18 -18
  408. package/src/models/choicelist.js +1 -1
  409. package/src/models/cms-val.js +24 -1
  410. package/src/models/cms-val.spec.js +14 -0
  411. package/src/models/contact-phone.js +57 -0
  412. package/src/models/contact.js +1 -1
  413. package/src/models/customer.js +3 -3
  414. package/src/models/deck-note.js +1 -1
  415. package/src/models/deck-tags.js +1 -1
  416. package/src/models/deck-version-screenshot.js +1 -1
  417. package/src/models/deck-version.js +31 -6
  418. package/src/models/deck.js +1 -1
  419. package/src/models/dispatch-preview.js +1 -1
  420. package/src/models/dispatch.js +1 -1
  421. package/src/models/event-object.js +1 -1
  422. package/src/models/event.js +1 -1
  423. package/src/models/feed-data.js +2 -2
  424. package/src/models/file.js +1 -1
  425. package/src/models/group.js +1 -1
  426. package/src/models/handover.js +1 -1
  427. package/src/models/hosted-preso.js +1 -1
  428. package/src/models/image.js +1 -1
  429. package/src/models/location.js +1 -1
  430. package/src/models/manifest-json.js +56 -5
  431. package/src/models/onshare.js +1 -1
  432. package/src/models/opportunity.js +1 -1
  433. package/src/models/pack-diff.js +1 -1
  434. package/src/models/pack.js +1 -1
  435. package/src/models/preset.js +3 -1
  436. package/src/models/refresh-request.js +15 -1
  437. package/src/models/room.js +1 -1
  438. package/src/models/salesforce-lookup.js +1 -1
  439. package/src/models/section-selection.js +1 -1
  440. package/src/models/section.js +1 -1
  441. package/src/models/slide-selection.js +1 -1
  442. package/src/models/slide.js +1 -1
  443. package/src/models/snapshot.js +11 -2
  444. package/src/models/snapshot.spec.js +31 -0
  445. package/src/models/sub-slide.js +1 -1
  446. package/src/models/support-ticket.js +1 -1
  447. package/src/models/tag.js +1 -1
  448. package/src/models/team.js +14 -3
  449. package/src/models/template.js +72 -2
  450. package/src/models/tenancy.js +4 -1
  451. package/src/models/timing-log.js +2 -2
  452. package/src/models/timing-log.spec.js +1 -1
  453. package/src/models/token.js +1 -1
  454. package/src/models/transcribe-socket.js +1 -1
  455. package/src/models/user.js +13 -2
  456. package/src/models.js +2 -0
  457. package/src/presentation/appointment-presentation.js +4 -4
  458. package/src/presentation/base-presentation-collection.js +1 -1
  459. package/src/presentation/base-presentation-model.js +25 -16
  460. package/src/presentation/base-presentation-model.spec.js +5 -5
  461. package/src/presentation/presentation-deck.js +28 -23
  462. package/src/presentation/presentation-deck.spec.js +4 -4
  463. package/src/presentation/presentation-decks.js +1 -1
  464. package/src/presentation/presentation-section.js +59 -31
  465. package/src/presentation/presentation-section.spec.js +31 -32
  466. package/src/presentation/presentation-sections.js +1 -1
  467. package/src/presentation/presentation-slide.js +51 -25
  468. package/src/presentation/presentation-slide.spec.js +21 -27
  469. package/src/presentation/presentation-slides.js +1 -1
  470. package/src/presentation/presentation-subslide.js +5 -5
  471. package/src/presentation/presentation-subslide.spec.js +3 -3
  472. package/src/presentation/presentation-subslides.js +1 -1
  473. package/src/presentation/presentation.js +5 -3
  474. package/src/selections.js +71 -0
  475. package/src/sync.js +1 -1
  476. package/src/utils.js +31 -8
  477. package/src/utils.spec.js +4 -4
  478. package/.rush/temp/package-deps_test.json +0 -172
@@ -53,7 +53,7 @@ it("should replace child model strings with the registered model", () => {
53
53
  const Model = G(
54
54
  BaseModel.extend({
55
55
  children: { test: "TestModel" },
56
- })
56
+ }),
57
57
  );
58
58
  const model = new Model({ test: 1 });
59
59
  expect(model.test).toBeInstanceOf(TestModel);
@@ -64,7 +64,7 @@ it("should allow the model to be passed in", () => {
64
64
  const Model = G(
65
65
  BaseModel.extend({
66
66
  children: { test: "TestModel" },
67
- })
67
+ }),
68
68
  );
69
69
  const model = new Model({ test: new TestModel({ id: 1 }) });
70
70
  expect(model.test.id).toEqual(1);
@@ -76,7 +76,7 @@ it("should reference parent model if foreign key exists", () => {
76
76
  const Model = G(
77
77
  BaseModel.extend({
78
78
  children: { test: "TestModel" },
79
- })
79
+ }),
80
80
  );
81
81
  const model = new Model({ test: 1 });
82
82
  expect(model).toEqual(model.test.parent);
@@ -86,7 +86,7 @@ it("should throw an error if the child model doesn't exist", () => {
86
86
  const Model = G(
87
87
  BaseModel.extend({
88
88
  children: { test: "DoesntExist" },
89
- })
89
+ }),
90
90
  );
91
91
 
92
92
  expect(() => new Model()).toThrow();
@@ -97,7 +97,7 @@ it("should convert a url into a model", () => {
97
97
  const Model = G(
98
98
  BaseModel.extend({
99
99
  children: { test: "TestModel" },
100
- })
100
+ }),
101
101
  );
102
102
  const model = new Model({ test: "/api/tests/1/" });
103
103
  expect(model.test.id).toEqual(1);
@@ -115,7 +115,7 @@ it("should convert an object into a model", () => {
115
115
  const Model = G(
116
116
  BaseModel.extend({
117
117
  children: { test: "TestModel" },
118
- })
118
+ }),
119
119
  );
120
120
  const model = new Model({ test: { id: 1 } });
121
121
  expect(model.test.id).toEqual(1);
@@ -127,12 +127,12 @@ it("should replace collection strings with their registered state", () => {
127
127
  BaseCollection.extend({
128
128
  model: "TestModel",
129
129
  }),
130
- "TestCollection"
130
+ "TestCollection",
131
131
  );
132
132
  const Model = G(
133
133
  BaseModel.extend({
134
134
  collections: { tests: "TestCollection" },
135
- })
135
+ }),
136
136
  );
137
137
  const model = new Model({
138
138
  tests: [{ id: 1 }],
@@ -146,12 +146,12 @@ it("should allow a list of models to be passed into a collection", () => {
146
146
  BaseCollection.extend({
147
147
  model: "TestModel",
148
148
  }),
149
- "TestCollection"
149
+ "TestCollection",
150
150
  );
151
151
  const Model = G(
152
152
  BaseModel.extend({
153
153
  collections: { tests: "TestCollection" },
154
- })
154
+ }),
155
155
  );
156
156
  const test = new TestModel({ id: 1 });
157
157
  const model = new Model({
@@ -166,12 +166,12 @@ it("should allow a collection to be passed in directly", () => {
166
166
  BaseCollection.extend({
167
167
  model: "TestModel",
168
168
  }),
169
- "TestCollection"
169
+ "TestCollection",
170
170
  );
171
171
  const Model = G(
172
172
  BaseModel.extend({
173
173
  collections: { tests: "TestCollection" },
174
- })
174
+ }),
175
175
  );
176
176
  const model = new Model({
177
177
  tests: new TestCollection([{ id: 1 }]),
@@ -192,12 +192,12 @@ it("should convert a url into a collection", () => {
192
192
  BaseCollection.extend({
193
193
  model: "TestModel",
194
194
  }),
195
- "TestCollection"
195
+ "TestCollection",
196
196
  );
197
197
  const Model = G(
198
198
  BaseModel.extend({
199
199
  collections: { tests: "TestCollection" },
200
- })
200
+ }),
201
201
  );
202
202
  const model = new Model({ tests: "/api/tests/" });
203
203
  expect(model.tests).toBeInstanceOf(TestCollection);
@@ -209,7 +209,7 @@ it("should convert an array of objects into a collection", () => {
209
209
  const Model = G(
210
210
  BaseModel.extend({
211
211
  collections: { tests: "TestCollection" },
212
- })
212
+ }),
213
213
  );
214
214
  const model = new Model({
215
215
  tests: [{ id: 1 }, { id: 2 }],
@@ -331,13 +331,13 @@ it("should pass through values into a derived collection", () => {
331
331
  name: "string",
332
332
  },
333
333
  }),
334
- "DerivedModel"
334
+ "DerivedModel",
335
335
  );
336
336
 
337
337
  const DerivedCollection = G(
338
338
  BaseCollection.extend({
339
339
  model: "DerivedModel",
340
- })
340
+ }),
341
341
  );
342
342
 
343
343
  const TestModel = G(
@@ -351,7 +351,7 @@ it("should pass through values into a derived collection", () => {
351
351
  },
352
352
  },
353
353
  }),
354
- "TestModel"
354
+ "TestModel",
355
355
  );
356
356
 
357
357
  const model = new TestModel({
@@ -15,7 +15,7 @@ export const ChoicelistModel = BaseModel.extend(
15
15
  created_date: "date",
16
16
  choices: "array",
17
17
  },
18
- }
18
+ },
19
19
  );
20
20
 
21
21
  register("ChoicelistModel", ChoicelistModel);
@@ -4,6 +4,7 @@ import "./deck.js";
4
4
 
5
5
  import { BaseModel } from "../models/base.js";
6
6
  import { register } from "../state-register.js";
7
+ import { sanitizeBase64 } from "../utils.js";
7
8
 
8
9
  /**
9
10
  * @constructor
@@ -21,6 +22,7 @@ export const CMSValModel = BaseModel.extend(
21
22
  scope: "string",
22
23
  mime: "string",
23
24
  value: "string",
25
+ _tenancy: "object",
24
26
  },
25
27
 
26
28
  /**
@@ -55,7 +57,28 @@ export const CMSValModel = BaseModel.extend(
55
57
 
56
58
  return data;
57
59
  },
58
- }
60
+
61
+ toServer() {
62
+ const obj = BaseModel.prototype.toServer.call(this);
63
+ return {
64
+ ...obj,
65
+ // We shouldn't allow any base64 to get in here, otherwise it can
66
+ // KO all users appointments.
67
+ value: sanitizeBase64(obj.value),
68
+ };
69
+ },
70
+
71
+ toCompactJSON() {
72
+ const json = this.toJSON();
73
+ const wanted = ["key", "value", "mime", "scope"];
74
+
75
+ const compact = Object.fromEntries(
76
+ Object.entries(json).filter(([key, val]) => wanted.includes(key)),
77
+ );
78
+
79
+ return compact;
80
+ },
81
+ },
59
82
  );
60
83
 
61
84
  register("CMSValModel", CMSValModel);
@@ -0,0 +1,14 @@
1
+ import { G } from "sp-test/api";
2
+
3
+ it("should remove large base64 strings from value when saving", async () => {
4
+ const CMSValModel = G("CMSValModel");
5
+ const largeBase64 =
6
+ "data:image/gif;base64," + new Array(50_000).fill("a").join("");
7
+
8
+ const cmsVal = new CMSValModel({
9
+ mime: "image",
10
+ value: largeBase64,
11
+ });
12
+
13
+ expect(cmsVal.toServer().value).toEqual("");
14
+ });
@@ -0,0 +1,57 @@
1
+ import "./customer.js";
2
+
3
+ import { BaseModel } from "./base.js";
4
+ import { register } from "../state-register.js";
5
+
6
+ /**
7
+ * @constructor
8
+ * @alias models.ContactModel
9
+ * @extends models.BaseModel
10
+ */
11
+ export const ContactPhoneModel = BaseModel.extend(
12
+ /** @lends models.ContactPhoneModel# */ {
13
+ modelName: "contact-phones",
14
+
15
+ /**
16
+ * @property {date} created_date
17
+ * @property {date} modified_date
18
+ * @property {boolean} is_valid
19
+ * @property {string} raw
20
+ * @property {string} e164_format
21
+ * @property {string} national_format
22
+ * @property {string} number_type
23
+ */
24
+ props: {
25
+ created_date: "date",
26
+ modified_date: "date",
27
+ is_valid: "boolean",
28
+ raw: "string",
29
+ e164_format: "string",
30
+ national_format: "string",
31
+ number_type: "string",
32
+ },
33
+
34
+ /**
35
+ * @property {models.ContactModel} contact
36
+ */
37
+ children: {
38
+ contact: "ContactModel",
39
+ },
40
+
41
+ toServer() {
42
+ /* Only write to `raw` field. The others are derived on the server */
43
+ const data = {
44
+ raw: this.raw,
45
+ contact: this._retrieveURL(this.contact),
46
+ };
47
+
48
+ if (this.id) {
49
+ data.id = this.id;
50
+ }
51
+
52
+ return data;
53
+ },
54
+ },
55
+ );
56
+
57
+ register("ContactPhoneModel", ContactPhoneModel);
@@ -100,7 +100,7 @@ export const ContactModel = BaseModel.extend(
100
100
 
101
101
  return data;
102
102
  },
103
- }
103
+ },
104
104
  );
105
105
 
106
106
  register("ContactModel", ContactModel);
@@ -76,7 +76,7 @@ export const CustomerModel = BaseModel.extend(
76
76
  deps: ["logo_512", "profile"],
77
77
  fn: function () {
78
78
  // HACK: Check for the REA usecase where it gets images from profile
79
- if (this.profile && this.profile.rea_image_large) {
79
+ if (this.profile?.rea_image_large) {
80
80
  return this.profile.rea_image_large;
81
81
  }
82
82
 
@@ -113,7 +113,7 @@ export const CustomerModel = BaseModel.extend(
113
113
  // Filter contacts if this is fetched from an appointment
114
114
  if (topParent && topParent.name === "appointments") {
115
115
  const contactUrls = this.contact_set.map((contact) =>
116
- this._retrieveUrl(contact)
116
+ this._retrieveUrl(contact),
117
117
  );
118
118
 
119
119
  const filteredContacts = topParent.contact_set.filter((contact) => {
@@ -140,7 +140,7 @@ export const CustomerModel = BaseModel.extend(
140
140
 
141
141
  return data;
142
142
  },
143
- }
143
+ },
144
144
  );
145
145
 
146
146
  register("CustomerModel", CustomerModel);
@@ -30,7 +30,7 @@ export const DeckNoteModel = BaseModel.extend(
30
30
  user: "UserModel",
31
31
  team: "TeamModel",
32
32
  },
33
- }
33
+ },
34
34
  );
35
35
 
36
36
  DeckNoteModel.canBeEmpty = true;
@@ -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;
@@ -42,7 +42,7 @@ export const DeckVersionScreenshotModel = BaseModel.extend(
42
42
  const data = BaseModel.prototype.serialize.call(this);
43
43
  return _.omit(data, ["url"]);
44
44
  },
45
- }
45
+ },
46
46
  );
47
47
 
48
48
  register("DeckVersionScreenshotModel", DeckVersionScreenshotModel);
@@ -1,6 +1,5 @@
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";
@@ -9,6 +8,7 @@ import "./manifest-json.js";
9
8
  import { BaseModel } from "./base.js";
10
9
  import { DeckVersionScreenshotCollection } from "../collections/deck-version-screenshots.js";
11
10
  import Promise from "bluebird";
11
+ import { TemplateCollection } from "../collections.js";
12
12
  import _ from "lodash";
13
13
  import { register } from "../state-register.js";
14
14
  import superagent from "superagent";
@@ -80,12 +80,10 @@ export const DeckVersionModel = BaseModel.extend(
80
80
  /**
81
81
  * @property {collections.SectionCollection} section_set
82
82
  * @property {models.DeckNoteCollection} note_set
83
- * @property {models.TemplateCollection} template_set
84
83
  */
85
84
  collections: {
86
85
  section_set: "SectionCollection",
87
86
  note_set: "DeckNoteCollection",
88
- template_set: "TemplateCollection",
89
87
  },
90
88
 
91
89
  /**
@@ -99,17 +97,33 @@ export const DeckVersionModel = BaseModel.extend(
99
97
  {},
100
98
  {
101
99
  deckversion: this,
102
- }
100
+ },
103
101
  );
104
102
  return screenshots;
105
103
  },
106
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
+ },
107
121
  },
108
122
 
109
123
  getHooksPath() {
110
124
  if (this.isNew()) {
111
125
  throw new Error(
112
- "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",
113
127
  );
114
128
  }
115
129
 
@@ -178,6 +192,17 @@ export const DeckVersionModel = BaseModel.extend(
178
192
  return Promise.all(imports);
179
193
  },
180
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
+
181
206
  waitForReady() {
182
207
  return this.fetch().then(() => {
183
208
  if (["created", "failed"].indexOf(this.creation_status) > -1) {
@@ -204,7 +229,7 @@ export const DeckVersionModel = BaseModel.extend(
204
229
  upgrade_description: this.upgrade_description,
205
230
  };
206
231
  },
207
- }
232
+ },
208
233
  );
209
234
 
210
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);
@@ -19,7 +19,7 @@ export const FeedDataModel = BaseModel.extend(
19
19
  */
20
20
  props: {
21
21
  feed_data: "object",
22
- feed_debug: {type: "object", default: () => {}},
22
+ feed_debug: { type: "object", default: () => {} },
23
23
  creation_status: "string",
24
24
  },
25
25
 
@@ -42,7 +42,7 @@ export const FeedDataModel = BaseModel.extend(
42
42
 
43
43
  return data;
44
44
  },
45
- }
45
+ },
46
46
  );
47
47
 
48
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);
@@ -69,7 +69,7 @@ export const ImageModel = BaseModel.extend(
69
69
  });
70
70
  });
71
71
  },
72
- }
72
+ },
73
73
  );
74
74
 
75
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) {
@@ -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);