Merge branch 'refs/heads/develop' into tv

Conflicts:
	couchpotato/core/media/movie/_base/main.py
	couchpotato/core/media/movie/library/movie/main.py
	couchpotato/core/plugins/dashboard/main.py
	couchpotato/core/plugins/profile/main.py
	couchpotato/core/plugins/release/main.py
	couchpotato/core/plugins/suggestion/main.py
This commit is contained in:
Ruud
2013-09-11 23:13:28 +02:00
120 changed files with 4428 additions and 1660 deletions
+3 -3
View File
@@ -1,7 +1,7 @@
var ApiClass = new Class({
setup: function(options){
var self = this
var self = this;
self.options = options;
},
@@ -13,7 +13,7 @@ var ApiClass = new Class({
return new Request[r_type](Object.merge({
'callbackKey': 'callback_func',
'method': 'get',
'url': self.createUrl(type, {'t': randomString()}),
'url': self.createUrl(type, {'t': randomString()})
}, options)).send()
},
@@ -26,4 +26,4 @@ var ApiClass = new Class({
}
});
window.Api = new ApiClass()
window.Api = new ApiClass();
+1 -1
View File
@@ -36,4 +36,4 @@ var BlockBase = new Class({
});
var Block = BlockBase
var Block = BlockBase;
+5 -6
View File
@@ -18,11 +18,11 @@ Block.Menu = new Class({
self.button = new Element('a.button' + (self.options.button_class ? '.' + self.options.button_class : ''), {
'events': {
'click': function(){
self.el.toggleClass('show')
self.fireEvent(self.el.hasClass('show') ? 'open' : 'close')
self.el.toggleClass('show');
self.fireEvent(self.el.hasClass('show') ? 'open' : 'close');
if(self.el.hasClass('show')){
self.el.addEvent('outerClick', self.removeOuterClick.bind(self))
self.el.addEvent('outerClick', self.removeOuterClick.bind(self));
this.addEvent('outerClick', function(e){
if(e.target.get('tag') != 'input')
self.removeOuterClick()
@@ -41,7 +41,7 @@ Block.Menu = new Class({
removeOuterClick: function(){
var self = this;
self.el.removeClass('show')
self.el.removeClass('show');
self.el.removeEvents('outerClick');
self.button.removeEvents('outerClick');
@@ -49,8 +49,7 @@ Block.Menu = new Class({
addLink: function(tab, position){
var self = this;
var el = new Element('li').adopt(tab).inject(self.more_option_ul, position || 'bottom');
return el;
return new Element('li').adopt(tab).inject(self.more_option_ul, position || 'bottom');
}
});
@@ -5,7 +5,6 @@ Block.Navigation = new Class({
create: function(){
var self = this;
var settings_added = false;
self.el = new Element('div.navigation').adopt(
self.foldout = new Element('a.foldout.icon2.menu', {
'events': {
@@ -28,7 +27,7 @@ Block.Navigation = new Class({
'duration': 100
}
})
)
);
new ScrollSpy({
min: 400,
@@ -58,7 +57,7 @@ Block.Navigation = new Class({
},
toggleMenu: function(e){
toggleMenu: function(){
var self = this,
body = $(document.body),
html = body.getParent();
+23 -25
View File
@@ -15,7 +15,7 @@
var self = this;
self.setOptions(options);
self.c = $(document.body)
self.c = $(document.body);
self.route = new Route(self.defaults);
@@ -48,7 +48,6 @@
},
pushState: function(e){
var self = this;
if((!e.meta && Browser.Platform.mac) || (!e.control && !Browser.Platform.mac)){
(e).preventDefault();
var url = e.target.get('href');
@@ -112,11 +111,11 @@
'click': self.shutdownQA.bind(self)
}
})
]
];
setting_links.each(function(a){
self.block.more.addLink(a)
})
});
new ScrollSpy({
@@ -134,7 +133,7 @@
var self = this;
Object.each(Page, function(page_class, class_name){
pg = new Page[class_name](self, {});
var pg = new Page[class_name](self, {});
self.pages[class_name] = pg;
$(pg).inject(self.content);
@@ -157,7 +156,7 @@
return;
if(self.current_page)
self.current_page.hide()
self.current_page.hide();
try {
var page = self.pages[page_name] || self.pages.Home;
@@ -191,7 +190,7 @@
self.checkAvailable(1000);
},
shutdownQA: function(e){
shutdownQA: function(){
var self = this;
var q = new Question('Are you sure you want to shutdown CouchPotato?', '', [{
@@ -240,7 +239,7 @@
checkForUpdate: function(onComplete){
var self = this;
Updater.check(onComplete)
Updater.check(onComplete);
self.blockPage('Please wait. If this takes too long, something must have gone wrong.', 'Checking for updates');
self.checkAvailable(3000);
@@ -258,7 +257,7 @@
},
'onSuccess': function(){
if(onAvailable)
onAvailable()
onAvailable();
self.unBlockPage();
self.fireEvent('reload');
}
@@ -272,7 +271,6 @@
self.unBlockPage();
var body = $(document.body);
self.mask = new Element('div.mask').adopt(
new Element('div').adopt(
new Element('h1', {'text': title || 'Unavailable'}),
@@ -329,7 +327,7 @@
'target': '',
'events': {
'click': function(e){
(e).stop()
(e).stop();
alert('Drag it to your bookmark ;)')
}
}
@@ -352,35 +350,35 @@ var Route = new Class({
params: {},
initialize: function(defaults){
var self = this
var self = this;
self.defaults = defaults
},
parse: function(){
var self = this;
var rep = function(pa){
var rep = function (pa) {
return pa.replace(Api.getOption('url'), '/').replace(App.getOption('base_url'), '/')
}
};
var path = rep(History.getPath())
var path = rep(History.getPath());
if(path == '/' && location.hash){
path = rep(location.hash.replace('#', '/'))
}
self.current = path.replace(/^\/+|\/+$/g, '')
var url = self.current.split('/')
self.current = path.replace(/^\/+|\/+$/g, '');
var url = self.current.split('/');
self.page = (url.length > 0) ? url.shift() : self.defaults.page
self.action = (url.length > 0) ? url.shift() : self.defaults.action
self.page = (url.length > 0) ? url.shift() : self.defaults.page;
self.action = (url.length > 0) ? url.shift() : self.defaults.action;
self.params = Object.merge({}, self.defaults.params);
if(url.length > 1){
var key
var key;
url.each(function(el, nr){
if(nr%2 == 0)
key = el
key = el;
else if(key) {
self.params[key] = el
self.params[key] = el;
key = null
}
})
@@ -488,8 +486,8 @@ function randomString(length, extra) {
var comparer = function(a, b) {
for (var i = 0, l = keyPaths.length; i < l; i++) {
aVal = valueOf(a, keyPaths[i].path);
bVal = valueOf(b, keyPaths[i].path);
var aVal = valueOf(a, keyPaths[i].path),
bVal = valueOf(b, keyPaths[i].path);
if (aVal > bVal) return keyPaths[i].sign;
if (aVal < bVal) return -keyPaths[i].sign;
}
@@ -530,4 +528,4 @@ var createSpinner = function(target, options){
}, options);
return new Spinner(opts).spin(target);
}
};
+2 -2
View File
@@ -12,7 +12,7 @@ var PageBase = new Class({
initialize: function(options) {
var self = this;
self.setOptions(options)
self.setOptions(options);
// Create main page container
self.el = new Element('div.page.'+self.name);
@@ -74,4 +74,4 @@ var PageBase = new Class({
}
});
var Page = {}
var Page = {};
+2 -2
View File
@@ -13,7 +13,7 @@ var AboutSettingTab = new Class({
addSettings: function(){
var self = this;
self.settings = App.getPage('Settings')
self.settings = App.getPage('Settings');
self.settings.addEvent('create', function(){
var tab = self.settings.createTab('about', {
'label': 'About',
@@ -72,7 +72,7 @@ var AboutSettingTab = new Class({
);
if(!self.fillVersion(Updater.getInfo()))
Updater.addEvent('loaded', self.fillVersion.bind(self))
Updater.addEvent('loaded', self.fillVersion.bind(self));
self.settings.createGroup({
'name': 'Help Support CouchPotato'
+60 -28
View File
@@ -5,7 +5,7 @@ Page.Home = new Class({
name: 'home',
title: 'Manage new stuff for things and such',
indexAction: function(param){
indexAction: function () {
var self = this;
if(self.soon_list){
@@ -14,10 +14,24 @@ Page.Home = new Class({
self.available_list.update();
self.late_list.update();
return
return;
}
// Snatched
self.chain = new Chain();
self.chain.chain(
self.createAvailable.bind(self),
self.createSoon.bind(self),
self.createSuggestions.bind(self),
self.createLate.bind(self)
);
self.chain.callChain();
},
createAvailable: function(){
var self = this;
self.available_list = new MovieList({
'navigation': false,
'identifier': 'snatched',
@@ -40,9 +54,19 @@ Page.Home = new Class({
'filter': {
'release_status': 'snatched,available'
},
'limit': null
'limit': null,
'onLoaded': function(){
self.chain.callChain();
}
});
$(self.available_list).inject(self.el);
},
createSoon: function(){
var self = this;
// Coming Soon
self.soon_list = new MovieList({
'navigation': false,
@@ -50,10 +74,6 @@ Page.Home = new Class({
'limit': 12,
'title': 'Available soon',
'description': 'These are being searched for and should be available soon as they will be released on DVD in the next few weeks.',
'on_empty_element': new Element('div').adopt(
new Element('h2', {'text': 'Available soon'}),
new Element('span', {'text': 'There are no movies available soon. Add some movies, so you have something to watch later.'})
),
'filter': {
'random': true
},
@@ -61,7 +81,10 @@ Page.Home = new Class({
'load_more': false,
'view': 'thumbs',
'force_view': true,
'api_call': 'dashboard.soon'
'api_call': 'dashboard.soon',
'onLoaded': function(){
self.chain.callChain();
}
});
// Make all thumbnails the same size
@@ -99,10 +122,30 @@ Page.Home = new Class({
images.setStyle('height', highest);
}).delay(300);
});
});
$(self.soon_list).inject(self.el);
},
createSuggestions: function(){
var self = this;
// Suggest
self.suggestion_list = new SuggestList();
self.suggestion_list = new SuggestList({
'onLoaded': function(){
self.chain.callChain();
}
});
$(self.suggestion_list).inject(self.el);
},
createLate: function(){
var self = this;
// Still not available
self.late_list = new MovieList({
@@ -110,7 +153,7 @@ Page.Home = new Class({
'identifier': 'late',
'limit': 50,
'title': 'Still not available',
'description': 'Try another quality profile or maybe add more providers in <a href="'+App.createUrl('settings/searcher/providers/')+'">Settings</a>.',
'description': 'Try another quality profile or maybe add more providers in <a href="' + App.createUrl('settings/searcher/providers/') + '">Settings</a>.',
'filter': {
'late': true
},
@@ -118,25 +161,14 @@ Page.Home = new Class({
'load_more': false,
'view': 'list',
'actions': [MA.IMDB, MA.Trailer, MA.Edit, MA.Refresh, MA.Delete],
'api_call': 'dashboard.soon'
'api_call': 'dashboard.soon',
'onLoaded': function(){
self.chain.callChain();
}
});
self.el.adopt(
$(self.available_list),
$(self.soon_list),
$(self.suggestion_list),
$(self.late_list)
);
// Recent
// Snatched
// Renamed
// Added
// Free space
// Shortcuts
$(self.late_list).inject(self.el);
}
})
});
+3 -3
View File
@@ -5,7 +5,7 @@ Page.Manage = new Class({
name: 'manage',
title: 'Do stuff to your existing movies!',
indexAction: function(param){
indexAction: function(){
var self = this;
if(!self.list){
@@ -73,7 +73,7 @@ Page.Manage = new Class({
'data': {
'full': +full
}
})
});
self.startProgressInterval();
@@ -108,7 +108,7 @@ Page.Manage = new Class({
return;
if(!self.progress_container)
self.progress_container = new Element('div.progress').inject(self.list.navigation, 'after')
self.progress_container = new Element('div.progress').inject(self.list.navigation, 'after');
self.progress_container.empty();
+79 -86
View File
@@ -46,16 +46,16 @@ Page.Settings = new Class({
var t = self.tabs[tab_name] || self.tabs[self.action] || self.tabs.general;
// Subtab
var subtab = null
var subtab = null;
Object.each(self.params, function(param, subtab_name){
subtab = subtab_name;
})
});
self.el.getElements('li.'+c+' , .tab_content.'+c).each(function(active){
active.removeClass(c);
});
if (t.subtabs[subtab]){
if(t.subtabs[subtab]){
t.tab[a](c);
t.subtabs[subtab].tab[a](c);
t.subtabs[subtab].content[a](c);
@@ -87,7 +87,7 @@ Page.Settings = new Class({
self.data = json;
onComplete(json);
}
})
});
return self.data;
},
@@ -139,7 +139,7 @@ Page.Settings = new Class({
Object.each(json.options, function(section, section_name){
section['section_name'] = section_name;
options.include(section);
})
});
options.sort(function(a, b){
return (a.order || 100) - (b.order || 100)
@@ -156,13 +156,13 @@ Page.Settings = new Class({
// Create tab
if(!self.tabs[group.tab] || !self.tabs[group.tab].groups)
self.createTab(group.tab, {});
var content_container = self.tabs[group.tab].content
var content_container = self.tabs[group.tab].content;
// Create subtab
if(group.subtab){
if (!self.tabs[group.tab].subtabs[group.subtab])
if(!self.tabs[group.tab].subtabs[group.subtab])
self.createSubTab(group.subtab, group, self.tabs[group.tab], group.tab);
var content_container = self.tabs[group.tab].subtabs[group.subtab].content
content_container = self.tabs[group.tab].subtabs[group.subtab].content
}
if(group.list && !self.lists[group.list]){
@@ -170,12 +170,10 @@ Page.Settings = new Class({
}
// Create the group
if(!self.tabs[group.tab].groups[group.name]){
var group_el = self.createGroup(group)
if(!self.tabs[group.tab].groups[group.name])
self.tabs[group.tab].groups[group.name] = self.createGroup(group)
.inject(group.list ? self.lists[group.list] : content_container)
.addClass('section_'+section_name);
self.tabs[group.tab].groups[group.name] = group_el;
}
// Create list if needed
if(group.type && group.type == 'list'){
@@ -208,9 +206,9 @@ Page.Settings = new Class({
var self = this;
if(self.tabs[tab_name] && self.tabs[tab_name].tab)
return self.tabs[tab_name].tab
return self.tabs[tab_name].tab;
var label = tab.label || (tab.name || tab_name).capitalize()
var label = tab.label || (tab.name || tab_name).capitalize();
var tab_el = new Element('li.t_'+tab_name).adopt(
new Element('a', {
'href': App.createUrl(self.name+'/'+tab_name),
@@ -221,14 +219,14 @@ Page.Settings = new Class({
if(!self.tabs[tab_name])
self.tabs[tab_name] = {
'label': label
}
};
self.tabs[tab_name] = Object.merge(self.tabs[tab_name], {
'tab': tab_el,
'subtabs': {},
'content': new Element('div.tab_content.tab_'+tab_name).inject(self.containers),
'content': new Element('div.tab_content.tab_' + tab_name).inject(self.containers),
'groups': {}
})
});
return self.tabs[tab_name]
@@ -238,12 +236,12 @@ Page.Settings = new Class({
var self = this;
if(parent_tab.subtabs[tab_name])
return parent_tab.subtabs[tab_name]
return parent_tab.subtabs[tab_name];
if(!parent_tab.subtabs_el)
parent_tab.subtabs_el = new Element('ul.subtabs').inject(parent_tab.tab);
var label = tab.subtab_label || tab_name.replace('_', ' ').capitalize()
var label = tab.subtab_label || tab_name.replace('_', ' ').capitalize();
var tab_el = new Element('li.t_'+tab_name).adopt(
new Element('a', {
'href': App.createUrl(self.name+'/'+parent_tab_name+'/'+tab_name),
@@ -254,7 +252,7 @@ Page.Settings = new Class({
if(!parent_tab.subtabs[tab_name])
parent_tab.subtabs[tab_name] = {
'label': label
}
};
parent_tab.subtabs[tab_name] = Object.merge(parent_tab.subtabs[tab_name], {
'tab': tab_el,
@@ -267,21 +265,17 @@ Page.Settings = new Class({
},
createGroup: function(group){
var self = this;
var group_el = new Element('fieldset', {
return new Element('fieldset', {
'class': (group.advanced ? 'inlineLabels advanced' : 'inlineLabels') + ' group_' + (group.name || '') + ' subtab_' + (group.subtab || '')
}).adopt(
new Element('h2', {
'text': group.label || (group.name).capitalize()
}).adopt(
new Element('span.hint', {
'html': group.description || ''
})
)
)
return group_el
new Element('h2', {
'text': group.label || (group.name).capitalize()
}).adopt(
new Element('span.hint', {
'html': group.description || ''
})
)
);
},
createList: function(content_container){
@@ -299,12 +293,12 @@ var OptionBase = new Class({
Implements: [Options, Events],
klass: 'textInput',
focused_class : 'focused',
focused_class: 'focused',
save_on_change: true,
initialize: function(section, name, value, options){
var self = this
self.setOptions(options)
var self = this;
self.setOptions(options);
self.section = section;
self.name = name;
@@ -330,10 +324,11 @@ var OptionBase = new Class({
*/
createBase: function(){
var self = this;
self.el = new Element('div.ctrlHolder.'+self.section + '_' + self.name)
self.el = new Element('div.ctrlHolder.' + self.section + '_' + self.name)
},
create: function(){},
create: function(){
},
createLabel: function(){
var self = this;
@@ -343,7 +338,7 @@ var OptionBase = new Class({
},
setAdvanced: function(){
this.el.addClass(this.options.advanced ? 'advanced': '')
this.el.addClass(this.options.advanced ? 'advanced' : '')
},
createHint: function(){
@@ -354,7 +349,8 @@ var OptionBase = new Class({
}).inject(self.el);
},
afterInject: function(){},
afterInject: function(){
},
// Element has changed, do something
changed: function(){
@@ -407,7 +403,7 @@ var OptionBase = new Class({
postName: function(){
var self = this;
return self.section +'['+self.name+']';
return self.section + '[' + self.name + ']';
},
getValue: function(){
@@ -427,16 +423,16 @@ var OptionBase = new Class({
toElement: function(){
return this.el;
}
})
});
var Option = {}
var Option = {};
Option.String = new Class({
Extends: OptionBase,
type: 'string',
create: function(){
var self = this
var self = this;
self.el.adopt(
self.createLabel(),
@@ -458,21 +454,21 @@ Option.Dropdown = new Class({
Extends: OptionBase,
create: function(){
var self = this
var self = this;
self.el.adopt(
self.createLabel(),
self.input = new Element('select', {
'name': self.postName()
})
)
);
Object.each(self.options.values, function(value){
new Element('option', {
'text': value[0],
'value': value[1]
}).inject(self.input)
})
});
self.input.set('value', self.getSettingValue());
@@ -491,7 +487,7 @@ Option.Checkbox = new Class({
create: function(){
var self = this;
var randomId = 'r-'+randomString()
var randomId = 'r-' + randomString();
self.el.adopt(
self.createLabel().set('for', randomId),
@@ -520,8 +516,8 @@ Option.Password = new Class({
create: function(){
var self = this;
self.parent()
self.input.set('type', 'password')
self.parent();
self.input.set('type', 'password');
self.input.addEvent('focus', function(){
self.input.set('value', '')
@@ -570,9 +566,9 @@ Option.Enabler = new Class({
afterInject: function(){
var self = this;
self.parentFieldset = self.el.getParent('fieldset').addClass('enabler')
self.parentFieldset = self.el.getParent('fieldset').addClass('enabler');
self.parentList = self.parentFieldset.getParent('.option_list');
self.el.inject(self.parentFieldset, 'top')
self.el.inject(self.parentFieldset, 'top');
self.checkState()
}
@@ -622,7 +618,7 @@ Option.Directory = new Class({
self.getDirs()
},
previousDirectory: function(e){
previousDirectory: function(){
var self = this;
self.selectDirectory(self.getParentDir())
@@ -697,8 +693,8 @@ Option.Directory = new Class({
self.initial_directory = self.input.get('text');
self.getDirs()
self.browser.show()
self.getDirs();
self.browser.show();
self.el.addEvent('outerClick', self.hideBrowser.bind(self))
},
@@ -707,11 +703,11 @@ Option.Directory = new Class({
(e).preventDefault();
if(save)
self.save()
self.save();
else
self.input.set('text', self.initial_directory);
self.browser.hide()
self.browser.hide();
self.el.removeEvents('outerClick')
},
@@ -732,11 +728,11 @@ Option.Directory = new Class({
var prev_dirname = self.getCurrentDirname(previous_dir);
if(previous_dir == json.home)
prev_dirname = 'Home';
else if (previous_dir == '/' && json.platform == 'nt')
else if(previous_dir == '/' && json.platform == 'nt')
prev_dirname = 'Computer';
self.back_button.set('data-value', previous_dir)
self.back_button.set('html', '&laquo; '+prev_dirname)
self.back_button.set('data-value', previous_dir);
self.back_button.set('html', '&laquo; ' + prev_dirname);
self.back_button.show()
}
else {
@@ -798,8 +794,6 @@ Option.Directory = new Class({
},
getCurrentDirname: function(dir){
var self = this;
var dir_split = dir.split(Api.getOption('path_sep'));
return dir_split[dir_split.length-2] || Api.getOption('path_sep')
@@ -848,7 +842,7 @@ Option.Directories = new Class({
var parent = self.el.getParent('fieldset');
var dirs = parent.getElements('.multi_directory');
if(dirs.length == 0)
$(dir).inject(parent)
$(dir).inject(parent);
else
$(dir).inject(dirs.getLast(), 'after');
@@ -885,7 +879,7 @@ Option.Directories = new Class({
saveItems: function(){
var self = this;
var dirs = []
var dirs = [];
self.directories.each(function(dir){
if(dir.getValue()){
$(dir).removeClass('is_empty');
@@ -957,7 +951,7 @@ Option.Choice = new Class({
}).inject(self.input, 'after');
self.el.addClass('tag_input');
var mtches = []
var mtches = [];
if(matches)
matches.each(function(match, mnr){
var pos = value.indexOf(match),
@@ -1037,7 +1031,7 @@ Option.Choice = new Class({
var prev_index = self.tags.indexOf(from_tag)-1;
if(prev_index >= 0)
self.tags[prev_index].selectFrom('right')
self.tags[prev_index].selectFrom('right');
else
from_tag.focus();
@@ -1049,7 +1043,7 @@ Option.Choice = new Class({
var next_index = self.tags.indexOf(from_tag)+1;
if(next_index < self.tags.length)
self.tags[next_index].selectFrom('left')
self.tags[next_index].selectFrom('left');
else
from_tag.focus();
},
@@ -1139,7 +1133,7 @@ Option.Choice.Tag = new Class({
if(e.key == 'left' && current_caret_pos == self.last_caret_pos){
self.fireEvent('goLeft');
}
else if (e.key == 'right' && self.last_caret_pos === current_caret_pos){
else if(e.key == 'right' && self.last_caret_pos === current_caret_pos){
self.fireEvent('goRight');
}
self.last_caret_pos = self.input.getCaretPosition();
@@ -1195,11 +1189,11 @@ Option.Choice.Tag = new Class({
self.fireEvent('goRight');
this.destroy();
}
else if (e.key == 'left'){
else if(e.key == 'left'){
self.fireEvent('goLeft');
this.destroy();
}
else if (e.key == 'backspace'){
else if(e.key == 'backspace'){
self.del();
this.destroy();
self.fireEvent('goLeft');
@@ -1213,7 +1207,7 @@ Option.Choice.Tag = new Class({
'top': -200
}
});
self.el.adopt(temp_input)
self.el.adopt(temp_input);
temp_input.focus();
}
},
@@ -1266,10 +1260,10 @@ Option.Combined = new Class({
self.fieldset = self.input.getParent('fieldset');
self.combined_list = new Element('div.combined_table').inject(self.fieldset.getElement('h2'), 'after');
self.values = {}
self.inputs = {}
self.items = []
self.labels = {}
self.values = {};
self.inputs = {};
self.items = [];
self.labels = {};
self.options.combine.each(function(name){
@@ -1277,7 +1271,7 @@ Option.Combined = new Class({
var values = self.inputs[name].get('value').split(',');
values.each(function(value, nr){
if (!self.values[nr]) self.values[nr] = {};
if(!self.values[nr]) self.values[nr] = {};
self.values[nr][name] = value.trim();
});
@@ -1286,19 +1280,18 @@ Option.Combined = new Class({
});
var head = new Element('div.head').inject(self.combined_list)
var head = new Element('div.head').inject(self.combined_list);
Object.each(self.inputs, function(input, name){
self.labels[name] = input.getPrevious().get('text')
self.labels[name] = input.getPrevious().get('text');
new Element('abbr', {
'class': name,
'text': self.labels[name],
//'title': input.getNext().get('text')
'text': self.labels[name]
}).inject(head)
})
});
Object.each(self.values, function(item, nr){
Object.each(self.values, function(item){
self.createItem(item);
});
@@ -1316,7 +1309,7 @@ Option.Combined = new Class({
self.items.each(function(ctrl_holder){
var empty_count = 0;
self.options.combine.each(function(name){
var input = ctrl_holder.getElement('input.'+name)
var input = ctrl_holder.getElement('input.' + name);
if(input.get('value') == '' || input.get('type') == 'checkbox')
empty_count++
});
@@ -1338,7 +1331,7 @@ Option.Combined = new Class({
value_empty = 0;
self.options.combine.each(function(name){
var value = values[name] || ''
var value = values[name] || '';
if(name.indexOf('use') != -1){
var checkbox = new Element('input[type=checkbox].inlay.'+name, {
@@ -1375,7 +1368,7 @@ Option.Combined = new Class({
'events': {
'click': self.deleteCombinedItem.bind(self)
}
}).inject(item)
}).inject(item);
self.items.include(item);
@@ -1386,7 +1379,7 @@ Option.Combined = new Class({
var self = this;
var temp = {}
var temp = {};
self.items.each(function(item, nr){
self.options.combine.each(function(name){
var input = item.getElement('input.'+name);
+2 -2
View File
@@ -5,7 +5,7 @@ Page.Wanted = new Class({
name: 'wanted',
title: 'Gimmy gimmy gimmy!',
indexAction: function(param){
indexAction: function(){
var self = this;
if(!self.wanted){
@@ -35,7 +35,7 @@ Page.Wanted = new Class({
},
doFullSearch: function(full){
doFullSearch: function(){
var self = this;
if(!self.search_in_progress){