{"version":3,"sources":["slx.worker.min.js"],"names":["x","window","SlxControl","slx","worker","settings","that","this","el","start","action","postMessage","triggerHandler","stop","off","type","on","listener","addEventListener","removeEventListener","Worker","source","scriptpath","version","onerror","err","trigger","Event","e","data","Error","number","message","description","status","statusText","response","responseText","toString","stack","name","namespace","onstart","resp","JSON","parse","ex","error","onmessage","onstop","extend","slxWorker"],"mappings":"CASA,WACC,aACA,IAAIA,EAAIC,OAAOC,WAMZF,EAAEG,IAAIC,OAAS,SAAgBC,GAC3B,IAAIC,EAAOC,KACXD,EAAKF,OAAS,KACd,IAAII,EAAKR,EAAE,IAGXM,EAAKG,MAAQ,SAAUJ,GACnB,OAAoB,OAAhBC,EAAKF,SACTC,EAASK,OAAS,QAClBJ,EAAKF,OAAOO,YAAYN,GACxBG,EAAGI,eAAe,UACX,IAIXN,EAAKO,KAAO,WACR,OAAoB,OAAhBP,EAAKF,SACTE,EAAKF,OAAOO,YAAY,CAAED,OAAQ,SAClCF,EAAGI,eAAe,SACX,IAIXN,EAAKQ,IAAM,SAAUC,GAAsB,OAAdP,EAAGM,IAAIC,GAAcT,GAClDA,EAAKU,GAAK,SAAUD,EAAME,GAAmC,OAAvBT,EAAGQ,GAAGD,EAAME,GAAkBX,GACpEA,EAAKY,iBAAmB,SAAUH,EAAME,GAA+C,OAAnCX,EAAKQ,IAAIC,GAAMC,GAAGD,EAAME,GAAkBX,GAC9FA,EAAKa,oBAAsB,SAAUJ,GAAwB,OAAhBT,EAAKQ,IAAIC,GAAcT,GAIhEA,EAAKF,OAAS,IAAIgB,OAAOf,EAASgB,QAAUrB,EAAEG,IAAImB,WAAa,2BAA6BtB,EAAEG,IAAIoB,SAAW,IAC7GjB,EAAKF,OAAOoB,QAAwC,mBAAtBnB,EAAgB,QAAmBA,EAASmB,QAAU,SAAUC,GAC1FnB,EAAKO,OACLL,EAAGkB,QAAQ1B,EAAE2B,MAAM,QAASF,KAEhCnB,EAAKF,OAAOc,iBAAiB,UAAW,SAAUU,GAC9CpB,EAAGI,eAAe,UAAWgB,EAAEC,QAChC,GAIK,SAARC,EAAkBC,EAAQC,EAASC,GACnC,IAAIL,EAAI,IAAI3B,OAAO6B,MAAMC,EAAQC,GACjCzB,KAAK2B,OAASH,GAAU,EACxBxB,KAAK4B,WAAaH,EAClBzB,KAAK6B,SAAWH,EAChB1B,KAAK8B,aAAeJ,MAAAA,EAAiDA,EAAYK,WAAa,GAC9F/B,KAAKgC,MAAQX,EAAEW,MACfhC,KAAKiC,KAAOZ,EAAEY,KACdjC,KAAKkC,UAAY,aAKjBnC,EAAKQ,IAAI,oBAAoBE,GAAG,mBAAoB,SAAUS,GACxB,mBAAtBpB,EAAgB,SAAoBA,EAASmB,QAAQC,KAErEnB,EAAKQ,IAAI,oBAAoBE,GAAG,mBAAoB,SAAUY,GACxB,mBAAtBvB,EAAgB,SAAoBA,EAASqC,QAAQd,KAErEtB,EAAKQ,IAAI,sBAAsBE,GAAG,qBAAsB,SAAUY,EAAGC,GACjE,GAAoC,mBAAxBxB,EAAkB,UAAkB,CAC5C,IAAIsC,EACJ,IAAMA,EAAOC,KAAKC,MAAMhB,GACxB,MAAOiB,GAAMH,EAAOd,EAEpB,QAAmB,IAAfc,EAAKI,MAGL,OAFAvC,EAAGkB,QAAQ1B,EAAE2B,MAAM,QAAS,IAAIG,EAAMa,EAAKI,MAAOJ,EAAKX,QAASW,EAAKV,oBACrE3B,EAAKO,OAITR,EAAS2C,UAAUL,MAG3BrC,EAAKQ,IAAI,mBAAmBE,GAAG,kBAAmB,SAAUY,GACvB,mBAArBvB,EAAe,QAAoBA,EAAS4C,OAAOrB,MAM9E5B,EAAEkD,OAAO,CAAEC,UAAW,SAAU9C,GAAY,OAAO,IAAIL,EAAEG,IAAIC,OAAOC,MA1FrE","file":"slx.worker.min.js","sourcesContent":["/*!\n * slxControls v1.0.8 (http://selerix.com)\n * Copyright 2017 Selerix Systems, Inc. All Rights Reserved.\n * This is unpublished proprietary source code of Selerix, Inc. The\n * copyright notice above does not evidence any actual or intended\n * publication of such source code.\n *\n * Dependencies: jQuery v1.10+, Bootstrap v3.2+, polyfills.js\n */\n(function () {\r\n\t'use strict';\n\tvar x = window.SlxControl;\n\n /*\n\t * slx.worker\n\t * Dependencies: slx.core, slx.worker.poller\n\t */\n x.slx.worker = function worker(settings) {\r\n var that = this;\n that.worker = null;\n var el = x({});\n\n // start polling\n that.start = function (settings) {\r\n if (that.worker === null) { return false; }\n settings.action = 'start';\n that.worker.postMessage(settings);\n el.triggerHandler('start');\n return true;\r\n };\n\n // stop polling\n that.stop = function () {\r\n if (that.worker === null) { return false; }\n that.worker.postMessage({ action: 'stop' });\n el.triggerHandler('stop');\n return true;\r\n };\n\n // event attaching\n that.off = function (type) { el.off(type); return that; };\n that.on = function (type, listener) { el.on(type, listener); return that; };\n that.addEventListener = function (type, listener) { that.off(type).on(type, listener); return that; };\n that.removeEventListener = function (type) { that.off(type); return that; };\n\n // initialization\n (function () {\r\n that.worker = new Worker(settings.source || x.slx.scriptpath + 'slx.worker.poller.js?v=' + (x.slx.version || 0));\n that.worker.onerror = typeof (settings.onerror) === 'function' ? settings.onerror : function (err) {\r\n that.stop();\n el.trigger(x.Event('error', err));\r\n };\n that.worker.addEventListener('message', function (e) {\r\n el.triggerHandler('message', e.data);\r\n }, false);\r\n })();\n\n // localized error object\n var Error = function (number, message, description) {\r\n var e = new window.Error(number, message);\r\n this.status = number || 0;\r\n this.statusText = message;\r\n this.response = description;\r\n this.responseText = description !== null && description !== void 0 ? description.toString() : '';\r\n this.stack = e.stack;\r\n this.name = e.name;\r\n this.namespace = 'slx.worker';\r\n };\n\n // events\n (function () {\r\n that.off('error.slx.worker').on('error.slx.worker', function (err) {\r\n if (typeof (settings.onerror) === 'function') { settings.onerror(err); }\r\n });\n that.off('start.slx.worker').on('start.slx.worker', function (e) {\r\n if (typeof (settings.onstart) === 'function') { settings.onstart(e); }\r\n });\n that.off('message.slx.worker').on('message.slx.worker', function (e, data) {\r\n if (typeof (settings.onmessage) === 'function') {\r\n var resp;\n try { resp = JSON.parse(data); }\n catch (ex) { resp = data; }\n\r\n if (resp.error !== void 0) {\r\n el.trigger(x.Event('error', new Error(resp.error, resp.message, resp.description)));\r\n that.stop();\r\n return;\r\n }\n\r\n settings.onmessage(resp);\r\n }\r\n });\n that.off('stop.slx.worker').on('stop.slx.worker', function (e) {\r\n if (typeof (settings.onstop) === 'function') { settings.onstop(e); }\r\n });\r\n })();\r\n };\n\n // jQuery extenders\n\tx.extend({ slxWorker: function (settings) { return new x.slx.worker(settings); } });\r\n\r\n\treturn x;\r\n})();"]}