@nakedcreativity/cee-ms-node 0.3.35 → 0.3.36
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +79 -5
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -541,12 +541,69 @@ ceems.prototype.render = function(req, res, page=null) {
|
|
|
541
541
|
console.log('pagination, ', page.pagination)
|
|
542
542
|
|
|
543
543
|
var renderedRegions = {}
|
|
544
|
+
var renderedColumns = {}
|
|
545
|
+
var renderedModules = {}
|
|
546
|
+
|
|
544
547
|
var jobs = []
|
|
545
548
|
|
|
546
549
|
// load page data
|
|
547
550
|
_.each(page.regions, function(region, key){
|
|
548
551
|
|
|
549
552
|
renderedRegions[key] = []
|
|
553
|
+
console.log(key)
|
|
554
|
+
|
|
555
|
+
if(region.containers){
|
|
556
|
+
|
|
557
|
+
region.containers.forEach((container, index)=>{
|
|
558
|
+
|
|
559
|
+
console.log(container)
|
|
560
|
+
if(container.module){
|
|
561
|
+
|
|
562
|
+
var html = `{% ${container.module} %}`
|
|
563
|
+
|
|
564
|
+
}else {
|
|
565
|
+
|
|
566
|
+
|
|
567
|
+
if(!container.class) {
|
|
568
|
+
container.class = 'container'
|
|
569
|
+
}
|
|
570
|
+
|
|
571
|
+
var html = ''
|
|
572
|
+
if(container.wrapper){
|
|
573
|
+
html += `<div class="${container.wrapper}">`
|
|
574
|
+
}
|
|
575
|
+
|
|
576
|
+
html += `<div class="${container.class}">`
|
|
577
|
+
|
|
578
|
+
container.rows.forEach(row=>{
|
|
579
|
+
|
|
580
|
+
html += `<div class="row ${row.class}">`
|
|
581
|
+
row.columns.forEach(column=>{
|
|
582
|
+
|
|
583
|
+
var modules = _.reduce(column.modules, (modules, id)=>{
|
|
584
|
+
return modules + '{% '+id+' %}'
|
|
585
|
+
}, '')
|
|
586
|
+
html += `<div class="col ${column.class}">${modules}</div>` // inserts placeholder in format {% id %}
|
|
587
|
+
|
|
588
|
+
})
|
|
589
|
+
|
|
590
|
+
html += `</div>`
|
|
591
|
+
|
|
592
|
+
})
|
|
593
|
+
if(container.wrapper){
|
|
594
|
+
html += `</div>`
|
|
595
|
+
}
|
|
596
|
+
html += `</div>`
|
|
597
|
+
|
|
598
|
+
}
|
|
599
|
+
|
|
600
|
+
renderedRegions[key][index] = html
|
|
601
|
+
|
|
602
|
+
})
|
|
603
|
+
}
|
|
604
|
+
|
|
605
|
+
console.log(renderedRegions)
|
|
606
|
+
|
|
550
607
|
_.each(region.modules, function(module, index){
|
|
551
608
|
|
|
552
609
|
var moduleTemplate = fs.readFileSync('./views/'+module.type+'.liquid');
|
|
@@ -562,7 +619,7 @@ ceems.prototype.render = function(req, res, page=null) {
|
|
|
562
619
|
scope.navigation = this.site.navigation
|
|
563
620
|
}
|
|
564
621
|
this.engine.parseAndRender(moduleTemplate, scope)
|
|
565
|
-
.then(
|
|
622
|
+
.then(html => {
|
|
566
623
|
|
|
567
624
|
if(req.query.edit != null){
|
|
568
625
|
var $ = cheerio.load(html);
|
|
@@ -572,10 +629,15 @@ ceems.prototype.render = function(req, res, page=null) {
|
|
|
572
629
|
$.root().children().attr('data-module-id', module._id);
|
|
573
630
|
}
|
|
574
631
|
html = $.html()
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
632
|
+
}
|
|
633
|
+
|
|
634
|
+
if(region.containers){
|
|
635
|
+
renderedModules[module._id] = html
|
|
636
|
+
}else {
|
|
637
|
+
renderedRegions[key][index] = html
|
|
638
|
+
}
|
|
639
|
+
return resolve();
|
|
640
|
+
|
|
579
641
|
})
|
|
580
642
|
.catch(error=>{
|
|
581
643
|
reject(error)
|
|
@@ -583,6 +645,8 @@ ceems.prototype.render = function(req, res, page=null) {
|
|
|
583
645
|
}))
|
|
584
646
|
|
|
585
647
|
}, this)
|
|
648
|
+
|
|
649
|
+
|
|
586
650
|
}, this)
|
|
587
651
|
|
|
588
652
|
// loop through each module not in a region and generate HTML
|
|
@@ -628,10 +692,20 @@ ceems.prototype.render = function(req, res, page=null) {
|
|
|
628
692
|
_.each(renderedRegions, function(region, key){
|
|
629
693
|
page.regions[key] = ''
|
|
630
694
|
_.each(region, function(html){
|
|
695
|
+
|
|
696
|
+
// items in rendered columns to place
|
|
697
|
+
if(Object.keys(renderedModules).length > 0){
|
|
698
|
+
_.each(renderedModules, (moduleHtml, key)=>{
|
|
699
|
+
html = html.replace(new RegExp('{%\\s'+key+'\\s%}','g'), moduleHtml)
|
|
700
|
+
})
|
|
701
|
+
|
|
702
|
+
}
|
|
703
|
+
|
|
631
704
|
page.regions[key] += html
|
|
632
705
|
})
|
|
633
706
|
})
|
|
634
707
|
|
|
708
|
+
|
|
635
709
|
var scope = page
|
|
636
710
|
if(this.site && this.site.navigation)
|
|
637
711
|
scope.navigation = this.site.navigation
|