From eb9afe70a9c13d02891ef6f55d16f591ca10869b Mon Sep 17 00:00:00 2001 From: rolux Date: Thu, 6 Jan 2011 06:11:02 +0000 Subject: [PATCH 1/2] read formats from json --- pandora/templates/site.json | 14 +++++++------- static/js/pandora.js | 34 +++++++++++++++------------------- 2 files changed, 22 insertions(+), 26 deletions(-) diff --git a/pandora/templates/site.json b/pandora/templates/site.json index f3586253..65600cd4 100644 --- a/pandora/templates/site.json +++ b/pandora/templates/site.json @@ -78,7 +78,7 @@ {"id": "country", "title": "Country", "width": 120, "type": "string"}, {"id": "year", "title": "Year", "width": 60, "type": "year"}, {"id": "language", "title": "Language", "width": 120, "type": "string"}, - {"id": "runtime", "title": "Runtime", "width": 60, "type": "integer", "format": "duration"}, + {"id": "runtime", "title": "Runtime", "width": 60, "type": "integer", "format": {"type": "duration", "args": [0, "medium"]}}, {"id": "writer", "title": "Writer", "width": 180, "type": "person"}, {"id": "producer", "title": "Producer", "width": 180, "type": "person"}, {"id": "cinematographer", "title": "Cinematographer", "width": 180, "type": "person"}, @@ -88,12 +88,12 @@ {"id": "numberofkeywords", "title": "Number of Keywords", "width": 60, "key": "keyword", "type": "length"}, {"id": "wordsinsummary", "title": "Words in Summary", "width": 60, "key": "summary", "type": "words"}, {"id": "wordsintrivia", "title": "Words in Trivia", "width": 60, "key": "trivia", "type": "words"}, - {"id": "releasedate", "title": "Release Date", "width": 120, "type": "date"}, - {"id": "budget", "title": "Budget", "width": 90, "type": "integer", "format": "currency"}, - {"id": "gross", "title": "Gross", "width": 90, "type": "integer", "format": "currency"}, - {"id": "profit", "title": "Profit", "width": 90, "type": "integer", "format": "currency"}, - {"id": "rating", "title": "Rating", "width": 60, "type": "float"}, - {"id": "votes", "title": "Votes", "width": 60, "type": "integer"}, + {"id": "releasedate", "title": "Release Date", "width": 120, "type": "date", "format": {"type": "date", "args": ["%a, %b %e, %Y"]}}, + {"id": "budget", "title": "Budget", "width": 90, "type": "integer", "format": {"type": "currency", "args": ["$", 0]}}, + {"id": "gross", "title": "Gross", "width": 90, "type": "integer", "format": {"type": "currency", "args": ["$", 0]}}, + {"id": "profit", "title": "Profit", "width": 90, "type": "integer", "format": {"type": "currency", "args": ["$", 0]}}, + {"id": "rating", "title": "Rating", "width": 60, "type": "float", "format": {"type": "percent", "args": [10, 2]}}, + {"id": "votes", "title": "Votes", "width": 60, "type": "integer", "format": {"type": "percent", "args": [403824, 2]}}, {"id": "id", "title": "ID", "width": 90, "type": "string"}, {"id": "aspectratio", "title": "Aspect Ratio", "width": 90, "type": "float"}, {"id": "duration", "title": "Duration", "width": 90, "type": "float"}, diff --git a/static/js/pandora.js b/static/js/pandora.js index 02e0072c..8e33a28e 100755 --- a/static/js/pandora.js +++ b/static/js/pandora.js @@ -1131,11 +1131,6 @@ var pandora = new Ox.App({ columnsRemovable: true, columnsResizable: true, columnsVisible: true, - format: { - releasedate: {type: 'date', args: ['%a, %b %e, %Y']}, - runtime: {type: 'duration', args: [0, 'medium']}, - votes: {type: 'percent', args: [403824, 2]} - }, id: 'list', request: function(data, callback) { Ox.print('data, Query.toObject', data, Query.toObject()) @@ -2153,13 +2148,25 @@ var pandora = new Ox.App({ }, { align: 'left', - id: 'icon', + format: function(value) { + return $('').attr({ + src: 'static/oxjs/build/png/ox.ui.modern/symbol' + + (value ? 'Find' : 'None') + '.png' + }); + }, + id: 'query', operator: '+', visible: true, width: 16 }, { align: 'left', + format: function(value) { + return $('').attr({ + src: 'static/oxjs/build/png/ox.ui.modern/symbol' + + (value ? 'Publish' : 'None') + '.png' + }); + }, id: 'public', operator: '+', visible: true, @@ -2174,19 +2181,8 @@ var pandora = new Ox.App({ } else { callback({data: {items: $.map(app.user.lists[id], function(v, i) { return $.extend(v, { - edit: $('').attr({ - src: 'static/oxjs/build/png/ox.ui.modern/symbolNone.png' - }).mouseover(function() { $(this).attr({ - src: 'static/oxjs/build/png/ox.ui.modern/symbolEdit.png' - })}).mouseout(function() { $(this).attr({ - src: 'static/oxjs/build/png/ox.ui.modern/symbolNone.png' - })}), - icon: $('').attr({ - src: 'static/oxjs/build/png/ox.ui.modern/symbol' + (v.items ? 'None' : 'Find') + '.png' - }), - public: $('').attr({ - src: 'static/oxjs/build/png/ox.ui.modern/symbol' + (v.items && v.public ? 'Publish' : 'None') + '.png' - }), + query: v.query, + public: v.public, items: v.items ? v.items.length.toString() : (v.title == '1960s' || v.title == 'All Movies' ? '?' : '100') }); })}}); From a8abd49ed11335c315c596b9af280432ec70f95a Mon Sep 17 00:00:00 2001 From: rolux Date: Mon, 10 Jan 2011 00:07:18 +0000 Subject: [PATCH 2/2] when selecting list, deselect lists in other sections --- static/js/pandora.js | 24 +++++++++--------------- 1 file changed, 9 insertions(+), 15 deletions(-) diff --git a/static/js/pandora.js b/static/js/pandora.js index 8e33a28e..ba6a8d90 100755 --- a/static/js/pandora.js +++ b/static/js/pandora.js @@ -2103,6 +2103,7 @@ var pandora = new Ox.App({ sections: function() { var that = new Ox.Element(); var $sections = []; + app.$ui.sectionLists = []; $.each(app.user.ui.sections, function(i, id) { var menu = []; if (id == 'my') { @@ -2129,7 +2130,7 @@ var pandora = new Ox.App({ $section.$content.css({ height: app.user.lists[id].length * 16 + 'px' }); - var $list = new Ox.TextList({ + app.$ui.sectionLists[i] = new Ox.TextList({ columns: [ { align: 'left', @@ -2198,21 +2199,14 @@ var pandora = new Ox.App({ width: app.user.ui.sidebarSize + 'px', height: app.user.lists[id].length * 16 + 'px' }) + .bindEvent('select', function(event, data) { + app.$ui.sectionLists.forEach(function($list, i_) { + if (i != i_) { + $list.options('selected', []); + } + }); + }) .appendTo($section.$content); - /* - } else { - $section.$content.append( - $('
').css({ height: '20px' }).append( - $('
').css({ float: 'left', width: '16px', height: '16px', margin: '1px'}).append( - $('').attr({ src: 'static/oxjs/build/png/ox.ui.modern/iconFind.png' }).css({ width: '16px', height: '16px', border: 0, background: 'rgb(64, 64, 64)', WebkitBorderRadius: '2px' }) - ) - ).append( - $('
').css({ float: 'left', width: '122px', height: '14px', margin: '2px' }).html('Foo') - ).append( - $('
').css({ float: 'left', width: '40px', height: '14px', margin: '2px', textAlign: 'right' }).html('23') - ) - ); - } */ }); $.each($sections, function(i, $section) { that.append($section);