Load subpages
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
Page.Movies.Manage = new Class({
|
||||
var MoviesManage = new Class({
|
||||
|
||||
Extends: PageBase,
|
||||
|
||||
|
||||
@@ -2,6 +2,11 @@ Page.Movies = new Class({
|
||||
|
||||
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,
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
var CouchPotato = new Class({
|
||||
var CouchPotato = new Class({
|
||||
|
||||
Implements: [Events, Options],
|
||||
|
||||
@@ -152,7 +152,7 @@ var CouchPotato = new Class({
|
||||
pages.stableSort(self.sortPageByOrder).each(function(page){
|
||||
page['class'].load();
|
||||
self.fireEvent('load'+page.name);
|
||||
$(page['class']).inject(self.content);
|
||||
$(page['class']).inject(self.pages);
|
||||
});
|
||||
|
||||
delete pages;
|
||||
@@ -169,11 +169,11 @@ var CouchPotato = new Class({
|
||||
var self = this;
|
||||
|
||||
self.route.parse();
|
||||
var page_name = self.route.getPage().capitalize();
|
||||
var action = self.route.getAction();
|
||||
var params = self.route.getParams();
|
||||
var page_name = self.route.getPage().capitalize(),
|
||||
action = self.route.getAction(),
|
||||
params = self.route.getParams(),
|
||||
current_url = self.route.getCurrentUrl();
|
||||
|
||||
var current_url = self.route.getCurrentUrl();
|
||||
if(current_url == self.current_url)
|
||||
return;
|
||||
|
||||
|
||||
@@ -10,6 +10,8 @@ var PageBase = new Class({
|
||||
has_tab: true,
|
||||
name: '',
|
||||
|
||||
sub_pages: null,
|
||||
|
||||
initialize: function(options) {
|
||||
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){
|
||||
|
||||
Reference in New Issue
Block a user