(function(master, config){ var scs = document.getElementsByTagName("script"); var url = scs[scs.length-1].getAttribute("src"); scs = null; var queue = []; var seed = 1; var csrf = config.key; master.data = master.data||{}; master.api = master.api||{}; master.version = config.version; for (var key in config.data) master.data[key] = config.data[key]; for (var key in config.api){ var obj = {}; var cfg = config.api[key]; for (var method in cfg) obj[method] = wrapper(key+"."+method); master.api[key] = obj; } function uid(){ return (seed++).toString(); } function wrapper(key){ return function(){ var args = [].slice.call(arguments); return new Promise(function(resolve, reject){ queue.push({ data:{ id:uid(), name:key, args: args }, status:"new", resolve:resolve, reject:reject }); setTimeout(send, 1); }); }; } function send(name, args){ var pack = queue.filter(function(obj){ return obj.status === "new"; }).map(function(obj){ obj.status = "wait"; return obj.data }); if (!pack.length) return; var headers = { 'Accept': 'application/json', 'Content-Type': 'application/json', "Remote-CSRF": csrf }; var data = window.fetch ? fetch(url, { method: "POST", credentials: "include", headers:headers, body:JSON.stringify(pack) }) : webix.ajax().headers(headers).post(url, JSON.stringify(pack)).then(function(obj){ parseData(obj.json(), pack); }); data["catch"](function(){ return false; }).then(function(res){ if (res && res.ok){ res.json().then(function(data){ parseData(data, pack); }); } else { parseData(false, pack); } }); if (master.onload){ master.onload(data); } } function parseData(data, pack){ var all = {}; if (!data){ for (var i=0; i=0; i--){ var test = queue[i]; var check = all[test.data.id]; if (check){ if (check.error){ test.reject(check.error); if (master.onerror) master.onerror(check.error); } else test.resolve(check.data); queue.splice(i, 1); } } } })((window.remote = window.remote || {}), { "api":{ "snippet":{"FindByTags":1,"FindByText":1,"Load":1,"LoadGallery":1,"Save":1,"Tags":1},"admin":{"GetSnippet":1,"SaveCategory":1,"SaveUser":1,"SaveVersion":1,"SaveTag":1,"FindByURL":1,"GetCategories":1,"GetLatestSnippets":1,"GetTags":1,"GetUsers":1,"GetVersions":1,"SaveSnippet":1}}, "data":{"server":"https://snippet.webix.com","versions":[{"id":"edge","value":"Webix 10.2"},{"id":"10.1","value":"Webix 10.1"},{"id":"10.0","value":"Webix 10.0"},{"id":"9.4","value":"Webix 9.4"},{"id":"9.3","value":"Webix 9.3"},{"id":"9.2","value":"Webix 9.2"},{"id":"9.1","value":"Webix 9.1"},{"id":"9.0","value":"Webix 9.0"},{"id":"8.4","value":"Webix 8.4 "},{"id":"8.3","value":"Webix 8.3"},{"id":"8.2","value":"Webix 8.2"},{"id":"8.1","value":"Webix 8.1"},{"id":"8.0","value":"Webix 8.0"},{"id":"7.4","value":"Webix 7.4"},{"id":"7.3","value":"Webix 7.3"},{"id":"7.2","value":"Webix 7.2"},{"id":"7.1","value":"Webix 7.1"},{"id":"7.0","value":"Webix 7.0"},{"id":"6.4","value":"Webix 6.4"},{"id":"6.3","value":"Webix 6.3"},{"id":"6.2","value":"Webix 6.2"},{"id":"6.1","value":"Webix 6.1"},{"id":"6.0","value":"Webix 6.0"},{"id":"5.4","value":"Webix 5.4"},{"id":"5.3","value":"Webix 5.3"},{"id":"5.2","value":"Webix 5.2"},{"id":"5.1","value":"Webix 5.1"},{"id":"5.0","value":"Webix 5.0"},{"id":"4.4","value":"Webix 4.4"},{"id":"4.3","value":"Webix 4.3"}],"presets":[{"id":4000000001,"url":"","title":"Basic","icon":"main","pro":0,"data":[{"id":110290,"url":"basic","title":"Basic Layout","icon":"basic","pro":0,"data":null,"order":0},{"id":110291,"url":"form","title":"Form","icon":"form","pro":0,"data":null,"order":0},{"id":110292,"url":"templates","title":"Templates","icon":"templates","pro":0,"data":null,"order":0}],"order":1},{"id":4000000002,"url":"","title":"Extra Widgets","icon":"extra","pro":0,"data":[{"id":110274,"url":"pivot","title":"Pivot","icon":"pivot","pro":0,"data":null,"order":0},{"id":110275,"url":"scheduler","title":"Scheduler","icon":"scheduler","pro":0,"data":null,"order":0},{"id":110277,"url":"filemanager","title":"File Manager","icon":"filemanager","pro":0,"data":null,"order":0},{"id":110278,"url":"kanban","title":"Kanban","icon":"kanban","pro":0,"data":null,"order":0},{"id":110280,"url":"spreadsheet","title":"Spreadsheet","icon":"spreadsheet","pro":0,"data":null,"order":0},{"id":145156,"url":"docmanager","title":"Document Manager","icon":"docmanager","pro":0,"data":null,"order":0},{"id":146509,"url":"query","title":"Query","icon":"query","pro":0,"data":null,"order":0},{"id":148191,"url":"usermanager","title":"User Manager","icon":"usermanager","pro":0,"data":null,"order":0},{"id":150273,"url":"chat","title":"Chat","icon":"chat","pro":0,"data":null,"order":0},{"id":156258,"url":"gantt","title":"Gantt","icon":"gantt","pro":0,"data":null,"order":0},{"id":161986,"url":"reports","title":"Report Manager","icon":"reports","pro":0,"data":null,"order":0},{"id":168039,"url":"diagram","title":"Diagram","icon":"diagram","pro":0,"data":null,"order":0},{"id":202004,"url":"desktop","title":"Desktop","icon":"desktop","pro":0,"data":null,"order":0},{"id":202536,"url":"todo","title":"Todo","icon":"todo","pro":0,"data":null,"order":0}],"order":2},{"id":4000000003,"url":"","title":"Webix Jet","icon":"jet","pro":0,"data":[{"id":110281,"url":"jetmenu","title":"Webix Jet: Side Menu","icon":"jet","pro":0,"data":null,"order":0},{"id":110282,"url":"jetguard","title":"Webix Jet: Unload Guard","icon":"jetguard","pro":0,"data":null,"order":0},{"id":110283,"url":"jetwindows","title":"Webix Jet: Windows","icon":"jetwindows","pro":0,"data":null,"order":0}],"order":3}],"user":{"name":"","roles":""}}, "key":"PJzmJWNSgfJIKyhJ", "version":1})