Fullstack Portal Created by the HCMR for the Marine Strategy Framework Directive Program in order to cover demands and aspects considering extendability and maintainability

419 lines
12 KiB

2 years ago
// structure layer tree
var pTree = {};
let nodeContext = [{
icon:'fa fa-download',
title:'Download Layer',
//context button click event
onClick: async (node) => {
2 years ago
document.getElementById('modal-download-layer').classList.add('is-active');
Alpine.store('downloadName', node.data.code);
document.getElementById('modal-download-layer-name').textContent = "Layer name: " + node.data.code;
// downloadShapefile(node.data.code);
}
}];
let nodeContextLink = [{
icon:'fa fa-link',
title:'Source Link',
//context button click event
onClick: async (node) => {
2 years ago
window.open(node.data.n_hyperlink, '_blank')
// downloadShapefile(node.data.code);
}
}];
let citation = [{
icon:'fa fa-link',
title:'Citation',
//context button click event
onClick: async (node) => {
2 years ago
//console.log('add - '+node.id);
window.open(node.data.n_citation, '_blank');
2 years ago
}
}];
let nodeContextLegend = [{
icon: 'fa fa-icons',
title: 'Legend',
onClick: async (node) => {
const layerCode = node.data.code;
const layerTitle = node.data.n_title;
const lgndUrl = BASE_URL + "/img/legends/" + layerCode + ".png";
if (Object.hasOwn(legends, layerCode)) {
clearLegend(layerCode);
return;
}
legends[layerCode] = L.control.Legend({
position: "bottomright",
title: layerTitle,
symbolWidth: 'auto',
symbolHeight: 'auto',
collapsed: false,
legends: [{
type: "image",
label: '',
url: lgndUrl
}]
}).addTo(mapL);
}
}];
2 years ago
const myData = [{
n_id: 1,
n_title: 'MARINE AREAS',
n_parentid: 0,
},{
n_id: 11,
n_title: 'Assessment Areas',
n_parentid: 1
},{
n_id: 111,
n_title: 'Mediterranean Sea Region',
code: "ms_el_mediterranean_assessment_area",
n_elements: nodeContext,
n_parentid: 11
},{
n_id: 112,
n_title: 'Adriatic Sea subregion',
code: "mad_el_ms_ad_adriatic_assessment_area",
n_elements: nodeContext,
n_parentid: 11
},{
n_id: 113,
n_title: 'Ionian Sea and Central Mediterranean Sea subregion',
code: "mic_el_ms_io_ionian_assessment_area",
n_elements: nodeContext,
n_parentid: 11
},{
n_id: 114,
n_title: 'Aegean-Levantine subregion',
code: "mal_el_ms_al_aegean_levantine_assessment_area",
n_elements: nodeContext,
n_parentid: 11
},{
n_id: 115,
n_title: 'Aegean-Levantine subregion – Aegean Sea',
code: "mal_el_aa_ae_aegean_assessment_area",
n_elements: nodeContext,
n_parentid: 11
},{
n_id: 116,
n_title: 'Aegean-Levantine subregion – North Aegean Sea',
code: "mal_el_aa_na_north_aegean_assessment_area",
n_elements: nodeContext,
n_parentid: 11
},{
n_id: 117,
n_title: 'Aegean-Levantine subregion – Central and South Aegean Sea',
code: "mal_el_aa_csa_central_south_aegean_assessment_area",
n_elements: nodeContext,
n_parentid: 11
},{
n_id: 118,
n_title: 'Aegean-Levantine subregion - Levantine Sea',
code: "mal_el_aa_le_levantine_assessment_area",
n_elements: nodeContext,
n_parentid: 11
},{
n_id: 12,
n_title: 'Coastal Waters',
code: "v_el_mrus_nov2021_epsg3035_coastal_waters",
n_elements: nodeContext,
n_parentid: 1
},{
n_id: 16,
n_title: 'Coastal Water Bodies (WFD)',
code: "v_el_mrus_nov2021_epsg3035_coasts",
n_elements: nodeContext,
n_parentid: 1
},{
n_id: 13,
n_title: 'Territorial Waters',
code: "v_el_mrus_nov2021_epsg3035_territorial",
n_elements: nodeContext,
n_parentid: 1
},{
n_id: 14,
n_title: 'Territorial Part beyond Coastal Waters',
code: "v_el_mrus_nov2021_epsg3035_territorial_from_coastal",
n_elements: nodeContext,
n_parentid: 1
},{
n_id: 15,
n_title: 'Beyond Territorial Waters',
code: "v_el_mrus_nov2021_epsg3035_beyond_territorial",
n_elements: nodeContext,
n_parentid: 1
},{
n_id: 2,
n_title: 'DATA SOURCES',
n_parentid: 0,
},{
n_id: 21,
n_title: 'MSFD MONITORING PROGRAMS',
n_parentid: 2,
},{
n_id: 213,
n_title: 'Beach Stations',
code: "beach_stations",
n_elements: nodeContext,
n_parentid: 21
},{
n_id: 211,
n_title: 'MSFD Stations',
code: "cruise_stations",
n_elements: nodeContext,
n_parentid: 21
},{
n_id: 212,
n_title: 'MSFD Cruises',
n_parentid: 21
},{
n_id: 2121,
n_title: 'Cruise 2018',
code: "cruise_2018",
n_elements: nodeContext,
n_parentid: 212
},{
n_id: 2122,
n_title: 'Cruise 2019 A',
code: "cruise_2019_a",
n_elements: nodeContext,
n_parentid: 212
},{
n_id: 2123,
n_title: 'Cruise 2019 B',
code: "cruise_2019_b",
n_elements: nodeContext,
n_parentid: 212
},{
n_id: 2124,
n_title: 'Cruise 2020 A',
code: "cruise_2020_a",
n_elements: nodeContext,
n_parentid: 212
},{
n_id: 2125,
n_title: 'Cruise 2020 B',
code: "cruise_2020_b",
n_elements: nodeContext,
n_parentid: 212
},{
n_id: 2126,
n_title: 'Cruise 2021 A',
code: "cruise_2021_a",
n_elements: nodeContext,
n_parentid: 212
},{
n_id: 2127,
n_title: 'Cruise 2021 B',
code: "cruise_2021_b",
n_elements: nodeContext,
n_parentid: 212
},{
n_id: 2128,
n_title: 'Cruise 2019 A INALE',
code: "cruise_2019_a_inale",
n_elements: nodeContext,
n_parentid: 212
},{
n_id: 2129,
n_title: 'Cruise 2019 B INALE',
code: "cruise_2019_b_inale",
n_elements: nodeContext,
n_parentid: 212
},{
n_id: 21291,
n_title: 'Cruise 2021 A INALE',
code: "cruise_2021_a_inale",
n_elements: nodeContext,
n_parentid: 212
},{
n_id: 21292,
n_title: 'Cruise 2021 B INALE',
code: "cruise_2021_b_inale",
n_elements: nodeContext,
n_parentid: 212
},{
n_id: 21293,
n_title: 'Cruise 2021 C INALE',
code: "cruise_2021_c_inale",
n_elements: nodeContext,
n_parentid: 212
2 years ago
},{
n_id: 214,
n_title: 'Marine Natura Sites (Monitored under D1)',
code: "v_marine_natura2000_end2021_epsg3035_sitetype", //"marine_natura2000_end2021_epsg3035",
n_elements: nodeContext,
n_parentid: 21
},{
n_id: 215,
n_title: 'EEA Marine Assessment Grid 10x10',
code: "grid_10km_3035",
n_elements: nodeContext,
n_parentid: 21
},{
n_id: 216,
n_title: 'EEA Marine Assessment Grid 25x25',
code: "grid_25km_3035",
n_elements: nodeContext,
n_parentid: 21
},{
n_id: 22,
n_title: 'OTHER',
n_parentid: 2,
}, {
n_id: 221,
n_title: 'Poseidon',
code: "POSEIDON",
n_parentid: 22
},{
n_id: 222,
n_title: 'Argo',
code: "argo_stations",
n_elements: nodeContext,
n_parentid: 22
},{
n_id: 223,
n_title: 'WFD',
code: "coastal_wfd",
n_parentid: 22
},{
n_id: 3,
n_title: 'PRODUCTS',
n_parentid: 0,
}, {
n_id: 31,
n_title: 'MSFD',
n_parentid: 3,
}, {
n_id: 32,
n_title: 'OTHER',
n_parentid: 3,
},{
n_id: 33,
n_title: 'WFD',
n_parentid: 3,
},{
n_id: 311,
n_title: 'D3',
n_parentid: 31,
},{
n_id: 3111,
n_title: 'Annual Fisheries Production per fishing gear per NSSG area (NSSG: National Statistical Service of Greece)',
code: 'nssg-annual_prod_per_gear_1990-2019',
n_parentid: 311,
},{
n_id: 3112,
n_title: 'Annual Fisheries Production per Species per NSSG area (NSSG: National Statistical Service of Greece)',
code: 'nssg-annual_prod_per_species_1990-2019',
2 years ago
n_parentid: 311,
},{
n_id: 321 ,
n_title: 'EMODNET Bathymetry',
code: 'DPTH',
n_parentid: 32,
n_elements: nodeContextLink.concat(nodeContextLegend),
2 years ago
n_hyperlink: "https://doi.org/10.12770/bb6a87dd-e579-4036-abe1-e649cea9881a"
},{
n_id: 322 ,
n_title: 'EMODNET Habitats',
code: 'HABT',
n_parentid: 32,
n_elements: nodeContextLink.concat(nodeContextLegend),
2 years ago
n_hyperlink: "http://gis.ices.dk/geonetwork/srv/eng/catalog.search#/metadata/10d3d35c-8f8e-40ff-898f-32e0b037356c"
},
// {
// n_id: 323 ,
// n_title: 'EMODNET Chemistry',
// code: 'CHEM',
// n_parentid: 32,
// n_elements: nodeContext,
// n_hyperlink: "https://ec.oceanbrowser.net/emodnet/Python/web/wms",
// hidden: true
// },
// {
// n_id: 3231,
// n_title: 'Eutrophication',
// code: 'CHEM_PHPL',
// n_parentid: 323,
// n_elements: nodeContext,
// n_hyperlink: "https://ec.oceanbrowser.net/emodnet/Python/web/wms"
// },
{
n_id: 324,
n_title: 'Probability of coralligenous habitat in the Mediterranean (MEDISEH)',
code: 'mediseh_cora',
2 years ago
n_parentid: 32,
n_elements: nodeContextLink.concat(nodeContextLegend),
2 years ago
n_hyperlink: "http://gis.ices.dk/geonetwork/srv/eng/catalog.search#/metadata/4da88de5-b0b8-4de4-8aac-99a9b0980736"
},{
n_id: 325,
n_title: 'Probability of maerl habitat in the Mediterranean (MEDISEH)',
code: 'mediseh_maerl',
2 years ago
n_parentid: 32,
n_elements: nodeContextLink.concat(nodeContextLegend),
2 years ago
n_hyperlink: "http://gis.ices.dk/geonetwork/srv/eng/catalog.search#/metadata/43c7ac30-04da-479d-b5c1-ba621f0981e4"
},{
n_id: 326,
n_title: 'Probability of Posidonia oceanica in the Mediterranean (MEDISEH)',
code: 'mediseh_posidonia',
2 years ago
n_parentid: 32,
n_elements: nodeContextLink.concat(nodeContextLegend),
2 years ago
n_hyperlink: "http://gis.ices.dk/geonetwork/srv/eng/catalog.search#/metadata/a93cffc8-8f45-47a4-a9bd-c8ffd9ad53fb"
},{
n_id: 327 ,
n_title: 'Seagrass Meadows',
2 years ago
code: 'greek_seagrass_meadows_v0906_espg3035',
n_parentid: 32,
n_elements: nodeContext.concat(nodeContextLink, citation, nodeContextLegend),
n_hyperlink: "https://www.seanoe.org/data/00765/87740/",
n_citation: "https://doi.org/10.1515/bot-2022-0011"
2 years ago
},{
n_id: 331,
n_title: 'Integrated Ecological Status',
code: 'wfd_eco_status_',
n_elements: nodeContext.concat(nodeContextLegend),
2 years ago
n_parentid: 33
},{
n_id: 332,
n_title: 'Benthic MacroInvertebrates – BMI (D2C1, D5C8, D6C3, D6C5)',
code: 'wfd_bmi_status_',
n_elements: nodeContext.concat(nodeContextLegend),
2 years ago
n_parentid: 33
},{
n_id: 333,
n_title: 'Macroalgae (MAI)',
code: 'wfd_ma_status_',
n_elements: nodeContext.concat(nodeContextLegend),
2 years ago
n_parentid: 33
},{
n_id: 334,
n_title: 'Angiosperms – AN (D2C1, D6C3, D6C5)',
code: 'wfd_an_status_',
n_elements: nodeContext.concat(nodeContextLegend),
2 years ago
n_parentid: 33
},{
n_id: 335,
n_title: 'Chlorophyl-a (D4C2, D5C2)',
code: 'wfd_chla_status_',
n_elements: nodeContext.concat(nodeContextLegend),
2 years ago
n_parentid: 33
},{
n_id: 336,
n_title: 'PhysicoChemical Quality Index – PCQI (D5C1, D5C4, D5C5)',
code: 'wfd_pcqi_status_',
n_elements: nodeContext.concat(nodeContextLegend),
2 years ago
n_parentid: 33
},{
n_id: 337,
n_title: 'Chemical Status – Chem (D8C1)',
code: 'wfd_chem_status_',
n_elements: nodeContext.concat(nodeContextLegend),
n_parentid: 33
}];
2 years ago
/* =======================*/