function initConfigFromURL() {
let charge_strength = CHARGE_STRENGTH;
let center_strength = CENTER_STRENGTH;
let collide_radius = COLLIDE_RADIUS;
let font_size = FONT_SIZE;
let scale_to = SCALE_TO;
let sample_ratio = SAMPLE_RATIO;
let link_distance = LINK_DISTANCE;
let link_opacity = LINK_OPACITY;
let link_width = LINK_WIDTH;
let link_color = LINK_COLOR;
let selected_groups = SELECTED_GROUPS;
let width = WIDTH;
let height = HEIGHT;
const urlParams = new URL(document.URL).searchParams;;
console.log('>>> urlParams: ', urlParams)
if (urlParams.has("charge_strength")) {
const paramValue = parseInt(urlParams.get("charge_strength"));
if (!isNaN(paramValue)) {
charge_strength = paramValue;
}
}
if (urlParams.has("center_strength")) {
const paramValue = parseInt(urlParams.get("center_strength"));
if (!isNaN(paramValue)) {
center_strength = paramValue;
}
}
if (urlParams.has("collide_radius")) {
const paramValue = parseInt(urlParams.get("collide_radius"));
if (!isNaN(paramValue)) {
collide_radius = paramValue;
}
}
if (urlParams.has("font_size")) {
const paramValue = parseInt(urlParams.get("font_size"));
if (!isNaN(paramValue)) {
font_size = paramValue;
}
}
if (urlParams.has("scale_to")) {
const paramValue = parseFloat(urlParams.get("scale_to"));
if (!isNaN(paramValue)) {
scale_to = paramValue;
}
}
if (urlParams.has("sample_ratio")) {
const paramValue = parseInt(urlParams.get("sample_ratio"));
if (!isNaN(paramValue)) {
sample_ratio = paramValue;
}
}
if (urlParams.has("link_distance")) {
const paramValue = parseInt(urlParams.get("link_distance"));
if (!isNaN(paramValue)) {
link_distance = paramValue;
}
}
if (urlParams.has("link_opacity")) {
const paramValue = parseFloat(urlParams.get("link_opacity"));
if (!isNaN(paramValue)) {
link_opacity = paramValue;
}
}
if (urlParams.has("link_width")) {
const paramValue = parseFloat(urlParams.get("link_width"));
if (!isNaN(paramValue)) {
link_width = paramValue;
}
}
if (urlParams.has("link_color")) {
link_color = urlParams.get("link_color");
}
if (urlParams.has("selected_groups")) {
selected_groups = urlParams.get("selected_groups").split(",");
}
if (urlParams.has("width")) {
const paramValue = parseInt(urlParams.get("width"));
if (!isNaN(paramValue)) {
width = paramValue;
}
}
if (urlParams.has("height")) {
const paramValue = parseInt(urlParams.get("height"));
if (!isNaN(paramValue)) {
height = paramValue;
}
}
return {
'charge_strength' : charge_strength,
'center_strength' : center_strength,
'collide_radius': collide_radius,
'font_size': font_size,
'scale_to': scale_to,
'sample_ratio': sample_ratio,
'link_distance': link_distance,
'link_opacity': link_opacity,
'link_width': link_width,
'link_color': link_color,
'selected_groups': selected_groups,
'width': width,
'height': height,
};
}