@livepreso/api 6.46.0 → 6.48.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/.rush/temp/package-deps_build.json +156 -141
- package/.rush/temp/shrinkwrap-deps.json +424 -374
- package/CHANGELOG.json +29 -0
- package/CHANGELOG.md +15 -1
- package/api.build.log +6 -1
- package/cjs/api.js +18 -3
- package/cjs/api.js.map +1 -1
- package/cjs/api.spec.js +4 -0
- package/cjs/api.spec.js.map +1 -1
- package/cjs/auth.js +29 -2
- package/cjs/auth.js.map +1 -1
- package/cjs/auth.spec.js +77 -52
- package/cjs/auth.spec.js.map +1 -1
- package/cjs/caching.js +7 -2
- package/cjs/caching.js.map +1 -1
- package/cjs/collections/activity.js +56 -16
- package/cjs/collections/activity.js.map +1 -1
- package/cjs/collections/adjunct-sections.js +10 -1
- package/cjs/collections/adjunct-sections.js.map +1 -1
- package/cjs/collections/adjunct-slides.js +10 -1
- package/cjs/collections/adjunct-slides.js.map +1 -1
- package/cjs/collections/adjunct-sub-slides.js +9 -1
- package/cjs/collections/adjunct-sub-slides.js.map +1 -1
- package/cjs/collections/appointment-adjunct-tags.js +9 -1
- package/cjs/collections/appointment-adjunct-tags.js.map +1 -1
- package/cjs/collections/appointment-deckversion-tags.js +9 -1
- package/cjs/collections/appointment-deckversion-tags.js.map +1 -1
- package/cjs/collections/appointment-editors.js +10 -1
- package/cjs/collections/appointment-editors.js.map +1 -1
- package/cjs/collections/appointment-section-tags.js +9 -1
- package/cjs/collections/appointment-section-tags.js.map +1 -1
- package/cjs/collections/appointment-slide-tags.js +9 -1
- package/cjs/collections/appointment-slide-tags.js.map +1 -1
- package/cjs/collections/appointment-tags.js +103 -64
- package/cjs/collections/appointment-tags.js.map +1 -1
- package/cjs/collections/appointment-templates.js +10 -1
- package/cjs/collections/appointment-templates.js.map +1 -1
- package/cjs/collections/appointments.js +29 -9
- package/cjs/collections/appointments.js.map +1 -1
- package/cjs/collections/assets.js +9 -1
- package/cjs/collections/assets.js.map +1 -1
- package/cjs/collections/auto-adjuncts.js +21 -6
- package/cjs/collections/auto-adjuncts.js.map +1 -1
- package/cjs/collections/base.js +112 -34
- package/cjs/collections/base.js.map +1 -1
- package/cjs/collections/base.spec.js +233 -186
- package/cjs/collections/base.spec.js.map +1 -1
- package/cjs/collections/cms-vals.js +16 -4
- package/cjs/collections/cms-vals.js.map +1 -1
- package/cjs/collections/contact-phones.js +9 -1
- package/cjs/collections/contact-phones.js.map +1 -1
- package/cjs/collections/contacts.js +9 -1
- package/cjs/collections/contacts.js.map +1 -1
- package/cjs/collections/created-assets.js +10 -1
- package/cjs/collections/created-assets.js.map +1 -1
- package/cjs/collections/customers.js +9 -1
- package/cjs/collections/customers.js.map +1 -1
- package/cjs/collections/deck-notes.js +10 -1
- package/cjs/collections/deck-notes.js.map +1 -1
- package/cjs/collections/deck-version-screenshots.js +17 -4
- package/cjs/collections/deck-version-screenshots.js.map +1 -1
- package/cjs/collections/deck-versions.js +20 -5
- package/cjs/collections/deck-versions.js.map +1 -1
- package/cjs/collections/decks.js +9 -1
- package/cjs/collections/decks.js.map +1 -1
- package/cjs/collections/deleted-assets.js +10 -1
- package/cjs/collections/deleted-assets.js.map +1 -1
- package/cjs/collections/dispatches.js +14 -1
- package/cjs/collections/dispatches.js.map +1 -1
- package/cjs/collections/event-objects.js +9 -1
- package/cjs/collections/event-objects.js.map +1 -1
- package/cjs/collections/events.js +9 -1
- package/cjs/collections/events.js.map +1 -1
- package/cjs/collections/groups.js +9 -1
- package/cjs/collections/groups.js.map +1 -1
- package/cjs/collections/images.js +9 -1
- package/cjs/collections/images.js.map +1 -1
- package/cjs/collections/locations.js +9 -1
- package/cjs/collections/locations.js.map +1 -1
- package/cjs/collections/opportunities.js +9 -1
- package/cjs/collections/opportunities.js.map +1 -1
- package/cjs/collections/pack-diffs.js +9 -1
- package/cjs/collections/pack-diffs.js.map +1 -1
- package/cjs/collections/packs.js +9 -1
- package/cjs/collections/packs.js.map +1 -1
- package/cjs/collections/presets.js +9 -1
- package/cjs/collections/presets.js.map +1 -1
- package/cjs/collections/section-selections.js +9 -1
- package/cjs/collections/section-selections.js.map +1 -1
- package/cjs/collections/sections.js +9 -1
- package/cjs/collections/sections.js.map +1 -1
- package/cjs/collections/signers.js +28 -0
- package/cjs/collections/signers.js.map +1 -0
- package/cjs/collections/signing-backends.js +28 -0
- package/cjs/collections/signing-backends.js.map +1 -0
- package/cjs/collections/signing-requests.js +28 -0
- package/cjs/collections/signing-requests.js.map +1 -0
- package/cjs/collections/slide-selections.js +9 -1
- package/cjs/collections/slide-selections.js.map +1 -1
- package/cjs/collections/slides.js +9 -1
- package/cjs/collections/slides.js.map +1 -1
- package/cjs/collections/snapshots.js +9 -1
- package/cjs/collections/snapshots.js.map +1 -1
- package/cjs/collections/sub-slides.js +9 -1
- package/cjs/collections/sub-slides.js.map +1 -1
- package/cjs/collections/tags.js +9 -1
- package/cjs/collections/tags.js.map +1 -1
- package/cjs/collections/teams.js +9 -1
- package/cjs/collections/teams.js.map +1 -1
- package/cjs/collections/templates.js +9 -1
- package/cjs/collections/templates.js.map +1 -1
- package/cjs/collections/uploads.js +9 -1
- package/cjs/collections/uploads.js.map +1 -1
- package/cjs/collections/users.js +9 -1
- package/cjs/collections/users.js.map +1 -1
- package/cjs/collections.js +129 -11
- package/cjs/collections.js.map +1 -1
- package/cjs/fixtures.js +60 -15
- package/cjs/fixtures.js.map +1 -1
- package/cjs/index.js +36 -2
- package/cjs/index.js.map +1 -1
- package/cjs/log.js +1 -0
- package/cjs/log.js.map +1 -1
- package/cjs/middleware.js +7 -2
- package/cjs/middleware.js.map +1 -1
- package/cjs/middlewares/auth.js +17 -1
- package/cjs/middlewares/auth.js.map +1 -1
- package/cjs/middlewares/base.js +9 -3
- package/cjs/middlewares/base.js.map +1 -1
- package/cjs/middlewares/json.js +19 -1
- package/cjs/middlewares/json.js.map +1 -1
- package/cjs/middlewares/redirect.js +21 -5
- package/cjs/middlewares/redirect.js.map +1 -1
- package/cjs/models/activity-item.js +28 -5
- package/cjs/models/activity-item.js.map +1 -1
- package/cjs/models/adjunct-section.js +19 -1
- package/cjs/models/adjunct-section.js.map +1 -1
- package/cjs/models/adjunct-slide.js +19 -1
- package/cjs/models/adjunct-slide.js.map +1 -1
- package/cjs/models/adjunct-sub-slide.js +16 -1
- package/cjs/models/adjunct-sub-slide.js.map +1 -1
- package/cjs/models/adjunct.js +22 -6
- package/cjs/models/adjunct.js.map +1 -1
- package/cjs/models/api.js +6 -1
- package/cjs/models/api.js.map +1 -1
- package/cjs/models/appointment-adjunct-tags.js +13 -1
- package/cjs/models/appointment-adjunct-tags.js.map +1 -1
- package/cjs/models/appointment-deckversion-tags.js +13 -1
- package/cjs/models/appointment-deckversion-tags.js.map +1 -1
- package/cjs/models/appointment-editor.js +14 -1
- package/cjs/models/appointment-editor.js.map +1 -1
- package/cjs/models/appointment-section-tags.js +13 -1
- package/cjs/models/appointment-section-tags.js.map +1 -1
- package/cjs/models/appointment-slide-tags.js +13 -1
- package/cjs/models/appointment-slide-tags.js.map +1 -1
- package/cjs/models/appointment-stats.js +11 -1
- package/cjs/models/appointment-stats.js.map +1 -1
- package/cjs/models/appointment-tags.js +10 -1
- package/cjs/models/appointment-tags.js.map +1 -1
- package/cjs/models/appointment-template.js +6 -1
- package/cjs/models/appointment-template.js.map +1 -1
- package/cjs/models/appointment-viewing.js +8 -1
- package/cjs/models/appointment-viewing.js.map +1 -1
- package/cjs/models/appointment.js +98 -20
- package/cjs/models/appointment.js.map +1 -1
- package/cjs/models/asset.js +12 -1
- package/cjs/models/asset.js.map +1 -1
- package/cjs/models/auto-adjunct-key-check.js +15 -1
- package/cjs/models/auto-adjunct-key-check.js.map +1 -1
- package/cjs/models/auto-adjunct.js +13 -1
- package/cjs/models/auto-adjunct.js.map +1 -1
- package/cjs/models/base.js +230 -59
- package/cjs/models/base.js.map +1 -1
- package/cjs/models/base.spec.js +31 -0
- package/cjs/models/base.spec.js.map +1 -1
- package/cjs/models/choicelist.js +8 -1
- package/cjs/models/choicelist.js.map +1 -1
- package/cjs/models/cms-val.js +26 -5
- package/cjs/models/cms-val.js.map +1 -1
- package/cjs/models/cms-val.spec.js +19 -12
- package/cjs/models/cms-val.spec.js.map +1 -1
- package/cjs/models/contact-phone.js +13 -1
- package/cjs/models/contact-phone.js.map +1 -1
- package/cjs/models/contact.js +18 -1
- package/cjs/models/contact.js.map +1 -1
- package/cjs/models/customer.js +30 -3
- package/cjs/models/customer.js.map +1 -1
- package/cjs/models/deck-note.js +9 -1
- package/cjs/models/deck-note.js.map +1 -1
- package/cjs/models/deck-tags.js +15 -1
- package/cjs/models/deck-tags.js.map +1 -1
- package/cjs/models/deck-version-screenshot.js +13 -1
- package/cjs/models/deck-version-screenshot.js.map +1 -1
- package/cjs/models/deck-version.js +38 -12
- package/cjs/models/deck-version.js.map +1 -1
- package/cjs/models/deck.js +14 -1
- package/cjs/models/deck.js.map +1 -1
- package/cjs/models/dispatch-preview.js +13 -1
- package/cjs/models/dispatch-preview.js.map +1 -1
- package/cjs/models/dispatch.js +37 -2
- package/cjs/models/dispatch.js.map +1 -1
- package/cjs/models/envs.js +6 -1
- package/cjs/models/envs.js.map +1 -1
- package/cjs/models/event-object.js +11 -1
- package/cjs/models/event-object.js.map +1 -1
- package/cjs/models/event.js +13 -1
- package/cjs/models/event.js.map +1 -1
- package/cjs/models/feed-data.js +13 -1
- package/cjs/models/feed-data.js.map +1 -1
- package/cjs/models/file.js +11 -1
- package/cjs/models/file.js.map +1 -1
- package/cjs/models/group.js +11 -1
- package/cjs/models/group.js.map +1 -1
- package/cjs/models/handover.js +13 -1
- package/cjs/models/handover.js.map +1 -1
- package/cjs/models/hosted-preso.js +20 -2
- package/cjs/models/hosted-preso.js.map +1 -1
- package/cjs/models/image.js +16 -1
- package/cjs/models/image.js.map +1 -1
- package/cjs/models/location.js +13 -1
- package/cjs/models/location.js.map +1 -1
- package/cjs/models/manifest-json.js +88 -21
- package/cjs/models/manifest-json.js.map +1 -1
- package/cjs/models/onshare.js +14 -1
- package/cjs/models/onshare.js.map +1 -1
- package/cjs/models/opportunity.js +14 -1
- package/cjs/models/opportunity.js.map +1 -1
- package/cjs/models/pack-diff.js +14 -1
- package/cjs/models/pack-diff.js.map +1 -1
- package/cjs/models/pack.js +12 -1
- package/cjs/models/pack.js.map +1 -1
- package/cjs/models/preset.js +21 -2
- package/cjs/models/preset.js.map +1 -1
- package/cjs/models/refresh-request.js +11 -17
- package/cjs/models/refresh-request.js.map +1 -1
- package/cjs/models/room.js +9 -1
- package/cjs/models/room.js.map +1 -1
- package/cjs/models/salesforce-lookup.js +12 -1
- package/cjs/models/salesforce-lookup.js.map +1 -1
- package/cjs/models/section-selection.js +14 -1
- package/cjs/models/section-selection.js.map +1 -1
- package/cjs/models/section.js +14 -1
- package/cjs/models/section.js.map +1 -1
- package/cjs/models/signer.js +47 -0
- package/cjs/models/signer.js.map +1 -0
- package/cjs/models/signing-backend.js +39 -0
- package/cjs/models/signing-backend.js.map +1 -0
- package/cjs/models/signing-request.js +66 -0
- package/cjs/models/signing-request.js.map +1 -0
- package/cjs/models/slide-selection.js +14 -1
- package/cjs/models/slide-selection.js.map +1 -1
- package/cjs/models/slide.js +14 -1
- package/cjs/models/slide.js.map +1 -1
- package/cjs/models/snapshot.js +21 -4
- package/cjs/models/snapshot.js.map +1 -1
- package/cjs/models/snapshot.spec.js +32 -25
- package/cjs/models/snapshot.spec.js.map +1 -1
- package/cjs/models/sub-slide.js +12 -1
- package/cjs/models/sub-slide.js.map +1 -1
- package/cjs/models/support-ticket.js +11 -1
- package/cjs/models/support-ticket.js.map +1 -1
- package/cjs/models/tag.js +13 -1
- package/cjs/models/tag.js.map +1 -1
- package/cjs/models/team.js +13 -1
- package/cjs/models/team.js.map +1 -1
- package/cjs/models/template.js +78 -48
- package/cjs/models/template.js.map +1 -1
- package/cjs/models/tenancy.js +11 -1
- package/cjs/models/tenancy.js.map +1 -1
- package/cjs/models/timing-log.js +78 -21
- package/cjs/models/timing-log.js.map +1 -1
- package/cjs/models/timing-log.spec.js +37 -24
- package/cjs/models/timing-log.spec.js.map +1 -1
- package/cjs/models/token.js +11 -1
- package/cjs/models/token.js.map +1 -1
- package/cjs/models/transcribe-socket.js +8 -1
- package/cjs/models/transcribe-socket.js.map +1 -1
- package/cjs/models/upload.js +7 -1
- package/cjs/models/upload.js.map +1 -1
- package/cjs/models/user.js +37 -12
- package/cjs/models/user.js.map +1 -1
- package/cjs/models/user.spec.js +30 -20
- package/cjs/models/user.spec.js.map +1 -1
- package/cjs/models.js +173 -11
- package/cjs/models.js.map +1 -1
- package/cjs/presentation/appointment-presentation.js +35 -9
- package/cjs/presentation/appointment-presentation.js.map +1 -1
- package/cjs/presentation/base-presentation-collection.js +7 -1
- package/cjs/presentation/base-presentation-collection.js.map +1 -1
- package/cjs/presentation/base-presentation-model.js +65 -22
- package/cjs/presentation/base-presentation-model.js.map +1 -1
- package/cjs/presentation/base-presentation-model.spec.js +27 -6
- package/cjs/presentation/base-presentation-model.spec.js.map +1 -1
- package/cjs/presentation/presentation-deck.js +82 -41
- package/cjs/presentation/presentation-deck.js.map +1 -1
- package/cjs/presentation/presentation-deck.spec.js +95 -72
- package/cjs/presentation/presentation-deck.spec.js.map +1 -1
- package/cjs/presentation/presentation-decks.js +9 -1
- package/cjs/presentation/presentation-decks.js.map +1 -1
- package/cjs/presentation/presentation-section.js +74 -9
- package/cjs/presentation/presentation-section.js.map +1 -1
- package/cjs/presentation/presentation-section.spec.js +268 -215
- package/cjs/presentation/presentation-section.spec.js.map +1 -1
- package/cjs/presentation/presentation-sections.js +9 -1
- package/cjs/presentation/presentation-sections.js.map +1 -1
- package/cjs/presentation/presentation-slide.js +77 -16
- package/cjs/presentation/presentation-slide.js.map +1 -1
- package/cjs/presentation/presentation-slide.spec.js +187 -147
- package/cjs/presentation/presentation-slide.spec.js.map +1 -1
- package/cjs/presentation/presentation-slides.js +9 -1
- package/cjs/presentation/presentation-slides.js.map +1 -1
- package/cjs/presentation/presentation-subslide.js +23 -3
- package/cjs/presentation/presentation-subslide.js.map +1 -1
- package/cjs/presentation/presentation-subslide.spec.js +135 -111
- package/cjs/presentation/presentation-subslide.spec.js.map +1 -1
- package/cjs/presentation/presentation-subslides.js +9 -1
- package/cjs/presentation/presentation-subslides.js.map +1 -1
- package/cjs/presentation/presentation.js +115 -61
- package/cjs/presentation/presentation.js.map +1 -1
- package/cjs/presentation.js +20 -0
- package/cjs/presentation.js.map +1 -1
- package/cjs/selections.js +29 -4
- package/cjs/selections.js.map +1 -1
- package/cjs/state-register.js +11 -3
- package/cjs/state-register.js.map +1 -1
- package/cjs/sync.js +76 -32
- package/cjs/sync.js.map +1 -1
- package/cjs/utils.js +49 -21
- package/cjs/utils.js.map +1 -1
- package/cjs/utils.spec.js +5 -1
- package/cjs/utils.spec.js.map +1 -1
- package/package.json +4 -4
- package/src/collections/dispatches.js +1 -0
- package/src/collections/signers.js +18 -0
- package/src/collections/signing-backends.js +18 -0
- package/src/collections/signing-requests.js +18 -0
- package/src/collections.js +3 -1
- package/src/fixtures.js +11 -9
- package/src/index.js +2 -3
- package/src/models/activity-item.js +7 -0
- package/src/models/appointment.js +3 -0
- package/src/models/base.js +19 -0
- package/src/models/deck-tags.js +4 -0
- package/src/models/deck-version.js +1 -9
- package/src/models/dispatch.js +14 -1
- package/src/models/hosted-preso.js +4 -0
- package/src/models/manifest-json.js +9 -0
- package/src/models/preset.js +1 -0
- package/src/models/refresh-request.js +0 -14
- package/src/models/signer.js +37 -0
- package/src/models/signing-backend.js +29 -0
- package/src/models/signing-request.js +55 -0
- package/src/models/snapshot.js +4 -0
- package/src/models/user.js +9 -10
- package/src/models.js +3 -1
- package/src/presentation/presentation-section.spec.js +12 -13
- package/src/presentation/presentation-slide.spec.js +11 -12
- package/src/presentation/presentation-subslide.spec.js +11 -11
- package/src/utils.spec.js +4 -4
- package/cjs/collections/appointment-duplicates.js +0 -21
- package/cjs/collections/appointment-duplicates.js.map +0 -1
- package/cjs/models/appointment-duplicate.js +0 -72
- package/cjs/models/appointment-duplicate.js.map +0 -1
- package/src/collections/appointment-duplicates.js +0 -19
- package/src/models/appointment-duplicate.js +0 -73
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presentation-deck.js","names":["require","collections","_interopRequireWildcard","_utils","_basePresentationModel","_models","_presentationSection","_presentationSlide","_lodash","_interopRequireDefault","_index","_log","_stateRegister","_url","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","PresentationDeck","exports","BasePresentationModel","extend","props","html","css","id","deckID","index","thumbnail","visible","type","key","common","title","usesImpostorSections","editable","tags","version","cmsvalkey_set","children","realSection","derived","welcomeSlide","fn","PresentationSection","getAttributes","isWelcome","sections","url","DeckVersionModel","createFromDeckVersion","deckVersionModel","options","undefined","_","defaults","autoAdjuncts","AutoAdjunctCollection","adjunctSections","AdjunctSectionCollection","adjunctSlides","AdjunctSlideCollection","adjunctSubSlides","AdjunctSubSlideCollection","sectionSelections","SectionSelectionCollection","slideSelections","SlideSelectionCollection","screenshots","DeckVersionScreenshotCollection","rootAssetPath","templates","choicelist","screenshotsToMap","assetRoot","getAssetRoot","index_asset","concat","getTags","deck","getThumbnail","manifest_json","indexOf","isImpostorDeck","log","warn","toJSON","selections","map","selection","sequence","section","slide","maxID","getMaxID","getUniqueAdjunctID","section_set","sectionModel","createFromSection","addSlides","slide_set","add","adjunctSection","createFromAdjunctSection","first","adjunctSlideLimit","adjunctslide_limit","slides","slideModel","isSection","isImpostor","createFromImpostorSection","PresentationSlide","createFromSlide","adjunctSlideModel","createFromAdjunctSlide","models","reverse","sectionSlides","Math","floor","template","createFromTemplate","autoSections","auto","Error","autoAdjunctID","name","setSequentialSequences","createFromManifestJSON","manifestJSON","parseInt","uniqueId","url2","resolve","getAssetPath","some","items","titles","ordering","splitKey","split","newKey","sortBy","item","startIndex","endIndex","slice","createFromManifestImpostor","sectionKeys","getTemplateAssetPath","minID","max","register"],"sources":["../../src/presentation/presentation-deck.js"],"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 * @property {string[]} cmsvalkey_set\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: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tvisible: true,\n\t\t\t},\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\tcmsvalkey_set: \"array\",\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\tautoAdjuncts: new collections.AutoAdjunctCollection(),\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\tscreenshots: new collections.DeckVersionScreenshotCollection(),\n\t\trootAssetPath: null,\n\t\ttemplates: null,\n\t\tchoicelist: null,\n\t});\n\n\toptions.screenshots = PresentationDeck.screenshotsToMap(options.screenshots);\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: PresentationDeck.getThumbnail(\n\t\t\tdeckVersionModel,\n\t\t\toptions.screenshots,\n\t\t),\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\tcmsvalkey_set: deckVersionModel.cmsvalkey_set || [],\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\tdeck.sections.length + index,\n\t\t\t\t\toptions.getUniqueAdjunctID(),\n\t\t\t\t);\n\t\t\t}),\n\t\t);\n\t}\n\n\t// This is generally only used by screenshots\n\tif (options.autoAdjuncts) {\n\t\tconst autoSections = options.autoAdjuncts.map((auto, index) => {\n\t\t\t// We already have the template on the deckversion, so we can find it here.\n\t\t\tif (!auto.template) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t\"Attempted to use an autoadjunct that has no template.\",\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst section = PresentationSection.createFromTemplate(\n\t\t\t\tauto.template,\n\t\t\t\tdeck.sections.length + index,\n\t\t\t\toptions.getUniqueAdjunctID(),\n\t\t\t);\n\n\t\t\t// We've just borrowed the \"from template\" method above. We want to add\n\t\t\t// back some of the specific keys about the auto.\n\t\t\tsection.autoAdjunctID = auto.id;\n\t\t\tsection.key = auto.key;\n\t\t\tsection.title = auto.name;\n\n\t\t\treturn section;\n\t\t});\n\n\t\tdeck.sections.add(autoSections);\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\tcmsvalkey_set: [],\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\tcmsvalkey_set: [],\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"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../src/presentation/presentation-deck.js"],"names":["PresentationDeck","BasePresentationModel","extend","props","html","css","id","deckID","index","thumbnail","visible","type","key","common","title","usesImpostorSections","editable","tags","version","cmsvalkey_set","children","realSection","derived","welcomeSlide","fn","PresentationSection","getAttributes","isWelcome","collections","sections","url","_url","DeckVersionModel","createFromDeckVersion","deckVersionModel","options","_","defaults","autoAdjuncts","AutoAdjunctCollection","adjunctSections","AdjunctSectionCollection","adjunctSlides","AdjunctSlideCollection","adjunctSubSlides","AdjunctSubSlideCollection","sectionSelections","SectionSelectionCollection","slideSelections","SlideSelectionCollection","screenshots","DeckVersionScreenshotCollection","rootAssetPath","templates","choicelist","screenshotsToMap","assetRoot","index_asset","getTags","deck","getThumbnail","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","autoSections","auto","Error","autoAdjunctID","name","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 * 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 * @property {string[]} cmsvalkey_set\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: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tvisible: true,\n\t\t\t},\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\tcmsvalkey_set: \"array\",\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\tautoAdjuncts: new collections.AutoAdjunctCollection(),\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\tscreenshots: new collections.DeckVersionScreenshotCollection(),\n\t\trootAssetPath: null,\n\t\ttemplates: null,\n\t\tchoicelist: null,\n\t});\n\n\toptions.screenshots = PresentationDeck.screenshotsToMap(options.screenshots);\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: PresentationDeck.getThumbnail(\n\t\t\tdeckVersionModel,\n\t\t\toptions.screenshots,\n\t\t),\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\tcmsvalkey_set: deckVersionModel.cmsvalkey_set || [],\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\tdeck.sections.length + index,\n\t\t\t\t\toptions.getUniqueAdjunctID(),\n\t\t\t\t);\n\t\t\t}),\n\t\t);\n\t}\n\n\t// This is generally only used by screenshots\n\tif (options.autoAdjuncts) {\n\t\tconst autoSections = options.autoAdjuncts.map((auto, index) => {\n\t\t\t// We already have the template on the deckversion, so we can find it here.\n\t\t\tif (!auto.template) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t\"Attempted to use an autoadjunct that has no template.\",\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst section = PresentationSection.createFromTemplate(\n\t\t\t\tauto.template,\n\t\t\t\tdeck.sections.length + index,\n\t\t\t\toptions.getUniqueAdjunctID(),\n\t\t\t);\n\n\t\t\t// We've just borrowed the \"from template\" method above. We want to add\n\t\t\t// back some of the specific keys about the auto.\n\t\t\tsection.autoAdjunctID = auto.id;\n\t\t\tsection.key = auto.key;\n\t\t\tsection.title = auto.name;\n\n\t\t\treturn section;\n\t\t});\n\n\t\tdeck.sections.add(autoSections);\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\tcmsvalkey_set: [],\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\tcmsvalkey_set: [],\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"}
|
|
@@ -1,13 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
4
5
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
6
|
+
|
|
5
7
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
8
|
+
|
|
6
9
|
var _deckVersion = require("../models/deck-version");
|
|
10
|
+
|
|
7
11
|
var _deckVersionScreenshots = require("../collections/deck-version-screenshots.js");
|
|
12
|
+
|
|
8
13
|
var _api = require("sp-test/api");
|
|
14
|
+
|
|
9
15
|
var _manifestJson = require("../models/manifest-json");
|
|
16
|
+
|
|
10
17
|
var _presentationDeck = require("./presentation-deck");
|
|
18
|
+
|
|
11
19
|
describe("#createFromManifestJSON", function () {
|
|
12
20
|
beforeEach(function () {
|
|
13
21
|
jest.spyOn(_manifestJson.ManifestJSONModel.prototype, "getAssetPath").mockReturnValue("/api/");
|
|
@@ -15,50 +23,53 @@ describe("#createFromManifestJSON", function () {
|
|
|
15
23
|
it("should add template sections to the end of a deck", /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
16
24
|
var model, deck, lastSection;
|
|
17
25
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
18
|
-
while (1)
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
templates: {
|
|
39
|
-
apple: {
|
|
40
|
-
title: "Apple",
|
|
41
|
-
ordering: 1
|
|
26
|
+
while (1) {
|
|
27
|
+
switch (_context.prev = _context.next) {
|
|
28
|
+
case 0:
|
|
29
|
+
(0, _api.G)(_manifestJson.ManifestJSONModel);
|
|
30
|
+
model = new _manifestJson.ManifestJSONModel({
|
|
31
|
+
titles: {
|
|
32
|
+
section_1: "Section 1",
|
|
33
|
+
"section_1/slide_1": "Section 1 Slide 1",
|
|
34
|
+
section_2: "Section 2",
|
|
35
|
+
"section_2/slide_1": "Section 2 Slide 1",
|
|
36
|
+
"section_2/slide_2": "Section 2 Slide 2",
|
|
37
|
+
section_3: "Section 3"
|
|
38
|
+
},
|
|
39
|
+
ordering: {
|
|
40
|
+
section_1: 1,
|
|
41
|
+
"section_1/slide_1": 1,
|
|
42
|
+
section_2: 2,
|
|
43
|
+
"section_2/slide_1": 1,
|
|
44
|
+
"section_2/slide_2": 2,
|
|
45
|
+
section_3: 3
|
|
42
46
|
},
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
47
|
+
templates: {
|
|
48
|
+
apple: {
|
|
49
|
+
title: "Apple",
|
|
50
|
+
ordering: 1
|
|
51
|
+
},
|
|
52
|
+
orange: {
|
|
53
|
+
title: "Orange",
|
|
54
|
+
ordering: 2
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
tags: {}
|
|
58
|
+
});
|
|
59
|
+
deck = _presentationDeck.PresentationDeck.createFromManifestJSON(model);
|
|
60
|
+
expect(deck.sections.length).toEqual(5);
|
|
61
|
+
expect(deck.sections.at(0).title).toEqual("Section 1");
|
|
62
|
+
expect(deck.sections.at(3).title).toEqual("Apple");
|
|
63
|
+
lastSection = deck.sections.at(deck.sections.length - 1);
|
|
64
|
+
expect(lastSection.title).toEqual("Orange");
|
|
65
|
+
expect(lastSection.key).toEqual("template-orange");
|
|
66
|
+
expect(lastSection.html).toEqual("/api/templates/orange/index.html");
|
|
67
|
+
expect(lastSection.css).toEqual("/api/templates/orange/slide.css");
|
|
68
|
+
|
|
69
|
+
case 11:
|
|
70
|
+
case "end":
|
|
71
|
+
return _context.stop();
|
|
72
|
+
}
|
|
62
73
|
}
|
|
63
74
|
}, _callee);
|
|
64
75
|
})));
|
|
@@ -141,48 +152,56 @@ describe("#createFromDeckVersion", function () {
|
|
|
141
152
|
it("should not add template sections to the end of a deck", /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
|
|
142
153
|
var model, deck;
|
|
143
154
|
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
144
|
-
while (1)
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
+
while (1) {
|
|
156
|
+
switch (_context2.prev = _context2.next) {
|
|
157
|
+
case 0:
|
|
158
|
+
(0, _api.G)(_deckVersion.DeckVersionModel);
|
|
159
|
+
model = new _deckVersion.DeckVersionModel(deckVersionJSON);
|
|
160
|
+
deck = _presentationDeck.PresentationDeck.createFromDeckVersion(model);
|
|
161
|
+
expect(deck.sections.length).toEqual(3);
|
|
162
|
+
expect(deck.sections.at(0).title).toEqual("Section 1");
|
|
163
|
+
expect(deck.sections.at(deck.sections.length - 1).title).toEqual("Section 3");
|
|
164
|
+
|
|
165
|
+
case 6:
|
|
166
|
+
case "end":
|
|
167
|
+
return _context2.stop();
|
|
168
|
+
}
|
|
155
169
|
}
|
|
156
170
|
}, _callee2);
|
|
157
171
|
})));
|
|
158
172
|
it("should add template sections to the end of a deck", /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
|
|
159
173
|
var model, deck, lastSection;
|
|
160
174
|
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
161
|
-
while (1)
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
175
|
+
while (1) {
|
|
176
|
+
switch (_context3.prev = _context3.next) {
|
|
177
|
+
case 0:
|
|
178
|
+
(0, _api.G)(_deckVersion.DeckVersionModel);
|
|
179
|
+
model = new _deckVersion.DeckVersionModel(deckVersionJSON);
|
|
180
|
+
deck = _presentationDeck.PresentationDeck.createFromDeckVersion(model, {
|
|
181
|
+
templates: model.template_set
|
|
182
|
+
});
|
|
183
|
+
expect(deck.sections.length).toEqual(5);
|
|
184
|
+
expect(deck.sections.at(0).title).toEqual("Section 1");
|
|
185
|
+
expect(deck.sections.at(3).title).toEqual("Apple");
|
|
186
|
+
lastSection = deck.sections.at(deck.sections.length - 1);
|
|
187
|
+
expect(lastSection.title).toEqual("Orange");
|
|
188
|
+
expect(lastSection.key).toEqual("template-orange");
|
|
189
|
+
expect(lastSection.html).toEqual("http://path/to/template/orange/index.html");
|
|
190
|
+
expect(lastSection.css).toEqual("http://path/to/template/orange/slide.css");
|
|
191
|
+
|
|
192
|
+
case 11:
|
|
193
|
+
case "end":
|
|
194
|
+
return _context3.stop();
|
|
195
|
+
}
|
|
179
196
|
}
|
|
180
197
|
}, _callee3);
|
|
181
198
|
})));
|
|
182
199
|
describe("Screenshots", function () {
|
|
183
200
|
it("should use the default image from the slide if no screenshot found", function () {
|
|
184
201
|
var deck = new _deckVersion.DeckVersionModel(deckVersionJSON);
|
|
202
|
+
|
|
185
203
|
var presentationDeck = _presentationDeck.PresentationDeck.createFromDeckVersion(deck);
|
|
204
|
+
|
|
186
205
|
expect(presentationDeck.thumbnail).toEqual(deckVersionJSON.image_256);
|
|
187
206
|
});
|
|
188
207
|
it("should use the screenshot model if it matches", function () {
|
|
@@ -193,7 +212,9 @@ describe("#createFromDeckVersion", function () {
|
|
|
193
212
|
image_256: "test-screenshot.png"
|
|
194
213
|
}])
|
|
195
214
|
};
|
|
215
|
+
|
|
196
216
|
var presentationDeck = _presentationDeck.PresentationDeck.createFromDeckVersion(deck, options);
|
|
217
|
+
|
|
197
218
|
expect(presentationDeck.thumbnail).toEqual("test-screenshot.png");
|
|
198
219
|
});
|
|
199
220
|
it("should pass screenshots to nested models", function () {
|
|
@@ -212,7 +233,9 @@ describe("#createFromDeckVersion", function () {
|
|
|
212
233
|
image_256: "test-screenshot.png"
|
|
213
234
|
}])
|
|
214
235
|
};
|
|
236
|
+
|
|
215
237
|
var presentationDeck = _presentationDeck.PresentationDeck.createFromDeckVersion(deck, options);
|
|
238
|
+
|
|
216
239
|
var presentationSection = presentationDeck.sections.first();
|
|
217
240
|
var presentationSlide = presentationSection.slides.first();
|
|
218
241
|
expect(presentationSection.thumbnail).toEqual("test-screenshot.png");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presentation-deck.spec.js","names":["_deckVersion","require","_deckVersionScreenshots","_api","_manifestJson","_presentationDeck","describe","beforeEach","jest","spyOn","ManifestJSONModel","prototype","mockReturnValue","it","_asyncToGenerator2","default","_regenerator","mark","_callee","model","deck","lastSection","wrap","_callee$","_context","prev","next","G","titles","section_1","section_2","section_3","ordering","templates","apple","title","orange","tags","PresentationDeck","createFromManifestJSON","expect","sections","length","toEqual","at","key","html","css","stop","deckVersionJSON","image_256","template_set","id","sequence","index_asset","url","section_set","deckversion","slide_set","subslide_set","section","_callee2","_callee2$","_context2","DeckVersionModel","createFromDeckVersion","_callee3","_callee3$","_context3","presentationDeck","thumbnail","options","screenshots","DeckVersionScreenshotCollection","subject","first","slide","presentationSection","presentationSlide","slides"],"sources":["../../src/presentation/presentation-deck.spec.js"],"sourcesContent":["import { DeckVersionModel } from \"../models/deck-version\";\nimport { DeckVersionScreenshotCollection } from \"../collections/deck-version-screenshots.js\";\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\timage_256: \"http://path/to/deck/thumbnail.png\",\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\timage_256: \"default_section.png\",\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\timage_256: \"default_slide.png\",\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\timage_256: \"default_section.png\",\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\timage_256: \"default_section.png\",\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\tdescribe(\"Screenshots\", () => {\n\t\tit(\"should use the default image from the slide if no screenshot found\", () => {\n\t\t\tconst deck = new DeckVersionModel(deckVersionJSON);\n\t\t\tconst presentationDeck = PresentationDeck.createFromDeckVersion(deck);\n\t\t\texpect(presentationDeck.thumbnail).toEqual(deckVersionJSON.image_256);\n\t\t});\n\n\t\tit(\"should use the screenshot model if it matches\", () => {\n\t\t\tconst deck = new DeckVersionModel(deckVersionJSON);\n\t\t\tconst options = {\n\t\t\t\tscreenshots: new DeckVersionScreenshotCollection([\n\t\t\t\t\t{ subject: deck.url(), image_256: \"test-screenshot.png\" },\n\t\t\t\t]),\n\t\t\t};\n\n\t\t\tconst presentationDeck = PresentationDeck.createFromDeckVersion(\n\t\t\t\tdeck,\n\t\t\t\toptions,\n\t\t\t);\n\t\t\texpect(presentationDeck.thumbnail).toEqual(\"test-screenshot.png\");\n\t\t});\n\n\t\tit(\"should pass screenshots to nested models\", () => {\n\t\t\tconst deck = new DeckVersionModel(deckVersionJSON);\n\t\t\tconst section = deck.section_set.first();\n\t\t\tconst slide = section.slide_set.first();\n\n\t\t\tconst options = {\n\t\t\t\tscreenshots: new DeckVersionScreenshotCollection([\n\t\t\t\t\t{ subject: deck.url(), image_256: \"test-screenshot.png\" },\n\t\t\t\t\t{ subject: section.url(), image_256: \"test-screenshot.png\" },\n\t\t\t\t\t{ subject: slide.url(), image_256: \"test-screenshot.png\" },\n\t\t\t\t]),\n\t\t\t};\n\n\t\t\tconst presentationDeck = PresentationDeck.createFromDeckVersion(\n\t\t\t\tdeck,\n\t\t\t\toptions,\n\t\t\t);\n\t\t\tconst presentationSection = presentationDeck.sections.first();\n\t\t\tconst presentationSlide = presentationSection.slides.first();\n\n\t\t\texpect(presentationSection.thumbnail).toEqual(\"test-screenshot.png\");\n\t\t\texpect(presentationSlide.thumbnail).toEqual(\"test-screenshot.png\");\n\t\t});\n\t});\n});\n"],"mappings":"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"}
|
|
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","image_256","template_set","id","sequence","index_asset","url","section_set","deckversion","slide_set","subslide_set","section","DeckVersionModel","createFromDeckVersion","presentationDeck","thumbnail","options","screenshots","DeckVersionScreenshotCollection","subject","first","slide","presentationSection","presentationSlide","slides"],"mappings":"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","sourcesContent":["import { DeckVersionModel } from \"../models/deck-version\";\nimport { DeckVersionScreenshotCollection } from \"../collections/deck-version-screenshots.js\";\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\timage_256: \"http://path/to/deck/thumbnail.png\",\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\timage_256: \"default_section.png\",\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\timage_256: \"default_slide.png\",\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\timage_256: \"default_section.png\",\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\timage_256: \"default_section.png\",\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\tdescribe(\"Screenshots\", () => {\n\t\tit(\"should use the default image from the slide if no screenshot found\", () => {\n\t\t\tconst deck = new DeckVersionModel(deckVersionJSON);\n\t\t\tconst presentationDeck = PresentationDeck.createFromDeckVersion(deck);\n\t\t\texpect(presentationDeck.thumbnail).toEqual(deckVersionJSON.image_256);\n\t\t});\n\n\t\tit(\"should use the screenshot model if it matches\", () => {\n\t\t\tconst deck = new DeckVersionModel(deckVersionJSON);\n\t\t\tconst options = {\n\t\t\t\tscreenshots: new DeckVersionScreenshotCollection([\n\t\t\t\t\t{ subject: deck.url(), image_256: \"test-screenshot.png\" },\n\t\t\t\t]),\n\t\t\t};\n\n\t\t\tconst presentationDeck = PresentationDeck.createFromDeckVersion(\n\t\t\t\tdeck,\n\t\t\t\toptions,\n\t\t\t);\n\t\t\texpect(presentationDeck.thumbnail).toEqual(\"test-screenshot.png\");\n\t\t});\n\n\t\tit(\"should pass screenshots to nested models\", () => {\n\t\t\tconst deck = new DeckVersionModel(deckVersionJSON);\n\t\t\tconst section = deck.section_set.first();\n\t\t\tconst slide = section.slide_set.first();\n\n\t\t\tconst options = {\n\t\t\t\tscreenshots: new DeckVersionScreenshotCollection([\n\t\t\t\t\t{ subject: deck.url(), image_256: \"test-screenshot.png\" },\n\t\t\t\t\t{ subject: section.url(), image_256: \"test-screenshot.png\" },\n\t\t\t\t\t{ subject: slide.url(), image_256: \"test-screenshot.png\" },\n\t\t\t\t]),\n\t\t\t};\n\n\t\t\tconst presentationDeck = PresentationDeck.createFromDeckVersion(\n\t\t\t\tdeck,\n\t\t\t\toptions,\n\t\t\t);\n\t\t\tconst presentationSection = presentationDeck.sections.first();\n\t\t\tconst presentationSlide = presentationSection.slides.first();\n\n\t\t\texpect(presentationSection.thumbnail).toEqual(\"test-screenshot.png\");\n\t\t\texpect(presentationSlide.thumbnail).toEqual(\"test-screenshot.png\");\n\t\t});\n\t});\n});\n"],"file":"presentation-deck.spec.js"}
|
|
@@ -4,18 +4,26 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.PresentationDeckCollection = void 0;
|
|
7
|
+
|
|
7
8
|
require("./presentation-deck.js");
|
|
9
|
+
|
|
8
10
|
var _basePresentationCollection = require("./base-presentation-collection.js");
|
|
11
|
+
|
|
9
12
|
var _stateRegister = require("../state-register.js");
|
|
13
|
+
|
|
10
14
|
/**
|
|
11
15
|
* @constructor
|
|
12
16
|
* @alias presentation.PresentationDeckCollection
|
|
13
17
|
* @extends collections.BaseCollection
|
|
14
18
|
* @see presentation.PresentationDeck
|
|
15
19
|
*/
|
|
16
|
-
var PresentationDeckCollection =
|
|
20
|
+
var PresentationDeckCollection = _basePresentationCollection.BasePresentationCollection.extend(
|
|
21
|
+
/** @lends presentation.PresentationDeckCollection# */
|
|
22
|
+
{
|
|
17
23
|
comparator: "sequence",
|
|
18
24
|
model: "PresentationDeck"
|
|
19
25
|
});
|
|
26
|
+
|
|
27
|
+
exports.PresentationDeckCollection = PresentationDeckCollection;
|
|
20
28
|
(0, _stateRegister.register)("PresentationDeckCollection", PresentationDeckCollection);
|
|
21
29
|
//# sourceMappingURL=presentation-decks.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
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"}
|