updating list icon selector

This commit is contained in:
rolux 2011-11-11 13:20:53 +00:00
parent 600d7ec974
commit 20071c208e
2 changed files with 39 additions and 21 deletions

View file

@ -21,7 +21,7 @@ pandora.ui.listDialog = function(section) {
if (id == 'general') { if (id == 'general') {
return pandora.ui.listGeneralPanel(listData); return pandora.ui.listGeneralPanel(listData);
} else if (id == 'icon') { } else if (id == 'icon') {
return pandora.ui.listIconPanel(listData); return pandora.$ui.listIconPanel = pandora.ui.listIconPanel(listData);
} else if (id == 'query') { } else if (id == 'query') {
return pandora.$ui.filterForm = pandora.ui.filterForm(listData); return pandora.$ui.filterForm = pandora.ui.filterForm(listData);
} }
@ -41,28 +41,40 @@ pandora.ui.listDialog = function(section) {
$findElement[data.selected == 'icon' ? 'show' : 'hide'](); $findElement[data.selected == 'icon' ? 'show' : 'hide']();
} }
}); });
pandora.$ui.listDialogTabPanel.$element.find('.OxButtonGroup').css({width: '256px'});
var $findElement = Ox.FormElementGroup({ var $findElement = Ox.FormElementGroup({
elements: [ elements: [
pandora.$ui.findIconItemSelect = Ox.Select({ pandora.$ui.findIconItemSelect = Ox.Select({
items: pandora.site.findKeys, items: pandora.site.findKeys.map(function(findKey) {
return {id: findKey.id, title: 'Find: ' + findKey.title};
}),
overlap: 'right', overlap: 'right',
type: 'image' type: 'image'
}) })
.bindEvent({ .bindEvent({
change: function(data) { change: function(data) {
pandora.$ui.findIconItemInput.options({
placeholder: data.selected[0].title
});
// fixme: this is a bit weird
setTimeout(function() {
pandora.$ui.findIconItemInput.focusInput();
}, 250);
} }
}), }),
pandora.$ui.findIconItemInput = Ox.Input({ pandora.$ui.findIconItemInput = Ox.Input({
changeOnKeypress: true, //changeOnKeypress: true,
clear: true, clear: true,
placeholder: 'Find: Foo', placeholder: 'Find: All',
width: 120 + Ox.UI.SCROLLBAR_SIZE width: 128 + Ox.UI.SCROLLBAR_SIZE
}) })
.bindEvent({ .bindEvent({
change: function(data) { change: function(data) {
pandora.$ui.listIconPanel.updateQuery(
pandora.$ui.findIconItemSelect.value(),
data.value
);
} }
}) })
], ],
@ -79,15 +91,6 @@ pandora.ui.listDialog = function(section) {
var $dialog = Ox.Dialog({ var $dialog = Ox.Dialog({
buttons: [ buttons: [
Ox.Button({
id: 'debug',
title: 'Debug',
})
.bindEvent({
click: function() {
alert(JSON.stringify(pandora.$ui.filter.options('query')));
}
}),
Ox.Button({ Ox.Button({
id: 'done', id: 'done',
title: 'Done' title: 'Done'
@ -360,10 +363,9 @@ pandora.ui.listIconPanel = function(listData) {
}; };
}, },
items: function(data, callback) { items: function(data, callback) {
//Ox.Log('', 'data, pandora.Query.toObject', data, pandora.Query.toObject())
pandora.api.find(Ox.extend(data, { pandora.api.find(Ox.extend(data, {
query: { query: {
conditions: [{key: 'list', value: listData.id, operator: '='}], conditions: [{key: 'list', value: listData.id, operator: '=='}],
operator: '&' operator: '&'
} }
}), callback); }), callback);
@ -476,6 +478,22 @@ pandora.ui.listIconPanel = function(listData) {
$frame.css('border-' + quarters[quarter] + '-radius', '128px'); $frame.css('border-' + quarters[quarter] + '-radius', '128px');
} }
that.updateQuery = function(key, value) {
$list.options({
items: function(data, callback) {
pandora.api.find(Ox.extend(data, {
query: {
conditions: [
{key: 'list', value: listData.id, operator: '=='},
{key: key, value: value, operator: '='}
],
operator: '&'
}
}), callback);
}
});
};
return that; return that;
} }

View file

@ -66,10 +66,10 @@ pandora.ui.mainMenu = function() {
{ id: 'showsiteposter', title: 'Always Show ' + pandora.site.site.name + ' Poster', checked: ui.showSitePoster } { id: 'showsiteposter', title: 'Always Show ' + pandora.site.site.name + ' Poster', checked: ui.showSitePoster }
] }, ] },
{ id: 'columns', title: 'Columns', items: [ { id: 'columns', title: 'Columns', items: [
{ id: 'loadcolumns', title: 'Load Layout...' }, { id: 'loadcolumns', title: 'Load Layout...', disabled: true },
{ id: 'savecolumns', title: 'Save Layout...' }, { id: 'savecolumns', title: 'Save Layout...', disabled: true },
{}, {},
{ id: 'resetcolumns', title: 'Reset Layout' } { id: 'resetcolumns', title: 'Reset Layout', disabled: true }
]}, ]},
{}, {},
{ id: 'openmovie', title: ['Open ' + pandora.site.itemName.singular, 'Open ' + pandora.site.itemName.plural], items: [ { id: 'openmovie', title: ['Open ' + pandora.site.itemName.singular, 'Open ' + pandora.site.itemName.plural], items: [