[Linpha-cvs] SF.net SVN: linpha: [4914] trunk/linpha2
Status: Inactive
Brought to you by:
bzrudi
From: <fan...@us...> - 2008-04-01 20:40:16
|
Revision: 4914 http://linpha.svn.sourceforge.net/linpha/?rev=4914&view=rev Author: fangehrn Date: 2008-04-01 13:40:02 -0700 (Tue, 01 Apr 2008) Log Message: ----------- 2008-04-01 flo * improved menu handling (enable/disable items) * implemented "view at" function Modified Paths: -------------- trunk/linpha2/ChangeLog trunk/linpha2/lib/classes/linpha.view.album.class.php trunk/linpha2/lib/js/LinYUIAlbum.js trunk/linpha2/templates/default/global.head.php trunk/linpha2/templates/default/menu.html.php trunk/linpha2/templates/default/themes/default/css/viewer.css trunk/linpha2/templates/default/viewer.head.php trunk/linpha2/templates/default/viewer.html.php Modified: trunk/linpha2/ChangeLog =================================================================== --- trunk/linpha2/ChangeLog 2008-03-30 22:08:03 UTC (rev 4913) +++ trunk/linpha2/ChangeLog 2008-04-01 20:40:02 UTC (rev 4914) @@ -1,4 +1,8 @@ +2008-04-01 flo + * improved menu handling (enable/disable items) + * implemented "view at" function + 2008-03-30 flo * JSCookMenu fixed bug in cmEnableItem() reported here: http://sourceforge.net/tracker/index.php?func=detail&aid=1766028&group_id=149372&atid=778279 Modified: trunk/linpha2/lib/classes/linpha.view.album.class.php =================================================================== --- trunk/linpha2/lib/classes/linpha.view.album.class.php 2008-03-30 22:08:03 UTC (rev 4913) +++ trunk/linpha2/lib/classes/linpha.view.album.class.php 2008-04-01 20:40:02 UTC (rev 4914) @@ -156,6 +156,8 @@ } else { $this->orderby = $this->getSqlSortOrder($GLOBALS['linpha']->sql->config->value['sys_style_others_sortorder'], $str_asc); } + + $GLOBALS['linpha']->template->output['sort_order_asc'] = $str_asc; } if ($this->mode == 'thumb') Modified: trunk/linpha2/lib/js/LinYUIAlbum.js =================================================================== --- trunk/linpha2/lib/js/LinYUIAlbum.js 2008-03-30 22:08:03 UTC (rev 4913) +++ trunk/linpha2/lib/js/LinYUIAlbum.js 2008-04-01 20:40:02 UTC (rev 4914) @@ -19,6 +19,8 @@ this.TabView = null; this.Tabs = new Array(); //this.activeTabLabel = null; + + this.panelViewAt = null; }; // initHistoryManager() @@ -107,24 +109,26 @@ } if (!this.initialized) { + this.updateSortMenu(linSortOrder); this.initHistoryManager(); // this will call showAlbum() or showImage() this.initialized = true; - } - - if (this.mode == 'thumb') { + } else if (this.mode == 'thumb') { this.showAlbum(); } else if (this.mode == 'image') { this.showAlbum(); this.changeImage(linIdCurrent); - } - + } } // openAlbum() YAHOO.linpha.Album.prototype.openAlbum = function() { + + YAHOO.log("openAlbum()"); + try { YAHOO.util.History.navigate("linphaViewer", "album"); } catch (e) { + YAHOO.log("openAlbum(): opera fallback"); this.showAlbum(); // opera fallback } }; @@ -136,7 +140,7 @@ YAHOO.util.Dom.setStyle('linDivThumbs', "display", "none"); myLinPage.setTitle(this.album.TitleUrl); - cmDisableItem(myMenu[6][8], "ThemePanel") // disable menu entry "Image" + cmDisableItem(myMenu[6][8], "ThemePanel") // disable menu entry "Image" (i don't know how to get the image menu entry dynamically) htmlstr = []; @@ -161,6 +165,14 @@ YAHOO.util.Dom.setStyle('linDivTabs', "display", "none"); YAHOO.util.Dom.setStyle('linDivImage', "display", "none"); //YAHOO.util.Dom.setStyle('linDivNav', "display", "block"); + + if (linStartupId != 0) + { + this.mode = 'thumb'; // important to prevent endless loop + this.openImage(linStartupId); // no changeImage() !! history manager has to be updated, otherwise future calls to openAlbum() would not work + linStartupId = 0; + return; + } myLinPage.setResizeMode('thumb'); @@ -170,11 +182,6 @@ } this.mode = 'thumb'; - if (linStartupId != 0) { - this.changeImage(linStartupId); - } - - YAHOO.util.Dom.setStyle('linDivThumbs', "display", "block"); }; @@ -216,7 +223,7 @@ myLinPage.setTitle(this.album.TitleUrl + ' > <a href="javascript:myLinAlbum.openImage('+imgId+')">' + this.album.Thumbs[this.currentIndex].title + '</a>' ); - cmEnableItem(myMenu[6][8], "ThemePanel") // enable menu entry "Image" + cmEnableItem(myMenu[6][8], "ThemePanel") // enable menu entry "Image" (i don't know how to get the image menu entry dynamically) /** * hide elements @@ -227,12 +234,12 @@ YAHOO.util.Dom.setStyle('linDivOtherInfo', "display", "none"); // handle coming from thumb (or init) - if (this.mode != 'image') { - + if (this.mode != 'image') + { + YAHOO.util.Dom.setStyle('linDivThumbs', "display", "none"); YAHOO.util.Dom.setStyle('linDivDescription', "display", "none"); YAHOO.util.Dom.setStyle('linImgMainImage', "display", "none"); - YAHOO.util.Dom.setStyle('linDivThumbs', "display", "none"); this.mode = 'image'; //YAHOO.util.Dom.setStyle('linDivThumbs', "display", "none"); @@ -602,10 +609,77 @@ YAHOO.linpha.Album.prototype.changeSortOrder = function(order) { this.loadAlbum( '&linOrderBy='+order ); - //cmDisableItem(myMenu[11], 'linMenu') - //cmGetMenuItem(myMenu[11]) + // setTimeout is required because the menu is at the moment still open and will change his css classes when it closes + if (order=="ASC") { + setTimeout("myLinAlbum.updateSortMenu(\"ASC\");", 1000); + } else if(order=="DESC") { + setTimeout("myLinAlbum.updateSortMenu(\"DESC\");", 1000); + } }; +// updateSortMenu() +YAHOO.linpha.Album.prototype.updateSortMenu = function(order) { + + // enable/disable menu entry "Sort - ASC/DESC" (i don't know how to get the image menu entry dynamically) + + YAHOO.log(order); + if (order=="ASC") + { + cmDisableItem(myMenu[6][6][5], "ThemePanel"); + cmEnableItem(myMenu[6][6][6], "ThemePanel"); + } + else if(order=="DESC") + { + cmEnableItem(myMenu[6][6][5], "ThemePanel"); + cmDisableItem(myMenu[6][6][6], "ThemePanel"); + } +} + +// viewImageAt() +YAHOO.linpha.Album.prototype.viewImageAt = function(width, height) { + //alert( width + ' ' + height ); + + /*linYUILoader.onSuccess = function(width, height) { + var panel = new YAHOO.widget.Panel("panelViewAt", { width: "320px" } ); + panel.setHeader("Panel #2 from Script"); + panel.setBody("This is a dynamically generated Panel. " + width + ' ' + height + ' ' + linIdCurrent); + panel.setFooter("End of Panel #2"); + panel.render( "linPanelContainer" ); + };*/ + /*"this.viewImageAtShow("+width+", "+height+")";*/ + + this.viewAtWidth = width; + this.viewAtHeight = height; + linYUILoader.onSuccess = this.viewImageAtShow; + + linYUILoader.require(["dragdrop", "container"]); + linYUILoader.insert(); +}; +// viewImageAtShow() +YAHOO.linpha.Album.prototype.viewImageAtShow = function() { + linYUILoader.onSuccess = null; + //alert( myLinAlbum.viewAtWidth + ' ' + myLinAlbum.viewAtHeight + ' ' + linIdCurrent ); + + if (myLinAlbum.panelViewAt != null) { + document.getElementById("linPanelContainer").innerHTML = ""; + } + + myLinAlbum.panelViewAt = new YAHOO.widget.Panel("linPanelViewAt", { close: true, visible: true, + x: YAHOO.util.Dom.getDocumentScrollLeft()+80, y: YAHOO.util.Dom.getDocumentScrollTop()+130, monitorresize: false /*zindex: 200*/ } ); + myLinAlbum.panelViewAt.setHeader(myLinAlbum.album.Thumbs[myLinAlbum.ThumbIds[linIdCurrent]].title); + myLinAlbum.panelViewAt.setBody("<img src=\""+linImageSrc+linIdCurrent+"&width="+myLinAlbum.viewAtWidth+"&height="+myLinAlbum.viewAtHeight+"\" />" ); + + if (myLinAlbum.viewAtWidth == 0) { + myLinAlbum.panelViewAt.setFooter(myLinAlbum.album.Thumbs[myLinAlbum.ThumbIds[linIdCurrent]].w + +"x"+myLinAlbum.album.Thumbs[myLinAlbum.ThumbIds[linIdCurrent]].h); + } else { + myLinAlbum.panelViewAt.setFooter(myLinAlbum.viewAtWidth+"x"+myLinAlbum.viewAtHeight); + } + myLinAlbum.panelViewAt.render( /*document.body*/ "linPanelContainer" ); +}; + + + myLinPage.enableOnResize('thumb'); var myLinAlbum = new YAHOO.linpha.Album(); Modified: trunk/linpha2/templates/default/global.head.php =================================================================== --- trunk/linpha2/templates/default/global.head.php 2008-03-30 22:08:03 UTC (rev 4913) +++ trunk/linpha2/templates/default/global.head.php 2008-04-01 20:40:02 UTC (rev 4914) @@ -72,7 +72,8 @@ <?php if (linUseAjax()) { ?> <!-- Load the YUI Loader script: --> -<script src="http://yui.yahooapis.com/2.5.0/build/yuiloader/yuiloader-beta-min.js"></script> +<!--<script src="http://yui.yahooapis.com/2.5.0/build/yuiloader/yuiloader-beta-min.js"></script> --> +<script src="http://yui.yahooapis.com/2.5.0/build/yuiloader/yuiloader-beta.js"></script> <script type="text/javascript" language="Javascript"> var linYUILoader = new YAHOO.util.YUILoader({ require: ["logger"/*, "menu"*/], Modified: trunk/linpha2/templates/default/menu.html.php =================================================================== --- trunk/linpha2/templates/default/menu.html.php 2008-03-30 22:08:03 UTC (rev 4913) +++ trunk/linpha2/templates/default/menu.html.php 2008-04-01 20:40:02 UTC (rev 4914) @@ -8,7 +8,7 @@ <!-- var myMenu = <?php linSetMenuJS(); ?>; linReplaceJSCookObjects(myMenu); -cmDraw ('linDivMenu', myMenu, 'hbr', cmThemePanel); +cmDraw('linDivMenu', myMenu, 'hbr', cmThemePanel); function linReloadMenu(formElem) { @@ -19,10 +19,10 @@ function linRedrawMenu(t) { try { - //myMenuReload = eval('(' + t.responseText + ')'); - myMenuReload = YAHOO.lang.JSON.parse(t.responseText); - linReplaceJSCookObjects(myMenuReload); - cmDraw ('linDivMenu', myMenuReload, 'hbr', cmThemePanel); + //myMenu = eval('(' + t.responseText + ')'); + myMenu = YAHOO.lang.JSON.parse(t.responseText); + linReplaceJSCookObjects(myMenu); + cmDraw('linDivMenu', myMenu, 'hbr', cmThemePanel); } catch (e) { alert("Error reloading menu (" + e + ")"); Modified: trunk/linpha2/templates/default/themes/default/css/viewer.css =================================================================== --- trunk/linpha2/templates/default/themes/default/css/viewer.css 2008-03-30 22:08:03 UTC (rev 4913) +++ trunk/linpha2/templates/default/themes/default/css/viewer.css 2008-04-01 20:40:02 UTC (rev 4914) @@ -121,6 +121,26 @@ /*height: 200px; min height set in DefsThumbView.js */ overflow: auto; } + +/** + * view at panel + */ +#linPanelContainer { + width: 660px; /* required */ + font-size: 0; /* for IE */ +} +#linPanelViewAt .hd { + font-size: medium; +} +#linPanelViewAt .bd { + width: 668px; + height: 495px; + overflow: auto; + font-size: medium; +} +#linPanelViewAt .ft { + font-size: medium; +} /** * slideshow Modified: trunk/linpha2/templates/default/viewer.head.php =================================================================== --- trunk/linpha2/templates/default/viewer.head.php 2008-03-30 22:08:03 UTC (rev 4913) +++ trunk/linpha2/templates/default/viewer.head.php 2008-04-01 20:40:02 UTC (rev 4914) @@ -18,6 +18,7 @@ var linTnSizeOther = <?php echo $GLOBALS['linpha']->sql->config->value['sys_style_thumb_size_max']; ?>; var linPreloadImages = <?php echo $GLOBALS['linpha']->sql->config->value['sys_style_image_nrPreloadImages']; ?>; var linStartupId = <?php echo (isset($linTpl->output['startup_id']) ? $linTpl->output['startup_id'] : 0); ?>; +var linSortOrder = '<?php echo $linTpl->output['sort_order_asc']; ?>'; var linAlbum = <?php echo $linTpl->output['thumb_list']."\n"; ?>; if (linUseEffects) { Modified: trunk/linpha2/templates/default/viewer.html.php =================================================================== --- trunk/linpha2/templates/default/viewer.html.php 2008-03-30 22:08:03 UTC (rev 4913) +++ trunk/linpha2/templates/default/viewer.html.php 2008-04-01 20:40:02 UTC (rev 4914) @@ -1,3 +1,5 @@ +<div id="linPanelContainer" class="yui-skin-sam"></div> + <!-- navigation --> <?php if(isset($linTpl->output['navigation']) && !empty($linTpl->output['navigation'])) { ?> <?php echo $linTpl->divRoundCorners('top','main'); ?> @@ -50,7 +52,7 @@ <ul id="linUlTabNav" class="yui-nav"></ul> <div id="linDivTabContent" class="yui-content"></div> </div> - + </div> <?php echo $linTpl->divRoundCorners('bottom','main'); ?> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |