add isoDateParser to sort the date

This commit is contained in:
Jacky 2017-11-05 09:49:58 -05:00
parent a39ee108ac
commit c08b0f589a
2 changed files with 27 additions and 1 deletions

View File

@ -430,6 +430,11 @@ public class FileProjectManager extends ProjectManager {
try { try {
boolean found = false; boolean found = false;
JSONObject placeHolderJsonObj = userMetadataPreference.getJSONObject(index); JSONObject placeHolderJsonObj = userMetadataPreference.getJSONObject(index);
if (!isValidUserMetaDataDefinition(placeHolderJsonObj)) {
logger.warn("Skipped invalid user metadata definition" + placeHolderJsonObj.toString());
continue;
}
for (int i = 0; i < jsonObjArray.length(); i++) { for (int i = 0; i < jsonObjArray.length(); i++) {
JSONObject jsonObj = jsonObjArray.getJSONObject(i); JSONObject jsonObj = jsonObjArray.getJSONObject(i);
@ -452,6 +457,17 @@ public class FileProjectManager extends ProjectManager {
} }
} }
} }
/**
* A valid user meta data definition should have name and display property
* @param placeHolderJsonObj
* @return
*/
private boolean isValidUserMetaDataDefinition(JSONObject placeHolderJsonObj) {
return (placeHolderJsonObj != null &&
placeHolderJsonObj.has("name") &&
placeHolderJsonObj.has("display"));
}
protected void recover() { protected void recover() {
boolean recovered = false; boolean recovered = false;

View File

@ -264,11 +264,21 @@ Refine.OpenProjectUI.prototype._renderProjects = function(data) {
renderProject(projects[i]); renderProject(projects[i]);
} }
$.tablesorter.addParser({
id: "isoDateParser",
is: function(s) {
return (/^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}T\d{2}:\d{2}:\d{2}[\+,\-\.]\d{3}/).test(s);
},
format: function(s, table) {
return $.tablesorter.formatFloat((s !== "") ? (new Date(s).getTime() || "") : "", table);
},
type: "numeric"
});
$(table).tablesorter({ $(table).tablesorter({
headers : { headers : {
3 : { 3 : {
sorter : "time" sorter : "isoDateParser"
} }
} }
}); });