diff options
| author | Jules Laplace <julescarbon@gmail.com> | 2020-07-27 15:44:29 +0200 |
|---|---|---|
| committer | Jules Laplace <julescarbon@gmail.com> | 2020-07-27 15:44:29 +0200 |
| commit | 2aad507650fa3263ef81be759ab0531b43e5b7cc (patch) | |
| tree | b8299f962ef0e3342cb8978f5e0a4f57a8ee1b30 /animism-align/frontend/app/views/align/align.util.js | |
| parent | eee3193ecf604eaed30505128b2a1f7bb875d44a (diff) | |
annotation form for curtain events. refactor utilities
Diffstat (limited to 'animism-align/frontend/app/views/align/align.util.js')
| -rw-r--r-- | animism-align/frontend/app/views/align/align.util.js | 65 |
1 files changed, 0 insertions, 65 deletions
diff --git a/animism-align/frontend/app/views/align/align.util.js b/animism-align/frontend/app/views/align/align.util.js deleted file mode 100644 index e873bbf..0000000 --- a/animism-align/frontend/app/views/align/align.util.js +++ /dev/null @@ -1,65 +0,0 @@ -import { ZOOM_STEPS } from 'app/constants' -import { clamp } from 'app/utils' -import actions from 'app/actions' - -import { HEADER_MARGIN, INNER_HEIGHT } from 'app/constants' - -export const positionToTime = (y, { start_ts, zoom, duration }) => { - y -= HEADER_MARGIN - const secondsPerPixel = ZOOM_STEPS[zoom] * 0.1 - const widthTimeDuration = INNER_HEIGHT * secondsPerPixel - const timeMin = start_ts - const timeMax = Math.min(start_ts + widthTimeDuration, duration) - const timeWidth = timeMax - timeMin - return clamp(y * secondsPerPixel + start_ts, 0, timeMax) -} - -export const timeToPosition = (ts, { start_ts, zoom, duration }) => { - const secondsPerPixel = ZOOM_STEPS[zoom] * 0.1 - const widthTimeDuration = INNER_HEIGHT * secondsPerPixel - const timeMin = start_ts - const timeMax = Math.min(start_ts + widthTimeDuration, duration) - const timeWidth = timeMax - timeMin - const timeHalfHeight = INNER_HEIGHT * secondsPerPixel / 2 - if (ts < timeMin - timeHalfHeight) { - return -9999 - } - if (ts > timeMax) { - return -9999 - } - return (ts - timeMin) / timeWidth * INNER_HEIGHT -} - -export const getFirstPunctuationMarkIndex = text => { - const indexes = [ - text.indexOf('. '), - text.indexOf('? '), - text.indexOf('! '), - text.indexOf('." '), - text.indexOf('?" '), - text.indexOf('!" '), - text.indexOf('.” '), - text.indexOf('?” '), - text.indexOf('!” '), - ] - - return indexes.reduce((a, b) => { - if (b < 0) return a - return Math.min(a, b) - }, Infinity) + 1 -} - -export const cutFirstSentence = text => { - const textToCrop = text.trim().replace("\n", " ").split("\n")[0] - let cropIndex = getFirstPunctuationMarkIndex(textToCrop) - if (!cropIndex) cropIndex = textToCrop.length - const croppedText = textToCrop.substr(0, cropIndex).trim() - const updatedText = text.trim().replace(croppedText, '').trim() - actions.site.updateText(updatedText) - return croppedText -} - -export const thumbnailURL = data => { - if (data.type === 'video') return data.settings.video.thumbnail_url - if (data.type === 'image') return data.settings.thumbnail.url -} |
