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:
committed by
Fabian Affolter
parent
a32809e14b
commit
ce3b53a920
24
src/common/util/parse-aspect-ratio.js
Normal file
24
src/common/util/parse-aspect-ratio.js
Normal 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;
|
||||
}
|
||||
Reference in New Issue
Block a user