1
0
mirror of https://github.com/ascribe/onion.git synced 2024-06-30 13:41:57 +02:00

construct header file in utils

This commit is contained in:
Cevo 2015-10-06 17:24:53 +02:00
parent ae2578a57c
commit f2b277821d

43
js/utils/head_setter.js Normal file
View File

@ -0,0 +1,43 @@
/**
* Created by cevo on 06.10.15.
*/
'use strict';
// faviconType: string, is the type of the favicon, such as link, meta, etc.
//faviconId id of the favicon
// faviconDict: hash table containing the attributes of the relevant favicon
let constructHeadElement = function(elementType, elementId, elementAttributes) {
console.log('setfavicon invoked');
var head = (document.head || document.getElementsByTagName('head')[0]);
var element = document.createElement(elementType);
var oldElement = document.getElementById(elementId);
try {
for (let k in elementAttributes){
console.log('Setting ', k, elementAttributes[k]);
element.setAttribute(k, elementAttributes[k]);
}
}
catch(e){
console.log(e.message());
}
if (oldElement) {
head.removeChild(oldElement);
}
head.appendChild(element);
return this;
};
// Accepts a dictionary of dictionaries which comprises a part or all of html head part
// {link : {id1: {rel: ... }}}
// traverses a tree of depth 3 (no backtracking)
export function constructHead(headObject){
console.log('Going to set all favicons');
console.log(headObject);
for (let k in headObject){
let favicons = headObject[k];
for (let f in favicons){
constructHeadElement(k, f, favicons[f]);
}
}
}