@livepreso/api 6.48.1 → 6.49.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/.lintstagedrc.js +6 -0
- package/.rush/temp/chunked-rush-logs/api.build.chunks.jsonl +6 -0
- package/.rush/temp/chunked-rush-logs/api.test.chunks.jsonl +1 -0
- package/.rush/temp/operation/build/all.log +6 -0
- package/.rush/temp/operation/build/log-chunks.jsonl +6 -0
- package/.rush/temp/operation/build/state.json +3 -0
- package/.rush/temp/shrinkwrap-deps.json +1131 -1013
- package/CHANGELOG.json +20 -0
- package/CHANGELOG.md +9 -1
- package/bin/test.sh +0 -0
- package/cjs/api.js +3 -18
- package/cjs/api.js.map +1 -1
- package/cjs/api.spec.js +0 -4
- package/cjs/api.spec.js.map +1 -1
- package/cjs/auth.js +2 -29
- package/cjs/auth.js.map +1 -1
- package/cjs/auth.spec.js +55 -80
- package/cjs/auth.spec.js.map +1 -1
- package/cjs/caching.js +2 -7
- package/cjs/caching.js.map +1 -1
- package/cjs/collections/activity.js +18 -58
- package/cjs/collections/activity.js.map +1 -1
- package/cjs/collections/adjunct-sections.js +2 -11
- package/cjs/collections/adjunct-sections.js.map +1 -1
- package/cjs/collections/adjunct-slides.js +2 -11
- package/cjs/collections/adjunct-slides.js.map +1 -1
- package/cjs/collections/adjunct-sub-slides.js +2 -10
- package/cjs/collections/adjunct-sub-slides.js.map +1 -1
- package/cjs/collections/appointment-adjunct-tags.js +1 -9
- package/cjs/collections/appointment-adjunct-tags.js.map +1 -1
- package/cjs/collections/appointment-deckversion-tags.js +1 -9
- package/cjs/collections/appointment-deckversion-tags.js.map +1 -1
- package/cjs/collections/appointment-editors.js +1 -10
- package/cjs/collections/appointment-editors.js.map +1 -1
- package/cjs/collections/appointment-section-tags.js +1 -9
- package/cjs/collections/appointment-section-tags.js.map +1 -1
- package/cjs/collections/appointment-slide-tags.js +1 -9
- package/cjs/collections/appointment-slide-tags.js.map +1 -1
- package/cjs/collections/appointment-tags.js +69 -108
- package/cjs/collections/appointment-tags.js.map +1 -1
- package/cjs/collections/appointment-templates.js +1 -10
- package/cjs/collections/appointment-templates.js.map +1 -1
- package/cjs/collections/appointments.js +9 -29
- package/cjs/collections/appointments.js.map +1 -1
- package/cjs/collections/assets.js +1 -9
- package/cjs/collections/assets.js.map +1 -1
- package/cjs/collections/auto-adjuncts.js +6 -21
- package/cjs/collections/auto-adjuncts.js.map +1 -1
- package/cjs/collections/base.js +54 -118
- package/cjs/collections/base.js.map +1 -1
- package/cjs/collections/base.spec.js +195 -242
- package/cjs/collections/base.spec.js.map +1 -1
- package/cjs/collections/cms-vals.js +4 -16
- package/cjs/collections/cms-vals.js.map +1 -1
- package/cjs/collections/contact-phones.js +1 -9
- package/cjs/collections/contact-phones.js.map +1 -1
- package/cjs/collections/contacts.js +1 -9
- package/cjs/collections/contacts.js.map +1 -1
- package/cjs/collections/created-assets.js +1 -10
- package/cjs/collections/created-assets.js.map +1 -1
- package/cjs/collections/customers.js +1 -9
- package/cjs/collections/customers.js.map +1 -1
- package/cjs/collections/deck-notes.js +1 -10
- package/cjs/collections/deck-notes.js.map +1 -1
- package/cjs/collections/deck-version-screenshots.js +4 -17
- package/cjs/collections/deck-version-screenshots.js.map +1 -1
- package/cjs/collections/deck-versions.js +5 -20
- package/cjs/collections/deck-versions.js.map +1 -1
- package/cjs/collections/decks.js +1 -9
- package/cjs/collections/decks.js.map +1 -1
- package/cjs/collections/deleted-assets.js +1 -10
- package/cjs/collections/deleted-assets.js.map +1 -1
- package/cjs/collections/dispatches.js +1 -13
- package/cjs/collections/dispatches.js.map +1 -1
- package/cjs/collections/event-objects.js +1 -9
- package/cjs/collections/event-objects.js.map +1 -1
- package/cjs/collections/events.js +1 -9
- package/cjs/collections/events.js.map +1 -1
- package/cjs/collections/groups.js +1 -9
- package/cjs/collections/groups.js.map +1 -1
- package/cjs/collections/images.js +1 -9
- package/cjs/collections/images.js.map +1 -1
- package/cjs/collections/locations.js +1 -9
- package/cjs/collections/locations.js.map +1 -1
- package/cjs/collections/opportunities.js +1 -9
- package/cjs/collections/opportunities.js.map +1 -1
- package/cjs/collections/pack-diffs.js +1 -9
- package/cjs/collections/pack-diffs.js.map +1 -1
- package/cjs/collections/packs.js +1 -9
- package/cjs/collections/packs.js.map +1 -1
- package/cjs/collections/presets.js +1 -9
- package/cjs/collections/presets.js.map +1 -1
- package/cjs/collections/section-selections.js +2 -10
- package/cjs/collections/section-selections.js.map +1 -1
- package/cjs/collections/sections.js +1 -9
- package/cjs/collections/sections.js.map +1 -1
- package/cjs/collections/signers.js +1 -9
- package/cjs/collections/signers.js.map +1 -1
- package/cjs/collections/signing-backends.js +1 -9
- package/cjs/collections/signing-backends.js.map +1 -1
- package/cjs/collections/signing-requests.js +1 -9
- package/cjs/collections/signing-requests.js.map +1 -1
- package/cjs/collections/slide-selections.js +2 -10
- package/cjs/collections/slide-selections.js.map +1 -1
- package/cjs/collections/slides.js +1 -9
- package/cjs/collections/slides.js.map +1 -1
- package/cjs/collections/snapshots.js +1 -9
- package/cjs/collections/snapshots.js.map +1 -1
- package/cjs/collections/sub-slides.js +1 -9
- package/cjs/collections/sub-slides.js.map +1 -1
- package/cjs/collections/tags.js +1 -9
- package/cjs/collections/tags.js.map +1 -1
- package/cjs/collections/teams.js +1 -9
- package/cjs/collections/teams.js.map +1 -1
- package/cjs/collections/templates.js +1 -9
- package/cjs/collections/templates.js.map +1 -1
- package/cjs/collections/uploads.js +1 -9
- package/cjs/collections/uploads.js.map +1 -1
- package/cjs/collections/users.js +1 -9
- package/cjs/collections/users.js.map +1 -1
- package/cjs/collections.js +0 -96
- package/cjs/collections.js.map +1 -1
- package/cjs/fixtures.js +19 -57
- package/cjs/fixtures.js.map +1 -1
- package/cjs/index.js +0 -12
- package/cjs/index.js.map +1 -1
- package/cjs/log.js +0 -1
- package/cjs/log.js.map +1 -1
- package/cjs/middleware.js +2 -7
- package/cjs/middleware.js.map +1 -1
- package/cjs/middlewares/auth.js +7 -25
- package/cjs/middlewares/auth.js.map +1 -1
- package/cjs/middlewares/base.js +4 -11
- package/cjs/middlewares/base.js.map +1 -1
- package/cjs/middlewares/json.js +7 -27
- package/cjs/middlewares/json.js.map +1 -1
- package/cjs/middlewares/redirect.js +11 -29
- package/cjs/middlewares/redirect.js.map +1 -1
- package/cjs/models/activity-item.js +3 -19
- package/cjs/models/activity-item.js.map +1 -1
- package/cjs/models/adjunct-section.js +6 -19
- package/cjs/models/adjunct-section.js.map +1 -1
- package/cjs/models/adjunct-slide.js +6 -19
- package/cjs/models/adjunct-slide.js.map +1 -1
- package/cjs/models/adjunct-sub-slide.js +5 -16
- package/cjs/models/adjunct-sub-slide.js.map +1 -1
- package/cjs/models/adjunct.js +7 -23
- package/cjs/models/adjunct.js.map +1 -1
- package/cjs/models/api.js +1 -6
- package/cjs/models/api.js.map +1 -1
- package/cjs/models/appointment-adjunct-tags.js +1 -13
- package/cjs/models/appointment-adjunct-tags.js.map +1 -1
- package/cjs/models/appointment-deckversion-tags.js +1 -13
- package/cjs/models/appointment-deckversion-tags.js.map +1 -1
- package/cjs/models/appointment-editor.js +1 -14
- package/cjs/models/appointment-editor.js.map +1 -1
- package/cjs/models/appointment-section-tags.js +1 -13
- package/cjs/models/appointment-section-tags.js.map +1 -1
- package/cjs/models/appointment-slide-tags.js +1 -13
- package/cjs/models/appointment-slide-tags.js.map +1 -1
- package/cjs/models/appointment-stats.js +1 -11
- package/cjs/models/appointment-stats.js.map +1 -1
- package/cjs/models/appointment-tags.js +1 -10
- package/cjs/models/appointment-tags.js.map +1 -1
- package/cjs/models/appointment-template.js +1 -6
- package/cjs/models/appointment-template.js.map +1 -1
- package/cjs/models/appointment-viewing.js +1 -8
- package/cjs/models/appointment-viewing.js.map +1 -1
- package/cjs/models/appointment.js +24 -97
- package/cjs/models/appointment.js.map +1 -1
- package/cjs/models/asset.js +1 -12
- package/cjs/models/asset.js.map +1 -1
- package/cjs/models/auto-adjunct-key-check.js +1 -15
- package/cjs/models/auto-adjunct-key-check.js.map +1 -1
- package/cjs/models/auto-adjunct.js +1 -13
- package/cjs/models/auto-adjunct.js.map +1 -1
- package/cjs/models/base.js +86 -216
- package/cjs/models/base.js.map +1 -1
- package/cjs/models/base.spec.js +0 -31
- package/cjs/models/base.spec.js.map +1 -1
- package/cjs/models/choicelist.js +1 -8
- package/cjs/models/choicelist.js.map +1 -1
- package/cjs/models/cms-val.js +5 -26
- package/cjs/models/cms-val.js.map +1 -1
- package/cjs/models/cms-val.spec.js +13 -20
- package/cjs/models/cms-val.spec.js.map +1 -1
- package/cjs/models/contact-phone.js +1 -13
- package/cjs/models/contact-phone.js.map +1 -1
- package/cjs/models/contact.js +1 -18
- package/cjs/models/contact.js.map +1 -1
- package/cjs/models/customer.js +3 -30
- package/cjs/models/customer.js.map +1 -1
- package/cjs/models/deck-note.js +1 -9
- package/cjs/models/deck-note.js.map +1 -1
- package/cjs/models/deck-tags.js +1 -12
- package/cjs/models/deck-tags.js.map +1 -1
- package/cjs/models/deck-version-screenshot.js +1 -13
- package/cjs/models/deck-version-screenshot.js.map +1 -1
- package/cjs/models/deck-version.js +13 -38
- package/cjs/models/deck-version.js.map +1 -1
- package/cjs/models/deck.js +1 -14
- package/cjs/models/deck.js.map +1 -1
- package/cjs/models/dispatch-preview.js +1 -13
- package/cjs/models/dispatch-preview.js.map +1 -1
- package/cjs/models/dispatch.js +1 -25
- package/cjs/models/dispatch.js.map +1 -1
- package/cjs/models/envs.js +1 -6
- package/cjs/models/envs.js.map +1 -1
- package/cjs/models/event-object.js +1 -11
- package/cjs/models/event-object.js.map +1 -1
- package/cjs/models/event.js +1 -13
- package/cjs/models/event.js.map +1 -1
- package/cjs/models/feed-data.js +1 -13
- package/cjs/models/feed-data.js.map +1 -1
- package/cjs/models/file.js +1 -11
- package/cjs/models/file.js.map +1 -1
- package/cjs/models/group.js +1 -11
- package/cjs/models/group.js.map +1 -1
- package/cjs/models/handover.js +1 -13
- package/cjs/models/handover.js.map +1 -1
- package/cjs/models/hosted-preso.js +1 -15
- package/cjs/models/hosted-preso.js.map +1 -1
- package/cjs/models/image.js +1 -16
- package/cjs/models/image.js.map +1 -1
- package/cjs/models/location.js +1 -13
- package/cjs/models/location.js.map +1 -1
- package/cjs/models/manifest-json.js +25 -84
- package/cjs/models/manifest-json.js.map +1 -1
- package/cjs/models/onshare.js +1 -14
- package/cjs/models/onshare.js.map +1 -1
- package/cjs/models/opportunity.js +1 -14
- package/cjs/models/opportunity.js.map +1 -1
- package/cjs/models/pack-diff.js +1 -14
- package/cjs/models/pack-diff.js.map +1 -1
- package/cjs/models/pack.js +1 -12
- package/cjs/models/pack.js.map +1 -1
- package/cjs/models/preset.js +1 -19
- package/cjs/models/preset.js.map +1 -1
- package/cjs/models/refresh-request.js +1 -11
- package/cjs/models/refresh-request.js.map +1 -1
- package/cjs/models/room.js +1 -9
- package/cjs/models/room.js.map +1 -1
- package/cjs/models/salesforce-lookup.js +1 -12
- package/cjs/models/salesforce-lookup.js.map +1 -1
- package/cjs/models/section-selection.js +7 -15
- package/cjs/models/section-selection.js.map +1 -1
- package/cjs/models/section.js +1 -14
- package/cjs/models/section.js.map +1 -1
- package/cjs/models/signer.js +1 -10
- package/cjs/models/signer.js.map +1 -1
- package/cjs/models/signing-backend.js +1 -9
- package/cjs/models/signing-backend.js.map +1 -1
- package/cjs/models/signing-request.js +1 -13
- package/cjs/models/signing-request.js.map +1 -1
- package/cjs/models/slide-selection.js +7 -15
- package/cjs/models/slide-selection.js.map +1 -1
- package/cjs/models/slide.js +1 -14
- package/cjs/models/slide.js.map +1 -1
- package/cjs/models/snapshot.js +3 -16
- package/cjs/models/snapshot.js.map +1 -1
- package/cjs/models/snapshot.spec.js +26 -33
- package/cjs/models/snapshot.spec.js.map +1 -1
- package/cjs/models/sub-slide.js +1 -12
- package/cjs/models/sub-slide.js.map +1 -1
- package/cjs/models/support-ticket.js +1 -11
- package/cjs/models/support-ticket.js.map +1 -1
- package/cjs/models/tag.js +1 -13
- package/cjs/models/tag.js.map +1 -1
- package/cjs/models/team.js +1 -13
- package/cjs/models/team.js.map +1 -1
- package/cjs/models/template.js +49 -79
- package/cjs/models/template.js.map +1 -1
- package/cjs/models/tenancy.js +1 -11
- package/cjs/models/tenancy.js.map +1 -1
- package/cjs/models/timing-log.js +23 -80
- package/cjs/models/timing-log.js.map +1 -1
- package/cjs/models/timing-log.spec.js +25 -38
- package/cjs/models/timing-log.spec.js.map +1 -1
- package/cjs/models/token.js +1 -11
- package/cjs/models/token.js.map +1 -1
- package/cjs/models/transcribe-socket.js +1 -8
- package/cjs/models/transcribe-socket.js.map +1 -1
- package/cjs/models/upload.js +1 -7
- package/cjs/models/upload.js.map +1 -1
- package/cjs/models/user.js +1 -29
- package/cjs/models/user.js.map +1 -1
- package/cjs/models/user.spec.js +22 -32
- package/cjs/models/user.spec.js.map +1 -1
- package/cjs/models.js +0 -140
- package/cjs/models.js.map +1 -1
- package/cjs/presentation/appointment-presentation.js +9 -35
- package/cjs/presentation/appointment-presentation.js.map +1 -1
- package/cjs/presentation/base-presentation-collection.js +1 -7
- package/cjs/presentation/base-presentation-collection.js.map +1 -1
- package/cjs/presentation/base-presentation-model.js +24 -67
- package/cjs/presentation/base-presentation-model.js.map +1 -1
- package/cjs/presentation/base-presentation-model.spec.js +5 -27
- package/cjs/presentation/base-presentation-model.spec.js.map +1 -1
- package/cjs/presentation/presentation-deck.js +41 -82
- package/cjs/presentation/presentation-deck.js.map +1 -1
- package/cjs/presentation/presentation-deck.spec.js +75 -98
- package/cjs/presentation/presentation-deck.spec.js.map +1 -1
- package/cjs/presentation/presentation-decks.js +1 -9
- package/cjs/presentation/presentation-decks.js.map +1 -1
- package/cjs/presentation/presentation-section.js +12 -74
- package/cjs/presentation/presentation-section.js.map +1 -1
- package/cjs/presentation/presentation-section.spec.js +211 -264
- package/cjs/presentation/presentation-section.spec.js.map +1 -1
- package/cjs/presentation/presentation-sections.js +1 -9
- package/cjs/presentation/presentation-sections.js.map +1 -1
- package/cjs/presentation/presentation-slide.js +23 -77
- package/cjs/presentation/presentation-slide.js.map +1 -1
- package/cjs/presentation/presentation-slide.spec.js +144 -182
- package/cjs/presentation/presentation-slide.spec.js.map +1 -1
- package/cjs/presentation/presentation-slides.js +1 -9
- package/cjs/presentation/presentation-slides.js.map +1 -1
- package/cjs/presentation/presentation-subslide.js +3 -23
- package/cjs/presentation/presentation-subslide.js.map +1 -1
- package/cjs/presentation/presentation-subslide.spec.js +106 -130
- package/cjs/presentation/presentation-subslide.spec.js.map +1 -1
- package/cjs/presentation/presentation-subslides.js +1 -9
- package/cjs/presentation/presentation-subslides.js.map +1 -1
- package/cjs/presentation/presentation.js +64 -118
- package/cjs/presentation/presentation.js.map +1 -1
- package/cjs/presentation.js +0 -20
- package/cjs/presentation.js.map +1 -1
- package/cjs/selections.js +10 -36
- package/cjs/selections.js.map +1 -1
- package/cjs/state-register.js +3 -11
- package/cjs/state-register.js.map +1 -1
- package/cjs/sync.js +32 -76
- package/cjs/sync.js.map +1 -1
- package/cjs/utils.js +21 -49
- package/cjs/utils.js.map +1 -1
- package/cjs/utils.spec.js +0 -4
- package/cjs/utils.spec.js.map +1 -1
- package/eslint.config.mjs +10 -0
- package/package.json +8 -9
- package/rush-logs/api.build.cache.log +1 -0
- package/rush-logs/api.build.log +6 -0
- package/rush-logs/api.test.cache.log +1 -0
- package/rush-logs/api.test.log +1 -0
- package/src/collections/adjunct-sections.js +3 -3
- package/src/collections/adjunct-slides.js +3 -3
- package/src/collections/adjunct-sub-slides.js +3 -3
- package/src/collections/base.js +14 -0
- package/src/collections/section-selections.js +3 -3
- package/src/collections/slide-selections.js +3 -3
- package/src/fixtures.js +8 -1
- package/src/models/adjunct-section.js +6 -0
- package/src/models/adjunct-slide.js +6 -0
- package/src/models/adjunct-sub-slide.js +5 -0
- package/src/models/adjunct.js +1 -1
- package/src/models/appointment.js +2 -0
- package/src/models/base.js +6 -2
- package/src/models/deck-version.js +7 -3
- package/src/models/manifest-json.js +1 -1
- package/src/models/section-selection.js +6 -0
- package/src/models/slide-selection.js +6 -0
- package/src/presentation/presentation-section.js +4 -0
- package/src/presentation/presentation-slide.js +8 -0
- package/src/presentation/presentation-slide.spec.js +2 -0
- package/.eslintrc.js +0 -8
- package/.gitlab-ci.yml +0 -4
- package/.husky/pre-commit +0 -4
|
@@ -1,56 +1,34 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
8
|
exports.PresentationDeck = void 0;
|
|
11
|
-
|
|
12
9
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
-
|
|
14
10
|
require("./presentation-sections.js");
|
|
15
|
-
|
|
16
11
|
var collections = _interopRequireWildcard(require("../collections"));
|
|
17
|
-
|
|
18
12
|
var _utils = require("../utils.js");
|
|
19
|
-
|
|
20
13
|
var _basePresentationModel = require("./base-presentation-model");
|
|
21
|
-
|
|
22
14
|
var _models = require("../models");
|
|
23
|
-
|
|
24
15
|
var _presentationSection = require("./presentation-section");
|
|
25
|
-
|
|
26
16
|
var _presentationSlide = require("./presentation-slide");
|
|
27
|
-
|
|
28
17
|
var _lodash = _interopRequireDefault(require("lodash"));
|
|
29
|
-
|
|
30
18
|
var _index = require("../index.js");
|
|
31
|
-
|
|
32
19
|
var _log = _interopRequireDefault(require("../log.js"));
|
|
33
|
-
|
|
34
20
|
var _stateRegister = require("../state-register");
|
|
35
|
-
|
|
36
21
|
var _url = _interopRequireDefault(require("url"));
|
|
37
|
-
|
|
38
|
-
function
|
|
39
|
-
|
|
40
|
-
function
|
|
41
|
-
|
|
42
|
-
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; }
|
|
43
|
-
|
|
44
|
-
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; }
|
|
45
|
-
|
|
22
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
23
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
24
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
25
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
46
26
|
/**
|
|
47
27
|
* @constructor
|
|
48
28
|
* @alias presentation.PresentationDeck
|
|
49
29
|
* @extends presentation.BasePresentationModel
|
|
50
30
|
*/
|
|
51
|
-
var PresentationDeck = _basePresentationModel.BasePresentationModel.extend(
|
|
52
|
-
/** @lends presentation.PresentationDeck# */
|
|
53
|
-
{
|
|
31
|
+
var PresentationDeck = exports.PresentationDeck = _basePresentationModel.BasePresentationModel.extend(/** @lends presentation.PresentationDeck# */{
|
|
54
32
|
/**
|
|
55
33
|
* @property {string} html
|
|
56
34
|
* @property {string} css
|
|
@@ -88,7 +66,6 @@ var PresentationDeck = _basePresentationModel.BasePresentationModel.extend(
|
|
|
88
66
|
version: "number",
|
|
89
67
|
cmsvalkey_set: "array"
|
|
90
68
|
},
|
|
91
|
-
|
|
92
69
|
/**
|
|
93
70
|
* @property {presentation.PresentationSection} realSection
|
|
94
71
|
*/
|
|
@@ -106,7 +83,6 @@ var PresentationDeck = _basePresentationModel.BasePresentationModel.extend(
|
|
|
106
83
|
}
|
|
107
84
|
}
|
|
108
85
|
},
|
|
109
|
-
|
|
110
86
|
/**
|
|
111
87
|
* @property {presentation.PresentationSectionCollection} sections
|
|
112
88
|
*/
|
|
@@ -119,10 +95,10 @@ var PresentationDeck = _basePresentationModel.BasePresentationModel.extend(
|
|
|
119
95
|
id: this.id
|
|
120
96
|
}).url();
|
|
121
97
|
}
|
|
122
|
-
|
|
123
98
|
return this._url;
|
|
124
99
|
}
|
|
125
100
|
});
|
|
101
|
+
|
|
126
102
|
/**
|
|
127
103
|
* @function createFromURL
|
|
128
104
|
* @memberof presentation.PresentationDeck
|
|
@@ -132,13 +108,8 @@ var PresentationDeck = _basePresentationModel.BasePresentationModel.extend(
|
|
|
132
108
|
* @param {collections.AdjunctSectionCollection}} [adjunctSections]
|
|
133
109
|
* @returns {presentation.PresentationDeck}
|
|
134
110
|
*/
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
exports.PresentationDeck = PresentationDeck;
|
|
138
|
-
|
|
139
111
|
PresentationDeck.createFromDeckVersion = function (deckVersionModel) {
|
|
140
112
|
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
141
|
-
|
|
142
113
|
_lodash.default.defaults(options, {
|
|
143
114
|
index: 0,
|
|
144
115
|
autoAdjuncts: new collections.AutoAdjunctCollection(),
|
|
@@ -152,12 +123,10 @@ PresentationDeck.createFromDeckVersion = function (deckVersionModel) {
|
|
|
152
123
|
templates: null,
|
|
153
124
|
choicelist: null
|
|
154
125
|
});
|
|
155
|
-
|
|
156
126
|
options.screenshots = PresentationDeck.screenshotsToMap(options.screenshots);
|
|
157
127
|
var assetRoot = (0, _index.getAssetRoot)(deckVersionModel.index_asset.url());
|
|
158
128
|
var html;
|
|
159
129
|
var css;
|
|
160
|
-
|
|
161
130
|
if (options.rootAssetPath) {
|
|
162
131
|
html = "".concat(options.rootAssetPath, "index.html");
|
|
163
132
|
css = "".concat(options.rootAssetPath, "slide.css");
|
|
@@ -165,7 +134,6 @@ PresentationDeck.createFromDeckVersion = function (deckVersionModel) {
|
|
|
165
134
|
html = "".concat(assetRoot, "index.html");
|
|
166
135
|
css = "".concat(assetRoot, "slide.css");
|
|
167
136
|
}
|
|
168
|
-
|
|
169
137
|
var tags = PresentationDeck.getTags(deckVersionModel, options);
|
|
170
138
|
var deck = new PresentationDeck({
|
|
171
139
|
html: html,
|
|
@@ -184,12 +152,11 @@ PresentationDeck.createFromDeckVersion = function (deckVersionModel) {
|
|
|
184
152
|
usesImpostorSections: (0, _utils.isImpostorDeck)(deckVersionModel),
|
|
185
153
|
cmsvalkey_set: deckVersionModel.cmsvalkey_set || []
|
|
186
154
|
});
|
|
187
|
-
|
|
188
155
|
if (!deck.key) {
|
|
189
156
|
_log.default.warn("Deck key not available to presentation", deckVersionModel.deck.toJSON());
|
|
190
|
-
}
|
|
191
|
-
|
|
157
|
+
}
|
|
192
158
|
|
|
159
|
+
// Convert the selections to an easier format to use later
|
|
193
160
|
var sectionSelections = options.sectionSelections;
|
|
194
161
|
var slideSelections = options.slideSelections;
|
|
195
162
|
options.selections = sectionSelections.map(function (selection) {
|
|
@@ -206,30 +173,31 @@ PresentationDeck.createFromDeckVersion = function (deckVersionModel) {
|
|
|
206
173
|
url: selection.slide.url(),
|
|
207
174
|
id: selection.id
|
|
208
175
|
};
|
|
209
|
-
}));
|
|
176
|
+
}));
|
|
177
|
+
|
|
178
|
+
// We want all adjuncts to have fake ids that can't possibly overlap with the ids of
|
|
210
179
|
// normal sections, slides and subslides, so we make a base ID that is larger than
|
|
211
180
|
// all existing IDs then use the getUniqueAdjunctID function to retrieve an incremented ID
|
|
212
|
-
|
|
213
181
|
var maxID = (0, _utils.getMaxID)(deckVersionModel);
|
|
214
|
-
|
|
215
182
|
options.getUniqueAdjunctID = function () {
|
|
216
183
|
return ++maxID;
|
|
217
|
-
};
|
|
184
|
+
};
|
|
185
|
+
|
|
186
|
+
// We have four different ways to create a presentation structure here - we are
|
|
218
187
|
// using either selections or a choicelist, and the deck is either a normal
|
|
219
188
|
// deck or an impostor deck. Setting up a non-impostor deck is easier, so I've
|
|
220
189
|
// split this up into two primary methods to cover those two branches, and the models
|
|
221
190
|
// internally retrieve the correct sequence & visibility data depending on whether
|
|
222
191
|
// we're using selections or a choicelist.
|
|
223
192
|
|
|
224
|
-
|
|
225
193
|
if (!deck.usesImpostorSections) {
|
|
226
194
|
// Non impostor deck using selections or a choicelist. Slides are already
|
|
227
195
|
// associated with the correct sections, so all we have to do is turn
|
|
228
196
|
// everything into a presentation model and pass the options through with
|
|
229
197
|
// the selections or choicelist data.
|
|
198
|
+
|
|
230
199
|
deckVersionModel.section_set.forEach(function (sectionModel) {
|
|
231
200
|
var section = _presentationSection.PresentationSection.createFromSection(sectionModel, options);
|
|
232
|
-
|
|
233
201
|
section.addSlides(sectionModel.slide_set, options);
|
|
234
202
|
deck.sections.add(section);
|
|
235
203
|
var adjunctSlides = options.adjunctSlides.filter(function (slide) {
|
|
@@ -239,7 +207,6 @@ PresentationDeck.createFromDeckVersion = function (deckVersionModel) {
|
|
|
239
207
|
});
|
|
240
208
|
options.adjunctSections.forEach(function (adjunctSection) {
|
|
241
209
|
var section = _presentationSection.PresentationSection.createFromAdjunctSection(adjunctSection, _models.DeckVersionModel, options);
|
|
242
|
-
|
|
243
210
|
deck.sections.add(section);
|
|
244
211
|
});
|
|
245
212
|
} else {
|
|
@@ -247,39 +214,40 @@ PresentationDeck.createFromDeckVersion = function (deckVersionModel) {
|
|
|
247
214
|
// only contains one section, which is the "real" section but is not used in
|
|
248
215
|
// the presentation. Some slides have the tag "section-header", and these slides
|
|
249
216
|
// will be turned into sections and may be given sets of slides.
|
|
217
|
+
|
|
250
218
|
var realSection = deckVersionModel.section_set.first();
|
|
251
219
|
deck.realSection = new _presentationSection.PresentationSection({
|
|
252
220
|
id: realSection.id,
|
|
253
221
|
key: realSection.key,
|
|
254
222
|
adjunctSlideLimit: realSection.adjunctslide_limit
|
|
255
223
|
});
|
|
256
|
-
var slides = [];
|
|
224
|
+
var slides = [];
|
|
225
|
+
|
|
226
|
+
// First we go through all slides and separate the impostor sections from the
|
|
257
227
|
// normal slides. If a slide is a "section header" then we turn it into a presentation
|
|
258
228
|
// section; if it is just a slide then we add it to the slides array, which will contain
|
|
259
229
|
// all slides. We can't allocate slides to sections yet because we don't know
|
|
260
230
|
// which section a slide belongs to.
|
|
261
|
-
|
|
262
231
|
realSection.slide_set.forEach(function (slideModel) {
|
|
263
232
|
var isSection = (0, _utils.isImpostor)(slideModel);
|
|
264
|
-
|
|
265
233
|
if (isSection) {
|
|
266
234
|
var section = _presentationSection.PresentationSection.createFromImpostorSection(slideModel, _models.DeckVersionModel, options);
|
|
267
|
-
|
|
268
235
|
deck.sections.add(section);
|
|
269
236
|
} else {
|
|
270
237
|
var slide = _presentationSlide.PresentationSlide.createFromSlide(slideModel, options);
|
|
271
|
-
|
|
272
238
|
slides.push(slide);
|
|
273
239
|
}
|
|
274
|
-
});
|
|
240
|
+
});
|
|
275
241
|
|
|
242
|
+
// We filter the adjunct slides and add all the non-section slides to the slides array too.
|
|
276
243
|
options.adjunctSlides.filter(function (slide) {
|
|
277
244
|
return !(0, _utils.isImpostor)(slide);
|
|
278
245
|
}).forEach(function (adjunctSlideModel) {
|
|
279
246
|
var slide = _presentationSlide.PresentationSlide.createFromAdjunctSlide(adjunctSlideModel, null, options);
|
|
280
|
-
|
|
281
247
|
slides.push(slide);
|
|
282
|
-
});
|
|
248
|
+
});
|
|
249
|
+
|
|
250
|
+
// Next we go through the sections backwards and use the sequence to find all slides
|
|
283
251
|
// which belong to a section. Doing this backwards means that we only need to know
|
|
284
252
|
// one section's sequence at a time, e.g. if I went forwards and the first section
|
|
285
253
|
// had the sequence 1, I know that I can start looking for slides with sequence > 1
|
|
@@ -287,65 +255,66 @@ PresentationDeck.createFromDeckVersion = function (deckVersionModel) {
|
|
|
287
255
|
// slides with the sequence > 110 then I know that all slides with a sequence > 110
|
|
288
256
|
// are valid. I then remove those slides from the slides array and move down to the
|
|
289
257
|
// next section.
|
|
290
|
-
|
|
291
258
|
deck.sections.models.reverse().forEach(function (section) {
|
|
292
259
|
var sectionSlides = slides.filter(function (slide) {
|
|
293
260
|
return slide.sequence > section.sequence;
|
|
294
261
|
});
|
|
295
|
-
section.slides.add(sectionSlides);
|
|
262
|
+
section.slides.add(sectionSlides);
|
|
263
|
+
|
|
264
|
+
// Slides have a "section" on their model that represents the section
|
|
296
265
|
// that they belong to. Because this is an impostor deck, there's a
|
|
297
266
|
// good chance that the section is now incorrect for normal slides,
|
|
298
267
|
// and a 100% chance that it's incorrect for adjunct slides as we
|
|
299
268
|
// didn't populate the section field when we created the adjunct slides.
|
|
300
269
|
// We update those now with the correct section.
|
|
301
|
-
|
|
302
270
|
section.slides.forEach(function (slide) {
|
|
303
271
|
slide.section = section.id;
|
|
304
272
|
});
|
|
305
273
|
slides = slides.filter(function (slide) {
|
|
306
274
|
return slide.sequence <= section.sequence;
|
|
307
275
|
});
|
|
308
|
-
});
|
|
276
|
+
});
|
|
277
|
+
|
|
278
|
+
// Average the adjunct slide limit used across the entire deck over each section
|
|
309
279
|
// in the deck. We do this before we add the adjunct impostor sections, 'cause you
|
|
310
280
|
// can't add custom slides to those.
|
|
311
|
-
|
|
312
281
|
deck.sections.forEach(function (section) {
|
|
313
282
|
section.adjunctSlideLimit = section.adjunctSlideLimit ? section.adjunctSlideLimit : Math.floor(realSection.adjunctSlideLimit / deck.sections.length);
|
|
314
|
-
});
|
|
283
|
+
});
|
|
315
284
|
|
|
316
|
-
|
|
285
|
+
// Return the sections to the correct order
|
|
286
|
+
deck.sections.models.reverse();
|
|
287
|
+
|
|
288
|
+
// Finally, we add the adjunct impostor sections. These are adjunct slides with
|
|
317
289
|
// the "section-header" tag and they work the same way as the slide impostors,
|
|
318
290
|
// but because adjunct sections can't have slides we're adding them after the
|
|
319
291
|
// slide-assigning process
|
|
320
|
-
|
|
321
292
|
options.adjunctSlides.filter(function (slide) {
|
|
322
293
|
return (0, _utils.isImpostor)(slide);
|
|
323
294
|
}).forEach(function (adjunctSlideModel) {
|
|
324
295
|
var adjunctSection = _presentationSection.PresentationSection.createFromAdjunctSection(adjunctSlideModel, _models.DeckVersionModel, options);
|
|
325
|
-
|
|
326
296
|
deck.sections.add(adjunctSection);
|
|
327
297
|
});
|
|
328
|
-
}
|
|
329
|
-
|
|
298
|
+
}
|
|
330
299
|
|
|
300
|
+
// Add templates as sections if present. This is only used by the CDK.
|
|
331
301
|
if (options.templates && options.templates.length > 0) {
|
|
332
302
|
deck.sections.add(options.templates.map(function (template, index) {
|
|
333
303
|
return _presentationSection.PresentationSection.createFromTemplate(template, deck.sections.length + index, options.getUniqueAdjunctID());
|
|
334
304
|
}));
|
|
335
|
-
}
|
|
336
|
-
|
|
305
|
+
}
|
|
337
306
|
|
|
307
|
+
// This is generally only used by screenshots
|
|
338
308
|
if (options.autoAdjuncts) {
|
|
339
309
|
var autoSections = options.autoAdjuncts.map(function (auto, index) {
|
|
340
310
|
// We already have the template on the deckversion, so we can find it here.
|
|
341
311
|
if (!auto.template) {
|
|
342
312
|
throw new Error("Attempted to use an autoadjunct that has no template.");
|
|
343
313
|
}
|
|
314
|
+
var section = _presentationSection.PresentationSection.createFromTemplate(auto.template, deck.sections.length + index, options.getUniqueAdjunctID());
|
|
344
315
|
|
|
345
|
-
|
|
316
|
+
// We've just borrowed the "from template" method above. We want to add
|
|
346
317
|
// back some of the specific keys about the auto.
|
|
347
|
-
|
|
348
|
-
|
|
349
318
|
section.autoAdjunctID = auto.id;
|
|
350
319
|
section.key = auto.key;
|
|
351
320
|
section.title = auto.name;
|
|
@@ -353,11 +322,9 @@ PresentationDeck.createFromDeckVersion = function (deckVersionModel) {
|
|
|
353
322
|
});
|
|
354
323
|
deck.sections.add(autoSections);
|
|
355
324
|
}
|
|
356
|
-
|
|
357
325
|
(0, _utils.setSequentialSequences)(deck);
|
|
358
326
|
return deck;
|
|
359
327
|
};
|
|
360
|
-
|
|
361
328
|
PresentationDeck.createFromManifestJSON = function (manifestJSON) {
|
|
362
329
|
var deck = new PresentationDeck({
|
|
363
330
|
id: parseInt(_lodash.default.uniqueId(), 10),
|
|
@@ -374,13 +341,10 @@ PresentationDeck.createFromManifestJSON = function (manifestJSON) {
|
|
|
374
341
|
tags: manifestJSON.tags[""] || [],
|
|
375
342
|
cmsvalkey_set: []
|
|
376
343
|
});
|
|
377
|
-
|
|
378
344
|
var usesImpostorSections = _lodash.default.some(manifestJSON.tags, function (tags) {
|
|
379
345
|
return tags.indexOf("section-header") !== -1;
|
|
380
346
|
});
|
|
381
|
-
|
|
382
347
|
deck.usesImpostorSections = usesImpostorSections;
|
|
383
|
-
|
|
384
348
|
if (usesImpostorSections) {
|
|
385
349
|
deck.usesImpostorSections = true;
|
|
386
350
|
var items = Object.keys(manifestJSON.titles).map(function (key) {
|
|
@@ -419,7 +383,6 @@ PresentationDeck.createFromManifestJSON = function (manifestJSON) {
|
|
|
419
383
|
return _presentationSection.PresentationSection.createFromManifestJSON(manifestJSON, key, index);
|
|
420
384
|
}));
|
|
421
385
|
}
|
|
422
|
-
|
|
423
386
|
if (manifestJSON.templates) {
|
|
424
387
|
var templates = Object.keys(manifestJSON.templates).map(function (key) {
|
|
425
388
|
return _objectSpread(_objectSpread({}, manifestJSON.templates[key]), {}, {
|
|
@@ -430,16 +393,12 @@ PresentationDeck.createFromManifestJSON = function (manifestJSON) {
|
|
|
430
393
|
}
|
|
431
394
|
});
|
|
432
395
|
});
|
|
433
|
-
|
|
434
396
|
var minID = _lodash.default.max(_lodash.default.map(deck.sections.toJSON(), "id"));
|
|
435
|
-
|
|
436
397
|
deck.sections.add(templates.map(function (template, index) {
|
|
437
398
|
return _presentationSection.PresentationSection.createFromTemplate(template, index, minID);
|
|
438
399
|
}));
|
|
439
400
|
}
|
|
440
|
-
|
|
441
401
|
return deck;
|
|
442
402
|
};
|
|
443
|
-
|
|
444
403
|
(0, _stateRegister.register)("PresentationDeck", PresentationDeck);
|
|
445
404
|
//# sourceMappingURL=presentation-deck.js.map
|
|
@@ -1 +1 @@
|
|
|
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
|
+
{"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","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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","ignoreList":[]}
|