Automatische Erstellung der Navigation

This commit is contained in:
2020-04-18 10:21:44 +02:00
parent 22ec169375
commit ba6481bca5
19 changed files with 250 additions and 88 deletions

View File

@@ -7,6 +7,97 @@ var pathoffset = 'nt/ev/mk/';
var _locals = { pathoffset : "/nt/ev/mk" };
var _gliederung =
[
{
id : "gliederung",
name: "Gliederung",
subs: [
{
id : "index",
name: "Übersicht",
subs: []
},
{
id : "anfang",
name: "Anfang ...",
subs: []
},
{
id : "IIa_konzentr",
name: "IIA Konzentrisch",
subs: []
},
{
id : "IIa_wegbereiter",
name: "IIA Wegbereiter",
subs: []
},
{
id : "IIb_konzentr",
name: "IIB Konzentrisch",
subs: []
},
{
id : "IIb_konzentr_ablehnung",
name: "IIB Konzentrisch <q>Ablehnung</q>",
subs: []
},
{
id : "IIb_konzentr_sendung",
name: "IIB Konzentrisch <q>Sendung</q>",
subs: []
},
{
id : "IIb_konzentr_hirte",
name: "IIB Konzentrisch <q>Hirte</q>",
subs: []
},
{
id : "IIc_konzentr",
name: "IIC Konzentrisch",
subs: []
},
{
id : "IIIa",
name: "IIIA",
subs: []
},
{
id : "IIIa_gesplittet",
name: "IIIA gesplittet",
subs: []
},
{
id : "IIIa_falsch_richtig",
name: "IIIA <q>Falsch Richtig</q>",
subs: []
},
{
id : "III_sohn",
name: "III <q>Sohn</q>",
subs: []
},
{
id : "auf_dem_weg_konzentr",
name: "Auf dem Weg Konzentrisch",
subs: []
},
{
id : "auf_dem_weg_konzentr2",
name: "Auf dem Weg Konzentrisch 2",
subs: []
},
{
id : "IIIc_tempel_frucht",
name: "IIIC <q>Tempel Frucht</q>",
subs: []
}
]
},
];
function get_locals(req) {
var locals = _locals;
locals.as_presentation = req.session.as_presentation;
@@ -17,16 +108,53 @@ function get_locals(req) {
}
router.get('/', function(req, res, next) {
var params = get_locals(req);
params.gliederung = _gliederung;
res.render(pathoffset+'index', get_locals(req));
});
router.get('/gliederung', function(req,res,next) {
router.get('/:layer1', function(req, res, next) {
var layer1 = _gliederung.find(elem => elem.id === req.params.layer1);
console.log(layer1);
if(layer1.subs.length === 0)
console.log('ERROR layer1.subs.length === 0');
var index = layer1.subs[0];
var params = get_locals(req);
params.gliederung = _gliederung;
params.current = [];
params.current.push(layer1);
params.current.push(index);
console.log(params);
res.render(pathoffset + req.params.layer1+"/"+index.id, params);
});
router.get('/:layer1/:layer2', function(req, res, next) {
var layer1 = _gliederung.find(elem => elem.id === req.params.layer1);
console.log(layer1);
var layer2 = layer1.subs.find(elem => elem.id === req.params.layer2);
console.log(layer2);
var params = get_locals(req);
params.gliederung = _gliederung;
params.current = [];
params.current.push(layer1);
params.current.push(layer2);
console.log(params);
res.render(pathoffset + req.params.layer1+"/"+layer2.id, params);
});
/*router.get('/gliederung', function(req,res,next) {
res.render(pathoffset+'gliederung/index', get_locals(req));
});
router.get('/gliederung/:target', function(req,res,next) {
res.render(pathoffset+'gliederung/' + req.params.target, get_locals(req));
});
});*/
/* XXX */
/*router.get('/entstehung', function(req,res,next) {
res.render(pathoffset+'entstehung/quellen', get_locals(req));