2019-06-12 23:55:15 +02:00
|
|
|
import Debug from '../../conf/Debug';
|
|
|
|
|
|
|
|
class CssHandler {
|
|
|
|
static buildStyleArray(existingStyleString, extraStyleString) {
|
|
|
|
if (existingStyleString) {
|
|
|
|
const styleArray = existingStyleString.split(";");
|
|
|
|
|
|
|
|
if (extraStyleString) {
|
|
|
|
const extraCss = extraStyleString.split(';');
|
|
|
|
let dup = false;
|
|
|
|
|
|
|
|
for (const ecss of extraCss) {
|
|
|
|
for (let i in styleArray) {
|
|
|
|
if (ecss.split(':')[0].trim() === styleArray[i].split(':')[0].trim()) {
|
|
|
|
dup = true;
|
|
|
|
styleArray[i] = ecss;
|
|
|
|
}
|
|
|
|
if (dup) {
|
|
|
|
dup = false;
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
styleArray.push(ecss);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2021-02-18 22:38:32 +01:00
|
|
|
for (let i in styleArray) {
|
2019-06-12 23:55:15 +02:00
|
|
|
styleArray[i] = styleArray[i].trim();
|
|
|
|
// some sites do 'top: 50%; left: 50%; transform: <transform>' to center videos.
|
|
|
|
// we dont wanna, because we already center videos on our own
|
|
|
|
if (styleArray[i].startsWith("transform:") ||
|
|
|
|
styleArray[i].startsWith("top:") ||
|
|
|
|
styleArray[i].startsWith("left:") ||
|
|
|
|
styleArray[i].startsWith("right:") ||
|
|
|
|
styleArray[i].startsWith("bottom:") ){
|
|
|
|
delete styleArray[i];
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return styleArray;
|
|
|
|
}
|
|
|
|
|
|
|
|
return [];
|
|
|
|
}
|
|
|
|
|
|
|
|
static buildStyleString(styleArray) {
|
|
|
|
let styleString = '';
|
|
|
|
|
2021-02-18 22:38:32 +01:00
|
|
|
for(let i in styleArray) {
|
2019-06-12 23:55:15 +02:00
|
|
|
if(styleArray[i]) {
|
|
|
|
styleString += styleArray[i] + "; ";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
return styleString;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
export default CssHandler;
|