@livepreso/api 6.41.0 → 6.44.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 +5 -0
- package/.rush/temp/build-cache-tar.log +7 -0
- package/.rush/temp/package-deps_test.json +170 -0
- package/.rush/temp/shrinkwrap-deps.json +957 -0
- package/CHANGELOG.json +53 -0
- package/CHANGELOG.md +32 -0
- package/api.build.log +4 -0
- package/babel.config.js +9 -18
- package/cjs/api.js +1 -1
- package/cjs/api.js.map +1 -1
- package/cjs/api.spec.js +2 -2
- package/cjs/api.spec.js.map +1 -1
- package/cjs/auth.js +6 -5
- package/cjs/auth.js.map +1 -1
- package/cjs/auth.spec.js +25 -23
- package/cjs/auth.spec.js.map +1 -1
- package/cjs/caching.js +3 -3
- package/cjs/collections/activity.js +22 -27
- package/cjs/collections/activity.js.map +1 -1
- package/cjs/collections/adjunct-sections.js +2 -2
- package/cjs/collections/adjunct-sections.js.map +1 -1
- package/cjs/collections/adjunct-slides.js +2 -2
- package/cjs/collections/adjunct-slides.js.map +1 -1
- package/cjs/collections/adjunct-sub-slides.js +2 -2
- package/cjs/collections/adjunct-sub-slides.js.map +1 -1
- package/cjs/collections/appointment-adjunct-tags.js +28 -0
- package/cjs/collections/appointment-adjunct-tags.js.map +1 -0
- package/cjs/collections/appointment-deckversion-tags.js +28 -0
- package/cjs/collections/appointment-deckversion-tags.js.map +1 -0
- package/cjs/collections/appointment-duplicates.js +2 -2
- package/cjs/collections/appointment-duplicates.js.map +1 -1
- package/cjs/collections/appointment-editors.js +2 -2
- package/cjs/collections/appointment-editors.js.map +1 -1
- package/cjs/collections/appointment-section-tags.js +28 -0
- package/cjs/collections/appointment-section-tags.js.map +1 -0
- package/cjs/collections/appointment-slide-tags.js +28 -0
- package/cjs/collections/appointment-slide-tags.js.map +1 -0
- package/cjs/collections/appointment-tags.js +208 -0
- package/cjs/collections/appointment-tags.js.map +1 -0
- package/cjs/collections/appointments.js +10 -6
- package/cjs/collections/appointments.js.map +1 -1
- package/cjs/collections/assets.js +2 -2
- package/cjs/collections/assets.js.map +1 -1
- package/cjs/collections/auto-adjuncts.js +7 -3
- package/cjs/collections/auto-adjuncts.js.map +1 -1
- package/cjs/collections/base.js +103 -25
- package/cjs/collections/base.js.map +1 -1
- package/cjs/collections/base.spec.js +231 -123
- package/cjs/collections/base.spec.js.map +1 -1
- package/cjs/collections/cms-vals.js +2 -2
- package/cjs/collections/cms-vals.js.map +1 -1
- package/cjs/collections/contacts.js +2 -2
- package/cjs/collections/contacts.js.map +1 -1
- package/cjs/collections/created-assets.js +2 -2
- package/cjs/collections/created-assets.js.map +1 -1
- package/cjs/collections/customers.js +2 -2
- package/cjs/collections/customers.js.map +1 -1
- package/cjs/collections/deck-notes.js +2 -2
- package/cjs/collections/deck-notes.js.map +1 -1
- package/cjs/collections/deck-versions.js +20 -8
- package/cjs/collections/deck-versions.js.map +1 -1
- package/cjs/collections/decks.js +2 -2
- package/cjs/collections/decks.js.map +1 -1
- package/cjs/collections/deleted-assets.js +2 -2
- package/cjs/collections/deleted-assets.js.map +1 -1
- package/cjs/collections/dispatches.js +4 -4
- package/cjs/collections/dispatches.js.map +1 -1
- package/cjs/collections/event-objects.js +2 -2
- package/cjs/collections/event-objects.js.map +1 -1
- package/cjs/collections/events.js +2 -2
- package/cjs/collections/events.js.map +1 -1
- package/cjs/collections/groups.js +2 -2
- package/cjs/collections/groups.js.map +1 -1
- package/cjs/collections/images.js +2 -2
- package/cjs/collections/images.js.map +1 -1
- package/cjs/collections/locations.js +2 -2
- package/cjs/collections/locations.js.map +1 -1
- package/cjs/collections/opportunities.js +2 -2
- package/cjs/collections/opportunities.js.map +1 -1
- package/cjs/collections/pack-diffs.js +2 -2
- package/cjs/collections/pack-diffs.js.map +1 -1
- package/cjs/collections/packs.js +2 -2
- package/cjs/collections/packs.js.map +1 -1
- package/cjs/collections/presets.js +2 -2
- package/cjs/collections/presets.js.map +1 -1
- package/cjs/collections/section-selections.js +2 -2
- package/cjs/collections/section-selections.js.map +1 -1
- package/cjs/collections/sections.js +2 -2
- package/cjs/collections/sections.js.map +1 -1
- package/cjs/collections/slide-selections.js +2 -2
- package/cjs/collections/slide-selections.js.map +1 -1
- package/cjs/collections/slides.js +2 -2
- package/cjs/collections/slides.js.map +1 -1
- package/cjs/collections/snapshots.js +2 -2
- package/cjs/collections/snapshots.js.map +1 -1
- package/cjs/collections/sub-slides.js +2 -2
- package/cjs/collections/sub-slides.js.map +1 -1
- package/cjs/collections/tags.js +28 -0
- package/cjs/collections/tags.js.map +1 -0
- package/cjs/collections/teams.js +2 -2
- package/cjs/collections/teams.js.map +1 -1
- package/cjs/collections/templates.js +2 -2
- package/cjs/collections/templates.js.map +1 -1
- package/cjs/collections/uploads.js +2 -2
- package/cjs/collections/uploads.js.map +1 -1
- package/cjs/collections/users.js +2 -2
- package/cjs/collections/users.js.map +1 -1
- package/cjs/collections.js +115 -0
- package/cjs/collections.js.map +1 -1
- package/cjs/index.js +3 -0
- package/cjs/index.js.map +1 -1
- package/cjs/middleware.js.map +1 -1
- package/cjs/middlewares/auth.js +10 -6
- package/cjs/middlewares/auth.js.map +1 -1
- package/cjs/middlewares/base.js +1 -3
- package/cjs/middlewares/base.js.map +1 -1
- package/cjs/middlewares/json.js +10 -6
- package/cjs/middlewares/json.js.map +1 -1
- package/cjs/middlewares/redirect.js +10 -6
- package/cjs/middlewares/redirect.js.map +1 -1
- package/cjs/models/activity-item.js +6 -2
- package/cjs/models/activity-item.js.map +1 -1
- package/cjs/models/adjunct-section.js +2 -2
- package/cjs/models/adjunct-section.js.map +1 -1
- package/cjs/models/adjunct-slide.js +2 -2
- package/cjs/models/adjunct-slide.js.map +1 -1
- package/cjs/models/adjunct-sub-slide.js +2 -2
- package/cjs/models/adjunct-sub-slide.js.map +1 -1
- package/cjs/models/adjunct.js +2 -2
- package/cjs/models/adjunct.js.map +1 -1
- package/cjs/models/api.js.map +1 -1
- package/cjs/models/appointment-adjunct-tags.js +52 -0
- package/cjs/models/appointment-adjunct-tags.js.map +1 -0
- package/cjs/models/appointment-deckversion-tags.js +52 -0
- package/cjs/models/appointment-deckversion-tags.js.map +1 -0
- package/cjs/models/appointment-duplicate.js +8 -3
- package/cjs/models/appointment-duplicate.js.map +1 -1
- package/cjs/models/appointment-editor.js +2 -2
- package/cjs/models/appointment-editor.js.map +1 -1
- package/cjs/models/appointment-section-tags.js +52 -0
- package/cjs/models/appointment-section-tags.js.map +1 -0
- package/cjs/models/appointment-slide-tags.js +52 -0
- package/cjs/models/appointment-slide-tags.js.map +1 -0
- package/cjs/models/appointment-stats.js +2 -2
- package/cjs/models/appointment-stats.js.map +1 -1
- package/cjs/models/appointment-tags.js +48 -0
- package/cjs/models/appointment-tags.js.map +1 -0
- package/cjs/models/appointment-viewing.js +2 -2
- package/cjs/models/appointment-viewing.js.map +1 -1
- package/cjs/models/appointment.js +16 -7
- package/cjs/models/appointment.js.map +1 -1
- package/cjs/models/asset.js +2 -2
- package/cjs/models/asset.js.map +1 -1
- package/cjs/models/auto-adjunct-key-check.js +2 -2
- package/cjs/models/auto-adjunct-key-check.js.map +1 -1
- package/cjs/models/auto-adjunct.js +2 -2
- package/cjs/models/auto-adjunct.js.map +1 -1
- package/cjs/models/base.js +25 -36
- package/cjs/models/base.js.map +1 -1
- package/cjs/models/base.spec.js +45 -45
- package/cjs/models/base.spec.js.map +1 -1
- package/cjs/models/choicelist.js.map +1 -1
- package/cjs/models/cms-val.js.map +1 -1
- package/cjs/models/contact.js +2 -2
- package/cjs/models/contact.js.map +1 -1
- package/cjs/models/customer.js +2 -2
- package/cjs/models/customer.js.map +1 -1
- package/cjs/models/deck-note.js +2 -2
- package/cjs/models/deck-note.js.map +1 -1
- package/cjs/models/deck-tags.js +61 -0
- package/cjs/models/deck-tags.js.map +1 -0
- package/cjs/models/deck-version.js +5 -3
- package/cjs/models/deck-version.js.map +1 -1
- package/cjs/models/deck.js +6 -3
- package/cjs/models/deck.js.map +1 -1
- package/cjs/models/dispatch-preview.js +3 -3
- package/cjs/models/dispatch-preview.js.map +1 -1
- package/cjs/models/dispatch.js +2 -2
- package/cjs/models/dispatch.js.map +1 -1
- package/cjs/models/envs.js.map +1 -1
- package/cjs/models/event-object.js +2 -2
- package/cjs/models/event-object.js.map +1 -1
- package/cjs/models/event.js +2 -2
- package/cjs/models/event.js.map +1 -1
- package/cjs/models/feed-data.js +2 -2
- package/cjs/models/feed-data.js.map +1 -1
- package/cjs/models/file.js +2 -2
- package/cjs/models/file.js.map +1 -1
- package/cjs/models/group.js +2 -2
- package/cjs/models/group.js.map +1 -1
- package/cjs/models/handover.js +2 -2
- package/cjs/models/handover.js.map +1 -1
- package/cjs/models/hosted-preso.js +2 -2
- package/cjs/models/hosted-preso.js.map +1 -1
- package/cjs/models/image.js +2 -2
- package/cjs/models/image.js.map +1 -1
- package/cjs/models/location.js +2 -2
- package/cjs/models/location.js.map +1 -1
- package/cjs/models/manifest-json.js +83 -58
- package/cjs/models/manifest-json.js.map +1 -1
- package/cjs/models/onshare.js +2 -2
- package/cjs/models/onshare.js.map +1 -1
- package/cjs/models/opportunity.js +2 -2
- package/cjs/models/opportunity.js.map +1 -1
- package/cjs/models/pack-diff.js +2 -2
- package/cjs/models/pack-diff.js.map +1 -1
- package/cjs/models/pack.js +2 -2
- package/cjs/models/pack.js.map +1 -1
- package/cjs/models/preset.js +22 -2
- package/cjs/models/preset.js.map +1 -1
- package/cjs/models/refresh-request.js +2 -2
- package/cjs/models/refresh-request.js.map +1 -1
- package/cjs/models/room.js +2 -2
- package/cjs/models/room.js.map +1 -1
- package/cjs/models/salesforce-lookup.js +2 -2
- package/cjs/models/salesforce-lookup.js.map +1 -1
- package/cjs/models/section-selection.js +2 -2
- package/cjs/models/section-selection.js.map +1 -1
- package/cjs/models/section.js +2 -2
- package/cjs/models/section.js.map +1 -1
- package/cjs/models/slide-selection.js +2 -2
- package/cjs/models/slide-selection.js.map +1 -1
- package/cjs/models/slide.js +2 -2
- package/cjs/models/slide.js.map +1 -1
- package/cjs/models/snapshot.js +2 -2
- package/cjs/models/snapshot.js.map +1 -1
- package/cjs/models/sub-slide.js +2 -2
- package/cjs/models/sub-slide.js.map +1 -1
- package/cjs/models/support-ticket.js +2 -2
- package/cjs/models/support-ticket.js.map +1 -1
- package/cjs/models/tag.js +54 -0
- package/cjs/models/tag.js.map +1 -0
- package/cjs/models/team.js +2 -2
- package/cjs/models/team.js.map +1 -1
- package/cjs/models/template.js +2 -2
- package/cjs/models/template.js.map +1 -1
- package/cjs/models/tenancy.js +2 -2
- package/cjs/models/tenancy.js.map +1 -1
- package/cjs/models/timing-log.js +20 -41
- package/cjs/models/timing-log.js.map +1 -1
- package/cjs/models/timing-log.spec.js +18 -86
- package/cjs/models/timing-log.spec.js.map +1 -1
- package/cjs/models/transcribe-socket.js +2 -2
- package/cjs/models/transcribe-socket.js.map +1 -1
- package/cjs/models/upload.js +2 -2
- package/cjs/models/upload.js.map +1 -1
- package/cjs/models/user.js +4 -3
- package/cjs/models/user.js.map +1 -1
- package/cjs/models/user.spec.js +10 -8
- package/cjs/models/user.spec.js.map +1 -1
- package/cjs/models.js +148 -0
- package/cjs/models.js.map +1 -1
- package/cjs/presentation/appointment-presentation.js +13 -5
- package/cjs/presentation/appointment-presentation.js.map +1 -1
- package/cjs/presentation/base-presentation-collection.js.map +1 -1
- package/cjs/presentation/base-presentation-model.js +65 -0
- package/cjs/presentation/base-presentation-model.js.map +1 -1
- package/cjs/presentation/base-presentation-model.spec.js +87 -0
- package/cjs/presentation/base-presentation-model.spec.js.map +1 -1
- package/cjs/presentation/presentation-deck.js +31 -20
- package/cjs/presentation/presentation-deck.js.map +1 -1
- package/cjs/presentation/presentation-deck.spec.js +15 -13
- package/cjs/presentation/presentation-deck.spec.js.map +1 -1
- package/cjs/presentation/presentation-decks.js +2 -2
- package/cjs/presentation/presentation-decks.js.map +1 -1
- package/cjs/presentation/presentation-section.js +36 -17
- package/cjs/presentation/presentation-section.js.map +1 -1
- package/cjs/presentation/presentation-section.spec.js +418 -0
- package/cjs/presentation/presentation-section.spec.js.map +1 -0
- package/cjs/presentation/presentation-sections.js +2 -2
- package/cjs/presentation/presentation-sections.js.map +1 -1
- package/cjs/presentation/presentation-slide.js +35 -18
- package/cjs/presentation/presentation-slide.js.map +1 -1
- package/cjs/presentation/presentation-slide.spec.js +294 -0
- package/cjs/presentation/presentation-slide.spec.js.map +1 -0
- package/cjs/presentation/presentation-slides.js +2 -2
- package/cjs/presentation/presentation-slides.js.map +1 -1
- package/cjs/presentation/presentation-subslide.js +11 -7
- package/cjs/presentation/presentation-subslide.js.map +1 -1
- package/cjs/presentation/presentation-subslide.spec.js +68 -20
- package/cjs/presentation/presentation-subslide.spec.js.map +1 -1
- package/cjs/presentation/presentation-subslides.js +2 -2
- package/cjs/presentation/presentation-subslides.js.map +1 -1
- package/cjs/presentation/presentation.js +19 -9
- package/cjs/presentation/presentation.js.map +1 -1
- package/cjs/presentation.js +10 -0
- package/cjs/presentation.js.map +1 -1
- package/cjs/state-register.js +11 -1
- package/cjs/state-register.js.map +1 -1
- package/cjs/sync.js +7 -7
- package/cjs/sync.js.map +1 -1
- package/cjs/utils.js +7 -7
- package/cjs/utils.js.map +1 -1
- package/cjs/utils.spec.js.map +1 -1
- package/config/rush-project.json +11 -0
- package/index.js +0 -1
- package/jest.config.js +4 -4
- package/package.json +19 -59
- package/setup-tests.js +2 -1
- package/src/api.js +3 -3
- package/src/api.spec.js +3 -4
- package/src/auth.js +6 -7
- package/src/auth.spec.js +3 -4
- package/src/collections/activity.js +5 -6
- package/src/collections/adjunct-sections.js +4 -4
- package/src/collections/adjunct-slides.js +4 -4
- package/src/collections/adjunct-sub-slides.js +2 -2
- package/src/collections/appointment-adjunct-tags.js +18 -0
- package/src/collections/appointment-deckversion-tags.js +21 -0
- package/src/collections/appointment-duplicates.js +2 -2
- package/src/collections/appointment-editors.js +2 -2
- package/src/collections/appointment-section-tags.js +18 -0
- package/src/collections/appointment-slide-tags.js +18 -0
- package/src/collections/appointment-tags.js +136 -0
- package/src/collections/appointments.js +18 -23
- package/src/collections/assets.js +2 -2
- package/src/collections/auto-adjuncts.js +5 -5
- package/src/collections/base.js +88 -18
- package/src/collections/base.spec.js +100 -8
- package/src/collections/cms-vals.js +3 -3
- package/src/collections/contacts.js +2 -2
- package/src/collections/created-assets.js +2 -2
- package/src/collections/customers.js +2 -2
- package/src/collections/deck-notes.js +2 -2
- package/src/collections/deck-versions.js +18 -15
- package/src/collections/decks.js +2 -2
- package/src/collections/deleted-assets.js +2 -2
- package/src/collections/dispatches.js +8 -13
- package/src/collections/event-objects.js +2 -2
- package/src/collections/events.js +2 -2
- package/src/collections/groups.js +2 -2
- package/src/collections/images.js +2 -2
- package/src/collections/locations.js +2 -2
- package/src/collections/opportunities.js +2 -2
- package/src/collections/pack-diffs.js +2 -2
- package/src/collections/packs.js +2 -2
- package/src/collections/presets.js +2 -2
- package/src/collections/section-selections.js +4 -4
- package/src/collections/sections.js +2 -2
- package/src/collections/slide-selections.js +4 -4
- package/src/collections/slides.js +2 -2
- package/src/collections/snapshots.js +2 -2
- package/src/collections/sub-slides.js +2 -2
- package/src/collections/tags.js +18 -0
- package/src/collections/teams.js +2 -2
- package/src/collections/templates.js +2 -2
- package/src/collections/uploads.js +2 -2
- package/src/collections/users.js +2 -2
- package/src/collections.js +6 -0
- package/src/index.js +1 -4
- package/src/middleware.js +1 -1
- package/src/middlewares/json.js +2 -2
- package/src/middlewares/redirect.js +1 -2
- package/src/models/activity-item.js +6 -6
- package/src/models/adjunct-section.js +5 -5
- package/src/models/adjunct-slide.js +5 -5
- package/src/models/adjunct-sub-slide.js +5 -5
- package/src/models/adjunct.js +4 -4
- package/src/models/api.js +1 -1
- package/src/models/appointment-adjunct-tags.js +41 -0
- package/src/models/appointment-deckversion-tags.js +41 -0
- package/src/models/appointment-duplicate.js +7 -7
- package/src/models/appointment-editor.js +6 -6
- package/src/models/appointment-section-tags.js +41 -0
- package/src/models/appointment-slide-tags.js +41 -0
- package/src/models/appointment-stats.js +5 -5
- package/src/models/appointment-tags.js +39 -0
- package/src/models/appointment-viewing.js +3 -3
- package/src/models/appointment.js +35 -29
- package/src/models/asset.js +5 -5
- package/src/models/auto-adjunct-key-check.js +5 -5
- package/src/models/auto-adjunct.js +4 -4
- package/src/models/base.js +36 -37
- package/src/models/base.spec.js +61 -62
- package/src/models/choicelist.js +2 -2
- package/src/models/cms-val.js +3 -3
- package/src/models/contact.js +9 -9
- package/src/models/customer.js +13 -13
- package/src/models/deck-note.js +4 -4
- package/src/models/deck-tags.js +52 -0
- package/src/models/deck-version.js +9 -8
- package/src/models/deck.js +8 -6
- package/src/models/dispatch-preview.js +6 -7
- package/src/models/dispatch.js +6 -7
- package/src/models/envs.js +1 -1
- package/src/models/event-object.js +6 -6
- package/src/models/event.js +7 -7
- package/src/models/feed-data.js +5 -5
- package/src/models/file.js +4 -4
- package/src/models/group.js +3 -3
- package/src/models/handover.js +5 -5
- package/src/models/hosted-preso.js +5 -5
- package/src/models/image.js +4 -4
- package/src/models/location.js +5 -5
- package/src/models/manifest-json.js +77 -30
- package/src/models/onshare.js +5 -5
- package/src/models/opportunity.js +5 -5
- package/src/models/pack-diff.js +5 -5
- package/src/models/pack.js +4 -4
- package/src/models/preset.js +24 -5
- package/src/models/refresh-request.js +6 -6
- package/src/models/room.js +3 -3
- package/src/models/salesforce-lookup.js +3 -3
- package/src/models/section-selection.js +6 -6
- package/src/models/section.js +7 -7
- package/src/models/slide-selection.js +6 -6
- package/src/models/slide.js +7 -7
- package/src/models/snapshot.js +5 -5
- package/src/models/sub-slide.js +5 -5
- package/src/models/support-ticket.js +4 -4
- package/src/models/tag.js +42 -0
- package/src/models/team.js +4 -4
- package/src/models/template.js +4 -4
- package/src/models/tenancy.js +5 -5
- package/src/models/timing-log.js +18 -18
- package/src/models/timing-log.spec.js +28 -29
- package/src/models/transcribe-socket.js +3 -3
- package/src/models/upload.js +3 -3
- package/src/models/user.js +19 -17
- package/src/models/user.spec.js +2 -2
- package/src/models.js +7 -0
- package/src/presentation/appointment-presentation.js +14 -10
- package/src/presentation/base-presentation-model.js +67 -5
- package/src/presentation/base-presentation-model.spec.js +114 -22
- package/src/presentation/presentation-deck.js +54 -52
- package/src/presentation/presentation-deck.spec.js +26 -27
- package/src/presentation/presentation-decks.js +2 -2
- package/src/presentation/presentation-section.js +62 -48
- package/src/presentation/presentation-section.spec.js +363 -0
- package/src/presentation/presentation-sections.js +2 -2
- package/src/presentation/presentation-slide.js +51 -36
- package/src/presentation/presentation-slide.spec.js +250 -0
- package/src/presentation/presentation-slides.js +2 -2
- package/src/presentation/presentation-subslide.js +24 -17
- package/src/presentation/presentation-subslide.spec.js +40 -12
- package/src/presentation/presentation-subslides.js +2 -2
- package/src/presentation/presentation.js +27 -15
- package/src/state-register.js +7 -0
- package/src/sync.js +21 -23
- package/src/utils.js +8 -7
- package/src/utils.spec.js +15 -15
- package/.editorconfig +0 -9
- package/.eslintrc +0 -25
- package/.prettierrc.js +0 -3
- package/jsdoc.json +0 -12
- package/yarn.lock +0 -8099
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import "./presentation-section.js";
|
|
2
2
|
|
|
3
|
-
import { register } from "../state-register.js";
|
|
4
3
|
import { BasePresentationCollection } from "./base-presentation-collection.js";
|
|
4
|
+
import { register } from "../state-register.js";
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* @constructor
|
|
@@ -12,7 +12,7 @@ import { BasePresentationCollection } from "./base-presentation-collection.js";
|
|
|
12
12
|
export const PresentationSectionCollection = BasePresentationCollection.extend(
|
|
13
13
|
/** @lends presentation.PresentationSectionCollection# */ {
|
|
14
14
|
comparator: "sequence",
|
|
15
|
-
model: "PresentationSection"
|
|
15
|
+
model: "PresentationSection",
|
|
16
16
|
}
|
|
17
17
|
);
|
|
18
18
|
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import "./presentation-subslides.js";
|
|
2
2
|
|
|
3
|
-
import url2 from "url";
|
|
4
|
-
|
|
5
|
-
import _ from "lodash";
|
|
6
|
-
|
|
7
3
|
import * as collections from "../collections.js";
|
|
8
|
-
|
|
4
|
+
|
|
9
5
|
import { AdjunctSlideModel, AutoAdjunctModel, SlideModel } from "../models.js";
|
|
10
|
-
|
|
6
|
+
|
|
11
7
|
import { BasePresentationModel } from "./base-presentation-model.js";
|
|
12
8
|
import { PresentationSubSlide } from "./presentation-subslide.js";
|
|
9
|
+
import _ from "lodash";
|
|
10
|
+
import { getAssetRoot } from "../index.js";
|
|
11
|
+
import { register } from "../state-register.js";
|
|
12
|
+
import url2 from "url";
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
15
|
* @constructor
|
|
@@ -47,19 +47,19 @@ export const PresentationSlide = BasePresentationModel.extend(
|
|
|
47
47
|
adjunctID: "number",
|
|
48
48
|
autoAdjunctID: {
|
|
49
49
|
type: "number",
|
|
50
|
-
default: null
|
|
50
|
+
default: null,
|
|
51
51
|
},
|
|
52
52
|
templateID: {
|
|
53
53
|
type: "number",
|
|
54
|
-
default: null
|
|
54
|
+
default: null,
|
|
55
55
|
},
|
|
56
56
|
createdByAutoAdjunct: {
|
|
57
57
|
type: "boolean",
|
|
58
|
-
default: false
|
|
58
|
+
default: false,
|
|
59
59
|
},
|
|
60
60
|
createdByTemplate: {
|
|
61
61
|
type: "boolean",
|
|
62
|
-
default: false
|
|
62
|
+
default: false,
|
|
63
63
|
},
|
|
64
64
|
html: "string",
|
|
65
65
|
css: "string",
|
|
@@ -76,21 +76,21 @@ export const PresentationSlide = BasePresentationModel.extend(
|
|
|
76
76
|
thumbnail: "string",
|
|
77
77
|
selectionID: "number",
|
|
78
78
|
editable: "boolean",
|
|
79
|
-
tags: "array"
|
|
79
|
+
tags: "array",
|
|
80
80
|
},
|
|
81
81
|
|
|
82
82
|
/**
|
|
83
83
|
* @property {models.AdjunctModel} adjunct
|
|
84
84
|
*/
|
|
85
85
|
children: {
|
|
86
|
-
adjunct: "AdjunctModel"
|
|
86
|
+
adjunct: "AdjunctModel",
|
|
87
87
|
},
|
|
88
88
|
|
|
89
89
|
/**
|
|
90
90
|
* @property {presentation.PresentationSubSlideCollection} subslides
|
|
91
91
|
*/
|
|
92
92
|
collections: {
|
|
93
|
-
subslides: "PresentationSubSlideCollection"
|
|
93
|
+
subslides: "PresentationSubSlideCollection",
|
|
94
94
|
},
|
|
95
95
|
|
|
96
96
|
url() {
|
|
@@ -102,7 +102,7 @@ export const PresentationSlide = BasePresentationModel.extend(
|
|
|
102
102
|
}
|
|
103
103
|
}
|
|
104
104
|
return this._url;
|
|
105
|
-
}
|
|
105
|
+
},
|
|
106
106
|
}
|
|
107
107
|
);
|
|
108
108
|
|
|
@@ -113,7 +113,7 @@ export const PresentationSlide = BasePresentationModel.extend(
|
|
|
113
113
|
* @param {object} [options]
|
|
114
114
|
* @returns {presentation.PresentationSlide}
|
|
115
115
|
*/
|
|
116
|
-
PresentationSlide.createFromSlide = function(slideModel, options = {}) {
|
|
116
|
+
PresentationSlide.createFromSlide = function (slideModel, options = {}) {
|
|
117
117
|
_.defaults(options, {
|
|
118
118
|
adjunctSubSlides: new collections.AdjunctSubSlideCollection(),
|
|
119
119
|
rootAssetPath: null,
|
|
@@ -121,7 +121,7 @@ PresentationSlide.createFromSlide = function(slideModel, options = {}) {
|
|
|
121
121
|
choicelist: null,
|
|
122
122
|
getUniqueAdjunctID: () => {
|
|
123
123
|
return parseInt(_.uniqueId(), 10);
|
|
124
|
-
}
|
|
124
|
+
},
|
|
125
125
|
});
|
|
126
126
|
|
|
127
127
|
let html;
|
|
@@ -146,6 +146,8 @@ PresentationSlide.createFromSlide = function(slideModel, options = {}) {
|
|
|
146
146
|
options
|
|
147
147
|
);
|
|
148
148
|
|
|
149
|
+
const tags = PresentationSlide.getTags(slideModel, options);
|
|
150
|
+
|
|
149
151
|
const slide = new PresentationSlide({
|
|
150
152
|
id: slideModel.id,
|
|
151
153
|
adjunctID: null,
|
|
@@ -154,23 +156,23 @@ PresentationSlide.createFromSlide = function(slideModel, options = {}) {
|
|
|
154
156
|
key: slideModel.key,
|
|
155
157
|
thumbnail: slideModel.image_256,
|
|
156
158
|
custom: false,
|
|
157
|
-
editable:
|
|
159
|
+
editable: tags.indexOf("editable") > -1,
|
|
158
160
|
title: slideModel.title,
|
|
159
161
|
section: slideModel.section.id,
|
|
160
|
-
tags
|
|
162
|
+
tags,
|
|
161
163
|
index: config.sequence,
|
|
162
164
|
sequence: config.sequence,
|
|
163
165
|
visible: config.visible,
|
|
164
|
-
selectionID: config.selectionID
|
|
166
|
+
selectionID: config.selectionID,
|
|
165
167
|
});
|
|
166
168
|
|
|
167
169
|
slide.subslides.add(
|
|
168
|
-
slideModel.subslide_set.map(model => {
|
|
170
|
+
slideModel.subslide_set.map((model) => {
|
|
169
171
|
return PresentationSubSlide.createFromSubSlide(model, options);
|
|
170
172
|
})
|
|
171
173
|
);
|
|
172
174
|
|
|
173
|
-
const adjunctSubslides = options.adjunctSubSlides.filter(model => {
|
|
175
|
+
const adjunctSubslides = options.adjunctSubSlides.filter((model) => {
|
|
174
176
|
return model.slide.id === slideModel.id;
|
|
175
177
|
});
|
|
176
178
|
|
|
@@ -181,7 +183,7 @@ PresentationSlide.createFromSlide = function(slideModel, options = {}) {
|
|
|
181
183
|
if (
|
|
182
184
|
adjunctSubslides.length &&
|
|
183
185
|
!slide.subslides.length &&
|
|
184
|
-
!(
|
|
186
|
+
!(tags.indexOf("subslide_container") > -1)
|
|
185
187
|
) {
|
|
186
188
|
slide.subslides.add(PresentationSubSlide.createFromSlide(slide));
|
|
187
189
|
}
|
|
@@ -198,7 +200,7 @@ PresentationSlide.createFromSlide = function(slideModel, options = {}) {
|
|
|
198
200
|
|
|
199
201
|
return PresentationSubSlide.createFromAdjunctSubSlide(model, slideModel, {
|
|
200
202
|
...options,
|
|
201
|
-
id
|
|
203
|
+
id,
|
|
202
204
|
});
|
|
203
205
|
})
|
|
204
206
|
);
|
|
@@ -214,7 +216,7 @@ PresentationSlide.createFromSlide = function(slideModel, options = {}) {
|
|
|
214
216
|
* @param {object} [options]
|
|
215
217
|
* @returns {presentation.PresentationSlide}
|
|
216
218
|
*/
|
|
217
|
-
PresentationSlide.createFromAdjunctSlide = function(
|
|
219
|
+
PresentationSlide.createFromAdjunctSlide = function (
|
|
218
220
|
adjunctSlideModel,
|
|
219
221
|
section = null,
|
|
220
222
|
options = {}
|
|
@@ -226,7 +228,7 @@ PresentationSlide.createFromAdjunctSlide = function(
|
|
|
226
228
|
choicelist: null,
|
|
227
229
|
getUniqueAdjunctID: () => {
|
|
228
230
|
return parseInt(_.uniqueId(), 10);
|
|
229
|
-
}
|
|
231
|
+
},
|
|
230
232
|
});
|
|
231
233
|
|
|
232
234
|
const keyID =
|
|
@@ -241,6 +243,7 @@ PresentationSlide.createFromAdjunctSlide = function(
|
|
|
241
243
|
key = adjunctSlideModel.key;
|
|
242
244
|
} else if (keyID) {
|
|
243
245
|
key = `adjunct-${keyID}`;
|
|
246
|
+
adjunctSlideModel.key = key;
|
|
244
247
|
}
|
|
245
248
|
|
|
246
249
|
const config = PresentationSlide.getVisibilityAndSequence(
|
|
@@ -248,6 +251,8 @@ PresentationSlide.createFromAdjunctSlide = function(
|
|
|
248
251
|
options
|
|
249
252
|
);
|
|
250
253
|
|
|
254
|
+
const tags = PresentationSlide.getTags(adjunctSlideModel, options);
|
|
255
|
+
|
|
251
256
|
const slide = new PresentationSlide({
|
|
252
257
|
id: options.id || options.getUniqueAdjunctID(),
|
|
253
258
|
adjunct: adjunctSlideModel.adjunct ? adjunctSlideModel.adjunct.url() : null,
|
|
@@ -263,10 +268,10 @@ PresentationSlide.createFromAdjunctSlide = function(
|
|
|
263
268
|
temporary: adjunctSlideModel.created_by_autoadjunct,
|
|
264
269
|
title: adjunctSlideModel.title,
|
|
265
270
|
section: section ? section.id : null,
|
|
266
|
-
tags
|
|
271
|
+
tags,
|
|
267
272
|
index: config.sequence,
|
|
268
273
|
sequence: config.sequence,
|
|
269
|
-
visible: config.visible
|
|
274
|
+
visible: config.visible,
|
|
270
275
|
});
|
|
271
276
|
|
|
272
277
|
if (adjunctSlideModel.template) {
|
|
@@ -299,7 +304,7 @@ PresentationSlide.createFromAdjunctSlide = function(
|
|
|
299
304
|
return slide;
|
|
300
305
|
};
|
|
301
306
|
|
|
302
|
-
PresentationSlide.createFromManifestJSON = function(
|
|
307
|
+
PresentationSlide.createFromManifestJSON = function (
|
|
303
308
|
manifestJSON,
|
|
304
309
|
key,
|
|
305
310
|
sectionID,
|
|
@@ -320,13 +325,13 @@ PresentationSlide.createFromManifestJSON = function(
|
|
|
320
325
|
custom: false,
|
|
321
326
|
visible: true,
|
|
322
327
|
section: sectionID,
|
|
323
|
-
tags: manifestJSON.tags[key] || null
|
|
328
|
+
tags: manifestJSON.tags[key] || null,
|
|
324
329
|
});
|
|
325
330
|
|
|
326
331
|
return slide;
|
|
327
332
|
};
|
|
328
333
|
|
|
329
|
-
PresentationSlide.createFromManifestImpostor = function(
|
|
334
|
+
PresentationSlide.createFromManifestImpostor = function (
|
|
330
335
|
slide,
|
|
331
336
|
index,
|
|
332
337
|
sectionID
|
|
@@ -339,13 +344,13 @@ PresentationSlide.createFromManifestImpostor = function(
|
|
|
339
344
|
visible: true,
|
|
340
345
|
section: sectionID,
|
|
341
346
|
index,
|
|
342
|
-
...slide
|
|
347
|
+
...slide,
|
|
343
348
|
});
|
|
344
349
|
|
|
345
350
|
return presentationSlide;
|
|
346
351
|
};
|
|
347
352
|
|
|
348
|
-
PresentationSlide.createFromTemplate = function(
|
|
353
|
+
PresentationSlide.createFromTemplate = function (
|
|
349
354
|
template,
|
|
350
355
|
index,
|
|
351
356
|
sectionID,
|
|
@@ -362,12 +367,12 @@ PresentationSlide.createFromTemplate = function(
|
|
|
362
367
|
// Makes sure templates are rendered with unique IDs
|
|
363
368
|
autoAdjunctID: Number(_.uniqueId()),
|
|
364
369
|
index,
|
|
365
|
-
createdByTemplate: true
|
|
370
|
+
createdByTemplate: true,
|
|
366
371
|
});
|
|
367
372
|
return presentationSlide;
|
|
368
373
|
};
|
|
369
374
|
|
|
370
|
-
PresentationSlide.createFromAutoAdjunct = function(model, opts) {
|
|
375
|
+
PresentationSlide.createFromAutoAdjunct = function (model, opts) {
|
|
371
376
|
const requiredKeys = ["index", "deckversionID"];
|
|
372
377
|
for (const key of requiredKeys) {
|
|
373
378
|
if (typeof opts[key] === "undefined") {
|
|
@@ -381,9 +386,18 @@ PresentationSlide.createFromAutoAdjunct = function(model, opts) {
|
|
|
381
386
|
index: -1,
|
|
382
387
|
deckversionID: -1,
|
|
383
388
|
sequence: opts.index,
|
|
384
|
-
impostor: false
|
|
389
|
+
impostor: false,
|
|
385
390
|
});
|
|
386
391
|
|
|
392
|
+
const tags = PresentationSlide.getTags(
|
|
393
|
+
{
|
|
394
|
+
isAutoAdjunct: true,
|
|
395
|
+
key: model.key,
|
|
396
|
+
tags: model.tags,
|
|
397
|
+
},
|
|
398
|
+
options
|
|
399
|
+
);
|
|
400
|
+
|
|
387
401
|
const autoAdjunct = new AutoAdjunctModel(model);
|
|
388
402
|
|
|
389
403
|
const autoAdjunctSlide = new PresentationSlide({
|
|
@@ -404,7 +418,8 @@ PresentationSlide.createFromAutoAdjunct = function(model, opts) {
|
|
|
404
418
|
visible: options.visible,
|
|
405
419
|
allowConvert: options.allowConvert,
|
|
406
420
|
deckversion: options.deckversionID,
|
|
407
|
-
impostor: options.impostor
|
|
421
|
+
impostor: options.impostor,
|
|
422
|
+
tags,
|
|
408
423
|
});
|
|
409
424
|
|
|
410
425
|
if (autoAdjunct.template) {
|
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
import { AdjunctSlideModel } from "../models/adjunct-slide";
|
|
2
|
+
import { AutoAdjunctModel } from "../models/auto-adjunct";
|
|
3
|
+
import { PresentationSlide } from "./presentation-slide";
|
|
4
|
+
import { SlideModel } from "../models/slide";
|
|
5
|
+
|
|
6
|
+
describe("#createFromSlide", () => {
|
|
7
|
+
const getSlideJSON = () => {
|
|
8
|
+
return {
|
|
9
|
+
created_date: "2021-07-22T04:57:56.484060Z",
|
|
10
|
+
description: "",
|
|
11
|
+
enabled: true,
|
|
12
|
+
id: 23219,
|
|
13
|
+
image_128: null,
|
|
14
|
+
image_256: null,
|
|
15
|
+
image_512: null,
|
|
16
|
+
index_asset: {
|
|
17
|
+
created_date: "2021-07-22T04:57:32.977770Z",
|
|
18
|
+
data: "sections/test-deck/slides/slide-key/index.html",
|
|
19
|
+
id: 148204,
|
|
20
|
+
modified_date: "2021-07-22T04:57:32.977790Z",
|
|
21
|
+
orig_path: "sections/test-deck/slides/slide-key",
|
|
22
|
+
pack: "https://staging-test.salespreso.com/api/packs/410/",
|
|
23
|
+
url: "https://staging-test-cdn.salespreso.com/media/pack/410/assets/sections/test-deck/slides/slide-key/index.html",
|
|
24
|
+
},
|
|
25
|
+
key: "slide-key",
|
|
26
|
+
modified_date: "2021-07-22T05:03:07.778106Z",
|
|
27
|
+
namespaced_key: "test-deck/slide-key",
|
|
28
|
+
section: "https://staging-test.salespreso.com/api/sections/1738/",
|
|
29
|
+
sequence: 13,
|
|
30
|
+
subslide_set: [],
|
|
31
|
+
tags: [],
|
|
32
|
+
title: "Digital Transformation",
|
|
33
|
+
url: "https://staging-test.salespreso.com/api/slides/23219/",
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
it("should create a presentation slide", async () => {
|
|
38
|
+
const slide = new SlideModel(getSlideJSON());
|
|
39
|
+
const presentationSlide = PresentationSlide.createFromSlide(slide);
|
|
40
|
+
|
|
41
|
+
const expected = {
|
|
42
|
+
adjunctID: null,
|
|
43
|
+
autoAdjunctID: null,
|
|
44
|
+
createdByAutoAdjunct: false,
|
|
45
|
+
createdByTemplate: false,
|
|
46
|
+
css: "https://staging-test-cdn.salespreso.com/media/pack/410/assets/sections/test-deck/slides/slide-key/slide.css",
|
|
47
|
+
custom: false,
|
|
48
|
+
editable: false,
|
|
49
|
+
html: "https://staging-test-cdn.salespreso.com/media/pack/410/assets/sections/test-deck/slides/slide-key/index.html",
|
|
50
|
+
id: 23219,
|
|
51
|
+
index: 13,
|
|
52
|
+
key: "slide-key",
|
|
53
|
+
section: 1738,
|
|
54
|
+
selectionID: null,
|
|
55
|
+
sequence: 13,
|
|
56
|
+
subslides: [],
|
|
57
|
+
tags: [],
|
|
58
|
+
templateID: null,
|
|
59
|
+
thumbnail: null,
|
|
60
|
+
title: "Digital Transformation",
|
|
61
|
+
url: "/api/slides/23219/",
|
|
62
|
+
visible: true,
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
expect(presentationSlide.toJSON()).toEqual(expected);
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
it("should use deckTags when available", async () => {
|
|
69
|
+
const slide = new SlideModel(getSlideJSON());
|
|
70
|
+
const options = {
|
|
71
|
+
deckTags: { "test-deck/slide-key": ["slide-tag"] },
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
const presentationSlide = PresentationSlide.createFromSlide(slide, options);
|
|
75
|
+
|
|
76
|
+
expect(presentationSlide.tags).toEqual(["slide-tag"]);
|
|
77
|
+
});
|
|
78
|
+
});
|
|
79
|
+
|
|
80
|
+
describe("#createFromAdjunctSlide", () => {
|
|
81
|
+
const getAdjunctSlideJSON = () => {
|
|
82
|
+
return {
|
|
83
|
+
adjunct: "https://staging-test.salespreso.com/api/adjuncts/7457/",
|
|
84
|
+
appointment: "https://staging-test.salespreso.com/api/appointments/2426/",
|
|
85
|
+
created_by_autoadjunct: true,
|
|
86
|
+
created_date: "2021-09-20T05:34:45.267698Z",
|
|
87
|
+
creator_autoadjunct:
|
|
88
|
+
"https://staging-test.salespreso.com/api/autoadjuncts/541/",
|
|
89
|
+
deleted: false,
|
|
90
|
+
enabled: true,
|
|
91
|
+
html_content:
|
|
92
|
+
'<img src="https://staging-test-cdn.salespreso.com/media/autoadjunct/123.png">',
|
|
93
|
+
id: 10529,
|
|
94
|
+
image_128:
|
|
95
|
+
"https://staging-test-cdn.salespreso.com/media/CACHE/images/autoadjunct/123/456.jpg",
|
|
96
|
+
image_256:
|
|
97
|
+
"https://staging-test-cdn.salespreso.com/media/CACHE/images/autoadjunct/123/456.jpg",
|
|
98
|
+
image_512:
|
|
99
|
+
"https://staging-test-cdn.salespreso.com/media/CACHE/images/autoadjunct/123/456.jpg",
|
|
100
|
+
image_1024:
|
|
101
|
+
"https://staging-test-cdn.salespreso.com/media/CACHE/images/autoadjunct/123/456.png",
|
|
102
|
+
image_original:
|
|
103
|
+
"https://staging-test-cdn.salespreso.com/media/autoadjunct/123.png",
|
|
104
|
+
modified_date: "2021-09-20T05:34:45.267703Z",
|
|
105
|
+
section: "https://staging-test.salespreso.com/api/sections/1755/",
|
|
106
|
+
sequence: 3,
|
|
107
|
+
tags: [],
|
|
108
|
+
template: null,
|
|
109
|
+
title: "Six",
|
|
110
|
+
url: "https://staging-test.salespreso.com/api/adjunctslides/10529/",
|
|
111
|
+
};
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
it("should create a presentation slide", async () => {
|
|
115
|
+
const adjunctSlide = new AdjunctSlideModel(getAdjunctSlideJSON());
|
|
116
|
+
const presentationSlide =
|
|
117
|
+
PresentationSlide.createFromAdjunctSlide(adjunctSlide);
|
|
118
|
+
|
|
119
|
+
const expected = {
|
|
120
|
+
adjunct: {
|
|
121
|
+
url: "https://staging-test.salespreso.com/api/adjuncts/7457/",
|
|
122
|
+
},
|
|
123
|
+
adjunctID: 10529,
|
|
124
|
+
autoAdjunctID: 541,
|
|
125
|
+
createdByAutoAdjunct: true,
|
|
126
|
+
createdByTemplate: false,
|
|
127
|
+
custom: false,
|
|
128
|
+
id: 1,
|
|
129
|
+
image:
|
|
130
|
+
"https://staging-test-cdn.salespreso.com/media/autoadjunct/123.png",
|
|
131
|
+
index: 3,
|
|
132
|
+
key: "adjunct-10529",
|
|
133
|
+
section: null,
|
|
134
|
+
sequence: 3,
|
|
135
|
+
subslides: [],
|
|
136
|
+
tags: [],
|
|
137
|
+
templateID: null,
|
|
138
|
+
temporary: true,
|
|
139
|
+
thumbnail:
|
|
140
|
+
"https://staging-test-cdn.salespreso.com/media/CACHE/images/autoadjunct/123/456.jpg",
|
|
141
|
+
title: "Six",
|
|
142
|
+
url: "/api/adjunctslides/10529/",
|
|
143
|
+
visible: true,
|
|
144
|
+
};
|
|
145
|
+
|
|
146
|
+
expect(presentationSlide.toJSON()).toEqual(expected);
|
|
147
|
+
});
|
|
148
|
+
|
|
149
|
+
it("should use deckTags when available", async () => {
|
|
150
|
+
const adjunctSlide = new AdjunctSlideModel(getAdjunctSlideJSON());
|
|
151
|
+
const options = {
|
|
152
|
+
deckTags: { "test-deck/adjunct-10529": ["adjunctslide-tag"] },
|
|
153
|
+
};
|
|
154
|
+
|
|
155
|
+
const presentationSlide = PresentationSlide.createFromAdjunctSlide(
|
|
156
|
+
adjunctSlide,
|
|
157
|
+
null,
|
|
158
|
+
options
|
|
159
|
+
);
|
|
160
|
+
|
|
161
|
+
expect(presentationSlide.tags).toEqual(["adjunctslide-tag"]);
|
|
162
|
+
});
|
|
163
|
+
});
|
|
164
|
+
|
|
165
|
+
describe("#createFromAutoAdjunct", () => {
|
|
166
|
+
const getAutoAdjunctJSON = () => {
|
|
167
|
+
return {
|
|
168
|
+
after_key: "test-deck/industry_insights",
|
|
169
|
+
created_date: "2021-08-02T00:28:41.992805Z",
|
|
170
|
+
deck: "https://staging-test.salespreso.com/api/decks/4/",
|
|
171
|
+
enabled: true,
|
|
172
|
+
id: 525,
|
|
173
|
+
image_128:
|
|
174
|
+
"https://staging-test-cdn.salespreso.com/media/CACHE/images/autoadjunct/123/456.jpg",
|
|
175
|
+
image_256:
|
|
176
|
+
"https://staging-test-cdn.salespreso.com/media/CACHE/images/autoadjunct/123/456.jpg",
|
|
177
|
+
image_512:
|
|
178
|
+
"https://staging-test-cdn.salespreso.com/media/CACHE/images/autoadjunct/123/456.jpg",
|
|
179
|
+
image_1024:
|
|
180
|
+
"https://staging-test-cdn.salespreso.com/media/CACHE/images/autoadjunct/123/456.png",
|
|
181
|
+
image_original:
|
|
182
|
+
"https://staging-test-cdn.salespreso.com/media/autoadjunct/123.png",
|
|
183
|
+
key: "autoadjunct-three",
|
|
184
|
+
modified_date: "2021-09-15T05:52:49.234837Z",
|
|
185
|
+
name: "Three",
|
|
186
|
+
parent_key: "test-deck",
|
|
187
|
+
sequence: 4,
|
|
188
|
+
tags: [],
|
|
189
|
+
team: null,
|
|
190
|
+
template: null,
|
|
191
|
+
url: "https://staging-test.salespreso.com/api/autoadjuncts/525/",
|
|
192
|
+
};
|
|
193
|
+
};
|
|
194
|
+
|
|
195
|
+
it("should create a presentation slide", async () => {
|
|
196
|
+
const autoAdjunct = new AutoAdjunctModel(getAutoAdjunctJSON());
|
|
197
|
+
const options = {
|
|
198
|
+
index: 3,
|
|
199
|
+
deckversionID: 12,
|
|
200
|
+
};
|
|
201
|
+
|
|
202
|
+
const presentationSlide = PresentationSlide.createFromAutoAdjunct(
|
|
203
|
+
autoAdjunct,
|
|
204
|
+
options
|
|
205
|
+
);
|
|
206
|
+
|
|
207
|
+
const expected = {
|
|
208
|
+
adjunctID: 525,
|
|
209
|
+
autoAdjunctID: 525,
|
|
210
|
+
createdByAutoAdjunct: false,
|
|
211
|
+
createdByTemplate: false,
|
|
212
|
+
css: "",
|
|
213
|
+
html: "",
|
|
214
|
+
id: 525,
|
|
215
|
+
image:
|
|
216
|
+
"https://staging-test-cdn.salespreso.com/media/autoadjunct/123.png",
|
|
217
|
+
index: 3,
|
|
218
|
+
key: "autoadjunct-three",
|
|
219
|
+
sequence: 3,
|
|
220
|
+
subslides: [],
|
|
221
|
+
tags: [],
|
|
222
|
+
templateID: null,
|
|
223
|
+
temporary: true,
|
|
224
|
+
thumbnail:
|
|
225
|
+
"https://staging-test-cdn.salespreso.com/media/CACHE/images/autoadjunct/123/456.jpg",
|
|
226
|
+
title: "Three",
|
|
227
|
+
url: "/api/adjunctslides/525/",
|
|
228
|
+
visible: true,
|
|
229
|
+
};
|
|
230
|
+
|
|
231
|
+
expect(presentationSlide.toJSON()).toEqual(expected);
|
|
232
|
+
});
|
|
233
|
+
|
|
234
|
+
it("should use deckTags when available", async () => {
|
|
235
|
+
const autoAdjunct = new AutoAdjunctModel(getAutoAdjunctJSON());
|
|
236
|
+
const options = {
|
|
237
|
+
index: 3,
|
|
238
|
+
deckversionID: 12,
|
|
239
|
+
deckTags: {
|
|
240
|
+
"test-deck/autoadjunct-three": ["autoadjunct-tags"],
|
|
241
|
+
},
|
|
242
|
+
};
|
|
243
|
+
|
|
244
|
+
const presentationSlide = PresentationSlide.createFromAutoAdjunct(
|
|
245
|
+
autoAdjunct,
|
|
246
|
+
options
|
|
247
|
+
);
|
|
248
|
+
expect(presentationSlide.tags).toEqual(["autoadjunct-tags"]);
|
|
249
|
+
});
|
|
250
|
+
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import "./presentation-slide.js";
|
|
2
2
|
|
|
3
|
-
import { register } from "../state-register.js";
|
|
4
3
|
import { BasePresentationCollection } from "./base-presentation-collection.js";
|
|
4
|
+
import { register } from "../state-register.js";
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* @constructor
|
|
@@ -12,7 +12,7 @@ import { BasePresentationCollection } from "./base-presentation-collection.js";
|
|
|
12
12
|
export const PresentationSlideCollection = BasePresentationCollection.extend(
|
|
13
13
|
/** @lends presentation.PresentationSlideCollection# */ {
|
|
14
14
|
comparator: "sequence",
|
|
15
|
-
model: "PresentationSlide"
|
|
15
|
+
model: "PresentationSlide",
|
|
16
16
|
}
|
|
17
17
|
);
|
|
18
18
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import _ from "lodash";
|
|
2
|
-
|
|
3
1
|
import { AdjunctSubSlideModel, SubSlideModel } from "../models.js";
|
|
4
|
-
|
|
2
|
+
|
|
5
3
|
import { BasePresentationModel } from "./base-presentation-model.js";
|
|
4
|
+
import _ from "lodash";
|
|
5
|
+
import { register } from "../state-register.js";
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* @constructor
|
|
@@ -41,14 +41,14 @@ export const PresentationSubSlide = BasePresentationModel.extend(
|
|
|
41
41
|
slide: "number",
|
|
42
42
|
image: "string",
|
|
43
43
|
_orig_image: "string",
|
|
44
|
-
tags: "array"
|
|
44
|
+
tags: "array",
|
|
45
45
|
},
|
|
46
46
|
|
|
47
47
|
/**
|
|
48
48
|
* @property {models.AdjunctModel} adjunct
|
|
49
49
|
*/
|
|
50
50
|
children: {
|
|
51
|
-
adjunct: "AdjunctModel"
|
|
51
|
+
adjunct: "AdjunctModel",
|
|
52
52
|
},
|
|
53
53
|
|
|
54
54
|
url() {
|
|
@@ -61,7 +61,7 @@ export const PresentationSubSlide = BasePresentationModel.extend(
|
|
|
61
61
|
}
|
|
62
62
|
|
|
63
63
|
return this._url;
|
|
64
|
-
}
|
|
64
|
+
},
|
|
65
65
|
}
|
|
66
66
|
);
|
|
67
67
|
|
|
@@ -72,13 +72,13 @@ export const PresentationSubSlide = BasePresentationModel.extend(
|
|
|
72
72
|
* @param {object} [options]
|
|
73
73
|
* @returns {presentation.PresentationSubSlide}
|
|
74
74
|
*/
|
|
75
|
-
PresentationSubSlide.createFromSubSlide = function(
|
|
75
|
+
PresentationSubSlide.createFromSubSlide = function (
|
|
76
76
|
subSlideModel,
|
|
77
77
|
options = {}
|
|
78
78
|
) {
|
|
79
79
|
_.defaults(options, {
|
|
80
80
|
selections: null,
|
|
81
|
-
choicelist: null
|
|
81
|
+
choicelist: null,
|
|
82
82
|
});
|
|
83
83
|
|
|
84
84
|
const config = PresentationSubSlide.getVisibilityAndSequence(
|
|
@@ -86,6 +86,8 @@ PresentationSubSlide.createFromSubSlide = function(
|
|
|
86
86
|
options
|
|
87
87
|
);
|
|
88
88
|
|
|
89
|
+
const tags = PresentationSubSlide.getTags(subSlideModel, options);
|
|
90
|
+
|
|
89
91
|
const subslide = new PresentationSubSlide({
|
|
90
92
|
id: subSlideModel.id,
|
|
91
93
|
adjunctID: null,
|
|
@@ -94,10 +96,10 @@ PresentationSubSlide.createFromSubSlide = function(
|
|
|
94
96
|
custom: false,
|
|
95
97
|
title: subSlideModel.title,
|
|
96
98
|
slide: subSlideModel.slide.id,
|
|
97
|
-
tags
|
|
99
|
+
tags,
|
|
98
100
|
index: config.sequence,
|
|
99
101
|
sequence: config.sequence,
|
|
100
|
-
visible: config.visible
|
|
102
|
+
visible: config.visible,
|
|
101
103
|
});
|
|
102
104
|
|
|
103
105
|
return subslide;
|
|
@@ -111,7 +113,7 @@ PresentationSubSlide.createFromSubSlide = function(
|
|
|
111
113
|
* @param {object} [options]
|
|
112
114
|
* @returns {presentation.PresentationSubSlide}
|
|
113
115
|
*/
|
|
114
|
-
PresentationSubSlide.createFromAdjunctSubSlide = function(
|
|
116
|
+
PresentationSubSlide.createFromAdjunctSubSlide = function (
|
|
115
117
|
adjunctSubSlideModel,
|
|
116
118
|
slideModel,
|
|
117
119
|
options = {}
|
|
@@ -122,14 +124,19 @@ PresentationSubSlide.createFromAdjunctSubSlide = function(
|
|
|
122
124
|
choicelist: null,
|
|
123
125
|
getUniqueAdjunctID: () => {
|
|
124
126
|
return parseInt(_.uniqueId(), 10);
|
|
125
|
-
}
|
|
127
|
+
},
|
|
126
128
|
});
|
|
127
129
|
|
|
130
|
+
const key = `adjunct-${adjunctSubSlideModel.id}`;
|
|
131
|
+
adjunctSubSlideModel.key = key;
|
|
132
|
+
|
|
128
133
|
const config = PresentationSubSlide.getVisibilityAndSequence(
|
|
129
134
|
adjunctSubSlideModel,
|
|
130
135
|
options
|
|
131
136
|
);
|
|
132
137
|
|
|
138
|
+
const tags = PresentationSubSlide.getTags(adjunctSubSlideModel, options);
|
|
139
|
+
|
|
133
140
|
const subslide = new PresentationSubSlide({
|
|
134
141
|
id: options.id || options.getUniqueAdjunctID(),
|
|
135
142
|
adjunct: adjunctSubSlideModel.adjunct
|
|
@@ -137,21 +144,21 @@ PresentationSubSlide.createFromAdjunctSubSlide = function(
|
|
|
137
144
|
: null,
|
|
138
145
|
adjunctID: adjunctSubSlideModel.id,
|
|
139
146
|
html_content: adjunctSubSlideModel.html_content,
|
|
140
|
-
key
|
|
147
|
+
key,
|
|
141
148
|
image: adjunctSubSlideModel.image_256,
|
|
142
149
|
custom: true,
|
|
143
150
|
title: adjunctSubSlideModel.title,
|
|
144
151
|
slide: slideModel.id,
|
|
145
|
-
tags
|
|
152
|
+
tags,
|
|
146
153
|
index: config.sequence,
|
|
147
154
|
sequence: config.sequence,
|
|
148
|
-
visible: config.visible
|
|
155
|
+
visible: config.visible,
|
|
149
156
|
});
|
|
150
157
|
|
|
151
158
|
return subslide;
|
|
152
159
|
};
|
|
153
160
|
|
|
154
|
-
PresentationSubSlide.createFromSlide = function(slide) {
|
|
161
|
+
PresentationSubSlide.createFromSlide = function (slide) {
|
|
155
162
|
const subslide = new PresentationSubSlide({
|
|
156
163
|
id: slide.id,
|
|
157
164
|
createdFromSlide: true,
|
|
@@ -164,7 +171,7 @@ PresentationSubSlide.createFromSlide = function(slide) {
|
|
|
164
171
|
title: slide.title,
|
|
165
172
|
slide: slide.id,
|
|
166
173
|
image: slide.image,
|
|
167
|
-
tags: slide.tags
|
|
174
|
+
tags: slide.tags,
|
|
168
175
|
});
|
|
169
176
|
|
|
170
177
|
return subslide;
|