Commit 485b8919 authored by Anton's avatar Anton

Rename Video to Media

parent 32e5ffe9
Pipeline #14258 passed with stage
in 1 minute and 3 seconds
...@@ -25,7 +25,7 @@ app, including a local metadata service as store module `metadata-ffprobe` ...@@ -25,7 +25,7 @@ app, including a local metadata service as store module `metadata-ffprobe`
- Buttons now support right-click + open in new tab (still suffers from - Buttons now support right-click + open in new tab (still suffers from
[#253](https://gitlab.rlp.net/motionbank/applications/systems-frontend/issues/253)) [#253](https://gitlab.rlp.net/motionbank/applications/systems-frontend/issues/253))
- Audio annotations (supported types: `.m4a` and `.mp3`) can be added - Audio annotations (supported types: `.m4a` and `.mp3`) can be added
under `videos/create` (playback possible using forked under `media/create` (playback possible using forked
[vue-video-player](https://github.com/dasantonym/vue-video-player)) [vue-video-player](https://github.com/dasantonym/vue-video-player))
- Export timelines as CSV - Export timelines as CSV
...@@ -37,12 +37,13 @@ under `videos/create` (playback possible using forked ...@@ -37,12 +37,13 @@ under `videos/create` (playback possible using forked
- VideoPlayer uses [privacy-enhanced mode](https://support.google.com/youtube/answer/171780) - VideoPlayer uses [privacy-enhanced mode](https://support.google.com/youtube/answer/171780)
for YouTube sources to be GDPR compliant for YouTube sources to be GDPR compliant
- VideoPlayer uses [dnt](https://github.com/vimeo/player.js/#embed-options) - VideoPlayer uses [dnt](https://github.com/vimeo/player.js/#embed-options)
(do not track) option for showing Vimeo videos for GDPR compliance (do not track) option for showing Vimeo media for GDPR compliance
- Basic colors, look & feel - Basic colors, look & feel
- New post annotator layout - New post annotator layout
- Vocabulary menu layout and functionality - Vocabulary menu layout and functionality
- Navigation redesign - Navigation redesign
- MoSys redesign - MoSys redesign
- Renamed `Video` to `Media` throughout project
### Updated ### Updated
...@@ -60,7 +61,7 @@ for YouTube sources to be GDPR compliant ...@@ -60,7 +61,7 @@ for YouTube sources to be GDPR compliant
### Removed ### Removed
- Unused store modules `forms`, `conversions` and `timecodes` - Unused store modules `forms`, `conversions` and `timecodes`
- Routes `videos/ingest` and `timelines/timecode` - Routes `media/ingest` and `timelines/timecode`
## [1.3.1] - 2019-04-06 ## [1.3.1] - 2019-04-06
......
...@@ -68,7 +68,7 @@ ...@@ -68,7 +68,7 @@
id: job.result.video, id: job.result.video,
type: 'video/mp4' type: 'video/mp4'
}, },
type: 'Video', type: 'Media',
purpose: detail.purpose || 'linking' purpose: detail.purpose || 'linking'
}, },
target target
...@@ -81,7 +81,7 @@ ...@@ -81,7 +81,7 @@
await this.$store.dispatch('acl/set', {id: annotation.id, role: 'public', permissions: ['get']}) await this.$store.dispatch('acl/set', {id: annotation.id, role: 'public', permissions: ['get']})
} }
this.$store.commit('conversions/removeJobDetail', jobId) this.$store.commit('conversions/removeJobDetail', jobId)
this.$root.$emit('updateVideos') this.$root.$emit('updateMedia')
this.$root.$emit('jobResult', { annotation, jobId, detail }) this.$root.$emit('jobResult', { annotation, jobId, detail })
this.$store.commit('notifications/addMessage', { this.$store.commit('notifications/addMessage', {
body: 'messages.conversion_successful', body: 'messages.conversion_successful',
......
...@@ -80,7 +80,7 @@ ...@@ -80,7 +80,7 @@
} }
}, },
pushToVideo (val) { pushToVideo (val) {
this.$router.push({name: 'piecemaker.videos.annotate', params: {id: val}}) this.$router.push({name: 'piecemaker.media.annotate', params: {id: val}})
}, },
onMarkerUnselect () { onMarkerUnselect () {
this.annotationData = null this.annotationData = null
......
...@@ -182,7 +182,7 @@ ...@@ -182,7 +182,7 @@
'start', 'start',
'duration', 'duration',
'annotations', 'annotations',
'video', 'media',
'map', 'map',
'selectedMillis' 'selectedMillis'
], ],
...@@ -406,7 +406,7 @@ ...@@ -406,7 +406,7 @@
this.jumpToMarker(this.selectedAnnotation.target.selector, useDuration) this.jumpToMarker(this.selectedAnnotation.target.selector, useDuration)
}, },
getVideoDate () { getVideoDate () {
return DateTime.fromMillis(this.video.target.selector._valueMillis) return DateTime.fromMillis(this.media.target.selector._valueMillis)
}, },
setupScreen () { setupScreen () {
console.log(this.dimensions.details, 'details dimen') console.log(this.dimensions.details, 'details dimen')
......
...@@ -160,7 +160,7 @@ ...@@ -160,7 +160,7 @@
const _this = this const _this = this
switch (type) { switch (type) {
case 'annotate': case 'annotate':
return _this.$router.push(`/piecemaker/videos/${data.row._uuid}/annotate`) return _this.$router.push(`/piecemaker/media/${data.row._uuid}/annotate`)
} }
} }
} }
......
...@@ -41,17 +41,17 @@ ...@@ -41,17 +41,17 @@
:y2="`${((sessionTime / duration) * 100).toFixed(3)}%`") :y2="`${((sessionTime / duration) * 100).toFixed(3)}%`")
// SWIMLANES - vertical // SWIMLANES - vertical
// vertical visualization of the videos // vertical visualization of the media
// //
svg svg
// @click="onClickVideo(vid)", // @click="onClickVideo(vid)",
svg.shadow-6( svg.shadow-6(
v-if="session.videos", v-if="session.media",
v-for="(vid, i) in session.videos", v-for="(vid, i) in session.media",
:id="vid.annotation._uuid", :id="vid.annotation._uuid",
:width="20", :width="20",
:height="(((vid.metadata.duration * 1000) / duration) * 100).toFixed(3) + '%'", :height="(((vid.metadata.duration * 1000) / duration) * 100).toFixed(3) + '%'",
:x="(session.videos.length * 10 + 15) * i + 20", :x="(session.media.length * 10 + 15) * i + 20",
:y="getSwimlaneY(vid.annotation)") :y="getSwimlaneY(vid.annotation)")
rect.moba-swimlane(width="100%", height="100%", x="0", y="0", :title="vid.annotation._uuid") rect.moba-swimlane(width="100%", height="100%", x="0", y="0", :title="vid.annotation._uuid")
...@@ -95,8 +95,8 @@ ...@@ -95,8 +95,8 @@
// VIDEO TIME // VIDEO TIME
// displays the actual time of the selected video // displays the actual time of the selected video
// //
svg(v-for="(vid, i) in session.videos") svg(v-for="(vid, i) in session.media")
svg(v-if="currentVideo === vid.annotation._uuid", :y="(sessionTime - 10)", :x="(session.videos.length * 10) + ((session.videos.length * 10 + 15) * i + 20) + 5") svg(v-if="currentVideo === vid.annotation._uuid", :y="(sessionTime - 10)", :x="(session.media.length * 10) + ((session.media.length * 10 + 15) * i + 20) + 5")
polygon(points="10 0 0 10 10 20 60 20 60 0 10 0", fill="#749DFC") polygon(points="10 0 0 10 10 20 60 20 60 0 10 0", fill="#749DFC")
// rect(width="50", height="20", x="10", fill="#749DFC") // rect(width="50", height="20", x="10", fill="#749DFC")
text.q-caption(x="20", y="15", fill="white") {{ Math.floor(sessionTime / 60) }}:{{ Math.trunc(sessionTime - Math.floor(sessionTime / 60) * 60) }} text.q-caption(x="20", y="15", fill="white") {{ Math.floor(sessionTime / 60) }}:{{ Math.trunc(sessionTime - Math.floor(sessionTime / 60) * 60) }}
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
// VIDEO PLAYER // VIDEO PLAYER
// //
div(:style="[fixDiagram ? styleActivePreview : styleActivePreviewDocked]") div(:style="[fixDiagram ? styleActivePreview : styleActivePreviewDocked]")
video-player(v-if="video", :annotation="video.annotation", media-player(v-if="video", :annotation="video.annotation",
@ready="playerReady($event)", @time="onPlayerTime($event)") @ready="playerReady($event)", @time="onPlayerTime($event)")
.absolute-top-left.q-mt-sm.q-ml-sm(@mousedown="resizeButtonDown") .absolute-top-left.q-mt-sm.q-ml-sm(@mousedown="resizeButtonDown")
......
...@@ -7,7 +7,7 @@ export default { ...@@ -7,7 +7,7 @@ export default {
apply_synchronisation: 'Apply Synchronisation', apply_synchronisation: 'Apply Synchronisation',
annotate: 'Annotate', annotate: 'Annotate',
add_term: 'Add Term', add_term: 'Add Term',
add_video: 'Add Video', add_media: 'Add Media',
add_vocabulary: 'Add Vocabulary', add_vocabulary: 'Add Vocabulary',
add_and_go: 'Add & Go', add_and_go: 'Add & Go',
back: 'Back', back: 'Back',
...@@ -45,7 +45,7 @@ export default { ...@@ -45,7 +45,7 @@ export default {
search: 'Search', search: 'Search',
submit: 'Submit', submit: 'Submit',
synchronize: 'Sync', synchronize: 'Sync',
videos: 'Videos', media: 'Media',
yes: 'Yes' yes: 'Yes'
}, },
checkboxes: { checkboxes: {
...@@ -105,8 +105,8 @@ export default { ...@@ -105,8 +105,8 @@ export default {
access_control_add_group: 'Add to group', access_control_add_group: 'Add to group',
access_control_remove_group: 'Remove from group', access_control_remove_group: 'Remove from group',
associated_timeline: 'Associated timeline', associated_timeline: 'Associated timeline',
associated_timeline_warning: 'WARNING: If you already annotated this video, your annotations are linked to the original timeline. Changing the associated timeline will only reassign the video, not the existing annotations.', associated_timeline_warning: 'WARNING: If you already annotated this, your annotations are linked to the original timeline. Changing the associated timeline will only reassign this reference time, not the existing annotations.',
recursive: 'Apply to all contained annotations and videos', recursive: 'Apply to all contained annotations and media',
add_group: 'Add Group', add_group: 'Add Group',
add_term: 'Add Term', add_term: 'Add Term',
annotations: 'Annotations', annotations: 'Annotations',
...@@ -160,10 +160,10 @@ export default { ...@@ -160,10 +160,10 @@ export default {
title_unknown: 'Unknown Title', title_unknown: 'Unknown Title',
timeline: 'Timeline', timeline: 'Timeline',
type: 'Type', type: 'Type',
video_duration: 'Video duration', media_duration: 'Media duration',
video_title: 'Video title', media_title: 'Media title',
video_url: 'Video URL', media_url: 'Media URL',
video: 'Videos', media: 'Media',
vocabulary_entry: 'Vocabularies' vocabulary_entry: 'Vocabularies'
}, },
links: { links: {
...@@ -192,14 +192,14 @@ export default { ...@@ -192,14 +192,14 @@ export default {
confirm_delete: 'Delete this item?', confirm_delete: 'Delete this item?',
updated_annotation: 'Updated annotation', updated_annotation: 'Updated annotation',
url_copied: 'URL copied to clipboard', url_copied: 'URL copied to clipboard',
caution_video_time_override: 'Caution: Changing a video\'s time does not update existing annotations!', caution_media_time_override: 'Caution: Changing media reference time does not update associated annotations!',
browser_unsupported_warning: '<strong>Unsupported browser:</strong> For optimal performance please use ' + browser_unsupported_warning: '<strong>Unsupported browser:</strong> For optimal performance please use ' +
'<a href="https://www.google.com/chrome" target="_blank">Google Chrome</a> or ' + '<a href="https://www.google.com/chrome" target="_blank">Google Chrome</a> or ' +
'<a href="http://www.chromium.org/Home" target="_blank">Chromium</a>.<br>' + '<a href="http://www.chromium.org/Home" target="_blank">Chromium</a>.<br>' +
'<small>While the site might work on your browser, more or less subtle problems can occur. You have been warned!</small>' '<small>While the site might work on your browser, more or less subtle problems can occur. You have been warned!</small>'
}, },
navigation: { navigation: {
annotate_video: 'Annotate Video', annotate_media: 'Annotate Media',
maps: 'Maps', maps: 'Maps',
contact: 'Contact', contact: 'Contact',
imprint: 'Imprint', imprint: 'Imprint',
...@@ -212,10 +212,10 @@ export default { ...@@ -212,10 +212,10 @@ export default {
label: 'Piecemaker', label: 'Piecemaker',
piecemaker_timelines_list: 'Timelines', piecemaker_timelines_list: 'Timelines',
piecemaker_timelines_annotate: 'Live annotate', piecemaker_timelines_annotate: 'Live annotate',
piecemaker_videos_list: 'Videos', piecemaker_media_list: 'Media',
piecemaker_videos_annotate: 'Annotate', piecemaker_media_annotate: 'Annotate',
piecemaker_videos_edit: 'Edit', piecemaker_media_edit: 'Edit',
piecemaker_videos_sync: 'Sync', piecemaker_media_sync: 'Sync',
piecemaker_timelines_search: 'Search', piecemaker_timelines_search: 'Search',
piecemaker_timelines_edit: 'Edit', piecemaker_timelines_edit: 'Edit',
piecemaker_timelines_create: 'Create timeline' piecemaker_timelines_create: 'Create timeline'
...@@ -254,9 +254,9 @@ export default { ...@@ -254,9 +254,9 @@ export default {
} }
}, },
annotate: { annotate: {
video: { media: {
title: 'Annotate Video', title: 'Annotate Media',
caption: 'Select a map and enter a video URL to start annotating.' caption: 'Select a map and enter a media URL to start annotating.'
} }
}, },
errors: { errors: {
...@@ -367,27 +367,27 @@ export default { ...@@ -367,27 +367,27 @@ export default {
title: 'Users in this timeline', title: 'Users in this timeline',
caption: '.' caption: '.'
}, },
videos: { media: {
title: 'Videos', title: 'Media',
caption: '.' caption: '.'
} }
}, },
videos: { media: {
list: { list: {
title: 'Videos', title: 'Media',
caption: 'All your most wonderful videos are here.' caption: 'All your most wonderful media are here.'
}, },
edit: { edit: {
title: 'Edit Video', title: 'Edit media',
caption: 'Edit video details.' caption: 'Edit media details.'
}, },
create: { create: {
title: 'Add Video', title: 'Add Media',
caption: 'Add a new video to your timeline.' caption: 'Add a new media to your timeline.'
}, },
sync: { sync: {
title: 'Sync Video', title: 'Sync Media',
caption: 'Synchronize a video with others.' caption: 'Synchronize media reference time.'
} }
} }
}, },
......
...@@ -53,7 +53,7 @@ ...@@ -53,7 +53,7 @@
Authorization: `Bearer ${localStorage.getItem('access_token')}` Authorization: `Bearer ${localStorage.getItem('access_token')}`
}, },
type: constants.mapTypes.MAP_TYPE_2DGRID, type: constants.mapTypes.MAP_TYPE_2DGRID,
payload: undefined, payload: {},
schema: { schema: {
fields: { fields: {
title: { title: {
......
...@@ -34,7 +34,7 @@ ...@@ -34,7 +34,7 @@
q-select(v-model="acl.group_remove", :clearable="true", :clear-value="undefined", q-select(v-model="acl.group_remove", :clearable="true", :clear-value="undefined",
:float-label="$t('labels.access_control_remove_group')", :options="availableRoles", dark) :float-label="$t('labels.access_control_remove_group')", :options="availableRoles", dark)
// apply to all contained annotations and videos // apply to all contained annotations and media
content-paragraph content-paragraph
q-checkbox(v-model="acl.recursive", :label="$t('labels.recursive')", dark) q-checkbox(v-model="acl.recursive", :label="$t('labels.recursive')", dark)
......
<template lang="pug">
// center-card-full
card-full
div(slot="form-logo")
div(slot="form-title")
h4 Piecemaker
.row.md-gutter.justify-between.items-between
.col-lg-6
q-list(highlight, no-border)
q-list-header
.row.justify-between.items-between
h4 Timelines
div
q-btn(@click="$router.push('/piecemaker/timelines')", flat, color="primary") All Timelines
q-btn(@click="$router.push('/piecemaker/timelines/create')", flat, color="primary") New Timeline
q-item(v-for="item in timelines", :key="item._uuid", link, exact, :to="'/piecemaker/timelines/' + item._uuid")
q-item-main
q-item-tile(label) {{ item.title }}
q-item-tile(sublabel) {{ item.description }}
.col-lg-6
q-list(highlight, no-border)
q-list-header
.row.justify-between.items-between
h4 Videos
q-item(v-for="item in videos", :key="item._uuid", link, exact, :to="'/piecemaker/videos/' + item._uuid")
q-item-main
q-item-tile(label) {{ item.title }}
q-item-tile(sublabel) {{ item.description }}
</template>
<script>
import CardFull from '../../components/shared/layouts/CardFull'
import CenterCardFull from '../../components/shared/layouts/CenterCardFull'
import constants from 'mbjs-data-models/src/constants'
export default {
components: {
CardFull,
CenterCardFull
},
data () {
return {
timelines: [],
videos: []
}
},
mounted () {
const _this = this
this.$store.dispatch('maps/find', { type: constants.mapTypes.MAP_TYPE_TIMELINE })
.then(results => {
_this.timelines = results
})
this.$store.dispatch('annotations/find')
.then(results => {
_this.videos = results
})
}
}
</script>
import dashboard from './dashboard'
import * as timelines from './timelines' import * as timelines from './timelines'
import * as videos from './videos' import * as media from './media'
import * as codarts from './codarts'
import * as users from './users'
export { export {
dashboard,
timelines, timelines,
videos, media
codarts,
users
} }
...@@ -11,11 +11,11 @@ ...@@ -11,11 +11,11 @@
.bg-dark.relative-position(style="height: calc(100vh - 52px);") .bg-dark.relative-position(style="height: calc(100vh - 52px);")
// video player // meta player
div.relative(:style="{height: videoHeight + 'px', maxHeight: viewport.height - 52 - 250 + 'px'}", div.relative(:style="{height: videoHeight + 'px', maxHeight: viewport.height - 52 - 250 + 'px'}",
:class="[!visibilitySwimlanes ? 'fit' : '']") :class="[!visibilitySwimlanes ? 'fit' : '']")
video-player.full-height.relative-position(v-if="video", :annotation="video", :fine-controls="true", media-player.full-height.relative-position(v-if="media", :annotation="media", :fine-controls="true",
@ready="playerReady($event)", @time="onPlayerTime($event)") @ready="playerReady($event)", @time="onPlayerTime($event)")
// swimlane content // swimlane content
...@@ -32,10 +32,10 @@ ...@@ -32,10 +32,10 @@
:timelineUuid="timeline._uuid", :timelineUuid="timeline._uuid",
:markerDetails="false", :markerDetails="false",
:resizable="true", :resizable="true",
:start="getVideoDate().toMillis()", :start="getMediaDate().toMillis()",
:duration="getVideoDuration()", :duration="getMediaDuration()",
:annotations="annotations", :annotations="annotations",
:video="video", :media="media",
:key="componentKey", :key="componentKey",
:selectedMillis="selectedMillis", :selectedMillis="selectedMillis",
:focusedAnnotation="focusedAnnotation", :focusedAnnotation="focusedAnnotation",
...@@ -88,7 +88,7 @@ ...@@ -88,7 +88,7 @@
timecode-label( timecode-label(
@click.native="gotoSelector(annotation.target.selector, false, annotation)", @click.native="gotoSelector(annotation.target.selector, false, annotation)",
:millis="annotation.target.selector._valueMillis", :millis="annotation.target.selector._valueMillis",
:videoDate="getVideoDate()" :videoDate="getMediaDate()"
) )
// annotation has duration // annotation has duration
template(v-if="annotation.target.selector._valueDuration") template(v-if="annotation.target.selector._valueDuration")
...@@ -96,7 +96,7 @@ ...@@ -96,7 +96,7 @@
timecode-label( timecode-label(
@click.native="gotoSelector(annotation.target.selector, true, annotation)", @click.native="gotoSelector(annotation.target.selector, true, annotation)",
:millis="getAnnotationEndMillis(annotation)", :millis="getAnnotationEndMillis(annotation)",
:videoDate="getVideoDate()" :videoDate="getMediaDate()"
) )
// add timecode button // add timecode button
template(v-else) template(v-else)
...@@ -147,8 +147,6 @@ ...@@ -147,8 +147,6 @@
import TimecodeLabel from '../../../components/piecemaker/partials/TimecodeLabel' import TimecodeLabel from '../../../components/piecemaker/partials/TimecodeLabel'
import AnnotationIcon from '../../../components/piecemaker/partials/AnnotationIcon' import AnnotationIcon from '../../../components/piecemaker/partials/AnnotationIcon'
// import { EventHub } from '../../../components/piecemaker/partials/SwimLane/EventHub'
const { getScrollTarget, setScrollPosition } = scroll const { getScrollTarget, setScrollPosition } = scroll
export default { export default {
...@@ -161,7 +159,7 @@ ...@@ -161,7 +159,7 @@
async mounted () { async mounted () {
if (this.$route.params.uuid) { if (this.$route.params.uuid) {
this.$q.loading.show() this.$q.loading.show()
await this.getVideo() await this.getMedia()
await this.getAnnotations() await this.getAnnotations()
this.$q.loading.hide() this.$q.loading.hide()
} }
...@@ -187,7 +185,7 @@ ...@@ -187,7 +185,7 @@
staging: process.env.IS_STAGING, staging: process.env.IS_STAGING,
timelineUuid: undefined, timelineUuid: undefined,
timeline: undefined, timeline: undefined,
video: undefined, media: undefined,
// detailsSize: 300, // detailsSize: 300,
editAnnotationIndex: undefined, editAnnotationIndex: undefined,
editAnnotationBuffer: undefined, editAnnotationBuffer: undefined,
...@@ -234,15 +232,15 @@ ...@@ -234,15 +232,15 @@
return idx return idx
}, },
baseSelector () { baseSelector () {
if (!this.video) return DateTime.local().toISO() if (!this.media) return DateTime.local().toISO()
const const
parsed = this.video.target.selector.parse(), parsed = this.media.target.selector.parse(),
start = Array.isArray(parsed['date-time:t']) ? parsed['date-time:t'][0] : parsed['date-time:t'] start = Array.isArray(parsed['date-time:t']) ? parsed['date-time:t'][0] : parsed['date-time:t']
return start.plus(this.playerTime * 1000).toISO() return start.plus(this.playerTime * 1000).toISO()
}, },
baseMillis () { baseMillis () {
if (!this.video) return DateTime.local().toMillis() if (!this.media) return DateTime.local().toMillis()
return this.video.target.selector._valueMillis + this.playerTime * 1000 return this.media.target.selector._valueMillis + this.playerTime * 1000
}, },
isEditingAnnotations () { isEditingAnnotations () {
return typeof this.editAnnotationIndex === 'number' return typeof this.editAnnotationIndex === 'number'
...@@ -254,7 +252,7 @@ ...@@ -254,7 +252,7 @@
}, },
watch: { watch: {
storeCursorTop (val) { storeCursorTop (val) {
this.videoHeight = val - this.headerHeight this.mediaHeight = val - this.headerHeight
this.swimlanesHeight = (this.viewport.height - val) this.swimlanesHeight = (this.viewport.height - val)
}, },
visibilityDrawer (val) { visibilityDrawer (val) {
...@@ -274,11 +272,11 @@ ...@@ -274,11 +272,11 @@
setupScreen () { setupScreen () {
this.$store.commit('swimLane/setSelectedAnnotation', null) this.$store.commit('swimLane/setSelectedAnnotation', null)
if (this.$store.state.swimLane.cursorTop) { if (this.$store.state.swimLane.cursorTop) {
this.videoHeight = this.$store.state.swimLane.cursorTop - this.headerHeight this.mediaHeight = this.$store.state.swimLane.cursorTop - this.headerHeight
this.swimlanesHeight = (this.viewport.height - this.$store.state.swimLane.cursorTop) this.swimlanesHeight = (this.viewport.height - this.$store.state.swimLane.cursorTop)
} }
else { else {
this.videoHeight = this.viewport.height / 2 - this.headerHeight this.mediaHeight = this.viewport.height / 2 - this.headerHeight
this.swimlanesHeight = this.viewport.height / 2 this.swimlanesHeight = this.viewport.height / 2
} }
}, },
...@@ -293,14 +291,14 @@ ...@@ -293,14 +291,14 @@
onEmitResize (val) { onEmitResize (val) {
if (this.swimlanes) { if (this.swimlanes) {
this.swimlanesHeight = (this.viewport.height + this.headerHeight - val) this.swimlanesHeight = (this.viewport.height + this.headerHeight - val)
this.videoHeight = this.viewport.height - 52 - this.swimlanesHeight this.mediaHeight = this.viewport.height - 52 - this.swimlanesHeight
} }
}, },
*/ */
onViewportResize (size) { onViewportResize (size) {
this.viewport.height = size.height this.viewport.height = size.height
this.viewport.width = size.width this.viewport.width = size.width
this.videoHeight = this.viewport.height - 52 - this.swimlanesHeight this.mediaHeight = this.viewport.height - 52 - this.swimlanesHeight
},