MCPcopy Create free account
hub / github.com/DHTMLX/scheduler / extend$a

Function extend$a

codebase/sources/dhtmlxscheduler.js:6000–6066  ·  view source on GitHub ↗
(scheduler2)

Source from the content-addressed store, hash-verified

5998 };
5999 }
6000 function extend$a(scheduler2) {
6001 scheduler2._parsers.xml = { canParse: function(data, xhr) {
6002 if (xhr.responseXML && xhr.responseXML.firstChild) {
6003 return true;
6004 }
6005 try {
6006 var xmlDoc = scheduler2.ajax.parse(xhr.responseText);
6007 var topElement = scheduler2.ajax.xmltop("data", xmlDoc);
6008 if (topElement && topElement.tagName === "data") {
6009 return true;
6010 }
6011 } catch (e) {
6012 }
6013 return false;
6014 }, parse: function(loader) {
6015 var xml;
6016 if (!loader.xmlDoc.responseXML) {
6017 loader.xmlDoc.responseXML = scheduler2.ajax.parse(loader.xmlDoc.responseText);
6018 }
6019 xml = scheduler2.ajax.xmltop("data", loader.xmlDoc);
6020 if (xml.tagName != "data")
6021 return null;
6022 var csrfToken = xml.getAttribute("dhx_security");
6023 if (csrfToken) {
6024 if (window.dhtmlx) {
6025 window.dhtmlx.security_key = csrfToken;
6026 }
6027 scheduler2.security_key = csrfToken;
6028 }
6029 var opts = scheduler2.ajax.xpath("//coll_options", loader.xmlDoc);
6030 for (var i = 0; i < opts.length; i++) {
6031 var bind = opts[i].getAttribute("for");
6032 var arr = scheduler2.serverList[bind];
6033 if (!arr) {
6034 scheduler2.serverList[bind] = arr = [];
6035 }
6036 arr.splice(0, arr.length);
6037 var itms = scheduler2.ajax.xpath(".//item", opts[i]);
6038 for (var j = 0; j < itms.length; j++) {
6039 var itm = itms[j];
6040 var attrs = itm.attributes;
6041 var obj = { key: itms[j].getAttribute("value"), label: itms[j].getAttribute("label") };
6042 for (var k = 0; k < attrs.length; k++) {
6043 var attr = attrs[k];
6044 if (attr.nodeName == "value" || attr.nodeName == "label")
6045 continue;
6046 obj[attr.nodeName] = attr.nodeValue;
6047 }
6048 arr.push(obj);
6049 }
6050 }
6051 if (opts.length)
6052 scheduler2.callEvent("onOptionsLoad", []);
6053 var ud = scheduler2.ajax.xpath("//userdata", loader.xmlDoc);
6054 for (var i = 0; i < ud.length; i++) {
6055 var udx = scheduler2._xmlNodeToJSON(ud[i]);
6056 scheduler2._userdata[udx.name] = udx.text;
6057 }

Callers 1

extend$7Function · 0.70

Calls 2

parseMethod · 0.65
callEventMethod · 0.65

Tested by

no test coverage detected