/*********************************************************************************** * Created by Alexander Bautz * alexander.bautz@gmail.com * http://sharepointjavascript.wordpress.com * Copyright (c) 2009-2016 Alexander Bautz (Licensed under the MIT X11 License) ************************************************************************************/ /* JSLint var $, GetUrlKeyValue, _spPageContextInfo, SP, window, setTimeout, parent, L_Menu_BaseUrl, L_Menu_LCID, alert, fields, ExecuteOrDelayUntilScriptLoaded, SPClientPeoplePicker, document, browseris, IsAccessibilityFeatureEnabled, Microsoft, unescape, location; */ /* SP2013 */ if(typeof _spPageContextInfo !== "undefined"){ if(_spPageContextInfo.webUIVersion === 15){ var L_Menu_BaseUrl = _spPageContextInfo.webServerRelativeUrl !== "/" ? _spPageContextInfo.webServerRelativeUrl : ""; var L_Menu_LCID = String(_spPageContextInfo.currentLanguage); } } var spjs = spjs || {}; // The file assetpickers.js in SP365 overwrites the $ namespace. spjs.$ = spjs.$ || $; spjs.utility = { "version":1.260, "vDispName":"1.260", "versionDate":"February 29, 2016", "data":{ "fields":null, "fieldType":{}, "formLoaded":new Date().valueOf() }, "resizeDlg":function(){ if(GetUrlKeyValue('IsDlg')!=='1' || typeof _spPageContextInfo === "undefined"){ return; } var dlg, scroll, dlgWin, css, iH, rH, s4Height; if(_spPageContextInfo.webUIVersion === 15){ dlg = SP.UI.ModalDialog.get_childDialog(); scroll = spjs.$("#s4-workspace").scrollTop(); dlgWin = spjs.$(".ms-dlgContent", window.parent.document); css = {}; if(dlg !== null && !dlg.get_isMaximized()){ dlg.autoSize(); css.top = (spjs.$(window.top).height() / 2 - dlgWin.height() / 2) + "px"; dlgWin.css({"top":css.top}); // Reapply scroll spjs.$("#s4-workspace").scrollTop(scroll); } }else{ dlg = SP.UI.ModalDialog.get_childDialog(); scroll = spjs.$("#s4-workspace").scrollTop(); if(dlg !== null && !dlg.$S_0 && dlg.get_$Z_0()){ setTimeout(function(){ dlg.$T_0 = (spjs.$(parent.window).width() / 2) - (dlg.$B_0 / 2); dlg.$U_0 = (spjs.$(parent.window).height() / 2) - (dlg.$A_0 / 2); dlg.$m_0(dlg.$T_0, dlg.$U_0); dlg.autoSize(); dlg.$2B_0(); // Fix missig scrollbar iH = spjs.$(parent.document).find("#"+dlg.$0_0.id).height(); rH = spjs.$("#s4-ribbonrow").height(); s4Height = iH-rH; if(s4Height < 300){ s4Height = 300; } spjs.$("#s4-workspace").css("height",s4Height); // Fix missig scrollbar spjs.$("#s4-workspace").scrollTop(scroll); },150); } } }, "setDlgTitle":function(str){ try{ var a = $(parent.document).find("*[id='dialogTitleSpan']:last"); SP.UI.UIUtility.setInnerText(a[0],str); }catch(ignore){ // Nothing } }, "addList":function(listName,listBaseUrl,listDescription){ var c, r; c = []; c.push(""); c.push(""+listName+""); c.push(""+listDescription+""); c.push("100"); c.push(""); r = {success:false}; spjs.utility.wrapSoap(listBaseUrl+"/_vti_bin/lists.asmx","http://schemas.microsoft.com/sharepoint/soap/AddList",c.join(''),function(data){ if(spjs.$(data).find('ErrorText').length>0) { r.errorText = spjs.$(data).find('ErrorText').text(); r.errorCode = spjs.$(data).find('ErrorCode').text(); }else{ r.success=true; r.id = spjs.$(data).find('List').attr('ID'); } }); return r; }, "updateList":function(listName,listBaseUrl,newFieldsObjArr,updFieldsObjArr,deleteFieldsArr){ var nb, ub, db, mi, c, cb, fb, r, addToView; nb = []; ub = []; db = []; mi = 1; spjs.$.each(newFieldsObjArr,function(i,obj){ c = ''; fb = []; addToView = false; spjs.$.each(obj,function(p,v){ if(p==='content'){ c = v; }else{ if(p === 'AddToView'){ addToView = true; }else{ fb.push(" "+p+"=\""+v+"\""); } } }); nb.push(""); }else{ nb.push(">"+c+""); } mi+=1; }); spjs.$.each(updFieldsObjArr,function(i,obj){ c = ''; fb = []; addToView = false; spjs.$.each(obj,function(p,v){ if(p==='content'){ c = v; }else{ if(p === 'AddToView'){ addToView = true; }else{ fb.push(" "+p+"=\""+v+"\""); } } }); ub.push(""); }else{ ub.push(">"+c+""); } mi+=1; }); if(deleteFieldsArr !== undefined){ spjs.$.each(deleteFieldsArr,function(i,fin){ db.push(""); mi+=1; }); } cb = []; cb.push(""); cb.push(""+listName+""); if(nb.length>0){ cb.push(""); cb.push(""); cb.push(nb.join('')); cb.push(""); cb.push(""); } if(ub.length>0){ cb.push(""); cb.push(""); cb.push(ub.join('')); cb.push(""); cb.push(""); } if(db.length>0){ cb.push(""); cb.push(""); cb.push(db.join('')); cb.push(""); cb.push(""); } cb.push(""); r = {success:false}; spjs.utility.wrapSoap(listBaseUrl+"/_vti_bin/lists.asmx","http://schemas.microsoft.com/sharepoint/soap/UpdateList",cb.join(''),function(data){ if(spjs.$(data).find('ErrorText').length>0) { r.errorText = spjs.$(data).find('ErrorText').text(); r.errorCode = spjs.$(data).find('ErrorCode').text(); }else{ r.success=true; } }); return r; }, "userInfo":function(loginOrUserID,customProp){ var arrOfFields, query, res, result, item; result = {success:false}; arrOfFields = ['ID', 'Name', 'Title', 'EMail', 'Department', 'JobTitle', 'Notes', 'Picture', 'IsSiteAdmin', 'Created', 'Author', 'Modified', 'Editor', 'SipAddress']; if(customProp !== undefined){ if(spjs.$.isArray(customProp)){ spjs.$.each(customProp,function(i,p){ arrOfFields.push(p); }); }else{ arrOfFields.push(customProp); } } if(String(parseInt(loginOrUserID,10))===String(loginOrUserID)){ query = "" + loginOrUserID + ""; }else{ query = "" + loginOrUserID + ""; } res = spjs.utility.queryItems({'listName':'UserInfo','listBaseUrl':L_Menu_BaseUrl,'query':query,'viewFields':arrOfFields,setRequestHeader:false}); if(res.count>0){ result.success=true; item = res.items[0]; spjs.$.each(arrOfFields,function(i,fin){ result[arrOfFields[i]] = item[arrOfFields[i]]; }); return result; }else{ result.success = false; return result; } }, "userProfile":function(a){ if(a === undefined){ a = ""; } var r = "The user profile is not accessible."; spjs.utility.wrapSoap((L_Menu_BaseUrl !== "/" ? L_Menu_BaseUrl : "")+'/_vti_bin/userprofileservice.asmx','http://microsoft.com/webservices/SharePointPortalServer/UserProfileService/GetUserProfileByName',''+a+'',function(data){ r = {}; $(data).find('PropertyData').each(function(){ r[$(this).find('Name').text()] = $(this).find('Value').text(); }); }); return r; }, "getItemByID":function(argObj){ if(String(parseInt(String(argObj.id),10)) !== String(argObj.id)){ return null; } var query, qRes; query = ""+argObj.id+""; qRes = spjs.utility.queryItems({'listName':argObj.listName,'listBaseUrl':argObj.listBaseUrl,'query':query,'viewFields':argObj.viewFields,'scope':argObj.scope}); if(qRes.count===0){ return null; }else{ return qRes.items[0]; } }, "queryItems":function(argObj){ var content, result, requestHeader, currID, fieldValObj, value; if(argObj.listBaseUrl===undefined){ argObj.listBaseUrl=L_Menu_BaseUrl; } if(argObj.listName===undefined || (argObj.query===undefined && argObj.viewName===undefined)){ alert("[spjs.utility.queryItems]\n\nMissing parameters!\n\nYou must provide a minimum of \"listName\", \"query\" or \"viewName\" and \"viewFields\"."); return; } if(spjs.$.inArray('ID',argObj.viewFields)===-1){ argObj.viewFields.push('ID'); } content = spjs.utility.wrapQuery({'listName':argObj.listName, 'query':argObj.query, 'folder':argObj.folder, 'viewName':argObj.viewName, 'viewFields':argObj.viewFields, 'rowLimit':argObj.rowLimit, 'pagingInfo':argObj.pagingInfo,'scope':argObj.scope}); result = {'count':-1, 'nextPagingInfo':'', items:[]}; if(argObj.setRequestHeader===false){ requestHeader = ''; }else{ requestHeader = 'http://schemas.microsoft.com/sharepoint/soap/GetListItems'; } spjs.utility.wrapSoap(argObj.listBaseUrl + '/_vti_bin/lists.asmx',requestHeader, content, function(data){ result.count = parseInt(spjs.$(data).filterNode("rs:data").attr('ItemCount'),10); result.nextPagingInfo = spjs.$(data).filterNode("rs:data").attr('ListItemCollectionPositionNext'); fieldValObj = {}; spjs.$(data).filterNode('z:row').each(function(idx, itemData){ currID = spjs.$(itemData).attr('ows_ID'); fieldValObj[currID] = {}; spjs.$.each(argObj.viewFields,function(i,field){ value = spjs.$(itemData).attr('ows_' + field); if(value === undefined){ value = null; } fieldValObj[currID][field] = value; }); result.items.push(fieldValObj[currID]); }); },function(data){ result.errorText = $(data.responseText).find("errorstring").text(); result.errorCode = $(data.responseText).find("errorcode").text(); if(result.errorCode === '0x80070024'){ // The attempted operation is prohibited because it exceeds the list view threshold enforced by the administrator. result = spjs.utility.queryItemsThrottled(argObj); } }); return result; }, "queryItemsThrottled":function(argObj){ if(argObj.listBaseUrl===undefined){ argObj.listBaseUrl = _spPageContextInfo.webServerRelativeUrl === "/" ? "" : _spPageContextInfo.webServerRelativeUrl; }else if(argObj.listBaseUrl === "/"){ argObj.listBaseUrl = ""; } if(argObj.rowLimit === undefined){ argObj.rowLimit = 100000; } var idMax, idStart, idEnd, result, preCAML, goWhile, tQuery, content, requestHeader, fieldValObj, currID, value; idMax = spjs.utility.getMaxID(argObj.listName,argObj.listBaseUrl); idStart = 1; idEnd = 5000; result = {'count':0, items:[]}; preCAML = String(argObj.query.match("(.*?)")[1]); goWhile = true; while(goWhile && result.count < argObj.rowLimit){ tQuery = []; if(preCAML.split('').length>1){ tQuery.push(""); tQuery.push(""); tQuery.push(""); tQuery.push(preCAML); tQuery.push(""+idStart+""); tQuery.push(""); tQuery.push(""+idEnd+""); tQuery.push(""); tQuery.push(""); }else{ tQuery.push(""); tQuery.push(""); tQuery.push(""); tQuery.push(""+idStart+""); tQuery.push(""+idEnd+""); tQuery.push(""); tQuery.push(preCAML); tQuery.push(""); tQuery.push(""); } content = spjs.utility.wrapQuery({'listName':argObj.listName, 'query':tQuery.join(''), 'viewName':argObj.viewName, 'viewFields':argObj.viewFields, 'rowLimit':argObj.rowLimit, 'pagingInfo':argObj.pagingInfo,'scope':argObj.scope,'folder':argObj.folder}); if(argObj.setRequestHeader===false){ requestHeader = ''; }else{ requestHeader = 'http://schemas.microsoft.com/sharepoint/soap/GetListItems'; } spjs.utility.wrapSoap(argObj.listBaseUrl + '/_vti_bin/lists.asmx',requestHeader, content, function(data){ fieldValObj = {}; $(data).filterNode('z:row').each(function(idx, itemData){ result.count += 1; currID = $(itemData).attr('ows_ID'); fieldValObj[currID] = {}; $.each(argObj.viewFields,function(i,field){ value = $(itemData).attr('ows_' + field); if(value === undefined){ value = null; } fieldValObj[currID][field] = value; }); result.items.push(fieldValObj[currID]); }); },function(data){ result.errorText = $(data.responseText).find("errorstring").text(); result.errorCode = $(data.responseText).find("errorcode").text(); }); if(idEnd>idMax){ goWhile = false; }else{ idStart = idEnd+1; idEnd += 5000; } } return result; }, "getMaxID":function(listName,listBaseUrl){ var query, res; query = ""; res = spjs.utility.queryItems({"listName":listName,"listBaseUrl":listBaseUrl,"query":query,"viewFields":["ID"],"rowLimit":"1"}); return res.items[0].ID; }, "wrapQuery":function(a){ var result = []; result.push(''); result.push('' + a.listName + ''); if(a.viewName!==undefined && a.viewName!==''){ result.push('' + a.viewName + ''); } if(a.query!==null && a.query!==''){ result.push(''); result.push(a.query); result.push(''); } if(a.viewFields!==undefined && a.viewFields!=='' && a.viewFields.length>0){ result.push(''); spjs.$.each(a.viewFields, function(idx, field){ result.push(''); }); result.push(''); } // A view overrides the itemlimit if(a.viewName===undefined){ if(a.rowLimit!==undefined && a.rowLimit>0){ result.push('' + a.rowLimit + ''); }else{ result.push('100000'); } } result.push('FALSE'); if(a.pagingInfo!==undefined && a.pagingInfo!==null && a.pagingInfo!==''){ result.push(''); } if(a.scope !== undefined){ result.push(''); } if(a.folder !== undefined){ result.push(''+a.folder+''); } result.push(''); result.push(''); return result.join(''); }, "wrapSoap":function(webserviceUrl,requestHeader,soapBody,successFunc,errorFunc){ var xmlWrap = [], r; if(typeof errorFunc === "undefined"){ errorFunc = function (xhr, ajaxOptions, thrownError){ r = xhr.responseText.match(/]*>(.*)<\/errorstring>/i); if(r !== null){ spjs.$("body").prepend("
"+r[1]+"
"); } }; } xmlWrap.push(""); xmlWrap.push(""); xmlWrap.push(""); xmlWrap.push(soapBody); xmlWrap.push(""); xmlWrap.push(""); xmlWrap = xmlWrap.join(''); spjs.$.ajax({ async:false, type:"POST", url:webserviceUrl, contentType:"text/xml; charset=utf-8", processData:false, data:xmlWrap, dataType:"xml", beforeSend:function(xhr){ if(requestHeader!==''){ xhr.setRequestHeader('SOAPAction',requestHeader); } }, success:successFunc, error:errorFunc }); }, "setFieldValue_ContentTypeChoice":function(a){ spjs.$(spjs.utility.data.fields[a.fin]).find('select option').each(function(){ if(spjs.$(this).text() === a.newVal){ spjs.$(this).prop('selected',true).parent().change(); } }); }, "setFieldValue_SPFieldText":function(a){ var f = spjs.$(spjs.utility.data.fields[a.fin]), found = false; f.find('input').val(a.newVal).trigger("change"); // Cascading dropdown if(f.find("#"+a.fin+"_casc").length > 0){ f.find('select option').each(function(){ if(spjs.$(this).text() === a.newVal){ spjs.$(this).prop('selected',true); found = true; } }); if(!found){ f.find('input').val(""); }else{ f.find('select').trigger("change"); } } }, "setFieldValue_SPFieldFile":function(a){ spjs.$(spjs.utility.data.fields[a.fin]).find('input').val(a.newVal).trigger("change"); }, "setFieldValue_SPFieldNumber":function(a){ spjs.$(spjs.utility.data.fields[a.fin]).find('input').val(a.newVal).trigger("change"); }, "setFieldValue_SPFieldCurrency":function(a){ spjs.$(spjs.utility.data.fields[a.fin]).find('input').val(a.newVal).trigger("change"); }, "setFieldValue_SPFieldChoice":function(a){ var f = spjs.$(spjs.utility.data.fields[a.fin]), setRadio; setRadio = function(){ f.find('input:radio').prop("checked",false); f.find('input:radio').each(function(){ if(spjs.$(this).next().text() === a.newVal){ spjs.$(this).prop('checked',true).trigger("click"); } }); }; if(f.find('input:radio').length > 0 && f.find('select').length === 0 && f.find('input:text').length === 0){ setRadio(); }else if(f.find('input:radio').length>0 && f.find('input:text').length>0){ // Fill-in if(f.find('select').length>0){ f.find('select option').each(function(){ if(spjs.$(this).text() === a.newVal){ spjs.$(this).prop('selected',true).trigger("change"); } }); if(f.find('select option:selected').text() !== a.newVal){ f.find('input:text').val(a.newVal).trigger("change"); } }else{ setRadio(); if(f.find('input:radio:checked').next().text() !== a.newVal){ f.find('input:text').val(a.newVal).trigger("change"); } } }else{ if(a.newVal === "" && f.find("select option[value='']").length === 0){ f.find("select")[0].selectedIndex = -1; if(a.isSP13){ f.find("select").prepend(""); f.find("select").trigger("change"); } }else{ f.find('select option').each(function(){ if(spjs.$(this).text() === a.newVal){ spjs.$(this).prop('selected',true).trigger("change"); } }); } } }, "setFieldValue_SPFieldMultiChoice":function(a){ var t; if(!spjs.$.isArray(a.newVal)){ a.newVal = a.newVal.split(','); } spjs.$(spjs.utility.data.fields[a.fin]).find('input:checkbox').each(function(){ t = spjs.$(this).next().text(); if(spjs.$.inArray(t,a.newVal)>-1){ spjs.$(this).prop('checked',true).trigger("change"); }else{ spjs.$(this).prop('checked',false).trigger("change"); } }); }, "setFieldValue_SPFieldUser":function(a){ spjs.utility.setFieldValue_SPFieldUserMulti(a); }, "setFieldValue_SPFieldUserMulti":function(a){ var f = spjs.$(spjs.utility.data.fields[a.fin]), p; if(new Date().valueOf() - spjs.utility.data.formLoaded > 2000){ if(a.isSP13){ try{ p = SPClientPeoplePicker.SPClientPeoplePickerDict[f.find("div.sp-peoplepicker-topLevel").attr("id")]; if(a.newVal === ""){ p.DeleteProcessedUser(); return; } if(!p.AllowMultipleUsers){ p.DeleteProcessedUser(); } if(!spjs.$.isArray(a.newVal)){ a.newVal = a.newVal.split(/;|,/); } spjs.$.each(a.newVal,function(i,v){ document.getElementById(p.EditorElementId).value = spjs.$.trim(v); p.AddUnresolvedUserFromEditor(true); }); }catch(ignore){ // } }else{ f.find('div.ms-inputuserfield').html(a.newVal); f.find('textarea:first').val(a.newVal); f.find('img:first').click(); } }else{ if(a.isSP13){ ExecuteOrDelayUntilScriptLoaded(function(){ setTimeout(function(){ try{ p = SPClientPeoplePicker.SPClientPeoplePickerDict[f.find("div.sp-peoplepicker-topLevel").attr("id")]; if(a.newVal === ""){ p.DeleteProcessedUser(); return; } if(!p.AllowMultipleUsers){ p.DeleteProcessedUser(); } if(!spjs.$.isArray(a.newVal)){ a.newVal = a.newVal.split(/;|,/); } spjs.$.each(a.newVal,function(i,v){ document.getElementById(p.EditorElementId).value = spjs.$.trim(v); p.AddUnresolvedUserFromEditor(true); }); }catch(ignore){ // } spjs.utility.updateReadonlyValue(a); },1000); },'clientpeoplepicker.js'); }else{ spjs.$(document).ready(function(){ f.find('div.ms-inputuserfield').html(a.newVal); f.find('textarea:first').val(a.newVal); f.find('img:first').click(); }); } } spjs.utility.updateReadonlyValue(a); }, "setFieldValue_SPFieldLookup":function(a){ setTimeout(function(){ var f = spjs.$(spjs.utility.data.fields[a.fin]), type = spjs.utility.verifyLookupFieldType(a.fin), val = a.newVal; if(type !== "" && typeof spjs.utility["setFieldValue_SPFieldLookup"+type] === "function"){ spjs.utility["setFieldValue_SPFieldLookup"+type](a); return; } if(typeof val === "object"){ try{ val = String(val.get_lookupId()); }catch(ignore){ // nothing } } f.find('select option').each(function(){ if(spjs.$(this).text() === val){ // By text value spjs.$(this).parent().val(spjs.$(this).val()).trigger("change"); return false; } if(spjs.$(this).val() === String(val)){ // By ID spjs.$(this).parent().val(spjs.$(this).val()).trigger("change"); return false; } }); spjs.utility.updateReadonlyValue(a); },1000); }, "setFieldValue_SPFieldLookup_Input":function(a){ var f = spjs.$(spjs.utility.data.fields[a.fin]), inp, inpHid, split, match; inp = f.find('input.ms-lookuptypeintextbox'); inpHid = spjs.$("*[id='"+inp.attr('optHid')+"']"); split = inp.attr('choices').split('|'); match = false; // By text spjs.$.each(split,function(i,val){ if(i%2!==0){ return; } if(val===a.newVal){ inp.val(split[i]).trigger("change"); inpHid.val(split[i+1]); match = true; return false; } }); // By ID if(!match){ spjs.$.each(split,function(i,val){ if(i%2===0){ return; } if(val===String(a.newVal)){ inp.val(split[i-1]).trigger("change"); inpHid.val(split[i]); return false; } }); } }, "setFieldValue_SPFieldLookup_Disp":function(a){ var f = spjs.$(spjs.utility.data.fields[a.fin]); if(f.find("input[type=radio]").length > 0){ spjs.utility.setFieldValue_SPFieldLookup_Radio(a); }else if(f.find("input[type=checkbox]").length > 0){ spjs.utility.setFieldValue_SPFieldLookup_Checkbox(a); }else{ alert("You cannot set a lookup column that is not editable."); } }, "setFieldValue_SPFieldLookupMulti_Disp":function(a){ var f = spjs.$(spjs.utility.data.fields[a.fin]); if(!spjs.$.isArray(a.newVal) && typeof a.newVal === "string"){ a.newVal = a.newVal.split(","); } if(f.find("input[type=radio]").length > 0){ spjs.utility.setFieldValue_SPFieldLookup_Radio(a); }else if(f.find("input[type=checkbox]").length > 0){ spjs.utility.setFieldValue_SPFieldLookup_Checkbox(a); }else{ alert("You cannot set a mulitilookup column that is not editable."); } }, "setFieldValue_SPFieldLookup_Radio":function(a){ var f = spjs.$(spjs.utility.data.fields[a.fin]); if(!spjs.$.isArray(a.newVal)){ if(typeof a.newVal === "string"){ a.newVal = a.newVal.split(","); }else{ a.newVal = [a.newVal]; } } spjs.$.each(a.newVal,function(i,v){ if(typeof v === "object"){ v = String(v.get_lookupId()+";#"+v.get_lookupValue()); }else{ v = String(v); } if(v.split(";#").length > 1){ f.find("input:radio").each(function(j,chk){ if(spjs.$(chk).val() === v){ if(spjs.$(chk).prop("checked") === false){ spjs.$(chk).prop("checked",true).trigger("click"); } } }); }else{ f.find("input:radio").each(function(j,chk){ if(spjs.$(chk).val().split(";#")[1] === v || spjs.$(chk).next().text() === v){ if(spjs.$(chk).prop("checked") === false){ spjs.$(chk).prop("checked",true).trigger("click"); } } }); } }); }, "setFieldValue_SPFieldLookupMulti_Checkbox":function(a){ var f = spjs.$(spjs.utility.data.fields[a.fin]); if(!spjs.$.isArray(a.newVal)){ if(typeof a.newVal === "string"){ a.newVal = a.newVal.split(","); }else{ a.newVal = [a.newVal]; } } spjs.$.each(a.newVal,function(i,val){ if(typeof val === "object"){ val = String(val.get_lookupId()+";#"+val.get_lookupValue()); }else{ val = String(val); } if(val.split(";#").length > 1){ f.find("input:checkbox").each(function(j,chk){ if(spjs.$(chk).val() === val){ if(spjs.$(chk).prop("checked") === false){ spjs.$(chk).trigger("click"); } } }); }else{ f.find("input:checkbox").each(function(j,chk){ if(spjs.$(chk).val().split(";#")[1] === val || spjs.$(chk).next().text() === val){ if(spjs.$(chk).prop("checked") === false){ spjs.$(chk).trigger("click"); } } }); } }); }, "setFieldValue_SPFieldLookupMulti":function(a){ setTimeout(function(){ var f = spjs.$(spjs.utility.data.fields[a.fin]), lId, type = spjs.utility.verifyLookupFieldType(a.fin); if(type !== "" && typeof spjs.utility["setFieldValue_SPFieldLookupMulti"+type] === "function"){ spjs.utility["setFieldValue_SPFieldLookupMulti"+type](a); return; } if(f.find('select:first option:first').prop('spjs') !== "1"){ f.find('select:first option:first').prop('selected', false); } if(!spjs.$.isArray(a.newVal)){ if(typeof a.newVal === "string"){ a.newVal = a.newVal.split(","); }else{ a.newVal = [a.newVal]; } } spjs.$.each(a.newVal,function(i,val){ if(typeof val === "object"){ lId = String(val.get_lookupId()); }else{ lId = String(val); } if(String(parseInt(lId,10)) === String(lId)){ f.find('select:first').find("option").filter(function() { return spjs.$(this).val() === lId; }).prop('selected', true); }else{ f.find('select:first').find("option").filter(function() { return spjs.$(this).text() === lId; }).prop('selected', true); } }); f.find(":button:first").trigger("click"); spjs.utility.updateReadonlyValue(a); },1000); }, "setFieldValue_SPFieldBoolean":function(a){ var f = spjs.$(spjs.utility.data.fields[a.fin]); if(a.newVal === 1 || a.newVal === "1" || a.newVal === true || a.newVal === "true"){ f.find('input').prop('checked',true).trigger("change"); }else{ f.find('input').prop('checked',false).trigger("change"); } }, "setFieldValue_SPFieldURL":function(a){ var f = spjs.$(spjs.utility.data.fields[a.fin]); if(!spjs.$.isArray(a.newVal)){ a.newVal = a.newVal.split(','); } f.find('input:first').val(a.newVal[0]); f.find('input:last').val(a.newVal[1] !== undefined ? a.newVal[1] : a.newVal[0]); }, "setFieldValue_SPFieldDateTime":function(a){ var f = spjs.$(spjs.utility.data.fields[a.fin]), c, d, e; if(!spjs.$.isArray(a.newVal)){ a.newVal = a.newVal.split(','); } c = a.newVal[0].match(/[^\d]/); if(c !== null){ c = String(c); d = a.newVal[0].split(c); e = []; e.push(d[0].length < 2 ? "0"+ d[0] : d[0].length > 4 ? d[0].substring(0,4) : d[0]); e.push(d[1].length < 2 ? "0"+ d[1] : d[1].length > 4 ? d[1].substring(0,4) : d[1]); e.push(d[2].length < 2 ? "0"+ d[2] : d[2].length > 4 ? d[2].substring(0,4) : d[2]); a.newVal[0] = e.join(c); } f.find('input:first').val(a.newVal[0]); if(a.newVal[1] !== undefined){ f.find('select:first option:eq('+a.newVal[1]+')').prop("selected","selected"); } if(a.newVal[2] !== undefined){ a.newVal[2] = a.newVal[2] - (a.newVal[2] % 5); if(a.newVal[2] < 10){ a.newVal[2] = "0"+a.newVal[2]; } f.find('select:last').val(a.newVal[2]); } }, "setFieldValue_SPFieldNote":function(a){ var f = spjs.$(spjs.utility.data.fields[a.fin]), found = false; if(f.find('textarea').length===0){ f.find("div[contenteditable='true']").html(a.newVal); }else{ f.find('textarea:first').val(a.newVal); } // Cascading dropdown if(f.find("#"+a.fin+"_casc_unselected").length > 0){ f.find("#"+a.fin+"_casc_unselected option").each(function(){ if(spjs.$(this).text() === a.newVal){ spjs.$(this).prop('selected',true); found = true; } }); if(!found){ f.find('textarea').val(""); }else{ spjs.$("#"+a.fin+"_casc_btnAdd").trigger("click"); } } }, "setFieldValue_SPFieldNote_HTML":function(a){ var f = spjs.$(spjs.utility.data.fields[a.fin]); if(new Date().valueOf() - spjs.utility.data.formLoaded > 2000){ if(f.find('iframe.ms-rtelong').length > 0){ f.find('iframe.ms-rtelong').contents().find('body').html('
' + a.newVal + '
'); }else{ f.find('textarea:first').val(a.newVal); } spjs.utility.updateReadonlyValue(a); }else{ setTimeout(function(){ if(f.find('iframe.ms-rtelong').length > 0){ f.find('iframe.ms-rtelong').contents().find('body').html('
' + a.newVal + '
'); }else{ f.find('textarea:first').val(a.newVal); } spjs.utility.updateReadonlyValue(a); },500); } }, "setFieldValue_SPFieldNote_EHTML":function(a){ spjs.$(spjs.utility.data.fields[a.fin]).find("div[id$='TextField_inplacerte']").html(a.newVal); }, "setFieldValue_SPFieldTaxonomyFieldType":function(a){ spjs.utility.setFieldValue_SPFieldTaxonomyFieldTypeMulti(a); }, "setFieldValue_SPFieldTaxonomyFieldTypeMulti":function(a){ var f = spjs.$(spjs.utility.data.fields[a.fin]), t = new Microsoft.SharePoint.Taxonomy.ControlObject(f.find("div.ms-taxonomy")[0]); t.setTextAndCursor(a.newVal,false); t.validateAll(); }, "getFieldValue_ContentTypeChoice":function(a){ return spjs.$(spjs.utility.data.fields[a.fin]).find('option:selected').text(); }, "getFieldValue_Attachments":function(a){ var b = []; spjs.$(spjs.utility.data.fields[a.fin]).find('#idAttachmentsTable tr').each(function(i,tr){ b.push(spjs.$(tr).find('td:first').html()); }); return b.join("
"); }, "getFieldValue_SPFieldText":function(a){ return spjs.$(spjs.utility.data.fields[a.fin]).find('input').val(); }, "getFieldValue_SPFieldFile":function(a){ return spjs.$(spjs.utility.data.fields[a.fin]).find('input').val(); }, "getFieldValue_SPFieldNumber":function(a){ return spjs.$(spjs.utility.data.fields[a.fin]).find('input').val(); }, "getFieldValue_SPFieldCurrency":function(a){ return spjs.$(spjs.utility.data.fields[a.fin]).find('input').val(); }, "getFieldValue_SPFieldChoice":function(a){ var f = spjs.$(spjs.utility.data.fields[a.fin]), v = ""; if(f.find('input:radio').length > 0 && f.find('select').length === 0 && f.find('input:text').length === 0){ v = f.find('input:radio:checked').next().text(); }else if(f.find('input:radio').length>0 && f.find('input:text').length>0){ // Fill-in if(f.find('select').length>0){ if(f.find('input:radio:last').prop('checked')){ v = spjs.$.trim(f.find('input:text').val()); }else{ v = f.find('select').val(); } }else{ if(f.find('input:radio:last').prop('checked')){ v = spjs.$.trim(f.find('input:text').val()); }else{ v = f.find('input:radio:checked').next().text(); } } }else{ v = f.find('select').val(); } return v; }, "getFieldValue_SPFieldMultiChoice":function(a){ var f = spjs.$(spjs.utility.data.fields[a.fin]), b = [], v = ""; b = []; f.find('input:checkbox').each(function(i,opt){ if(spjs.$(opt).prop("checked")){ if(f.find('input:text').length===0){ // No fill-in b.push(spjs.$(opt).next().text()); }else{ // Fill-in if(i+1 === f.find('input:checkbox').length){ b.push(f.find('input:text').val()); }else{ b.push(spjs.$(opt).next().text()); } } } }); if(a.delimiter!==undefined && a.delimiter!==''){ v = b.join(a.delimiter); }else{ v = b; } return v; }, "getFieldValue_SPFieldUser":function(a){ var f = spjs.$(spjs.utility.data.fields[a.fin]), b = [], v = "", isSP13 = false; if(typeof _spPageContextInfo !== "undefined" && _spPageContextInfo.webUIVersion === 15){ isSP13 = true; } if(isSP13){ if(typeof SPClientPeoplePicker !== "undefined"){ try{ spjs.$.each(SPClientPeoplePicker.SPClientPeoplePickerDict[f.find("div.sp-peoplepicker-topLevel").attr("id")].GetControlValueAsJSObject(),function(i,o){ if(a.key==='displayName' || a.key===undefined){ b.push(o.DisplayText); }else if(a.key==='loginName'){ b.push(o.Key); }else if(a.key==='IsResolved'){ b.push(o.IsResolved); } }); }catch(err){ // an error occurred b.push("["+a.fin+"]: The people picker is not ready. You must delay the function call, or if you are using DFFS, use code like this: spjs.dffs.beforeProperties[FieldInternalName]"); } }else{ b.push("["+a.fin+"]: The people picker is not ready. You must delay the function call, or if you are using DFFS, use code like this: spjs.dffs.beforeProperties[FieldInternalName]"); } }else{ v = f.find("span.ms-usereditor input:first").val(); if(v.indexOf("<") > -1){ v = v.substring(v.indexOf("<")); try{ $(v).find("div[id='divEntityData']").each(function(i,div){ if(a.key==='displayName' || a.key===undefined){ b.push(spjs.$(div).attr("displaytext")); }else if(a.key==='loginName'){ b.push(spjs.$(div).attr("key")); }else if(a.key==='IsResolved'){ b.push(spjs.$(div).attr("isresolved").toLowerCase() === "true"); } }); }catch(ignore){ // Nothing } }else{ b.push(v.split(" ").join("")); } } if(a.delimiter!==undefined && a.delimiter!==''){ v = b.join(a.delimiter); }else{ v = b; } return v; }, "getFieldValue_SPFieldUserMulti":function(a){ return spjs.utility.getFieldValue_SPFieldUser(a); }, "getFieldValue_SPFieldLookup":function(a){ var f = spjs.$(spjs.utility.data.fields[a.fin]), v = "", type = spjs.utility.verifyLookupFieldType(a.fin); if(type !== "" && typeof spjs.utility["setFieldValue_SPFieldLookup"+type] === "function"){ return spjs.utility["getFieldValue_SPFieldLookup"+type](a); } if(f.find('select option:selected').val() !== "0"){ v = f.find('select option:selected').text(); }else{ v = ""; } return v; }, "getFieldValue_SPFieldLookup_Input":function(a){ return spjs.$(spjs.utility.data.fields[a.fin]).find('input').val(); }, "getFieldValue_SPFieldLookupMulti":function(a){ var f = spjs.$(spjs.utility.data.fields[a.fin]), b = [], v = "", type = spjs.utility.verifyLookupFieldType(a.fin); if(type !== "" && typeof spjs.utility["setFieldValue_SPFieldLookupMulti"+type] === "function"){ return spjs.utility["getFieldValue_SPFieldLookupMulti"+type](a); } f.find("select:last option").each(function(i,opt){ b.push(spjs.$(opt).text()); }); if(a.delimiter!==undefined && a.delimiter!==''){ v = b.join(a.delimiter); }else{ v = b; } return v; }, "getFieldValue_SPFieldLookupMulti_Disp":function(a){ return spjs.utility.getFieldValue_SPFieldLookup_Disp(a); }, "getFieldValue_SPFieldLookup_Disp":function(a){ var f = spjs.$(spjs.utility.data.fields[a.fin]), b = []; if(f.find("a").length > 0){ f.find("a").each(function(i,a){ b.push(spjs.$(a).text()); }); return b.join(", "); }else{ if(f.find("input[type=radio]").length > 0){ return spjs.utility.getFieldValue_SPFieldLookup_Radio(a); }else if(f.find("input[type=checkbox]").length > 0){ return spjs.utility.getFieldValue_SPFieldLookupMulti_Checkbox(a); } return ""; } }, "getFieldValue_SPFieldLookup_Radio":function(a){ var f = spjs.$(spjs.utility.data.fields[a.fin]), v = ""; if(f.find("input[type=radio]:checked").length > 0){ v = f.find("input[type=radio]:checked").val(); } return v; }, "getFieldValue_SPFieldLookupMulti_Checkbox":function(a){ var f = spjs.$(spjs.utility.data.fields[a.fin]), b = [], v = ""; f.find("input[type=checkbox]:checked").each(function(i,chk){ b.push(spjs.$(chk).val()); }); if(a.delimiter!==undefined && a.delimiter!==''){ v = b.join(a.delimiter); }else{ v = b; } return v; }, "getFieldValue_SPFieldBoolean":function(a){ return spjs.$(spjs.utility.data.fields[a.fin]).find('input').prop('checked')===true?true:false; }, "getFieldValue_SPFieldURL":function(a){ var f = spjs.$(spjs.utility.data.fields[a.fin]); return ""+f.find('input:last').val()+""; }, "getFieldValue_SPFieldDateTime":function(a){ var f = spjs.$(spjs.utility.data.fields[a.fin]), d = f.find('input:first').val(), h = "", m = "", ampm = ""; if(d !== "" && f.find('select').length>0){ ampm = f.find('select:first option:selected').text().match(/AM|PM/); if(ampm === null){ h = f.find('select:first option:selected').val(); ampm = ""; }else{ ampm = " "+ampm; h = f.find('select:first option:selected').text().split(" ")[0]; } if(h.length<2){ h = "0"+h; } h = " "+h+":"; m = f.find('select:last option:selected').val(); if(m.length<2){ m = "0"+m; } } return d+h+m+ampm; }, "getFieldValue_SPFieldNote":function(a){ return spjs.$(spjs.utility.data.fields[a.fin]).find('textarea:first').val(); }, "getFieldValue_SPFieldNote_HTML":function(a){ var f = spjs.$(spjs.utility.data.fields[a.fin]), v = ""; if(browseris.ie5up && browseris.win32 && !IsAccessibilityFeatureEnabled()){ if(f.find("iframe[class^='ms-rtelong']").contents().find('body').html() !== ""){ v = f.find("iframe[class^='ms-rtelong']").contents().find('body').html(); }else{ v = f.find('textarea:first').val(); } }else{ v = f.find('textarea:first').val(); } return v; }, "getFieldValue_SPFieldNote_EHTML":function(a){ return spjs.$(spjs.utility.data.fields[a.fin]).find("div[id$='TextField_inplacerte']").html(); }, "getFieldValue_SPFieldTaxonomyFieldType":function(a){ var f = spjs.$(spjs.utility.data.fields[a.fin]), v = "", b = [], t; t = new Microsoft.SharePoint.Taxonomy.ControlObject(f.find("div.ms-taxonomy")[0]); spjs.$(t.getRawText().split(";")).each(function(i,v){ b.push(v.split("|")[0]); }); if(a.delimiter !== undefined){ v = b.join(a.delimiter); }else{ v = b; } return v; }, "getFieldValue_SPFieldTaxonomyFieldTypeMulti":function(a){ return spjs.utility.getFieldValue_SPFieldTaxonomyFieldType(a); }, "getFieldValue_DispForm":function(a){ var b; if(spjs.$(spjs.utility.data.fields[a.fin]).find('div.dffs_tdWrap').length > 0 && spjs.dffs.data.isSP13){ b = spjs.$(spjs.utility.data.fields[a.fin]).find('td.ms-formbody div.dffs_tdWrap:last').text(); }else{ b = spjs.$(spjs.utility.data.fields[a.fin]).find('.ms-formbody').text(); } return b.split(/^\s+|\s+$/).length > 0 ? b.split(/^\s+|\s+$/).join("") : ""; }, "getFieldValue":function(a){ if(a.fin === "ID"){ return spjs.utility.urlKeyValue("ID"); } var rVal = ""; // If not already done - init all fields if(spjs.utility.data.fields === null){ spjs.utility.data.fields = spjs.utility.init_fields(); } // Return if FieldInternalName is not found if(spjs.utility.data.fields[a.fin]===undefined){ return; } // DispForm if(location.href.replace("_layouts/15/start.aspx#/","").split("&")[0].match(/dispform.aspx/i) !== null){ return spjs.utility.getFieldValue_DispForm(a); }else{ if(spjs.utility.data.fieldType[a.fin] === undefined){ alert("[getFieldValue]\nThe attribute \"FieldType\" is missing for the FieldInternalName \""+a.fin+"\"."); return false; } if(typeof spjs.utility["getFieldValue_"+spjs.utility.data.fieldType[a.fin]] !== "function"){ rVal = "Unknown fieldType: "+spjs.utility.data.fieldType[a.fin]; }else{ rVal = spjs.utility["getFieldValue_"+spjs.utility.data.fieldType[a.fin]](a); } return rVal !== undefined ? rVal : ""; } }, "setFieldValue":function(a){ // If not already done - init all fields if(spjs.utility.data.fields === null){ spjs.utility.data.fields = spjs.utility.init_fields(); } // Return if FieldInternalName is not found if(spjs.utility.data.fields[a.fin]===undefined){ return; } a.isSP13 = false; if(typeof _spPageContextInfo !== "undefined" && _spPageContextInfo.webUIVersion === 15){ a.isSP13 = true; } if(spjs.utility.data.fieldType[a.fin] === undefined){ alert("[getFieldValue]\nThe attribute \"FieldType\" is missing for the FieldInternalName \""+a.fin+"\"."); return false; } if(spjs.utility.data.fieldType[a.fin].match(/note/i) === null && typeof a.newVal === "string"){ a.newVal = a.newVal.split("\n").join("\\n"); } if(typeof spjs.utility["setFieldValue_"+spjs.utility.data.fieldType[a.fin]] !== "function"){ alert("[spjs-utility.js: setFieldValue]\nUnknown fieldType: "+spjs.utility.data.fieldType[a.fin]); }else{ spjs.utility["setFieldValue_"+spjs.utility.data.fieldType[a.fin]](a); } spjs.utility.updateReadonlyValue(a); }, "updateReadonlyValue":function(a){ var thisField = spjs.$(spjs.utility.data.fields[a.fin]), b = []; if(thisField.find("td.dffs-readonly-inner").length > 0){ if(spjs.utility.data.fieldType[a.fin] === "SPFieldBoolean"){ thisField.find("td.dffs-readonly-inner div.dffs_tdWrap").html(""+(spjs.utility.getFieldValue({"fin":a.fin}) ? "☑" : "☐")+""); }else if(spjs.utility.data.fieldType[a.fin] === "SPFieldMultiChoice"){ thisField.find("input:checkbox").each(function(j,c){ b.push(""+(spjs.$(c).prop("checked") ? "☑" : "☐")+""); }); thisField.find("td.dffs-readonly-inner div.dffs_tdWrap").html(b.join("
")); }else{ thisField.find("td.dffs-readonly-inner div.dffs_tdWrap").html(spjs.utility.getFieldValue({"fin":a.fin}).split("\n").join("
")); } } }, "urlKeyValue":function(key,url){ var a = "", b = unescape(window.location.search), c, d; if(url !== undefined){ b = unescape(url); } if(b.length>0){ c = b.substring(1).split('&'); $.each(c,function(i,item){ d = item.split('='); if(d[0]===key){ a = d[1]; if(d.length===3){ a += "="+d[2]; } return false; // exit loop } }); } return unescape(a); }, "verifyLookupFieldType":function(fin){ var f = spjs.$("#dffs_"+fin),type = ""; if(f.length > 0){ if(spjs.$(f).find("input[type='text']").length>0){ type = "_Input"; }else if(spjs.$(f).find("input:radio").length>0){ type = "_Radio"; }else if(spjs.$(f).find("input:checkbox").length>0){ type = "_Checkbox"; }else if(spjs.$(f).find("select").length === 0 && spjs.$(this).find("input[type='button']").length>0){ type = "_Disp"; } } return type; }, "init_fields":function(){ var res = {}, disp, fin, type; spjs.$("td.ms-formbody").each(function(){ var m = spjs.$(this).html().match(/FieldName="(.+)"\s+FieldInternalName="(.+)"\s+FieldType="(.+)"\s+/); if(m !== null){ // Display name disp = m[1]; // FieldInternalName fin = m[2]; // FieldType type = m[3]; if(type === "SPFieldNote"){ if(spjs.$(this).find('script').length>0){ type=type+"_HTML"; }else if(spjs.$(this).find("div[id$='TextField_inplacerte']").length>0){ type=type+"_EHTML"; } } if(type === "SPFieldLookup"){ if(spjs.$(this).find("input[type='text']").length>0){ type=type+"_Input"; }else if(spjs.$(this).find("input:radio").length>0){ type=type+"_Radio"; }else if(spjs.$(this).find("select").length === 0 && spjs.$(this).find("input[type='button']").length>0){ type=type+"_Disp"; } } if(type === "SPFieldLookupMulti"){ if(spjs.$(this).find("input:checkbox").length>0){ type=type+"_Checkbox"; }else if(spjs.$(this).find("select").length === 0 && spjs.$(this).find("input[type='button']").length>0){ type=type+"_Disp"; } } // HTML Calc if(type==='SPFieldCalculated' && spjs.$(this).text().match(/(<([^>]+)>)/ig)!==null){ try{ spjs.$(this).html(spjs.$(this).text()); }catch(ignore){ // empty } } // Build object res[fin] = this.parentNode; res[fin].FieldDispName = disp; res[fin].FieldType = type; spjs.utility.data.fieldType[fin] = type; }else{ if(spjs.$(this).find("select[id$='_ContentTypeChoice']").length>0){ res.ContentTypeChoice = this.parentNode; spjs.utility.data.fieldType.ContentTypeChoice = "ContentTypeChoice"; } } }); return res; }, "addItem":function(argObj){ var qRes = spjs.utility.updateListItem({'action':'new','listName':argObj.listName,'listBaseUrl':argObj.listBaseUrl,'data':argObj.data}); return qRes; }, "deleteItem":function(argObj){ var qRes = spjs.utility.updateListItem({'action':'delete','listName':argObj.listName,'listBaseUrl':argObj.listBaseUrl,'id':argObj.id,'docFullUrl':argObj.docFullUrl}); return qRes; }, "updateItem":function(argObj){ var qRes = spjs.utility.updateListItem({'action':'update','listName':argObj.listName,'listBaseUrl':argObj.listBaseUrl,'id':argObj.id,'data':argObj.data}); return qRes; }, "updateListItem":function(argObj){ var content, result, listURL; if(argObj.listBaseUrl===undefined){ argObj.listBaseUrl = L_Menu_BaseUrl; } if(argObj.id!==undefined && typeof(argObj.id)!=='object'){ argObj.id = String(argObj.id).split(','); } content = []; content.push(""); content.push(""+argObj.listName+""); content.push(""); switch(argObj.action){ case 'new': if(argObj.folderName !== undefined){ // Folder content.push(""); content.push(""); content.push("New"); content.push("1"); content.push(""+argObj.folderName+""); content.push(""+argObj.folderName+""); content.push(""); }else{ // List content.push(""); content.push(""); content.push("0"); spjs.$.each(argObj.data,function(fin,val){ content.push(""); }); content.push(""); } break; case 'update': content.push(""); spjs.$.each(argObj.id,function(i,id){ content.push(""); content.push(""+id+""); spjs.$.each(argObj.data,function(fin,val){ content.push(""); }); content.push(""); }); break; case 'delete': // List items if(argObj.docFullUrl===undefined){ content.push(""); spjs.$.each(argObj.id,function(i,id){ content.push(""); content.push(""+id+""); content.push(""); }); // Document }else if(argObj.id.length === 1 && argObj.docFullUrl!==undefined){ content.push(""); content.push(""); content.push(""+argObj.id[0]+""); content.push(""+argObj.docFullUrl+""); content.push(""); }else{ alert("You cannot delete more than one document at a time!"); } break; } content.push(""); content.push(""); content.push(""); content = content.join(''); result = {success:false,errorText:null,errorCode:null}; spjs.utility.wrapSoap(argObj.listBaseUrl + '/_vti_bin/lists.asmx','http://schemas.microsoft.com/sharepoint/soap/UpdateListItems',content,function(data){ if(spjs.$(data).find('ErrorText').length>0) { result.errorText = spjs.$(data).find('ErrorText').text(); result.errorCode = spjs.$(data).find('ErrorCode').text(); // Duplicate folder names if(result.errorCode === "0x8107090d" && argObj.folderName !== undefined){ result.errorText = "A folder named \""+argObj.folderName+"\" already exist"; } }else{ result.success = true; if(argObj.action!=='delete'){ result.id = spjs.$(data).filterNode('z:row').attr('ows_ID'); listURL = spjs.$(data).filterNode('z:row').attr('ows_EncodedAbsUrl'); result.listURL = listURL.substring(0,listURL.lastIndexOf('/')); } } }); return result; }, "getLocalizedStringFromObj":function(a){ var b = "No translation found for "+L_Menu_LCID; if(a[L_Menu_LCID] !== undefined){ b = a[L_Menu_LCID]; }else if(a["default"] !== undefined){ b = a["default"]; } return b; }, "dateObjToFormattedString":function(date,format){ try{ format = format.replace("MM",(date.getMonth()+1) < 10 ? "0"+(date.getMonth()+1) : (date.getMonth()+1)); format = format.replace("dd",date.getDate() < 10 ? "0"+date.getDate() : date.getDate()); format = format.replace("yyyy",date.getFullYear()); format = format.replace("yy",date.getFullYear().toString().substring(2)); format = format.replace("hh",date.getHours() < 10 ? "0"+date.getHours() : date.getHours()); format = format.replace("mm",date.getMinutes() < 10 ? "0"+date.getMinutes() : date.getMinutes()); format = format.replace("ss",date.getSeconds() < 10 ? "0"+date.getSeconds() : date.getSeconds()); return format; }catch(ignore){ return date; } } }; // http://www.steveworkman.com/html5-2/javascript/2011/improving-javascript-xml-node-finding-performance-by-2000/ spjs.$.fn.filterNode = function(name) { return this.find('*').filter(function() { return this.nodeName === name; }); }; /***********************************************/ /**** Compatibility with existing scripts ****/ /***********************************************/ function doResizeDialog(){ spjs.utility.resizeDlg(); } function spjs_AddList(listName,listBaseUrl,listDescription){ return spjs.utility.addList(listName,listBaseUrl,listDescription); } function spjs_UpdateList(listName,listBaseUrl,newFieldsObjArr,updFieldsObjArr,deleteFieldsArr){ return spjs.utility.updateList(listName,listBaseUrl,newFieldsObjArr,updFieldsObjArr,deleteFieldsArr); } function getUserInfo_v2(loginOrUserID,customProp){ return spjs.utility.userInfo(loginOrUserID,customProp); } function spjs_getItemByID(argObj){ return spjs.utility.getItemByID(argObj); } function spjs_QueryItems(argObj){ return spjs.utility.queryItems(argObj); } function spjs_wrapQueryContent(paramObj){ return spjs.utility.wrapQuery(paramObj); } function spjs_wrapSoapRequest(webserviceUrl,requestHeader,soapBody,successFunc){ spjs.utility.wrapSoap(webserviceUrl,requestHeader,soapBody,successFunc); } function setFieldValue(fin,newVal,onLoad){ spjs.utility.setFieldValue({"fin":fin,"newVal":newVal,"onLoad":onLoad}); } function getFieldValue(fin,dispform,multiValueJoinBy,optionalFilter){ return spjs.utility.getFieldValue({"fin":fin,"delimiter":multiValueJoinBy,"key":optionalFilter}); } function init_fields_v2(){ return spjs.utility.init_fields(); } function spjs_addItem(argObj){ return spjs.utility.addItem(argObj); } function spjs_deleteItem(argObj){ return spjs.utility.deleteItem(argObj); } function spjs_updateItem(argObj){ return spjs.utility.updateItem(argObj); } function spjs_UpdateListItem(argObj){ return spjs.utility.updateListItem(argObj); }