[Slim-Checkins] r12589 - in /trunk/server/HTML/Maestro: browsedb.html cmdwrappers_Maestro html/browse.js html/main.js pageheader.html xmlbrowser.html

mherger at svn.slimdevices.com mherger at svn.slimdevices.com
Fri Aug 17 04:39:11 PDT 2007


Author: mherger
Date: Fri Aug 17 04:39:10 2007
New Revision: 12589

URL: http://svn.slimdevices.com?rev=12589&view=rev
Log:
Bug: n/a
Description: improve scrolling behaviour when jumping within page

Added:
    trunk/server/HTML/Maestro/html/browse.js
Modified:
    trunk/server/HTML/Maestro/browsedb.html
    trunk/server/HTML/Maestro/cmdwrappers_Maestro
    trunk/server/HTML/Maestro/html/main.js
    trunk/server/HTML/Maestro/pageheader.html
    trunk/server/HTML/Maestro/xmlbrowser.html

Modified: trunk/server/HTML/Maestro/browsedb.html
URL: http://svn.slimdevices.com/trunk/server/HTML/Maestro/browsedb.html?rev=12589&r1=12588&r2=12589&view=diff
==============================================================================
--- trunk/server/HTML/Maestro/browsedb.html (original)
+++ trunk/server/HTML/Maestro/browsedb.html Fri Aug 17 04:39:10 2007
@@ -5,28 +5,21 @@
 [% pagetitle = browseby | string; pageicon = browseby; noSpacer = 1 %]
 
 [% maestroScripts = BLOCK %]
-	<script type="text/javascript">
-		Ext.EventManager.onDocumentReady(Tools.addBrowseListClass, Tools, true);
-	</script>	
+	<script type="text/javascript" src="[% webroot %]html/browse.js"></script>	
 [% END %]
 
 [% PROCESS pageheader.html %]
 
 <div id="browsedbHeader">
-	[% IF artwork != 1 -%]
-		[% IF hasPagebar %][% "ITEMS" | string %] [% pageinfo.startitem + 1 %] [% "TO" | string %] [% pageinfo.enditem + 1 %] [% "OF" | string %] [% pageinfo.totalitems %][% END %]
-	[% END -%]
+	[% IF hasPagebar %][% "ITEMS" | string %] [% pageinfo.startitem + 1 %] [% "TO" | string %] [% pageinfo.enditem + 1 %] [% "OF" | string %] [% pageinfo.totalitems %][% END %]
 	[% IF warn -%]<p>[% PROCESS scanwarning %] [%- END %]
-
 	[% IF hasPagebar -%][% PROCESS pagebar %][%- END %]
 </div>
 
-<div class="scrollingPanel">
 [%- WRAPPER contentcontainer %]
 	[% FOREACH item = browse_items -%]
 		[%- PROCESS browsedbitems_list.html -%]
 	[%- END %]
 [% END -%]
-</div>
 
 [% PROCESS pagefooter.html %]

Modified: trunk/server/HTML/Maestro/cmdwrappers_Maestro
URL: http://svn.slimdevices.com/trunk/server/HTML/Maestro/cmdwrappers_Maestro?rev=12589&r1=12588&r2=12589&view=diff
==============================================================================
--- trunk/server/HTML/Maestro/cmdwrappers_Maestro (original)
+++ trunk/server/HTML/Maestro/cmdwrappers_Maestro Fri Aug 17 04:39:10 2007
@@ -10,6 +10,52 @@
 		<a [% content %] [% UNLESS noTarget %]target="status"[% END %]><img src="[% webroot %]html/images/[% cmdimage %].png" width=13 height=13 alt="[% cmdtitle | string | ucfirst %]" title="[% cmdtitle | string | ucfirst %]"></a>
 	[%- END %]
 
+	[% BLOCK contentitem -%]
+	<div class="[% odd ? "odd" : "even" %]">		
+		<div class="[% lineclass || 'browsedbListItem' %]" [%- IF anchor %]id="anchor[% anchor | uri %]"[%- END -%]>
+			[%- IF leftcontrols -%]
+				<span class="browsedbLeftControls">
+				[%- PROCESS $leftcontrols -%]
+				</span>
+			[%- END %]
+			[%- content | indent(4) %]
+			[%- IF rightcontrols -%]
+				<span class="browsedbRightControls">
+				[%- PROCESS $rightcontrols -%]
+				</span>
+			[%- ELSIF controls -%]
+				<span class="browsedbControls">
+				[%- PROCESS $controls -%]
+				</span>
+			[%- END %]
+		</div>
+	</div>
+	[%- END %]
 
+	[%# This is to build the pagebar or alphapagebar, it should be PROCESSed %]
+	[% BLOCK pagebar %]
+		[%- IF NOT pageinfo.alphamap; PROCESS pagebarcalc pagesperbar = 15; END %]
+		<div class="pagebar">
+			[% IF pagesstart %]  <a href="[% pageinfo.path %]?start=0&amp;[% pageinfo.otherparams | html %]">[% "FIRST" | string %]</a> [% END %]
+			[% IF pageprev || pageprev == '0' %] <a href="[% pageinfo.path %]?start=[% pageprev %]&amp;[% pageinfo.otherparams | html %]">[% "PREVIOUS" | string %]</a> [% END %]
+			[%- IF pageinfo.alphamap %]
+			[%- FOREACH alphakey = pageinfo.alphamap.keys.sort -%]
+			[%- curpage = (pageinfo.alphamap.item(alphakey) == pageinfo.startitem) -%]
+			[% IF curpage %]<span onclick="Browse.gotoAnchor('[% alphakey | uri %]');" style="text-decoration:underline;cursor: pointer;"><b>[% alphakey | html %]</b></span>
+			[% ELSE %] 
+				<a href="[% pageinfo.path | html %]?[% pageinfo.otherparams | html %]&amp;start=[% pageinfo.alphamap.item(alphakey) %]#[% alphakey | uri %]">[% alphakey | html %]</a>
+			[% END %]
+			[%- END %]
+			[%- ELSE %]
+			[%- FOREACH ind=[pagebarstart..pagebarend] -%]
+			[%- IF ind == pageinfo.currentpage %] <b>[% ind + 1 %]</b> 
+			[%- ELSE %] <a href="[% pageinfo.path  | html %]?[% pageinfo.otherparams  | html %]&amp;start=[% ind * pageinfo.itemsperpage %]">[% ind + 1 %]</a> 
+			[%- END %]
+			[% END %]
+			[%- END %]
+			[% IF pagenext %] <a href="[% pageinfo.path %]?start=[% pagenext %]&amp;[% pageinfo.otherparams | html %]">[% "NEXT" | string %]</a> [% END %]
+			[% IF pagesend %] <a href="[% pageinfo.path %]?start=[% pagesend %]&amp;[% pageinfo.otherparams | html %]">[% "LAST" | string %]</a> [% END %]
+		</div>
+	[% END %]
 
 [% END -%]

Added: trunk/server/HTML/Maestro/html/browse.js
URL: http://svn.slimdevices.com/trunk/server/HTML/Maestro/html/browse.js?rev=12589&view=auto
==============================================================================
--- trunk/server/HTML/Maestro/html/browse.js (added)
+++ trunk/server/HTML/Maestro/html/browse.js Fri Aug 17 04:39:10 2007
@@ -1,0 +1,46 @@
+Browse = function(){
+	return {
+		init : function(){
+			// add highlighter class
+			Ext.addBehaviors({
+				'div.browsedbListItem at mouseover': function(ev, target){
+					if (target.tagName != 'DIV')
+						return;
+
+					// remove highlighting from the other DIVs
+					items = Ext.DomQuery.select('div.mouseOver');
+					for(var i = 0; i < items.length; i++) {
+						el = Ext.get(items[i].id);
+						if (el) {
+							el.removeClass('mouseOver');
+						}
+					}
+
+					Ext.get(target).addClass('mouseOver');
+				}
+			});
+							
+			Ext.EventManager.onWindowResize(this.onResize, this);
+			Ext.EventManager.onDocumentReady(this.onResize, this, true);
+
+			// jump to anchor
+			anchor = document.location.href.match(/#(.*)$/)
+			if (anchor && anchor[1]) {
+				if (el = Ext.get('anchor' + anchor[1]))
+					el.scrollIntoView('browsedbList');
+			}
+		},
+		
+		gotoAnchor : function(anchor){
+			if (el = Ext.get('anchor' + anchor))
+				el.scrollIntoView('browsedbList');
+		},
+
+		onResize : function(){
+			el = Ext.get('browsedbList');
+			el.setHeight(Ext.fly(document.body).getHeight() - el.getTop());
+		}
+	};
+}();
+
+Ext.EventManager.onDocumentReady(Browse.init, Browse, true);

Modified: trunk/server/HTML/Maestro/html/main.js
URL: http://svn.slimdevices.com/trunk/server/HTML/Maestro/html/main.js?rev=12589&r1=12588&r2=12589&view=diff
==============================================================================
--- trunk/server/HTML/Maestro/html/main.js (original)
+++ trunk/server/HTML/Maestro/html/main.js Fri Aug 17 04:39:10 2007
@@ -25,7 +25,7 @@
 
 			layout.endUpdate();
 		},
-		
+
 		// resize panels, folder selectors etc.
 		onResize : function(){
 			dimensions = Ext.fly(document.body).getViewSize();
@@ -110,8 +110,8 @@
 							power: result.power,
 							mode: result.mode,
 							title: result.current_title,
-							track: result.playlist_loop[0].url/*,
-							volume: result.'mixer volume'*/
+							track: result.playlist_loop[0].url,
+							volume: result['mixer volume']
 						};
 					}
 		

Modified: trunk/server/HTML/Maestro/pageheader.html
URL: http://svn.slimdevices.com/trunk/server/HTML/Maestro/pageheader.html?rev=12589&r1=12588&r2=12589&view=diff
==============================================================================
--- trunk/server/HTML/Maestro/pageheader.html (original)
+++ trunk/server/HTML/Maestro/pageheader.html Fri Aug 17 04:39:10 2007
@@ -12,23 +12,6 @@
 			<script type="text/javascript">
 				var Tools = function(){
 					return {
-						addBrowseListClass : function(){
-							Ext.select('div.browsedbListItem').on('mouseover', function(ev) {
-								if (ev.target.tagName != 'DIV')
-									return;
-		
-								// remove highlighting from the other DIVs
-								items = Ext.DomQuery.select('div.mouseOver');
-								for(var i = 0; i < items.length; i++) {
-									el = Ext.get(items[i].id);
-									if (el) {
-										el.removeClass('mouseOver');
-									}
-								}
-		
-								Ext.get(ev.target).addClass('mouseOver');
-							});
-						}
 					}
 				}();
 			</script>

Modified: trunk/server/HTML/Maestro/xmlbrowser.html
URL: http://svn.slimdevices.com/trunk/server/HTML/Maestro/xmlbrowser.html?rev=12589&r1=12588&r2=12589&view=diff
==============================================================================
--- trunk/server/HTML/Maestro/xmlbrowser.html (original)
+++ trunk/server/HTML/Maestro/xmlbrowser.html Fri Aug 17 04:39:10 2007
@@ -1,7 +1,5 @@
 [% maestroScripts = BLOCK %]
-	<script type="text/javascript">
-		Ext.EventManager.onDocumentReady(Tools.addBrowseListClass, Tools, true);
-	</script>	
+	<script type="text/javascript" src="[% webroot %]html/browse.js"></script>	
 [% END %]
 
 [% IF query %]
@@ -145,7 +143,6 @@
 	</form>
 [% END %]
 
-[%- odd = 1 %]
 [%- IF items -%]
 	<div id="browsedbHeader">
 		[% IF hasPagebar %]
@@ -175,7 +172,6 @@
 			[%- WRAPPER contentitem leftcontrols = 'allcontrol' %]
 				[% "ALL_SONGS" | string %]
 			[%- END %]
-			[%- odd = (not odd) %]
 		[% END %]
 		
 		[%- FOREACH item = items %]
@@ -192,14 +188,9 @@
 				<a href="index.html?[% searchquery %]index=[% index _ (start + loop.index) %]&amp;player=[% player | uri %]" class="browseItemLink">[% item.name || item.title %]</a>
 			[%- END %]
 			[% IF useAJAX %]</span>[% END %]
-			[%- odd = (not odd) %]
 		[%- END %]
 
 	[%- END %]
-	[% IF hasPagebar %]
-		[% "ITEMS" | string %] [% pageinfo.startitem + 1 %] [% "TO" | string %] [% pageinfo.enditem + 1 %] [% "OF" | string %] [% pageinfo.totalitems %]
-		[% PROCESS pagebar %]
-	[% END %]
 [%- END %]
 
 [% IF NOT ajaxUpdate %]</div>[% PROCESS pagefooter.html %][% END %]



More information about the checkins mailing list