diff --git a/couchpotato/core/media/movie/_base/static/manage.js b/couchpotato/core/media/movie/_base/static/manage.js index 295983cb..c967c459 100644 --- a/couchpotato/core/media/movie/_base/static/manage.js +++ b/couchpotato/core/media/movie/_base/static/manage.js @@ -1,4 +1,4 @@ -Page.Movies.Manage = new Class({ +var MoviesManage = new Class({ Extends: PageBase, diff --git a/couchpotato/core/media/movie/_base/static/page.js b/couchpotato/core/media/movie/_base/static/page.js index 74d3e822..00736aba 100644 --- a/couchpotato/core/media/movie/_base/static/page.js +++ b/couchpotato/core/media/movie/_base/static/page.js @@ -2,6 +2,11 @@ Page.Movies = new Class({ Extends: PageBase, - subPages: [] + name: 'movies', + sub_pages: ['Wanted', 'Manage'], -}) + indexAction: function(){ + p('test'); + } + +}); diff --git a/couchpotato/core/media/movie/_base/static/wanted.js b/couchpotato/core/media/movie/_base/static/wanted.js index 0f74cd13..d7613516 100644 --- a/couchpotato/core/media/movie/_base/static/wanted.js +++ b/couchpotato/core/media/movie/_base/static/wanted.js @@ -1,4 +1,4 @@ -Page.Movies.Wanted = new Class({ +var MoviesWanted = new Class({ Extends: PageBase, diff --git a/couchpotato/static/scripts/couchpotato.js b/couchpotato/static/scripts/couchpotato.js index 8a8f1e7c..57f1e077 100644 --- a/couchpotato/static/scripts/couchpotato.js +++ b/couchpotato/static/scripts/couchpotato.js @@ -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; diff --git a/couchpotato/static/scripts/page.js b/couchpotato/static/scripts/page.js index 57b8b108..480a4516 100644 --- a/couchpotato/static/scripts/page.js +++ b/couchpotato/static/scripts/page.js @@ -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){