@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 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/presentation/presentation-deck.js"],"names":["PresentationDeck","BasePresentationModel","extend","props","html","css","id","deckID","index","thumbnail","visible","key","common","title","usesImpostorSections","editable","tags","version","children","realSection","derived","welcomeSlide","fn","PresentationSection","getAttributes","isWelcome","collections","sections","url","_url","DeckVersionModel","createFromDeckVersion","deckVersionModel","options","_","defaults","adjunctSections","AdjunctSectionCollection","adjunctSlides","AdjunctSlideCollection","adjunctSubSlides","AdjunctSubSlideCollection","sectionSelections","SectionSelectionCollection","slideSelections","SlideSelectionCollection","rootAssetPath","templates","choicelist","assetRoot","index_asset","deck","image_256","manifest_json","indexOf","log","warn","toJSON","selections","map","selection","sequence","section","concat","slide","maxID","getUniqueAdjunctID","section_set","forEach","sectionModel","createFromSection","addSlides","slide_set","add","filter","adjunctSection","createFromAdjunctSection","first","adjunctSlideLimit","adjunctslide_limit","slides","slideModel","isSection","createFromImpostorSection","PresentationSlide","createFromSlide","push","adjunctSlideModel","createFromAdjunctSlide","models","reverse","sectionSlides","Math","floor","length","template","createFromTemplate","createFromManifestJSON","manifestJSON","parseInt","uniqueId","url2","resolve","getAssetPath","some","items","Object","keys","titles","ordering","splitKey","split","newKey","sortBy","item","startIndex","endIndex","slice","createFromManifestImpostor","sectionKeys","getTemplateAssetPath","minID","max"],"mappings":"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","sourcesContent":["import \"./presentation-sections.js\";\n\nimport url2 from \"url\";\n\nimport _ from \"lodash\";\n\nimport * as collections from \"../collections\";\nimport { getAssetRoot } from \"../index.js\";\nimport log from \"../log.js\";\nimport { DeckVersionModel } from \"../models\";\nimport { register } from \"../state-register\";\nimport {\n\tgetMaxID,\n\tisImpostor,\n\tisImpostorDeck,\n\tsetSequentialSequences\n} from \"../utils.js\";\nimport { BasePresentationModel } from \"./base-presentation-model\";\nimport { PresentationSection } from \"./presentation-section\";\nimport { PresentationSlide } from \"./presentation-slide\";\n\n/**\n * @constructor\n * @alias presentation.PresentationDeck\n * @extends presentation.BasePresentationModel\n */\nexport const PresentationDeck = BasePresentationModel.extend(\n\t/** @lends presentation.PresentationDeck# */ {\n\t\t/**\n\t\t * @property {string} html\n\t\t * @property {string} css\n\t\t * @property {number} id\n\t\t * @property {number} deckID\n\t\t * @property {number} index\n\t\t * @property {string} thumbnail\n\t\t * @property {boolean} visible\n\t\t * @property {string} key\n\t\t * @property {object} common\n\t\t * @property {string} title\n\t\t * @property {boolean} usesImpostorSections\n\t\t * @property {boolean} editable\n\t\t * @property {array} tags\n\t\t * @property {number} version\n\t\t */\n\t\tprops: {\n\t\t\thtml: \"string\",\n\t\t\tcss: \"string\",\n\t\t\tid: \"number\",\n\t\t\tdeckID: \"number\",\n\t\t\tindex: \"number\",\n\t\t\tthumbnail: \"string\",\n\t\t\tvisible: \"boolean\",\n\t\t\tkey: \"string\",\n\t\t\tcommon: \"object\",\n\t\t\ttitle: \"string\",\n\t\t\tusesImpostorSections: \"boolean\",\n\t\t\teditable: \"boolean\",\n\t\t\ttags: \"array\",\n\t\t\tversion: \"number\"\n\t\t},\n\n\t\t/**\n\t\t * @property {presentation.PresentationSection} realSection\n\t\t */\n\t\tchildren: {\n\t\t\trealSection: \"PresentationSection\"\n\t\t},\n\n\t\tderived: {\n\t\t\twelcomeSlide: {\n\t\t\t\tfn: function() {\n\t\t\t\t\treturn new PresentationSection({\n\t\t\t\t\t\t...this.getAttributes({ props: true }),\n\t\t\t\t\t\tisWelcome: true\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * @property {presentation.PresentationSectionCollection} sections\n\t\t */\n\t\tcollections: {\n\t\t\tsections: \"PresentationSectionCollection\"\n\t\t},\n\n\t\turl() {\n\t\t\tif (!this._url) {\n\t\t\t\tthis._url = new DeckVersionModel({ id: this.id }).url();\n\t\t\t}\n\n\t\t\treturn this._url;\n\t\t}\n\t}\n);\n\n/**\n * @function createFromURL\n * @memberof presentation.PresentationDeck\n * @param {models.DeckVersionModel} deckVersionModel\n * @param {object} [options]\n * @param {number} [options.index = 0]\n * @param {collections.AdjunctSectionCollection}} [adjunctSections]\n * @returns {presentation.PresentationDeck}\n */\nPresentationDeck.createFromDeckVersion = function(\n\tdeckVersionModel,\n\toptions = {}\n) {\n\t_.defaults(options, {\n\t\tindex: 0,\n\t\tadjunctSections: new collections.AdjunctSectionCollection(),\n\t\tadjunctSlides: new collections.AdjunctSlideCollection(),\n\t\tadjunctSubSlides: new collections.AdjunctSubSlideCollection(),\n\t\tsectionSelections: new collections.SectionSelectionCollection(),\n\t\tslideSelections: new collections.SlideSelectionCollection(),\n\t\trootAssetPath: null,\n\t\ttemplates: null,\n\t\tchoicelist: null\n\t});\n\n\tconst assetRoot = getAssetRoot(deckVersionModel.index_asset.url());\n\tlet html;\n\tlet css;\n\n\tif (options.rootAssetPath) {\n\t\thtml = `${options.rootAssetPath}index.html`;\n\t\tcss = `${options.rootAssetPath}slide.css`;\n\t} else {\n\t\thtml = `${assetRoot}index.html`;\n\t\tcss = `${assetRoot}slide.css`;\n\t}\n\n\tconst tags = deckVersionModel.tags || [];\n\n\tconst deck = new PresentationDeck({\n\t\thtml,\n\t\tcss,\n\t\tid: deckVersionModel.id,\n\t\tindex: options.index,\n\t\tthumbnail: deckVersionModel.image_256,\n\t\tdeckID: deckVersionModel.deck.id,\n\t\tvisible: true,\n\t\tkey: deckVersionModel.deck.key,\n\t\tcommon: deckVersionModel.manifest_json.common,\n\t\ttitle: deckVersionModel.deck.title,\n\t\teditable: tags.indexOf(\"editable\") > -1,\n\t\ttags,\n\t\tversion: deckVersionModel.version\n\t});\n\n\tif (!deck.key) {\n\t\tlog.warn(\n\t\t\t\"Deck key not available to presentation\",\n\t\t\tdeckVersionModel.deck.toJSON()\n\t\t);\n\t}\n\n\t// Convert the selections to an easier format to use later\n\tconst sectionSelections = options.sectionSelections;\n\tconst slideSelections = options.slideSelections;\n\n\toptions.selections = sectionSelections\n\t\t.map(selection => {\n\t\t\treturn {\n\t\t\t\tsequence: selection.sequence,\n\t\t\t\tvisible: selection.visible,\n\t\t\t\turl: selection.section.url(),\n\t\t\t\tid: selection.id\n\t\t\t};\n\t\t})\n\t\t.concat(\n\t\t\tslideSelections.map(selection => {\n\t\t\t\treturn {\n\t\t\t\t\tsequence: selection.sequence,\n\t\t\t\t\tvisible: selection.visible,\n\t\t\t\t\turl: selection.slide.url(),\n\t\t\t\t\tid: selection.id\n\t\t\t\t};\n\t\t\t})\n\t\t);\n\n\t// We want all adjuncts to have fake ids that can't possibly overlap with the ids of\n\t// normal sections, slides and subslides, so we make a base ID that is larger than\n\t// all existing IDs then use the getUniqueAdjunctID function to retrieve an incremented ID\n\tlet maxID = getMaxID(deckVersionModel);\n\n\toptions.getUniqueAdjunctID = function() {\n\t\treturn ++maxID;\n\t};\n\n\t// We have four different ways to create a presentation structure here - we are\n\t// using either selections or a choicelist, and the deck is either a normal\n\t// deck or an impostor deck. Setting up a non-impostor deck is easier, so I've\n\t// split this up into two primary methods to cover those two branches, and the models\n\t// internally retrieve the correct sequence & visibility data depending on whether\n\t// we're using selections or a choicelist.\n\n\tif (!isImpostorDeck(deckVersionModel)) {\n\t\t// Non impostor deck using selections or a choicelist. Slides are already\n\t\t// associated with the correct sections, so all we have to do is turn\n\t\t// everything into a presentation model and pass the options through with\n\t\t// the selections or choicelist data.\n\n\t\tdeckVersionModel.section_set.forEach(sectionModel => {\n\t\t\tconst section = PresentationSection.createFromSection(\n\t\t\t\tsectionModel,\n\t\t\t\toptions\n\t\t\t);\n\n\t\t\tsection.addSlides(sectionModel.slide_set, options);\n\t\t\tdeck.sections.add(section);\n\n\t\t\tconst adjunctSlides = options.adjunctSlides.filter(slide => {\n\t\t\t\treturn slide.section && slide.section.id === section.id;\n\t\t\t});\n\n\t\t\tsection.addSlides(adjunctSlides, options);\n\t\t});\n\n\t\toptions.adjunctSections.forEach(adjunctSection => {\n\t\t\tconst section = PresentationSection.createFromAdjunctSection(\n\t\t\t\tadjunctSection,\n\t\t\t\tDeckVersionModel,\n\t\t\t\toptions\n\t\t\t);\n\n\t\t\tdeck.sections.add(section);\n\t\t});\n\t} else {\n\t\t// Impostor deck using selections or a choicelist. The deckversion.section_set\n\t\t// only contains one section, which is the \"real\" section but is not used in\n\t\t// the presentation. Some slides have the tag \"section-header\", and these slides\n\t\t// will be turned into sections and may be given sets of slides.\n\t\tdeck.usesImpostorSections = true;\n\n\t\tconst realSection = deckVersionModel.section_set.first();\n\n\t\tdeck.realSection = new PresentationSection({\n\t\t\tid: realSection.id,\n\t\t\tkey: realSection.key,\n\t\t\tadjunctSlideLimit: realSection.adjunctslide_limit\n\t\t});\n\n\t\tlet slides = [];\n\n\t\t// First we go through all slides and separate the impostor sections from the\n\t\t// normal slides. If a slide is a \"section header\" then we turn it into a presentation\n\t\t// section; if it is just a slide then we add it to the slides array, which will contain\n\t\t// all slides. We can't allocate slides to sections yet because we don't know\n\t\t// which section a slide belongs to.\n\t\trealSection.slide_set.forEach(slideModel => {\n\t\t\tconst isSection = isImpostor(slideModel);\n\n\t\t\tif (isSection) {\n\t\t\t\tconst section = PresentationSection.createFromImpostorSection(\n\t\t\t\t\tslideModel,\n\t\t\t\t\tDeckVersionModel,\n\t\t\t\t\toptions\n\t\t\t\t);\n\n\t\t\t\tdeck.sections.add(section);\n\t\t\t} else {\n\t\t\t\tconst slide = PresentationSlide.createFromSlide(slideModel, options);\n\t\t\t\tslides.push(slide);\n\t\t\t}\n\t\t});\n\n\t\t// We filter the adjunct slides and add all the non-section slides to the slides array too.\n\t\toptions.adjunctSlides\n\t\t\t.filter(slide => !isImpostor(slide))\n\t\t\t.forEach(adjunctSlideModel => {\n\t\t\t\tconst slide = PresentationSlide.createFromAdjunctSlide(\n\t\t\t\t\tadjunctSlideModel,\n\t\t\t\t\tnull,\n\t\t\t\t\toptions\n\t\t\t\t);\n\n\t\t\t\tslides.push(slide);\n\t\t\t});\n\n\t\t// Next we go through the sections backwards and use the sequence to find all slides\n\t\t// which belong to a section. Doing this backwards means that we only need to know\n\t\t// one section's sequence at a time, e.g. if I went forwards and the first section\n\t\t// had the sequence 1, I know that I can start looking for slides with sequence > 1\n\t\t// but I don't know where to stop. If I start with the last section and look for\n\t\t// slides with the sequence > 110 then I know that all slides with a sequence > 110\n\t\t// are valid. I then remove those slides from the slides array and move down to the\n\t\t// next section.\n\t\tdeck.sections.models.reverse().forEach(section => {\n\t\t\tconst sectionSlides = slides.filter(\n\t\t\t\tslide => slide.sequence > section.sequence\n\t\t\t);\n\n\t\t\tsection.slides.add(sectionSlides);\n\n\t\t\t// Slides have a \"section\" on their model that represents the section\n\t\t\t// that they belong to. Because this is an impostor deck, there's a\n\t\t\t// good chance that the section is now incorrect for normal slides,\n\t\t\t// and a 100% chance that it's incorrect for adjunct slides as we\n\t\t\t// didn't populate the section field when we created the adjunct slides.\n\t\t\t// We update those now with the correct section.\n\t\t\tsection.slides.forEach(slide => {\n\t\t\t\tslide.section = section.id;\n\t\t\t});\n\n\t\t\tslides = slides.filter(slide => slide.sequence <= section.sequence);\n\t\t});\n\n\t\t// Average the adjunct slide limit used across the entire deck over each section\n\t\t// in the deck. We do this before we add the adjunct impostor sections, 'cause you\n\t\t// can't add custom slides to those.\n\t\tdeck.sections.forEach(section => {\n\t\t\tsection.adjunctSlideLimit = section.adjunctSlideLimit\n\t\t\t\t? section.adjunctSlideLimit\n\t\t\t\t: Math.floor(realSection.adjunctSlideLimit / deck.sections.length);\n\t\t});\n\n\t\t// Return the sections to the correct order\n\t\tdeck.sections.models.reverse();\n\n\t\t// Finally, we add the adjunct impostor sections. These are adjunct slides with\n\t\t// the \"section-header\" tag and they work the same way as the slide impostors,\n\t\t// but because adjunct sections can't have slides we're adding them after the\n\t\t// slide-assigning process\n\t\toptions.adjunctSlides\n\t\t\t.filter(slide => isImpostor(slide))\n\t\t\t.forEach(adjunctSlideModel => {\n\t\t\t\tconst adjunctSection = PresentationSection.createFromAdjunctSection(\n\t\t\t\t\tadjunctSlideModel,\n\t\t\t\t\tDeckVersionModel,\n\t\t\t\t\toptions\n\t\t\t\t);\n\n\t\t\t\tdeck.sections.add(adjunctSection);\n\t\t\t});\n\t}\n\n\t// Add templates as sections if present. This is only used by the CDK.\n\tif (options.templates && options.templates.length > 0) {\n\t\tdeck.sections.add(\n\t\t\toptions.templates.map((template, index) => {\n\t\t\t\treturn PresentationSection.createFromTemplate(\n\t\t\t\t\ttemplate,\n\t\t\t\t\tindex,\n\t\t\t\t\toptions.getUniqueAdjunctID()\n\t\t\t\t);\n\t\t\t})\n\t\t);\n\t}\n\n\tsetSequentialSequences(deck);\n\n\treturn deck;\n};\n\nPresentationDeck.createFromManifestJSON = function(manifestJSON) {\n\tconst deck = new PresentationDeck({\n\t\tid: parseInt(_.uniqueId(), 10),\n\t\tindex: 0,\n\t\tvisible: true,\n\t\tkey: manifestJSON.key || \"manifest_deck\",\n\t\thtml: url2.resolve(manifestJSON.getAssetPath(), \"index.html\"),\n\t\tcss: url2.resolve(manifestJSON.getAssetPath(), \"slide.css\"),\n\t\tcommon: manifestJSON.common,\n\t\tthumbnail: null,\n\t\tdeckID: 1,\n\t\ttitle: \"Local\",\n\t\tversion: 1\n\t});\n\n\tconst usesImpostorSections = _.some(\n\t\tmanifestJSON.tags,\n\t\ttags => tags.indexOf(\"section-header\") !== -1\n\t);\n\n\tif (usesImpostorSections) {\n\t\tdeck.usesImpostorSections = true;\n\n\t\tlet items = Object.keys(manifestJSON.titles).map(key => {\n\t\t\tconst sequence = manifestJSON.toJSON().ordering[key];\n\t\t\tconst splitKey = key.split(\"/\");\n\t\t\tconst newKey = splitKey[splitKey.length - 1];\n\n\t\t\treturn {\n\t\t\t\tkey: newKey,\n\t\t\t\tsequence,\n\t\t\t\thtml: url2.resolve(manifestJSON.getAssetPath(key), \"index.html\"),\n\t\t\t\tcss: url2.resolve(manifestJSON.getAssetPath(key), \"slide.css\"),\n\t\t\t\ttitle: manifestJSON.titles[key],\n\t\t\t\ttags: manifestJSON.tags[key] || []\n\t\t\t};\n\t\t});\n\n\t\titems = _.sortBy(items, \"sequence\");\n\n\t\tconst sections = items.filter(\n\t\t\titem => item.tags.indexOf(\"section-header\") !== -1\n\t\t);\n\n\t\tsections.forEach((item, index) => {\n\t\t\tconst startIndex = items.indexOf(item) + 1;\n\t\t\tconst endIndex = sections[index + 1]\n\t\t\t\t? items.indexOf(sections[index + 1])\n\t\t\t\t: items.length;\n\n\t\t\tconst slides = items.slice(startIndex, endIndex);\n\n\t\t\titem.slides = slides;\n\t\t});\n\n\t\tdeck.sections.add(\n\t\t\tsections.map((section, index) => {\n\t\t\t\treturn PresentationSection.createFromManifestImpostor(section, index);\n\t\t\t})\n\t\t);\n\n\t\tdeck.realSection = PresentationSection.createFromManifestImpostor(items[0]);\n\t} else {\n\t\tconst sectionKeys = Object.keys(manifestJSON.titles).filter(title => {\n\t\t\treturn title.split(\"/\").length === 1;\n\t\t});\n\n\t\tdeck.sections.add(\n\t\t\tsectionKeys.map((key, index) => {\n\t\t\t\treturn PresentationSection.createFromManifestJSON(\n\t\t\t\t\tmanifestJSON,\n\t\t\t\t\tkey,\n\t\t\t\t\tindex\n\t\t\t\t);\n\t\t\t})\n\t\t);\n\t}\n\n\tif (manifestJSON.templates) {\n\t\tconst templates = Object.keys(manifestJSON.templates).map(key => {\n\t\t\treturn {\n\t\t\t\t...manifestJSON.templates[key],\n\t\t\t\tkey,\n\t\t\t\tsequence: manifestJSON.templates[key].ordering,\n\t\t\t\tindex_asset: {\n\t\t\t\t\turl: url2.resolve(\n\t\t\t\t\t\tmanifestJSON.getTemplateAssetPath(key),\n\t\t\t\t\t\t\"index.html\"\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t};\n\t\t});\n\n\t\tconst minID = _.max(_.map(deck.sections.toJSON(), \"id\"));\n\n\t\tdeck.sections.add(\n\t\t\ttemplates.map((template, index) => {\n\t\t\t\treturn PresentationSection.createFromTemplate(template, index, minID);\n\t\t\t})\n\t\t);\n\t}\n\n\treturn deck;\n};\n\nregister(\"PresentationDeck\", PresentationDeck);\n"],"file":"presentation-deck.js"}
|
|
1
|
+
{"version":3,"sources":["../../src/presentation/presentation-deck.js"],"names":["PresentationDeck","BasePresentationModel","extend","props","html","css","id","deckID","index","thumbnail","visible","key","common","title","usesImpostorSections","editable","tags","version","children","realSection","derived","welcomeSlide","fn","PresentationSection","getAttributes","isWelcome","collections","sections","url","_url","DeckVersionModel","createFromDeckVersion","deckVersionModel","options","_","defaults","adjunctSections","AdjunctSectionCollection","adjunctSlides","AdjunctSlideCollection","adjunctSubSlides","AdjunctSubSlideCollection","sectionSelections","SectionSelectionCollection","slideSelections","SlideSelectionCollection","rootAssetPath","templates","choicelist","assetRoot","index_asset","getTags","deck","image_256","manifest_json","indexOf","log","warn","toJSON","selections","map","selection","sequence","section","concat","slide","maxID","getUniqueAdjunctID","section_set","forEach","sectionModel","createFromSection","addSlides","slide_set","add","filter","adjunctSection","createFromAdjunctSection","first","adjunctSlideLimit","adjunctslide_limit","slides","slideModel","isSection","createFromImpostorSection","PresentationSlide","createFromSlide","push","adjunctSlideModel","createFromAdjunctSlide","models","reverse","sectionSlides","Math","floor","length","template","createFromTemplate","createFromManifestJSON","manifestJSON","parseInt","uniqueId","url2","resolve","getAssetPath","some","items","Object","keys","titles","ordering","splitKey","split","newKey","sortBy","item","startIndex","endIndex","slice","createFromManifestImpostor","sectionKeys","getTemplateAssetPath","minID","max"],"mappings":";;;;;;;;;;;;;AAAA;;AAEA;;AAEA;;AAOA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACO,IAAMA,gBAAgB,GAAGC,6CAAsBC,MAAtB;AAC/B;AAA6C;AAC5C;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEC,EAAAA,KAAK,EAAE;AACNC,IAAAA,IAAI,EAAE,QADA;AAENC,IAAAA,GAAG,EAAE,QAFC;AAGNC,IAAAA,EAAE,EAAE,QAHE;AAINC,IAAAA,MAAM,EAAE,QAJF;AAKNC,IAAAA,KAAK,EAAE,QALD;AAMNC,IAAAA,SAAS,EAAE,QANL;AAONC,IAAAA,OAAO,EAAE,SAPH;AAQNC,IAAAA,GAAG,EAAE,QARC;AASNC,IAAAA,MAAM,EAAE,QATF;AAUNC,IAAAA,KAAK,EAAE,QAVD;AAWNC,IAAAA,oBAAoB,EAAE,SAXhB;AAYNC,IAAAA,QAAQ,EAAE,SAZJ;AAaNC,IAAAA,IAAI,EAAE,OAbA;AAcNC,IAAAA,OAAO,EAAE;AAdH,GAjBqC;;AAkC5C;AACF;AACA;AACEC,EAAAA,QAAQ,EAAE;AACTC,IAAAA,WAAW,EAAE;AADJ,GArCkC;AAyC5CC,EAAAA,OAAO,EAAE;AACRC,IAAAA,YAAY,EAAE;AACbC,MAAAA,EAAE,EAAE,cAAY;AACf,eAAO,IAAIC,wCAAJ,iCACH,KAAKC,aAAL,CAAmB;AAAErB,UAAAA,KAAK,EAAE;AAAT,SAAnB,CADG;AAENsB,UAAAA,SAAS,EAAE;AAFL,WAAP;AAIA;AANY;AADN,GAzCmC;;AAoD5C;AACF;AACA;AACEC,EAAAA,WAAW,EAAE;AACZC,IAAAA,QAAQ,EAAE;AADE,GAvD+B;AA2D5CC,EAAAA,GA3D4C,iBA2DtC;AACL,QAAI,CAAC,KAAKC,IAAV,EAAgB;AACf,WAAKA,IAAL,GAAY,IAAIC,wBAAJ,CAAqB;AAAExB,QAAAA,EAAE,EAAE,KAAKA;AAAX,OAArB,EAAsCsB,GAAtC,EAAZ;AACA;;AAED,WAAO,KAAKC,IAAZ;AACA;AAjE2C,CADd,CAAzB;AAsEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AACA7B,gBAAgB,CAAC+B,qBAAjB,GAAyC,UACxCC,gBADwC,EAGvC;AAAA,MADDC,OACC,uEADS,EACT;;AACDC,kBAAEC,QAAF,CAAWF,OAAX,EAAoB;AACnBzB,IAAAA,KAAK,EAAE,CADY;AAEnB4B,IAAAA,eAAe,EAAE,IAAIV,WAAW,CAACW,wBAAhB,EAFE;AAGnBC,IAAAA,aAAa,EAAE,IAAIZ,WAAW,CAACa,sBAAhB,EAHI;AAInBC,IAAAA,gBAAgB,EAAE,IAAId,WAAW,CAACe,yBAAhB,EAJC;AAKnBC,IAAAA,iBAAiB,EAAE,IAAIhB,WAAW,CAACiB,0BAAhB,EALA;AAMnBC,IAAAA,eAAe,EAAE,IAAIlB,WAAW,CAACmB,wBAAhB,EANE;AAOnBC,IAAAA,aAAa,EAAE,IAPI;AAQnBC,IAAAA,SAAS,EAAE,IARQ;AASnBC,IAAAA,UAAU,EAAE;AATO,GAApB;;AAYA,MAAMC,SAAS,GAAG,yBAAajB,gBAAgB,CAACkB,WAAjB,CAA6BtB,GAA7B,EAAb,CAAlB;AACA,MAAIxB,IAAJ;AACA,MAAIC,GAAJ;;AAEA,MAAI4B,OAAO,CAACa,aAAZ,EAA2B;AAC1B1C,IAAAA,IAAI,aAAM6B,OAAO,CAACa,aAAd,eAAJ;AACAzC,IAAAA,GAAG,aAAM4B,OAAO,CAACa,aAAd,cAAH;AACA,GAHD,MAGO;AACN1C,IAAAA,IAAI,aAAM6C,SAAN,eAAJ;AACA5C,IAAAA,GAAG,aAAM4C,SAAN,cAAH;AACA;;AAED,MAAMjC,IAAI,GAAGhB,gBAAgB,CAACmD,OAAjB,CAAyBnB,gBAAzB,EAA2CC,OAA3C,CAAb;AAEA,MAAMmB,IAAI,GAAG,IAAIpD,gBAAJ,CAAqB;AACjCI,IAAAA,IAAI,EAAJA,IADiC;AAEjCC,IAAAA,GAAG,EAAHA,GAFiC;AAGjCC,IAAAA,EAAE,EAAE0B,gBAAgB,CAAC1B,EAHY;AAIjCE,IAAAA,KAAK,EAAEyB,OAAO,CAACzB,KAJkB;AAKjCC,IAAAA,SAAS,EAAEuB,gBAAgB,CAACqB,SALK;AAMjC9C,IAAAA,MAAM,EAAEyB,gBAAgB,CAACoB,IAAjB,CAAsB9C,EANG;AAOjCI,IAAAA,OAAO,EAAE,IAPwB;AAQjCC,IAAAA,GAAG,EAAEqB,gBAAgB,CAACoB,IAAjB,CAAsBzC,GARM;AASjCC,IAAAA,MAAM,EAAEoB,gBAAgB,CAACsB,aAAjB,CAA+B1C,MATN;AAUjCC,IAAAA,KAAK,EAAEmB,gBAAgB,CAACoB,IAAjB,CAAsBvC,KAVI;AAWjCE,IAAAA,QAAQ,EAAEC,IAAI,CAACuC,OAAL,CAAa,UAAb,IAA2B,CAAC,CAXL;AAYjCvC,IAAAA,IAAI,EAAJA,IAZiC;AAajCC,IAAAA,OAAO,EAAEe,gBAAgB,CAACf,OAbO;AAcjCH,IAAAA,oBAAoB,EAAE,2BAAekB,gBAAf;AAdW,GAArB,CAAb;;AAiBA,MAAI,CAACoB,IAAI,CAACzC,GAAV,EAAe;AACd6C,iBAAIC,IAAJ,CACC,wCADD,EAECzB,gBAAgB,CAACoB,IAAjB,CAAsBM,MAAtB,EAFD;AAIA,GAjDA,CAmDD;;;AACA,MAAMhB,iBAAiB,GAAGT,OAAO,CAACS,iBAAlC;AACA,MAAME,eAAe,GAAGX,OAAO,CAACW,eAAhC;AAEAX,EAAAA,OAAO,CAAC0B,UAAR,GAAqBjB,iBAAiB,CACpCkB,GADmB,CACf,UAACC,SAAD,EAAe;AACnB,WAAO;AACNC,MAAAA,QAAQ,EAAED,SAAS,CAACC,QADd;AAENpD,MAAAA,OAAO,EAAEmD,SAAS,CAACnD,OAFb;AAGNkB,MAAAA,GAAG,EAAEiC,SAAS,CAACE,OAAV,CAAkBnC,GAAlB,EAHC;AAINtB,MAAAA,EAAE,EAAEuD,SAAS,CAACvD;AAJR,KAAP;AAMA,GARmB,EASnB0D,MATmB,CAUnBpB,eAAe,CAACgB,GAAhB,CAAoB,UAACC,SAAD,EAAe;AAClC,WAAO;AACNC,MAAAA,QAAQ,EAAED,SAAS,CAACC,QADd;AAENpD,MAAAA,OAAO,EAAEmD,SAAS,CAACnD,OAFb;AAGNkB,MAAAA,GAAG,EAAEiC,SAAS,CAACI,KAAV,CAAgBrC,GAAhB,EAHC;AAINtB,MAAAA,EAAE,EAAEuD,SAAS,CAACvD;AAJR,KAAP;AAMA,GAPD,CAVmB,CAArB,CAvDC,CA2ED;AACA;AACA;;AACA,MAAI4D,KAAK,GAAG,qBAASlC,gBAAT,CAAZ;;AAEAC,EAAAA,OAAO,CAACkC,kBAAR,GAA6B,YAAY;AACxC,WAAO,EAAED,KAAT;AACA,GAFD,CAhFC,CAoFD;AACA;AACA;AACA;AACA;AACA;;;AAEA,MAAI,CAACd,IAAI,CAACtC,oBAAV,EAAgC;AAC/B;AACA;AACA;AACA;AAEAkB,IAAAA,gBAAgB,CAACoC,WAAjB,CAA6BC,OAA7B,CAAqC,UAACC,YAAD,EAAkB;AACtD,UAAMP,OAAO,GAAGxC,yCAAoBgD,iBAApB,CACfD,YADe,EAEfrC,OAFe,CAAhB;;AAKA8B,MAAAA,OAAO,CAACS,SAAR,CAAkBF,YAAY,CAACG,SAA/B,EAA0CxC,OAA1C;AACAmB,MAAAA,IAAI,CAACzB,QAAL,CAAc+C,GAAd,CAAkBX,OAAlB;AAEA,UAAMzB,aAAa,GAAGL,OAAO,CAACK,aAAR,CAAsBqC,MAAtB,CAA6B,UAACV,KAAD,EAAW;AAC7D,eAAOA,KAAK,CAACF,OAAN,IAAiBE,KAAK,CAACF,OAAN,CAAczD,EAAd,KAAqByD,OAAO,CAACzD,EAArD;AACA,OAFqB,CAAtB;AAIAyD,MAAAA,OAAO,CAACS,SAAR,CAAkBlC,aAAlB,EAAiCL,OAAjC;AACA,KAdD;AAgBAA,IAAAA,OAAO,CAACG,eAAR,CAAwBiC,OAAxB,CAAgC,UAACO,cAAD,EAAoB;AACnD,UAAMb,OAAO,GAAGxC,yCAAoBsD,wBAApB,CACfD,cADe,EAEf9C,wBAFe,EAGfG,OAHe,CAAhB;;AAMAmB,MAAAA,IAAI,CAACzB,QAAL,CAAc+C,GAAd,CAAkBX,OAAlB;AACA,KARD;AASA,GA/BD,MA+BO;AACN;AACA;AACA;AACA;AAEA,QAAM5C,WAAW,GAAGa,gBAAgB,CAACoC,WAAjB,CAA6BU,KAA7B,EAApB;AAEA1B,IAAAA,IAAI,CAACjC,WAAL,GAAmB,IAAII,wCAAJ,CAAwB;AAC1CjB,MAAAA,EAAE,EAAEa,WAAW,CAACb,EAD0B;AAE1CK,MAAAA,GAAG,EAAEQ,WAAW,CAACR,GAFyB;AAG1CoE,MAAAA,iBAAiB,EAAE5D,WAAW,CAAC6D;AAHW,KAAxB,CAAnB;AAMA,QAAIC,MAAM,GAAG,EAAb,CAdM,CAgBN;AACA;AACA;AACA;AACA;;AACA9D,IAAAA,WAAW,CAACsD,SAAZ,CAAsBJ,OAAtB,CAA8B,UAACa,UAAD,EAAgB;AAC7C,UAAMC,SAAS,GAAG,uBAAWD,UAAX,CAAlB;;AAEA,UAAIC,SAAJ,EAAe;AACd,YAAMpB,OAAO,GAAGxC,yCAAoB6D,yBAApB,CACfF,UADe,EAEfpD,wBAFe,EAGfG,OAHe,CAAhB;;AAMAmB,QAAAA,IAAI,CAACzB,QAAL,CAAc+C,GAAd,CAAkBX,OAAlB;AACA,OARD,MAQO;AACN,YAAME,KAAK,GAAGoB,qCAAkBC,eAAlB,CAAkCJ,UAAlC,EAA8CjD,OAA9C,CAAd;;AACAgD,QAAAA,MAAM,CAACM,IAAP,CAAYtB,KAAZ;AACA;AACD,KAfD,EArBM,CAsCN;;AACAhC,IAAAA,OAAO,CAACK,aAAR,CACEqC,MADF,CACS,UAACV,KAAD;AAAA,aAAW,CAAC,uBAAWA,KAAX,CAAZ;AAAA,KADT,EAEEI,OAFF,CAEU,UAACmB,iBAAD,EAAuB;AAC/B,UAAMvB,KAAK,GAAGoB,qCAAkBI,sBAAlB,CACbD,iBADa,EAEb,IAFa,EAGbvD,OAHa,CAAd;;AAMAgD,MAAAA,MAAM,CAACM,IAAP,CAAYtB,KAAZ;AACA,KAVF,EAvCM,CAmDN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACAb,IAAAA,IAAI,CAACzB,QAAL,CAAc+D,MAAd,CAAqBC,OAArB,GAA+BtB,OAA/B,CAAuC,UAACN,OAAD,EAAa;AACnD,UAAM6B,aAAa,GAAGX,MAAM,CAACN,MAAP,CACrB,UAACV,KAAD;AAAA,eAAWA,KAAK,CAACH,QAAN,GAAiBC,OAAO,CAACD,QAApC;AAAA,OADqB,CAAtB;AAIAC,MAAAA,OAAO,CAACkB,MAAR,CAAeP,GAAf,CAAmBkB,aAAnB,EALmD,CAOnD;AACA;AACA;AACA;AACA;AACA;;AACA7B,MAAAA,OAAO,CAACkB,MAAR,CAAeZ,OAAf,CAAuB,UAACJ,KAAD,EAAW;AACjCA,QAAAA,KAAK,CAACF,OAAN,GAAgBA,OAAO,CAACzD,EAAxB;AACA,OAFD;AAIA2E,MAAAA,MAAM,GAAGA,MAAM,CAACN,MAAP,CAAc,UAACV,KAAD;AAAA,eAAWA,KAAK,CAACH,QAAN,IAAkBC,OAAO,CAACD,QAArC;AAAA,OAAd,CAAT;AACA,KAlBD,EA3DM,CA+EN;AACA;AACA;;AACAV,IAAAA,IAAI,CAACzB,QAAL,CAAc0C,OAAd,CAAsB,UAACN,OAAD,EAAa;AAClCA,MAAAA,OAAO,CAACgB,iBAAR,GAA4BhB,OAAO,CAACgB,iBAAR,GACzBhB,OAAO,CAACgB,iBADiB,GAEzBc,IAAI,CAACC,KAAL,CAAW3E,WAAW,CAAC4D,iBAAZ,GAAgC3B,IAAI,CAACzB,QAAL,CAAcoE,MAAzD,CAFH;AAGA,KAJD,EAlFM,CAwFN;;AACA3C,IAAAA,IAAI,CAACzB,QAAL,CAAc+D,MAAd,CAAqBC,OAArB,GAzFM,CA2FN;AACA;AACA;AACA;;AACA1D,IAAAA,OAAO,CAACK,aAAR,CACEqC,MADF,CACS,UAACV,KAAD;AAAA,aAAW,uBAAWA,KAAX,CAAX;AAAA,KADT,EAEEI,OAFF,CAEU,UAACmB,iBAAD,EAAuB;AAC/B,UAAMZ,cAAc,GAAGrD,yCAAoBsD,wBAApB,CACtBW,iBADsB,EAEtB1D,wBAFsB,EAGtBG,OAHsB,CAAvB;;AAMAmB,MAAAA,IAAI,CAACzB,QAAL,CAAc+C,GAAd,CAAkBE,cAAlB;AACA,KAVF;AAWA,GApOA,CAsOD;;;AACA,MAAI3C,OAAO,CAACc,SAAR,IAAqBd,OAAO,CAACc,SAAR,CAAkBgD,MAAlB,GAA2B,CAApD,EAAuD;AACtD3C,IAAAA,IAAI,CAACzB,QAAL,CAAc+C,GAAd,CACCzC,OAAO,CAACc,SAAR,CAAkBa,GAAlB,CAAsB,UAACoC,QAAD,EAAWxF,KAAX,EAAqB;AAC1C,aAAOe,yCAAoB0E,kBAApB,CACND,QADM,EAENxF,KAFM,EAGNyB,OAAO,CAACkC,kBAAR,EAHM,CAAP;AAKA,KAND,CADD;AASA;;AAED,qCAAuBf,IAAvB;AAEA,SAAOA,IAAP;AACA,CAzPD;;AA2PApD,gBAAgB,CAACkG,sBAAjB,GAA0C,UAAUC,YAAV,EAAwB;AACjE,MAAM/C,IAAI,GAAG,IAAIpD,gBAAJ,CAAqB;AACjCM,IAAAA,EAAE,EAAE8F,QAAQ,CAAClE,gBAAEmE,QAAF,EAAD,EAAe,EAAf,CADqB;AAEjC7F,IAAAA,KAAK,EAAE,CAF0B;AAGjCE,IAAAA,OAAO,EAAE,IAHwB;AAIjCC,IAAAA,GAAG,EAAEwF,YAAY,CAACxF,GAAb,IAAoB,eAJQ;AAKjCP,IAAAA,IAAI,EAAEkG,aAAKC,OAAL,CAAaJ,YAAY,CAACK,YAAb,EAAb,EAA0C,YAA1C,CAL2B;AAMjCnG,IAAAA,GAAG,EAAEiG,aAAKC,OAAL,CAAaJ,YAAY,CAACK,YAAb,EAAb,EAA0C,WAA1C,CAN4B;AAOjC5F,IAAAA,MAAM,EAAEuF,YAAY,CAACvF,MAPY;AAQjCH,IAAAA,SAAS,EAAE,IARsB;AASjCF,IAAAA,MAAM,EAAE,CATyB;AAUjCM,IAAAA,KAAK,EAAE,OAV0B;AAWjCI,IAAAA,OAAO,EAAE,CAXwB;AAYjCD,IAAAA,IAAI,EAAEmF,YAAY,CAACnF,IAAb,CAAkB,EAAlB,KAAyB;AAZE,GAArB,CAAb;;AAeA,MAAMF,oBAAoB,GAAGoB,gBAAEuE,IAAF,CAC5BN,YAAY,CAACnF,IADe,EAE5B,UAACA,IAAD;AAAA,WAAUA,IAAI,CAACuC,OAAL,CAAa,gBAAb,MAAmC,CAAC,CAA9C;AAAA,GAF4B,CAA7B;;AAIAH,EAAAA,IAAI,CAACtC,oBAAL,GAA4BA,oBAA5B;;AAEA,MAAIA,oBAAJ,EAA0B;AACzBsC,IAAAA,IAAI,CAACtC,oBAAL,GAA4B,IAA5B;AAEA,QAAI4F,KAAK,GAAGC,MAAM,CAACC,IAAP,CAAYT,YAAY,CAACU,MAAzB,EAAiCjD,GAAjC,CAAqC,UAACjD,GAAD,EAAS;AACzD,UAAMmD,QAAQ,GAAGqC,YAAY,CAACzC,MAAb,GAAsBoD,QAAtB,CAA+BnG,GAA/B,CAAjB;AACA,UAAMoG,QAAQ,GAAGpG,GAAG,CAACqG,KAAJ,CAAU,GAAV,CAAjB;AACA,UAAMC,MAAM,GAAGF,QAAQ,CAACA,QAAQ,CAAChB,MAAT,GAAkB,CAAnB,CAAvB;AAEA,aAAO;AACNpF,QAAAA,GAAG,EAAEsG,MADC;AAENnD,QAAAA,QAAQ,EAARA,QAFM;AAGN1D,QAAAA,IAAI,EAAEkG,aAAKC,OAAL,CAAaJ,YAAY,CAACK,YAAb,CAA0B7F,GAA1B,CAAb,EAA6C,YAA7C,CAHA;AAINN,QAAAA,GAAG,EAAEiG,aAAKC,OAAL,CAAaJ,YAAY,CAACK,YAAb,CAA0B7F,GAA1B,CAAb,EAA6C,WAA7C,CAJC;AAKNE,QAAAA,KAAK,EAAEsF,YAAY,CAACU,MAAb,CAAoBlG,GAApB,CALD;AAMNK,QAAAA,IAAI,EAAEmF,YAAY,CAACnF,IAAb,CAAkBL,GAAlB,KAA0B;AAN1B,OAAP;AAQA,KAbW,CAAZ;AAeA+F,IAAAA,KAAK,GAAGxE,gBAAEgF,MAAF,CAASR,KAAT,EAAgB,UAAhB,CAAR;AAEA,QAAM/E,QAAQ,GAAG+E,KAAK,CAAC/B,MAAN,CAChB,UAACwC,IAAD;AAAA,aAAUA,IAAI,CAACnG,IAAL,CAAUuC,OAAV,CAAkB,gBAAlB,MAAwC,CAAC,CAAnD;AAAA,KADgB,CAAjB;AAIA5B,IAAAA,QAAQ,CAAC0C,OAAT,CAAiB,UAAC8C,IAAD,EAAO3G,KAAP,EAAiB;AACjC,UAAM4G,UAAU,GAAGV,KAAK,CAACnD,OAAN,CAAc4D,IAAd,IAAsB,CAAzC;AACA,UAAME,QAAQ,GAAG1F,QAAQ,CAACnB,KAAK,GAAG,CAAT,CAAR,GACdkG,KAAK,CAACnD,OAAN,CAAc5B,QAAQ,CAACnB,KAAK,GAAG,CAAT,CAAtB,CADc,GAEdkG,KAAK,CAACX,MAFT;AAIA,UAAMd,MAAM,GAAGyB,KAAK,CAACY,KAAN,CAAYF,UAAZ,EAAwBC,QAAxB,CAAf;AAEAF,MAAAA,IAAI,CAAClC,MAAL,GAAcA,MAAd;AACA,KATD;AAWA7B,IAAAA,IAAI,CAACzB,QAAL,CAAc+C,GAAd,CACC/C,QAAQ,CAACiC,GAAT,CAAa,UAACG,OAAD,EAAUvD,KAAV,EAAoB;AAChC,aAAOe,yCAAoBgG,0BAApB,CAA+CxD,OAA/C,EAAwDvD,KAAxD,CAAP;AACA,KAFD,CADD;AAMA4C,IAAAA,IAAI,CAACjC,WAAL,GAAmBI,yCAAoBgG,0BAApB,CAA+Cb,KAAK,CAAC,CAAD,CAApD,CAAnB;AACA,GA1CD,MA0CO;AACN,QAAMc,WAAW,GAAGb,MAAM,CAACC,IAAP,CAAYT,YAAY,CAACU,MAAzB,EAAiClC,MAAjC,CAAwC,UAAC9D,KAAD,EAAW;AACtE,aAAOA,KAAK,CAACmG,KAAN,CAAY,GAAZ,EAAiBjB,MAAjB,KAA4B,CAAnC;AACA,KAFmB,CAApB;AAIA3C,IAAAA,IAAI,CAACzB,QAAL,CAAc+C,GAAd,CACC8C,WAAW,CAAC5D,GAAZ,CAAgB,UAACjD,GAAD,EAAMH,KAAN,EAAgB;AAC/B,aAAOe,yCAAoB2E,sBAApB,CACNC,YADM,EAENxF,GAFM,EAGNH,KAHM,CAAP;AAKA,KAND,CADD;AASA;;AAED,MAAI2F,YAAY,CAACpD,SAAjB,EAA4B;AAC3B,QAAMA,SAAS,GAAG4D,MAAM,CAACC,IAAP,CAAYT,YAAY,CAACpD,SAAzB,EAAoCa,GAApC,CAAwC,UAACjD,GAAD,EAAS;AAClE,6CACIwF,YAAY,CAACpD,SAAb,CAAuBpC,GAAvB,CADJ;AAECA,QAAAA,GAAG,EAAHA,GAFD;AAGCmD,QAAAA,QAAQ,EAAEqC,YAAY,CAACpD,SAAb,CAAuBpC,GAAvB,EAA4BmG,QAHvC;AAIC5D,QAAAA,WAAW,EAAE;AACZtB,UAAAA,GAAG,EAAE0E,aAAKC,OAAL,CACJJ,YAAY,CAACsB,oBAAb,CAAkC9G,GAAlC,CADI,EAEJ,YAFI;AADO;AAJd;AAWA,KAZiB,CAAlB;;AAcA,QAAM+G,KAAK,GAAGxF,gBAAEyF,GAAF,CAAMzF,gBAAE0B,GAAF,CAAMR,IAAI,CAACzB,QAAL,CAAc+B,MAAd,EAAN,EAA8B,IAA9B,CAAN,CAAd;;AAEAN,IAAAA,IAAI,CAACzB,QAAL,CAAc+C,GAAd,CACC3B,SAAS,CAACa,GAAV,CAAc,UAACoC,QAAD,EAAWxF,KAAX,EAAqB;AAClC,aAAOe,yCAAoB0E,kBAApB,CAAuCD,QAAvC,EAAiDxF,KAAjD,EAAwDkH,KAAxD,CAAP;AACA,KAFD,CADD;AAKA;;AAED,SAAOtE,IAAP;AACA,CAzGD;;AA2GA,6BAAS,kBAAT,EAA6BpD,gBAA7B","sourcesContent":["import \"./presentation-sections.js\";\n\nimport * as collections from \"../collections\";\n\nimport {\n\tgetMaxID,\n\tisImpostor,\n\tisImpostorDeck,\n\tsetSequentialSequences,\n} from \"../utils.js\";\n\nimport { BasePresentationModel } from \"./base-presentation-model\";\nimport { DeckVersionModel } from \"../models\";\nimport { PresentationSection } from \"./presentation-section\";\nimport { PresentationSlide } from \"./presentation-slide\";\nimport _ from \"lodash\";\nimport { getAssetRoot } from \"../index.js\";\nimport log from \"../log.js\";\nimport { register } from \"../state-register\";\nimport url2 from \"url\";\n\n/**\n * @constructor\n * @alias presentation.PresentationDeck\n * @extends presentation.BasePresentationModel\n */\nexport const PresentationDeck = BasePresentationModel.extend(\n\t/** @lends presentation.PresentationDeck# */ {\n\t\t/**\n\t\t * @property {string} html\n\t\t * @property {string} css\n\t\t * @property {number} id\n\t\t * @property {number} deckID\n\t\t * @property {number} index\n\t\t * @property {string} thumbnail\n\t\t * @property {boolean} visible\n\t\t * @property {string} key\n\t\t * @property {object} common\n\t\t * @property {string} title\n\t\t * @property {boolean} usesImpostorSections\n\t\t * @property {boolean} editable\n\t\t * @property {array} tags\n\t\t * @property {number} version\n\t\t */\n\t\tprops: {\n\t\t\thtml: \"string\",\n\t\t\tcss: \"string\",\n\t\t\tid: \"number\",\n\t\t\tdeckID: \"number\",\n\t\t\tindex: \"number\",\n\t\t\tthumbnail: \"string\",\n\t\t\tvisible: \"boolean\",\n\t\t\tkey: \"string\",\n\t\t\tcommon: \"object\",\n\t\t\ttitle: \"string\",\n\t\t\tusesImpostorSections: \"boolean\",\n\t\t\teditable: \"boolean\",\n\t\t\ttags: \"array\",\n\t\t\tversion: \"number\",\n\t\t},\n\n\t\t/**\n\t\t * @property {presentation.PresentationSection} realSection\n\t\t */\n\t\tchildren: {\n\t\t\trealSection: \"PresentationSection\",\n\t\t},\n\n\t\tderived: {\n\t\t\twelcomeSlide: {\n\t\t\t\tfn: function () {\n\t\t\t\t\treturn new PresentationSection({\n\t\t\t\t\t\t...this.getAttributes({ props: true }),\n\t\t\t\t\t\tisWelcome: true,\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\n\t\t/**\n\t\t * @property {presentation.PresentationSectionCollection} sections\n\t\t */\n\t\tcollections: {\n\t\t\tsections: \"PresentationSectionCollection\",\n\t\t},\n\n\t\turl() {\n\t\t\tif (!this._url) {\n\t\t\t\tthis._url = new DeckVersionModel({ id: this.id }).url();\n\t\t\t}\n\n\t\t\treturn this._url;\n\t\t},\n\t}\n);\n\n/**\n * @function createFromURL\n * @memberof presentation.PresentationDeck\n * @param {models.DeckVersionModel} deckVersionModel\n * @param {object} [options]\n * @param {number} [options.index = 0]\n * @param {collections.AdjunctSectionCollection}} [adjunctSections]\n * @returns {presentation.PresentationDeck}\n */\nPresentationDeck.createFromDeckVersion = function (\n\tdeckVersionModel,\n\toptions = {}\n) {\n\t_.defaults(options, {\n\t\tindex: 0,\n\t\tadjunctSections: new collections.AdjunctSectionCollection(),\n\t\tadjunctSlides: new collections.AdjunctSlideCollection(),\n\t\tadjunctSubSlides: new collections.AdjunctSubSlideCollection(),\n\t\tsectionSelections: new collections.SectionSelectionCollection(),\n\t\tslideSelections: new collections.SlideSelectionCollection(),\n\t\trootAssetPath: null,\n\t\ttemplates: null,\n\t\tchoicelist: null,\n\t});\n\n\tconst assetRoot = getAssetRoot(deckVersionModel.index_asset.url());\n\tlet html;\n\tlet css;\n\n\tif (options.rootAssetPath) {\n\t\thtml = `${options.rootAssetPath}index.html`;\n\t\tcss = `${options.rootAssetPath}slide.css`;\n\t} else {\n\t\thtml = `${assetRoot}index.html`;\n\t\tcss = `${assetRoot}slide.css`;\n\t}\n\n\tconst tags = PresentationDeck.getTags(deckVersionModel, options);\n\n\tconst deck = new PresentationDeck({\n\t\thtml,\n\t\tcss,\n\t\tid: deckVersionModel.id,\n\t\tindex: options.index,\n\t\tthumbnail: deckVersionModel.image_256,\n\t\tdeckID: deckVersionModel.deck.id,\n\t\tvisible: true,\n\t\tkey: deckVersionModel.deck.key,\n\t\tcommon: deckVersionModel.manifest_json.common,\n\t\ttitle: deckVersionModel.deck.title,\n\t\teditable: tags.indexOf(\"editable\") > -1,\n\t\ttags,\n\t\tversion: deckVersionModel.version,\n\t\tusesImpostorSections: isImpostorDeck(deckVersionModel),\n\t});\n\n\tif (!deck.key) {\n\t\tlog.warn(\n\t\t\t\"Deck key not available to presentation\",\n\t\t\tdeckVersionModel.deck.toJSON()\n\t\t);\n\t}\n\n\t// Convert the selections to an easier format to use later\n\tconst sectionSelections = options.sectionSelections;\n\tconst slideSelections = options.slideSelections;\n\n\toptions.selections = sectionSelections\n\t\t.map((selection) => {\n\t\t\treturn {\n\t\t\t\tsequence: selection.sequence,\n\t\t\t\tvisible: selection.visible,\n\t\t\t\turl: selection.section.url(),\n\t\t\t\tid: selection.id,\n\t\t\t};\n\t\t})\n\t\t.concat(\n\t\t\tslideSelections.map((selection) => {\n\t\t\t\treturn {\n\t\t\t\t\tsequence: selection.sequence,\n\t\t\t\t\tvisible: selection.visible,\n\t\t\t\t\turl: selection.slide.url(),\n\t\t\t\t\tid: selection.id,\n\t\t\t\t};\n\t\t\t})\n\t\t);\n\n\t// We want all adjuncts to have fake ids that can't possibly overlap with the ids of\n\t// normal sections, slides and subslides, so we make a base ID that is larger than\n\t// all existing IDs then use the getUniqueAdjunctID function to retrieve an incremented ID\n\tlet maxID = getMaxID(deckVersionModel);\n\n\toptions.getUniqueAdjunctID = function () {\n\t\treturn ++maxID;\n\t};\n\n\t// We have four different ways to create a presentation structure here - we are\n\t// using either selections or a choicelist, and the deck is either a normal\n\t// deck or an impostor deck. Setting up a non-impostor deck is easier, so I've\n\t// split this up into two primary methods to cover those two branches, and the models\n\t// internally retrieve the correct sequence & visibility data depending on whether\n\t// we're using selections or a choicelist.\n\n\tif (!deck.usesImpostorSections) {\n\t\t// Non impostor deck using selections or a choicelist. Slides are already\n\t\t// associated with the correct sections, so all we have to do is turn\n\t\t// everything into a presentation model and pass the options through with\n\t\t// the selections or choicelist data.\n\n\t\tdeckVersionModel.section_set.forEach((sectionModel) => {\n\t\t\tconst section = PresentationSection.createFromSection(\n\t\t\t\tsectionModel,\n\t\t\t\toptions\n\t\t\t);\n\n\t\t\tsection.addSlides(sectionModel.slide_set, options);\n\t\t\tdeck.sections.add(section);\n\n\t\t\tconst adjunctSlides = options.adjunctSlides.filter((slide) => {\n\t\t\t\treturn slide.section && slide.section.id === section.id;\n\t\t\t});\n\n\t\t\tsection.addSlides(adjunctSlides, options);\n\t\t});\n\n\t\toptions.adjunctSections.forEach((adjunctSection) => {\n\t\t\tconst section = PresentationSection.createFromAdjunctSection(\n\t\t\t\tadjunctSection,\n\t\t\t\tDeckVersionModel,\n\t\t\t\toptions\n\t\t\t);\n\n\t\t\tdeck.sections.add(section);\n\t\t});\n\t} else {\n\t\t// Impostor deck using selections or a choicelist. The deckversion.section_set\n\t\t// only contains one section, which is the \"real\" section but is not used in\n\t\t// the presentation. Some slides have the tag \"section-header\", and these slides\n\t\t// will be turned into sections and may be given sets of slides.\n\n\t\tconst realSection = deckVersionModel.section_set.first();\n\n\t\tdeck.realSection = new PresentationSection({\n\t\t\tid: realSection.id,\n\t\t\tkey: realSection.key,\n\t\t\tadjunctSlideLimit: realSection.adjunctslide_limit,\n\t\t});\n\n\t\tlet slides = [];\n\n\t\t// First we go through all slides and separate the impostor sections from the\n\t\t// normal slides. If a slide is a \"section header\" then we turn it into a presentation\n\t\t// section; if it is just a slide then we add it to the slides array, which will contain\n\t\t// all slides. We can't allocate slides to sections yet because we don't know\n\t\t// which section a slide belongs to.\n\t\trealSection.slide_set.forEach((slideModel) => {\n\t\t\tconst isSection = isImpostor(slideModel);\n\n\t\t\tif (isSection) {\n\t\t\t\tconst section = PresentationSection.createFromImpostorSection(\n\t\t\t\t\tslideModel,\n\t\t\t\t\tDeckVersionModel,\n\t\t\t\t\toptions\n\t\t\t\t);\n\n\t\t\t\tdeck.sections.add(section);\n\t\t\t} else {\n\t\t\t\tconst slide = PresentationSlide.createFromSlide(slideModel, options);\n\t\t\t\tslides.push(slide);\n\t\t\t}\n\t\t});\n\n\t\t// We filter the adjunct slides and add all the non-section slides to the slides array too.\n\t\toptions.adjunctSlides\n\t\t\t.filter((slide) => !isImpostor(slide))\n\t\t\t.forEach((adjunctSlideModel) => {\n\t\t\t\tconst slide = PresentationSlide.createFromAdjunctSlide(\n\t\t\t\t\tadjunctSlideModel,\n\t\t\t\t\tnull,\n\t\t\t\t\toptions\n\t\t\t\t);\n\n\t\t\t\tslides.push(slide);\n\t\t\t});\n\n\t\t// Next we go through the sections backwards and use the sequence to find all slides\n\t\t// which belong to a section. Doing this backwards means that we only need to know\n\t\t// one section's sequence at a time, e.g. if I went forwards and the first section\n\t\t// had the sequence 1, I know that I can start looking for slides with sequence > 1\n\t\t// but I don't know where to stop. If I start with the last section and look for\n\t\t// slides with the sequence > 110 then I know that all slides with a sequence > 110\n\t\t// are valid. I then remove those slides from the slides array and move down to the\n\t\t// next section.\n\t\tdeck.sections.models.reverse().forEach((section) => {\n\t\t\tconst sectionSlides = slides.filter(\n\t\t\t\t(slide) => slide.sequence > section.sequence\n\t\t\t);\n\n\t\t\tsection.slides.add(sectionSlides);\n\n\t\t\t// Slides have a \"section\" on their model that represents the section\n\t\t\t// that they belong to. Because this is an impostor deck, there's a\n\t\t\t// good chance that the section is now incorrect for normal slides,\n\t\t\t// and a 100% chance that it's incorrect for adjunct slides as we\n\t\t\t// didn't populate the section field when we created the adjunct slides.\n\t\t\t// We update those now with the correct section.\n\t\t\tsection.slides.forEach((slide) => {\n\t\t\t\tslide.section = section.id;\n\t\t\t});\n\n\t\t\tslides = slides.filter((slide) => slide.sequence <= section.sequence);\n\t\t});\n\n\t\t// Average the adjunct slide limit used across the entire deck over each section\n\t\t// in the deck. We do this before we add the adjunct impostor sections, 'cause you\n\t\t// can't add custom slides to those.\n\t\tdeck.sections.forEach((section) => {\n\t\t\tsection.adjunctSlideLimit = section.adjunctSlideLimit\n\t\t\t\t? section.adjunctSlideLimit\n\t\t\t\t: Math.floor(realSection.adjunctSlideLimit / deck.sections.length);\n\t\t});\n\n\t\t// Return the sections to the correct order\n\t\tdeck.sections.models.reverse();\n\n\t\t// Finally, we add the adjunct impostor sections. These are adjunct slides with\n\t\t// the \"section-header\" tag and they work the same way as the slide impostors,\n\t\t// but because adjunct sections can't have slides we're adding them after the\n\t\t// slide-assigning process\n\t\toptions.adjunctSlides\n\t\t\t.filter((slide) => isImpostor(slide))\n\t\t\t.forEach((adjunctSlideModel) => {\n\t\t\t\tconst adjunctSection = PresentationSection.createFromAdjunctSection(\n\t\t\t\t\tadjunctSlideModel,\n\t\t\t\t\tDeckVersionModel,\n\t\t\t\t\toptions\n\t\t\t\t);\n\n\t\t\t\tdeck.sections.add(adjunctSection);\n\t\t\t});\n\t}\n\n\t// Add templates as sections if present. This is only used by the CDK.\n\tif (options.templates && options.templates.length > 0) {\n\t\tdeck.sections.add(\n\t\t\toptions.templates.map((template, index) => {\n\t\t\t\treturn PresentationSection.createFromTemplate(\n\t\t\t\t\ttemplate,\n\t\t\t\t\tindex,\n\t\t\t\t\toptions.getUniqueAdjunctID()\n\t\t\t\t);\n\t\t\t})\n\t\t);\n\t}\n\n\tsetSequentialSequences(deck);\n\n\treturn deck;\n};\n\nPresentationDeck.createFromManifestJSON = function (manifestJSON) {\n\tconst deck = new PresentationDeck({\n\t\tid: parseInt(_.uniqueId(), 10),\n\t\tindex: 0,\n\t\tvisible: true,\n\t\tkey: manifestJSON.key || \"manifest_deck\",\n\t\thtml: url2.resolve(manifestJSON.getAssetPath(), \"index.html\"),\n\t\tcss: url2.resolve(manifestJSON.getAssetPath(), \"slide.css\"),\n\t\tcommon: manifestJSON.common,\n\t\tthumbnail: null,\n\t\tdeckID: 1,\n\t\ttitle: \"Local\",\n\t\tversion: 1,\n\t\ttags: manifestJSON.tags[\"\"] || [],\n\t});\n\n\tconst usesImpostorSections = _.some(\n\t\tmanifestJSON.tags,\n\t\t(tags) => tags.indexOf(\"section-header\") !== -1\n\t);\n\tdeck.usesImpostorSections = usesImpostorSections;\n\n\tif (usesImpostorSections) {\n\t\tdeck.usesImpostorSections = true;\n\n\t\tlet items = Object.keys(manifestJSON.titles).map((key) => {\n\t\t\tconst sequence = manifestJSON.toJSON().ordering[key];\n\t\t\tconst splitKey = key.split(\"/\");\n\t\t\tconst newKey = splitKey[splitKey.length - 1];\n\n\t\t\treturn {\n\t\t\t\tkey: newKey,\n\t\t\t\tsequence,\n\t\t\t\thtml: url2.resolve(manifestJSON.getAssetPath(key), \"index.html\"),\n\t\t\t\tcss: url2.resolve(manifestJSON.getAssetPath(key), \"slide.css\"),\n\t\t\t\ttitle: manifestJSON.titles[key],\n\t\t\t\ttags: manifestJSON.tags[key] || [],\n\t\t\t};\n\t\t});\n\n\t\titems = _.sortBy(items, \"sequence\");\n\n\t\tconst sections = items.filter(\n\t\t\t(item) => item.tags.indexOf(\"section-header\") !== -1\n\t\t);\n\n\t\tsections.forEach((item, index) => {\n\t\t\tconst startIndex = items.indexOf(item) + 1;\n\t\t\tconst endIndex = sections[index + 1]\n\t\t\t\t? items.indexOf(sections[index + 1])\n\t\t\t\t: items.length;\n\n\t\t\tconst slides = items.slice(startIndex, endIndex);\n\n\t\t\titem.slides = slides;\n\t\t});\n\n\t\tdeck.sections.add(\n\t\t\tsections.map((section, index) => {\n\t\t\t\treturn PresentationSection.createFromManifestImpostor(section, index);\n\t\t\t})\n\t\t);\n\n\t\tdeck.realSection = PresentationSection.createFromManifestImpostor(items[0]);\n\t} else {\n\t\tconst sectionKeys = Object.keys(manifestJSON.titles).filter((title) => {\n\t\t\treturn title.split(\"/\").length === 1;\n\t\t});\n\n\t\tdeck.sections.add(\n\t\t\tsectionKeys.map((key, index) => {\n\t\t\t\treturn PresentationSection.createFromManifestJSON(\n\t\t\t\t\tmanifestJSON,\n\t\t\t\t\tkey,\n\t\t\t\t\tindex\n\t\t\t\t);\n\t\t\t})\n\t\t);\n\t}\n\n\tif (manifestJSON.templates) {\n\t\tconst templates = Object.keys(manifestJSON.templates).map((key) => {\n\t\t\treturn {\n\t\t\t\t...manifestJSON.templates[key],\n\t\t\t\tkey,\n\t\t\t\tsequence: manifestJSON.templates[key].ordering,\n\t\t\t\tindex_asset: {\n\t\t\t\t\turl: url2.resolve(\n\t\t\t\t\t\tmanifestJSON.getTemplateAssetPath(key),\n\t\t\t\t\t\t\"index.html\"\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t};\n\t\t});\n\n\t\tconst minID = _.max(_.map(deck.sections.toJSON(), \"id\"));\n\n\t\tdeck.sections.add(\n\t\t\ttemplates.map((template, index) => {\n\t\t\t\treturn PresentationSection.createFromTemplate(template, index, minID);\n\t\t\t})\n\t\t);\n\t}\n\n\treturn deck;\n};\n\nregister(\"PresentationDeck\", PresentationDeck);\n"],"file":"presentation-deck.js"}
|
|
@@ -4,10 +4,12 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
|
|
5
5
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
6
6
|
|
|
7
|
-
var
|
|
7
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
8
8
|
|
|
9
9
|
var _deckVersion = require("../models/deck-version");
|
|
10
10
|
|
|
11
|
+
var _api = require("sp-test/api");
|
|
12
|
+
|
|
11
13
|
var _manifestJson = require("../models/manifest-json");
|
|
12
14
|
|
|
13
15
|
var _presentationDeck = require("./presentation-deck");
|
|
@@ -16,9 +18,9 @@ describe("#createFromManifestJSON", function () {
|
|
|
16
18
|
beforeEach(function () {
|
|
17
19
|
jest.spyOn(_manifestJson.ManifestJSONModel.prototype, "getAssetPath").mockReturnValue("/api/");
|
|
18
20
|
});
|
|
19
|
-
it("should add template sections to the end of a deck", function _callee() {
|
|
21
|
+
it("should add template sections to the end of a deck", /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
20
22
|
var model, deck, lastSection;
|
|
21
|
-
return _regenerator.default.
|
|
23
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
22
24
|
while (1) {
|
|
23
25
|
switch (_context.prev = _context.next) {
|
|
24
26
|
case 0:
|
|
@@ -67,8 +69,8 @@ describe("#createFromManifestJSON", function () {
|
|
|
67
69
|
return _context.stop();
|
|
68
70
|
}
|
|
69
71
|
}
|
|
70
|
-
});
|
|
71
|
-
});
|
|
72
|
+
}, _callee);
|
|
73
|
+
})));
|
|
72
74
|
});
|
|
73
75
|
describe("#createFromDeckVersion", function () {
|
|
74
76
|
var deckVersionJSON = {
|
|
@@ -140,9 +142,9 @@ describe("#createFromDeckVersion", function () {
|
|
|
140
142
|
slide_set: []
|
|
141
143
|
}]
|
|
142
144
|
};
|
|
143
|
-
it("should not add template sections to the end of a deck", function _callee2() {
|
|
145
|
+
it("should not add template sections to the end of a deck", /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
|
|
144
146
|
var model, deck;
|
|
145
|
-
return _regenerator.default.
|
|
147
|
+
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
146
148
|
while (1) {
|
|
147
149
|
switch (_context2.prev = _context2.next) {
|
|
148
150
|
case 0:
|
|
@@ -158,11 +160,11 @@ describe("#createFromDeckVersion", function () {
|
|
|
158
160
|
return _context2.stop();
|
|
159
161
|
}
|
|
160
162
|
}
|
|
161
|
-
});
|
|
162
|
-
});
|
|
163
|
-
it("should add template sections to the end of a deck", function _callee3() {
|
|
163
|
+
}, _callee2);
|
|
164
|
+
})));
|
|
165
|
+
it("should add template sections to the end of a deck", /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
|
|
164
166
|
var model, deck, lastSection;
|
|
165
|
-
return _regenerator.default.
|
|
167
|
+
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
166
168
|
while (1) {
|
|
167
169
|
switch (_context3.prev = _context3.next) {
|
|
168
170
|
case 0:
|
|
@@ -185,7 +187,7 @@ describe("#createFromDeckVersion", function () {
|
|
|
185
187
|
return _context3.stop();
|
|
186
188
|
}
|
|
187
189
|
}
|
|
188
|
-
});
|
|
189
|
-
});
|
|
190
|
+
}, _callee3);
|
|
191
|
+
})));
|
|
190
192
|
});
|
|
191
193
|
//# sourceMappingURL=presentation-deck.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/presentation/presentation-deck.spec.js"],"names":["describe","beforeEach","jest","spyOn","ManifestJSONModel","prototype","mockReturnValue","it","model","titles","section_1","section_2","section_3","ordering","templates","apple","title","orange","tags","deck","PresentationDeck","createFromManifestJSON","expect","sections","length","toEqual","at","lastSection","key","html","css","deckVersionJSON","template_set","id","sequence","index_asset","url","section_set","deckversion","slide_set","subslide_set","section","DeckVersionModel","createFromDeckVersion"],"mappings":"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","sourcesContent":["import { G } from \"sp-test/api\";\n\nimport { DeckVersionModel } from \"../models/deck-version\";\nimport { ManifestJSONModel } from \"../models/manifest-json\";\nimport { PresentationDeck } from \"./presentation-deck\";\n\ndescribe(\"#createFromManifestJSON\", () => {\n\tbeforeEach(() => {\n\t\tjest\n\t\t\t.spyOn(ManifestJSONModel.prototype, \"getAssetPath\")\n\t\t\t.mockReturnValue(\"/api/\");\n\t});\n\n\tit(\"should add template sections to the end of a deck\", async () => {\n\t\tG(ManifestJSONModel);\n\t\tconst model = new ManifestJSONModel({\n\t\t\ttitles: {\n\t\t\t\tsection_1: \"Section 1\",\n\t\t\t\t\"section_1/slide_1\": \"Section 1 Slide 1\",\n\t\t\t\tsection_2: \"Section 2\",\n\t\t\t\t\"section_2/slide_1\": \"Section 2 Slide 1\",\n\t\t\t\t\"section_2/slide_2\": \"Section 2 Slide 2\",\n\t\t\t\tsection_3: \"Section 3\"\n\t\t\t},\n\t\t\tordering: {\n\t\t\t\tsection_1: 1,\n\t\t\t\t\"section_1/slide_1\": 1,\n\t\t\t\tsection_2: 2,\n\t\t\t\t\"section_2/slide_1\": 1,\n\t\t\t\t\"section_2/slide_2\": 2,\n\t\t\t\tsection_3: 3\n\t\t\t},\n\t\t\ttemplates: {\n\t\t\t\tapple: {\n\t\t\t\t\ttitle: \"Apple\",\n\t\t\t\t\tordering: 1\n\t\t\t\t},\n\t\t\t\torange: {\n\t\t\t\t\ttitle: \"Orange\",\n\t\t\t\t\tordering: 2\n\t\t\t\t}\n\t\t\t},\n\t\t\ttags: {}\n\t\t});\n\n\t\tconst deck = PresentationDeck.createFromManifestJSON(model);\n\t\texpect(deck.sections.length).toEqual(5);\n\t\texpect(deck.sections.at(0).title).toEqual(\"Section 1\");\n\t\texpect(deck.sections.at(3).title).toEqual(\"Apple\");\n\n\t\tconst lastSection = deck.sections.at(deck.sections.length - 1);\n\t\texpect(lastSection.title).toEqual(\"Orange\");\n\t\texpect(lastSection.key).toEqual(\"template-orange\");\n\t\texpect(lastSection.html).toEqual(\"/api/templates/orange/index.html\");\n\t\texpect(lastSection.css).toEqual(\"/api/templates/orange/slide.css\");\n\t});\n});\n\ndescribe(\"#createFromDeckVersion\", () => {\n\tconst deckVersionJSON = {\n\t\ttemplate_set: [\n\t\t\t{\n\t\t\t\tid: 20,\n\t\t\t\ttitle: \"Apple\",\n\t\t\t\tkey: \"apple\",\n\t\t\t\tsequence: 1,\n\t\t\t\tindex_asset: {\n\t\t\t\t\turl: \"http://path/to/template/apple/index.html\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 21,\n\t\t\t\ttitle: \"Orange\",\n\t\t\t\tkey: \"orange\",\n\t\t\t\tsequence: 2,\n\t\t\t\tindex_asset: {\n\t\t\t\t\turl: \"http://path/to/template/orange/index.html\"\n\t\t\t\t}\n\t\t\t}\n\t\t],\n\t\tindex_asset: {\n\t\t\turl: \"http://path/to/index.html\"\n\t\t},\n\t\tdeck: {\n\t\t\tid: 1\n\t\t},\n\t\tsection_set: [\n\t\t\t{\n\t\t\t\tid: 1,\n\t\t\t\ttitle: \"Section 1\",\n\t\t\t\tindex_asset: {\n\t\t\t\t\turl: \"http://path/to/index.html\"\n\t\t\t\t},\n\t\t\t\tdeckversion: { id: 1 },\n\t\t\t\tsequence: 1,\n\t\t\t\tslide_set: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 1,\n\t\t\t\t\t\ttitle: \"Slide 1\",\n\t\t\t\t\t\tindex_asset: {\n\t\t\t\t\t\t\turl: \"http://path/to/index.html\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\tsubslide_set: [],\n\t\t\t\t\t\tsection: { id: 1 }\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 2,\n\t\t\t\ttitle: \"Section 2\",\n\t\t\t\tindex_asset: {\n\t\t\t\t\turl: \"http://path/to/index.html\"\n\t\t\t\t},\n\t\t\t\tdeckversion: { id: 1 },\n\t\t\t\tsequence: 2,\n\t\t\t\tslide_set: []\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 3,\n\t\t\t\ttitle: \"Section 3\",\n\t\t\t\tindex_asset: {\n\t\t\t\t\turl: \"http://path/to/index.html\"\n\t\t\t\t},\n\t\t\t\tdeckversion: { id: 1 },\n\t\t\t\tsequence: 3,\n\t\t\t\tslide_set: []\n\t\t\t}\n\t\t]\n\t};\n\n\tit(\"should not add template sections to the end of a deck\", async () => {\n\t\tG(DeckVersionModel);\n\t\tconst model = new DeckVersionModel(deckVersionJSON);\n\t\tconst deck = PresentationDeck.createFromDeckVersion(model);\n\n\t\texpect(deck.sections.length).toEqual(3);\n\t\texpect(deck.sections.at(0).title).toEqual(\"Section 1\");\n\t\texpect(deck.sections.at(deck.sections.length - 1).title).toEqual(\n\t\t\t\"Section 3\"\n\t\t);\n\t});\n\n\tit(\"should add template sections to the end of a deck\", async () => {\n\t\tG(DeckVersionModel);\n\t\tconst model = new DeckVersionModel(deckVersionJSON);\n\t\tconst deck = PresentationDeck.createFromDeckVersion(model, {\n\t\t\ttemplates: model.template_set\n\t\t});\n\n\t\texpect(deck.sections.length).toEqual(5);\n\t\texpect(deck.sections.at(0).title).toEqual(\"Section 1\");\n\t\texpect(deck.sections.at(3).title).toEqual(\"Apple\");\n\n\t\tconst lastSection = deck.sections.at(deck.sections.length - 1);\n\t\texpect(lastSection.title).toEqual(\"Orange\");\n\t\texpect(lastSection.key).toEqual(\"template-orange\");\n\t\texpect(lastSection.html).toEqual(\n\t\t\t\"http://path/to/template/orange/index.html\"\n\t\t);\n\t\texpect(lastSection.css).toEqual(\"http://path/to/template/orange/slide.css\");\n\t});\n});\n"],"file":"presentation-deck.spec.js"}
|
|
1
|
+
{"version":3,"sources":["../../src/presentation/presentation-deck.spec.js"],"names":["describe","beforeEach","jest","spyOn","ManifestJSONModel","prototype","mockReturnValue","it","model","titles","section_1","section_2","section_3","ordering","templates","apple","title","orange","tags","deck","PresentationDeck","createFromManifestJSON","expect","sections","length","toEqual","at","lastSection","key","html","css","deckVersionJSON","template_set","id","sequence","index_asset","url","section_set","deckversion","slide_set","subslide_set","section","DeckVersionModel","createFromDeckVersion"],"mappings":"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","sourcesContent":["import { DeckVersionModel } from \"../models/deck-version\";\nimport { G } from \"sp-test/api\";\nimport { ManifestJSONModel } from \"../models/manifest-json\";\nimport { PresentationDeck } from \"./presentation-deck\";\n\ndescribe(\"#createFromManifestJSON\", () => {\n\tbeforeEach(() => {\n\t\tjest\n\t\t\t.spyOn(ManifestJSONModel.prototype, \"getAssetPath\")\n\t\t\t.mockReturnValue(\"/api/\");\n\t});\n\n\tit(\"should add template sections to the end of a deck\", async () => {\n\t\tG(ManifestJSONModel);\n\t\tconst model = new ManifestJSONModel({\n\t\t\ttitles: {\n\t\t\t\tsection_1: \"Section 1\",\n\t\t\t\t\"section_1/slide_1\": \"Section 1 Slide 1\",\n\t\t\t\tsection_2: \"Section 2\",\n\t\t\t\t\"section_2/slide_1\": \"Section 2 Slide 1\",\n\t\t\t\t\"section_2/slide_2\": \"Section 2 Slide 2\",\n\t\t\t\tsection_3: \"Section 3\",\n\t\t\t},\n\t\t\tordering: {\n\t\t\t\tsection_1: 1,\n\t\t\t\t\"section_1/slide_1\": 1,\n\t\t\t\tsection_2: 2,\n\t\t\t\t\"section_2/slide_1\": 1,\n\t\t\t\t\"section_2/slide_2\": 2,\n\t\t\t\tsection_3: 3,\n\t\t\t},\n\t\t\ttemplates: {\n\t\t\t\tapple: {\n\t\t\t\t\ttitle: \"Apple\",\n\t\t\t\t\tordering: 1,\n\t\t\t\t},\n\t\t\t\torange: {\n\t\t\t\t\ttitle: \"Orange\",\n\t\t\t\t\tordering: 2,\n\t\t\t\t},\n\t\t\t},\n\t\t\ttags: {},\n\t\t});\n\n\t\tconst deck = PresentationDeck.createFromManifestJSON(model);\n\t\texpect(deck.sections.length).toEqual(5);\n\t\texpect(deck.sections.at(0).title).toEqual(\"Section 1\");\n\t\texpect(deck.sections.at(3).title).toEqual(\"Apple\");\n\n\t\tconst lastSection = deck.sections.at(deck.sections.length - 1);\n\t\texpect(lastSection.title).toEqual(\"Orange\");\n\t\texpect(lastSection.key).toEqual(\"template-orange\");\n\t\texpect(lastSection.html).toEqual(\"/api/templates/orange/index.html\");\n\t\texpect(lastSection.css).toEqual(\"/api/templates/orange/slide.css\");\n\t});\n});\n\ndescribe(\"#createFromDeckVersion\", () => {\n\tconst deckVersionJSON = {\n\t\ttemplate_set: [\n\t\t\t{\n\t\t\t\tid: 20,\n\t\t\t\ttitle: \"Apple\",\n\t\t\t\tkey: \"apple\",\n\t\t\t\tsequence: 1,\n\t\t\t\tindex_asset: {\n\t\t\t\t\turl: \"http://path/to/template/apple/index.html\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 21,\n\t\t\t\ttitle: \"Orange\",\n\t\t\t\tkey: \"orange\",\n\t\t\t\tsequence: 2,\n\t\t\t\tindex_asset: {\n\t\t\t\t\turl: \"http://path/to/template/orange/index.html\",\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t\tindex_asset: {\n\t\t\turl: \"http://path/to/index.html\",\n\t\t},\n\t\tdeck: {\n\t\t\tid: 1,\n\t\t},\n\t\tsection_set: [\n\t\t\t{\n\t\t\t\tid: 1,\n\t\t\t\ttitle: \"Section 1\",\n\t\t\t\tindex_asset: {\n\t\t\t\t\turl: \"http://path/to/index.html\",\n\t\t\t\t},\n\t\t\t\tdeckversion: { id: 1 },\n\t\t\t\tsequence: 1,\n\t\t\t\tslide_set: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 1,\n\t\t\t\t\t\ttitle: \"Slide 1\",\n\t\t\t\t\t\tindex_asset: {\n\t\t\t\t\t\t\turl: \"http://path/to/index.html\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tsubslide_set: [],\n\t\t\t\t\t\tsection: { id: 1 },\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 2,\n\t\t\t\ttitle: \"Section 2\",\n\t\t\t\tindex_asset: {\n\t\t\t\t\turl: \"http://path/to/index.html\",\n\t\t\t\t},\n\t\t\t\tdeckversion: { id: 1 },\n\t\t\t\tsequence: 2,\n\t\t\t\tslide_set: [],\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 3,\n\t\t\t\ttitle: \"Section 3\",\n\t\t\t\tindex_asset: {\n\t\t\t\t\turl: \"http://path/to/index.html\",\n\t\t\t\t},\n\t\t\t\tdeckversion: { id: 1 },\n\t\t\t\tsequence: 3,\n\t\t\t\tslide_set: [],\n\t\t\t},\n\t\t],\n\t};\n\n\tit(\"should not add template sections to the end of a deck\", async () => {\n\t\tG(DeckVersionModel);\n\t\tconst model = new DeckVersionModel(deckVersionJSON);\n\t\tconst deck = PresentationDeck.createFromDeckVersion(model);\n\n\t\texpect(deck.sections.length).toEqual(3);\n\t\texpect(deck.sections.at(0).title).toEqual(\"Section 1\");\n\t\texpect(deck.sections.at(deck.sections.length - 1).title).toEqual(\n\t\t\t\"Section 3\"\n\t\t);\n\t});\n\n\tit(\"should add template sections to the end of a deck\", async () => {\n\t\tG(DeckVersionModel);\n\t\tconst model = new DeckVersionModel(deckVersionJSON);\n\t\tconst deck = PresentationDeck.createFromDeckVersion(model, {\n\t\t\ttemplates: model.template_set,\n\t\t});\n\n\t\texpect(deck.sections.length).toEqual(5);\n\t\texpect(deck.sections.at(0).title).toEqual(\"Section 1\");\n\t\texpect(deck.sections.at(3).title).toEqual(\"Apple\");\n\n\t\tconst lastSection = deck.sections.at(deck.sections.length - 1);\n\t\texpect(lastSection.title).toEqual(\"Orange\");\n\t\texpect(lastSection.key).toEqual(\"template-orange\");\n\t\texpect(lastSection.html).toEqual(\n\t\t\t\"http://path/to/template/orange/index.html\"\n\t\t);\n\t\texpect(lastSection.css).toEqual(\"http://path/to/template/orange/slide.css\");\n\t});\n});\n"],"file":"presentation-deck.spec.js"}
|
|
@@ -7,10 +7,10 @@ exports.PresentationDeckCollection = void 0;
|
|
|
7
7
|
|
|
8
8
|
require("./presentation-deck.js");
|
|
9
9
|
|
|
10
|
-
var _stateRegister = require("../state-register.js");
|
|
11
|
-
|
|
12
10
|
var _basePresentationCollection = require("./base-presentation-collection.js");
|
|
13
11
|
|
|
12
|
+
var _stateRegister = require("../state-register.js");
|
|
13
|
+
|
|
14
14
|
/**
|
|
15
15
|
* @constructor
|
|
16
16
|
* @alias presentation.PresentationDeckCollection
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/presentation/presentation-decks.js"],"names":["PresentationDeckCollection","BasePresentationCollection","extend","comparator","model"],"mappings":";;;;;;;AAAA;;AAEA;;AACA;;AAEA
|
|
1
|
+
{"version":3,"sources":["../../src/presentation/presentation-decks.js"],"names":["PresentationDeckCollection","BasePresentationCollection","extend","comparator","model"],"mappings":";;;;;;;AAAA;;AAEA;;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMA,0BAA0B,GAAGC,uDAA2BC,MAA3B;AACzC;AAAuD;AACtDC,EAAAA,UAAU,EAAE,UAD0C;AAEtDC,EAAAA,KAAK,EAAE;AAF+C,CADd,CAAnC;;;AAOP,6BAAS,4BAAT,EAAuCJ,0BAAvC","sourcesContent":["import \"./presentation-deck.js\";\n\nimport { BasePresentationCollection } from \"./base-presentation-collection.js\";\nimport { register } from \"../state-register.js\";\n\n/**\n * @constructor\n * @alias presentation.PresentationDeckCollection\n * @extends collections.BaseCollection\n * @see presentation.PresentationDeck\n */\nexport const PresentationDeckCollection = BasePresentationCollection.extend(\n\t/** @lends presentation.PresentationDeckCollection# */ {\n\t\tcomparator: \"sequence\",\n\t\tmodel: \"PresentationDeck\",\n\t}\n);\n\nregister(\"PresentationDeckCollection\", PresentationDeckCollection);\n"],"file":"presentation-decks.js"}
|
|
@@ -7,23 +7,27 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.PresentationSection = void 0;
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
11
|
|
|
12
12
|
require("./presentation-slides.js");
|
|
13
13
|
|
|
14
|
-
var
|
|
14
|
+
var _models = require("../models.js");
|
|
15
|
+
|
|
16
|
+
var _basePresentationModel = require("./base-presentation-model.js");
|
|
17
|
+
|
|
18
|
+
var _presentationSlide = require("./presentation-slide.js");
|
|
15
19
|
|
|
16
20
|
var _lodash = _interopRequireDefault(require("lodash"));
|
|
17
21
|
|
|
18
22
|
var _index = require("../index.js");
|
|
19
23
|
|
|
20
|
-
var _models = require("../models.js");
|
|
21
|
-
|
|
22
24
|
var _stateRegister = require("../state-register.js");
|
|
23
25
|
|
|
24
|
-
var
|
|
26
|
+
var _url = _interopRequireDefault(require("url"));
|
|
25
27
|
|
|
26
|
-
var
|
|
28
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
29
|
+
|
|
30
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
27
31
|
|
|
28
32
|
/**
|
|
29
33
|
* @constructor
|
|
@@ -206,6 +210,7 @@ PresentationSection.createFromSection = function (sectionModel) {
|
|
|
206
210
|
}
|
|
207
211
|
|
|
208
212
|
var config = PresentationSection.getVisibilityAndSequence(sectionModel, options);
|
|
213
|
+
var tags = PresentationSection.getTags(sectionModel, options);
|
|
209
214
|
var section = new PresentationSection({
|
|
210
215
|
id: sectionModel.id,
|
|
211
216
|
adjunctID: null,
|
|
@@ -218,8 +223,8 @@ PresentationSection.createFromSection = function (sectionModel) {
|
|
|
218
223
|
impostor: false,
|
|
219
224
|
title: sectionModel.title,
|
|
220
225
|
deckversion: sectionModel.deckversion.id,
|
|
221
|
-
editable:
|
|
222
|
-
tags:
|
|
226
|
+
editable: tags.indexOf("editable") > -1,
|
|
227
|
+
tags: tags,
|
|
223
228
|
index: config.sequence,
|
|
224
229
|
sequence: config.sequence,
|
|
225
230
|
visible: config.visible,
|
|
@@ -237,7 +242,9 @@ PresentationSection.createFromSection = function (sectionModel) {
|
|
|
237
242
|
*/
|
|
238
243
|
|
|
239
244
|
|
|
240
|
-
PresentationSection.createFromAdjunctSection = function (adjunctSectionModel, deckVersionModel
|
|
245
|
+
PresentationSection.createFromAdjunctSection = function (adjunctSectionModel, deckVersionModel) {
|
|
246
|
+
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
247
|
+
|
|
241
248
|
_lodash.default.defaults(options, {
|
|
242
249
|
rootAssetPath: null,
|
|
243
250
|
selections: null,
|
|
@@ -254,9 +261,11 @@ PresentationSection.createFromAdjunctSection = function (adjunctSectionModel, de
|
|
|
254
261
|
key = adjunctSectionModel.key;
|
|
255
262
|
} else if (keyID) {
|
|
256
263
|
key = "adjunct-".concat(keyID);
|
|
264
|
+
adjunctSectionModel.key = key;
|
|
257
265
|
}
|
|
258
266
|
|
|
259
267
|
var config = PresentationSection.getVisibilityAndSequence(adjunctSectionModel, options);
|
|
268
|
+
var tags = PresentationSection.getTags(adjunctSectionModel, options);
|
|
260
269
|
var section = new PresentationSection({
|
|
261
270
|
id: options.getUniqueAdjunctID(),
|
|
262
271
|
adjunct: adjunctSectionModel.adjunct ? adjunctSectionModel.adjunct.url() : null,
|
|
@@ -267,8 +276,8 @@ PresentationSection.createFromAdjunctSection = function (adjunctSectionModel, de
|
|
|
267
276
|
custom: !adjunctSectionModel.created_by_autoadjunct,
|
|
268
277
|
createdByAutoAdjunct: adjunctSectionModel.created_by_autoadjunct,
|
|
269
278
|
createdByTemplate: Boolean(adjunctSectionModel.template),
|
|
270
|
-
impostor:
|
|
271
|
-
tags:
|
|
279
|
+
impostor: tags.indexOf("section-header") > -1,
|
|
280
|
+
tags: tags,
|
|
272
281
|
temporary: adjunctSectionModel.created_by_autoadjunct,
|
|
273
282
|
title: adjunctSectionModel.title,
|
|
274
283
|
deckversion: deckVersionModel.id,
|
|
@@ -306,7 +315,9 @@ PresentationSection.createFromAdjunctSection = function (adjunctSectionModel, de
|
|
|
306
315
|
return section;
|
|
307
316
|
};
|
|
308
317
|
|
|
309
|
-
PresentationSection.createFromImpostorSection = function (slideModel, DeckVersionModel
|
|
318
|
+
PresentationSection.createFromImpostorSection = function (slideModel, DeckVersionModel) {
|
|
319
|
+
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
320
|
+
|
|
310
321
|
_lodash.default.defaults(options, {
|
|
311
322
|
rootAssetPath: null,
|
|
312
323
|
selections: null,
|
|
@@ -328,6 +339,7 @@ PresentationSection.createFromImpostorSection = function (slideModel, DeckVersio
|
|
|
328
339
|
}
|
|
329
340
|
|
|
330
341
|
var config = PresentationSection.getVisibilityAndSequence(slideModel, options);
|
|
342
|
+
var tags = PresentationSection.getTags(slideModel, options);
|
|
331
343
|
var section = new PresentationSection({
|
|
332
344
|
id: slideModel.id,
|
|
333
345
|
adjunctID: null,
|
|
@@ -340,8 +352,8 @@ PresentationSection.createFromImpostorSection = function (slideModel, DeckVersio
|
|
|
340
352
|
impostor: true,
|
|
341
353
|
title: slideModel.title,
|
|
342
354
|
deckversion: slideModel.section.deckversion.id,
|
|
343
|
-
editable:
|
|
344
|
-
tags:
|
|
355
|
+
editable: tags.indexOf("editable") > -1,
|
|
356
|
+
tags: tags,
|
|
345
357
|
index: config.sequence,
|
|
346
358
|
sequence: config.sequence,
|
|
347
359
|
visible: config.visible,
|
|
@@ -377,7 +389,7 @@ PresentationSection.createFromManifestJSON = function (manifestJSON, sectionKey,
|
|
|
377
389
|
PresentationSection.createFromManifestImpostor = function (section, index) {
|
|
378
390
|
var slides = section.slides || [];
|
|
379
391
|
section.slides = null;
|
|
380
|
-
var presentationSection = new PresentationSection((
|
|
392
|
+
var presentationSection = new PresentationSection(_objectSpread({
|
|
381
393
|
id: parseInt(_lodash.default.uniqueId(), 10),
|
|
382
394
|
thumbnail: null,
|
|
383
395
|
custom: false,
|
|
@@ -391,7 +403,8 @@ PresentationSection.createFromManifestImpostor = function (section, index) {
|
|
|
391
403
|
return presentationSection;
|
|
392
404
|
};
|
|
393
405
|
|
|
394
|
-
PresentationSection.createFromAutoAdjunct = function (model
|
|
406
|
+
PresentationSection.createFromAutoAdjunct = function (model) {
|
|
407
|
+
var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
395
408
|
var requiredKeys = ["index", "deckversionID"];
|
|
396
409
|
|
|
397
410
|
for (var _i = 0, _requiredKeys = requiredKeys; _i < _requiredKeys.length; _i++) {
|
|
@@ -411,6 +424,11 @@ PresentationSection.createFromAutoAdjunct = function (model, opts) {
|
|
|
411
424
|
impostor: false
|
|
412
425
|
});
|
|
413
426
|
|
|
427
|
+
var tags = PresentationSection.getTags({
|
|
428
|
+
isAutoAdjunct: true,
|
|
429
|
+
key: model.key,
|
|
430
|
+
tags: model.tags
|
|
431
|
+
}, options);
|
|
414
432
|
var autoAdjunct = new _models.AutoAdjunctModel(model);
|
|
415
433
|
var autoAdjunctSection = new PresentationSection({
|
|
416
434
|
id: options.id || autoAdjunct.id,
|
|
@@ -430,7 +448,8 @@ PresentationSection.createFromAutoAdjunct = function (model, opts) {
|
|
|
430
448
|
visible: options.visible,
|
|
431
449
|
allowConvert: options.allowConvert,
|
|
432
450
|
deckversion: options.deckversionID,
|
|
433
|
-
impostor: options.impostor
|
|
451
|
+
impostor: options.impostor,
|
|
452
|
+
tags: tags
|
|
434
453
|
});
|
|
435
454
|
|
|
436
455
|
if (autoAdjunct.template) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/presentation/presentation-section.js"],"names":["PresentationSection","BasePresentationModel","extend","props","id","adjunctID","autoAdjunctID","type","default","templateID","createdByAutoAdjunct","createdByTemplate","adjunctSlideLimit","html","css","index","key","sequence","image","_orig_image","thumbnail","custom","temporary","title","visible","deckversion","selectionID","editable","tags","impostor","isWelcome","children","adjunct","collections","slides","addSlides","options","_","defaults","rootAssetPath","templates","choicelist","getUniqueAdjunctID","parseInt","uniqueId","Error","add","map","slide","modelName","PresentationSlide","createFromAdjunctSlide","createFromSlide","url","_url","isNumber","AdjunctSlideModel","AdjunctSectionModel","SlideModel","SectionModel","createFromSection","sectionModel","selections","assetRoot","index_asset","baseRoot","sectionPath","slice","length","config","getVisibilityAndSequence","section","adjunctslide_limit","image_256","indexOf","createFromAdjunctSection","adjunctSectionModel","deckVersionModel","keyID","creator_autoadjunct","created_by_autoadjunct","Boolean","template","origPath","orig_path","image_original","createFromImpostorSection","slideModel","DeckVersionModel","createFromManifestJSON","manifestJSON","sectionKey","titles","url2","resolve","getAssetPath","ordering","slideKeys","Object","keys","filter","slideKey","startsWith","split","slideIndex","createFromManifestImpostor","presentationSection","forEach","createFromAutoAdjunct","model","opts","requiredKeys","allowConvert","deckversionID","autoAdjunct","AutoAdjunctModel","autoAdjunctSection","name","createFromTemplate","minID","templateModel","TemplateModel","templateAssetRoot","Number"],"mappings":"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","sourcesContent":["import \"./presentation-slides.js\";\n\nimport url2 from \"url\";\n\nimport _ from \"lodash\";\n\nimport { getAssetRoot } from \"../index.js\";\nimport {\n\tAdjunctSectionModel,\n\tAdjunctSlideModel,\n\tAutoAdjunctModel,\n\tDeckVersionModel,\n\tSectionModel,\n\tSlideModel,\n\tTemplateModel\n} from \"../models.js\";\nimport { register } from \"../state-register.js\";\nimport { BasePresentationModel } from \"./base-presentation-model.js\";\nimport { PresentationSlide } from \"./presentation-slide.js\";\n\n/**\n * @constructor\n * @alias presentation.PresentationSection\n * @extends presentation.BasePresentationModel\n */\nexport const PresentationSection = BasePresentationModel.extend(\n\t/** @lends presentation.PresentationSection# */ {\n\t\t/**\n\t\t * @property {number} id\n\t\t * @property {number} adjunctID\n\t\t * @property {number} autoAdjunctID\n\t\t * @property {number} templateID\n\t\t * @property {boolean} createdByAutoAdjunct\n\t\t * @property {boolean} createdByTemplate\n\t\t * @property {number} adjunctSlideLimit\n\t\t * @property {string} html\n\t\t * @property {string} css\n\t\t * @property {number} index\n\t\t * @property {string} key\n\t\t * @property {number} sequence\n\t\t * @property {string} image\n\t\t * @property {string} _orig_image\n\t\t * @property {string} thumbnail\n\t\t * @property {boolean} custom\n\t\t * @property {boolean} temporary\n\t\t * @property {string} title\n\t\t * @property {boolean} visible\n\t\t * @property {number} deckversion\n\t\t * @property {number} selectionID\n\t\t * @property {boolean} editable\n\t\t * @property {array} tags\n\t\t * @property {boolean} impostor\n\t\t * @property {boolean} isWelcome\n\t\t */\n\t\tprops: {\n\t\t\tid: \"number\",\n\t\t\tadjunctID: \"number\",\n\t\t\tautoAdjunctID: {\n\t\t\t\ttype: \"number\",\n\t\t\t\tdefault: null\n\t\t\t},\n\t\t\ttemplateID: {\n\t\t\t\ttype: \"number\",\n\t\t\t\tdefault: null\n\t\t\t},\n\t\t\tcreatedByAutoAdjunct: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: false\n\t\t\t},\n\t\t\tcreatedByTemplate: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: false\n\t\t\t},\n\t\t\tadjunctSlideLimit: {\n\t\t\t\ttype: \"number\",\n\t\t\t\tdefault: 0\n\t\t\t},\n\t\t\thtml: \"string\",\n\t\t\tcss: \"string\",\n\t\t\tindex: \"number\",\n\t\t\tkey: \"string\",\n\t\t\tsequence: \"number\",\n\t\t\timage: \"string\",\n\t\t\t_orig_image: \"string\",\n\t\t\tthumbnail: \"string\",\n\t\t\tcustom: \"boolean\",\n\t\t\ttemporary: \"boolean\",\n\t\t\ttitle: \"string\",\n\t\t\tvisible: \"boolean\",\n\t\t\tdeckversion: \"number\",\n\t\t\tselectionID: \"number\",\n\t\t\teditable: \"boolean\",\n\t\t\ttags: \"array\",\n\t\t\timpostor: \"boolean\",\n\t\t\tisWelcome: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: () => false\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * @property {models.AdjunctModel} adjunct\n\t\t */\n\t\tchildren: {\n\t\t\tadjunct: \"AdjunctModel\"\n\t\t},\n\n\t\t/**\n\t\t * @property {presentation.PresentationSlideCollection} slides\n\t\t */\n\t\tcollections: {\n\t\t\tslides: \"PresentationSlideCollection\"\n\t\t},\n\n\t\taddSlides(slides, options = {}) {\n\t\t\t_.defaults(options, {\n\t\t\t\trootAssetPath: null,\n\t\t\t\ttemplates: null,\n\t\t\t\tchoicelist: null,\n\t\t\t\tgetUniqueAdjunctID: () => {\n\t\t\t\t\treturn parseInt(_.uniqueId(), 10);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tif (this.createdByTemplate) {\n\t\t\t\tthrow new Error(\"Can not add slides to a template\");\n\t\t\t}\n\n\t\t\tthis.slides.add(\n\t\t\t\tslides.map(slide => {\n\t\t\t\t\tif (slide.modelName === \"adjunctslides\") {\n\t\t\t\t\t\treturn PresentationSlide.createFromAdjunctSlide(\n\t\t\t\t\t\t\tslide,\n\t\t\t\t\t\t\tthis,\n\t\t\t\t\t\t\toptions\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn PresentationSlide.createFromSlide(slide, options);\n\t\t\t\t})\n\t\t\t);\n\t\t},\n\n\t\turl() {\n\t\t\tif (!this._url) {\n\t\t\t\tif (_.isNumber(this.adjunctID) && this.impostor) {\n\t\t\t\t\tthis._url = new AdjunctSlideModel({ id: this.adjunctID }).url();\n\t\t\t\t} else if (_.isNumber(this.adjunctID)) {\n\t\t\t\t\tthis._url = new AdjunctSectionModel({ id: this.adjunctID }).url();\n\t\t\t\t} else if (this.impostor) {\n\t\t\t\t\tthis._url = new SlideModel({ id: this.id }).url();\n\t\t\t\t} else {\n\t\t\t\t\tthis._url = new SectionModel({ id: this.id }).url();\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn this._url;\n\t\t}\n\t}\n);\n\n/**\n * @function createFromSection\n * @memberof presentation.PresentationSection\n * @param {models.SectionModel} sectionModel\n * @param {object} [options]\n * @returns {presentation.PresentationSection}\n */\nPresentationSection.createFromSection = function(sectionModel, options = {}) {\n\t_.defaults(options, {\n\t\trootAssetPath: null,\n\t\tselections: null,\n\t\tchoicelist: null\n\t});\n\n\tlet html;\n\tlet css;\n\n\tconst assetRoot = getAssetRoot(sectionModel.index_asset.url());\n\n\tif (options.rootAssetPath) {\n\t\tconst baseRoot = getAssetRoot(sectionModel.deckversion.index_asset.url());\n\t\tconst sectionPath = assetRoot.slice(baseRoot.length);\n\n\t\thtml = `${options.rootAssetPath}${sectionPath}index.html`;\n\t\tcss = `${options.rootAssetPath}${sectionPath}slide.css`;\n\t} else {\n\t\thtml = `${assetRoot}index.html`;\n\t\tcss = `${assetRoot}slide.css`;\n\t}\n\n\tconst config = PresentationSection.getVisibilityAndSequence(\n\t\tsectionModel,\n\t\toptions\n\t);\n\n\tconst section = new PresentationSection({\n\t\tid: sectionModel.id,\n\t\tadjunctID: null,\n\t\thtml,\n\t\tcss,\n\t\tkey: sectionModel.key,\n\t\tadjunctSlideLimit: sectionModel.adjunctslide_limit,\n\t\tthumbnail: sectionModel.image_256,\n\t\tcustom: false,\n\t\timpostor: false,\n\t\ttitle: sectionModel.title,\n\t\tdeckversion: sectionModel.deckversion.id,\n\t\teditable: sectionModel.tags.indexOf(\"editable\") > -1,\n\t\ttags: sectionModel.tags,\n\t\tindex: config.sequence,\n\t\tsequence: config.sequence,\n\t\tvisible: config.visible,\n\t\tselectionID: config.selectionID\n\t});\n\n\treturn section;\n};\n\n/**\n * @function createFromAdjunctSection\n * @memberof presentation.PresentationSection\n * @param {models.AdjunctSectionModel} adjunctSectionModel\n * @param {models.DeckVersionMOdel} deckVersionModel\n * @param {object} [options]\n * @returns {presentation.PresentationSection}\n */\nPresentationSection.createFromAdjunctSection = function(\n\tadjunctSectionModel,\n\tdeckVersionModel,\n\toptions\n) {\n\t_.defaults(options, {\n\t\trootAssetPath: null,\n\t\tselections: null,\n\t\tchoicelist: null,\n\t\tgetUniqueAdjunctID: () => {\n\t\t\treturn parseInt(_.uniqueId(), 10);\n\t\t}\n\t});\n\n\tconst keyID =\n\t\tadjunctSectionModel.id ||\n\t\t(adjunctSectionModel.creator_autoadjunct\n\t\t\t? adjunctSectionModel.creator_autoadjunct.id\n\t\t\t: null);\n\n\tlet key = null;\n\n\tif (adjunctSectionModel.key) {\n\t\tkey = adjunctSectionModel.key;\n\t} else if (keyID) {\n\t\tkey = `adjunct-${keyID}`;\n\t}\n\n\tconst config = PresentationSection.getVisibilityAndSequence(\n\t\tadjunctSectionModel,\n\t\toptions\n\t);\n\n\tconst section = new PresentationSection({\n\t\tid: options.getUniqueAdjunctID(),\n\t\tadjunct: adjunctSectionModel.adjunct\n\t\t\t? adjunctSectionModel.adjunct.url()\n\t\t\t: null,\n\t\tadjunctID: adjunctSectionModel.id,\n\t\tautoAdjunctID: adjunctSectionModel.creator_autoadjunct\n\t\t\t? adjunctSectionModel.creator_autoadjunct.id\n\t\t\t: null,\n\t\tkey,\n\t\tthumbnail: adjunctSectionModel.image_256,\n\t\tcustom: !adjunctSectionModel.created_by_autoadjunct,\n\t\tcreatedByAutoAdjunct: adjunctSectionModel.created_by_autoadjunct,\n\t\tcreatedByTemplate: Boolean(adjunctSectionModel.template),\n\t\timpostor:\n\t\t\tadjunctSectionModel.tags &&\n\t\t\tadjunctSectionModel.tags.indexOf(\"section-header\") > -1,\n\t\ttags: adjunctSectionModel.tags,\n\t\ttemporary: adjunctSectionModel.created_by_autoadjunct,\n\t\ttitle: adjunctSectionModel.title,\n\t\tdeckversion: deckVersionModel.id,\n\t\teditable: false,\n\t\tindex: config.sequence,\n\t\tsequence: config.sequence,\n\t\tvisible: config.visible\n\t});\n\n\tif (adjunctSectionModel.template) {\n\t\tif (!adjunctSectionModel.template.index_asset) {\n\t\t\tthrow new Error(\n\t\t\t\t\"Template missing index_asset. Do you have the whole template available?\"\n\t\t\t);\n\t\t}\n\t\tconst origPath = adjunctSectionModel.template.index_asset.orig_path;\n\t\tlet html;\n\t\tlet css;\n\n\t\tif (options.rootAssetPath) {\n\t\t\thtml = `${options.rootAssetPath}${origPath}/index.html`;\n\t\t\tcss = `${options.rootAssetPath}${origPath}/slide.css`;\n\t\t} else {\n\t\t\tconst assetRoot = getAssetRoot(\n\t\t\t\tadjunctSectionModel.template.index_asset.url()\n\t\t\t);\n\t\t\thtml = `${assetRoot}index.html`;\n\t\t\tcss = `${assetRoot}slide.css`;\n\t\t}\n\t\tsection.html = html;\n\t\tsection.css = css;\n\t\tsection.thumbnail = adjunctSectionModel.template.image_256;\n\t} else {\n\t\tsection.image = adjunctSectionModel.image_original;\n\t}\n\n\treturn section;\n};\n\nPresentationSection.createFromImpostorSection = function(\n\tslideModel,\n\tDeckVersionModel,\n\toptions\n) {\n\t_.defaults(options, {\n\t\trootAssetPath: null,\n\t\tselections: null,\n\t\tchoicelist: null\n\t});\n\n\tlet html;\n\tlet css;\n\n\tconst assetRoot = getAssetRoot(slideModel.index_asset.url());\n\n\tif (options.rootAssetPath) {\n\t\tconst baseRoot = getAssetRoot(\n\t\t\tslideModel.section.deckversion.index_asset.url()\n\t\t);\n\t\tconst sectionPath = assetRoot.slice(baseRoot.length);\n\n\t\thtml = `${options.rootAssetPath}${sectionPath}index.html`;\n\t\tcss = `${options.rootAssetPath}${sectionPath}slide.css`;\n\t} else {\n\t\thtml = `${assetRoot}index.html`;\n\t\tcss = `${assetRoot}slide.css`;\n\t}\n\n\tconst config = PresentationSection.getVisibilityAndSequence(\n\t\tslideModel,\n\t\toptions\n\t);\n\n\tconst section = new PresentationSection({\n\t\tid: slideModel.id,\n\t\tadjunctID: null,\n\t\thtml,\n\t\tcss,\n\t\tkey: slideModel.key,\n\t\tadjunctSlideLimit: slideModel.adjunctslide_limit,\n\t\tthumbnail: slideModel.image_256,\n\t\tcustom: false,\n\t\timpostor: true,\n\t\ttitle: slideModel.title,\n\t\tdeckversion: slideModel.section.deckversion.id,\n\t\teditable: slideModel.tags.indexOf(\"editable\") > -1,\n\t\ttags: slideModel.tags,\n\t\tindex: config.sequence,\n\t\tsequence: config.sequence,\n\t\tvisible: config.visible,\n\t\tselectionID: config.selectionID\n\t});\n\n\treturn section;\n};\n\nPresentationSection.createFromManifestJSON = function(\n\tmanifestJSON,\n\tsectionKey,\n\tindex\n) {\n\tconst section = new PresentationSection({\n\t\tid: parseInt(_.uniqueId(), 10),\n\t\tindex,\n\t\ttitle: manifestJSON.titles[sectionKey],\n\t\thtml: url2.resolve(manifestJSON.getAssetPath(sectionKey), \"index.html\"),\n\t\tcss: url2.resolve(manifestJSON.getAssetPath(sectionKey), \"slide.css\"),\n\t\tkey: sectionKey,\n\t\tsequence: manifestJSON.ordering[sectionKey] - 1,\n\t\tthumbnail: null,\n\t\tcustom: false,\n\t\tvisible: true,\n\t\tdeckversion: 1,\n\t\ttags: manifestJSON.tags[sectionKey] || null\n\t});\n\n\tconst slideKeys = Object.keys(manifestJSON.titles).filter(slideKey => {\n\t\treturn slideKey.startsWith(sectionKey) && slideKey.split(\"/\").length > 1;\n\t});\n\n\tsection.slides.add(\n\t\tslideKeys.map((key, slideIndex) => {\n\t\t\treturn PresentationSlide.createFromManifestJSON(\n\t\t\t\tmanifestJSON,\n\t\t\t\tkey,\n\t\t\t\tsection.id,\n\t\t\t\tslideIndex\n\t\t\t);\n\t\t})\n\t);\n\n\treturn section;\n};\n\nPresentationSection.createFromManifestImpostor = function(section, index) {\n\tconst slides = section.slides || [];\n\tsection.slides = null;\n\n\tconst presentationSection = new PresentationSection({\n\t\tid: parseInt(_.uniqueId(), 10),\n\t\tthumbnail: null,\n\t\tcustom: false,\n\t\tvisible: true,\n\t\tdeckversion: 1,\n\t\tindex,\n\t\t...section\n\t});\n\n\tslides.forEach((slide, index) => {\n\t\tpresentationSection.slides.add(\n\t\t\tPresentationSlide.createFromManifestImpostor(\n\t\t\t\tslide,\n\t\t\t\tindex,\n\t\t\t\tpresentationSection.id\n\t\t\t)\n\t\t);\n\t});\n\n\treturn presentationSection;\n};\n\nPresentationSection.createFromAutoAdjunct = function(model, opts) {\n\tconst requiredKeys = [\"index\", \"deckversionID\"];\n\tfor (const key of requiredKeys) {\n\t\tif (typeof opts[key] === \"undefined\") {\n\t\t\tthrow new Error(`Missing required key '${key}'.`);\n\t\t}\n\t}\n\n\tconst options = _.defaults(opts, {\n\t\tallowConvert: true,\n\t\tvisible: true,\n\t\tindex: -1,\n\t\tdeckversionID: -1,\n\t\tsequence: opts.index,\n\t\timpostor: false\n\t});\n\n\tconst autoAdjunct = new AutoAdjunctModel(model);\n\n\tconst autoAdjunctSection = new PresentationSection({\n\t\tid: options.id || autoAdjunct.id,\n\t\tadjunctID: autoAdjunct.id,\n\t\tautoAdjunctID: autoAdjunct.id,\n\t\tcreatedByTemplate: autoAdjunct.template !== null,\n\t\ttemplateID: autoAdjunct.template ? autoAdjunct.template.id : null,\n\t\thtml: \"\",\n\t\tcss: \"\",\n\t\tsequence: options.sequence,\n\t\tindex: options.index,\n\t\tkey: autoAdjunct.key,\n\t\tcreatedByAutoAdjunct: false,\n\t\tthumbnail: autoAdjunct.image_256,\n\t\ttemporary: true,\n\t\ttitle: autoAdjunct.name,\n\t\tvisible: options.visible,\n\t\tallowConvert: options.allowConvert,\n\t\tdeckversion: options.deckversionID,\n\t\timpostor: options.impostor\n\t});\n\n\tif (autoAdjunct.template) {\n\t\tautoAdjunctSection.thumbnail = autoAdjunct.template.image_256;\n\t\tautoAdjunctSection.createdByTemplate = true;\n\t\tautoAdjunctSection.templateID = autoAdjunct.template.id;\n\t\tautoAdjunctSection.html = autoAdjunct.template.index_asset.url();\n\t} else {\n\t\tautoAdjunctSection.image = autoAdjunct.image_original;\n\t}\n\n\treturn autoAdjunctSection;\n};\n\nPresentationSection.createFromTemplate = function(template, index, minID = 0) {\n\tconst templateModel = new TemplateModel(template);\n\n\tconst deckversion = new DeckVersionModel(templateModel.deckversion);\n\tconst templateAssetRoot = getAssetRoot(templateModel.index_asset.url());\n\tconst presentationSection = new PresentationSection({\n\t\tid: minID + parseInt(_.uniqueId(), 10),\n\t\ttemplateID: templateModel.id,\n\t\tkey: `template-${templateModel.key}`,\n\t\ttitle: templateModel.title,\n\t\thtml: `${templateAssetRoot}index.html`,\n\t\tcss: `${templateAssetRoot}slide.css`,\n\t\tcustom: false,\n\t\tvisible: true,\n\t\tthumbnail: templateModel.image_256,\n\t\t// Makes sure templates are rendered with unique IDs\n\t\tautoAdjunctID: Number(_.uniqueId()),\n\t\tdeckversion: deckversion.id,\n\t\t// Add a large number here to make sure it's always at the end\n\t\t// of a list of sections\n\t\tsequence: 9000 + templateModel.sequence,\n\t\tcreatedByTemplate: true,\n\t\tindex\n\t});\n\n\treturn presentationSection;\n};\n\nregister(\"PresentationSection\", PresentationSection);\n"],"file":"presentation-section.js"}
|
|
1
|
+
{"version":3,"sources":["../../src/presentation/presentation-section.js"],"names":["PresentationSection","BasePresentationModel","extend","props","id","adjunctID","autoAdjunctID","type","default","templateID","createdByAutoAdjunct","createdByTemplate","adjunctSlideLimit","html","css","index","key","sequence","image","_orig_image","thumbnail","custom","temporary","title","visible","deckversion","selectionID","editable","tags","impostor","isWelcome","children","adjunct","collections","slides","addSlides","options","_","defaults","rootAssetPath","templates","choicelist","getUniqueAdjunctID","parseInt","uniqueId","Error","add","map","slide","modelName","PresentationSlide","createFromAdjunctSlide","createFromSlide","url","_url","isNumber","AdjunctSlideModel","AdjunctSectionModel","SlideModel","SectionModel","createFromSection","sectionModel","selections","assetRoot","index_asset","baseRoot","sectionPath","slice","length","config","getVisibilityAndSequence","getTags","section","adjunctslide_limit","image_256","indexOf","createFromAdjunctSection","adjunctSectionModel","deckVersionModel","keyID","creator_autoadjunct","created_by_autoadjunct","Boolean","template","origPath","orig_path","image_original","createFromImpostorSection","slideModel","DeckVersionModel","createFromManifestJSON","manifestJSON","sectionKey","titles","url2","resolve","getAssetPath","ordering","slideKeys","Object","keys","filter","slideKey","startsWith","split","slideIndex","createFromManifestImpostor","presentationSection","forEach","createFromAutoAdjunct","model","opts","requiredKeys","allowConvert","deckversionID","isAutoAdjunct","autoAdjunct","AutoAdjunctModel","autoAdjunctSection","name","createFromTemplate","minID","templateModel","TemplateModel","templateAssetRoot","Number"],"mappings":"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","sourcesContent":["import \"./presentation-slides.js\";\n\nimport {\n\tAdjunctSectionModel,\n\tAdjunctSlideModel,\n\tAutoAdjunctModel,\n\tDeckVersionModel,\n\tSectionModel,\n\tSlideModel,\n\tTemplateModel,\n} from \"../models.js\";\n\nimport { BasePresentationModel } from \"./base-presentation-model.js\";\nimport { PresentationSlide } from \"./presentation-slide.js\";\nimport _ from \"lodash\";\nimport { getAssetRoot } from \"../index.js\";\nimport { register } from \"../state-register.js\";\nimport url2 from \"url\";\n\n/**\n * @constructor\n * @alias presentation.PresentationSection\n * @extends presentation.BasePresentationModel\n */\nexport const PresentationSection = BasePresentationModel.extend(\n\t/** @lends presentation.PresentationSection# */ {\n\t\t/**\n\t\t * @property {number} id\n\t\t * @property {number} adjunctID\n\t\t * @property {number} autoAdjunctID\n\t\t * @property {number} templateID\n\t\t * @property {boolean} createdByAutoAdjunct\n\t\t * @property {boolean} createdByTemplate\n\t\t * @property {number} adjunctSlideLimit\n\t\t * @property {string} html\n\t\t * @property {string} css\n\t\t * @property {number} index\n\t\t * @property {string} key\n\t\t * @property {number} sequence\n\t\t * @property {string} image\n\t\t * @property {string} _orig_image\n\t\t * @property {string} thumbnail\n\t\t * @property {boolean} custom\n\t\t * @property {boolean} temporary\n\t\t * @property {string} title\n\t\t * @property {boolean} visible\n\t\t * @property {number} deckversion\n\t\t * @property {number} selectionID\n\t\t * @property {boolean} editable\n\t\t * @property {array} tags\n\t\t * @property {boolean} impostor\n\t\t * @property {boolean} isWelcome\n\t\t */\n\t\tprops: {\n\t\t\tid: \"number\",\n\t\t\tadjunctID: \"number\",\n\t\t\tautoAdjunctID: {\n\t\t\t\ttype: \"number\",\n\t\t\t\tdefault: null,\n\t\t\t},\n\t\t\ttemplateID: {\n\t\t\t\ttype: \"number\",\n\t\t\t\tdefault: null,\n\t\t\t},\n\t\t\tcreatedByAutoAdjunct: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: false,\n\t\t\t},\n\t\t\tcreatedByTemplate: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: false,\n\t\t\t},\n\t\t\tadjunctSlideLimit: {\n\t\t\t\ttype: \"number\",\n\t\t\t\tdefault: 0,\n\t\t\t},\n\t\t\thtml: \"string\",\n\t\t\tcss: \"string\",\n\t\t\tindex: \"number\",\n\t\t\tkey: \"string\",\n\t\t\tsequence: \"number\",\n\t\t\timage: \"string\",\n\t\t\t_orig_image: \"string\",\n\t\t\tthumbnail: \"string\",\n\t\t\tcustom: \"boolean\",\n\t\t\ttemporary: \"boolean\",\n\t\t\ttitle: \"string\",\n\t\t\tvisible: \"boolean\",\n\t\t\tdeckversion: \"number\",\n\t\t\tselectionID: \"number\",\n\t\t\teditable: \"boolean\",\n\t\t\ttags: \"array\",\n\t\t\timpostor: \"boolean\",\n\t\t\tisWelcome: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: () => false,\n\t\t\t},\n\t\t},\n\n\t\t/**\n\t\t * @property {models.AdjunctModel} adjunct\n\t\t */\n\t\tchildren: {\n\t\t\tadjunct: \"AdjunctModel\",\n\t\t},\n\n\t\t/**\n\t\t * @property {presentation.PresentationSlideCollection} slides\n\t\t */\n\t\tcollections: {\n\t\t\tslides: \"PresentationSlideCollection\",\n\t\t},\n\n\t\taddSlides(slides, options = {}) {\n\t\t\t_.defaults(options, {\n\t\t\t\trootAssetPath: null,\n\t\t\t\ttemplates: null,\n\t\t\t\tchoicelist: null,\n\t\t\t\tgetUniqueAdjunctID: () => {\n\t\t\t\t\treturn parseInt(_.uniqueId(), 10);\n\t\t\t\t},\n\t\t\t});\n\n\t\t\tif (this.createdByTemplate) {\n\t\t\t\tthrow new Error(\"Can not add slides to a template\");\n\t\t\t}\n\n\t\t\tthis.slides.add(\n\t\t\t\tslides.map((slide) => {\n\t\t\t\t\tif (slide.modelName === \"adjunctslides\") {\n\t\t\t\t\t\treturn PresentationSlide.createFromAdjunctSlide(\n\t\t\t\t\t\t\tslide,\n\t\t\t\t\t\t\tthis,\n\t\t\t\t\t\t\toptions\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn PresentationSlide.createFromSlide(slide, options);\n\t\t\t\t})\n\t\t\t);\n\t\t},\n\n\t\turl() {\n\t\t\tif (!this._url) {\n\t\t\t\tif (_.isNumber(this.adjunctID) && this.impostor) {\n\t\t\t\t\tthis._url = new AdjunctSlideModel({ id: this.adjunctID }).url();\n\t\t\t\t} else if (_.isNumber(this.adjunctID)) {\n\t\t\t\t\tthis._url = new AdjunctSectionModel({ id: this.adjunctID }).url();\n\t\t\t\t} else if (this.impostor) {\n\t\t\t\t\tthis._url = new SlideModel({ id: this.id }).url();\n\t\t\t\t} else {\n\t\t\t\t\tthis._url = new SectionModel({ id: this.id }).url();\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn this._url;\n\t\t},\n\t}\n);\n\n/**\n * @function createFromSection\n * @memberof presentation.PresentationSection\n * @param {models.SectionModel} sectionModel\n * @param {object} [options]\n * @returns {presentation.PresentationSection}\n */\nPresentationSection.createFromSection = function (sectionModel, options = {}) {\n\t_.defaults(options, {\n\t\trootAssetPath: null,\n\t\tselections: null,\n\t\tchoicelist: null,\n\t});\n\n\tlet html;\n\tlet css;\n\n\tconst assetRoot = getAssetRoot(sectionModel.index_asset.url());\n\n\tif (options.rootAssetPath) {\n\t\tconst baseRoot = getAssetRoot(sectionModel.deckversion.index_asset.url());\n\t\tconst sectionPath = assetRoot.slice(baseRoot.length);\n\n\t\thtml = `${options.rootAssetPath}${sectionPath}index.html`;\n\t\tcss = `${options.rootAssetPath}${sectionPath}slide.css`;\n\t} else {\n\t\thtml = `${assetRoot}index.html`;\n\t\tcss = `${assetRoot}slide.css`;\n\t}\n\n\tconst config = PresentationSection.getVisibilityAndSequence(\n\t\tsectionModel,\n\t\toptions\n\t);\n\n\tconst tags = PresentationSection.getTags(sectionModel, options);\n\n\tconst section = new PresentationSection({\n\t\tid: sectionModel.id,\n\t\tadjunctID: null,\n\t\thtml,\n\t\tcss,\n\t\tkey: sectionModel.key,\n\t\tadjunctSlideLimit: sectionModel.adjunctslide_limit,\n\t\tthumbnail: sectionModel.image_256,\n\t\tcustom: false,\n\t\timpostor: false,\n\t\ttitle: sectionModel.title,\n\t\tdeckversion: sectionModel.deckversion.id,\n\t\teditable: tags.indexOf(\"editable\") > -1,\n\t\ttags,\n\t\tindex: config.sequence,\n\t\tsequence: config.sequence,\n\t\tvisible: config.visible,\n\t\tselectionID: config.selectionID,\n\t});\n\n\treturn section;\n};\n\n/**\n * @function createFromAdjunctSection\n * @memberof presentation.PresentationSection\n * @param {models.AdjunctSectionModel} adjunctSectionModel\n * @param {models.DeckVersionMOdel} deckVersionModel\n * @param {object} [options]\n * @returns {presentation.PresentationSection}\n */\nPresentationSection.createFromAdjunctSection = function (\n\tadjunctSectionModel,\n\tdeckVersionModel,\n\toptions = {}\n) {\n\t_.defaults(options, {\n\t\trootAssetPath: null,\n\t\tselections: null,\n\t\tchoicelist: null,\n\t\tgetUniqueAdjunctID: () => {\n\t\t\treturn parseInt(_.uniqueId(), 10);\n\t\t},\n\t});\n\n\tconst keyID =\n\t\tadjunctSectionModel.id ||\n\t\t(adjunctSectionModel.creator_autoadjunct\n\t\t\t? adjunctSectionModel.creator_autoadjunct.id\n\t\t\t: null);\n\n\tlet key = null;\n\n\tif (adjunctSectionModel.key) {\n\t\tkey = adjunctSectionModel.key;\n\t} else if (keyID) {\n\t\tkey = `adjunct-${keyID}`;\n\t\tadjunctSectionModel.key = key;\n\t}\n\n\tconst config = PresentationSection.getVisibilityAndSequence(\n\t\tadjunctSectionModel,\n\t\toptions\n\t);\n\n\tconst tags = PresentationSection.getTags(adjunctSectionModel, options);\n\n\tconst section = new PresentationSection({\n\t\tid: options.getUniqueAdjunctID(),\n\t\tadjunct: adjunctSectionModel.adjunct\n\t\t\t? adjunctSectionModel.adjunct.url()\n\t\t\t: null,\n\t\tadjunctID: adjunctSectionModel.id,\n\t\tautoAdjunctID: adjunctSectionModel.creator_autoadjunct\n\t\t\t? adjunctSectionModel.creator_autoadjunct.id\n\t\t\t: null,\n\t\tkey,\n\t\tthumbnail: adjunctSectionModel.image_256,\n\t\tcustom: !adjunctSectionModel.created_by_autoadjunct,\n\t\tcreatedByAutoAdjunct: adjunctSectionModel.created_by_autoadjunct,\n\t\tcreatedByTemplate: Boolean(adjunctSectionModel.template),\n\t\timpostor: tags.indexOf(\"section-header\") > -1,\n\t\ttags: tags,\n\t\ttemporary: adjunctSectionModel.created_by_autoadjunct,\n\t\ttitle: adjunctSectionModel.title,\n\t\tdeckversion: deckVersionModel.id,\n\t\teditable: false,\n\t\tindex: config.sequence,\n\t\tsequence: config.sequence,\n\t\tvisible: config.visible,\n\t});\n\n\tif (adjunctSectionModel.template) {\n\t\tif (!adjunctSectionModel.template.index_asset) {\n\t\t\tthrow new Error(\n\t\t\t\t\"Template missing index_asset. Do you have the whole template available?\"\n\t\t\t);\n\t\t}\n\t\tconst origPath = adjunctSectionModel.template.index_asset.orig_path;\n\t\tlet html;\n\t\tlet css;\n\n\t\tif (options.rootAssetPath) {\n\t\t\thtml = `${options.rootAssetPath}${origPath}/index.html`;\n\t\t\tcss = `${options.rootAssetPath}${origPath}/slide.css`;\n\t\t} else {\n\t\t\tconst assetRoot = getAssetRoot(\n\t\t\t\tadjunctSectionModel.template.index_asset.url()\n\t\t\t);\n\t\t\thtml = `${assetRoot}index.html`;\n\t\t\tcss = `${assetRoot}slide.css`;\n\t\t}\n\t\tsection.html = html;\n\t\tsection.css = css;\n\t\tsection.thumbnail = adjunctSectionModel.template.image_256;\n\t} else {\n\t\tsection.image = adjunctSectionModel.image_original;\n\t}\n\n\treturn section;\n};\n\nPresentationSection.createFromImpostorSection = function (\n\tslideModel,\n\tDeckVersionModel,\n\toptions = {}\n) {\n\t_.defaults(options, {\n\t\trootAssetPath: null,\n\t\tselections: null,\n\t\tchoicelist: null,\n\t});\n\n\tlet html;\n\tlet css;\n\n\tconst assetRoot = getAssetRoot(slideModel.index_asset.url());\n\n\tif (options.rootAssetPath) {\n\t\tconst baseRoot = getAssetRoot(\n\t\t\tslideModel.section.deckversion.index_asset.url()\n\t\t);\n\t\tconst sectionPath = assetRoot.slice(baseRoot.length);\n\n\t\thtml = `${options.rootAssetPath}${sectionPath}index.html`;\n\t\tcss = `${options.rootAssetPath}${sectionPath}slide.css`;\n\t} else {\n\t\thtml = `${assetRoot}index.html`;\n\t\tcss = `${assetRoot}slide.css`;\n\t}\n\n\tconst config = PresentationSection.getVisibilityAndSequence(\n\t\tslideModel,\n\t\toptions\n\t);\n\n\tconst tags = PresentationSection.getTags(slideModel, options);\n\n\tconst section = new PresentationSection({\n\t\tid: slideModel.id,\n\t\tadjunctID: null,\n\t\thtml,\n\t\tcss,\n\t\tkey: slideModel.key,\n\t\tadjunctSlideLimit: slideModel.adjunctslide_limit,\n\t\tthumbnail: slideModel.image_256,\n\t\tcustom: false,\n\t\timpostor: true,\n\t\ttitle: slideModel.title,\n\t\tdeckversion: slideModel.section.deckversion.id,\n\t\teditable: tags.indexOf(\"editable\") > -1,\n\t\ttags,\n\t\tindex: config.sequence,\n\t\tsequence: config.sequence,\n\t\tvisible: config.visible,\n\t\tselectionID: config.selectionID,\n\t});\n\n\treturn section;\n};\n\nPresentationSection.createFromManifestJSON = function (\n\tmanifestJSON,\n\tsectionKey,\n\tindex\n) {\n\tconst section = new PresentationSection({\n\t\tid: parseInt(_.uniqueId(), 10),\n\t\tindex,\n\t\ttitle: manifestJSON.titles[sectionKey],\n\t\thtml: url2.resolve(manifestJSON.getAssetPath(sectionKey), \"index.html\"),\n\t\tcss: url2.resolve(manifestJSON.getAssetPath(sectionKey), \"slide.css\"),\n\t\tkey: sectionKey,\n\t\tsequence: manifestJSON.ordering[sectionKey] - 1,\n\t\tthumbnail: null,\n\t\tcustom: false,\n\t\tvisible: true,\n\t\tdeckversion: 1,\n\t\ttags: manifestJSON.tags[sectionKey] || null,\n\t});\n\n\tconst slideKeys = Object.keys(manifestJSON.titles).filter((slideKey) => {\n\t\treturn slideKey.startsWith(sectionKey) && slideKey.split(\"/\").length > 1;\n\t});\n\n\tsection.slides.add(\n\t\tslideKeys.map((key, slideIndex) => {\n\t\t\treturn PresentationSlide.createFromManifestJSON(\n\t\t\t\tmanifestJSON,\n\t\t\t\tkey,\n\t\t\t\tsection.id,\n\t\t\t\tslideIndex\n\t\t\t);\n\t\t})\n\t);\n\n\treturn section;\n};\n\nPresentationSection.createFromManifestImpostor = function (section, index) {\n\tconst slides = section.slides || [];\n\tsection.slides = null;\n\n\tconst presentationSection = new PresentationSection({\n\t\tid: parseInt(_.uniqueId(), 10),\n\t\tthumbnail: null,\n\t\tcustom: false,\n\t\tvisible: true,\n\t\tdeckversion: 1,\n\t\tindex,\n\t\t...section,\n\t});\n\n\tslides.forEach((slide, index) => {\n\t\tpresentationSection.slides.add(\n\t\t\tPresentationSlide.createFromManifestImpostor(\n\t\t\t\tslide,\n\t\t\t\tindex,\n\t\t\t\tpresentationSection.id\n\t\t\t)\n\t\t);\n\t});\n\n\treturn presentationSection;\n};\n\nPresentationSection.createFromAutoAdjunct = function (model, opts = {}) {\n\tconst requiredKeys = [\"index\", \"deckversionID\"];\n\tfor (const key of requiredKeys) {\n\t\tif (typeof opts[key] === \"undefined\") {\n\t\t\tthrow new Error(`Missing required key '${key}'.`);\n\t\t}\n\t}\n\n\tconst options = _.defaults(opts, {\n\t\tallowConvert: true,\n\t\tvisible: true,\n\t\tindex: -1,\n\t\tdeckversionID: -1,\n\t\tsequence: opts.index,\n\t\timpostor: false,\n\t});\n\n\tconst tags = PresentationSection.getTags(\n\t\t{\n\t\t\tisAutoAdjunct: true,\n\t\t\tkey: model.key,\n\t\t\ttags: model.tags,\n\t\t},\n\t\toptions\n\t);\n\n\tconst autoAdjunct = new AutoAdjunctModel(model);\n\n\tconst autoAdjunctSection = new PresentationSection({\n\t\tid: options.id || autoAdjunct.id,\n\t\tadjunctID: autoAdjunct.id,\n\t\tautoAdjunctID: autoAdjunct.id,\n\t\tcreatedByTemplate: autoAdjunct.template !== null,\n\t\ttemplateID: autoAdjunct.template ? autoAdjunct.template.id : null,\n\t\thtml: \"\",\n\t\tcss: \"\",\n\t\tsequence: options.sequence,\n\t\tindex: options.index,\n\t\tkey: autoAdjunct.key,\n\t\tcreatedByAutoAdjunct: false,\n\t\tthumbnail: autoAdjunct.image_256,\n\t\ttemporary: true,\n\t\ttitle: autoAdjunct.name,\n\t\tvisible: options.visible,\n\t\tallowConvert: options.allowConvert,\n\t\tdeckversion: options.deckversionID,\n\t\timpostor: options.impostor,\n\t\ttags,\n\t});\n\n\tif (autoAdjunct.template) {\n\t\tautoAdjunctSection.thumbnail = autoAdjunct.template.image_256;\n\t\tautoAdjunctSection.createdByTemplate = true;\n\t\tautoAdjunctSection.templateID = autoAdjunct.template.id;\n\t\tautoAdjunctSection.html = autoAdjunct.template.index_asset.url();\n\t} else {\n\t\tautoAdjunctSection.image = autoAdjunct.image_original;\n\t}\n\n\treturn autoAdjunctSection;\n};\n\nPresentationSection.createFromTemplate = function (template, index, minID = 0) {\n\tconst templateModel = new TemplateModel(template);\n\n\tconst deckversion = new DeckVersionModel(templateModel.deckversion);\n\tconst templateAssetRoot = getAssetRoot(templateModel.index_asset.url());\n\tconst presentationSection = new PresentationSection({\n\t\tid: minID + parseInt(_.uniqueId(), 10),\n\t\ttemplateID: templateModel.id,\n\t\tkey: `template-${templateModel.key}`,\n\t\ttitle: templateModel.title,\n\t\thtml: `${templateAssetRoot}index.html`,\n\t\tcss: `${templateAssetRoot}slide.css`,\n\t\tcustom: false,\n\t\tvisible: true,\n\t\tthumbnail: templateModel.image_256,\n\t\t// Makes sure templates are rendered with unique IDs\n\t\tautoAdjunctID: Number(_.uniqueId()),\n\t\tdeckversion: deckversion.id,\n\t\t// Add a large number here to make sure it's always at the end\n\t\t// of a list of sections\n\t\tsequence: 9000 + templateModel.sequence,\n\t\tcreatedByTemplate: true,\n\t\tindex,\n\t});\n\n\treturn presentationSection;\n};\n\nregister(\"PresentationSection\", PresentationSection);\n"],"file":"presentation-section.js"}
|