Update of 
/var/cvs/contributions/CMSContainer/cmsc/contentrepository/src/webapp/editors/resources
In directory 
james.mmbase.org:/tmp/cvs-serv4338/cmsc/contentrepository/src/webapp/editors/resources

Modified Files:
        urlsearch.jsp 
Log Message:
CMSC-1281 Assets: Relate URLs to content element - New search screen


See also: 
http://cvs.mmbase.org/viewcvs/contributions/CMSContainer/cmsc/contentrepository/src/webapp/editors/resources
See also: http://www.mmbase.org/jira/browse/CMSC-1281


Index: urlsearch.jsp
===================================================================
RCS file: 
/var/cvs/contributions/CMSContainer/cmsc/contentrepository/src/webapp/editors/resources/urlsearch.jsp,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -b -r1.19 -r1.20
--- urlsearch.jsp       6 Feb 2009 06:08:19 -0000       1.19
+++ urlsearch.jsp       17 Feb 2009 13:54:37 -0000      1.20
@@ -6,40 +6,82 @@
 <html:html xhtml="true">
 <cmscedit:head title="urls.title">
 <script src="../repository/search.js" type="text/javascript"></script>
-<script src="../repository/content.js" type="text/javascript"></script>
 <script type="text/javascript">
+   function setShowMode() {
+          var showMode = document.getElementsByTagName("option");
+          var assetShow;
+       for(i = 0; i < showMode.length; i++){
+          if(showMode[i].selected & showMode[i].id=="a_list"){
+              assetShow="list";
+          }else if(showMode[i].selected & showMode[i].id=="a_thumbnail"){
+                 assetShow="thumbnail";
+          }
+       }
+      document.forms[0].assetShow.value = assetShow;
+      document.forms[0].submit();
+       }
+       function showInfo(objectnumber) {
+               openPopupWindow('urlinfo', '900', '500',
+                               '../resources/urlinfo.jsp?objectnumber=' + 
objectnumber);
+       }
+               
+       function initParentHref(elem) {
+               if(elem.id=='selected'){
+                       elem.parentNode.setAttribute('href', '');
+                       elem.id ='';
+                       return;
+               }
+               elem.parentNode.setAttribute('href', elem.getAttribute('href'));
+               var oldSelected = document.getElementById('selected');
+               if(oldSelected){
+                       oldSelected.id="";
+               }
+               elem.id ='selected';
+       }
+
+   function doSelectIt() {
+      var href = document.getElementById('assetList').getAttribute('href')+"";
+      if (href.length<10) {
+          alert("You must select one url");
+          return;
+      }
+      if (href.indexOf('javascript:') == 0) {
+       eval(href.substring('javascript:'.length, href.length));
+       return false;
+      }
+      document.location=href;
+   }
+   
+   function doCancleIt(){
+      window.top.close();
+   }
+
    function selectElement(element, title, src) {
       if(window.top.opener != undefined) {
          window.top.opener.selectElement(element, title, src);
          window.top.close();
       }
    }
-   function showInfo(objectnumber,returnUrl) {
-      openPopupWindow('urlinfo', '500', '500', 
'urlinfo.jsp?objectnumber='+objectnumber+'&returnUrl='+returnUrl);
-     }
-   function confirmDelete(){
-      var checkboxs = document.getElementsByTagName("input");
-      var num = 0;
-      for (i = 0; i < checkboxs.length; i++) {
-        if (checkboxs[i].type == 'checkbox' && 
checkboxs[i].name.indexOf('chk_') == 0 && checkboxs[i].checked) {
-          num++;
-        }
-      }
-      if(num > 0){
-        del = confirm("<fmt:message key="secondaryedit.mass.sure"/> "+num+" 
<fmt:message key="secondaryedit.mass.elements"/> ?");
-        if(del){
-          document.forms['imageform'].submit();
+
+       function selectChannel(channelid, path) {
+               var urlMode = document.getElementsByTagName("option");
+              for(i = 0; i < urlMode.length; i++){
+                 if(urlMode[i].selected & urlMode[i].id=="a_list"){
+                     document.location.href = 
'../../repository/HighFrequencyAsset.do?action=often&offset=0&channelid='+channelid+'&assetShow=list&assettypes=urls';
+                 }else if(urlMode[i].selected & urlMode[i].id=="a_thumbnail"){
+                     document.location.href = 
'../../repository/HighFrequencyAsset.do?action=often&offset=0&channelid='+channelid+'&assetShow=thumbnail&assettypes=urls';
         }
-      }else{
-             alert("<fmt:message key="secondaryedit.mass.atleast.delete"/> ");
          }
    }
-</script>
-</cmscedit:head>
+       </script>
+          <link rel="stylesheet" type="text/css" href="../css/assetsearch.css" 
/>
+          </cmscedit:head>
 <body>
 <mm:cloud jspvar="cloud" loginpage="../../editors/login.jsp">
-   <mm:import externid="action">search</mm:import>
-   <%-- either: search of select --%>
+<mm:import externid="action">search</mm:import><%-- either often or search --%>
+<mm:import externid="assetShow">list</mm:import><%-- either list or thumbnail 
--%>
+
+   <c:when test="${action eq 'search'}">
    <div class="tabs"><!-- actieve TAB -->
    <div class="tab_active">
    <div class="body">
@@ -47,71 +89,121 @@
    </div>
    </div>
    </div>
+   </c:when>
 
-   <div class="editor" style="height:500px">
-   <div class="body"><mm:import id="searchinit">
-      <c:url value='/editors/resources/UrlInitAction.do' />
-   </mm:import> <html:form action="/editors/resources/UrlAction" method="post">
+   <div class="editor" style="height:555px">
+      <c:choose>
+         <c:when test="${action eq 'search'}">
+            <mm:import id="formAction">/editors/resources/UrlAction</mm:import>
+            <mm:import id="channelMsg"><fmt:message key="urls.results" 
/></mm:import>
+         </c:when>
+         <c:otherwise>
+            <mm:import 
id="formAction">/editors/repository/HighFrequencyAsset</mm:import>
+            <c:if test="${param.channelid eq 'all'}">
+                <mm:import id="channelMsg"><fmt:message 
key="urls.channel.title"><fmt:param>ALL 
CHANNELS</fmt:param></fmt:message></mm:import>
+            </c:if>
+            <c:if test="${param.channelid ne 'all'}">
+               <mm:node number="${channelid}">
+                  <mm:field name="path" id="path" write="false" />
+                  <mm:import id="channelMsg">
+                     <fmt:message key="urls.channel.title">
+                        <fmt:param value="${path}" />
+                     </fmt:message>
+                  </mm:import>
+               </mm:node>
+            </c:if>
+         </c:otherwise>
+      </c:choose>
+      <div class="body" <c:if test="${action == 
'often'}">style="display:none"</c:if> >
+         <html:form action="${formAction}" method="post">
       <html:hidden property="action" value="${action}"/>
-      <html:hidden property="offset" />
-      <html:hidden property="order" />
-      <html:hidden property="direction" />
-
+            <html:hidden property="assetShow" value="${assetShow}"/>
+            <html:hidden property="offset"/>
+            <c:if test="${action eq 'often'}">
+            <html:hidden property="assettypes" value="urls"/>
+            <html:hidden property="channelid" value="${channelid}"/>
+            </c:if>
+            <html:hidden property="order"/>
+            <html:hidden property="direction"/>
+            <c:if test="${action eq 'search'}">
       <mm:import id="contenttypes" jspvar="contenttypes">urls</mm:import>
-      <%...@include file="urlform.jsp"%>
-
+               <%...@include file="imageform.jsp" %>
+            </c:if>
    </html:form>
    </div>
    
    <div class="ruler_green">
-   <div><fmt:message key="urls.results" /></div>
+         <div><c:out value="${channelMsg}" /></div>
    </div>
+   <select name="urlMode" id="urlMode" onchange="javascript:setShowMode()">
+      <c:if test="${assetShow eq 'list'}">
+         <option id="a_list" selected="selected"><fmt:message 
key="asset.url.list"/></option>
+         <option id="a_thumbnail"><fmt:message 
key="asset.url.thumbnail"/></option>
+      </c:if>
+      <c:if test="${assetShow eq 'thumbnail'}">
+         <option id="a_list"><fmt:message key="asset.url.list"/></option>
+         <option id="a_thumbnail" selected="selected"><fmt:message 
key="asset.url.thumbnail"/></option>
+      </c:if>
+   </select>
+   <div class="body" style="max-height:400px;overflow-y:auto; 
overflow-x:hidden">
+   <mm:import externid="results" jspvar="nodeList" vartype="List" /> 
+         <mm:import externid="resultCount" jspvar="resultCount" 
vartype="Integer">0</mm:import>
+         <mm:import externid="offset" jspvar="offset" 
vartype="Integer">0</mm:import>
+         <c:if test="${resultCount > 0}">
+            <%...@include file="../repository/searchpages.jsp" %>
    
-   <div class="body">
-   <mm:import externid="results" jspvar="nodeList" vartype="List" /> <mm:import
-      externid="resultCount" jspvar="resultCount" 
vartype="Integer">0</mm:import> <mm:import
-      externid="offset" jspvar="offset" vartype="Integer">0</mm:import> <c:if 
test="${resultCount > 0}">
-      <%...@include file="../repository/searchpages.jsp"%>
-      <form action="SecondaryContentMassDeleteAction.do?object_type=urls" 
method="post" name="urlform">
-         <table border="0" width="100%" class="listcontent">
+            <c:if test="${assetShow eq 'thumbnail'}">
+            <div id="assetList" class="hover" style="width:100%" href="">
+                  <mm:listnodes referid="results">
+                     <mm:field name="description" escape="js-single-quotes" 
jspvar="description">
+                        <%
+                           description = ((String) 
description).replaceAll("[\\n\\r\\t]+", " ");
+                        %>
+                        <mm:import 
id="url">javascript:selectElement('<mm:field name="number"/>', '<mm:field 
name="title" escape="js-single-quotes"/>','<mm:image />','<mm:field 
name="width"/>','<mm:field name="height"/>', '<%=description%>');</mm:import>
+                     </mm:field>
+                     <div class="grid" href="<mm:write referid="url"/>" 
onclick="initParentHref(this)" title="double click to show the info">
+                        <div class="thumbnail" ondblclick="showInfo('<mm:field 
name="number"/>')"><img src="../gfx/url.gif" alt=""/></div>
+                        <div class="urlInfo">
+                           <c:set var="assettype" ><mm:nodeinfo 
type="type"/></c:set>
+                              <mm:field id="title" write="false" name="title"/>
+                              <c:if test="${fn:length(title) > 15}">
+                                 <c:set 
var="title">${fn:substring(title,0,14)}...</c:set>
+                              </c:if>${title}
+                              <br/><mm:field name="itype" />
+                        </div>
+                     </div>
+                  </mm:listnodes>
+            </div>
+            </c:if>
+
+         <c:if test="${assetShow eq 'list'}">
+            <table>
+               <c:if test="${action == 'search'}">
             <tr class="listheader">
-               <th>
-               </th>
+                     <th width="55"></th>
                <th nowrap="true"><a href="javascript:orderBy('name')" 
class="headerlink"><fmt:message
                   key="urlsearch.namecolumn" /></a></th>
-               <th nowrap="true"><a href="javascript:orderBy('url')" 
class="headerlink" ><fmt:message key="urlsearch.urlcolumn" /></a></th>
-                    <th nowrap="true"><a href="javascript:orderBy('valid')" 
class="headerlink" ><fmt:message key="urlsearch.validcolumn" /></a></th>
+                     <th nowrap="true"><a href="javascript:orderBy('url')"
+                        class="headerlink"><fmt:message 
key="urlsearch.urlcolumn" /></a></th>
+                     <th nowrap="true"><a href="javascript:orderBy('valid')"
+                        class="headerlink"><fmt:message
+                        key="urlsearch.validcolumn" /></a></th>
             </tr>
-            <tbody class="hover">
+               </c:if>
+               <tbody id="assetList" class="hover"  href="">
                <c:set var="useSwapStyle">true</c:set>
                <mm:listnodes referid="results">
                   <mm:import id="url">javascript:selectElement('<mm:field 
name="number" />', '<mm:field
                         name="title" escape="js-single-quotes"/>','<mm:field 
name="url" />');</mm:import>
                   <tr <c:if test="${useSwapStyle}">class="swap"</c:if> 
href="<mm:write referid="url"/>">
                      <td style="white-space:nowrap;">
-                           <c:if test="${action != 'select'}">
-                        <a href="<mm:url page="../WizardInitAction.do">
-                                                     <mm:param 
name="objectnumber"><mm:field name="number" /></mm:param>
-                                                     <mm:param 
name="returnurl" value='<%="../editors/resources/UrlAction.do" + 
request.getAttribute("geturl")%>' />
-                                                  </mm:url>">
-                        <img src="../gfx/icons/page_edit.png" 
title="<fmt:message key="urlsearch.icon.edit" />" /></a>
-                         <a href="javascript:showInfo(<mm:field name="number" 
/>,'<%="/editors/resources/UrlAction.do" + request.getAttribute("geturl")%>')">
+                         <a href="javascript:showInfo(<mm:field name="number" 
/>)">
                                <img src="../gfx/icons/info.png" 
title="<fmt:message key="urlsearch.icon.info" />" /></a>
-                        <mm:hasrank minvalue="siteadmin">
-                           <a href="<mm:url 
page="DeleteSecondaryContentAction.do" >
-                                                        <mm:param 
name="object_type" value="urls"/>
-                                                        <mm:param 
name="objectnumber"><mm:field name="number" /></mm:param>
-                                                        <mm:param 
name="returnurl" value='<%="/editors/resources/UrlAction.do" + 
request.getAttribute("geturl")%>' />
-                                                     </mm:url>">
-                           <img src="../gfx/icons/delete.png" 
title="<fmt:message key="urlsearch.icon.delete" />" /></a>
-                        </mm:hasrank>
-                       </c:if>
-
                      </td>
                      <mm:field name="title" jspvar="name" write="false"/>
-                     <td onMouseDown="objClick(this);">${fn:substring(name, 0, 
40)}<c:if test="${fn:length(name) > 40}">...</c:if></td>
+                     <td 
onMouseDown="initParentHref(this.parentNode)">${fn:substring(name, 0, 40)}<c:if 
test="${fn:length(name) > 40}">...</c:if></td>
                      <mm:field name="url" jspvar="url" write="false"/>
-                     <td onMouseDown="objClick(this);">${fn:substring(url, 0, 
40)}<c:if test="${fn:length(url) > 40}">...</c:if></td>
+                     <td 
onMouseDown="initParentHref(this.parentNode);">${fn:substring(url, 0, 40)}<c:if 
test="${fn:length(url) > 40}">...</c:if></td>
                             <mm:field name="valid" write="false" 
jspvar="isValidUrl"/>
                             <td>
                                 <c:choose>
@@ -143,7 +235,42 @@
 <%...@include file="../repository/searchpages.jsp" %>
 </c:if>
 </div>
+<c:if test="${action == 'often'}">
+<div class="body">
+<mm:url page="/editors/repository/select/SelectorChannel.do" 
id="select_channel_url" write="false" />
+<mm:url page="/editors/repository/UrlInitAction.do?action=search" 
id="search_url_url" write="false" />
+<mm:import jspvar="returnurl" 
id="returnurl">/editors/repository/UrlAction.do?action=select</mm:import>
+<mm:url 
page="/editors/WizardInitAction.do?assettype=urls&action=create&creation=${channelid}&returnurl=${returnurl}"
 id="new_url_url" write="false" />
+<mm:url 
page="/editors/repository/HighFrequencyAsset.do?action=often&assetShow=${assetShow}&offset=0&channelid=all&assettypes=urls"
 id="often_show_urls" write="false"/>
+<ul class="shortcuts">
+   <li><a href="${often_show_urls}"><fmt:message 
key="urlselect.link.allchannel" /></a></li>
+   <li><a onclick="openPopupWindow('selectchannel', 340, 400);" 
target="selectchannel" href="${select_channel_url}"><fmt:message 
key="urlselect.link.channel" /></a></li>
+   <li><a href="${search_url_url}"><fmt:message key="urlselect.link.search" 
/></a></li>
+   <li><a href="${new_url_url}"><fmt:message key="urlselect.link.new" 
/></a></li>
+</ul>
 </div>
+</c:if>
+</div>
+<div id="commandbuttonbar" class="buttonscontent" style="clear:both">
+     <div class="page_buttons_seperator">
+        <div></div>
+     </div>
+     <div class="page_buttons">
+         <div class="button">
+             <div class="button_body">
+                 <a class="bottombutton" title="Select the url." 
href="javascript:doSelectIt();"><fmt:message key="urlselect.ok" /></a>
+             </div>
+         </div>
+        
+         <div class="button">
+             <div class="button_body">
+                 <a class="bottombutton" href="javascript:doCancleIt();" 
title="Cancel this task, url will NOT be selected."><fmt:message 
key="urlselect.cancel" /></a>
+             </div>
+         </div>
+         <div class="begin">
+         </div>
+     </div>
+ </div>
 </mm:cloud>
 </body>
 </html:html>
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to