Allow page ordering
This commit is contained in:
@@ -2,6 +2,7 @@ Page.Manage = new Class({
|
||||
|
||||
Extends: PageBase,
|
||||
|
||||
order: 20,
|
||||
name: 'manage',
|
||||
title: 'Do stuff to your existing movies!',
|
||||
|
||||
@@ -2,6 +2,7 @@ Page.Wanted = new Class({
|
||||
|
||||
Extends: PageBase,
|
||||
|
||||
order: 10,
|
||||
name: 'wanted',
|
||||
title: 'Gimmy gimmy gimmy!',
|
||||
folder_browser: null,
|
||||
@@ -2,6 +2,7 @@ Page.Log = new Class({
|
||||
|
||||
Extends: PageBase,
|
||||
|
||||
order: 60,
|
||||
name: 'log',
|
||||
title: 'Show recent logs.',
|
||||
has_tab: false,
|
||||
|
||||
@@ -2,6 +2,7 @@ Page.Userscript = new Class({
|
||||
|
||||
Extends: PageBase,
|
||||
|
||||
order: 80,
|
||||
name: 'userscript',
|
||||
has_tab: false,
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@ Page.Wizard = new Class({
|
||||
|
||||
Extends: Page.Settings,
|
||||
|
||||
order: 70,
|
||||
name: 'wizard',
|
||||
has_tab: false,
|
||||
wizard_only: true,
|
||||
|
||||
@@ -137,19 +137,34 @@
|
||||
createPages: function(){
|
||||
var self = this;
|
||||
|
||||
var pages = [];
|
||||
Object.each(Page, function(page_class, class_name){
|
||||
var pg = new Page[class_name](self, {});
|
||||
self.pages[class_name] = pg;
|
||||
|
||||
self.fireEvent('load'+class_name);
|
||||
|
||||
$(pg).inject(self.content);
|
||||
pages.include({
|
||||
'order': pg.order,
|
||||
'name': class_name,
|
||||
'class': pg
|
||||
});
|
||||
});
|
||||
|
||||
pages.stableSort(self.sortPageByOrder).each(function(page){
|
||||
page['class'].load();
|
||||
self.fireEvent('load'+page.name);
|
||||
$(page['class']).inject(self.content);
|
||||
});
|
||||
|
||||
delete pages;
|
||||
|
||||
self.fireEvent('load');
|
||||
|
||||
},
|
||||
|
||||
sortPageByOrder: function(a, b){
|
||||
return (a.order || 100) - (b.order || 100)
|
||||
},
|
||||
|
||||
openPage: function(url) {
|
||||
var self = this;
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@ var PageBase = new Class({
|
||||
|
||||
},
|
||||
|
||||
order: 1,
|
||||
has_tab: true,
|
||||
name: '',
|
||||
|
||||
@@ -16,6 +17,10 @@ var PageBase = new Class({
|
||||
|
||||
// Create main page container
|
||||
self.el = new Element('div.page.'+self.name);
|
||||
},
|
||||
|
||||
load: function(){
|
||||
var self = this;
|
||||
|
||||
// Create tab for page
|
||||
if(self.has_tab){
|
||||
@@ -26,6 +31,7 @@ var PageBase = new Class({
|
||||
'text': self.name.capitalize()
|
||||
});
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
open: function(action, params){
|
||||
|
||||
@@ -2,6 +2,7 @@ Page.Settings = new Class({
|
||||
|
||||
Extends: PageBase,
|
||||
|
||||
order: 50,
|
||||
name: 'settings',
|
||||
title: 'Change settings.',
|
||||
wizard_only: false,
|
||||
@@ -112,7 +113,7 @@ Page.Settings = new Class({
|
||||
},
|
||||
|
||||
sortByOrder: function(a, b){
|
||||
return (a.order || 100) - (b.order || 100)
|
||||
return (a.order || 100) - (b.order || 100)
|
||||
},
|
||||
|
||||
create: function(json){
|
||||
|
||||
Reference in New Issue
Block a user