Hidden pages feature - Ref #7911

This commit is contained in:
Ghislain Loaec 2015-08-05 15:23:01 +02:00
parent 4b8811ef70
commit 76beb476d8
2 changed files with 22 additions and 3 deletions

View File

@ -132,7 +132,7 @@
</script>
<script type="text/x-tmpl" id="momo-icon-item-tmpl">
<div class="col-xs-4 col-sm-3 col-md-2 col-lg-1">
<div class="col-xs-{%= o.colxs %} col-sm-{%= o.colsm %} col-md-{%= o.colmd %} col-lg-{%= o.collg %}">
<a href="#{%= o.id %}" class="btn btn-block text-center {%= o.className || 'btn-default' %}">
{% if(o.icon){ %}
<div style="height: 42px;">

View File

@ -45,6 +45,13 @@ var app = {
}
},
defaultPage: {
colxs: 4,
colsm: 3,
colmd: 2,
collg: 1
},
// Misc Data
current : 0,
isAnimating : false,
@ -318,7 +325,7 @@ var app = {
// Dev page refresh : redirect to home
window.location.replace('#');
window.location.hash = '#home'
window.location.hash = '#home';
// Import Scripts & Styles
app.appendAssets(function(){
@ -340,6 +347,9 @@ var app = {
if(data instanceof Object){
// Extends default page
data = app.utils.extend(app.defaultPage, data);
// Generate a page ID
var id = data.id = data.id ? data.id : (data.title ? app.utils.hyphenate(data.title) : '_' + Math.random().toString(36).substr(2, 9));
@ -360,6 +370,14 @@ var app = {
}
}
// Register hidden pages childrens
if(data._pages instanceof Array){
for(var i = 0; i < data._pages.length; i++){
var page = data._pages[i];
app.pages[data.id]._pages[i] = app.registerPage(page, false);
}
}
// Register page childrens
if(data.pages instanceof Array){
for(var i = 0; i < data.pages.length; i++){
@ -424,13 +442,13 @@ var app = {
// Render every page
for(var page in app.pages){
//app.renderPage(app.pages[page]);
var $page = document.createElement('div');
$page.id = app.pages[page].id;
$page.className = "momo-page";
if($page.id == 'home'){
$page.classList.add('momo-page-current');
$page.innerHTML = app.renderPage(app.pages[page]);
document.title = app.pages[page].title;
}
document.getElementById('momo-pages').appendChild($page);
}
@ -478,6 +496,7 @@ var app = {
}
app.isAnimating = true;
document.title = page_obj.title;
var $outpage = document.getElementById(app.current_page);
var $inpage = document.getElementById(page);