@livepreso/api 6.45.0 → 6.47.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/1aebf46f78ad5c45f82f8147751890adb37bef9d.log +10 -0
- package/.rush/temp/3cdc82c352e8ed90607952873f3aa4c200490874.log +10 -0
- package/.rush/temp/5489ab737e406518983c16c57fc3e1edc07c0341.log +10 -0
- package/.rush/temp/924652444ab5a6063f328a2217123a2227058896.log +10 -0
- package/.rush/temp/9f2030f96d62f3e38052e35201819a216566f14f.log +10 -0
- package/.rush/temp/operation/test/all.log +19 -0
- package/.rush/temp/operation/test/state.json +3 -0
- package/.rush/temp/package-deps_build.json +156 -141
- package/.rush/temp/shrinkwrap-deps.json +281 -214
- package/CHANGELOG.json +29 -0
- package/CHANGELOG.md +15 -1
- package/README.md +4 -4
- package/api.build.log +6 -3
- package/api.test.cache.log +1 -0
- package/api.test.log +19 -0
- package/cjs/api.js +18 -2
- package/cjs/api.js.map +1 -1
- package/cjs/auth.js +3 -3
- package/cjs/auth.js.map +1 -1
- package/cjs/collections/activity.js.map +1 -1
- package/cjs/collections/adjunct-sections.js.map +1 -1
- package/cjs/collections/adjunct-slides.js.map +1 -1
- package/cjs/collections/adjunct-sub-slides.js.map +1 -1
- package/cjs/collections/appointment-adjunct-tags.js.map +1 -1
- package/cjs/collections/appointment-deckversion-tags.js.map +1 -1
- package/cjs/collections/appointment-editors.js.map +1 -1
- package/cjs/collections/appointment-section-tags.js.map +1 -1
- package/cjs/collections/appointment-slide-tags.js.map +1 -1
- package/cjs/collections/appointment-tags.js +9 -7
- package/cjs/collections/appointment-tags.js.map +1 -1
- package/cjs/collections/appointment-templates.js +36 -0
- package/cjs/collections/appointment-templates.js.map +1 -0
- package/cjs/collections/appointments.js.map +1 -1
- package/cjs/collections/assets.js.map +1 -1
- package/cjs/collections/auto-adjuncts.js.map +1 -1
- package/cjs/collections/base.js +4 -0
- package/cjs/collections/base.js.map +1 -1
- package/cjs/collections/base.spec.js.map +1 -1
- package/cjs/collections/cms-vals.js +5 -0
- package/cjs/collections/cms-vals.js.map +1 -1
- package/cjs/collections/contact-phones.js +28 -0
- package/cjs/collections/contact-phones.js.map +1 -0
- package/cjs/collections/contacts.js.map +1 -1
- package/cjs/collections/created-assets.js.map +1 -1
- package/cjs/collections/customers.js.map +1 -1
- package/cjs/collections/deck-notes.js.map +1 -1
- package/cjs/collections/deck-version-screenshots.js.map +1 -1
- package/cjs/collections/deck-versions.js.map +1 -1
- package/cjs/collections/decks.js.map +1 -1
- package/cjs/collections/deleted-assets.js.map +1 -1
- package/cjs/collections/dispatches.js.map +1 -1
- package/cjs/collections/event-objects.js.map +1 -1
- package/cjs/collections/events.js.map +1 -1
- package/cjs/collections/groups.js.map +1 -1
- package/cjs/collections/images.js.map +1 -1
- package/cjs/collections/locations.js.map +1 -1
- package/cjs/collections/opportunities.js.map +1 -1
- package/cjs/collections/pack-diffs.js.map +1 -1
- package/cjs/collections/packs.js.map +1 -1
- package/cjs/collections/presets.js.map +1 -1
- package/cjs/collections/section-selections.js.map +1 -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-requests.js +28 -0
- package/cjs/collections/signing-requests.js.map +1 -0
- package/cjs/collections/slide-selections.js.map +1 -1
- package/cjs/collections/slides.js.map +1 -1
- package/cjs/collections/snapshots.js.map +1 -1
- package/cjs/collections/sub-slides.js.map +1 -1
- package/cjs/collections/tags.js.map +1 -1
- package/cjs/collections/teams.js.map +1 -1
- package/cjs/collections/templates.js.map +1 -1
- package/cjs/collections/uploads.js.map +1 -1
- package/cjs/collections/users.js.map +1 -1
- package/cjs/collections.js +52 -13
- package/cjs/collections.js.map +1 -1
- package/cjs/fixtures.js +232 -0
- package/cjs/fixtures.js.map +1 -0
- package/cjs/index.js +28 -4
- package/cjs/index.js.map +1 -1
- package/cjs/models/activity-item.js +10 -2
- package/cjs/models/activity-item.js.map +1 -1
- package/cjs/models/adjunct-section.js +7 -2
- package/cjs/models/adjunct-section.js.map +1 -1
- package/cjs/models/adjunct-slide.js +7 -2
- package/cjs/models/adjunct-slide.js.map +1 -1
- package/cjs/models/adjunct-sub-slide.js.map +1 -1
- package/cjs/models/adjunct.js +40 -0
- package/cjs/models/adjunct.js.map +1 -1
- package/cjs/models/appointment-adjunct-tags.js.map +1 -1
- package/cjs/models/appointment-deckversion-tags.js.map +1 -1
- package/cjs/models/appointment-editor.js.map +1 -1
- package/cjs/models/appointment-section-tags.js.map +1 -1
- package/cjs/models/appointment-slide-tags.js.map +1 -1
- package/cjs/models/appointment-stats.js.map +1 -1
- package/cjs/models/appointment-tags.js.map +1 -1
- package/cjs/models/appointment-template.js +28 -0
- package/cjs/models/appointment-template.js.map +1 -0
- package/cjs/models/appointment-viewing.js.map +1 -1
- package/cjs/models/appointment.js +108 -15
- package/cjs/models/appointment.js.map +1 -1
- package/cjs/models/asset.js +12 -0
- package/cjs/models/asset.js.map +1 -1
- package/cjs/models/auto-adjunct-key-check.js.map +1 -1
- package/cjs/models/auto-adjunct.js +2 -1
- package/cjs/models/auto-adjunct.js.map +1 -1
- package/cjs/models/base.js +25 -5
- package/cjs/models/base.js.map +1 -1
- package/cjs/models/base.spec.js.map +1 -1
- package/cjs/models/choicelist.js.map +1 -1
- package/cjs/models/cms-val.js +35 -1
- package/cjs/models/cms-val.js.map +1 -1
- package/cjs/models/cms-val.spec.js +32 -0
- package/cjs/models/cms-val.spec.js.map +1 -0
- package/cjs/models/contact-phone.js +66 -0
- package/cjs/models/contact-phone.js.map +1 -0
- package/cjs/models/contact.js.map +1 -1
- package/cjs/models/customer.js +3 -1
- package/cjs/models/customer.js.map +1 -1
- package/cjs/models/deck-note.js.map +1 -1
- package/cjs/models/deck-tags.js.map +1 -1
- package/cjs/models/deck-version-screenshot.js.map +1 -1
- package/cjs/models/deck-version.js +31 -8
- package/cjs/models/deck-version.js.map +1 -1
- package/cjs/models/deck.js.map +1 -1
- package/cjs/models/dispatch-preview.js.map +1 -1
- package/cjs/models/dispatch.js.map +1 -1
- package/cjs/models/event-object.js.map +1 -1
- package/cjs/models/event.js.map +1 -1
- package/cjs/models/feed-data.js.map +1 -1
- package/cjs/models/file.js.map +1 -1
- package/cjs/models/group.js.map +1 -1
- package/cjs/models/handover.js.map +1 -1
- package/cjs/models/hosted-preso.js.map +1 -1
- package/cjs/models/image.js.map +1 -1
- package/cjs/models/location.js.map +1 -1
- package/cjs/models/manifest-json.js +70 -2
- package/cjs/models/manifest-json.js.map +1 -1
- package/cjs/models/onshare.js.map +1 -1
- package/cjs/models/opportunity.js.map +1 -1
- package/cjs/models/pack-diff.js.map +1 -1
- package/cjs/models/pack.js.map +1 -1
- package/cjs/models/preset.js +4 -1
- package/cjs/models/preset.js.map +1 -1
- package/cjs/models/refresh-request.js +24 -0
- package/cjs/models/refresh-request.js.map +1 -1
- package/cjs/models/room.js.map +1 -1
- package/cjs/models/salesforce-lookup.js.map +1 -1
- package/cjs/models/section-selection.js.map +1 -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-request.js +66 -0
- package/cjs/models/signing-request.js.map +1 -0
- package/cjs/models/slide-selection.js.map +1 -1
- package/cjs/models/slide.js.map +1 -1
- package/cjs/models/snapshot.js +41 -2
- package/cjs/models/snapshot.js.map +1 -1
- package/cjs/models/snapshot.spec.js +51 -0
- package/cjs/models/snapshot.spec.js.map +1 -0
- package/cjs/models/sub-slide.js.map +1 -1
- package/cjs/models/support-ticket.js.map +1 -1
- package/cjs/models/tag.js.map +1 -1
- package/cjs/models/team.js +15 -2
- package/cjs/models/team.js.map +1 -1
- package/cjs/models/template.js +105 -3
- package/cjs/models/template.js.map +1 -1
- package/cjs/models/tenancy.js +3 -0
- package/cjs/models/tenancy.js.map +1 -1
- package/cjs/models/timing-log.js.map +1 -1
- package/cjs/models/timing-log.spec.js.map +1 -1
- package/cjs/models/token.js.map +1 -1
- package/cjs/models/transcribe-socket.js.map +1 -1
- package/cjs/models/user.js +7 -2
- package/cjs/models/user.js.map +1 -1
- package/cjs/models.js +52 -13
- package/cjs/models.js.map +1 -1
- package/cjs/presentation/appointment-presentation.js.map +1 -1
- package/cjs/presentation/base-presentation-collection.js.map +1 -1
- package/cjs/presentation/base-presentation-model.js +23 -14
- package/cjs/presentation/base-presentation-model.js.map +1 -1
- package/cjs/presentation/base-presentation-model.spec.js.map +1 -1
- package/cjs/presentation/presentation-deck.js +5 -1
- package/cjs/presentation/presentation-deck.js.map +1 -1
- package/cjs/presentation/presentation-deck.spec.js.map +1 -1
- package/cjs/presentation/presentation-decks.js.map +1 -1
- package/cjs/presentation/presentation-section.js +33 -8
- package/cjs/presentation/presentation-section.js.map +1 -1
- package/cjs/presentation/presentation-section.spec.js +13 -20
- package/cjs/presentation/presentation-section.spec.js.map +1 -1
- package/cjs/presentation/presentation-sections.js.map +1 -1
- package/cjs/presentation/presentation-slide.js +43 -9
- package/cjs/presentation/presentation-slide.js.map +1 -1
- package/cjs/presentation/presentation-slide.spec.js +11 -18
- package/cjs/presentation/presentation-slide.spec.js.map +1 -1
- package/cjs/presentation/presentation-slides.js.map +1 -1
- package/cjs/presentation/presentation-subslide.js.map +1 -1
- package/cjs/presentation/presentation-subslide.spec.js.map +1 -1
- package/cjs/presentation/presentation-subslides.js.map +1 -1
- package/cjs/presentation/presentation.js +8 -3
- package/cjs/presentation/presentation.js.map +1 -1
- package/cjs/selections.js +106 -0
- package/cjs/selections.js.map +1 -0
- package/cjs/sync.js.map +1 -1
- package/cjs/utils.js +43 -6
- package/cjs/utils.js.map +1 -1
- package/cjs/utils.spec.js +1 -1
- package/cjs/utils.spec.js.map +1 -1
- package/jest.config.js +4 -3
- package/package.json +12 -9
- package/src/api.js +17 -2
- package/src/auth.js +3 -3
- package/src/collections/activity.js +4 -4
- package/src/collections/adjunct-sections.js +1 -1
- package/src/collections/adjunct-slides.js +1 -1
- package/src/collections/adjunct-sub-slides.js +1 -1
- package/src/collections/appointment-adjunct-tags.js +1 -1
- package/src/collections/appointment-deckversion-tags.js +2 -2
- package/src/collections/appointment-editors.js +1 -1
- package/src/collections/appointment-section-tags.js +1 -1
- package/src/collections/appointment-slide-tags.js +1 -1
- package/src/collections/appointment-tags.js +20 -18
- package/src/collections/appointment-templates.js +26 -0
- package/src/collections/appointments.js +9 -9
- package/src/collections/assets.js +1 -1
- package/src/collections/auto-adjuncts.js +1 -1
- package/src/collections/base.js +10 -6
- package/src/collections/base.spec.js +2 -2
- package/src/collections/cms-vals.js +5 -1
- package/src/collections/contact-phones.js +18 -0
- package/src/collections/contacts.js +1 -1
- package/src/collections/created-assets.js +1 -1
- package/src/collections/customers.js +1 -1
- package/src/collections/deck-notes.js +1 -1
- package/src/collections/deck-version-screenshots.js +1 -1
- package/src/collections/deck-versions.js +1 -1
- package/src/collections/decks.js +1 -1
- package/src/collections/deleted-assets.js +1 -1
- package/src/collections/dispatches.js +2 -2
- package/src/collections/event-objects.js +1 -1
- package/src/collections/events.js +1 -1
- package/src/collections/groups.js +1 -1
- package/src/collections/images.js +1 -1
- package/src/collections/locations.js +1 -1
- package/src/collections/opportunities.js +1 -1
- package/src/collections/pack-diffs.js +1 -1
- package/src/collections/packs.js +1 -1
- package/src/collections/presets.js +1 -1
- package/src/collections/section-selections.js +1 -1
- package/src/collections/sections.js +1 -1
- package/src/collections/signers.js +18 -0
- package/src/collections/signing-requests.js +18 -0
- package/src/collections/slide-selections.js +1 -1
- package/src/collections/slides.js +1 -1
- package/src/collections/snapshots.js +1 -1
- package/src/collections/sub-slides.js +1 -1
- package/src/collections/tags.js +1 -1
- package/src/collections/teams.js +1 -1
- package/src/collections/templates.js +1 -1
- package/src/collections/uploads.js +1 -1
- package/src/collections/users.js +1 -1
- package/src/collections.js +4 -1
- package/src/fixtures.js +195 -0
- package/src/index.js +2 -3
- package/src/models/activity-item.js +9 -1
- package/src/models/adjunct-section.js +7 -2
- package/src/models/adjunct-slide.js +7 -2
- package/src/models/adjunct-sub-slide.js +1 -1
- package/src/models/adjunct.js +39 -1
- package/src/models/appointment-adjunct-tags.js +1 -1
- package/src/models/appointment-deckversion-tags.js +1 -1
- package/src/models/appointment-editor.js +1 -1
- package/src/models/appointment-section-tags.js +1 -1
- package/src/models/appointment-slide-tags.js +1 -1
- package/src/models/appointment-stats.js +1 -1
- package/src/models/appointment-tags.js +1 -1
- package/src/models/appointment-template.js +19 -0
- package/src/models/appointment-viewing.js +1 -1
- package/src/models/appointment.js +104 -38
- package/src/models/asset.js +15 -1
- package/src/models/auto-adjunct-key-check.js +1 -1
- package/src/models/auto-adjunct.js +2 -1
- package/src/models/base.js +36 -21
- package/src/models/base.spec.js +18 -18
- package/src/models/choicelist.js +1 -1
- package/src/models/cms-val.js +24 -1
- package/src/models/cms-val.spec.js +14 -0
- package/src/models/contact-phone.js +57 -0
- package/src/models/contact.js +1 -1
- package/src/models/customer.js +3 -3
- package/src/models/deck-note.js +1 -1
- package/src/models/deck-tags.js +1 -1
- package/src/models/deck-version-screenshot.js +1 -1
- package/src/models/deck-version.js +32 -6
- package/src/models/deck.js +1 -1
- package/src/models/dispatch-preview.js +1 -1
- package/src/models/dispatch.js +1 -1
- package/src/models/event-object.js +1 -1
- package/src/models/event.js +1 -1
- package/src/models/feed-data.js +2 -2
- package/src/models/file.js +1 -1
- package/src/models/group.js +1 -1
- package/src/models/handover.js +1 -1
- package/src/models/hosted-preso.js +1 -1
- package/src/models/image.js +1 -1
- package/src/models/location.js +1 -1
- package/src/models/manifest-json.js +65 -5
- package/src/models/onshare.js +1 -1
- package/src/models/opportunity.js +1 -1
- package/src/models/pack-diff.js +1 -1
- package/src/models/pack.js +1 -1
- package/src/models/preset.js +4 -1
- package/src/models/refresh-request.js +16 -1
- package/src/models/room.js +1 -1
- package/src/models/salesforce-lookup.js +1 -1
- package/src/models/section-selection.js +1 -1
- package/src/models/section.js +1 -1
- package/src/models/signer.js +37 -0
- package/src/models/signing-request.js +56 -0
- package/src/models/slide-selection.js +1 -1
- package/src/models/slide.js +1 -1
- package/src/models/snapshot.js +30 -2
- package/src/models/snapshot.spec.js +31 -0
- package/src/models/sub-slide.js +1 -1
- package/src/models/support-ticket.js +1 -1
- package/src/models/tag.js +1 -1
- package/src/models/team.js +14 -3
- package/src/models/template.js +72 -2
- package/src/models/tenancy.js +4 -1
- package/src/models/timing-log.js +2 -2
- package/src/models/timing-log.spec.js +1 -1
- package/src/models/token.js +1 -1
- package/src/models/transcribe-socket.js +1 -1
- package/src/models/user.js +13 -2
- package/src/models.js +4 -1
- package/src/presentation/appointment-presentation.js +4 -4
- package/src/presentation/base-presentation-collection.js +1 -1
- package/src/presentation/base-presentation-model.js +25 -16
- package/src/presentation/base-presentation-model.spec.js +5 -5
- package/src/presentation/presentation-deck.js +28 -23
- package/src/presentation/presentation-deck.spec.js +4 -4
- package/src/presentation/presentation-decks.js +1 -1
- package/src/presentation/presentation-section.js +59 -31
- package/src/presentation/presentation-section.spec.js +31 -32
- package/src/presentation/presentation-sections.js +1 -1
- package/src/presentation/presentation-slide.js +51 -25
- package/src/presentation/presentation-slide.spec.js +21 -27
- package/src/presentation/presentation-slides.js +1 -1
- package/src/presentation/presentation-subslide.js +5 -5
- package/src/presentation/presentation-subslide.spec.js +3 -3
- package/src/presentation/presentation-subslides.js +1 -1
- package/src/presentation/presentation.js +5 -3
- package/src/selections.js +71 -0
- package/src/sync.js +1 -1
- package/src/utils.js +31 -8
- package/src/utils.spec.js +8 -8
- package/.rush/temp/package-deps_test.json +0 -172
- package/cjs/collections/appointment-duplicates.js +0 -29
- package/cjs/collections/appointment-duplicates.js.map +0 -1
- package/cjs/models/appointment-duplicate.js +0 -94
- 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,6 +1,5 @@
|
|
|
1
1
|
import { AdjunctSectionModel } from "../models/adjunct-section";
|
|
2
2
|
import { AutoAdjunctModel } from "../models/auto-adjunct";
|
|
3
|
-
import { DeckVersionScreenshotCollection } from "../collections/deck-version-screenshots.js";
|
|
4
3
|
import { PresentationSection } from "./presentation-section";
|
|
5
4
|
import { SectionModel } from "../models/section";
|
|
6
5
|
import { SlideModel } from "../models/slide";
|
|
@@ -86,7 +85,7 @@ describe("#createFromSection", () => {
|
|
|
86
85
|
|
|
87
86
|
const presentationSection = PresentationSection.createFromSection(
|
|
88
87
|
section,
|
|
89
|
-
options
|
|
88
|
+
options,
|
|
90
89
|
);
|
|
91
90
|
|
|
92
91
|
expect(presentationSection.tags).toEqual(["section-tag"]);
|
|
@@ -104,14 +103,14 @@ describe("#createFromSection", () => {
|
|
|
104
103
|
it("should use the screenshot model if it matches", () => {
|
|
105
104
|
const section = new SectionModel(getSectionJSON());
|
|
106
105
|
const options = {
|
|
107
|
-
screenshots:
|
|
108
|
-
|
|
109
|
-
|
|
106
|
+
screenshots: {
|
|
107
|
+
[section.url()]: "test-screenshot.png",
|
|
108
|
+
},
|
|
110
109
|
};
|
|
111
110
|
|
|
112
111
|
const presentationSection = PresentationSection.createFromSection(
|
|
113
112
|
section,
|
|
114
|
-
options
|
|
113
|
+
options,
|
|
115
114
|
);
|
|
116
115
|
expect(presentationSection.thumbnail).toEqual("test-screenshot.png");
|
|
117
116
|
});
|
|
@@ -135,7 +134,7 @@ describe("#createFromAdjunctSection", () => {
|
|
|
135
134
|
};
|
|
136
135
|
|
|
137
136
|
return {
|
|
138
|
-
adjunct: "
|
|
137
|
+
adjunct: "/api/adjuncts/7470/",
|
|
139
138
|
appointment: "https://staging-test.salespreso.com/api/appointments/2422/",
|
|
140
139
|
created_by_autoadjunct: true,
|
|
141
140
|
created_date: "2021-09-20T01:57:55.125224Z",
|
|
@@ -170,12 +169,13 @@ describe("#createFromAdjunctSection", () => {
|
|
|
170
169
|
const adjunctSection = new AdjunctSectionModel(getAdjunctSectionJSON());
|
|
171
170
|
const presentationSection = PresentationSection.createFromAdjunctSection(
|
|
172
171
|
adjunctSection,
|
|
173
|
-
{ id: 1 }
|
|
172
|
+
{ id: 1 },
|
|
174
173
|
);
|
|
175
174
|
|
|
176
175
|
const expected = {
|
|
177
176
|
adjunct: {
|
|
178
|
-
url: "
|
|
177
|
+
url: "/api/adjuncts/7470/",
|
|
178
|
+
id: 7470,
|
|
179
179
|
},
|
|
180
180
|
adjunctID: 1737,
|
|
181
181
|
adjunctSlideLimit: 0,
|
|
@@ -195,6 +195,7 @@ describe("#createFromAdjunctSection", () => {
|
|
|
195
195
|
sequence: 1,
|
|
196
196
|
slides: [],
|
|
197
197
|
tags: [],
|
|
198
|
+
template: null,
|
|
198
199
|
templateID: null,
|
|
199
200
|
temporary: true,
|
|
200
201
|
thumbnail:
|
|
@@ -216,7 +217,7 @@ describe("#createFromAdjunctSection", () => {
|
|
|
216
217
|
const presentationSection = PresentationSection.createFromAdjunctSection(
|
|
217
218
|
adjunctSection,
|
|
218
219
|
{ id: 1 },
|
|
219
|
-
options
|
|
220
|
+
options,
|
|
220
221
|
);
|
|
221
222
|
|
|
222
223
|
expect(presentationSection.tags).toEqual(["adjunctsection-tag"]);
|
|
@@ -228,29 +229,26 @@ describe("#createFromAdjunctSection", () => {
|
|
|
228
229
|
const adjunctSection = new AdjunctSectionModel(data);
|
|
229
230
|
const presentationSlide = PresentationSection.createFromAdjunctSection(
|
|
230
231
|
adjunctSection,
|
|
231
|
-
{ id: 1 }
|
|
232
|
+
{ id: 1 },
|
|
232
233
|
);
|
|
233
234
|
expect(presentationSlide.thumbnail).toEqual(data.template.image_256);
|
|
234
235
|
});
|
|
235
236
|
|
|
236
237
|
it("should use the screenshot model if it matches", () => {
|
|
237
238
|
const adjunctSection = new AdjunctSectionModel(
|
|
238
|
-
getAdjunctSectionJSON(true)
|
|
239
|
+
getAdjunctSectionJSON(true),
|
|
239
240
|
);
|
|
240
241
|
|
|
241
242
|
const options = {
|
|
242
|
-
screenshots:
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
image_256: "test-screenshot.png",
|
|
246
|
-
},
|
|
247
|
-
]),
|
|
243
|
+
screenshots: {
|
|
244
|
+
"/api/autoadjuncts/545/": "test-screenshot.png",
|
|
245
|
+
},
|
|
248
246
|
};
|
|
249
247
|
|
|
250
248
|
const presentationSection = PresentationSection.createFromAdjunctSection(
|
|
251
249
|
adjunctSection,
|
|
252
250
|
{ id: 1 },
|
|
253
|
-
options
|
|
251
|
+
options,
|
|
254
252
|
);
|
|
255
253
|
expect(presentationSection.thumbnail).toEqual("test-screenshot.png");
|
|
256
254
|
});
|
|
@@ -343,7 +341,7 @@ describe("#createFromImpostorSection", () => {
|
|
|
343
341
|
const presentationSection = PresentationSection.createFromImpostorSection(
|
|
344
342
|
impostorSection,
|
|
345
343
|
null,
|
|
346
|
-
options
|
|
344
|
+
options,
|
|
347
345
|
);
|
|
348
346
|
|
|
349
347
|
expect(presentationSection.tags).toEqual(["impostorsection-tag"]);
|
|
@@ -355,7 +353,7 @@ describe("#createFromImpostorSection", () => {
|
|
|
355
353
|
const impostorSection = new SlideModel(data);
|
|
356
354
|
const presentationSection = PresentationSection.createFromImpostorSection(
|
|
357
355
|
impostorSection,
|
|
358
|
-
null
|
|
356
|
+
null,
|
|
359
357
|
);
|
|
360
358
|
expect(presentationSection.thumbnail).toEqual(data.image_256);
|
|
361
359
|
});
|
|
@@ -363,15 +361,15 @@ describe("#createFromImpostorSection", () => {
|
|
|
363
361
|
it("should use the screenshot model if it matches", () => {
|
|
364
362
|
const impostorSection = new SlideModel(getImpostorSectionJSON());
|
|
365
363
|
const options = {
|
|
366
|
-
screenshots:
|
|
367
|
-
|
|
368
|
-
|
|
364
|
+
screenshots: {
|
|
365
|
+
[impostorSection.url()]: "test-screenshot.png",
|
|
366
|
+
},
|
|
369
367
|
};
|
|
370
368
|
|
|
371
369
|
const presentationSection = PresentationSection.createFromImpostorSection(
|
|
372
370
|
impostorSection,
|
|
373
371
|
null,
|
|
374
|
-
options
|
|
372
|
+
options,
|
|
375
373
|
);
|
|
376
374
|
expect(presentationSection.thumbnail).toEqual("test-screenshot.png");
|
|
377
375
|
});
|
|
@@ -416,7 +414,7 @@ describe("#createFromAutoAdjunct", () => {
|
|
|
416
414
|
};
|
|
417
415
|
const presentationSection = PresentationSection.createFromAutoAdjunct(
|
|
418
416
|
autoAdjunct,
|
|
419
|
-
options
|
|
417
|
+
options,
|
|
420
418
|
);
|
|
421
419
|
|
|
422
420
|
const expected = {
|
|
@@ -437,6 +435,7 @@ describe("#createFromAutoAdjunct", () => {
|
|
|
437
435
|
key: "autoadjunct-five",
|
|
438
436
|
sequence: 3,
|
|
439
437
|
slides: [],
|
|
438
|
+
template: null,
|
|
440
439
|
tags: [],
|
|
441
440
|
templateID: null,
|
|
442
441
|
temporary: true,
|
|
@@ -458,7 +457,7 @@ describe("#createFromAutoAdjunct", () => {
|
|
|
458
457
|
};
|
|
459
458
|
const presentationSection = PresentationSection.createFromAutoAdjunct(
|
|
460
459
|
autoAdjunct,
|
|
461
|
-
options
|
|
460
|
+
options,
|
|
462
461
|
);
|
|
463
462
|
|
|
464
463
|
expect(presentationSection.tags).toEqual(["autoadjunct-tag"]);
|
|
@@ -471,7 +470,7 @@ describe("#createFromAutoAdjunct", () => {
|
|
|
471
470
|
const autoAdjunct = new AutoAdjunctModel(data);
|
|
472
471
|
const presentationSection = PresentationSection.createFromAutoAdjunct(
|
|
473
472
|
autoAdjunct,
|
|
474
|
-
options
|
|
473
|
+
options,
|
|
475
474
|
);
|
|
476
475
|
expect(presentationSection.thumbnail).toEqual(data.image_256);
|
|
477
476
|
});
|
|
@@ -481,14 +480,14 @@ describe("#createFromAutoAdjunct", () => {
|
|
|
481
480
|
const options = {
|
|
482
481
|
index: 3,
|
|
483
482
|
deckversionID: 12,
|
|
484
|
-
screenshots:
|
|
485
|
-
|
|
486
|
-
|
|
483
|
+
screenshots: {
|
|
484
|
+
[autoAdjunct.url()]: "test-screenshot.png",
|
|
485
|
+
},
|
|
487
486
|
};
|
|
488
487
|
|
|
489
488
|
const presentationSection = PresentationSection.createFromAutoAdjunct(
|
|
490
489
|
autoAdjunct,
|
|
491
|
-
options
|
|
490
|
+
options,
|
|
492
491
|
);
|
|
493
492
|
expect(presentationSection.thumbnail).toEqual("test-screenshot.png");
|
|
494
493
|
});
|
|
@@ -13,7 +13,7 @@ export const PresentationSectionCollection = BasePresentationCollection.extend(
|
|
|
13
13
|
/** @lends presentation.PresentationSectionCollection# */ {
|
|
14
14
|
comparator: "sequence",
|
|
15
15
|
model: "PresentationSection",
|
|
16
|
-
}
|
|
16
|
+
},
|
|
17
17
|
);
|
|
18
18
|
|
|
19
19
|
register("PresentationSectionCollection", PresentationSectionCollection);
|
|
@@ -86,6 +86,7 @@ export const PresentationSlide = BasePresentationModel.extend(
|
|
|
86
86
|
*/
|
|
87
87
|
children: {
|
|
88
88
|
adjunct: "AdjunctModel",
|
|
89
|
+
template: "TemplateModel",
|
|
89
90
|
},
|
|
90
91
|
|
|
91
92
|
/**
|
|
@@ -105,7 +106,7 @@ export const PresentationSlide = BasePresentationModel.extend(
|
|
|
105
106
|
}
|
|
106
107
|
return this._url;
|
|
107
108
|
},
|
|
108
|
-
}
|
|
109
|
+
},
|
|
109
110
|
);
|
|
110
111
|
|
|
111
112
|
/**
|
|
@@ -127,6 +128,8 @@ PresentationSlide.createFromSlide = function (slideModel, options = {}) {
|
|
|
127
128
|
},
|
|
128
129
|
});
|
|
129
130
|
|
|
131
|
+
options.screenshots = PresentationSlide.screenshotsToMap(options.screenshots);
|
|
132
|
+
|
|
130
133
|
let html;
|
|
131
134
|
let css;
|
|
132
135
|
|
|
@@ -134,7 +137,7 @@ PresentationSlide.createFromSlide = function (slideModel, options = {}) {
|
|
|
134
137
|
|
|
135
138
|
if (options.rootAssetPath) {
|
|
136
139
|
const baseRoot = getAssetRoot(
|
|
137
|
-
slideModel.section.deckversion.index_asset.url()
|
|
140
|
+
slideModel.section.deckversion.index_asset.url(),
|
|
138
141
|
);
|
|
139
142
|
const slidePath = assetRoot.slice(baseRoot.length);
|
|
140
143
|
html = `${options.rootAssetPath}${slidePath}index.html`;
|
|
@@ -146,7 +149,7 @@ PresentationSlide.createFromSlide = function (slideModel, options = {}) {
|
|
|
146
149
|
|
|
147
150
|
const config = PresentationSlide.getVisibilityAndSequence(
|
|
148
151
|
slideModel,
|
|
149
|
-
options
|
|
152
|
+
options,
|
|
150
153
|
);
|
|
151
154
|
|
|
152
155
|
const tags = PresentationSlide.getTags(slideModel, options);
|
|
@@ -173,7 +176,7 @@ PresentationSlide.createFromSlide = function (slideModel, options = {}) {
|
|
|
173
176
|
slide.subslides.add(
|
|
174
177
|
slideModel.subslide_set.map((model) => {
|
|
175
178
|
return PresentationSubSlide.createFromSubSlide(model, options);
|
|
176
|
-
})
|
|
179
|
+
}),
|
|
177
180
|
);
|
|
178
181
|
|
|
179
182
|
const adjunctSubslides = options.adjunctSubSlides.filter((model) => {
|
|
@@ -206,7 +209,7 @@ PresentationSlide.createFromSlide = function (slideModel, options = {}) {
|
|
|
206
209
|
...options,
|
|
207
210
|
id,
|
|
208
211
|
});
|
|
209
|
-
})
|
|
212
|
+
}),
|
|
210
213
|
);
|
|
211
214
|
|
|
212
215
|
return slide;
|
|
@@ -223,7 +226,7 @@ PresentationSlide.createFromSlide = function (slideModel, options = {}) {
|
|
|
223
226
|
PresentationSlide.createFromAdjunctSlide = function (
|
|
224
227
|
adjunctSlideModel,
|
|
225
228
|
section = null,
|
|
226
|
-
options = {}
|
|
229
|
+
options = {},
|
|
227
230
|
) {
|
|
228
231
|
_.defaults(options, {
|
|
229
232
|
id: null,
|
|
@@ -236,6 +239,8 @@ PresentationSlide.createFromAdjunctSlide = function (
|
|
|
236
239
|
screenshots: new collections.DeckVersionScreenshotCollection(),
|
|
237
240
|
});
|
|
238
241
|
|
|
242
|
+
options.screenshots = PresentationSlide.screenshotsToMap(options.screenshots);
|
|
243
|
+
|
|
239
244
|
const keyID =
|
|
240
245
|
adjunctSlideModel.id ||
|
|
241
246
|
(adjunctSlideModel.creator_autoadjunct
|
|
@@ -253,18 +258,18 @@ PresentationSlide.createFromAdjunctSlide = function (
|
|
|
253
258
|
|
|
254
259
|
const config = PresentationSlide.getVisibilityAndSequence(
|
|
255
260
|
adjunctSlideModel,
|
|
256
|
-
options
|
|
261
|
+
options,
|
|
257
262
|
);
|
|
258
263
|
|
|
259
264
|
const tags = PresentationSlide.getTags(adjunctSlideModel, options);
|
|
260
265
|
|
|
266
|
+
const autoAdjunctID = adjunctSlideModel.creator_autoadjunct?.id || null;
|
|
267
|
+
|
|
261
268
|
const slide = new PresentationSlide({
|
|
262
269
|
id: options.id || options.getUniqueAdjunctID(),
|
|
263
|
-
adjunct: adjunctSlideModel.adjunct
|
|
270
|
+
adjunct: adjunctSlideModel.adjunct,
|
|
264
271
|
adjunctID: adjunctSlideModel.id,
|
|
265
|
-
autoAdjunctID
|
|
266
|
-
? adjunctSlideModel.creator_autoadjunct.id
|
|
267
|
-
: null,
|
|
272
|
+
autoAdjunctID,
|
|
268
273
|
key,
|
|
269
274
|
thumbnail: adjunctSlideModel.image_256,
|
|
270
275
|
createdByAutoAdjunct: adjunctSlideModel.created_by_autoadjunct,
|
|
@@ -277,13 +282,15 @@ PresentationSlide.createFromAdjunctSlide = function (
|
|
|
277
282
|
index: config.sequence,
|
|
278
283
|
sequence: config.sequence,
|
|
279
284
|
visible: config.visible,
|
|
280
|
-
cmsvalkey_set: [],
|
|
285
|
+
cmsvalkey_set: adjunctSlideModel.template?.cmsvalkey_set || [],
|
|
286
|
+
templateID: adjunctSlideModel.template?.id || null,
|
|
287
|
+
template: adjunctSlideModel.template || null,
|
|
281
288
|
});
|
|
282
289
|
|
|
283
290
|
if (adjunctSlideModel.template) {
|
|
284
291
|
if (!adjunctSlideModel.template.index_asset) {
|
|
285
292
|
throw new Error(
|
|
286
|
-
"Template missing index_asset. Do you have the whole template available?"
|
|
293
|
+
"Template missing index_asset. Do you have the whole template available?",
|
|
287
294
|
);
|
|
288
295
|
}
|
|
289
296
|
const origPath = adjunctSlideModel.template.index_asset.orig_path;
|
|
@@ -295,7 +302,7 @@ PresentationSlide.createFromAdjunctSlide = function (
|
|
|
295
302
|
css = `${options.rootAssetPath}${origPath}/slide.css`;
|
|
296
303
|
} else {
|
|
297
304
|
const assetRoot = getAssetRoot(
|
|
298
|
-
adjunctSlideModel.template.index_asset.url()
|
|
305
|
+
adjunctSlideModel.template.index_asset.url(),
|
|
299
306
|
);
|
|
300
307
|
html = `${assetRoot}index.html`;
|
|
301
308
|
css = `${assetRoot}slide.css`;
|
|
@@ -303,13 +310,16 @@ PresentationSlide.createFromAdjunctSlide = function (
|
|
|
303
310
|
slide.html = html;
|
|
304
311
|
slide.css = css;
|
|
305
312
|
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
// use the template's image as a fallback
|
|
309
|
-
PresentationSlide.getThumbnail(
|
|
313
|
+
if (adjunctSlideModel.creator_autoadjunct) {
|
|
314
|
+
slide.thumbnail = PresentationSlide.getThumbnail(
|
|
310
315
|
adjunctSlideModel.creator_autoadjunct,
|
|
311
|
-
options.screenshots
|
|
312
|
-
)
|
|
316
|
+
options.screenshots,
|
|
317
|
+
);
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
if (!slide.thumbnail) {
|
|
321
|
+
slide.thumbnail = adjunctSlideModel.template.image_256;
|
|
322
|
+
}
|
|
313
323
|
} else {
|
|
314
324
|
slide.image = adjunctSlideModel.image_original;
|
|
315
325
|
}
|
|
@@ -321,7 +331,7 @@ PresentationSlide.createFromManifestJSON = function (
|
|
|
321
331
|
manifestJSON,
|
|
322
332
|
key,
|
|
323
333
|
sectionID,
|
|
324
|
-
index
|
|
334
|
+
index,
|
|
325
335
|
) {
|
|
326
336
|
const [, slideKey] = key.split("/");
|
|
327
337
|
|
|
@@ -348,7 +358,7 @@ PresentationSlide.createFromManifestJSON = function (
|
|
|
348
358
|
PresentationSlide.createFromManifestImpostor = function (
|
|
349
359
|
slide,
|
|
350
360
|
index,
|
|
351
|
-
sectionID
|
|
361
|
+
sectionID,
|
|
352
362
|
) {
|
|
353
363
|
const presentationSlide = new PresentationSlide({
|
|
354
364
|
id: parseInt(_.uniqueId(), 10),
|
|
@@ -368,7 +378,7 @@ PresentationSlide.createFromTemplate = function (
|
|
|
368
378
|
template,
|
|
369
379
|
index,
|
|
370
380
|
sectionID,
|
|
371
|
-
minID = 0
|
|
381
|
+
minID = 0,
|
|
372
382
|
) {
|
|
373
383
|
const presentationSlide = new PresentationSlide({
|
|
374
384
|
...template,
|
|
@@ -405,13 +415,15 @@ PresentationSlide.createFromAutoAdjunct = function (model, opts = {}) {
|
|
|
405
415
|
screenshots: new collections.DeckVersionScreenshotCollection(),
|
|
406
416
|
});
|
|
407
417
|
|
|
418
|
+
options.screenshots = PresentationSlide.screenshotsToMap(options.screenshots);
|
|
419
|
+
|
|
408
420
|
const tags = PresentationSlide.getTags(
|
|
409
421
|
{
|
|
410
422
|
isAutoAdjunct: true,
|
|
411
423
|
key: model.key,
|
|
412
424
|
tags: model.tags,
|
|
413
425
|
},
|
|
414
|
-
options
|
|
426
|
+
options,
|
|
415
427
|
);
|
|
416
428
|
|
|
417
429
|
const autoAdjunct = new AutoAdjunctModel(model);
|
|
@@ -421,7 +433,8 @@ PresentationSlide.createFromAutoAdjunct = function (model, opts = {}) {
|
|
|
421
433
|
adjunctID: autoAdjunct.id,
|
|
422
434
|
autoAdjunctID: autoAdjunct.id,
|
|
423
435
|
createdByTemplate: autoAdjunct.template !== null,
|
|
424
|
-
templateID: autoAdjunct.template
|
|
436
|
+
templateID: autoAdjunct.template?.id || null,
|
|
437
|
+
template: autoAdjunct.template || null,
|
|
425
438
|
html: "",
|
|
426
439
|
css: "",
|
|
427
440
|
sequence: options.sequence,
|
|
@@ -447,6 +460,19 @@ PresentationSlide.createFromAutoAdjunct = function (model, opts = {}) {
|
|
|
447
460
|
autoAdjunctSlide.createdByTemplate = true;
|
|
448
461
|
autoAdjunctSlide.templateID = autoAdjunct.template.id;
|
|
449
462
|
autoAdjunctSlide.html = autoAdjunct.template.index_asset.url();
|
|
463
|
+
//
|
|
464
|
+
// We've had some instances where the caching was returning the wrong data, and the
|
|
465
|
+
// app was unable to recover when an autoadjunct was missing keys. So, check for missing
|
|
466
|
+
// keys.
|
|
467
|
+
const missingKeys = autoAdjunct.template.cmsvalkey_set
|
|
468
|
+
.filter((t) => {
|
|
469
|
+
return !autoAdjunctSlide.cmsvalkey_set.find((k) => k.startsWith(t));
|
|
470
|
+
})
|
|
471
|
+
.map((t) => {
|
|
472
|
+
return `${t}-autoadjunct-${autoAdjunct.id}`;
|
|
473
|
+
});
|
|
474
|
+
|
|
475
|
+
autoAdjunctSlide.cmsvalkey_set.push(...missingKeys);
|
|
450
476
|
} else {
|
|
451
477
|
autoAdjunctSlide.image = autoAdjunct.image_original;
|
|
452
478
|
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { AdjunctSlideModel } from "../models/adjunct-slide";
|
|
2
2
|
import { AutoAdjunctModel } from "../models/auto-adjunct";
|
|
3
|
-
import { DeckVersionScreenshotCollection } from "../collections/deck-version-screenshots.js";
|
|
4
3
|
import { PresentationSlide } from "./presentation-slide";
|
|
5
4
|
import { SlideModel } from "../models/slide";
|
|
6
5
|
|
|
@@ -87,14 +86,14 @@ describe("#createFromSlide", () => {
|
|
|
87
86
|
it("should use the screenshot model if it matches", () => {
|
|
88
87
|
const slide = new SlideModel(getSlideJSON());
|
|
89
88
|
const options = {
|
|
90
|
-
screenshots:
|
|
91
|
-
|
|
92
|
-
|
|
89
|
+
screenshots: {
|
|
90
|
+
"/api/slides/23219/": "test-screenshot.png",
|
|
91
|
+
},
|
|
93
92
|
};
|
|
94
93
|
|
|
95
94
|
const presentationSlide = PresentationSlide.createFromSlide(
|
|
96
95
|
slide,
|
|
97
|
-
options
|
|
96
|
+
options,
|
|
98
97
|
);
|
|
99
98
|
expect(presentationSlide.thumbnail).toEqual("test-screenshot.png");
|
|
100
99
|
});
|
|
@@ -155,9 +154,6 @@ describe("#createFromAdjunctSlide", () => {
|
|
|
155
154
|
PresentationSlide.createFromAdjunctSlide(adjunctSlide);
|
|
156
155
|
|
|
157
156
|
const expected = {
|
|
158
|
-
adjunct: {
|
|
159
|
-
url: "https://staging-test.salespreso.com/api/adjuncts/7457/",
|
|
160
|
-
},
|
|
161
157
|
adjunctID: 10529,
|
|
162
158
|
autoAdjunctID: 541,
|
|
163
159
|
createdByAutoAdjunct: true,
|
|
@@ -182,7 +178,9 @@ describe("#createFromAdjunctSlide", () => {
|
|
|
182
178
|
cmsvalkey_set: [],
|
|
183
179
|
};
|
|
184
180
|
|
|
185
|
-
expect(presentationSlide.toJSON()).toEqual(
|
|
181
|
+
expect(presentationSlide.toJSON()).toEqual(
|
|
182
|
+
expect.objectContaining(expected),
|
|
183
|
+
);
|
|
186
184
|
});
|
|
187
185
|
|
|
188
186
|
it("should use deckTags when available", async () => {
|
|
@@ -194,7 +192,7 @@ describe("#createFromAdjunctSlide", () => {
|
|
|
194
192
|
const presentationSlide = PresentationSlide.createFromAdjunctSlide(
|
|
195
193
|
adjunctSlide,
|
|
196
194
|
null,
|
|
197
|
-
options
|
|
195
|
+
options,
|
|
198
196
|
);
|
|
199
197
|
|
|
200
198
|
expect(presentationSlide.tags).toEqual(["adjunctslide-tag"]);
|
|
@@ -206,6 +204,7 @@ describe("#createFromAdjunctSlide", () => {
|
|
|
206
204
|
const adjunctSlide = new AdjunctSlideModel(data);
|
|
207
205
|
const presentationSlide =
|
|
208
206
|
PresentationSlide.createFromAdjunctSlide(adjunctSlide);
|
|
207
|
+
|
|
209
208
|
expect(presentationSlide.thumbnail).toEqual(data.template.image_256);
|
|
210
209
|
});
|
|
211
210
|
|
|
@@ -213,18 +212,15 @@ describe("#createFromAdjunctSlide", () => {
|
|
|
213
212
|
const adjunctSlide = new AdjunctSlideModel(getAdjunctSlideJSON(true));
|
|
214
213
|
|
|
215
214
|
const options = {
|
|
216
|
-
screenshots:
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
image_256: "test-screenshot.png",
|
|
220
|
-
},
|
|
221
|
-
]),
|
|
215
|
+
screenshots: {
|
|
216
|
+
"/api/autoadjuncts/541/": "test-screenshot.png",
|
|
217
|
+
},
|
|
222
218
|
};
|
|
223
219
|
|
|
224
220
|
const presentationSlide = PresentationSlide.createFromAdjunctSlide(
|
|
225
221
|
adjunctSlide,
|
|
226
222
|
null,
|
|
227
|
-
options
|
|
223
|
+
options,
|
|
228
224
|
);
|
|
229
225
|
expect(presentationSlide.thumbnail).toEqual("test-screenshot.png");
|
|
230
226
|
});
|
|
@@ -270,7 +266,7 @@ describe("#createFromAutoAdjunct", () => {
|
|
|
270
266
|
|
|
271
267
|
const presentationSlide = PresentationSlide.createFromAutoAdjunct(
|
|
272
268
|
autoAdjunct,
|
|
273
|
-
options
|
|
269
|
+
options,
|
|
274
270
|
);
|
|
275
271
|
|
|
276
272
|
const expected = {
|
|
@@ -288,6 +284,7 @@ describe("#createFromAutoAdjunct", () => {
|
|
|
288
284
|
sequence: 3,
|
|
289
285
|
subslides: [],
|
|
290
286
|
tags: [],
|
|
287
|
+
template: null,
|
|
291
288
|
templateID: null,
|
|
292
289
|
temporary: true,
|
|
293
290
|
thumbnail:
|
|
@@ -312,7 +309,7 @@ describe("#createFromAutoAdjunct", () => {
|
|
|
312
309
|
|
|
313
310
|
const presentationSlide = PresentationSlide.createFromAutoAdjunct(
|
|
314
311
|
autoAdjunct,
|
|
315
|
-
options
|
|
312
|
+
options,
|
|
316
313
|
);
|
|
317
314
|
expect(presentationSlide.tags).toEqual(["autoadjunct-tags"]);
|
|
318
315
|
});
|
|
@@ -324,7 +321,7 @@ describe("#createFromAutoAdjunct", () => {
|
|
|
324
321
|
const autoAdjunct = new AutoAdjunctModel(data);
|
|
325
322
|
const presentationSlide = PresentationSlide.createFromAutoAdjunct(
|
|
326
323
|
autoAdjunct,
|
|
327
|
-
options
|
|
324
|
+
options,
|
|
328
325
|
);
|
|
329
326
|
expect(presentationSlide.thumbnail).toEqual(data.image_256);
|
|
330
327
|
});
|
|
@@ -333,18 +330,15 @@ describe("#createFromAutoAdjunct", () => {
|
|
|
333
330
|
const options = {
|
|
334
331
|
index: 3,
|
|
335
332
|
deckversionID: 12,
|
|
336
|
-
screenshots:
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
image_256: "test-screenshot.png",
|
|
340
|
-
},
|
|
341
|
-
]),
|
|
333
|
+
screenshots: {
|
|
334
|
+
"/api/autoadjuncts/525/": "test-screenshot.png",
|
|
335
|
+
},
|
|
342
336
|
};
|
|
343
337
|
const data = getAutoAdjunctJSON();
|
|
344
338
|
const autoAdjunct = new AutoAdjunctModel(data);
|
|
345
339
|
const presentationSlide = PresentationSlide.createFromAutoAdjunct(
|
|
346
340
|
autoAdjunct,
|
|
347
|
-
options
|
|
341
|
+
options,
|
|
348
342
|
);
|
|
349
343
|
expect(presentationSlide.thumbnail).toEqual("test-screenshot.png");
|
|
350
344
|
});
|
|
@@ -13,7 +13,7 @@ export const PresentationSlideCollection = BasePresentationCollection.extend(
|
|
|
13
13
|
/** @lends presentation.PresentationSlideCollection# */ {
|
|
14
14
|
comparator: "sequence",
|
|
15
15
|
model: "PresentationSlide",
|
|
16
|
-
}
|
|
16
|
+
},
|
|
17
17
|
);
|
|
18
18
|
|
|
19
19
|
register("PresentationSlideCollection", PresentationSlideCollection);
|
|
@@ -62,7 +62,7 @@ export const PresentationSubSlide = BasePresentationModel.extend(
|
|
|
62
62
|
|
|
63
63
|
return this._url;
|
|
64
64
|
},
|
|
65
|
-
}
|
|
65
|
+
},
|
|
66
66
|
);
|
|
67
67
|
|
|
68
68
|
/**
|
|
@@ -74,7 +74,7 @@ export const PresentationSubSlide = BasePresentationModel.extend(
|
|
|
74
74
|
*/
|
|
75
75
|
PresentationSubSlide.createFromSubSlide = function (
|
|
76
76
|
subSlideModel,
|
|
77
|
-
options = {}
|
|
77
|
+
options = {},
|
|
78
78
|
) {
|
|
79
79
|
_.defaults(options, {
|
|
80
80
|
selections: null,
|
|
@@ -83,7 +83,7 @@ PresentationSubSlide.createFromSubSlide = function (
|
|
|
83
83
|
|
|
84
84
|
const config = PresentationSubSlide.getVisibilityAndSequence(
|
|
85
85
|
subSlideModel,
|
|
86
|
-
options
|
|
86
|
+
options,
|
|
87
87
|
);
|
|
88
88
|
|
|
89
89
|
const tags = PresentationSubSlide.getTags(subSlideModel, options);
|
|
@@ -116,7 +116,7 @@ PresentationSubSlide.createFromSubSlide = function (
|
|
|
116
116
|
PresentationSubSlide.createFromAdjunctSubSlide = function (
|
|
117
117
|
adjunctSubSlideModel,
|
|
118
118
|
slideModel,
|
|
119
|
-
options = {}
|
|
119
|
+
options = {},
|
|
120
120
|
) {
|
|
121
121
|
_.defaults(options, {
|
|
122
122
|
id: null,
|
|
@@ -132,7 +132,7 @@ PresentationSubSlide.createFromAdjunctSubSlide = function (
|
|
|
132
132
|
|
|
133
133
|
const config = PresentationSubSlide.getVisibilityAndSequence(
|
|
134
134
|
adjunctSubSlideModel,
|
|
135
|
-
options
|
|
135
|
+
options,
|
|
136
136
|
);
|
|
137
137
|
|
|
138
138
|
const tags = PresentationSubSlide.getTags(adjunctSubSlideModel, options);
|
|
@@ -60,7 +60,7 @@ describe("#createFromSubSlide", () => {
|
|
|
60
60
|
};
|
|
61
61
|
const presentationSub = PresentationSubSlide.createFromSubSlide(
|
|
62
62
|
subslide,
|
|
63
|
-
options
|
|
63
|
+
options,
|
|
64
64
|
);
|
|
65
65
|
|
|
66
66
|
expect(presentationSub.tags).toEqual(["subslide-tag"]);
|
|
@@ -98,7 +98,7 @@ describe("#createFromAdjunctSubSlide", () => {
|
|
|
98
98
|
const presentationSub = PresentationSubSlide.createFromAdjunctSubSlide(
|
|
99
99
|
subslide,
|
|
100
100
|
{ id: 58 },
|
|
101
|
-
{ id: 23 }
|
|
101
|
+
{ id: 23 },
|
|
102
102
|
);
|
|
103
103
|
|
|
104
104
|
// The adjunct subslide model doesn't have an image prop or a tags prop,
|
|
@@ -136,7 +136,7 @@ describe("#createFromAdjunctSubSlide", () => {
|
|
|
136
136
|
const presentationSub = PresentationSubSlide.createFromAdjunctSubSlide(
|
|
137
137
|
subslide,
|
|
138
138
|
{ id: 58 },
|
|
139
|
-
options
|
|
139
|
+
options,
|
|
140
140
|
);
|
|
141
141
|
|
|
142
142
|
expect(presentationSub.tags).toEqual(["adjunctsubslide-tag"]);
|
|
@@ -13,7 +13,7 @@ export const PresentationSubSlideCollection = BasePresentationCollection.extend(
|
|
|
13
13
|
/** @lends presentation.PresentationSubSlideCollection# */ {
|
|
14
14
|
comparator: "sequence",
|
|
15
15
|
model: "PresentationSubSlide",
|
|
16
|
-
}
|
|
16
|
+
},
|
|
17
17
|
);
|
|
18
18
|
|
|
19
19
|
register("PresentationSubSlideCollection", PresentationSubSlideCollection);
|
|
@@ -33,16 +33,17 @@ Presentation.createFromDeckversion = function (deckversionURL, options) {
|
|
|
33
33
|
]);
|
|
34
34
|
})
|
|
35
35
|
.then(async () => {
|
|
36
|
-
const templates = deckversion.template_set.models;
|
|
36
|
+
const templates = [...deckversion.template_set.models];
|
|
37
37
|
|
|
38
38
|
for (const auto of opts.autoAdjuncts.models) {
|
|
39
39
|
const dvTemplate = templates.find(
|
|
40
|
-
(t) => t.url() === auto.template.url()
|
|
40
|
+
(t) => t.url() === auto.template.url(),
|
|
41
41
|
);
|
|
42
42
|
if (dvTemplate) {
|
|
43
43
|
auto.template = dvTemplate;
|
|
44
44
|
} else {
|
|
45
45
|
await auto.template.fetch();
|
|
46
|
+
templates.push(auto.template);
|
|
46
47
|
}
|
|
47
48
|
}
|
|
48
49
|
})
|
|
@@ -80,7 +81,8 @@ Presentation.createFromDeckversion = function (deckversionURL, options) {
|
|
|
80
81
|
|
|
81
82
|
Presentation.createFromManifestJSON = function (manifestJSON, url) {
|
|
82
83
|
const manifestModel = new ManifestJSONModel(manifestJSON.toJSON());
|
|
83
|
-
|
|
84
|
+
|
|
85
|
+
// Let's use the model to transport the base url for the deck assets
|
|
84
86
|
manifestModel._url = url;
|
|
85
87
|
|
|
86
88
|
const deck = PresentationDeck.createFromManifestJSON(manifestModel);
|