From: <die...@us...> - 2010-02-02 15:13:39
|
Revision: 1764 http://openutils.svn.sourceforge.net/openutils/?rev=1764&view=rev Author: diego_schivo Date: 2010-02-02 15:13:33 +0000 (Tue, 02 Feb 2010) Log Message: ----------- MEDIA-64 Move icons in the browse view to a menu Modified Paths: -------------- trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/css/folderView.css trunk/openutils-mgnlmedia/src/main/resources/net/sourceforge/openutils/mgnlmedia/media/pages/MediaFolderViewPage.html Added Paths: ----------- trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/js/mediaedit.js Modified: trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/css/folderView.css =================================================================== --- trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/css/folderView.css 2010-02-02 13:59:35 UTC (rev 1763) +++ trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/css/folderView.css 2010-02-02 15:13:33 UTC (rev 1764) @@ -82,7 +82,7 @@ float: left; margin: 0px 0px 10px 10px; width: 130px; - height: 235px; + height: 195px; font-size: 0.8em; position: relative; background-color: #f6f6f6; @@ -151,24 +151,35 @@ padding: 5px 0 5px 0; } -.icons { - border-top: dotted 1px #cfcfcf; +.mediaheader { + position: relative; border-bottom: dotted 1px #cfcfcf; - margin: 5px 3px 5px 3px; + margin: 0px 3px 5px 3px; padding: 5px 0 5px 0; + text-align: left; } -.icons a { +.mediaheader span.edit { + float: right; + margin-right: 5px; +} + +.mediaheader .icons { + position: absolute; + right: 0; + top: 20px; + width: 120px; + height: 110px; + background-color: #ffffff; + border: 1px solid #cfcfcf; +} + +.mediaheader .icons a { padding: 0 0px 0 1px; text-decoration: none; + display: block; } -.used { - border-bottom: dotted 1px #cfcfcf; - margin: 0px 3px 5px 3px; - padding: 5px 0 5px 0; -} - .mediainfo { border-bottom: dotted 1px #cfcfcf; margin: 0px 3px 5px 3px; Added: trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/js/mediaedit.js =================================================================== --- trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/js/mediaedit.js (rev 0) +++ trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/js/mediaedit.js 2010-02-02 15:13:33 UTC (rev 1764) @@ -0,0 +1,63 @@ +var MediaEdit = new Class({ + + initialize: function(triggers){ + this.triggerEnterHandler = this.handleTriggerEnter.bindWithEvent(this); + this.popupEnterHandler = this.handlePopupEnter.bindWithEvent(this); + this.popupMoveHandler = this.handlePopupMove.bindWithEvent(this); + this.leaveHandler = this.handleLeave.bindWithEvent(this); + $$(triggers).each(function(item){ + item.addEvents({ + mouseenter: this.triggerEnterHandler, + mouseleave: this.leaveHandler + }); + }, this); + }, + + handleTriggerEnter: function(e){ + this.timer = $clear(this.timer); + var popup = $(e.target).getNext(); + if (popup != this.popup){ + this.hide(); + popup.setStyle('display', ''); + popup.addEvents({ + mouseenter: this.popupEnterHandler, + mousemove: this.popupMoveHandler, + mouseleave: this.leaveHandler + }); + this.popup = popup; + } + }, + + handlePopupEnter: function(){ + this.timer = $clear(this.timer); + }, + + handlePopupMove: function(e){ + var link = $(e.target); + if (link == this.link) return; + if (link.tagName.toLowerCase() != 'a') return; + if (this.link) this.link.setStyle('background', ''); + link.setStyle('background', '#d1e1ed'); + this.link = link; + }, + + handleLeave: function(e){ + $clear(this.timer); + this.timer = this.hide.delay(250, this); + }, + + hide: function(){ + if (this.popup){ + this.popup.setStyle('display', 'none'); + this.popup.removeEvent('mouseenter', this.popupEnterHandler); + this.popup.removeEvent('mousemove', this.popupMoveHandler); + this.popup.removeEvent('mouseleave', this.leaveHandler); + delete this.popup; + } + if (this.link){ + this.link.setStyle('background', ''); + delete this.link; + } + } + +}); Property changes on: trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/js/mediaedit.js ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Author Date Id Revision Added: svn:eol-style + native Modified: trunk/openutils-mgnlmedia/src/main/resources/net/sourceforge/openutils/mgnlmedia/media/pages/MediaFolderViewPage.html =================================================================== --- trunk/openutils-mgnlmedia/src/main/resources/net/sourceforge/openutils/mgnlmedia/media/pages/MediaFolderViewPage.html 2010-02-02 13:59:35 UTC (rev 1763) +++ trunk/openutils-mgnlmedia/src/main/resources/net/sourceforge/openutils/mgnlmedia/media/pages/MediaFolderViewPage.html 2010-02-02 15:13:33 UTC (rev 1764) @@ -12,6 +12,7 @@ <script type="text/javascript" src="${this.request.contextPath}/.resources/media/js/mootips.js"></script> <script type="text/javascript" src="${this.request.contextPath}/.resources/media/js/multibox/multibox.js"></script> <script type="text/javascript" src="${this.request.contextPath}/.resources/media/js/multibox/overlay.js"></script> + <script type="text/javascript" src="${this.request.contextPath}/.resources/media/js/mediaedit.js"></script> <script type="text/javascript"> <#list this.types as type> <#if type.name == this.type> <#assign currentType = type> </#if> </#list> @@ -28,7 +29,7 @@ { if (action == "move" && dest == "${this.path!""}") { - alert("Non è possibile spostare all'interno dello stesso nodo."); + alert("Non \xE8 possibile spostare all'interno dello stesso nodo."); return; } $("actionCmd").value = action; @@ -82,6 +83,19 @@ hideDelay: 200 }); + $$('.edit').each(function(item){ + new MediaEdit(item); + /* + trigger.addEvents({ + mouseenter: function(){ + trigger.getNext('.icons').setStyle('display', ''); + }, + mouseleave: function(){ + trigger.getNext('.icons').setStyle('display', 'none'); + } + }); + */ + }); }); </script> </head> @@ -144,6 +158,75 @@ <#assign selectMediaClass = "selectMedia"> </#if> <li class="media ${mediaStatusClass} ${selectMediaClass}" style="text-align:center"> + <div class="mediaheader"> + <#if media.usedInWebPages?size = 0> + <span>${this.msgs.get('media.nopages')}</span> + <#else> + <#assign pages = ""> + <#list media.usedInWebPages as page> + <#assign pages = pages + "<a href='${this.request.contextPath}" + page +".html' target='_blank'>"+ page +"</a><br/>"> + </#list> + <span class="tips" rel="${pages}">${this.msgs.get('media.pages')} (${media.usedInWebPages?size})</span> + </#if> + <span class="edit">edit</span> + <div class="icons" style="display: none;"> + <#if media.writable> + <a href="javascript:$empty()" onclick="openDialog('${media.handle}')" title="${this.msgs.get('media.edit')}"> + <img src="${this.request.contextPath}/.resources/media/icons/edit.gif" border="0" align="middle" /> + ${this.msgs.get('media.edit')} + </a> + <a href="javascript:$empty()" onclick="deleteMedia('${media.handle}')" title="${this.msgs.get('media.delete')}"> + <img src="${this.request.contextPath}/.resources/icons/16/delete2.gif" border="0" align="middle" /> + ${this.msgs.get('media.delete')} + </a> + <a href="javascript:$empty()" onclick="openMediaTree('move','${media.handle}')" title="${this.msgs.get('media.move')}"> + <img src="${this.request.contextPath}/.resources/icons/16/up_down.gif" border="0" align="middle" /> + ${this.msgs.get('media.move')} + </a> + <a href="javascript:$empty()" onclick="openMediaTree('copy','${media.handle}')" title="${this.msgs.get('media.copy')}"> + <img src="${this.request.contextPath}/.resources/icons/16/copy.gif" border="0" align="middle" /> + ${this.msgs.get('media.copy')} + </a> + <#else> + <a> + <img src="${this.request.contextPath}/.resources/media/icons/edit_inactive.gif" border="0" align="middle" /> + </a> + <a> + <img src="${this.request.contextPath}/.resources/icons/16/delete2_inactive.gif" border="0" align="middle" /> + </a> + <a> + <img src="${this.request.contextPath}/.resources/icons/16/up_down_inactive.gif" border="0" align="middle" /> + </a> + <a> + <img src="${this.request.contextPath}/.resources/icons/16/copy_inactive.gif" border="0" align="middle" /> + </a> + </#if> + <#if media.canPublish> + <a href="javascript:$empty()" onclick="performAction('activate', '${media.handle}','')" title="${this.msgs.get('media.activate')}"> + <img src="${this.request.contextPath}/.resources/icons/16/arrow_right_green.gif" border="0" align="middle" /> + ${this.msgs.get('media.activate')} + </a> + <#else> + <a title="${this.msgs.get('media.activate')}"> + <img src="${this.request.contextPath}/.resources/media/icons/arrow_right_green_inactive.gif" border="0" + align="middle" /> + ${this.msgs.get('media.activate')} + </a> + </#if> + <#if media.canPublish && media.metaData.activationStatus = 2> + <a href="javascript:$empty()" onclick="performAction('deactivate', '${media.handle}','')" title="${this.msgs.get('media.deactivate')}"> + <img src="${this.request.contextPath}/.resources/icons/16/arrow_left_red.gif" border="0" align="middle" /> + ${this.msgs.get('media.deactivate')} + </a> + <#else> + <a title="${this.msgs.get('media.deactivate')}"> + <img src="${this.request.contextPath}/.resources/icons/16/arrow_left_red_inactive.gif" border="0" + align="middle" /> + ${this.msgs.get('media.deactivate')} + </a> + </#if> + </div> + </div> <div class="imageBorder"> <div class="image"> <span></span> @@ -160,66 +243,6 @@ </a> </div> </div> - <div class="icons"> - <#if media.writable> - <a href="javascript:$empty()" onclick="openDialog('${media.handle}')" title="${this.msgs.get('media.edit')}"> - <img src="${this.request.contextPath}/.resources/media/icons/edit.gif" border="0" align="middle" /> - </a> - <a href="javascript:$empty()" onclick="deleteMedia('${media.handle}')" title="${this.msgs.get('media.delete')}"> - <img src="${this.request.contextPath}/.resources/icons/16/delete2.gif" border="0" align="middle" /> - </a> - <a href="javascript:$empty()" onclick="openMediaTree('move','${media.handle}')" title="${this.msgs.get('media.move')}"> - <img src="${this.request.contextPath}/.resources/icons/16/up_down.gif" border="0" align="middle" /> - </a> - <a href="javascript:$empty()" onclick="openMediaTree('copy','${media.handle}')" title="${this.msgs.get('media.copy')}"> - <img src="${this.request.contextPath}/.resources/icons/16/copy.gif" border="0" align="middle" /> - </a> - <#else> - <a> - <img src="${this.request.contextPath}/.resources/media/icons/edit_inactive.gif" border="0" align="middle" /> - </a> - <a> - <img src="${this.request.contextPath}/.resources/icons/16/delete2_inactive.gif" border="0" align="middle" /> - </a> - <a> - <img src="${this.request.contextPath}/.resources/icons/16/up_down_inactive.gif" border="0" align="middle" /> - </a> - <a> - <img src="${this.request.contextPath}/.resources/icons/16/copy_inactive.gif" border="0" align="middle" /> - </a> - </#if> - <#if media.canPublish> - <a href="javascript:$empty()" onclick="performAction('activate', '${media.handle}','')" title="${this.msgs.get('media.activate')}"> - <img src="${this.request.contextPath}/.resources/icons/16/arrow_right_green.gif" border="0" align="middle" /> - </a> - <#else> - <a title="${this.msgs.get('media.activate')}"> - <img src="${this.request.contextPath}/.resources/media/icons/arrow_right_green_inactive.gif" border="0" - align="middle" /> - </a> - </#if> - <#if media.canPublish && media.metaData.activationStatus = 2> - <a href="javascript:$empty()" onclick="performAction('deactivate', '${media.handle}','')" title="${this.msgs.get('media.deactivate')}"> - <img src="${this.request.contextPath}/.resources/icons/16/arrow_left_red.gif" border="0" align="middle" /> - </a> - <#else> - <a title="${this.msgs.get('media.deactivate')}"> - <img src="${this.request.contextPath}/.resources/icons/16/arrow_left_red_inactive.gif" border="0" - align="middle" /> - </a> - </#if> - </div> - <div class="used"> - <#if media.usedInWebPages?size = 0> - <span>${this.msgs.get('media.nopages')}</span> - <#else> - <#assign pages = ""> - <#list media.usedInWebPages as page> - <#assign pages = pages + "<a href='${this.request.contextPath}" + page +".html' target='_blank'>"+ page +"</a><br/>"> - </#list> - <span class="tips" rel="${pages}">${this.msgs.get('media.pages')} (${media.usedInWebPages?size})</span> - </#if> - </div> <#if media.formatInfo??> <div class="mediainfo">${media.formatInfo}</div> </#if> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |