diff --git a/src/main/java/org/gcube/portlets/user/wswidget/StorageHubServiceUtil.java b/src/main/java/org/gcube/portlets/user/wswidget/StorageHubServiceUtil.java index c7ce025..0d2af05 100644 --- a/src/main/java/org/gcube/portlets/user/wswidget/StorageHubServiceUtil.java +++ b/src/main/java/org/gcube/portlets/user/wswidget/StorageHubServiceUtil.java @@ -15,6 +15,7 @@ import org.gcube.common.storagehub.client.proxies.ItemManagerClient; import org.gcube.common.storagehub.client.proxies.WorkspaceManagerClient; import org.gcube.common.storagehub.model.Paths; import org.gcube.common.storagehub.model.expressions.GenericSearchableItem; +import org.gcube.common.storagehub.model.expressions.OrderField; import org.gcube.common.storagehub.model.expressions.SearchableItem; import org.gcube.common.storagehub.model.expressions.logical.ISDescendant; import org.gcube.common.storagehub.model.items.AbstractFileItem; @@ -23,7 +24,7 @@ import org.gcube.common.storagehub.model.query.Queries; import org.gcube.common.storagehub.model.query.Query; import org.gcube.portlets.user.wswidget.shared.AuthorizedUser; import org.gcube.portlets.user.wswidget.shared.WSItem; - +import org.gcube.common.storagehub.model.expressions.OrderField.MODE; import com.liferay.portal.kernel.log.Log; import com.liferay.portal.kernel.log.LogFactoryUtil; @@ -114,7 +115,7 @@ public class StorageHubServiceUtil { query.setExpression(new ISDescendant(Paths.getPath("/Home/"+authUser.getUser().getUsername()+"/Workspace/MySpecialFolders/"+vreFolder.getTitle()))); query.setLimit(limit); - query.setOrder(GenericSearchableItem.get().lastModification); + query.setOrder(new OrderField(GenericSearchableItem.get().lastModification, MODE.DESC)); WorkspaceManagerClient wsclient = AbstractPlugin.workspace().build(); List theChildren = wsclient.search(query, "hl:accounting", "jcr:content"); diff --git a/src/main/java/org/gcube/portlets/user/wswidget/WorkspaceWidget.java b/src/main/java/org/gcube/portlets/user/wswidget/WorkspaceWidget.java index 02c3da3..4e660af 100644 --- a/src/main/java/org/gcube/portlets/user/wswidget/WorkspaceWidget.java +++ b/src/main/java/org/gcube/portlets/user/wswidget/WorkspaceWidget.java @@ -1,7 +1,6 @@ package org.gcube.portlets.user.wswidget; import java.io.IOException; -import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.List; @@ -191,8 +190,6 @@ public class WorkspaceWidget extends MVCPortlet { */ private JSONObject buildJSONResponse(List itemsList, int start, int offset, int draw, int count, ResourceRequest request){ JSONArray usersJsonArray = JSONFactoryUtil.createJSONArray(); - SimpleDateFormat sdf = new SimpleDateFormat("dd MMM HH:ss yy"); - JSONObject jsonUser = null; for (WSItem item : itemsList) { JSONArray nameAndIconArray = JSONFactoryUtil.createJSONArray(); @@ -210,7 +207,7 @@ public class WorkspaceWidget extends MVCPortlet { jsonUser.put("Id",item.getId()); jsonUser.put("Name", stringfiedJsonArray.substring(1, stringfiedJsonArray.length()-1)); //without square brackets so that it is parsable in the client jsonUser.put("Owner",item.getOwner()); - jsonUser.put("LastModified", sdf.format(item.getLastUpdated())); + jsonUser.put("LastModified", item.getLastUpdated().getTime()); jsonUser.put("isFolder", item.isFolder() || item.isSharedFolder() || item.isSpecialFolder()); usersJsonArray.put(jsonUser); } diff --git a/src/main/webapp/html/workspacewidget/view.jsp b/src/main/webapp/html/workspacewidget/view.jsp index c21a502..e390e24 100644 --- a/src/main/webapp/html/workspacewidget/view.jsp +++ b/src/main/webapp/html/workspacewidget/view.jsp @@ -132,12 +132,14 @@ function mainTable() { }, { "data": "LastModified" , "render": function ( data, type, row, meta ) { - return ''+data+''; + var date = $.format.date(new Date(data), 'dd MMM HH:mm yy'); + return ''+date+''; } } ] } ); + // SimpleDateFormat sdf = new SimpleDateFormat("dd MMM HH:mm yy"); table // .on( 'select', function ( e, dt, type, indexes ) { // var selectedId = table.rows( indexes ).data().pluck( 'Id' )[0]; diff --git a/src/main/webapp/js/dateFormat.min.js b/src/main/webapp/js/dateFormat.min.js new file mode 100644 index 0000000..cb1baf6 --- /dev/null +++ b/src/main/webapp/js/dateFormat.min.js @@ -0,0 +1,3 @@ +/*! jquery-dateformat 28-04-2018 */ + +var DateFormat={};!function(e){var I=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],O=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],v=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],w=["January","February","March","April","May","June","July","August","September","October","November","December"],a={Jan:"01",Feb:"02",Mar:"03",Apr:"04",May:"05",Jun:"06",Jul:"07",Aug:"08",Sep:"09",Oct:"10",Nov:"11",Dec:"12"},u=/\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.?\d{0,3}[Z\-+]?(\d{2}:?\d{2})?/;DateFormat.format=function(){function o(e){return a[e]||e}function i(e){var a,r,t,n,s,o=e,i="";return-1!==o.indexOf(".")&&(o=(n=o.split("."))[0],i=n[n.length-1]),3===(s=o.split(":")).length?(a=s[0],r=s[1],t=s[2].replace(/\s.+/,"").replace(/[a-z]/gi,""),{time:o=o.replace(/\s.+/,"").replace(/[a-z]/gi,""),hour:a,minute:r,second:t,millis:i}):{time:"",hour:"",minute:"",second:"",millis:""}}function D(e,a){for(var r=a-String(e).length,t=0;t