function serializeDocColumns(doc:NotesDocument, cols?: any[]) { try { var tArr = []; var o = {}; var v = doc.getColumnValues(); if(!!cols) { for(var i = 0; i < v.size(); i++) { o[cols[i]] = v.get(i) } o["@unid"] = doc.getUniversalID(); o["@href"] = "/" + doc.getParentDatabase().getFilePath() + "/api/data/collections/name/0/unid" + doc.getUniversalID() return json.stringify(o); } else { for(var i = 0; i < v.size(); i++) { tArr.push(v.get(i)); } return json.stringify(tArr); } } catch (e) { print(e); return json.stringify({error: e.toString()}); } }
function serializeEntryColumns(nve:NotesViewEntry, cols?: any[], colNames?: { [key: string]: number}, dbPath?: string, parentColumns?: any, computedColumns?: any, search?: string, searchIn?: string) { try { nve.setPreferJavaDates(true); var tArr = []; var o = {}; var v = nve.getColumnValues(); var render = true; dbPath = dbPath || nve.getDocument().getParentDatabase().getFilePath(); if(!!cols) { for(var i = 0; i < v.size(); i++) { if(search && cols[i] == searchIn) { //log.log(cols[i]); render = (json.stringify(v.get(i))+"").toLowerCase().indexOf(search) != -1 } //print(cols[i]) //print(v.get(i)); o[cols[i]] = v.get(i) } if(!render) return null; o["@unid"] = nve.getUniversalID(); o["@href"] = "/" + dbPath + "/api/data/collections/name/0/unid" + nve.getUniversalID() o["@position"] = nve.getPosition("."); o["@noteid"] = nve.getNoteID(); o["@siblings"] = nve.getSiblingCount(); o["@ftscore"] = nve.getFTSearchScore(); if(!!parentColumns) { let tempDoc = nve.getDocument(); try { o["@parent"] = getDocItems(tempDoc.getParentDatabase().getDocumentByUNID(tempDoc.getParentDocumentUNID()), parentColumns); //print(json.stringify(o["@parent"])); } catch(e) { print(e) o["@parent"] = {error: e + ""} } } if(!!computedColumns) { var ccs = {} for(var k in computedColumns) { var ccConfig = computedColumns[k]; try { ccs[k] = ccConfig.instance(nve, colNames); } catch(e) { ccs[k] = e + ""; } } o["@computed"] = ccs; } return json.stringify(o, replacer); } else { for(var i = 0; i < v.size(); i++) { if(search && cols[i] == searchIn) { //log.log(cols[i]); render = (json.stringify(v.get(i))+"").toLowerCase().indexOf(search) != -1 } tArr.push(v.get(i)); } if(!render) return null; tArr.push(nve.getUniversalID()); tArr.push("/" + dbPath + "/api/data/collections/name/0/unid" + nve.getUniversalID()); tArr.push(nve.getPosition(".")); tArr.push(nve.getNoteID()); tArr.push(nve.getSiblingCount()); tArr.push(nve.getFTSearchScore()); if(!!parentColumns) { let tempDoc = nve.getDocument(); try { tArr.push(getDocItems(tempDoc.getParentDatabase().getDocumentByUNID(tempDoc.getParentDocumentUNID()), parentColumns)); } catch(e) { tArr.push({}) } } return json.stringify(tArr, replacer); } } catch (e) { print(e); return json.stringify({error: e.toString()}); } }