1
0
mirror of https://github.com/home-assistant/frontend.git synced 2025-12-20 02:38:53 +00:00

Image aspect ratio (#1665)

* Allow user to specify an aspect ratio for various images

* added a comment on what is supported

* fixed typo

* Fixed lint and test errors
This commit is contained in:
randellhodges
2018-09-17 14:16:00 -05:00
committed by Fabian Affolter
parent a32809e14b
commit ce3b53a920
7 changed files with 134 additions and 15 deletions

View File

@@ -0,0 +1,24 @@
export default function parseAspectRatio(input) {
// Handle 16x9, 16:9, 1.78x1, 1.78:1, 1.78
// Ignore everything else
function parseOrThrow(number) {
const parsed = parseFloat(number);
if (isNaN(parsed)) throw new Error(`${number} is not a number`);
return parsed;
}
try {
if (input) {
const arr = input.replace(':', 'x').split('x');
if (arr.length === 0) {
return null;
}
return arr.length === 1 ?
{ w: parseOrThrow(arr[0]), h: 1 } :
{ w: parseOrThrow(arr[0]), h: parseOrThrow(arr[1]) };
}
} catch (err) {
// Ignore the error
}
return null;
}