summaryrefslogtreecommitdiff
path: root/animism-align/frontend/app/views/align/align.util.js
diff options
context:
space:
mode:
authorJules Laplace <julescarbon@gmail.com>2020-07-27 15:44:29 +0200
committerJules Laplace <julescarbon@gmail.com>2020-07-27 15:44:29 +0200
commit2aad507650fa3263ef81be759ab0531b43e5b7cc (patch)
treeb8299f962ef0e3342cb8978f5e0a4f57a8ee1b30 /animism-align/frontend/app/views/align/align.util.js
parenteee3193ecf604eaed30505128b2a1f7bb875d44a (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.js65
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
-}