@livepreso/api 6.42.1 → 6.45.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.js +3 -0
- package/.rush/temp/256021b5963b4c0221d3dec247b697b9691a9b2c.log +10 -0
- package/.rush/temp/2a322f00f12cf9d1e64afe81275cc78d01c49050.log +10 -0
- package/.rush/temp/30061f1865447dcbb3f20a305061205f3dbe6091.log +10 -0
- package/.rush/temp/45522aea0dee8cb2be1a53248ba45bd235743b43.log +10 -0
- package/.rush/temp/58fcbb7f15a76326d40e0839ab179755da82a891.log +10 -0
- package/.rush/temp/5bc0bba70b733baa4dd976667ba0a1386e516186.log +10 -0
- package/.rush/temp/64f1bb696f8d7d7e72907b80df316b127f72e23e.log +10 -0
- package/.rush/temp/6f640f951414ea68adb65c17e4ed7527cde54faf.log +10 -0
- package/.rush/temp/7c7b958682d4ab5697530be47d0aac62efe1adf1.log +10 -0
- package/.rush/temp/82bfb987463fbcfebf04022e6ed00015c73879c8.log +10 -0
- package/.rush/temp/844034aa6e542115075e8f3dc5ffc640973e0064.log +10 -0
- package/.rush/temp/8b42957a7c15da1f29cb57bee125f13affa70dca.log +10 -0
- package/.rush/temp/a769db9d81a23000c0e9b1bf4f1a9a9e721d0d7c.log +10 -0
- package/.rush/temp/a87d3a8b4ece87ec66f27c86226a9f205617681f.log +10 -0
- package/.rush/temp/bb7a5bdcc4af4ad1507f81f33774b31f5b4e4fb7.log +10 -0
- package/.rush/temp/build-cache-tar.log +7 -0
- package/.rush/temp/c20e29ccaaa9231b38a28bb24451b4ce7562cdc0.log +10 -0
- package/.rush/temp/e21303db8f59b4625fd184c9114377d781fd24f8.log +10 -0
- package/.rush/temp/e6d303862765b6a5f41dd483d0f9ae083a1fae10.log +10 -0
- package/.rush/temp/eaf69fbc059d2f1258d7569136180d4a1d3c7072.log +10 -0
- package/.rush/temp/f85d279e2674966daaec83e1c3986a96f86ef304.log +10 -0
- package/.rush/temp/fc0a332c5b34c6b90006850cf2d93a48fb4b9a6e.log +10 -0
- package/.rush/temp/package-deps_build.json +152 -134
- package/.rush/temp/package-deps_test.json +172 -0
- package/.rush/temp/shrinkwrap-deps.json +946 -847
- package/CHANGELOG.json +41 -0
- package/CHANGELOG.md +22 -1
- package/api.build.log +3 -26
- package/babel.config.js +1 -1
- package/bin/test.sh +0 -1
- package/cjs/api.js +1 -1
- package/cjs/api.js.map +1 -1
- package/cjs/auth.js +38 -11
- package/cjs/auth.js.map +1 -1
- package/cjs/auth.spec.js +12 -6
- package/cjs/auth.spec.js.map +1 -1
- package/cjs/caching.js +3 -3
- package/cjs/collections/activity.js +2 -2
- package/cjs/collections/appointment-adjunct-tags.js +28 -0
- package/cjs/collections/appointment-adjunct-tags.js.map +1 -0
- package/cjs/collections/appointment-deckversion-tags.js +28 -0
- package/cjs/collections/appointment-deckversion-tags.js.map +1 -0
- package/cjs/collections/appointment-section-tags.js +28 -0
- package/cjs/collections/appointment-section-tags.js.map +1 -0
- package/cjs/collections/appointment-slide-tags.js +28 -0
- package/cjs/collections/appointment-slide-tags.js.map +1 -0
- package/cjs/collections/appointment-tags.js +208 -0
- package/cjs/collections/appointment-tags.js.map +1 -0
- package/cjs/collections/appointments.js +2 -2
- package/cjs/collections/auto-adjuncts.js +2 -2
- package/cjs/collections/base.js +84 -3
- package/cjs/collections/base.js.map +1 -1
- package/cjs/collections/base.spec.js +178 -0
- package/cjs/collections/base.spec.js.map +1 -1
- package/cjs/collections/deck-version-screenshots.js +62 -0
- package/cjs/collections/deck-version-screenshots.js.map +1 -0
- package/cjs/collections/deck-versions.js +2 -2
- package/cjs/collections/tags.js +28 -0
- package/cjs/collections/tags.js.map +1 -0
- package/cjs/collections.js +91 -0
- package/cjs/collections.js.map +1 -1
- package/cjs/models/activity-item.js +5 -3
- package/cjs/models/activity-item.js.map +1 -1
- package/cjs/models/appointment-adjunct-tags.js +52 -0
- package/cjs/models/appointment-adjunct-tags.js.map +1 -0
- package/cjs/models/appointment-deckversion-tags.js +52 -0
- package/cjs/models/appointment-deckversion-tags.js.map +1 -0
- package/cjs/models/appointment-duplicate.js +2 -2
- package/cjs/models/appointment-section-tags.js +52 -0
- package/cjs/models/appointment-section-tags.js.map +1 -0
- package/cjs/models/appointment-slide-tags.js +52 -0
- package/cjs/models/appointment-slide-tags.js.map +1 -0
- package/cjs/models/appointment-tags.js +16 -15
- package/cjs/models/appointment-tags.js.map +1 -1
- package/cjs/models/appointment.js +19 -3
- package/cjs/models/appointment.js.map +1 -1
- package/cjs/models/auto-adjunct.js +3 -1
- package/cjs/models/auto-adjunct.js.map +1 -1
- package/cjs/models/base.js +19 -1
- package/cjs/models/base.js.map +1 -1
- package/cjs/models/base.spec.js +9 -0
- package/cjs/models/base.spec.js.map +1 -1
- package/cjs/models/deck-tags.js +61 -0
- package/cjs/models/deck-tags.js.map +1 -0
- package/cjs/models/deck-version-screenshot.js +59 -0
- package/cjs/models/deck-version-screenshot.js.map +1 -0
- package/cjs/models/deck-version.js +30 -5
- package/cjs/models/deck-version.js.map +1 -1
- package/cjs/models/deck.js +4 -1
- package/cjs/models/deck.js.map +1 -1
- package/cjs/models/feed-data.js +5 -0
- package/cjs/models/feed-data.js.map +1 -1
- package/cjs/models/image.js +34 -0
- package/cjs/models/image.js.map +1 -1
- package/cjs/models/manifest-json.js +56 -13
- package/cjs/models/manifest-json.js.map +1 -1
- package/cjs/models/preset.js +21 -1
- package/cjs/models/preset.js.map +1 -1
- package/cjs/models/section.js +3 -1
- package/cjs/models/section.js.map +1 -1
- package/cjs/models/slide.js +3 -1
- package/cjs/models/slide.js.map +1 -1
- package/cjs/models/tag.js +54 -0
- package/cjs/models/tag.js.map +1 -0
- package/cjs/models/template.js +3 -1
- package/cjs/models/template.js.map +1 -1
- package/cjs/models/token.js +56 -0
- package/cjs/models/token.js.map +1 -0
- package/cjs/models/user.js +4 -2
- package/cjs/models/user.js.map +1 -1
- package/cjs/models.js +104 -0
- package/cjs/models.js.map +1 -1
- package/cjs/presentation/appointment-presentation.js +11 -4
- package/cjs/presentation/appointment-presentation.js.map +1 -1
- package/cjs/presentation/base-presentation-model.js +167 -9
- package/cjs/presentation/base-presentation-model.js.map +1 -1
- package/cjs/presentation/base-presentation-model.spec.js +96 -6
- package/cjs/presentation/base-presentation-model.spec.js.map +1 -1
- package/cjs/presentation/presentation-deck.js +36 -8
- package/cjs/presentation/presentation-deck.js.map +1 -1
- package/cjs/presentation/presentation-deck.spec.js +53 -0
- package/cjs/presentation/presentation-deck.spec.js.map +1 -1
- package/cjs/presentation/presentation-section.js +64 -25
- package/cjs/presentation/presentation-section.js.map +1 -1
- package/cjs/presentation/presentation-section.spec.js +536 -0
- package/cjs/presentation/presentation-section.spec.js.map +1 -0
- package/cjs/presentation/presentation-slide.js +43 -18
- package/cjs/presentation/presentation-slide.js.map +1 -1
- package/cjs/presentation/presentation-slide.spec.js +386 -0
- package/cjs/presentation/presentation-slide.spec.js.map +1 -0
- package/cjs/presentation/presentation-subslide.js +5 -2
- package/cjs/presentation/presentation-subslide.js.map +1 -1
- package/cjs/presentation/presentation-subslide.spec.js +58 -12
- package/cjs/presentation/presentation-subslide.spec.js.map +1 -1
- package/cjs/presentation/presentation.js +120 -6
- package/cjs/presentation/presentation.js.map +1 -1
- package/cjs/state-register.js +11 -1
- package/cjs/state-register.js.map +1 -1
- package/cjs/sync.js +1 -1
- package/cjs/utils.js +5 -5
- package/config/rush-project.json +11 -0
- package/jest.config.js +1 -0
- package/package.json +66 -66
- package/src/api.js +1 -1
- package/src/auth.js +44 -8
- package/src/auth.spec.js +2 -0
- package/src/collections/appointment-adjunct-tags.js +18 -0
- package/src/collections/appointment-deckversion-tags.js +21 -0
- package/src/collections/appointment-section-tags.js +18 -0
- package/src/collections/appointment-slide-tags.js +18 -0
- package/src/collections/appointment-tags.js +136 -0
- package/src/collections/base.js +80 -3
- package/src/collections/base.spec.js +108 -1
- package/src/collections/deck-version-screenshots.js +48 -0
- package/src/collections/tags.js +18 -0
- package/src/collections.js +7 -0
- package/src/models/activity-item.js +2 -0
- package/src/models/appointment-adjunct-tags.js +41 -0
- package/src/models/appointment-deckversion-tags.js +41 -0
- package/src/models/appointment-section-tags.js +41 -0
- package/src/models/appointment-slide-tags.js +41 -0
- package/src/models/appointment-tags.js +16 -14
- package/src/models/appointment.js +18 -1
- package/src/models/auto-adjunct.js +2 -0
- package/src/models/base.js +19 -1
- package/src/models/base.spec.js +16 -9
- package/src/models/deck-tags.js +52 -0
- package/src/models/deck-version-screenshot.js +48 -0
- package/src/models/deck-version.js +32 -4
- package/src/models/deck.js +2 -0
- package/src/models/feed-data.js +2 -0
- package/src/models/image.js +32 -0
- package/src/models/manifest-json.js +55 -7
- package/src/models/preset.js +19 -0
- package/src/models/section.js +2 -0
- package/src/models/slide.js +2 -0
- package/src/models/tag.js +42 -0
- package/src/models/template.js +2 -0
- package/src/models/token.js +47 -0
- package/src/models/user.js +4 -0
- package/src/models.js +8 -0
- package/src/presentation/appointment-presentation.js +13 -2
- package/src/presentation/base-presentation-model.js +129 -8
- package/src/presentation/base-presentation-model.spec.js +121 -6
- package/src/presentation/presentation-deck.js +41 -2
- package/src/presentation/presentation-deck.spec.js +53 -0
- package/src/presentation/presentation-section.js +57 -14
- package/src/presentation/presentation-section.spec.js +496 -0
- package/src/presentation/presentation-slide.js +41 -8
- package/src/presentation/presentation-slide.spec.js +352 -0
- package/src/presentation/presentation-subslide.js +7 -2
- package/src/presentation/presentation-subslide.spec.js +32 -3
- package/src/presentation/presentation.js +35 -6
- package/src/state-register.js +7 -0
- package/api.build.error.log +0 -16
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { DeckVersionModel } from "../models/deck-version";
|
|
2
|
+
import { DeckVersionScreenshotCollection } from "../collections/deck-version-screenshots.js";
|
|
2
3
|
import { G } from "sp-test/api";
|
|
3
4
|
import { ManifestJSONModel } from "../models/manifest-json";
|
|
4
5
|
import { PresentationDeck } from "./presentation-deck";
|
|
@@ -57,6 +58,7 @@ describe("#createFromManifestJSON", () => {
|
|
|
57
58
|
|
|
58
59
|
describe("#createFromDeckVersion", () => {
|
|
59
60
|
const deckVersionJSON = {
|
|
61
|
+
image_256: "http://path/to/deck/thumbnail.png",
|
|
60
62
|
template_set: [
|
|
61
63
|
{
|
|
62
64
|
id: 20,
|
|
@@ -87,6 +89,7 @@ describe("#createFromDeckVersion", () => {
|
|
|
87
89
|
{
|
|
88
90
|
id: 1,
|
|
89
91
|
title: "Section 1",
|
|
92
|
+
image_256: "default_section.png",
|
|
90
93
|
index_asset: {
|
|
91
94
|
url: "http://path/to/index.html",
|
|
92
95
|
},
|
|
@@ -99,6 +102,7 @@ describe("#createFromDeckVersion", () => {
|
|
|
99
102
|
index_asset: {
|
|
100
103
|
url: "http://path/to/index.html",
|
|
101
104
|
},
|
|
105
|
+
image_256: "default_slide.png",
|
|
102
106
|
subslide_set: [],
|
|
103
107
|
section: { id: 1 },
|
|
104
108
|
},
|
|
@@ -107,6 +111,7 @@ describe("#createFromDeckVersion", () => {
|
|
|
107
111
|
{
|
|
108
112
|
id: 2,
|
|
109
113
|
title: "Section 2",
|
|
114
|
+
image_256: "default_section.png",
|
|
110
115
|
index_asset: {
|
|
111
116
|
url: "http://path/to/index.html",
|
|
112
117
|
},
|
|
@@ -117,6 +122,7 @@ describe("#createFromDeckVersion", () => {
|
|
|
117
122
|
{
|
|
118
123
|
id: 3,
|
|
119
124
|
title: "Section 3",
|
|
125
|
+
image_256: "default_section.png",
|
|
120
126
|
index_asset: {
|
|
121
127
|
url: "http://path/to/index.html",
|
|
122
128
|
},
|
|
@@ -158,4 +164,51 @@ describe("#createFromDeckVersion", () => {
|
|
|
158
164
|
);
|
|
159
165
|
expect(lastSection.css).toEqual("http://path/to/template/orange/slide.css");
|
|
160
166
|
});
|
|
167
|
+
|
|
168
|
+
describe("Screenshots", () => {
|
|
169
|
+
it("should use the default image from the slide if no screenshot found", () => {
|
|
170
|
+
const deck = new DeckVersionModel(deckVersionJSON);
|
|
171
|
+
const presentationDeck = PresentationDeck.createFromDeckVersion(deck);
|
|
172
|
+
expect(presentationDeck.thumbnail).toEqual(deckVersionJSON.image_256);
|
|
173
|
+
});
|
|
174
|
+
|
|
175
|
+
it("should use the screenshot model if it matches", () => {
|
|
176
|
+
const deck = new DeckVersionModel(deckVersionJSON);
|
|
177
|
+
const options = {
|
|
178
|
+
screenshots: new DeckVersionScreenshotCollection([
|
|
179
|
+
{ subject: deck.url(), image_256: "test-screenshot.png" },
|
|
180
|
+
]),
|
|
181
|
+
};
|
|
182
|
+
|
|
183
|
+
const presentationDeck = PresentationDeck.createFromDeckVersion(
|
|
184
|
+
deck,
|
|
185
|
+
options
|
|
186
|
+
);
|
|
187
|
+
expect(presentationDeck.thumbnail).toEqual("test-screenshot.png");
|
|
188
|
+
});
|
|
189
|
+
|
|
190
|
+
it("should pass screenshots to nested models", () => {
|
|
191
|
+
const deck = new DeckVersionModel(deckVersionJSON);
|
|
192
|
+
const section = deck.section_set.first();
|
|
193
|
+
const slide = section.slide_set.first();
|
|
194
|
+
|
|
195
|
+
const options = {
|
|
196
|
+
screenshots: new DeckVersionScreenshotCollection([
|
|
197
|
+
{ subject: deck.url(), image_256: "test-screenshot.png" },
|
|
198
|
+
{ subject: section.url(), image_256: "test-screenshot.png" },
|
|
199
|
+
{ subject: slide.url(), image_256: "test-screenshot.png" },
|
|
200
|
+
]),
|
|
201
|
+
};
|
|
202
|
+
|
|
203
|
+
const presentationDeck = PresentationDeck.createFromDeckVersion(
|
|
204
|
+
deck,
|
|
205
|
+
options
|
|
206
|
+
);
|
|
207
|
+
const presentationSection = presentationDeck.sections.first();
|
|
208
|
+
const presentationSlide = presentationSection.slides.first();
|
|
209
|
+
|
|
210
|
+
expect(presentationSection.thumbnail).toEqual("test-screenshot.png");
|
|
211
|
+
expect(presentationSlide.thumbnail).toEqual("test-screenshot.png");
|
|
212
|
+
});
|
|
213
|
+
});
|
|
161
214
|
});
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import "./presentation-slides.js";
|
|
2
2
|
|
|
3
|
+
import * as collections from "../collections.js";
|
|
4
|
+
|
|
3
5
|
import {
|
|
4
6
|
AdjunctSectionModel,
|
|
5
7
|
AdjunctSlideModel,
|
|
@@ -50,6 +52,7 @@ export const PresentationSection = BasePresentationModel.extend(
|
|
|
50
52
|
* @property {array} tags
|
|
51
53
|
* @property {boolean} impostor
|
|
52
54
|
* @property {boolean} isWelcome
|
|
55
|
+
* @property {string[]} cmsvalkey_set
|
|
53
56
|
*/
|
|
54
57
|
props: {
|
|
55
58
|
id: "number",
|
|
@@ -95,6 +98,7 @@ export const PresentationSection = BasePresentationModel.extend(
|
|
|
95
98
|
type: "boolean",
|
|
96
99
|
default: () => false,
|
|
97
100
|
},
|
|
101
|
+
cmsvalkey_set: "array",
|
|
98
102
|
},
|
|
99
103
|
|
|
100
104
|
/**
|
|
@@ -169,6 +173,7 @@ PresentationSection.createFromSection = function (sectionModel, options = {}) {
|
|
|
169
173
|
rootAssetPath: null,
|
|
170
174
|
selections: null,
|
|
171
175
|
choicelist: null,
|
|
176
|
+
screenshots: new collections.DeckVersionScreenshotCollection(),
|
|
172
177
|
});
|
|
173
178
|
|
|
174
179
|
let html;
|
|
@@ -201,17 +206,21 @@ PresentationSection.createFromSection = function (sectionModel, options = {}) {
|
|
|
201
206
|
css,
|
|
202
207
|
key: sectionModel.key,
|
|
203
208
|
adjunctSlideLimit: sectionModel.adjunctslide_limit,
|
|
204
|
-
thumbnail:
|
|
209
|
+
thumbnail: PresentationSection.getThumbnail(
|
|
210
|
+
sectionModel,
|
|
211
|
+
options.screenshots
|
|
212
|
+
),
|
|
205
213
|
custom: false,
|
|
206
214
|
impostor: false,
|
|
207
215
|
title: sectionModel.title,
|
|
208
216
|
deckversion: sectionModel.deckversion.id,
|
|
209
|
-
editable:
|
|
217
|
+
editable: tags.indexOf("editable") > -1,
|
|
210
218
|
tags,
|
|
211
219
|
index: config.sequence,
|
|
212
220
|
sequence: config.sequence,
|
|
213
221
|
visible: config.visible,
|
|
214
222
|
selectionID: config.selectionID,
|
|
223
|
+
cmsvalkey_set: sectionModel.cmsvalkey_set,
|
|
215
224
|
});
|
|
216
225
|
|
|
217
226
|
return section;
|
|
@@ -228,7 +237,7 @@ PresentationSection.createFromSection = function (sectionModel, options = {}) {
|
|
|
228
237
|
PresentationSection.createFromAdjunctSection = function (
|
|
229
238
|
adjunctSectionModel,
|
|
230
239
|
deckVersionModel,
|
|
231
|
-
options
|
|
240
|
+
options = {}
|
|
232
241
|
) {
|
|
233
242
|
_.defaults(options, {
|
|
234
243
|
rootAssetPath: null,
|
|
@@ -237,6 +246,7 @@ PresentationSection.createFromAdjunctSection = function (
|
|
|
237
246
|
getUniqueAdjunctID: () => {
|
|
238
247
|
return parseInt(_.uniqueId(), 10);
|
|
239
248
|
},
|
|
249
|
+
screenshots: new collections.DeckVersionScreenshotCollection(),
|
|
240
250
|
});
|
|
241
251
|
|
|
242
252
|
const keyID =
|
|
@@ -251,6 +261,7 @@ PresentationSection.createFromAdjunctSection = function (
|
|
|
251
261
|
key = adjunctSectionModel.key;
|
|
252
262
|
} else if (keyID) {
|
|
253
263
|
key = `adjunct-${keyID}`;
|
|
264
|
+
adjunctSectionModel.key = key;
|
|
254
265
|
}
|
|
255
266
|
|
|
256
267
|
const config = PresentationSection.getVisibilityAndSequence(
|
|
@@ -258,6 +269,8 @@ PresentationSection.createFromAdjunctSection = function (
|
|
|
258
269
|
options
|
|
259
270
|
);
|
|
260
271
|
|
|
272
|
+
const tags = PresentationSection.getTags(adjunctSectionModel, options);
|
|
273
|
+
|
|
261
274
|
const section = new PresentationSection({
|
|
262
275
|
id: options.getUniqueAdjunctID(),
|
|
263
276
|
adjunct: adjunctSectionModel.adjunct
|
|
@@ -272,10 +285,8 @@ PresentationSection.createFromAdjunctSection = function (
|
|
|
272
285
|
custom: !adjunctSectionModel.created_by_autoadjunct,
|
|
273
286
|
createdByAutoAdjunct: adjunctSectionModel.created_by_autoadjunct,
|
|
274
287
|
createdByTemplate: Boolean(adjunctSectionModel.template),
|
|
275
|
-
impostor:
|
|
276
|
-
|
|
277
|
-
adjunctSectionModel.tags.indexOf("section-header") > -1,
|
|
278
|
-
tags: adjunctSectionModel.tags,
|
|
288
|
+
impostor: tags.indexOf("section-header") > -1,
|
|
289
|
+
tags: tags,
|
|
279
290
|
temporary: adjunctSectionModel.created_by_autoadjunct,
|
|
280
291
|
title: adjunctSectionModel.title,
|
|
281
292
|
deckversion: deckVersionModel.id,
|
|
@@ -283,6 +294,7 @@ PresentationSection.createFromAdjunctSection = function (
|
|
|
283
294
|
index: config.sequence,
|
|
284
295
|
sequence: config.sequence,
|
|
285
296
|
visible: config.visible,
|
|
297
|
+
cmsvalkey_set: [],
|
|
286
298
|
});
|
|
287
299
|
|
|
288
300
|
if (adjunctSectionModel.template) {
|
|
@@ -307,7 +319,13 @@ PresentationSection.createFromAdjunctSection = function (
|
|
|
307
319
|
}
|
|
308
320
|
section.html = html;
|
|
309
321
|
section.css = css;
|
|
310
|
-
section.thumbnail =
|
|
322
|
+
section.thumbnail =
|
|
323
|
+
// Try and use autoadjunct screenshot (if there is one), otherwise
|
|
324
|
+
// use the template's image as a fallback
|
|
325
|
+
PresentationSection.getThumbnail(
|
|
326
|
+
adjunctSectionModel.creator_autoadjunct,
|
|
327
|
+
options.screenshots
|
|
328
|
+
) || adjunctSectionModel.template.image_256;
|
|
311
329
|
} else {
|
|
312
330
|
section.image = adjunctSectionModel.image_original;
|
|
313
331
|
}
|
|
@@ -318,12 +336,13 @@ PresentationSection.createFromAdjunctSection = function (
|
|
|
318
336
|
PresentationSection.createFromImpostorSection = function (
|
|
319
337
|
slideModel,
|
|
320
338
|
DeckVersionModel,
|
|
321
|
-
options
|
|
339
|
+
options = {}
|
|
322
340
|
) {
|
|
323
341
|
_.defaults(options, {
|
|
324
342
|
rootAssetPath: null,
|
|
325
343
|
selections: null,
|
|
326
344
|
choicelist: null,
|
|
345
|
+
screenshots: new collections.DeckVersionScreenshotCollection(),
|
|
327
346
|
});
|
|
328
347
|
|
|
329
348
|
let html;
|
|
@@ -358,17 +377,21 @@ PresentationSection.createFromImpostorSection = function (
|
|
|
358
377
|
css,
|
|
359
378
|
key: slideModel.key,
|
|
360
379
|
adjunctSlideLimit: slideModel.adjunctslide_limit,
|
|
361
|
-
thumbnail:
|
|
380
|
+
thumbnail: PresentationSection.getThumbnail(
|
|
381
|
+
slideModel,
|
|
382
|
+
options.screenshots
|
|
383
|
+
),
|
|
362
384
|
custom: false,
|
|
363
385
|
impostor: true,
|
|
364
386
|
title: slideModel.title,
|
|
365
387
|
deckversion: slideModel.section.deckversion.id,
|
|
366
|
-
editable:
|
|
388
|
+
editable: tags.indexOf("editable") > -1,
|
|
367
389
|
tags,
|
|
368
390
|
index: config.sequence,
|
|
369
391
|
sequence: config.sequence,
|
|
370
392
|
visible: config.visible,
|
|
371
393
|
selectionID: config.selectionID,
|
|
394
|
+
cmsvalkey_set: slideModel.cmsvalkey_set,
|
|
372
395
|
});
|
|
373
396
|
|
|
374
397
|
return section;
|
|
@@ -392,6 +415,7 @@ PresentationSection.createFromManifestJSON = function (
|
|
|
392
415
|
visible: true,
|
|
393
416
|
deckversion: 1,
|
|
394
417
|
tags: manifestJSON.tags[sectionKey] || null,
|
|
418
|
+
cmsvalkey_set: [],
|
|
395
419
|
});
|
|
396
420
|
|
|
397
421
|
const slideKeys = Object.keys(manifestJSON.titles).filter((slideKey) => {
|
|
@@ -439,7 +463,7 @@ PresentationSection.createFromManifestImpostor = function (section, index) {
|
|
|
439
463
|
return presentationSection;
|
|
440
464
|
};
|
|
441
465
|
|
|
442
|
-
PresentationSection.createFromAutoAdjunct = function (model, opts) {
|
|
466
|
+
PresentationSection.createFromAutoAdjunct = function (model, opts = {}) {
|
|
443
467
|
const requiredKeys = ["index", "deckversionID"];
|
|
444
468
|
for (const key of requiredKeys) {
|
|
445
469
|
if (typeof opts[key] === "undefined") {
|
|
@@ -454,8 +478,18 @@ PresentationSection.createFromAutoAdjunct = function (model, opts) {
|
|
|
454
478
|
deckversionID: -1,
|
|
455
479
|
sequence: opts.index,
|
|
456
480
|
impostor: false,
|
|
481
|
+
screenshots: new collections.DeckVersionScreenshotCollection(),
|
|
457
482
|
});
|
|
458
483
|
|
|
484
|
+
const tags = PresentationSection.getTags(
|
|
485
|
+
{
|
|
486
|
+
isAutoAdjunct: true,
|
|
487
|
+
key: model.key,
|
|
488
|
+
tags: model.tags,
|
|
489
|
+
},
|
|
490
|
+
options
|
|
491
|
+
);
|
|
492
|
+
|
|
459
493
|
const autoAdjunct = new AutoAdjunctModel(model);
|
|
460
494
|
|
|
461
495
|
const autoAdjunctSection = new PresentationSection({
|
|
@@ -470,17 +504,25 @@ PresentationSection.createFromAutoAdjunct = function (model, opts) {
|
|
|
470
504
|
index: options.index,
|
|
471
505
|
key: autoAdjunct.key,
|
|
472
506
|
createdByAutoAdjunct: false,
|
|
473
|
-
thumbnail:
|
|
507
|
+
thumbnail: PresentationSection.getThumbnail(
|
|
508
|
+
autoAdjunct,
|
|
509
|
+
options.screenshots
|
|
510
|
+
),
|
|
474
511
|
temporary: true,
|
|
475
512
|
title: autoAdjunct.name,
|
|
476
513
|
visible: options.visible,
|
|
477
514
|
allowConvert: options.allowConvert,
|
|
478
515
|
deckversion: options.deckversionID,
|
|
479
516
|
impostor: options.impostor,
|
|
517
|
+
tags,
|
|
518
|
+
cmsvalkey_set: autoAdjunct.cmsvalkey_set,
|
|
480
519
|
});
|
|
481
520
|
|
|
482
521
|
if (autoAdjunct.template) {
|
|
483
|
-
|
|
522
|
+
// If we've found a new screenshot for it, we don't want to override it here
|
|
523
|
+
if (!autoAdjunctSection.thumbnail) {
|
|
524
|
+
autoAdjunctSection.thumbnail = autoAdjunct.template.image_256;
|
|
525
|
+
}
|
|
484
526
|
autoAdjunctSection.createdByTemplate = true;
|
|
485
527
|
autoAdjunctSection.templateID = autoAdjunct.template.id;
|
|
486
528
|
autoAdjunctSection.html = autoAdjunct.template.index_asset.url();
|
|
@@ -514,6 +556,7 @@ PresentationSection.createFromTemplate = function (template, index, minID = 0) {
|
|
|
514
556
|
sequence: 9000 + templateModel.sequence,
|
|
515
557
|
createdByTemplate: true,
|
|
516
558
|
index,
|
|
559
|
+
cmsvalkey_set: [],
|
|
517
560
|
});
|
|
518
561
|
|
|
519
562
|
return presentationSection;
|