var fdi = fdi || {}; console.clear(); fdi.isNullOrEmpty = function(str){ if(str === typeof(undefined)){ return true; } if(str == null){ return true; } try{ if(str.trim() == ""){ return true; } } catch(e){ debugger } return false; } //tag html fdi.createTableOneColumn = function(data, columns, target, additionallCols){ if(fdi.isNullOrEmpty(target)) return; var targetDiv = document.getElementById(target); targetDiv.innerHTML = ""; var tbl = document.createElement('table'); var columnArray = columns.split(","); var columndisplay = additionallCols.split(","); for(var i = 0 ; i < columnArray.length ; i++){ if(data[columnArray[i]] === typeof(undefined)) continue; if(data[columnArray[i]] == null) continue; var tr1 = document.createElement('tr'); var th = document.createElement('td'); fdi.fdidebuglog(columnArray[i]); th.innerText = columnArray[i]; var att = document.createAttribute("style"); att.value = "border:1px solid #000;"; th.setAttributeNode(att); tr1.appendChild(th); if(additionallCols !== typeof(undefined)){ th = document.createElement('td'); fdi.fdidebuglog(columndisplay[i]); th.innerText = columndisplay[i]; att = document.createAttribute("style"); att.value = "border:1px solid #000;width:230px"; th.setAttributeNode(att); tr1.appendChild(th); } th = document.createElement('td'); fdi.fdidebuglog(data[columnArray[i]]); th.innerText = data[columnArray[i]]; att = document.createAttribute("style"); att.value = "border:1px solid #000;"; th.setAttributeNode(att); tr1.appendChild(th); tbl.appendChild(tr1); } targetDiv.appendChild(tbl); } //tag html fdi.createTable = function( columns, datas, target, backGroundColor){ if(fdi.isNullOrEmpty(target)) return; // var targetDiv = document.getElementsByClassName("SPCanvas"); // targetDiv[0]; var targetDiv = document.getElementById(target); targetDiv.innerHTML = ""; var tbl = document.createElement('table'); var att = document.createAttribute("class"); //var thead = document.createElement('thead'); var tr1 = document.createElement('tr'); var columnArray = columns.split(","); var att = null; for(var i = 0 ; i < columnArray.length ; i++){ var th = document.createElement('th'); fdi.fdidebuglog(columnArray[i]); th.innerText = columnArray[i]; att = document.createAttribute("style"); att.value = "border:1px solid #000;width:230px"; th.setAttributeNode(att); tr1.appendChild(th); } tbl.appendChild(tr1); for(var j = 0 ; j < datas.length ; j++){ var tr2 = document.createElement('tr'); //background-color: #EEEEEE if(j % 2 == 0 && typeof(backGroundColor) !== "undefined"){ att = document.createAttribute("style"); att.value = "background-color:" + backGroundColor + ";"; tr2.setAttributeNode(att); } for(var i = 0 ; i < columnArray.length ; i++){ var td = document.createElement('td'); td.innerText = datas[j][columnArray[i]]; att = document.createAttribute("style"); att.value = "border:1px solid #000;width:230px"; td.setAttributeNode(att); tr2.appendChild(td); } tbl.appendChild(tr2); } targetDiv.appendChild(tbl); } /* fdi.getItemById = function(id, listTitle, target, fields, additionallCols){ if(fdi.isNullOrEmpty(listTitle)){ fdi.fdilog("listTitle is undefined, null or empty"); return; } fdi.fdilog(id); fdi.fdilog(listTitle); fdi.fdilog(fields); var xhr = new XMLHttpRequest(); var url1 = null; if(_spPageContextInfo === typeof(undefined)) url1 = url; else url1 = _spPageContextInfo.webAbsoluteUrl; if(url1 === typeof(undefined)){ fdi.fdilog("_spPageContextInfo is null, and url is null, one of those are required") } if (url1 === "undefined") { fdi.fdilog("_spPageContextInfo.webAbsoluteUrl undefined"); url1 = "http://siteUrl"; } var req = url1 + "/_api/Web/Lists/getbytitle('" + listTitle + "')/items("+ id +")"; fdi.fdilog(req); xhr.open('GET', req); xhr.setRequestHeader("Accept", "application/json; odata=verbose"); xhr.onload = function () { if (xhr.status === 200) { var kk = JSON.parse(xhr.responseText); fdi.lastQuery = req; fdi.lastResult = kk; fdi.fdilog(kk.d);//,TypeAsString,Title,Hidden,Required,Group fdi.createTableOneColumn(kk.d, fields, target, additionallCols); //fdi.createTable("InternalName", kk.d.results,"fdiTarget"); } else { fdi.fdilog(req); fdi.fdilog(xhr); alert('Request failed. Returned status of ' + xhr.status); } }; xhr.send(); }*/ fdi.fdilog = function(msg){ console.log(msg); if(msg === typeof(string)) console.dir(msg); } fdi.fdidebuglog = function(msg){ console.log(msg); if(msg === typeof(string)) console.dir(msg); } fdi.getFields = function(listTitle, url){ if(fdi.isNullOrEmpty(listTitle)){ fdi.fdilog("listTitle is undefined, null or empty"); return; } var xhr = new XMLHttpRequest(); var url1 = null; if(_spPageContextInfo === typeof(undefined)) url1 = url; else url1 = _spPageContextInfo.webAbsoluteUrl; if(url1 === typeof(undefined)){ fdi.fdilog("_spPageContextInfo is null, and url is null, one of those are required") } if (url1 === "undefined") { fdi.fdilog("_spPageContextInfo.webAbsoluteUrl undefined"); url1 = "http://siteUrl"; } var req = url1 + "/_api/Web/Lists/getbytitle('" + listTitle + "')/fields";//?$filter=Hidden eq false&$orderBy=InternalName fdi.fdilog(req); xhr.open('GET', req); xhr.setRequestHeader("Accept", "application/json; odata=verbose"); xhr.onload = function () { if (xhr.status === 200) { var kk = JSON.parse(xhr.responseText); fdi.lastQuery = req; fdi.lastResult = kk; fdi.fdilog(kk.d);//,TypeAsString,Title,Hidden,Required,Group fdi.createTable("Title,InternalName,TypeAsString,Title,Hidden,Required,Group", kk.d.results,"fdiTarget"); } else { fdi.fdilog(req); fdi.fdilog(xhr); alert('Request failed. Returned status of ' + xhr.status); } }; xhr.send(); } //fdi.getFields("Process Assessment"); fdi.getItemById = function(id, listTitle, target, fields, additionallCols){ if(fdi.isNullOrEmpty(listTitle)){ fdi.fdilog("listTitle is undefined, null or empty"); return; } fdi.fdilog(id); fdi.fdilog(listTitle); fdi.fdilog(fields); var xhr = new XMLHttpRequest(); var url1 = null; if(_spPageContextInfo === typeof(undefined)) url1 = url; else url1 = _spPageContextInfo.webAbsoluteUrl; if(url1 === typeof(undefined)){ fdi.fdilog("_spPageContextInfo is null, and url is null, one of those are required") } if (url1 === "undefined") { fdi.fdilog("_spPageContextInfo.webAbsoluteUrl undefined"); url1 = "http://siteUrl"; } var req = url1 + "/_api/Web/Lists/getbytitle('" + listTitle + "')/items("+ id +")"; fdi.fdilog(req); xhr.open('GET', req); xhr.setRequestHeader("Accept", "application/json; odata=verbose"); xhr.onload = function () { if (xhr.status === 200) { var kk = JSON.parse(xhr.responseText); fdi.lastQuery = req; fdi.lastResult = kk; fdi.fdilog(kk.d);//,TypeAsString,Title,Hidden,Required,Group fdi.createTableOneColumn(kk.d, fields, target, additionallCols); //fdi.createTable("InternalName", kk.d.results,"fdiTarget"); } else { fdi.fdilog(req); fdi.fdilog(xhr); alert('Request failed. Returned status of ' + xhr.status); } }; xhr.send(); } // fdi.getItemById(170,"Campaigns", "fdiTarget", // "Author,Category,CFO,CFO_x0020_Validation_x0020_date,Created,End_x0020_date_x0020_of_x0020_th,EndDateUserFormat,Entity,Flag_x0020_All_x0020_Process_x00,FolderChildCount,GM,GM_x0020_Validation_x0020_date,HR,HR_x0020_Date,HR_x0020_Flag,HR_x0020_Progress,ID,ID_x0020_Finance,ID_x0020_Finance_x0020__x002d__x,ID_x0020_Finance_x0020__x002d__x0,ID_x0020_Finance_x0020__x002d__x1,ID_x0020_Finance_x0020__x002d__x2,ID_x0020_HR,ID_x0020_IT,ID_x0020_Legal,ID_x0020_Marketing,ID_x0020_Procurement,ID_x0020_Safety,ID_x0020_Sales,ID_x0020_Security,ID_x0020_Supply_x0020_Chain,ItemChildCount,LaunchReportingFlag,LaunchSurveyFlag,LockFlag,Modified,Progress,Reporting,Reporting_x0020_generation,Staus,SubmitFlag,Survey,Survey_x0020_validation,TimeOut_x0020_SA,Title,XML_x0020_Accounting,XML_x0020_Finance_x0020__x002d__,XML_x0020_Finance_x0020__x002d__0,XML_x0020_Finance_x0020__x002d__1,XML_x0020_Finance_x0020__x002d__2,XML_x0020_IT,XML_x0020_Legal,XML_x0020_Marketing,XML_x0020_Procurement,XML_x0020_RH,XML_x0020_Safety,XML_x0020_Sales,XML_x0020_Security,XML_x0020_Supply_x0020_Chain,Year", // "Created By,Category,ICON Referent,ICON Referent Validation date,Created,End date of the survey,EndDateUserFormat,Entity,Flag All Process Submit,Folder Child Count,Final Approver,Final Approver Validation date,HR,HR Date,HR Flag,HR Progress,ID,ID Finance,ID Finance - Accounting,ID Finance - Controlling,ID Finance - Tax,ID Finance - Treasury,ID HR,ID IT,ID Legal,ID Marketing,ID Procurement,ID Safety,ID Sales,ID Security,ID Supply Chain,Item Child Count,LaunchReportingFlag,LaunchSurveyFlag,LockFlag,Modified,Progress,Reporting,Reporting generation,Status,SubmitFlag,Survey,Survey validation,TimeOut SA,Title,XML Finance,XML Finance - Accounting,XML Finance - Controlling,XML Finance - Tax,XML Finance - Treasury,XML IT,XML Legal,XML Marketing,XML Procurement,XML HR,XML Safety,XML Sales,XML Security,XML Supply Chain,Year"); fdi.search = function(url, query, target, selectProperties){ var req = url + "/_api/search/query?querytext='" + query + "'&selectproperties='"+ selectProperties +"'&sortlist='LastModifiedTime:descending'&rowlimit=500"; //&rowsperpage=0&rowlimit=5 var xhr = new XMLHttpRequest(); fdi.fdilog(req); xhr.open('GET', req); xhr.setRequestHeader("Accept", "application/json; odata=verbose"); xhr.onload = function () { if (xhr.status === 200) { var kk = JSON.parse(xhr.responseText); fdi.lastQuery = req; fdi.lastResult = kk; fdi.fdilog(kk.d); //debugger; fdi.fdilog(kk.d.query.PrimaryQueryResult.RelevantResults.Table.Rows);//,TypeAsString,Title,Hidden,Required,Group fdi.fdilog("RowCount : " + kk.d.query.PrimaryQueryResult.RelevantResults.RowCount); fdi.fdilog("TotalRows : " + kk.d.query.PrimaryQueryResult.RelevantResults.TotalRows); var rows = kk.d.query.PrimaryQueryResult.RelevantResults.Table.Rows.results; var datas = []; var columns = selectProperties.split(","); for(var i = 0 ; i < rows.length ; i++){ var tar = {}; tar.rowNum = i; for(var j = 0 ; j < columns.length ; j++){ var found = false; for(var k = 0 ; k < rows[i].Cells.results.length ; k++){ if(rows[i].Cells.results[k].Key == columns[j]){ found = true; tar[columns[j]] = rows[i].Cells.results[k].Value; } if(!found) tar[columns[j]] = ""; } } datas.push(tar); //rows[i].Cells.results[1].Key } fdi.fdilog(datas); fdi.createTable("rowNum," + selectProperties, datas, target, "#EEEEEE"); } else { fdi.fdilog(req); fdi.fdilog(xhr); alert('Request failed. Returned status of ' + xhr.status); } }; xhr.send();//send request } var reqvvv = "ContentTypeId:0x010056313CD55A8D274EBvvv2FC8BD24797DEF621447F7D00*"; var seletvvv = "Title,Path,RefinableString20,RefinableString23,RefinableString24,RefinableString25,RefinableDecimal02,RefinableDecimal03,RefinableDecimal04,LastModifiedTime,ListItemID"; fdi.search("https://aSite/sites/Dev", reqvvv, "fdiOutPut", seletvvv);