diff options
| author | Jules Laplace <julescarbon@gmail.com> | 2020-11-02 16:38:13 +0100 |
|---|---|---|
| committer | Jules Laplace <julescarbon@gmail.com> | 2020-11-02 16:38:13 +0100 |
| commit | 4e2121e9160b627415a31f628fa3f00711138375 (patch) | |
| tree | a0d328b4e0bd3fd92c9326a52c2e22bab130bf2a /animism-align/frontend/app/utils | |
| parent | faee66ed90bca15fa803deb733cbe9ccce9c19d8 (diff) | |
images can include images from galleries. command to duplicate annotations
Diffstat (limited to 'animism-align/frontend/app/utils')
| -rw-r--r-- | animism-align/frontend/app/utils/annotation.utils.js | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/animism-align/frontend/app/utils/annotation.utils.js b/animism-align/frontend/app/utils/annotation.utils.js index d76f473..b1f93d1 100644 --- a/animism-align/frontend/app/utils/annotation.utils.js +++ b/animism-align/frontend/app/utils/annotation.utils.js @@ -56,3 +56,40 @@ export const sectionProgress = (section, play_ts) => { export const sectionProgressPercentage = (section, play_ts) => { return (Math.round(sectionProgress(section, play_ts) * 2000) / 20) + '%' } + +export const makeMediaItems = (media, types) => { + const { lookup, order } = media + if (!(types instanceof Set)) { + types = new Set(types) + } + const listItems = order.filter(id => types.has(lookup[id].type)).map(id => { + const { title, author, type } = lookup[id] + return { + name: id, + label: '[' + type + '] ' + author + ' - ' + title + } + }).sort((a,b) => a.label.localeCompare(b.label)) + return listItems +} + +export const makeGalleryItems = (annotation, media) => { + if (!annotation.settings.media_id) return {} + if (!media.lookup[annotation.settings.media_id]) return {} + let thumbnail, frame_id + const item = media.lookup[annotation.settings.media_id] + if (item.type !== 'gallery') return {} + const gallery_items = item.settings.image_order.map((id, index) => { + const caption = item.settings.caption_lookup && item.settings.caption_lookup[id] + console.log(caption) + return { + name: index, + label: (index + 1) + ") " + (caption ? (caption.title || "") : "") + } + }) + if (annotation.settings.frame_index) { + frame_id = item.settings.image_order[annotation.settings.frame_index] + thumbnail = item.settings.thumbnail_lookup[frame_id] + } + return { item, gallery_items, frame_id, thumbnail } +} + |
