@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.
- package/.eslintrc.js +3 -0
- package/.rush/temp/1aebf46f78ad5c45f82f8147751890adb37bef9d.log +10 -0
- package/.rush/temp/256021b5963b4c0221d3dec247b697b9691a9b2c.log +10 -0
- package/.rush/temp/2a322f00f12cf9d1e64afe81275cc78d01c49050.log +10 -0
- package/.rush/temp/30061f1865447dcbb3f20a305061205f3dbe6091.log +10 -0
- package/.rush/temp/3cdc82c352e8ed90607952873f3aa4c200490874.log +10 -0
- package/.rush/temp/45522aea0dee8cb2be1a53248ba45bd235743b43.log +10 -0
- package/.rush/temp/5489ab737e406518983c16c57fc3e1edc07c0341.log +10 -0
- package/.rush/temp/58fcbb7f15a76326d40e0839ab179755da82a891.log +10 -0
- package/.rush/temp/5bc0bba70b733baa4dd976667ba0a1386e516186.log +10 -0
- package/.rush/temp/64f1bb696f8d7d7e72907b80df316b127f72e23e.log +10 -0
- package/.rush/temp/6f640f951414ea68adb65c17e4ed7527cde54faf.log +10 -0
- package/.rush/temp/7c7b958682d4ab5697530be47d0aac62efe1adf1.log +10 -0
- package/.rush/temp/82bfb987463fbcfebf04022e6ed00015c73879c8.log +10 -0
- package/.rush/temp/844034aa6e542115075e8f3dc5ffc640973e0064.log +10 -0
- package/.rush/temp/8b42957a7c15da1f29cb57bee125f13affa70dca.log +10 -0
- package/.rush/temp/924652444ab5a6063f328a2217123a2227058896.log +10 -0
- package/.rush/temp/9f2030f96d62f3e38052e35201819a216566f14f.log +10 -0
- package/.rush/temp/a769db9d81a23000c0e9b1bf4f1a9a9e721d0d7c.log +10 -0
- package/.rush/temp/a87d3a8b4ece87ec66f27c86226a9f205617681f.log +10 -0
- package/.rush/temp/bb7a5bdcc4af4ad1507f81f33774b31f5b4e4fb7.log +10 -0
- package/.rush/temp/c20e29ccaaa9231b38a28bb24451b4ce7562cdc0.log +10 -0
- package/.rush/temp/e21303db8f59b4625fd184c9114377d781fd24f8.log +10 -0
- package/.rush/temp/e6d303862765b6a5f41dd483d0f9ae083a1fae10.log +10 -0
- package/.rush/temp/eaf69fbc059d2f1258d7569136180d4a1d3c7072.log +10 -0
- package/.rush/temp/f85d279e2674966daaec83e1c3986a96f86ef304.log +10 -0
- package/.rush/temp/fc0a332c5b34c6b90006850cf2d93a48fb4b9a6e.log +10 -0
- package/.rush/temp/operation/test/all.log +19 -0
- package/.rush/temp/operation/test/state.json +3 -0
- package/.rush/temp/{package-deps_test.json → package-deps_build.json} +11 -11
- package/.rush/temp/shrinkwrap-deps.json +605 -597
- package/CHANGELOG.json +29 -0
- package/CHANGELOG.md +15 -1
- package/README.md +4 -4
- package/api.build.log +1 -1
- package/api.test.cache.log +1 -0
- package/api.test.log +19 -0
- package/bin/test.sh +0 -1
- package/cjs/api.js +18 -17
- package/cjs/api.js.map +1 -1
- package/cjs/api.spec.js +0 -4
- package/cjs/api.spec.js.map +1 -1
- package/cjs/auth.js +35 -36
- package/cjs/auth.js.map +1 -1
- package/cjs/auth.spec.js +52 -71
- package/cjs/auth.spec.js.map +1 -1
- package/cjs/caching.js +2 -7
- package/cjs/caching.js.map +1 -1
- package/cjs/collections/activity.js +16 -56
- package/cjs/collections/activity.js.map +1 -1
- package/cjs/collections/adjunct-sections.js +1 -10
- package/cjs/collections/adjunct-sections.js.map +1 -1
- package/cjs/collections/adjunct-slides.js +1 -10
- package/cjs/collections/adjunct-slides.js.map +1 -1
- package/cjs/collections/adjunct-sub-slides.js +1 -9
- package/cjs/collections/adjunct-sub-slides.js.map +1 -1
- package/cjs/collections/appointment-adjunct-tags.js +1 -9
- package/cjs/collections/appointment-adjunct-tags.js.map +1 -1
- package/cjs/collections/appointment-deckversion-tags.js +1 -9
- package/cjs/collections/appointment-deckversion-tags.js.map +1 -1
- package/cjs/collections/appointment-duplicates.js +1 -9
- package/cjs/collections/appointment-duplicates.js.map +1 -1
- package/cjs/collections/appointment-editors.js +1 -10
- package/cjs/collections/appointment-editors.js.map +1 -1
- package/cjs/collections/appointment-section-tags.js +1 -9
- package/cjs/collections/appointment-section-tags.js.map +1 -1
- package/cjs/collections/appointment-slide-tags.js +1 -9
- package/cjs/collections/appointment-slide-tags.js.map +1 -1
- package/cjs/collections/appointment-tags.js +66 -103
- package/cjs/collections/appointment-tags.js.map +1 -1
- package/cjs/collections/appointment-templates.js +27 -0
- package/cjs/collections/appointment-templates.js.map +1 -0
- package/cjs/collections/appointments.js +9 -29
- package/cjs/collections/appointments.js.map +1 -1
- package/cjs/collections/assets.js +1 -9
- package/cjs/collections/assets.js.map +1 -1
- package/cjs/collections/auto-adjuncts.js +6 -21
- package/cjs/collections/auto-adjuncts.js.map +1 -1
- package/cjs/collections/base.js +46 -112
- package/cjs/collections/base.js.map +1 -1
- package/cjs/collections/base.spec.js +204 -233
- package/cjs/collections/base.spec.js.map +1 -1
- package/cjs/collections/cms-vals.js +9 -16
- package/cjs/collections/cms-vals.js.map +1 -1
- package/cjs/collections/contact-phones.js +20 -0
- package/cjs/collections/contact-phones.js.map +1 -0
- package/cjs/collections/contacts.js +1 -9
- package/cjs/collections/contacts.js.map +1 -1
- package/cjs/collections/created-assets.js +1 -10
- package/cjs/collections/created-assets.js.map +1 -1
- package/cjs/collections/customers.js +1 -9
- package/cjs/collections/customers.js.map +1 -1
- package/cjs/collections/deck-notes.js +1 -10
- package/cjs/collections/deck-notes.js.map +1 -1
- package/cjs/collections/deck-version-screenshots.js +49 -0
- package/cjs/collections/deck-version-screenshots.js.map +1 -0
- package/cjs/collections/deck-versions.js +5 -20
- package/cjs/collections/deck-versions.js.map +1 -1
- package/cjs/collections/decks.js +1 -9
- package/cjs/collections/decks.js.map +1 -1
- package/cjs/collections/deleted-assets.js +1 -10
- package/cjs/collections/deleted-assets.js.map +1 -1
- package/cjs/collections/dispatches.js +1 -13
- package/cjs/collections/dispatches.js.map +1 -1
- package/cjs/collections/event-objects.js +1 -9
- package/cjs/collections/event-objects.js.map +1 -1
- package/cjs/collections/events.js +1 -9
- package/cjs/collections/events.js.map +1 -1
- package/cjs/collections/groups.js +1 -9
- package/cjs/collections/groups.js.map +1 -1
- package/cjs/collections/images.js +1 -9
- package/cjs/collections/images.js.map +1 -1
- package/cjs/collections/locations.js +1 -9
- package/cjs/collections/locations.js.map +1 -1
- package/cjs/collections/opportunities.js +1 -9
- package/cjs/collections/opportunities.js.map +1 -1
- package/cjs/collections/pack-diffs.js +1 -9
- package/cjs/collections/pack-diffs.js.map +1 -1
- package/cjs/collections/packs.js +1 -9
- package/cjs/collections/packs.js.map +1 -1
- package/cjs/collections/presets.js +1 -9
- package/cjs/collections/presets.js.map +1 -1
- package/cjs/collections/section-selections.js +1 -9
- package/cjs/collections/section-selections.js.map +1 -1
- package/cjs/collections/sections.js +1 -9
- package/cjs/collections/sections.js.map +1 -1
- package/cjs/collections/slide-selections.js +1 -9
- package/cjs/collections/slide-selections.js.map +1 -1
- package/cjs/collections/slides.js +1 -9
- package/cjs/collections/slides.js.map +1 -1
- package/cjs/collections/snapshots.js +1 -9
- package/cjs/collections/snapshots.js.map +1 -1
- package/cjs/collections/sub-slides.js +1 -9
- package/cjs/collections/sub-slides.js.map +1 -1
- package/cjs/collections/tags.js +1 -9
- package/cjs/collections/tags.js.map +1 -1
- package/cjs/collections/teams.js +1 -9
- package/cjs/collections/teams.js.map +1 -1
- package/cjs/collections/templates.js +1 -9
- package/cjs/collections/templates.js.map +1 -1
- package/cjs/collections/uploads.js +1 -9
- package/cjs/collections/uploads.js.map +1 -1
- package/cjs/collections/users.js +1 -9
- package/cjs/collections/users.js.map +1 -1
- package/cjs/collections.js +33 -86
- package/cjs/collections.js.map +1 -1
- package/cjs/fixtures.js +187 -0
- package/cjs/fixtures.js.map +1 -0
- package/cjs/index.js +0 -10
- package/cjs/index.js.map +1 -1
- package/cjs/log.js +0 -1
- package/cjs/log.js.map +1 -1
- package/cjs/middleware.js +2 -7
- package/cjs/middleware.js.map +1 -1
- package/cjs/middlewares/auth.js +1 -17
- package/cjs/middlewares/auth.js.map +1 -1
- package/cjs/middlewares/base.js +3 -9
- package/cjs/middlewares/base.js.map +1 -1
- package/cjs/middlewares/json.js +1 -19
- package/cjs/middlewares/json.js.map +1 -1
- package/cjs/middlewares/redirect.js +5 -21
- package/cjs/middlewares/redirect.js.map +1 -1
- package/cjs/models/activity-item.js +6 -20
- package/cjs/models/activity-item.js.map +1 -1
- package/cjs/models/adjunct-section.js +8 -21
- package/cjs/models/adjunct-section.js.map +1 -1
- package/cjs/models/adjunct-slide.js +8 -21
- package/cjs/models/adjunct-slide.js.map +1 -1
- package/cjs/models/adjunct-sub-slide.js +1 -16
- package/cjs/models/adjunct-sub-slide.js.map +1 -1
- package/cjs/models/adjunct.js +34 -10
- package/cjs/models/adjunct.js.map +1 -1
- package/cjs/models/api.js +1 -6
- package/cjs/models/api.js.map +1 -1
- package/cjs/models/appointment-adjunct-tags.js +1 -13
- package/cjs/models/appointment-adjunct-tags.js.map +1 -1
- package/cjs/models/appointment-deckversion-tags.js +1 -13
- package/cjs/models/appointment-deckversion-tags.js.map +1 -1
- package/cjs/models/appointment-duplicate.js +3 -25
- package/cjs/models/appointment-duplicate.js.map +1 -1
- package/cjs/models/appointment-editor.js +1 -14
- package/cjs/models/appointment-editor.js.map +1 -1
- package/cjs/models/appointment-section-tags.js +1 -13
- package/cjs/models/appointment-section-tags.js.map +1 -1
- package/cjs/models/appointment-slide-tags.js +1 -13
- package/cjs/models/appointment-slide-tags.js.map +1 -1
- package/cjs/models/appointment-stats.js +1 -11
- package/cjs/models/appointment-stats.js.map +1 -1
- package/cjs/models/appointment-tags.js +1 -10
- package/cjs/models/appointment-tags.js.map +1 -1
- package/cjs/models/appointment-template.js +23 -0
- package/cjs/models/appointment-template.js.map +1 -0
- package/cjs/models/appointment-viewing.js +1 -8
- package/cjs/models/appointment-viewing.js.map +1 -1
- package/cjs/models/appointment.js +94 -69
- package/cjs/models/appointment.js.map +1 -1
- package/cjs/models/asset.js +12 -11
- package/cjs/models/asset.js.map +1 -1
- package/cjs/models/auto-adjunct-key-check.js +1 -15
- package/cjs/models/auto-adjunct-key-check.js.map +1 -1
- package/cjs/models/auto-adjunct.js +5 -14
- package/cjs/models/auto-adjunct.js.map +1 -1
- package/cjs/models/base.js +89 -173
- package/cjs/models/base.js.map +1 -1
- package/cjs/models/base.spec.js +8 -30
- package/cjs/models/base.spec.js.map +1 -1
- package/cjs/models/choicelist.js +1 -8
- package/cjs/models/choicelist.js.map +1 -1
- package/cjs/models/cms-val.js +28 -15
- package/cjs/models/cms-val.js.map +1 -1
- package/cjs/models/cms-val.spec.js +25 -0
- package/cjs/models/cms-val.spec.js.map +1 -0
- package/cjs/models/contact-phone.js +54 -0
- package/cjs/models/contact-phone.js.map +1 -0
- package/cjs/models/contact.js +1 -18
- package/cjs/models/contact.js.map +1 -1
- package/cjs/models/customer.js +5 -30
- package/cjs/models/customer.js.map +1 -1
- package/cjs/models/deck-note.js +1 -9
- package/cjs/models/deck-note.js.map +1 -1
- package/cjs/models/deck-tags.js +1 -12
- package/cjs/models/deck-tags.js.map +1 -1
- package/cjs/models/deck-version-screenshot.js +47 -0
- package/cjs/models/deck-version-screenshot.js.map +1 -0
- package/cjs/models/deck-version.js +54 -47
- package/cjs/models/deck-version.js.map +1 -1
- package/cjs/models/deck.js +1 -14
- package/cjs/models/deck.js.map +1 -1
- package/cjs/models/dispatch-preview.js +1 -13
- package/cjs/models/dispatch-preview.js.map +1 -1
- package/cjs/models/dispatch.js +1 -23
- package/cjs/models/dispatch.js.map +1 -1
- package/cjs/models/envs.js +1 -6
- package/cjs/models/envs.js.map +1 -1
- package/cjs/models/event-object.js +1 -11
- package/cjs/models/event-object.js.map +1 -1
- package/cjs/models/event.js +1 -13
- package/cjs/models/event.js.map +1 -1
- package/cjs/models/feed-data.js +6 -13
- package/cjs/models/feed-data.js.map +1 -1
- package/cjs/models/file.js +1 -11
- package/cjs/models/file.js.map +1 -1
- package/cjs/models/group.js +1 -11
- package/cjs/models/group.js.map +1 -1
- package/cjs/models/handover.js +1 -13
- package/cjs/models/handover.js.map +1 -1
- package/cjs/models/hosted-preso.js +1 -15
- package/cjs/models/hosted-preso.js.map +1 -1
- package/cjs/models/image.js +30 -11
- package/cjs/models/image.js.map +1 -1
- package/cjs/models/location.js +1 -13
- package/cjs/models/location.js.map +1 -1
- package/cjs/models/manifest-json.js +75 -74
- package/cjs/models/manifest-json.js.map +1 -1
- package/cjs/models/onshare.js +1 -14
- package/cjs/models/onshare.js.map +1 -1
- package/cjs/models/opportunity.js +1 -14
- package/cjs/models/opportunity.js.map +1 -1
- package/cjs/models/pack-diff.js +1 -14
- package/cjs/models/pack-diff.js.map +1 -1
- package/cjs/models/pack.js +1 -12
- package/cjs/models/pack.js.map +1 -1
- package/cjs/models/preset.js +4 -20
- package/cjs/models/preset.js.map +1 -1
- package/cjs/models/refresh-request.js +17 -11
- package/cjs/models/refresh-request.js.map +1 -1
- package/cjs/models/room.js +1 -9
- package/cjs/models/room.js.map +1 -1
- package/cjs/models/salesforce-lookup.js +1 -12
- package/cjs/models/salesforce-lookup.js.map +1 -1
- package/cjs/models/section-selection.js +1 -14
- package/cjs/models/section-selection.js.map +1 -1
- package/cjs/models/section.js +4 -15
- package/cjs/models/section.js.map +1 -1
- package/cjs/models/slide-selection.js +1 -14
- package/cjs/models/slide-selection.js.map +1 -1
- package/cjs/models/slide.js +4 -15
- package/cjs/models/slide.js.map +1 -1
- package/cjs/models/snapshot.js +13 -15
- package/cjs/models/snapshot.js.map +1 -1
- package/cjs/models/snapshot.spec.js +44 -0
- package/cjs/models/snapshot.spec.js.map +1 -0
- package/cjs/models/sub-slide.js +1 -12
- package/cjs/models/sub-slide.js.map +1 -1
- package/cjs/models/support-ticket.js +1 -11
- package/cjs/models/support-ticket.js.map +1 -1
- package/cjs/models/tag.js +1 -13
- package/cjs/models/tag.js.map +1 -1
- package/cjs/models/team.js +14 -13
- package/cjs/models/team.js.map +1 -1
- package/cjs/models/template.js +89 -15
- package/cjs/models/template.js.map +1 -1
- package/cjs/models/tenancy.js +4 -11
- package/cjs/models/tenancy.js.map +1 -1
- package/cjs/models/timing-log.js +21 -78
- package/cjs/models/timing-log.js.map +1 -1
- package/cjs/models/timing-log.spec.js +24 -37
- package/cjs/models/timing-log.spec.js.map +1 -1
- package/cjs/models/token.js +46 -0
- package/cjs/models/token.js.map +1 -0
- package/cjs/models/transcribe-socket.js +1 -8
- package/cjs/models/transcribe-socket.js.map +1 -1
- package/cjs/models/upload.js +1 -7
- package/cjs/models/upload.js.map +1 -1
- package/cjs/models/user.js +11 -28
- package/cjs/models/user.js.map +1 -1
- package/cjs/models/user.spec.js +20 -30
- package/cjs/models/user.spec.js.map +1 -1
- package/cjs/models.js +44 -128
- package/cjs/models.js.map +1 -1
- package/cjs/presentation/appointment-presentation.js +14 -36
- package/cjs/presentation/appointment-presentation.js.map +1 -1
- package/cjs/presentation/base-presentation-collection.js +1 -7
- package/cjs/presentation/base-presentation-collection.js.map +1 -1
- package/cjs/presentation/base-presentation-model.js +108 -33
- package/cjs/presentation/base-presentation-model.js.map +1 -1
- package/cjs/presentation/base-presentation-model.spec.js +58 -23
- package/cjs/presentation/base-presentation-model.spec.js.map +1 -1
- package/cjs/presentation/presentation-deck.js +73 -83
- package/cjs/presentation/presentation-deck.js.map +1 -1
- package/cjs/presentation/presentation-deck.spec.js +118 -88
- package/cjs/presentation/presentation-deck.spec.js.map +1 -1
- package/cjs/presentation/presentation-decks.js +1 -9
- package/cjs/presentation/presentation-decks.js.map +1 -1
- package/cjs/presentation/presentation-section.js +70 -84
- package/cjs/presentation/presentation-section.js.map +1 -1
- package/cjs/presentation/presentation-section.spec.js +296 -238
- package/cjs/presentation/presentation-section.spec.js.map +1 -1
- package/cjs/presentation/presentation-sections.js +1 -9
- package/cjs/presentation/presentation-sections.js.map +1 -1
- package/cjs/presentation/presentation-slide.js +74 -84
- package/cjs/presentation/presentation-slide.js.map +1 -1
- package/cjs/presentation/presentation-slide.spec.js +211 -166
- package/cjs/presentation/presentation-slide.spec.js.map +1 -1
- package/cjs/presentation/presentation-slides.js +1 -9
- package/cjs/presentation/presentation-slides.js.map +1 -1
- package/cjs/presentation/presentation-subslide.js +3 -23
- package/cjs/presentation/presentation-subslide.js.map +1 -1
- package/cjs/presentation/presentation-subslide.spec.js +101 -125
- package/cjs/presentation/presentation-subslide.spec.js.map +1 -1
- package/cjs/presentation/presentation-subslides.js +1 -9
- package/cjs/presentation/presentation-subslides.js.map +1 -1
- package/cjs/presentation/presentation.js +87 -32
- package/cjs/presentation/presentation.js.map +1 -1
- package/cjs/presentation.js +0 -20
- package/cjs/presentation.js.map +1 -1
- package/cjs/selections.js +81 -0
- package/cjs/selections.js.map +1 -0
- package/cjs/state-register.js +3 -11
- package/cjs/state-register.js.map +1 -1
- package/cjs/sync.js +32 -76
- package/cjs/sync.js.map +1 -1
- package/cjs/utils.js +51 -42
- package/cjs/utils.js.map +1 -1
- package/cjs/utils.spec.js +0 -4
- package/cjs/utils.spec.js.map +1 -1
- package/jest.config.js +5 -3
- package/package.json +11 -8
- package/src/api.js +17 -2
- package/src/auth.js +45 -9
- package/src/auth.spec.js +2 -0
- package/src/collections/activity.js +4 -4
- package/src/collections/adjunct-sections.js +1 -1
- package/src/collections/adjunct-slides.js +1 -1
- package/src/collections/adjunct-sub-slides.js +1 -1
- package/src/collections/appointment-adjunct-tags.js +1 -1
- package/src/collections/appointment-deckversion-tags.js +2 -2
- package/src/collections/appointment-duplicates.js +1 -1
- package/src/collections/appointment-editors.js +1 -1
- package/src/collections/appointment-section-tags.js +1 -1
- package/src/collections/appointment-slide-tags.js +1 -1
- package/src/collections/appointment-tags.js +20 -18
- package/src/collections/appointment-templates.js +26 -0
- package/src/collections/appointments.js +9 -9
- package/src/collections/assets.js +1 -1
- package/src/collections/auto-adjuncts.js +1 -1
- package/src/collections/base.js +20 -10
- package/src/collections/base.spec.js +19 -5
- package/src/collections/cms-vals.js +5 -1
- package/src/collections/contact-phones.js +18 -0
- package/src/collections/contacts.js +1 -1
- package/src/collections/created-assets.js +1 -1
- package/src/collections/customers.js +1 -1
- package/src/collections/deck-notes.js +1 -1
- package/src/collections/deck-version-screenshots.js +48 -0
- package/src/collections/deck-versions.js +1 -1
- package/src/collections/decks.js +1 -1
- package/src/collections/deleted-assets.js +1 -1
- package/src/collections/dispatches.js +2 -2
- package/src/collections/event-objects.js +1 -1
- package/src/collections/events.js +1 -1
- package/src/collections/groups.js +1 -1
- package/src/collections/images.js +1 -1
- package/src/collections/locations.js +1 -1
- package/src/collections/opportunities.js +1 -1
- package/src/collections/pack-diffs.js +1 -1
- package/src/collections/packs.js +1 -1
- package/src/collections/presets.js +1 -1
- package/src/collections/section-selections.js +1 -1
- package/src/collections/sections.js +1 -1
- package/src/collections/slide-selections.js +1 -1
- package/src/collections/slides.js +1 -1
- package/src/collections/snapshots.js +1 -1
- package/src/collections/sub-slides.js +1 -1
- package/src/collections/tags.js +1 -1
- package/src/collections/teams.js +1 -1
- package/src/collections/templates.js +1 -1
- package/src/collections/uploads.js +1 -1
- package/src/collections/users.js +1 -1
- package/src/collections.js +3 -0
- package/src/fixtures.js +193 -0
- package/src/models/activity-item.js +3 -1
- package/src/models/adjunct-section.js +7 -2
- package/src/models/adjunct-slide.js +7 -2
- package/src/models/adjunct-sub-slide.js +1 -1
- package/src/models/adjunct.js +39 -1
- package/src/models/appointment-adjunct-tags.js +1 -1
- package/src/models/appointment-deckversion-tags.js +1 -1
- package/src/models/appointment-duplicate.js +1 -1
- package/src/models/appointment-editor.js +1 -1
- package/src/models/appointment-section-tags.js +1 -1
- package/src/models/appointment-slide-tags.js +1 -1
- package/src/models/appointment-stats.js +1 -1
- package/src/models/appointment-tags.js +1 -1
- package/src/models/appointment-template.js +19 -0
- package/src/models/appointment-viewing.js +1 -1
- package/src/models/appointment.js +112 -37
- package/src/models/asset.js +15 -1
- package/src/models/auto-adjunct-key-check.js +1 -1
- package/src/models/auto-adjunct.js +4 -1
- package/src/models/base.js +55 -22
- package/src/models/base.spec.js +34 -27
- package/src/models/choicelist.js +1 -1
- package/src/models/cms-val.js +24 -1
- package/src/models/cms-val.spec.js +14 -0
- package/src/models/contact-phone.js +57 -0
- package/src/models/contact.js +1 -1
- package/src/models/customer.js +3 -3
- package/src/models/deck-note.js +1 -1
- package/src/models/deck-tags.js +1 -1
- package/src/models/deck-version-screenshot.js +48 -0
- package/src/models/deck-version.js +60 -9
- package/src/models/deck.js +1 -1
- package/src/models/dispatch-preview.js +1 -1
- package/src/models/dispatch.js +1 -1
- package/src/models/event-object.js +1 -1
- package/src/models/event.js +1 -1
- package/src/models/feed-data.js +3 -1
- package/src/models/file.js +1 -1
- package/src/models/group.js +1 -1
- package/src/models/handover.js +1 -1
- package/src/models/hosted-preso.js +1 -1
- package/src/models/image.js +33 -1
- package/src/models/location.js +1 -1
- package/src/models/manifest-json.js +57 -6
- package/src/models/onshare.js +1 -1
- package/src/models/opportunity.js +1 -1
- package/src/models/pack-diff.js +1 -1
- package/src/models/pack.js +1 -1
- package/src/models/preset.js +3 -1
- package/src/models/refresh-request.js +15 -1
- package/src/models/room.js +1 -1
- package/src/models/salesforce-lookup.js +1 -1
- package/src/models/section-selection.js +1 -1
- package/src/models/section.js +3 -1
- package/src/models/slide-selection.js +1 -1
- package/src/models/slide.js +3 -1
- package/src/models/snapshot.js +11 -2
- package/src/models/snapshot.spec.js +31 -0
- package/src/models/sub-slide.js +1 -1
- package/src/models/support-ticket.js +1 -1
- package/src/models/tag.js +1 -1
- package/src/models/team.js +14 -3
- package/src/models/template.js +74 -2
- package/src/models/tenancy.js +4 -1
- package/src/models/timing-log.js +2 -2
- package/src/models/timing-log.spec.js +1 -1
- package/src/models/token.js +47 -0
- package/src/models/transcribe-socket.js +1 -1
- package/src/models/user.js +15 -2
- package/src/models.js +4 -0
- package/src/presentation/appointment-presentation.js +13 -5
- package/src/presentation/base-presentation-collection.js +1 -1
- package/src/presentation/base-presentation-model.js +88 -3
- package/src/presentation/base-presentation-model.spec.js +80 -3
- package/src/presentation/presentation-deck.js +65 -22
- package/src/presentation/presentation-deck.spec.js +55 -2
- package/src/presentation/presentation-decks.js +1 -1
- package/src/presentation/presentation-section.js +91 -31
- package/src/presentation/presentation-section.spec.js +142 -10
- package/src/presentation/presentation-sections.js +1 -1
- package/src/presentation/presentation-slide.js +69 -23
- package/src/presentation/presentation-slide.spec.js +105 -9
- package/src/presentation/presentation-slides.js +1 -1
- package/src/presentation/presentation-subslide.js +5 -5
- package/src/presentation/presentation-subslide.spec.js +3 -3
- package/src/presentation/presentation-subslides.js +1 -1
- package/src/presentation/presentation.js +27 -8
- package/src/selections.js +71 -0
- package/src/sync.js +1 -1
- package/src/utils.js +31 -8
- package/src/utils.spec.js +4 -4
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { BasePresentationModel } from "./base-presentation-model.js";
|
|
2
|
+
import { DeckVersionScreenshotCollection } from "../collections/deck-version-screenshots.js";
|
|
2
3
|
|
|
3
4
|
describe("#getVisibilityAndSequence", () => {
|
|
4
5
|
it("should return model defaults when no options", () => {
|
|
@@ -49,7 +50,7 @@ describe("#getVisibilityAndSequence", () => {
|
|
|
49
50
|
},
|
|
50
51
|
{
|
|
51
52
|
choicelist,
|
|
52
|
-
}
|
|
53
|
+
},
|
|
53
54
|
);
|
|
54
55
|
|
|
55
56
|
const expected = {
|
|
@@ -79,7 +80,7 @@ describe("#getVisibilityAndSequence", () => {
|
|
|
79
80
|
},
|
|
80
81
|
{
|
|
81
82
|
selections,
|
|
82
|
-
}
|
|
83
|
+
},
|
|
83
84
|
);
|
|
84
85
|
|
|
85
86
|
const expected = {
|
|
@@ -121,7 +122,7 @@ describe("#getVisibilityAndSequence", () => {
|
|
|
121
122
|
{
|
|
122
123
|
choicelist,
|
|
123
124
|
selections,
|
|
124
|
-
}
|
|
125
|
+
},
|
|
125
126
|
);
|
|
126
127
|
|
|
127
128
|
const expected = {
|
|
@@ -227,3 +228,79 @@ describe("#getTags", () => {
|
|
|
227
228
|
expect(tags).toEqual(["adjunctslide-tags"]);
|
|
228
229
|
});
|
|
229
230
|
});
|
|
231
|
+
|
|
232
|
+
describe("#filterScreenshotsByTeam", () => {
|
|
233
|
+
const screenshots = new DeckVersionScreenshotCollection([
|
|
234
|
+
{
|
|
235
|
+
subject: "/api/slides/1/",
|
|
236
|
+
image_256: "global-screenshot-1.png",
|
|
237
|
+
team: null,
|
|
238
|
+
},
|
|
239
|
+
{
|
|
240
|
+
subject: "/api/slides/2/",
|
|
241
|
+
image_256: "global-screenshot-2.png",
|
|
242
|
+
team: null,
|
|
243
|
+
},
|
|
244
|
+
{
|
|
245
|
+
subject: "/api/slides/1/",
|
|
246
|
+
image_256: "team-1-screenshot.png",
|
|
247
|
+
team: "/api/teams/1/",
|
|
248
|
+
},
|
|
249
|
+
{
|
|
250
|
+
subject: "/api/sections/2/",
|
|
251
|
+
image_256: "team-1-screenshot.png",
|
|
252
|
+
team: "/api/teams/1/",
|
|
253
|
+
},
|
|
254
|
+
// Just for testing that the team filters don't get cross-contaminated
|
|
255
|
+
{
|
|
256
|
+
subject: "/api/sections/2/",
|
|
257
|
+
image_256: "team-2-screenshot.png",
|
|
258
|
+
team: "/api/teams/2/",
|
|
259
|
+
},
|
|
260
|
+
]);
|
|
261
|
+
|
|
262
|
+
it("should just return global screenshots if team is null", () => {
|
|
263
|
+
const filtered = BasePresentationModel.filterScreenshotsByTeam(
|
|
264
|
+
screenshots,
|
|
265
|
+
null,
|
|
266
|
+
).toJSON();
|
|
267
|
+
|
|
268
|
+
expect(filtered).toEqual([
|
|
269
|
+
{
|
|
270
|
+
subject: "/api/slides/1/",
|
|
271
|
+
image_256: "global-screenshot-1.png",
|
|
272
|
+
team: null,
|
|
273
|
+
},
|
|
274
|
+
{
|
|
275
|
+
subject: "/api/slides/2/",
|
|
276
|
+
image_256: "global-screenshot-2.png",
|
|
277
|
+
team: null,
|
|
278
|
+
},
|
|
279
|
+
]);
|
|
280
|
+
});
|
|
281
|
+
|
|
282
|
+
it("should return globals with team override", () => {
|
|
283
|
+
const filtered = BasePresentationModel.filterScreenshotsByTeam(
|
|
284
|
+
screenshots,
|
|
285
|
+
1,
|
|
286
|
+
).toJSON();
|
|
287
|
+
|
|
288
|
+
expect(filtered).toEqual([
|
|
289
|
+
{
|
|
290
|
+
image_256: "global-screenshot-2.png",
|
|
291
|
+
subject: "/api/slides/2/",
|
|
292
|
+
team: null,
|
|
293
|
+
},
|
|
294
|
+
{
|
|
295
|
+
image_256: "team-1-screenshot.png",
|
|
296
|
+
subject: "/api/sections/2/",
|
|
297
|
+
team: "/api/teams/1/",
|
|
298
|
+
},
|
|
299
|
+
{
|
|
300
|
+
image_256: "team-1-screenshot.png",
|
|
301
|
+
subject: "/api/slides/1/",
|
|
302
|
+
team: "/api/teams/1/",
|
|
303
|
+
},
|
|
304
|
+
]);
|
|
305
|
+
});
|
|
306
|
+
});
|
|
@@ -41,6 +41,7 @@ export const PresentationDeck = BasePresentationModel.extend(
|
|
|
41
41
|
* @property {boolean} editable
|
|
42
42
|
* @property {array} tags
|
|
43
43
|
* @property {number} version
|
|
44
|
+
* @property {string[]} cmsvalkey_set
|
|
44
45
|
*/
|
|
45
46
|
props: {
|
|
46
47
|
html: "string",
|
|
@@ -49,7 +50,10 @@ export const PresentationDeck = BasePresentationModel.extend(
|
|
|
49
50
|
deckID: "number",
|
|
50
51
|
index: "number",
|
|
51
52
|
thumbnail: "string",
|
|
52
|
-
visible:
|
|
53
|
+
visible: {
|
|
54
|
+
type: "boolean",
|
|
55
|
+
visible: true,
|
|
56
|
+
},
|
|
53
57
|
key: "string",
|
|
54
58
|
common: "object",
|
|
55
59
|
title: "string",
|
|
@@ -57,6 +61,7 @@ export const PresentationDeck = BasePresentationModel.extend(
|
|
|
57
61
|
editable: "boolean",
|
|
58
62
|
tags: "array",
|
|
59
63
|
version: "number",
|
|
64
|
+
cmsvalkey_set: "array",
|
|
60
65
|
},
|
|
61
66
|
|
|
62
67
|
/**
|
|
@@ -91,7 +96,7 @@ export const PresentationDeck = BasePresentationModel.extend(
|
|
|
91
96
|
|
|
92
97
|
return this._url;
|
|
93
98
|
},
|
|
94
|
-
}
|
|
99
|
+
},
|
|
95
100
|
);
|
|
96
101
|
|
|
97
102
|
/**
|
|
@@ -105,20 +110,24 @@ export const PresentationDeck = BasePresentationModel.extend(
|
|
|
105
110
|
*/
|
|
106
111
|
PresentationDeck.createFromDeckVersion = function (
|
|
107
112
|
deckVersionModel,
|
|
108
|
-
options = {}
|
|
113
|
+
options = {},
|
|
109
114
|
) {
|
|
110
115
|
_.defaults(options, {
|
|
111
116
|
index: 0,
|
|
117
|
+
autoAdjuncts: new collections.AutoAdjunctCollection(),
|
|
112
118
|
adjunctSections: new collections.AdjunctSectionCollection(),
|
|
113
119
|
adjunctSlides: new collections.AdjunctSlideCollection(),
|
|
114
120
|
adjunctSubSlides: new collections.AdjunctSubSlideCollection(),
|
|
115
121
|
sectionSelections: new collections.SectionSelectionCollection(),
|
|
116
122
|
slideSelections: new collections.SlideSelectionCollection(),
|
|
123
|
+
screenshots: new collections.DeckVersionScreenshotCollection(),
|
|
117
124
|
rootAssetPath: null,
|
|
118
125
|
templates: null,
|
|
119
126
|
choicelist: null,
|
|
120
127
|
});
|
|
121
128
|
|
|
129
|
+
options.screenshots = PresentationDeck.screenshotsToMap(options.screenshots);
|
|
130
|
+
|
|
122
131
|
const assetRoot = getAssetRoot(deckVersionModel.index_asset.url());
|
|
123
132
|
let html;
|
|
124
133
|
let css;
|
|
@@ -138,7 +147,10 @@ PresentationDeck.createFromDeckVersion = function (
|
|
|
138
147
|
css,
|
|
139
148
|
id: deckVersionModel.id,
|
|
140
149
|
index: options.index,
|
|
141
|
-
thumbnail:
|
|
150
|
+
thumbnail: PresentationDeck.getThumbnail(
|
|
151
|
+
deckVersionModel,
|
|
152
|
+
options.screenshots,
|
|
153
|
+
),
|
|
142
154
|
deckID: deckVersionModel.deck.id,
|
|
143
155
|
visible: true,
|
|
144
156
|
key: deckVersionModel.deck.key,
|
|
@@ -148,12 +160,13 @@ PresentationDeck.createFromDeckVersion = function (
|
|
|
148
160
|
tags,
|
|
149
161
|
version: deckVersionModel.version,
|
|
150
162
|
usesImpostorSections: isImpostorDeck(deckVersionModel),
|
|
163
|
+
cmsvalkey_set: deckVersionModel.cmsvalkey_set || [],
|
|
151
164
|
});
|
|
152
165
|
|
|
153
166
|
if (!deck.key) {
|
|
154
167
|
log.warn(
|
|
155
168
|
"Deck key not available to presentation",
|
|
156
|
-
deckVersionModel.deck.toJSON()
|
|
169
|
+
deckVersionModel.deck.toJSON(),
|
|
157
170
|
);
|
|
158
171
|
}
|
|
159
172
|
|
|
@@ -178,7 +191,7 @@ PresentationDeck.createFromDeckVersion = function (
|
|
|
178
191
|
url: selection.slide.url(),
|
|
179
192
|
id: selection.id,
|
|
180
193
|
};
|
|
181
|
-
})
|
|
194
|
+
}),
|
|
182
195
|
);
|
|
183
196
|
|
|
184
197
|
// We want all adjuncts to have fake ids that can't possibly overlap with the ids of
|
|
@@ -206,7 +219,7 @@ PresentationDeck.createFromDeckVersion = function (
|
|
|
206
219
|
deckVersionModel.section_set.forEach((sectionModel) => {
|
|
207
220
|
const section = PresentationSection.createFromSection(
|
|
208
221
|
sectionModel,
|
|
209
|
-
options
|
|
222
|
+
options,
|
|
210
223
|
);
|
|
211
224
|
|
|
212
225
|
section.addSlides(sectionModel.slide_set, options);
|
|
@@ -223,7 +236,7 @@ PresentationDeck.createFromDeckVersion = function (
|
|
|
223
236
|
const section = PresentationSection.createFromAdjunctSection(
|
|
224
237
|
adjunctSection,
|
|
225
238
|
DeckVersionModel,
|
|
226
|
-
options
|
|
239
|
+
options,
|
|
227
240
|
);
|
|
228
241
|
|
|
229
242
|
deck.sections.add(section);
|
|
@@ -256,7 +269,7 @@ PresentationDeck.createFromDeckVersion = function (
|
|
|
256
269
|
const section = PresentationSection.createFromImpostorSection(
|
|
257
270
|
slideModel,
|
|
258
271
|
DeckVersionModel,
|
|
259
|
-
options
|
|
272
|
+
options,
|
|
260
273
|
);
|
|
261
274
|
|
|
262
275
|
deck.sections.add(section);
|
|
@@ -273,7 +286,7 @@ PresentationDeck.createFromDeckVersion = function (
|
|
|
273
286
|
const slide = PresentationSlide.createFromAdjunctSlide(
|
|
274
287
|
adjunctSlideModel,
|
|
275
288
|
null,
|
|
276
|
-
options
|
|
289
|
+
options,
|
|
277
290
|
);
|
|
278
291
|
|
|
279
292
|
slides.push(slide);
|
|
@@ -289,7 +302,7 @@ PresentationDeck.createFromDeckVersion = function (
|
|
|
289
302
|
// next section.
|
|
290
303
|
deck.sections.models.reverse().forEach((section) => {
|
|
291
304
|
const sectionSlides = slides.filter(
|
|
292
|
-
(slide) => slide.sequence > section.sequence
|
|
305
|
+
(slide) => slide.sequence > section.sequence,
|
|
293
306
|
);
|
|
294
307
|
|
|
295
308
|
section.slides.add(sectionSlides);
|
|
@@ -329,7 +342,7 @@ PresentationDeck.createFromDeckVersion = function (
|
|
|
329
342
|
const adjunctSection = PresentationSection.createFromAdjunctSection(
|
|
330
343
|
adjunctSlideModel,
|
|
331
344
|
DeckVersionModel,
|
|
332
|
-
options
|
|
345
|
+
options,
|
|
333
346
|
);
|
|
334
347
|
|
|
335
348
|
deck.sections.add(adjunctSection);
|
|
@@ -342,13 +355,41 @@ PresentationDeck.createFromDeckVersion = function (
|
|
|
342
355
|
options.templates.map((template, index) => {
|
|
343
356
|
return PresentationSection.createFromTemplate(
|
|
344
357
|
template,
|
|
345
|
-
index,
|
|
346
|
-
options.getUniqueAdjunctID()
|
|
358
|
+
deck.sections.length + index,
|
|
359
|
+
options.getUniqueAdjunctID(),
|
|
347
360
|
);
|
|
348
|
-
})
|
|
361
|
+
}),
|
|
349
362
|
);
|
|
350
363
|
}
|
|
351
364
|
|
|
365
|
+
// This is generally only used by screenshots
|
|
366
|
+
if (options.autoAdjuncts) {
|
|
367
|
+
const autoSections = options.autoAdjuncts.map((auto, index) => {
|
|
368
|
+
// We already have the template on the deckversion, so we can find it here.
|
|
369
|
+
if (!auto.template) {
|
|
370
|
+
throw new Error(
|
|
371
|
+
"Attempted to use an autoadjunct that has no template.",
|
|
372
|
+
);
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
const section = PresentationSection.createFromTemplate(
|
|
376
|
+
auto.template,
|
|
377
|
+
deck.sections.length + index,
|
|
378
|
+
options.getUniqueAdjunctID(),
|
|
379
|
+
);
|
|
380
|
+
|
|
381
|
+
// We've just borrowed the "from template" method above. We want to add
|
|
382
|
+
// back some of the specific keys about the auto.
|
|
383
|
+
section.autoAdjunctID = auto.id;
|
|
384
|
+
section.key = auto.key;
|
|
385
|
+
section.title = auto.name;
|
|
386
|
+
|
|
387
|
+
return section;
|
|
388
|
+
});
|
|
389
|
+
|
|
390
|
+
deck.sections.add(autoSections);
|
|
391
|
+
}
|
|
392
|
+
|
|
352
393
|
setSequentialSequences(deck);
|
|
353
394
|
|
|
354
395
|
return deck;
|
|
@@ -368,11 +409,12 @@ PresentationDeck.createFromManifestJSON = function (manifestJSON) {
|
|
|
368
409
|
title: "Local",
|
|
369
410
|
version: 1,
|
|
370
411
|
tags: manifestJSON.tags[""] || [],
|
|
412
|
+
cmsvalkey_set: [],
|
|
371
413
|
});
|
|
372
414
|
|
|
373
415
|
const usesImpostorSections = _.some(
|
|
374
416
|
manifestJSON.tags,
|
|
375
|
-
(tags) => tags.indexOf("section-header") !== -1
|
|
417
|
+
(tags) => tags.indexOf("section-header") !== -1,
|
|
376
418
|
);
|
|
377
419
|
deck.usesImpostorSections = usesImpostorSections;
|
|
378
420
|
|
|
@@ -391,13 +433,14 @@ PresentationDeck.createFromManifestJSON = function (manifestJSON) {
|
|
|
391
433
|
css: url2.resolve(manifestJSON.getAssetPath(key), "slide.css"),
|
|
392
434
|
title: manifestJSON.titles[key],
|
|
393
435
|
tags: manifestJSON.tags[key] || [],
|
|
436
|
+
cmsvalkey_set: [],
|
|
394
437
|
};
|
|
395
438
|
});
|
|
396
439
|
|
|
397
440
|
items = _.sortBy(items, "sequence");
|
|
398
441
|
|
|
399
442
|
const sections = items.filter(
|
|
400
|
-
(item) => item.tags.indexOf("section-header") !== -1
|
|
443
|
+
(item) => item.tags.indexOf("section-header") !== -1,
|
|
401
444
|
);
|
|
402
445
|
|
|
403
446
|
sections.forEach((item, index) => {
|
|
@@ -414,7 +457,7 @@ PresentationDeck.createFromManifestJSON = function (manifestJSON) {
|
|
|
414
457
|
deck.sections.add(
|
|
415
458
|
sections.map((section, index) => {
|
|
416
459
|
return PresentationSection.createFromManifestImpostor(section, index);
|
|
417
|
-
})
|
|
460
|
+
}),
|
|
418
461
|
);
|
|
419
462
|
|
|
420
463
|
deck.realSection = PresentationSection.createFromManifestImpostor(items[0]);
|
|
@@ -428,9 +471,9 @@ PresentationDeck.createFromManifestJSON = function (manifestJSON) {
|
|
|
428
471
|
return PresentationSection.createFromManifestJSON(
|
|
429
472
|
manifestJSON,
|
|
430
473
|
key,
|
|
431
|
-
index
|
|
474
|
+
index,
|
|
432
475
|
);
|
|
433
|
-
})
|
|
476
|
+
}),
|
|
434
477
|
);
|
|
435
478
|
}
|
|
436
479
|
|
|
@@ -443,7 +486,7 @@ PresentationDeck.createFromManifestJSON = function (manifestJSON) {
|
|
|
443
486
|
index_asset: {
|
|
444
487
|
url: url2.resolve(
|
|
445
488
|
manifestJSON.getTemplateAssetPath(key),
|
|
446
|
-
"index.html"
|
|
489
|
+
"index.html",
|
|
447
490
|
),
|
|
448
491
|
},
|
|
449
492
|
};
|
|
@@ -454,7 +497,7 @@ PresentationDeck.createFromManifestJSON = function (manifestJSON) {
|
|
|
454
497
|
deck.sections.add(
|
|
455
498
|
templates.map((template, index) => {
|
|
456
499
|
return PresentationSection.createFromTemplate(template, index, minID);
|
|
457
|
-
})
|
|
500
|
+
}),
|
|
458
501
|
);
|
|
459
502
|
}
|
|
460
503
|
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { DeckVersionModel } from "../models/deck-version";
|
|
2
|
+
import { DeckVersionScreenshotCollection } from "../collections/deck-version-screenshots.js";
|
|
2
3
|
import { G } from "sp-test/api";
|
|
3
4
|
import { ManifestJSONModel } from "../models/manifest-json";
|
|
4
5
|
import { PresentationDeck } from "./presentation-deck";
|
|
@@ -57,6 +58,7 @@ describe("#createFromManifestJSON", () => {
|
|
|
57
58
|
|
|
58
59
|
describe("#createFromDeckVersion", () => {
|
|
59
60
|
const deckVersionJSON = {
|
|
61
|
+
image_256: "http://path/to/deck/thumbnail.png",
|
|
60
62
|
template_set: [
|
|
61
63
|
{
|
|
62
64
|
id: 20,
|
|
@@ -87,6 +89,7 @@ describe("#createFromDeckVersion", () => {
|
|
|
87
89
|
{
|
|
88
90
|
id: 1,
|
|
89
91
|
title: "Section 1",
|
|
92
|
+
image_256: "default_section.png",
|
|
90
93
|
index_asset: {
|
|
91
94
|
url: "http://path/to/index.html",
|
|
92
95
|
},
|
|
@@ -99,6 +102,7 @@ describe("#createFromDeckVersion", () => {
|
|
|
99
102
|
index_asset: {
|
|
100
103
|
url: "http://path/to/index.html",
|
|
101
104
|
},
|
|
105
|
+
image_256: "default_slide.png",
|
|
102
106
|
subslide_set: [],
|
|
103
107
|
section: { id: 1 },
|
|
104
108
|
},
|
|
@@ -107,6 +111,7 @@ describe("#createFromDeckVersion", () => {
|
|
|
107
111
|
{
|
|
108
112
|
id: 2,
|
|
109
113
|
title: "Section 2",
|
|
114
|
+
image_256: "default_section.png",
|
|
110
115
|
index_asset: {
|
|
111
116
|
url: "http://path/to/index.html",
|
|
112
117
|
},
|
|
@@ -117,6 +122,7 @@ describe("#createFromDeckVersion", () => {
|
|
|
117
122
|
{
|
|
118
123
|
id: 3,
|
|
119
124
|
title: "Section 3",
|
|
125
|
+
image_256: "default_section.png",
|
|
120
126
|
index_asset: {
|
|
121
127
|
url: "http://path/to/index.html",
|
|
122
128
|
},
|
|
@@ -135,7 +141,7 @@ describe("#createFromDeckVersion", () => {
|
|
|
135
141
|
expect(deck.sections.length).toEqual(3);
|
|
136
142
|
expect(deck.sections.at(0).title).toEqual("Section 1");
|
|
137
143
|
expect(deck.sections.at(deck.sections.length - 1).title).toEqual(
|
|
138
|
-
"Section 3"
|
|
144
|
+
"Section 3",
|
|
139
145
|
);
|
|
140
146
|
});
|
|
141
147
|
|
|
@@ -154,8 +160,55 @@ describe("#createFromDeckVersion", () => {
|
|
|
154
160
|
expect(lastSection.title).toEqual("Orange");
|
|
155
161
|
expect(lastSection.key).toEqual("template-orange");
|
|
156
162
|
expect(lastSection.html).toEqual(
|
|
157
|
-
"http://path/to/template/orange/index.html"
|
|
163
|
+
"http://path/to/template/orange/index.html",
|
|
158
164
|
);
|
|
159
165
|
expect(lastSection.css).toEqual("http://path/to/template/orange/slide.css");
|
|
160
166
|
});
|
|
167
|
+
|
|
168
|
+
describe("Screenshots", () => {
|
|
169
|
+
it("should use the default image from the slide if no screenshot found", () => {
|
|
170
|
+
const deck = new DeckVersionModel(deckVersionJSON);
|
|
171
|
+
const presentationDeck = PresentationDeck.createFromDeckVersion(deck);
|
|
172
|
+
expect(presentationDeck.thumbnail).toEqual(deckVersionJSON.image_256);
|
|
173
|
+
});
|
|
174
|
+
|
|
175
|
+
it("should use the screenshot model if it matches", () => {
|
|
176
|
+
const deck = new DeckVersionModel(deckVersionJSON);
|
|
177
|
+
const options = {
|
|
178
|
+
screenshots: new DeckVersionScreenshotCollection([
|
|
179
|
+
{ subject: deck.url(), image_256: "test-screenshot.png" },
|
|
180
|
+
]),
|
|
181
|
+
};
|
|
182
|
+
|
|
183
|
+
const presentationDeck = PresentationDeck.createFromDeckVersion(
|
|
184
|
+
deck,
|
|
185
|
+
options,
|
|
186
|
+
);
|
|
187
|
+
expect(presentationDeck.thumbnail).toEqual("test-screenshot.png");
|
|
188
|
+
});
|
|
189
|
+
|
|
190
|
+
it("should pass screenshots to nested models", () => {
|
|
191
|
+
const deck = new DeckVersionModel(deckVersionJSON);
|
|
192
|
+
const section = deck.section_set.first();
|
|
193
|
+
const slide = section.slide_set.first();
|
|
194
|
+
|
|
195
|
+
const options = {
|
|
196
|
+
screenshots: new DeckVersionScreenshotCollection([
|
|
197
|
+
{ subject: deck.url(), image_256: "test-screenshot.png" },
|
|
198
|
+
{ subject: section.url(), image_256: "test-screenshot.png" },
|
|
199
|
+
{ subject: slide.url(), image_256: "test-screenshot.png" },
|
|
200
|
+
]),
|
|
201
|
+
};
|
|
202
|
+
|
|
203
|
+
const presentationDeck = PresentationDeck.createFromDeckVersion(
|
|
204
|
+
deck,
|
|
205
|
+
options,
|
|
206
|
+
);
|
|
207
|
+
const presentationSection = presentationDeck.sections.first();
|
|
208
|
+
const presentationSlide = presentationSection.slides.first();
|
|
209
|
+
|
|
210
|
+
expect(presentationSection.thumbnail).toEqual("test-screenshot.png");
|
|
211
|
+
expect(presentationSlide.thumbnail).toEqual("test-screenshot.png");
|
|
212
|
+
});
|
|
213
|
+
});
|
|
161
214
|
});
|
|
@@ -13,7 +13,7 @@ export const PresentationDeckCollection = BasePresentationCollection.extend(
|
|
|
13
13
|
/** @lends presentation.PresentationDeckCollection# */ {
|
|
14
14
|
comparator: "sequence",
|
|
15
15
|
model: "PresentationDeck",
|
|
16
|
-
}
|
|
16
|
+
},
|
|
17
17
|
);
|
|
18
18
|
|
|
19
19
|
register("PresentationDeckCollection", PresentationDeckCollection);
|