@livepreso/api 6.44.0 → 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/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 +170 -0
- package/.rush/temp/package-deps_test.json +38 -36
- package/.rush/temp/shrinkwrap-deps.json +231 -240
- package/CHANGELOG.json +17 -0
- package/CHANGELOG.md +8 -1
- package/api.build.log +4 -2
- package/bin/test.sh +0 -1
- package/cjs/auth.js +36 -10
- package/cjs/auth.js.map +1 -1
- package/cjs/auth.spec.js +12 -6
- package/cjs/auth.spec.js.map +1 -1
- package/cjs/collections/base.js +10 -2
- package/cjs/collections/base.js.map +1 -1
- package/cjs/collections/base.spec.js +22 -4
- 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.js +13 -0
- package/cjs/collections.js.map +1 -1
- package/cjs/models/activity-item.js +3 -1
- package/cjs/models/activity-item.js.map +1 -1
- package/cjs/models/appointment.js +11 -1
- 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-version-screenshot.js +59 -0
- package/cjs/models/deck-version-screenshot.js.map +1 -0
- package/cjs/models/deck-version.js +28 -5
- package/cjs/models/deck-version.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 +1 -1
- package/cjs/models/manifest-json.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/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 +2 -1
- package/cjs/models/user.js.map +1 -1
- package/cjs/models.js +26 -0
- package/cjs/models.js.map +1 -1
- package/cjs/presentation/appointment-presentation.js +7 -3
- package/cjs/presentation/appointment-presentation.js.map +1 -1
- package/cjs/presentation/base-presentation-model.js +111 -2
- package/cjs/presentation/base-presentation-model.js.map +1 -1
- package/cjs/presentation/base-presentation-model.spec.js +56 -0
- package/cjs/presentation/base-presentation-model.spec.js.map +1 -1
- package/cjs/presentation/presentation-deck.js +33 -6
- 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 +42 -16
- package/cjs/presentation/presentation-section.js.map +1 -1
- package/cjs/presentation/presentation-section.spec.js +121 -3
- package/cjs/presentation/presentation-section.spec.js.map +1 -1
- package/cjs/presentation/presentation-slide.js +30 -13
- package/cjs/presentation/presentation-slide.js.map +1 -1
- package/cjs/presentation/presentation-slide.spec.js +94 -2
- package/cjs/presentation/presentation-slide.spec.js.map +1 -1
- package/cjs/presentation/presentation.js +112 -8
- package/cjs/presentation/presentation.js.map +1 -1
- package/jest.config.js +1 -0
- package/package.json +4 -4
- package/src/auth.js +44 -8
- package/src/auth.spec.js +2 -0
- package/src/collections/base.js +10 -4
- package/src/collections/base.spec.js +17 -3
- package/src/collections/deck-version-screenshots.js +48 -0
- package/src/collections.js +1 -0
- package/src/models/activity-item.js +2 -0
- package/src/models/appointment.js +12 -0
- 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-version-screenshot.js +48 -0
- package/src/models/deck-version.js +30 -4
- package/src/models/feed-data.js +2 -0
- package/src/models/image.js +32 -0
- package/src/models/manifest-json.js +1 -1
- package/src/models/section.js +2 -0
- package/src/models/slide.js +2 -0
- package/src/models/template.js +2 -0
- package/src/models/token.js +47 -0
- package/src/models/user.js +2 -0
- package/src/models.js +2 -0
- package/src/presentation/appointment-presentation.js +10 -2
- package/src/presentation/base-presentation-model.js +77 -1
- package/src/presentation/base-presentation-model.spec.js +77 -0
- package/src/presentation/presentation-deck.js +40 -2
- package/src/presentation/presentation-deck.spec.js +53 -0
- package/src/presentation/presentation-section.js +37 -5
- package/src/presentation/presentation-section.spec.js +135 -2
- package/src/presentation/presentation-slide.js +25 -5
- package/src/presentation/presentation-slide.spec.js +104 -2
- package/src/presentation/presentation.js +24 -7
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
5
7
|
Object.defineProperty(exports, "__esModule", {
|
|
6
8
|
value: true
|
|
7
9
|
});
|
|
@@ -11,6 +13,8 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
11
13
|
|
|
12
14
|
require("./presentation-slides.js");
|
|
13
15
|
|
|
16
|
+
var collections = _interopRequireWildcard(require("../collections.js"));
|
|
17
|
+
|
|
14
18
|
var _models = require("../models.js");
|
|
15
19
|
|
|
16
20
|
var _basePresentationModel = require("./base-presentation-model.js");
|
|
@@ -25,6 +29,10 @@ var _stateRegister = require("../state-register.js");
|
|
|
25
29
|
|
|
26
30
|
var _url = _interopRequireDefault(require("url"));
|
|
27
31
|
|
|
32
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
33
|
+
|
|
34
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
35
|
+
|
|
28
36
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
29
37
|
|
|
30
38
|
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; }
|
|
@@ -63,6 +71,7 @@ var PresentationSection = _basePresentationModel.BasePresentationModel.extend(
|
|
|
63
71
|
* @property {array} tags
|
|
64
72
|
* @property {boolean} impostor
|
|
65
73
|
* @property {boolean} isWelcome
|
|
74
|
+
* @property {string[]} cmsvalkey_set
|
|
66
75
|
*/
|
|
67
76
|
props: {
|
|
68
77
|
id: "number",
|
|
@@ -109,7 +118,8 @@ var PresentationSection = _basePresentationModel.BasePresentationModel.extend(
|
|
|
109
118
|
default: function _default() {
|
|
110
119
|
return false;
|
|
111
120
|
}
|
|
112
|
-
}
|
|
121
|
+
},
|
|
122
|
+
cmsvalkey_set: "array"
|
|
113
123
|
},
|
|
114
124
|
|
|
115
125
|
/**
|
|
@@ -192,7 +202,8 @@ PresentationSection.createFromSection = function (sectionModel) {
|
|
|
192
202
|
_lodash.default.defaults(options, {
|
|
193
203
|
rootAssetPath: null,
|
|
194
204
|
selections: null,
|
|
195
|
-
choicelist: null
|
|
205
|
+
choicelist: null,
|
|
206
|
+
screenshots: new collections.DeckVersionScreenshotCollection()
|
|
196
207
|
});
|
|
197
208
|
|
|
198
209
|
var html;
|
|
@@ -218,7 +229,7 @@ PresentationSection.createFromSection = function (sectionModel) {
|
|
|
218
229
|
css: css,
|
|
219
230
|
key: sectionModel.key,
|
|
220
231
|
adjunctSlideLimit: sectionModel.adjunctslide_limit,
|
|
221
|
-
thumbnail: sectionModel.
|
|
232
|
+
thumbnail: PresentationSection.getThumbnail(sectionModel, options.screenshots),
|
|
222
233
|
custom: false,
|
|
223
234
|
impostor: false,
|
|
224
235
|
title: sectionModel.title,
|
|
@@ -228,7 +239,8 @@ PresentationSection.createFromSection = function (sectionModel) {
|
|
|
228
239
|
index: config.sequence,
|
|
229
240
|
sequence: config.sequence,
|
|
230
241
|
visible: config.visible,
|
|
231
|
-
selectionID: config.selectionID
|
|
242
|
+
selectionID: config.selectionID,
|
|
243
|
+
cmsvalkey_set: sectionModel.cmsvalkey_set
|
|
232
244
|
});
|
|
233
245
|
return section;
|
|
234
246
|
};
|
|
@@ -251,7 +263,8 @@ PresentationSection.createFromAdjunctSection = function (adjunctSectionModel, de
|
|
|
251
263
|
choicelist: null,
|
|
252
264
|
getUniqueAdjunctID: function getUniqueAdjunctID() {
|
|
253
265
|
return parseInt(_lodash.default.uniqueId(), 10);
|
|
254
|
-
}
|
|
266
|
+
},
|
|
267
|
+
screenshots: new collections.DeckVersionScreenshotCollection()
|
|
255
268
|
});
|
|
256
269
|
|
|
257
270
|
var keyID = adjunctSectionModel.id || (adjunctSectionModel.creator_autoadjunct ? adjunctSectionModel.creator_autoadjunct.id : null);
|
|
@@ -284,7 +297,8 @@ PresentationSection.createFromAdjunctSection = function (adjunctSectionModel, de
|
|
|
284
297
|
editable: false,
|
|
285
298
|
index: config.sequence,
|
|
286
299
|
sequence: config.sequence,
|
|
287
|
-
visible: config.visible
|
|
300
|
+
visible: config.visible,
|
|
301
|
+
cmsvalkey_set: []
|
|
288
302
|
});
|
|
289
303
|
|
|
290
304
|
if (adjunctSectionModel.template) {
|
|
@@ -307,7 +321,9 @@ PresentationSection.createFromAdjunctSection = function (adjunctSectionModel, de
|
|
|
307
321
|
|
|
308
322
|
section.html = html;
|
|
309
323
|
section.css = css;
|
|
310
|
-
section.thumbnail =
|
|
324
|
+
section.thumbnail = // Try and use autoadjunct screenshot (if there is one), otherwise
|
|
325
|
+
// use the template's image as a fallback
|
|
326
|
+
PresentationSection.getThumbnail(adjunctSectionModel.creator_autoadjunct, options.screenshots) || adjunctSectionModel.template.image_256;
|
|
311
327
|
} else {
|
|
312
328
|
section.image = adjunctSectionModel.image_original;
|
|
313
329
|
}
|
|
@@ -321,7 +337,8 @@ PresentationSection.createFromImpostorSection = function (slideModel, DeckVersio
|
|
|
321
337
|
_lodash.default.defaults(options, {
|
|
322
338
|
rootAssetPath: null,
|
|
323
339
|
selections: null,
|
|
324
|
-
choicelist: null
|
|
340
|
+
choicelist: null,
|
|
341
|
+
screenshots: new collections.DeckVersionScreenshotCollection()
|
|
325
342
|
});
|
|
326
343
|
|
|
327
344
|
var html;
|
|
@@ -347,7 +364,7 @@ PresentationSection.createFromImpostorSection = function (slideModel, DeckVersio
|
|
|
347
364
|
css: css,
|
|
348
365
|
key: slideModel.key,
|
|
349
366
|
adjunctSlideLimit: slideModel.adjunctslide_limit,
|
|
350
|
-
thumbnail: slideModel.
|
|
367
|
+
thumbnail: PresentationSection.getThumbnail(slideModel, options.screenshots),
|
|
351
368
|
custom: false,
|
|
352
369
|
impostor: true,
|
|
353
370
|
title: slideModel.title,
|
|
@@ -357,7 +374,8 @@ PresentationSection.createFromImpostorSection = function (slideModel, DeckVersio
|
|
|
357
374
|
index: config.sequence,
|
|
358
375
|
sequence: config.sequence,
|
|
359
376
|
visible: config.visible,
|
|
360
|
-
selectionID: config.selectionID
|
|
377
|
+
selectionID: config.selectionID,
|
|
378
|
+
cmsvalkey_set: slideModel.cmsvalkey_set
|
|
361
379
|
});
|
|
362
380
|
return section;
|
|
363
381
|
};
|
|
@@ -375,7 +393,8 @@ PresentationSection.createFromManifestJSON = function (manifestJSON, sectionKey,
|
|
|
375
393
|
custom: false,
|
|
376
394
|
visible: true,
|
|
377
395
|
deckversion: 1,
|
|
378
|
-
tags: manifestJSON.tags[sectionKey] || null
|
|
396
|
+
tags: manifestJSON.tags[sectionKey] || null,
|
|
397
|
+
cmsvalkey_set: []
|
|
379
398
|
});
|
|
380
399
|
var slideKeys = Object.keys(manifestJSON.titles).filter(function (slideKey) {
|
|
381
400
|
return slideKey.startsWith(sectionKey) && slideKey.split("/").length > 1;
|
|
@@ -421,7 +440,8 @@ PresentationSection.createFromAutoAdjunct = function (model) {
|
|
|
421
440
|
index: -1,
|
|
422
441
|
deckversionID: -1,
|
|
423
442
|
sequence: opts.index,
|
|
424
|
-
impostor: false
|
|
443
|
+
impostor: false,
|
|
444
|
+
screenshots: new collections.DeckVersionScreenshotCollection()
|
|
425
445
|
});
|
|
426
446
|
|
|
427
447
|
var tags = PresentationSection.getTags({
|
|
@@ -442,18 +462,23 @@ PresentationSection.createFromAutoAdjunct = function (model) {
|
|
|
442
462
|
index: options.index,
|
|
443
463
|
key: autoAdjunct.key,
|
|
444
464
|
createdByAutoAdjunct: false,
|
|
445
|
-
thumbnail: autoAdjunct.
|
|
465
|
+
thumbnail: PresentationSection.getThumbnail(autoAdjunct, options.screenshots),
|
|
446
466
|
temporary: true,
|
|
447
467
|
title: autoAdjunct.name,
|
|
448
468
|
visible: options.visible,
|
|
449
469
|
allowConvert: options.allowConvert,
|
|
450
470
|
deckversion: options.deckversionID,
|
|
451
471
|
impostor: options.impostor,
|
|
452
|
-
tags: tags
|
|
472
|
+
tags: tags,
|
|
473
|
+
cmsvalkey_set: autoAdjunct.cmsvalkey_set
|
|
453
474
|
});
|
|
454
475
|
|
|
455
476
|
if (autoAdjunct.template) {
|
|
456
|
-
|
|
477
|
+
// If we've found a new screenshot for it, we don't want to override it here
|
|
478
|
+
if (!autoAdjunctSection.thumbnail) {
|
|
479
|
+
autoAdjunctSection.thumbnail = autoAdjunct.template.image_256;
|
|
480
|
+
}
|
|
481
|
+
|
|
457
482
|
autoAdjunctSection.createdByTemplate = true;
|
|
458
483
|
autoAdjunctSection.templateID = autoAdjunct.template.id;
|
|
459
484
|
autoAdjunctSection.html = autoAdjunct.template.index_asset.url();
|
|
@@ -486,7 +511,8 @@ PresentationSection.createFromTemplate = function (template, index) {
|
|
|
486
511
|
// of a list of sections
|
|
487
512
|
sequence: 9000 + templateModel.sequence,
|
|
488
513
|
createdByTemplate: true,
|
|
489
|
-
index: index
|
|
514
|
+
index: index,
|
|
515
|
+
cmsvalkey_set: []
|
|
490
516
|
});
|
|
491
517
|
return presentationSection;
|
|
492
518
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/presentation/presentation-section.js"],"names":["PresentationSection","BasePresentationModel","extend","props","id","adjunctID","autoAdjunctID","type","default","templateID","createdByAutoAdjunct","createdByTemplate","adjunctSlideLimit","html","css","index","key","sequence","image","_orig_image","thumbnail","custom","temporary","title","visible","deckversion","selectionID","editable","tags","impostor","isWelcome","children","adjunct","collections","slides","addSlides","options","_","defaults","rootAssetPath","templates","choicelist","getUniqueAdjunctID","parseInt","uniqueId","Error","add","map","slide","modelName","PresentationSlide","createFromAdjunctSlide","createFromSlide","url","_url","isNumber","AdjunctSlideModel","AdjunctSectionModel","SlideModel","SectionModel","createFromSection","sectionModel","selections","assetRoot","index_asset","baseRoot","sectionPath","slice","length","config","getVisibilityAndSequence","getTags","section","adjunctslide_limit","image_256","indexOf","createFromAdjunctSection","adjunctSectionModel","deckVersionModel","keyID","creator_autoadjunct","created_by_autoadjunct","Boolean","template","origPath","orig_path","image_original","createFromImpostorSection","slideModel","DeckVersionModel","createFromManifestJSON","manifestJSON","sectionKey","titles","url2","resolve","getAssetPath","ordering","slideKeys","Object","keys","filter","slideKey","startsWith","split","slideIndex","createFromManifestImpostor","presentationSection","forEach","createFromAutoAdjunct","model","opts","requiredKeys","allowConvert","deckversionID","isAutoAdjunct","autoAdjunct","AutoAdjunctModel","autoAdjunctSection","name","createFromTemplate","minID","templateModel","TemplateModel","templateAssetRoot","Number"],"mappings":"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","sourcesContent":["import \"./presentation-slides.js\";\n\nimport {\n\tAdjunctSectionModel,\n\tAdjunctSlideModel,\n\tAutoAdjunctModel,\n\tDeckVersionModel,\n\tSectionModel,\n\tSlideModel,\n\tTemplateModel,\n} from \"../models.js\";\n\nimport { BasePresentationModel } from \"./base-presentation-model.js\";\nimport { PresentationSlide } from \"./presentation-slide.js\";\nimport _ from \"lodash\";\nimport { getAssetRoot } from \"../index.js\";\nimport { register } from \"../state-register.js\";\nimport url2 from \"url\";\n\n/**\n * @constructor\n * @alias presentation.PresentationSection\n * @extends presentation.BasePresentationModel\n */\nexport const PresentationSection = BasePresentationModel.extend(\n\t/** @lends presentation.PresentationSection# */ {\n\t\t/**\n\t\t * @property {number} id\n\t\t * @property {number} adjunctID\n\t\t * @property {number} autoAdjunctID\n\t\t * @property {number} templateID\n\t\t * @property {boolean} createdByAutoAdjunct\n\t\t * @property {boolean} createdByTemplate\n\t\t * @property {number} adjunctSlideLimit\n\t\t * @property {string} html\n\t\t * @property {string} css\n\t\t * @property {number} index\n\t\t * @property {string} key\n\t\t * @property {number} sequence\n\t\t * @property {string} image\n\t\t * @property {string} _orig_image\n\t\t * @property {string} thumbnail\n\t\t * @property {boolean} custom\n\t\t * @property {boolean} temporary\n\t\t * @property {string} title\n\t\t * @property {boolean} visible\n\t\t * @property {number} deckversion\n\t\t * @property {number} selectionID\n\t\t * @property {boolean} editable\n\t\t * @property {array} tags\n\t\t * @property {boolean} impostor\n\t\t * @property {boolean} isWelcome\n\t\t */\n\t\tprops: {\n\t\t\tid: \"number\",\n\t\t\tadjunctID: \"number\",\n\t\t\tautoAdjunctID: {\n\t\t\t\ttype: \"number\",\n\t\t\t\tdefault: null,\n\t\t\t},\n\t\t\ttemplateID: {\n\t\t\t\ttype: \"number\",\n\t\t\t\tdefault: null,\n\t\t\t},\n\t\t\tcreatedByAutoAdjunct: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: false,\n\t\t\t},\n\t\t\tcreatedByTemplate: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: false,\n\t\t\t},\n\t\t\tadjunctSlideLimit: {\n\t\t\t\ttype: \"number\",\n\t\t\t\tdefault: 0,\n\t\t\t},\n\t\t\thtml: \"string\",\n\t\t\tcss: \"string\",\n\t\t\tindex: \"number\",\n\t\t\tkey: \"string\",\n\t\t\tsequence: \"number\",\n\t\t\timage: \"string\",\n\t\t\t_orig_image: \"string\",\n\t\t\tthumbnail: \"string\",\n\t\t\tcustom: \"boolean\",\n\t\t\ttemporary: \"boolean\",\n\t\t\ttitle: \"string\",\n\t\t\tvisible: \"boolean\",\n\t\t\tdeckversion: \"number\",\n\t\t\tselectionID: \"number\",\n\t\t\teditable: \"boolean\",\n\t\t\ttags: \"array\",\n\t\t\timpostor: \"boolean\",\n\t\t\tisWelcome: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: () => false,\n\t\t\t},\n\t\t},\n\n\t\t/**\n\t\t * @property {models.AdjunctModel} adjunct\n\t\t */\n\t\tchildren: {\n\t\t\tadjunct: \"AdjunctModel\",\n\t\t},\n\n\t\t/**\n\t\t * @property {presentation.PresentationSlideCollection} slides\n\t\t */\n\t\tcollections: {\n\t\t\tslides: \"PresentationSlideCollection\",\n\t\t},\n\n\t\taddSlides(slides, options = {}) {\n\t\t\t_.defaults(options, {\n\t\t\t\trootAssetPath: null,\n\t\t\t\ttemplates: null,\n\t\t\t\tchoicelist: null,\n\t\t\t\tgetUniqueAdjunctID: () => {\n\t\t\t\t\treturn parseInt(_.uniqueId(), 10);\n\t\t\t\t},\n\t\t\t});\n\n\t\t\tif (this.createdByTemplate) {\n\t\t\t\tthrow new Error(\"Can not add slides to a template\");\n\t\t\t}\n\n\t\t\tthis.slides.add(\n\t\t\t\tslides.map((slide) => {\n\t\t\t\t\tif (slide.modelName === \"adjunctslides\") {\n\t\t\t\t\t\treturn PresentationSlide.createFromAdjunctSlide(\n\t\t\t\t\t\t\tslide,\n\t\t\t\t\t\t\tthis,\n\t\t\t\t\t\t\toptions\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn PresentationSlide.createFromSlide(slide, options);\n\t\t\t\t})\n\t\t\t);\n\t\t},\n\n\t\turl() {\n\t\t\tif (!this._url) {\n\t\t\t\tif (_.isNumber(this.adjunctID) && this.impostor) {\n\t\t\t\t\tthis._url = new AdjunctSlideModel({ id: this.adjunctID }).url();\n\t\t\t\t} else if (_.isNumber(this.adjunctID)) {\n\t\t\t\t\tthis._url = new AdjunctSectionModel({ id: this.adjunctID }).url();\n\t\t\t\t} else if (this.impostor) {\n\t\t\t\t\tthis._url = new SlideModel({ id: this.id }).url();\n\t\t\t\t} else {\n\t\t\t\t\tthis._url = new SectionModel({ id: this.id }).url();\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn this._url;\n\t\t},\n\t}\n);\n\n/**\n * @function createFromSection\n * @memberof presentation.PresentationSection\n * @param {models.SectionModel} sectionModel\n * @param {object} [options]\n * @returns {presentation.PresentationSection}\n */\nPresentationSection.createFromSection = function (sectionModel, options = {}) {\n\t_.defaults(options, {\n\t\trootAssetPath: null,\n\t\tselections: null,\n\t\tchoicelist: null,\n\t});\n\n\tlet html;\n\tlet css;\n\n\tconst assetRoot = getAssetRoot(sectionModel.index_asset.url());\n\n\tif (options.rootAssetPath) {\n\t\tconst baseRoot = getAssetRoot(sectionModel.deckversion.index_asset.url());\n\t\tconst sectionPath = assetRoot.slice(baseRoot.length);\n\n\t\thtml = `${options.rootAssetPath}${sectionPath}index.html`;\n\t\tcss = `${options.rootAssetPath}${sectionPath}slide.css`;\n\t} else {\n\t\thtml = `${assetRoot}index.html`;\n\t\tcss = `${assetRoot}slide.css`;\n\t}\n\n\tconst config = PresentationSection.getVisibilityAndSequence(\n\t\tsectionModel,\n\t\toptions\n\t);\n\n\tconst tags = PresentationSection.getTags(sectionModel, options);\n\n\tconst section = new PresentationSection({\n\t\tid: sectionModel.id,\n\t\tadjunctID: null,\n\t\thtml,\n\t\tcss,\n\t\tkey: sectionModel.key,\n\t\tadjunctSlideLimit: sectionModel.adjunctslide_limit,\n\t\tthumbnail: sectionModel.image_256,\n\t\tcustom: false,\n\t\timpostor: false,\n\t\ttitle: sectionModel.title,\n\t\tdeckversion: sectionModel.deckversion.id,\n\t\teditable: tags.indexOf(\"editable\") > -1,\n\t\ttags,\n\t\tindex: config.sequence,\n\t\tsequence: config.sequence,\n\t\tvisible: config.visible,\n\t\tselectionID: config.selectionID,\n\t});\n\n\treturn section;\n};\n\n/**\n * @function createFromAdjunctSection\n * @memberof presentation.PresentationSection\n * @param {models.AdjunctSectionModel} adjunctSectionModel\n * @param {models.DeckVersionMOdel} deckVersionModel\n * @param {object} [options]\n * @returns {presentation.PresentationSection}\n */\nPresentationSection.createFromAdjunctSection = function (\n\tadjunctSectionModel,\n\tdeckVersionModel,\n\toptions = {}\n) {\n\t_.defaults(options, {\n\t\trootAssetPath: null,\n\t\tselections: null,\n\t\tchoicelist: null,\n\t\tgetUniqueAdjunctID: () => {\n\t\t\treturn parseInt(_.uniqueId(), 10);\n\t\t},\n\t});\n\n\tconst keyID =\n\t\tadjunctSectionModel.id ||\n\t\t(adjunctSectionModel.creator_autoadjunct\n\t\t\t? adjunctSectionModel.creator_autoadjunct.id\n\t\t\t: null);\n\n\tlet key = null;\n\n\tif (adjunctSectionModel.key) {\n\t\tkey = adjunctSectionModel.key;\n\t} else if (keyID) {\n\t\tkey = `adjunct-${keyID}`;\n\t\tadjunctSectionModel.key = key;\n\t}\n\n\tconst config = PresentationSection.getVisibilityAndSequence(\n\t\tadjunctSectionModel,\n\t\toptions\n\t);\n\n\tconst tags = PresentationSection.getTags(adjunctSectionModel, options);\n\n\tconst section = new PresentationSection({\n\t\tid: options.getUniqueAdjunctID(),\n\t\tadjunct: adjunctSectionModel.adjunct\n\t\t\t? adjunctSectionModel.adjunct.url()\n\t\t\t: null,\n\t\tadjunctID: adjunctSectionModel.id,\n\t\tautoAdjunctID: adjunctSectionModel.creator_autoadjunct\n\t\t\t? adjunctSectionModel.creator_autoadjunct.id\n\t\t\t: null,\n\t\tkey,\n\t\tthumbnail: adjunctSectionModel.image_256,\n\t\tcustom: !adjunctSectionModel.created_by_autoadjunct,\n\t\tcreatedByAutoAdjunct: adjunctSectionModel.created_by_autoadjunct,\n\t\tcreatedByTemplate: Boolean(adjunctSectionModel.template),\n\t\timpostor: tags.indexOf(\"section-header\") > -1,\n\t\ttags: tags,\n\t\ttemporary: adjunctSectionModel.created_by_autoadjunct,\n\t\ttitle: adjunctSectionModel.title,\n\t\tdeckversion: deckVersionModel.id,\n\t\teditable: false,\n\t\tindex: config.sequence,\n\t\tsequence: config.sequence,\n\t\tvisible: config.visible,\n\t});\n\n\tif (adjunctSectionModel.template) {\n\t\tif (!adjunctSectionModel.template.index_asset) {\n\t\t\tthrow new Error(\n\t\t\t\t\"Template missing index_asset. Do you have the whole template available?\"\n\t\t\t);\n\t\t}\n\t\tconst origPath = adjunctSectionModel.template.index_asset.orig_path;\n\t\tlet html;\n\t\tlet css;\n\n\t\tif (options.rootAssetPath) {\n\t\t\thtml = `${options.rootAssetPath}${origPath}/index.html`;\n\t\t\tcss = `${options.rootAssetPath}${origPath}/slide.css`;\n\t\t} else {\n\t\t\tconst assetRoot = getAssetRoot(\n\t\t\t\tadjunctSectionModel.template.index_asset.url()\n\t\t\t);\n\t\t\thtml = `${assetRoot}index.html`;\n\t\t\tcss = `${assetRoot}slide.css`;\n\t\t}\n\t\tsection.html = html;\n\t\tsection.css = css;\n\t\tsection.thumbnail = adjunctSectionModel.template.image_256;\n\t} else {\n\t\tsection.image = adjunctSectionModel.image_original;\n\t}\n\n\treturn section;\n};\n\nPresentationSection.createFromImpostorSection = function (\n\tslideModel,\n\tDeckVersionModel,\n\toptions = {}\n) {\n\t_.defaults(options, {\n\t\trootAssetPath: null,\n\t\tselections: null,\n\t\tchoicelist: null,\n\t});\n\n\tlet html;\n\tlet css;\n\n\tconst assetRoot = getAssetRoot(slideModel.index_asset.url());\n\n\tif (options.rootAssetPath) {\n\t\tconst baseRoot = getAssetRoot(\n\t\t\tslideModel.section.deckversion.index_asset.url()\n\t\t);\n\t\tconst sectionPath = assetRoot.slice(baseRoot.length);\n\n\t\thtml = `${options.rootAssetPath}${sectionPath}index.html`;\n\t\tcss = `${options.rootAssetPath}${sectionPath}slide.css`;\n\t} else {\n\t\thtml = `${assetRoot}index.html`;\n\t\tcss = `${assetRoot}slide.css`;\n\t}\n\n\tconst config = PresentationSection.getVisibilityAndSequence(\n\t\tslideModel,\n\t\toptions\n\t);\n\n\tconst tags = PresentationSection.getTags(slideModel, options);\n\n\tconst section = new PresentationSection({\n\t\tid: slideModel.id,\n\t\tadjunctID: null,\n\t\thtml,\n\t\tcss,\n\t\tkey: slideModel.key,\n\t\tadjunctSlideLimit: slideModel.adjunctslide_limit,\n\t\tthumbnail: slideModel.image_256,\n\t\tcustom: false,\n\t\timpostor: true,\n\t\ttitle: slideModel.title,\n\t\tdeckversion: slideModel.section.deckversion.id,\n\t\teditable: tags.indexOf(\"editable\") > -1,\n\t\ttags,\n\t\tindex: config.sequence,\n\t\tsequence: config.sequence,\n\t\tvisible: config.visible,\n\t\tselectionID: config.selectionID,\n\t});\n\n\treturn section;\n};\n\nPresentationSection.createFromManifestJSON = function (\n\tmanifestJSON,\n\tsectionKey,\n\tindex\n) {\n\tconst section = new PresentationSection({\n\t\tid: parseInt(_.uniqueId(), 10),\n\t\tindex,\n\t\ttitle: manifestJSON.titles[sectionKey],\n\t\thtml: url2.resolve(manifestJSON.getAssetPath(sectionKey), \"index.html\"),\n\t\tcss: url2.resolve(manifestJSON.getAssetPath(sectionKey), \"slide.css\"),\n\t\tkey: sectionKey,\n\t\tsequence: manifestJSON.ordering[sectionKey] - 1,\n\t\tthumbnail: null,\n\t\tcustom: false,\n\t\tvisible: true,\n\t\tdeckversion: 1,\n\t\ttags: manifestJSON.tags[sectionKey] || null,\n\t});\n\n\tconst slideKeys = Object.keys(manifestJSON.titles).filter((slideKey) => {\n\t\treturn slideKey.startsWith(sectionKey) && slideKey.split(\"/\").length > 1;\n\t});\n\n\tsection.slides.add(\n\t\tslideKeys.map((key, slideIndex) => {\n\t\t\treturn PresentationSlide.createFromManifestJSON(\n\t\t\t\tmanifestJSON,\n\t\t\t\tkey,\n\t\t\t\tsection.id,\n\t\t\t\tslideIndex\n\t\t\t);\n\t\t})\n\t);\n\n\treturn section;\n};\n\nPresentationSection.createFromManifestImpostor = function (section, index) {\n\tconst slides = section.slides || [];\n\tsection.slides = null;\n\n\tconst presentationSection = new PresentationSection({\n\t\tid: parseInt(_.uniqueId(), 10),\n\t\tthumbnail: null,\n\t\tcustom: false,\n\t\tvisible: true,\n\t\tdeckversion: 1,\n\t\tindex,\n\t\t...section,\n\t});\n\n\tslides.forEach((slide, index) => {\n\t\tpresentationSection.slides.add(\n\t\t\tPresentationSlide.createFromManifestImpostor(\n\t\t\t\tslide,\n\t\t\t\tindex,\n\t\t\t\tpresentationSection.id\n\t\t\t)\n\t\t);\n\t});\n\n\treturn presentationSection;\n};\n\nPresentationSection.createFromAutoAdjunct = function (model, opts = {}) {\n\tconst requiredKeys = [\"index\", \"deckversionID\"];\n\tfor (const key of requiredKeys) {\n\t\tif (typeof opts[key] === \"undefined\") {\n\t\t\tthrow new Error(`Missing required key '${key}'.`);\n\t\t}\n\t}\n\n\tconst options = _.defaults(opts, {\n\t\tallowConvert: true,\n\t\tvisible: true,\n\t\tindex: -1,\n\t\tdeckversionID: -1,\n\t\tsequence: opts.index,\n\t\timpostor: false,\n\t});\n\n\tconst tags = PresentationSection.getTags(\n\t\t{\n\t\t\tisAutoAdjunct: true,\n\t\t\tkey: model.key,\n\t\t\ttags: model.tags,\n\t\t},\n\t\toptions\n\t);\n\n\tconst autoAdjunct = new AutoAdjunctModel(model);\n\n\tconst autoAdjunctSection = new PresentationSection({\n\t\tid: options.id || autoAdjunct.id,\n\t\tadjunctID: autoAdjunct.id,\n\t\tautoAdjunctID: autoAdjunct.id,\n\t\tcreatedByTemplate: autoAdjunct.template !== null,\n\t\ttemplateID: autoAdjunct.template ? autoAdjunct.template.id : null,\n\t\thtml: \"\",\n\t\tcss: \"\",\n\t\tsequence: options.sequence,\n\t\tindex: options.index,\n\t\tkey: autoAdjunct.key,\n\t\tcreatedByAutoAdjunct: false,\n\t\tthumbnail: autoAdjunct.image_256,\n\t\ttemporary: true,\n\t\ttitle: autoAdjunct.name,\n\t\tvisible: options.visible,\n\t\tallowConvert: options.allowConvert,\n\t\tdeckversion: options.deckversionID,\n\t\timpostor: options.impostor,\n\t\ttags,\n\t});\n\n\tif (autoAdjunct.template) {\n\t\tautoAdjunctSection.thumbnail = autoAdjunct.template.image_256;\n\t\tautoAdjunctSection.createdByTemplate = true;\n\t\tautoAdjunctSection.templateID = autoAdjunct.template.id;\n\t\tautoAdjunctSection.html = autoAdjunct.template.index_asset.url();\n\t} else {\n\t\tautoAdjunctSection.image = autoAdjunct.image_original;\n\t}\n\n\treturn autoAdjunctSection;\n};\n\nPresentationSection.createFromTemplate = function (template, index, minID = 0) {\n\tconst templateModel = new TemplateModel(template);\n\n\tconst deckversion = new DeckVersionModel(templateModel.deckversion);\n\tconst templateAssetRoot = getAssetRoot(templateModel.index_asset.url());\n\tconst presentationSection = new PresentationSection({\n\t\tid: minID + parseInt(_.uniqueId(), 10),\n\t\ttemplateID: templateModel.id,\n\t\tkey: `template-${templateModel.key}`,\n\t\ttitle: templateModel.title,\n\t\thtml: `${templateAssetRoot}index.html`,\n\t\tcss: `${templateAssetRoot}slide.css`,\n\t\tcustom: false,\n\t\tvisible: true,\n\t\tthumbnail: templateModel.image_256,\n\t\t// Makes sure templates are rendered with unique IDs\n\t\tautoAdjunctID: Number(_.uniqueId()),\n\t\tdeckversion: deckversion.id,\n\t\t// Add a large number here to make sure it's always at the end\n\t\t// of a list of sections\n\t\tsequence: 9000 + templateModel.sequence,\n\t\tcreatedByTemplate: true,\n\t\tindex,\n\t});\n\n\treturn presentationSection;\n};\n\nregister(\"PresentationSection\", PresentationSection);\n"],"file":"presentation-section.js"}
|
|
1
|
+
{"version":3,"sources":["../../src/presentation/presentation-section.js"],"names":["PresentationSection","BasePresentationModel","extend","props","id","adjunctID","autoAdjunctID","type","default","templateID","createdByAutoAdjunct","createdByTemplate","adjunctSlideLimit","html","css","index","key","sequence","image","_orig_image","thumbnail","custom","temporary","title","visible","deckversion","selectionID","editable","tags","impostor","isWelcome","cmsvalkey_set","children","adjunct","collections","slides","addSlides","options","_","defaults","rootAssetPath","templates","choicelist","getUniqueAdjunctID","parseInt","uniqueId","Error","add","map","slide","modelName","PresentationSlide","createFromAdjunctSlide","createFromSlide","url","_url","isNumber","AdjunctSlideModel","AdjunctSectionModel","SlideModel","SectionModel","createFromSection","sectionModel","selections","screenshots","DeckVersionScreenshotCollection","assetRoot","index_asset","baseRoot","sectionPath","slice","length","config","getVisibilityAndSequence","getTags","section","adjunctslide_limit","getThumbnail","indexOf","createFromAdjunctSection","adjunctSectionModel","deckVersionModel","keyID","creator_autoadjunct","image_256","created_by_autoadjunct","Boolean","template","origPath","orig_path","image_original","createFromImpostorSection","slideModel","DeckVersionModel","createFromManifestJSON","manifestJSON","sectionKey","titles","url2","resolve","getAssetPath","ordering","slideKeys","Object","keys","filter","slideKey","startsWith","split","slideIndex","createFromManifestImpostor","presentationSection","forEach","createFromAutoAdjunct","model","opts","requiredKeys","allowConvert","deckversionID","isAutoAdjunct","autoAdjunct","AutoAdjunctModel","autoAdjunctSection","name","createFromTemplate","minID","templateModel","TemplateModel","templateAssetRoot","Number"],"mappings":"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","sourcesContent":["import \"./presentation-slides.js\";\n\nimport * as collections from \"../collections.js\";\n\nimport {\n\tAdjunctSectionModel,\n\tAdjunctSlideModel,\n\tAutoAdjunctModel,\n\tDeckVersionModel,\n\tSectionModel,\n\tSlideModel,\n\tTemplateModel,\n} from \"../models.js\";\n\nimport { BasePresentationModel } from \"./base-presentation-model.js\";\nimport { PresentationSlide } from \"./presentation-slide.js\";\nimport _ from \"lodash\";\nimport { getAssetRoot } from \"../index.js\";\nimport { register } from \"../state-register.js\";\nimport url2 from \"url\";\n\n/**\n * @constructor\n * @alias presentation.PresentationSection\n * @extends presentation.BasePresentationModel\n */\nexport const PresentationSection = BasePresentationModel.extend(\n\t/** @lends presentation.PresentationSection# */ {\n\t\t/**\n\t\t * @property {number} id\n\t\t * @property {number} adjunctID\n\t\t * @property {number} autoAdjunctID\n\t\t * @property {number} templateID\n\t\t * @property {boolean} createdByAutoAdjunct\n\t\t * @property {boolean} createdByTemplate\n\t\t * @property {number} adjunctSlideLimit\n\t\t * @property {string} html\n\t\t * @property {string} css\n\t\t * @property {number} index\n\t\t * @property {string} key\n\t\t * @property {number} sequence\n\t\t * @property {string} image\n\t\t * @property {string} _orig_image\n\t\t * @property {string} thumbnail\n\t\t * @property {boolean} custom\n\t\t * @property {boolean} temporary\n\t\t * @property {string} title\n\t\t * @property {boolean} visible\n\t\t * @property {number} deckversion\n\t\t * @property {number} selectionID\n\t\t * @property {boolean} editable\n\t\t * @property {array} tags\n\t\t * @property {boolean} impostor\n\t\t * @property {boolean} isWelcome\n\t\t * @property {string[]} cmsvalkey_set\n\t\t */\n\t\tprops: {\n\t\t\tid: \"number\",\n\t\t\tadjunctID: \"number\",\n\t\t\tautoAdjunctID: {\n\t\t\t\ttype: \"number\",\n\t\t\t\tdefault: null,\n\t\t\t},\n\t\t\ttemplateID: {\n\t\t\t\ttype: \"number\",\n\t\t\t\tdefault: null,\n\t\t\t},\n\t\t\tcreatedByAutoAdjunct: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: false,\n\t\t\t},\n\t\t\tcreatedByTemplate: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: false,\n\t\t\t},\n\t\t\tadjunctSlideLimit: {\n\t\t\t\ttype: \"number\",\n\t\t\t\tdefault: 0,\n\t\t\t},\n\t\t\thtml: \"string\",\n\t\t\tcss: \"string\",\n\t\t\tindex: \"number\",\n\t\t\tkey: \"string\",\n\t\t\tsequence: \"number\",\n\t\t\timage: \"string\",\n\t\t\t_orig_image: \"string\",\n\t\t\tthumbnail: \"string\",\n\t\t\tcustom: \"boolean\",\n\t\t\ttemporary: \"boolean\",\n\t\t\ttitle: \"string\",\n\t\t\tvisible: \"boolean\",\n\t\t\tdeckversion: \"number\",\n\t\t\tselectionID: \"number\",\n\t\t\teditable: \"boolean\",\n\t\t\ttags: \"array\",\n\t\t\timpostor: \"boolean\",\n\t\t\tisWelcome: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: () => false,\n\t\t\t},\n\t\t\tcmsvalkey_set: \"array\",\n\t\t},\n\n\t\t/**\n\t\t * @property {models.AdjunctModel} adjunct\n\t\t */\n\t\tchildren: {\n\t\t\tadjunct: \"AdjunctModel\",\n\t\t},\n\n\t\t/**\n\t\t * @property {presentation.PresentationSlideCollection} slides\n\t\t */\n\t\tcollections: {\n\t\t\tslides: \"PresentationSlideCollection\",\n\t\t},\n\n\t\taddSlides(slides, options = {}) {\n\t\t\t_.defaults(options, {\n\t\t\t\trootAssetPath: null,\n\t\t\t\ttemplates: null,\n\t\t\t\tchoicelist: null,\n\t\t\t\tgetUniqueAdjunctID: () => {\n\t\t\t\t\treturn parseInt(_.uniqueId(), 10);\n\t\t\t\t},\n\t\t\t});\n\n\t\t\tif (this.createdByTemplate) {\n\t\t\t\tthrow new Error(\"Can not add slides to a template\");\n\t\t\t}\n\n\t\t\tthis.slides.add(\n\t\t\t\tslides.map((slide) => {\n\t\t\t\t\tif (slide.modelName === \"adjunctslides\") {\n\t\t\t\t\t\treturn PresentationSlide.createFromAdjunctSlide(\n\t\t\t\t\t\t\tslide,\n\t\t\t\t\t\t\tthis,\n\t\t\t\t\t\t\toptions\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn PresentationSlide.createFromSlide(slide, options);\n\t\t\t\t})\n\t\t\t);\n\t\t},\n\n\t\turl() {\n\t\t\tif (!this._url) {\n\t\t\t\tif (_.isNumber(this.adjunctID) && this.impostor) {\n\t\t\t\t\tthis._url = new AdjunctSlideModel({ id: this.adjunctID }).url();\n\t\t\t\t} else if (_.isNumber(this.adjunctID)) {\n\t\t\t\t\tthis._url = new AdjunctSectionModel({ id: this.adjunctID }).url();\n\t\t\t\t} else if (this.impostor) {\n\t\t\t\t\tthis._url = new SlideModel({ id: this.id }).url();\n\t\t\t\t} else {\n\t\t\t\t\tthis._url = new SectionModel({ id: this.id }).url();\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn this._url;\n\t\t},\n\t}\n);\n\n/**\n * @function createFromSection\n * @memberof presentation.PresentationSection\n * @param {models.SectionModel} sectionModel\n * @param {object} [options]\n * @returns {presentation.PresentationSection}\n */\nPresentationSection.createFromSection = function (sectionModel, options = {}) {\n\t_.defaults(options, {\n\t\trootAssetPath: null,\n\t\tselections: null,\n\t\tchoicelist: null,\n\t\tscreenshots: new collections.DeckVersionScreenshotCollection(),\n\t});\n\n\tlet html;\n\tlet css;\n\n\tconst assetRoot = getAssetRoot(sectionModel.index_asset.url());\n\n\tif (options.rootAssetPath) {\n\t\tconst baseRoot = getAssetRoot(sectionModel.deckversion.index_asset.url());\n\t\tconst sectionPath = assetRoot.slice(baseRoot.length);\n\n\t\thtml = `${options.rootAssetPath}${sectionPath}index.html`;\n\t\tcss = `${options.rootAssetPath}${sectionPath}slide.css`;\n\t} else {\n\t\thtml = `${assetRoot}index.html`;\n\t\tcss = `${assetRoot}slide.css`;\n\t}\n\n\tconst config = PresentationSection.getVisibilityAndSequence(\n\t\tsectionModel,\n\t\toptions\n\t);\n\n\tconst tags = PresentationSection.getTags(sectionModel, options);\n\n\tconst section = new PresentationSection({\n\t\tid: sectionModel.id,\n\t\tadjunctID: null,\n\t\thtml,\n\t\tcss,\n\t\tkey: sectionModel.key,\n\t\tadjunctSlideLimit: sectionModel.adjunctslide_limit,\n\t\tthumbnail: PresentationSection.getThumbnail(\n\t\t\tsectionModel,\n\t\t\toptions.screenshots\n\t\t),\n\t\tcustom: false,\n\t\timpostor: false,\n\t\ttitle: sectionModel.title,\n\t\tdeckversion: sectionModel.deckversion.id,\n\t\teditable: tags.indexOf(\"editable\") > -1,\n\t\ttags,\n\t\tindex: config.sequence,\n\t\tsequence: config.sequence,\n\t\tvisible: config.visible,\n\t\tselectionID: config.selectionID,\n\t\tcmsvalkey_set: sectionModel.cmsvalkey_set,\n\t});\n\n\treturn section;\n};\n\n/**\n * @function createFromAdjunctSection\n * @memberof presentation.PresentationSection\n * @param {models.AdjunctSectionModel} adjunctSectionModel\n * @param {models.DeckVersionMOdel} deckVersionModel\n * @param {object} [options]\n * @returns {presentation.PresentationSection}\n */\nPresentationSection.createFromAdjunctSection = function (\n\tadjunctSectionModel,\n\tdeckVersionModel,\n\toptions = {}\n) {\n\t_.defaults(options, {\n\t\trootAssetPath: null,\n\t\tselections: null,\n\t\tchoicelist: null,\n\t\tgetUniqueAdjunctID: () => {\n\t\t\treturn parseInt(_.uniqueId(), 10);\n\t\t},\n\t\tscreenshots: new collections.DeckVersionScreenshotCollection(),\n\t});\n\n\tconst keyID =\n\t\tadjunctSectionModel.id ||\n\t\t(adjunctSectionModel.creator_autoadjunct\n\t\t\t? adjunctSectionModel.creator_autoadjunct.id\n\t\t\t: null);\n\n\tlet key = null;\n\n\tif (adjunctSectionModel.key) {\n\t\tkey = adjunctSectionModel.key;\n\t} else if (keyID) {\n\t\tkey = `adjunct-${keyID}`;\n\t\tadjunctSectionModel.key = key;\n\t}\n\n\tconst config = PresentationSection.getVisibilityAndSequence(\n\t\tadjunctSectionModel,\n\t\toptions\n\t);\n\n\tconst tags = PresentationSection.getTags(adjunctSectionModel, options);\n\n\tconst section = new PresentationSection({\n\t\tid: options.getUniqueAdjunctID(),\n\t\tadjunct: adjunctSectionModel.adjunct\n\t\t\t? adjunctSectionModel.adjunct.url()\n\t\t\t: null,\n\t\tadjunctID: adjunctSectionModel.id,\n\t\tautoAdjunctID: adjunctSectionModel.creator_autoadjunct\n\t\t\t? adjunctSectionModel.creator_autoadjunct.id\n\t\t\t: null,\n\t\tkey,\n\t\tthumbnail: adjunctSectionModel.image_256,\n\t\tcustom: !adjunctSectionModel.created_by_autoadjunct,\n\t\tcreatedByAutoAdjunct: adjunctSectionModel.created_by_autoadjunct,\n\t\tcreatedByTemplate: Boolean(adjunctSectionModel.template),\n\t\timpostor: tags.indexOf(\"section-header\") > -1,\n\t\ttags: tags,\n\t\ttemporary: adjunctSectionModel.created_by_autoadjunct,\n\t\ttitle: adjunctSectionModel.title,\n\t\tdeckversion: deckVersionModel.id,\n\t\teditable: false,\n\t\tindex: config.sequence,\n\t\tsequence: config.sequence,\n\t\tvisible: config.visible,\n\t\tcmsvalkey_set: [],\n\t});\n\n\tif (adjunctSectionModel.template) {\n\t\tif (!adjunctSectionModel.template.index_asset) {\n\t\t\tthrow new Error(\n\t\t\t\t\"Template missing index_asset. Do you have the whole template available?\"\n\t\t\t);\n\t\t}\n\t\tconst origPath = adjunctSectionModel.template.index_asset.orig_path;\n\t\tlet html;\n\t\tlet css;\n\n\t\tif (options.rootAssetPath) {\n\t\t\thtml = `${options.rootAssetPath}${origPath}/index.html`;\n\t\t\tcss = `${options.rootAssetPath}${origPath}/slide.css`;\n\t\t} else {\n\t\t\tconst assetRoot = getAssetRoot(\n\t\t\t\tadjunctSectionModel.template.index_asset.url()\n\t\t\t);\n\t\t\thtml = `${assetRoot}index.html`;\n\t\t\tcss = `${assetRoot}slide.css`;\n\t\t}\n\t\tsection.html = html;\n\t\tsection.css = css;\n\t\tsection.thumbnail =\n\t\t\t// Try and use autoadjunct screenshot (if there is one), otherwise\n\t\t\t// use the template's image as a fallback\n\t\t\tPresentationSection.getThumbnail(\n\t\t\t\tadjunctSectionModel.creator_autoadjunct,\n\t\t\t\toptions.screenshots\n\t\t\t) || adjunctSectionModel.template.image_256;\n\t} else {\n\t\tsection.image = adjunctSectionModel.image_original;\n\t}\n\n\treturn section;\n};\n\nPresentationSection.createFromImpostorSection = function (\n\tslideModel,\n\tDeckVersionModel,\n\toptions = {}\n) {\n\t_.defaults(options, {\n\t\trootAssetPath: null,\n\t\tselections: null,\n\t\tchoicelist: null,\n\t\tscreenshots: new collections.DeckVersionScreenshotCollection(),\n\t});\n\n\tlet html;\n\tlet css;\n\n\tconst assetRoot = getAssetRoot(slideModel.index_asset.url());\n\n\tif (options.rootAssetPath) {\n\t\tconst baseRoot = getAssetRoot(\n\t\t\tslideModel.section.deckversion.index_asset.url()\n\t\t);\n\t\tconst sectionPath = assetRoot.slice(baseRoot.length);\n\n\t\thtml = `${options.rootAssetPath}${sectionPath}index.html`;\n\t\tcss = `${options.rootAssetPath}${sectionPath}slide.css`;\n\t} else {\n\t\thtml = `${assetRoot}index.html`;\n\t\tcss = `${assetRoot}slide.css`;\n\t}\n\n\tconst config = PresentationSection.getVisibilityAndSequence(\n\t\tslideModel,\n\t\toptions\n\t);\n\n\tconst tags = PresentationSection.getTags(slideModel, options);\n\n\tconst section = new PresentationSection({\n\t\tid: slideModel.id,\n\t\tadjunctID: null,\n\t\thtml,\n\t\tcss,\n\t\tkey: slideModel.key,\n\t\tadjunctSlideLimit: slideModel.adjunctslide_limit,\n\t\tthumbnail: PresentationSection.getThumbnail(\n\t\t\tslideModel,\n\t\t\toptions.screenshots\n\t\t),\n\t\tcustom: false,\n\t\timpostor: true,\n\t\ttitle: slideModel.title,\n\t\tdeckversion: slideModel.section.deckversion.id,\n\t\teditable: tags.indexOf(\"editable\") > -1,\n\t\ttags,\n\t\tindex: config.sequence,\n\t\tsequence: config.sequence,\n\t\tvisible: config.visible,\n\t\tselectionID: config.selectionID,\n\t\tcmsvalkey_set: slideModel.cmsvalkey_set,\n\t});\n\n\treturn section;\n};\n\nPresentationSection.createFromManifestJSON = function (\n\tmanifestJSON,\n\tsectionKey,\n\tindex\n) {\n\tconst section = new PresentationSection({\n\t\tid: parseInt(_.uniqueId(), 10),\n\t\tindex,\n\t\ttitle: manifestJSON.titles[sectionKey],\n\t\thtml: url2.resolve(manifestJSON.getAssetPath(sectionKey), \"index.html\"),\n\t\tcss: url2.resolve(manifestJSON.getAssetPath(sectionKey), \"slide.css\"),\n\t\tkey: sectionKey,\n\t\tsequence: manifestJSON.ordering[sectionKey] - 1,\n\t\tthumbnail: null,\n\t\tcustom: false,\n\t\tvisible: true,\n\t\tdeckversion: 1,\n\t\ttags: manifestJSON.tags[sectionKey] || null,\n\t\tcmsvalkey_set: [],\n\t});\n\n\tconst slideKeys = Object.keys(manifestJSON.titles).filter((slideKey) => {\n\t\treturn slideKey.startsWith(sectionKey) && slideKey.split(\"/\").length > 1;\n\t});\n\n\tsection.slides.add(\n\t\tslideKeys.map((key, slideIndex) => {\n\t\t\treturn PresentationSlide.createFromManifestJSON(\n\t\t\t\tmanifestJSON,\n\t\t\t\tkey,\n\t\t\t\tsection.id,\n\t\t\t\tslideIndex\n\t\t\t);\n\t\t})\n\t);\n\n\treturn section;\n};\n\nPresentationSection.createFromManifestImpostor = function (section, index) {\n\tconst slides = section.slides || [];\n\tsection.slides = null;\n\n\tconst presentationSection = new PresentationSection({\n\t\tid: parseInt(_.uniqueId(), 10),\n\t\tthumbnail: null,\n\t\tcustom: false,\n\t\tvisible: true,\n\t\tdeckversion: 1,\n\t\tindex,\n\t\t...section,\n\t});\n\n\tslides.forEach((slide, index) => {\n\t\tpresentationSection.slides.add(\n\t\t\tPresentationSlide.createFromManifestImpostor(\n\t\t\t\tslide,\n\t\t\t\tindex,\n\t\t\t\tpresentationSection.id\n\t\t\t)\n\t\t);\n\t});\n\n\treturn presentationSection;\n};\n\nPresentationSection.createFromAutoAdjunct = function (model, opts = {}) {\n\tconst requiredKeys = [\"index\", \"deckversionID\"];\n\tfor (const key of requiredKeys) {\n\t\tif (typeof opts[key] === \"undefined\") {\n\t\t\tthrow new Error(`Missing required key '${key}'.`);\n\t\t}\n\t}\n\n\tconst options = _.defaults(opts, {\n\t\tallowConvert: true,\n\t\tvisible: true,\n\t\tindex: -1,\n\t\tdeckversionID: -1,\n\t\tsequence: opts.index,\n\t\timpostor: false,\n\t\tscreenshots: new collections.DeckVersionScreenshotCollection(),\n\t});\n\n\tconst tags = PresentationSection.getTags(\n\t\t{\n\t\t\tisAutoAdjunct: true,\n\t\t\tkey: model.key,\n\t\t\ttags: model.tags,\n\t\t},\n\t\toptions\n\t);\n\n\tconst autoAdjunct = new AutoAdjunctModel(model);\n\n\tconst autoAdjunctSection = new PresentationSection({\n\t\tid: options.id || autoAdjunct.id,\n\t\tadjunctID: autoAdjunct.id,\n\t\tautoAdjunctID: autoAdjunct.id,\n\t\tcreatedByTemplate: autoAdjunct.template !== null,\n\t\ttemplateID: autoAdjunct.template ? autoAdjunct.template.id : null,\n\t\thtml: \"\",\n\t\tcss: \"\",\n\t\tsequence: options.sequence,\n\t\tindex: options.index,\n\t\tkey: autoAdjunct.key,\n\t\tcreatedByAutoAdjunct: false,\n\t\tthumbnail: PresentationSection.getThumbnail(\n\t\t\tautoAdjunct,\n\t\t\toptions.screenshots\n\t\t),\n\t\ttemporary: true,\n\t\ttitle: autoAdjunct.name,\n\t\tvisible: options.visible,\n\t\tallowConvert: options.allowConvert,\n\t\tdeckversion: options.deckversionID,\n\t\timpostor: options.impostor,\n\t\ttags,\n\t\tcmsvalkey_set: autoAdjunct.cmsvalkey_set,\n\t});\n\n\tif (autoAdjunct.template) {\n\t\t// If we've found a new screenshot for it, we don't want to override it here\n\t\tif (!autoAdjunctSection.thumbnail) {\n\t\t\tautoAdjunctSection.thumbnail = autoAdjunct.template.image_256;\n\t\t}\n\t\tautoAdjunctSection.createdByTemplate = true;\n\t\tautoAdjunctSection.templateID = autoAdjunct.template.id;\n\t\tautoAdjunctSection.html = autoAdjunct.template.index_asset.url();\n\t} else {\n\t\tautoAdjunctSection.image = autoAdjunct.image_original;\n\t}\n\n\treturn autoAdjunctSection;\n};\n\nPresentationSection.createFromTemplate = function (template, index, minID = 0) {\n\tconst templateModel = new TemplateModel(template);\n\n\tconst deckversion = new DeckVersionModel(templateModel.deckversion);\n\tconst templateAssetRoot = getAssetRoot(templateModel.index_asset.url());\n\tconst presentationSection = new PresentationSection({\n\t\tid: minID + parseInt(_.uniqueId(), 10),\n\t\ttemplateID: templateModel.id,\n\t\tkey: `template-${templateModel.key}`,\n\t\ttitle: templateModel.title,\n\t\thtml: `${templateAssetRoot}index.html`,\n\t\tcss: `${templateAssetRoot}slide.css`,\n\t\tcustom: false,\n\t\tvisible: true,\n\t\tthumbnail: templateModel.image_256,\n\t\t// Makes sure templates are rendered with unique IDs\n\t\tautoAdjunctID: Number(_.uniqueId()),\n\t\tdeckversion: deckversion.id,\n\t\t// Add a large number here to make sure it's always at the end\n\t\t// of a list of sections\n\t\tsequence: 9000 + templateModel.sequence,\n\t\tcreatedByTemplate: true,\n\t\tindex,\n\t\tcmsvalkey_set: [],\n\t});\n\n\treturn presentationSection;\n};\n\nregister(\"PresentationSection\", PresentationSection);\n"],"file":"presentation-section.js"}
|
|
@@ -10,6 +10,8 @@ var _adjunctSection = require("../models/adjunct-section");
|
|
|
10
10
|
|
|
11
11
|
var _autoAdjunct = require("../models/auto-adjunct");
|
|
12
12
|
|
|
13
|
+
var _deckVersionScreenshots = require("../collections/deck-version-screenshots.js");
|
|
14
|
+
|
|
13
15
|
var _presentationSection = require("./presentation-section");
|
|
14
16
|
|
|
15
17
|
var _section = require("../models/section");
|
|
@@ -115,9 +117,45 @@ describe("#createFromSection", function () {
|
|
|
115
117
|
}
|
|
116
118
|
}, _callee2);
|
|
117
119
|
})));
|
|
120
|
+
describe("Screenshots", function () {
|
|
121
|
+
it("should use the default image from the slide if no screenshot found", function () {
|
|
122
|
+
var data = getSectionJSON();
|
|
123
|
+
var section = new _section.SectionModel(data);
|
|
124
|
+
|
|
125
|
+
var presentationSection = _presentationSection.PresentationSection.createFromSection(section);
|
|
126
|
+
|
|
127
|
+
expect(presentationSection.thumbnail).toEqual(data.image_256);
|
|
128
|
+
});
|
|
129
|
+
it("should use the screenshot model if it matches", function () {
|
|
130
|
+
var section = new _section.SectionModel(getSectionJSON());
|
|
131
|
+
var options = {
|
|
132
|
+
screenshots: new _deckVersionScreenshots.DeckVersionScreenshotCollection([{
|
|
133
|
+
subject: section.url(),
|
|
134
|
+
image_256: "test-screenshot.png"
|
|
135
|
+
}])
|
|
136
|
+
};
|
|
137
|
+
|
|
138
|
+
var presentationSection = _presentationSection.PresentationSection.createFromSection(section, options);
|
|
139
|
+
|
|
140
|
+
expect(presentationSection.thumbnail).toEqual("test-screenshot.png");
|
|
141
|
+
});
|
|
142
|
+
});
|
|
118
143
|
});
|
|
119
144
|
describe("#createFromAdjunctSection", function () {
|
|
120
|
-
var getAdjunctSectionJSON = function getAdjunctSectionJSON() {
|
|
145
|
+
var getAdjunctSectionJSON = function getAdjunctSectionJSON(includeTemplate) {
|
|
146
|
+
var template = {
|
|
147
|
+
id: 1,
|
|
148
|
+
image_256: "template.png",
|
|
149
|
+
index_asset: {
|
|
150
|
+
created_date: "2021-07-22T04:57:32.977770Z",
|
|
151
|
+
data: "index.html",
|
|
152
|
+
id: 148204,
|
|
153
|
+
modified_date: "2021-07-22T04:57:32.977790Z",
|
|
154
|
+
orig_path: "templates/test-template/foo",
|
|
155
|
+
pack: "https://staging-test.salespreso.com/api/packs/410/",
|
|
156
|
+
url: "https://staging-test-cdn.salespreso.com/media/pack/410/assets/sections/test-deck/slides/slide-key/index.html"
|
|
157
|
+
}
|
|
158
|
+
};
|
|
121
159
|
return {
|
|
122
160
|
adjunct: "https://staging-test.salespreso.com/api/adjuncts/7470/",
|
|
123
161
|
appointment: "https://staging-test.salespreso.com/api/appointments/2422/",
|
|
@@ -137,7 +175,7 @@ describe("#createFromAdjunctSection", function () {
|
|
|
137
175
|
modified_date: "2021-09-20T01:57:55.125229Z",
|
|
138
176
|
sequence: 1,
|
|
139
177
|
tags: [],
|
|
140
|
-
template: null,
|
|
178
|
+
template: includeTemplate ? template : null,
|
|
141
179
|
title: "Five",
|
|
142
180
|
url: "https://staging-test.salespreso.com/api/adjunctsections/1737/"
|
|
143
181
|
};
|
|
@@ -179,7 +217,8 @@ describe("#createFromAdjunctSection", function () {
|
|
|
179
217
|
thumbnail: "https://staging-test-cdn.salespreso.com/media/CACHE/images/autoadjunct/123/456.jpg",
|
|
180
218
|
title: "Five",
|
|
181
219
|
url: "/api/adjunctsections/1737/",
|
|
182
|
-
visible: true
|
|
220
|
+
visible: true,
|
|
221
|
+
cmsvalkey_set: []
|
|
183
222
|
};
|
|
184
223
|
expect(presentationSection.toJSON()).toEqual(expected);
|
|
185
224
|
|
|
@@ -214,6 +253,33 @@ describe("#createFromAdjunctSection", function () {
|
|
|
214
253
|
}
|
|
215
254
|
}, _callee4);
|
|
216
255
|
})));
|
|
256
|
+
describe("Screenshots", function () {
|
|
257
|
+
it("should use the default image from the model if no screenshot found", function () {
|
|
258
|
+
var data = getAdjunctSectionJSON(true);
|
|
259
|
+
var adjunctSection = new _adjunctSection.AdjunctSectionModel(data);
|
|
260
|
+
|
|
261
|
+
var presentationSlide = _presentationSection.PresentationSection.createFromAdjunctSection(adjunctSection, {
|
|
262
|
+
id: 1
|
|
263
|
+
});
|
|
264
|
+
|
|
265
|
+
expect(presentationSlide.thumbnail).toEqual(data.template.image_256);
|
|
266
|
+
});
|
|
267
|
+
it("should use the screenshot model if it matches", function () {
|
|
268
|
+
var adjunctSection = new _adjunctSection.AdjunctSectionModel(getAdjunctSectionJSON(true));
|
|
269
|
+
var options = {
|
|
270
|
+
screenshots: new _deckVersionScreenshots.DeckVersionScreenshotCollection([{
|
|
271
|
+
subject: "/api/autoadjuncts/545/",
|
|
272
|
+
image_256: "test-screenshot.png"
|
|
273
|
+
}])
|
|
274
|
+
};
|
|
275
|
+
|
|
276
|
+
var presentationSection = _presentationSection.PresentationSection.createFromAdjunctSection(adjunctSection, {
|
|
277
|
+
id: 1
|
|
278
|
+
}, options);
|
|
279
|
+
|
|
280
|
+
expect(presentationSection.thumbnail).toEqual("test-screenshot.png");
|
|
281
|
+
});
|
|
282
|
+
});
|
|
217
283
|
});
|
|
218
284
|
describe("#createFromImpostorSection", function () {
|
|
219
285
|
var getImpostorSectionJSON = function getImpostorSectionJSON() {
|
|
@@ -318,6 +384,29 @@ describe("#createFromImpostorSection", function () {
|
|
|
318
384
|
}
|
|
319
385
|
}, _callee6);
|
|
320
386
|
})));
|
|
387
|
+
describe("Screenshots", function () {
|
|
388
|
+
it("should use the default image from the model if no screenshot found", function () {
|
|
389
|
+
var data = getImpostorSectionJSON();
|
|
390
|
+
var impostorSection = new _slide.SlideModel(data);
|
|
391
|
+
|
|
392
|
+
var presentationSection = _presentationSection.PresentationSection.createFromImpostorSection(impostorSection, null);
|
|
393
|
+
|
|
394
|
+
expect(presentationSection.thumbnail).toEqual(data.image_256);
|
|
395
|
+
});
|
|
396
|
+
it("should use the screenshot model if it matches", function () {
|
|
397
|
+
var impostorSection = new _slide.SlideModel(getImpostorSectionJSON());
|
|
398
|
+
var options = {
|
|
399
|
+
screenshots: new _deckVersionScreenshots.DeckVersionScreenshotCollection([{
|
|
400
|
+
subject: impostorSection.url(),
|
|
401
|
+
image_256: "test-screenshot.png"
|
|
402
|
+
}])
|
|
403
|
+
};
|
|
404
|
+
|
|
405
|
+
var presentationSection = _presentationSection.PresentationSection.createFromImpostorSection(impostorSection, null, options);
|
|
406
|
+
|
|
407
|
+
expect(presentationSection.thumbnail).toEqual("test-screenshot.png");
|
|
408
|
+
});
|
|
409
|
+
});
|
|
321
410
|
});
|
|
322
411
|
describe("#createFromAutoAdjunct", function () {
|
|
323
412
|
var getAutoAdjunctJSON = function getAutoAdjunctJSON() {
|
|
@@ -414,5 +503,34 @@ describe("#createFromAutoAdjunct", function () {
|
|
|
414
503
|
}
|
|
415
504
|
}, _callee8);
|
|
416
505
|
})));
|
|
506
|
+
describe("Screenshots", function () {
|
|
507
|
+
it("should use the default image from the model if no screenshot found", function () {
|
|
508
|
+
var data = getAutoAdjunctJSON();
|
|
509
|
+
var options = {
|
|
510
|
+
index: 3,
|
|
511
|
+
deckversionID: 12
|
|
512
|
+
};
|
|
513
|
+
var autoAdjunct = new _autoAdjunct.AutoAdjunctModel(data);
|
|
514
|
+
|
|
515
|
+
var presentationSection = _presentationSection.PresentationSection.createFromAutoAdjunct(autoAdjunct, options);
|
|
516
|
+
|
|
517
|
+
expect(presentationSection.thumbnail).toEqual(data.image_256);
|
|
518
|
+
});
|
|
519
|
+
it("should use the screenshot model if it matches", function () {
|
|
520
|
+
var autoAdjunct = new _autoAdjunct.AutoAdjunctModel(getAutoAdjunctJSON());
|
|
521
|
+
var options = {
|
|
522
|
+
index: 3,
|
|
523
|
+
deckversionID: 12,
|
|
524
|
+
screenshots: new _deckVersionScreenshots.DeckVersionScreenshotCollection([{
|
|
525
|
+
subject: autoAdjunct.url(),
|
|
526
|
+
image_256: "test-screenshot.png"
|
|
527
|
+
}])
|
|
528
|
+
};
|
|
529
|
+
|
|
530
|
+
var presentationSection = _presentationSection.PresentationSection.createFromAutoAdjunct(autoAdjunct, options);
|
|
531
|
+
|
|
532
|
+
expect(presentationSection.thumbnail).toEqual("test-screenshot.png");
|
|
533
|
+
});
|
|
534
|
+
});
|
|
417
535
|
});
|
|
418
536
|
//# sourceMappingURL=presentation-section.spec.js.map
|