Load subpages
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
Page.Movies.Manage = new Class({
|
var MoviesManage = new Class({
|
||||||
|
|
||||||
Extends: PageBase,
|
Extends: PageBase,
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,11 @@ Page.Movies = new Class({
|
|||||||
|
|
||||||
Extends: PageBase,
|
Extends: PageBase,
|
||||||
|
|
||||||
subPages: []
|
name: 'movies',
|
||||||
|
sub_pages: ['Wanted', 'Manage'],
|
||||||
|
|
||||||
})
|
indexAction: function(){
|
||||||
|
p('test');
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
Page.Movies.Wanted = new Class({
|
var MoviesWanted = new Class({
|
||||||
|
|
||||||
Extends: PageBase,
|
Extends: PageBase,
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
var CouchPotato = new Class({
|
var CouchPotato = new Class({
|
||||||
|
|
||||||
Implements: [Events, Options],
|
Implements: [Events, Options],
|
||||||
|
|
||||||
@@ -152,7 +152,7 @@ var CouchPotato = new Class({
|
|||||||
pages.stableSort(self.sortPageByOrder).each(function(page){
|
pages.stableSort(self.sortPageByOrder).each(function(page){
|
||||||
page['class'].load();
|
page['class'].load();
|
||||||
self.fireEvent('load'+page.name);
|
self.fireEvent('load'+page.name);
|
||||||
$(page['class']).inject(self.content);
|
$(page['class']).inject(self.pages);
|
||||||
});
|
});
|
||||||
|
|
||||||
delete pages;
|
delete pages;
|
||||||
@@ -169,11 +169,11 @@ var CouchPotato = new Class({
|
|||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
self.route.parse();
|
self.route.parse();
|
||||||
var page_name = self.route.getPage().capitalize();
|
var page_name = self.route.getPage().capitalize(),
|
||||||
var action = self.route.getAction();
|
action = self.route.getAction(),
|
||||||
var params = self.route.getParams();
|
params = self.route.getParams(),
|
||||||
|
current_url = self.route.getCurrentUrl();
|
||||||
|
|
||||||
var current_url = self.route.getCurrentUrl();
|
|
||||||
if(current_url == self.current_url)
|
if(current_url == self.current_url)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|||||||
@@ -10,6 +10,8 @@ var PageBase = new Class({
|
|||||||
has_tab: true,
|
has_tab: true,
|
||||||
name: '',
|
name: '',
|
||||||
|
|
||||||
|
sub_pages: null,
|
||||||
|
|
||||||
initialize: function(options) {
|
initialize: function(options) {
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
@@ -32,6 +34,38 @@ var PageBase = new Class({
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(self.sub_pages){
|
||||||
|
self.loadSubPages();
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
loadSubPages: function(){
|
||||||
|
var self = this;
|
||||||
|
|
||||||
|
var sub_pages = self.sub_pages;
|
||||||
|
|
||||||
|
self.pages = new Element('div.pages').inject(self.el);
|
||||||
|
|
||||||
|
self.sub_pages = [];
|
||||||
|
sub_pages.each(function(class_name){
|
||||||
|
var pg = new window[self.name.capitalize()+class_name](self, {});
|
||||||
|
self.sub_pages[class_name] = pg;
|
||||||
|
|
||||||
|
self.sub_pages.include({
|
||||||
|
'order': pg.order,
|
||||||
|
'name': class_name,
|
||||||
|
'class': pg
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
self.sub_pages.stableSort(self.sortPageByOrder).each(function(page){
|
||||||
|
page['class'].load();
|
||||||
|
self.fireEvent('load'+page.name);
|
||||||
|
|
||||||
|
$(page['class']).inject(self.pages);
|
||||||
|
});
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
open: function(action, params){
|
open: function(action, params){
|
||||||
|
|||||||
Reference in New Issue
Block a user