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