-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrefuel.min.js
More file actions
7 lines (6 loc) · 35.3 KB
/
refuel.min.js
File metadata and controls
7 lines (6 loc) · 35.3 KB
1
2
3
4
5
6
7
/*
RequireJS 2.1.5 Copyright (c) 2010-2012, The Dojo Foundation All Rights Reserved.
Available via the MIT or new BSD license.
see: http://github.com/jrburke/requirejs for details
*/
var requirejs,require,define;(function(aa){function I(e){return"[object Function]"===L.call(e)}function J(e){return"[object Array]"===L.call(e)}function y(e,t){if(e){var n;for(n=0;n<e.length&&(!e[n]||!t(e[n],n,e));n+=1);}}function M(e,t){if(e){var n;for(n=e.length-1;-1<n&&(!e[n]||!t(e[n],n,e));n-=1);}}function s(e,t){return ga.call(e,t)}function m(e,t){return s(e,t)&&e[t]}function G(e,t){for(var n in e)if(s(e,n)&&t(e[n],n))break}function R(e,t,n,r){return t&&G(t,function(t,i){if(n||!s(e,i))r&&"string"!=typeof t?(e[i]||(e[i]={}),R(e[i],t,n,r)):e[i]=t}),e}function u(e,t){return function(){return t.apply(e,arguments)}}function ba(e){if(!e)return e;var t=aa;return y(e.split("."),function(e){t=t[e]}),t}function B(e,t,n,r){return t=Error(t+"\nhttp://requirejs.org/docs/errors.html#"+e),t.requireType=e,t.requireModules=r,n&&(t.originalError=n),t}function ha(e){function t(e,t,n){var r,i,s,o,u,a,f,l=t&&t.split("/");r=l;var c=k.map,h=c&&c["*"];if(e&&"."===e.charAt(0))if(t){r=m(k.pkgs,t)?l=[t]:l.slice(0,l.length-1),t=e=r.concat(e.split("/"));for(r=0;t[r];r+=1)if(i=t[r],"."===i)t.splice(r,1),r-=1;else if(".."===i){if(1===r&&(".."===t[2]||".."===t[0]))break;0<r&&(t.splice(r-1,2),r-=2)}r=m(k.pkgs,t=e[0]),e=e.join("/"),r&&e===t+"/"+r.main&&(e=t)}else 0===e.indexOf("./")&&(e=e.substring(2));if(n&&c&&(l||h)){t=e.split("/");for(r=t.length;0<r;r-=1){s=t.slice(0,r).join("/");if(l)for(i=l.length;0<i;i-=1)if(n=m(c,l.slice(0,i).join("/")))if(n=m(n,s)){o=n,u=r;break}if(o)break;!a&&h&&m(h,s)&&(a=m(h,s),f=r)}!o&&a&&(o=a,u=f),o&&(t.splice(0,u,o),e=t.join("/"))}return e}function n(e){A&&y(document.getElementsByTagName("script"),function(t){if(t.getAttribute("data-requiremodule")===e&&t.getAttribute("data-requirecontext")===x.contextName)return t.parentNode.removeChild(t),!0})}function r(e){var t=m(k.paths,e);if(t&&J(t)&&1<t.length)return n(e),t.shift(),x.require.undef(e),x.require([e]),!0}function i(e){var t,n=e?e.indexOf("!"):-1;return-1<n&&(t=e.substring(0,n),e=e.substring(n+1,e.length)),[t,e]}function o(e,n,r,s){var o,u,a=null,f=n?n.name:null,l=e,c=!0,h="";return e||(c=!1,e="_@r"+(F+=1)),e=i(e),a=e[0],e=e[1],a&&(a=t(a,f,s),u=m(H,a)),e&&(a?h=u&&u.normalize?u.normalize(e,function(e){return t(e,f,s)}):t(e,f,s):(h=t(e,f,s),e=i(h),a=e[0],h=e[1],r=!0,o=x.nameToUrl(h))),r=a&&!u&&!r?"_unnormalized"+(q+=1):"",{prefix:a,name:h,parentMap:n,unnormalized:!!r,url:o,originalName:l,isDefine:c,id:(a?a+"!"+h:h)+r}}function a(e){var t=e.id,n=m(L,t);return n||(n=L[t]=new x.Module(e)),n}function f(e,t,n){var r=e.id,i=m(L,r);s(H,r)&&(!i||i.defineEmitComplete)?"defined"===t&&n(H[r]):a(e).on(t,n)}function c(e,t){var n=e.requireModules,r=!1;t?t(e):(y(n,function(t){if(t=m(L,t))t.error=e,t.events.error&&(r=!0,t.emit("error",e))}),!r)&&l.onError(e)}function h(){T.length&&(ia.apply(D,[D.length-1,0].concat(T)),T=[])}function p(e){delete L[e],delete M[e]}function d(e,t,n){var r=e.map.id;e.error?e.emit("error",e.error):(t[r]=!0,y(e.depMaps,function(r,i){var s=r.id,o=m(L,s);o&&!e.depMatched[i]&&!n[s]&&(m(t,s)?(e.defineDep(i,H[s]),e.check()):d(o,t,n))}),n[r]=!0)}function v(){var e,t,i,s,o=(i=1e3*k.waitSeconds)&&x.startTime+i<(new Date).getTime(),u=[],a=[],f=!1,l=!0;if(!E){E=!0,G(M,function(i){e=i.map,t=e.id;if(i.enabled&&(e.isDefine||a.push(i),!i.error))if(!i.inited&&o)r(t)?f=s=!0:(u.push(t),n(t));else if(!i.inited&&i.fetched&&e.isDefine&&(f=!0,!e.prefix))return l=!1});if(o&&u.length)return i=B("timeout","Load timeout for modules: "+u,null,u),i.contextName=x.contextName,c(i);l&&y(a,function(e){d(e,{},{})}),(!o||s)&&f&&(A||da)&&!C&&(C=setTimeout(function(){C=0,v()},50)),E=!1}}function g(e){s(H,e[0])||a(o(e[0],null,!0)).init(e[1],e[2])}function b(e){var e=e.currentTarget||e.srcElement,t=x.onScriptLoad;return e.detachEvent&&!Y?e.detachEvent("onreadystatechange",t):e.removeEventListener("load",t,!1),t=x.onScriptError,(!e.detachEvent||Y)&&e.removeEventListener("error",t,!1),{node:e,id:e&&e.getAttribute("data-requiremodule")}}function w(){var e;for(h();D.length;){e=D.shift();if(null===e[0])return c(B("mismatch","Mismatched anonymous define() module: "+e[e.length-1]));g(e)}}var E,S,x,N,C,k={waitSeconds:7,baseUrl:"./",paths:{},pkgs:{},shim:{},config:{}},L={},M={},_={},D=[],H={},j={},F=1,q=1;return N={require:function(e){return e.require?e.require:e.require=x.makeRequire(e.map)},exports:function(e){e.usingExports=!0;if(e.map.isDefine)return e.exports?e.exports:e.exports=H[e.map.id]={}},module:function(e){return e.module?e.module:e.module={id:e.map.id,uri:e.map.url,config:function(){return k.config&&m(k.config,e.map.id)||{}},exports:H[e.map.id]}}},S=function(e){this.events=m(_,e.id)||{},this.map=e,this.shim=m(k.shim,e.id),this.depExports=[],this.depMaps=[],this.depMatched=[],this.pluginMaps={},this.depCount=0},S.prototype={init:function(e,t,n,r){r=r||{},this.inited||(this.factory=t,n?this.on("error",n):this.events.error&&(n=u(this,function(e){this.emit("error",e)})),this.depMaps=e&&e.slice(0),this.errback=n,this.inited=!0,this.ignore=r.ignore,r.enabled||this.enabled?this.enable():this.check())},defineDep:function(e,t){this.depMatched[e]||(this.depMatched[e]=!0,this.depCount-=1,this.depExports[e]=t)},fetch:function(){if(!this.fetched){this.fetched=!0,x.startTime=(new Date).getTime();var e=this.map;if(!this.shim)return e.prefix?this.callPlugin():this.load();x.makeRequire(this.map,{enableBuildCallback:!0})(this.shim.deps||[],u(this,function(){return e.prefix?this.callPlugin():this.load()}))}},load:function(){var e=this.map.url;j[e]||(j[e]=!0,x.load(this.map.id,e))},check:function(){if(this.enabled&&!this.enabling){var e,t,n=this.map.id;t=this.depExports;var r=this.exports,i=this.factory;if(this.inited){if(this.error)this.emit("error",this.error);else if(!this.defining){this.defining=!0;if(1>this.depCount&&!this.defined){if(I(i)){if(this.events.error)try{r=x.execCb(n,i,t,r)}catch(s){e=s}else r=x.execCb(n,i,t,r);this.map.isDefine&&((t=this.module)&&void 0!==t.exports&&t.exports!==this.exports?r=t.exports:void 0===r&&this.usingExports&&(r=this.exports));if(e)return e.requireMap=this.map,e.requireModules=[this.map.id],e.requireType="define",c(this.error=e)}else r=i;this.exports=r,this.map.isDefine&&!this.ignore&&(H[n]=r,l.onResourceLoad)&&l.onResourceLoad(x,this.map,this.depMaps),p(n),this.defined=!0}this.defining=!1,this.defined&&!this.defineEmitted&&(this.defineEmitted=!0,this.emit("defined",this.exports),this.defineEmitComplete=!0)}}else this.fetch()}},callPlugin:function(){var e=this.map,n=e.id,r=o(e.prefix);this.depMaps.push(r),f(r,"defined",u(this,function(r){var i,h;h=this.map.name;var d=this.map.parentMap?this.map.parentMap.name:null,v=x.makeRequire(e.parentMap,{enableBuildCallback:!0});if(this.map.unnormalized){if(r.normalize&&(h=r.normalize(h,function(e){return t(e,d,!0)})||""),r=o(e.prefix+"!"+h,this.map.parentMap),f(r,"defined",u(this,function(e){this.init([],function(){return e},null,{enabled:!0,ignore:!0})})),h=m(L,r.id))this.depMaps.push(r),this.events.error&&h.on("error",u(this,function(e){this.emit("error",e)})),h.enable()}else i=u(this,function(e){this.init([],function(){return e},null,{enabled:!0})}),i.error=u(this,function(e){this.inited=!0,this.error=e,e.requireModules=[n],G(L,function(e){0===e.map.id.indexOf(n+"_unnormalized")&&p(e.map.id)}),c(e)}),i.fromText=u(this,function(t,r){var u=e.name,f=o(u),h=O;r&&(t=r),h&&(O=!1),a(f),s(k.config,n)&&(k.config[u]=k.config[n]);try{l.exec(t)}catch(p){return c(B("fromtexteval","fromText eval for "+n+" failed: "+p,p,[n]))}h&&(O=!0),this.depMaps.push(f),x.completeLoad(u),v([u],i)}),r.load(e.name,v,i,k)})),x.enable(r,this),this.pluginMaps[r.id]=r},enable:function(){M[this.map.id]=this,this.enabling=this.enabled=!0,y(this.depMaps,u(this,function(e,t){var n,r;if("string"==typeof e){e=o(e,this.map.isDefine?this.map:this.map.parentMap,!1,!this.skipMap),this.depMaps[t]=e;if(n=m(N,e.id)){this.depExports[t]=n(this);return}this.depCount+=1,f(e,"defined",u(this,function(e){this.defineDep(t,e),this.check()})),this.errback&&f(e,"error",this.errback)}n=e.id,r=L[n],!s(N,n)&&r&&!r.enabled&&x.enable(e,this)})),G(this.pluginMaps,u(this,function(e){var t=m(L,e.id);t&&!t.enabled&&x.enable(e,this)})),this.enabling=!1,this.check()},on:function(e,t){var n=this.events[e];n||(n=this.events[e]=[]),n.push(t)},emit:function(e,t){y(this.events[e],function(e){e(t)}),"error"===e&&delete this.events[e]}},x={config:k,contextName:e,registry:L,defined:H,urlFetched:j,defQueue:D,Module:S,makeModuleMap:o,nextTick:l.nextTick,onError:c,configure:function(e){e.baseUrl&&"/"!==e.baseUrl.charAt(e.baseUrl.length-1)&&(e.baseUrl+="/");var t=k.pkgs,n=k.shim,r={paths:!0,config:!0,map:!0};G(e,function(e,t){r[t]?"map"===t?(k.map||(k.map={}),R(k[t],e,!0,!0)):R(k[t],e,!0):k[t]=e}),e.shim&&(G(e.shim,function(e,t){J(e)&&(e={deps:e}),(e.exports||e.init)&&!e.exportsFn&&(e.exportsFn=x.makeShimExports(e)),n[t]=e}),k.shim=n),e.packages&&(y(e.packages,function(e){e="string"==typeof e?{name:e}:e,t[e.name]={name:e.name,location:e.location||e.name,main:(e.main||"main").replace(ja,"").replace(ea,"")}}),k.pkgs=t),G(L,function(e,t){!e.inited&&!e.map.unnormalized&&(e.map=o(t))}),(e.deps||e.callback)&&x.require(e.deps||[],e.callback)},makeShimExports:function(e){return function(){var t;return e.init&&(t=e.init.apply(aa,arguments)),t||e.exports&&ba(e.exports)}},makeRequire:function(n,r){function i(t,u,f){var h,p;return r.enableBuildCallback&&u&&I(u)&&(u.__requireJsBuild=!0),"string"==typeof t?I(u)?c(B("requireargs","Invalid require call"),f):n&&s(N,t)?N[t](L[n.id]):l.get?l.get(x,t,n,i):(h=o(t,n,!1,!0),h=h.id,s(H,h)?H[h]:c(B("notloaded",'Module name "'+h+'" has not been loaded yet for context: '+e+(n?"":". Use require([])")))):(w(),x.nextTick(function(){w(),p=a(o(null,n)),p.skipMap=r.skipMap,p.init(t,u,f,{enabled:!0}),v()}),i)}return r=r||{},R(i,{isBrowser:A,toUrl:function(e){var r,i=e.lastIndexOf("."),s=e.split("/")[0];return-1!==i&&("."!==s&&".."!==s||1<i)&&(r=e.substring(i,e.length),e=e.substring(0,i)),x.nameToUrl(t(e,n&&n.id,!0),r,!0)},defined:function(e){return s(H,o(e,n,!1,!0).id)},specified:function(e){return e=o(e,n,!1,!0).id,s(H,e)||s(L,e)}}),n||(i.undef=function(e){h();var t=o(e,n,!0),r=m(L,e);delete H[e],delete j[t.url],delete _[e],r&&(r.events.defined&&(_[e]=r.events),p(e))}),i},enable:function(e){m(L,e.id)&&a(e).enable()},completeLoad:function(e){var t,n,i=m(k.shim,e)||{},o=i.exports;for(h();D.length;){n=D.shift();if(null===n[0]){n[0]=e;if(t)break;t=!0}else n[0]===e&&(t=!0);g(n)}n=m(L,e);if(!t&&!s(H,e)&&n&&!n.inited){if(k.enforceDefine&&(!o||!ba(o)))return r(e)?void 0:c(B("nodefine","No define call for "+e,null,[e]));g([e,i.deps||[],i.exportsFn])}v()},nameToUrl:function(e,t,n){var r,i,s,o,u,a;if(l.jsExtRegExp.test(e))o=e+(t||"");else{r=k.paths,i=k.pkgs,o=e.split("/");for(u=o.length;0<u;u-=1){if(a=o.slice(0,u).join("/"),s=m(i,a),a=m(r,a)){J(a)&&(a=a[0]),o.splice(0,u,a);break}if(s){e=e===s.name?s.location+"/"+s.main:s.location,o.splice(0,u,e);break}}o=o.join("/"),o+=t||(/\?/.test(o)||n?"":".js"),o=("/"===o.charAt(0)||o.match(/^[\w\+\.\-]+:/)?"":k.baseUrl)+o}return k.urlArgs?o+((-1===o.indexOf("?")?"?":"&")+k.urlArgs):o},load:function(e,t){l.load(x,e,t)},execCb:function(e,t,n,r){return t.apply(r,n)},onScriptLoad:function(e){if("load"===e.type||ka.test((e.currentTarget||e.srcElement).readyState))P=null,e=b(e),x.completeLoad(e.id)},onScriptError:function(e){var t=b(e);if(!r(t.id))return c(B("scripterror","Script error",e,[t.id]))}},x.require=x.makeRequire(),x}var l,w,x,D,t,E,P,K,Q,fa,la=/(\/\*([\s\S]*?)\*\/|([^:]|^)\/\/(.*)$)/mg,ma=/[^.]\s*require\s*\(\s*["']([^'"\s]+)["']\s*\)/g,ea=/\.js$/,ja=/^\.\//;w=Object.prototype;var L=w.toString,ga=w.hasOwnProperty,ia=Array.prototype.splice,A="undefined"!=typeof window&&!!navigator&&!!document,da=!A&&"undefined"!=typeof importScripts,ka=A&&"PLAYSTATION 3"===navigator.platform?/^complete$/:/^(complete|loaded)$/,Y="undefined"!=typeof opera&&"[object Opera]"===opera.toString(),F={},r={},T=[],O=!1;if("undefined"==typeof define){if("undefined"!=typeof requirejs){if(I(requirejs))return;r=requirejs,requirejs=void 0}"undefined"!=typeof require&&!I(require)&&(r=require,require=void 0),l=requirejs=function(e,t,n,r){var i,s="_";return!J(e)&&"string"!=typeof e&&(i=e,J(t)?(e=t,t=n,n=r):e=[]),i&&i.context&&(s=i.context),(r=m(F,s))||(r=F[s]=l.s.newContext(s)),i&&r.configure(i),r.require(e,t,n)},l.config=function(e){return l(e)},l.nextTick="undefined"!=typeof setTimeout?function(e){setTimeout(e,4)}:function(e){e()},require||(require=l),l.version="2.1.5",l.jsExtRegExp=/^\/|:|\?|\.js$/,l.isBrowser=A,w=l.s={contexts:F,newContext:ha},l({}),y(["toUrl","undef","defined","specified"],function(e){l[e]=function(){var t=F._;return t.require[e].apply(t,arguments)}}),A&&(x=w.head=document.getElementsByTagName("head")[0],D=document.getElementsByTagName("base")[0])&&(x=w.head=D.parentNode),l.onError=function(e){throw e},l.load=function(e,t,n){var r=e&&e.config||{},i;if(A)return i=r.xhtml?document.createElementNS("http://www.w3.org/1999/xhtml","html:script"):document.createElement("script"),i.type=r.scriptType||"text/javascript",i.charset="utf-8",i.async=!0,i.setAttribute("data-requirecontext",e.contextName),i.setAttribute("data-requiremodule",t),i.attachEvent&&!(i.attachEvent.toString&&0>i.attachEvent.toString().indexOf("[native code"))&&!Y?(O=!0,i.attachEvent("onreadystatechange",e.onScriptLoad)):(i.addEventListener("load",e.onScriptLoad,!1),i.addEventListener("error",e.onScriptError,!1)),i.src=n,K=i,D?x.insertBefore(i,D):x.appendChild(i),K=null,i;if(da)try{importScripts(n),e.completeLoad(t)}catch(s){e.onError(B("importscripts","importScripts failed for "+t+" at "+n,s,[t]))}},A&&M(document.getElementsByTagName("script"),function(e){x||(x=e.parentNode);if(t=e.getAttribute("data-main"))return r.baseUrl||(E=t.split("/"),Q=E.pop(),fa=E.length?E.join("/")+"/":"./",r.baseUrl=fa,t=Q),t=t.replace(ea,""),r.deps=r.deps?r.deps.concat(t):[t],!0}),define=function(e,t,n){var r,i;"string"!=typeof e&&(n=t,t=e,e=null),J(t)||(n=t,t=[]),!t.length&&I(n)&&n.length&&(n.toString().replace(la,"").replace(ma,function(e,n){t.push(n)}),t=(1===n.length?["require"]:["require","exports","module"]).concat(t)),O&&((r=K)||(P&&"interactive"===P.readyState||M(document.getElementsByTagName("script"),function(e){if("interactive"===e.readyState)return P=e}),r=P),r&&(e||(e=r.getAttribute("data-requiremodule")),i=F[r.getAttribute("data-requirecontext")])),(i?i.defQueue:T).push([e,t,n])},define.amd={jQuery:!0},l.exec=function(b){return eval(b)},l(r)}})(this),define("require.min.js",function(){}),function(){function t(e){return Array.prototype.slice.call(e)}function u(e){e&&e.type==="load"&&(console.log(i.src,"loaded!"),e.target.parentNode.removeChild(e.target),a())}function a(){var t={baseUrl:o},n=Refuel.mix(t,Refuel.config||{});require.config(n),startupRequirements=[s,"hammer.min","path.min","config"],require(startupRequirements,function(){Path.listen(),e[s].body()})}window.Refuel={};var e={};Refuel.classMap=e,Refuel.mix=function(e,t){var n=Refuel.clone(e);for(var r in t)n[r]=t[r];return n},Refuel.isArray=function(e){return toString.call(e)==="[object Array]"},Refuel.isUndefined=function(e){return typeof e=="undefined"},Refuel.clone=function(e){if(e===null||typeof e!="object")return e;var t=e.constructor();for(var n in e)t[n]=Refuel.clone(e[n]);return t},Refuel.refuelClass=function(e){var t=undefined;return e&&e._refuelClassName&&(t=e._refuelClassName),t},Refuel.resolveChain=function(e,t,n){var r=t;if(e&&e!="."&&e!=""){var i=e.split("."),s;for(var o=0,u;u=i[o];o++){s=r,r=r[u];while(Refuel.refuelClass(r)=="DataSource")s=r,r=r.getData()}}return n?{value:r,parent:s}:r},Refuel.createInstance=function(t,n){var r=e[t];if(typeof r=="undefined")throw t+" not defined, please use Refuel.define";var i,s=r.body;if(r.inherits){if(!e[r.inherits])throw r.inherits+" not defined, please use Refuel.define";s.prototype=Refuel.createInstance(r.inherits,n)}return i=new s(n),i._refuelClassName=t,i.hasOwnProperty("init")&&i.init(n),i},Refuel.newModule=function(e,t){return Refuel.createInstance(e,t)},Refuel.define=function(t,n,r){console.log("define",t);if(e[t]!==undefined)throw new TypeError(t+" alredy defined!");r===undefined&&(r=n);var i=[];i=i.concat(n.require,n.inherits),i=i.filter(function(e){return e!==undefined?!0:!1});try{define(t,i,function(){e[t]={body:r,inherits:n.inherits}})}catch(s){console.log("error requesting",t,s)}},Refuel.static=function(e,t){Refuel[e]=t()};var n=document.querySelector("head"),r=n.querySelector("script[data-rf-startup]"),i=document.createElement("script"),s=r.getAttribute("data-rf-startup"),o=r.getAttribute("src").split("/");o=o.slice(0,o.length-1).join("/")||".",typeof define=="undefined"?(i.type="text/javascript",i.charset="utf-8",i.async=!0,i.addEventListener("load",u,!1),i.src=o+"/require.min.js",n.appendChild(i)):a()}(),define("Refuel",function(){}),Refuel.define("Events",function(){if(this.notify&&this.subscribe)return;var t={};this.notify=function(e,n,r){if(!e||typeof e!="string")throw new TypeError("Invalid event name "+e);n=n||{};if(t[e]instanceof Array){var i=[].concat(t[e]);for(var s=0,o;o=i[s];s++)o.callback.call(o.context,n)}},this.subscribe=function(e,n,r){if(!e||typeof e!="string")throw new TypeError("Invalid event name "+e);if(!n||typeof n!="function")throw new TypeError("Invalid event callback "+n);r||(r=this),typeof t[e]=="undefined"&&(t[e]=[]);var i={callback:n,context:r};t[e].push(i)},this.isSubscribed=function(e){return!Refuel.isUndefined(t[e])&&t[e].length!==0},this.unsubscribe=function(e,n){if(!e||typeof e!="string"||n&&typeof n!="function")throw new TypeError("name is not defined or wrong callback");if(n){for(var r=0,i=t[e].length;r<i;r++)if(t[e][r].callback.toString()===n.toString()){t[e].splice(r,1);return}}else delete t[e]}}),define("Events",function(){}),Refuel.define("ObservableArray",{inherits:"Events"},function(){function s(){var e={action:"update",data:n.length,prop:"length"};this.notify("_oa_update",e)}function o(e){this[e]=function(){var t=n[e].apply(n,arguments);switch(e){case"push":var r=n.length-1;u.call(this,r),this.length=n.length;var i={action:"add",index:r,data:this[r]};this.notify("_oa_update",i);break;case"splice":var r=arguments[0];this.length=n.length,a.call(this,r);var i={action:"delete",index:r};this.notify("_oa_update",i)}return t}}function u(e){this.__lookupGetter__(e)||function(e,t){Object.defineProperty(e,t,{configurable:!0,set:function(n){e.setElementAt(t,n)},get:function(){return e.getElementAt(t)}})}(this,e)}function a(e){e&&delete this[e],f.call(this)}function f(){for(var e=0;e<n.length;e++)delete this[e],u.call(this,e)}this.config={};var t=0,n,r,i;this.init=function(e){this.config=Refuel.mix(this.config,e),n=this.config.value,this.length=n.length,this.subscribe("change",function(e){console.log(e.type,e)});for(var r=0,i;i=n[r];r++)u.call(this,t),t++;["pop","push","reverse","shift","sort","splice","unshift"].forEach(o.bind(this)),this.notify("_oa_update",{action:"set"})},this.__defineGetter__("data",function(){return n}),Object.defineProperty(this,"length",{configurable:!0,set:function(e){var t={action:"update",data:n.length,prop:"length"};this.notify("_oa_update",t)},get:function(){return n.length}}),this.setElementAt=function(e,t){n[e]=t},this.getElementAt=function(e){return n[e]},this.filter=function(e){return n.filter(e)}}),define("ObservableArray",function(){}),Refuel.define("Observer",{require:["ObservableArray"],inherits:"Events"},function(){function i(e,n,o){if(e&&e!="."){var u=e.split("."),a=u[u.length-1],f=Refuel.resolveChain(e,t,!0);n=f.value,o=f.parent}else o=this.dataSource;return Refuel.refuelClass(o)=="DataSource"&&(n=o.data,a="data"),Refuel.isArray(n)?(o[a]=Refuel.createInstance("ObservableArray",{value:n}),i.call(this,e)):Refuel.refuelClass(n)=="ObservableArray"?o[a].subscribe("_oa_update",function(t){t.observer=r[e],this.notify("_oa_update",t)},this):Object.defineProperty(o,a,{configurable:!0,set:function(t){r[e].value=t,s(r[e])},get:function(){return r[e].value}}),r[e]={name:e,value:n,owner:o},r[e]}function s(e){var t=e.callbackList;if(t&&t.length){var n=t.length;for(var r=0,i;i=t[r];r++)i.callback.call(i.context,e,i.params)}}if(this.observe)return;var t,n,r={};this.getObservers=function(){return r},this.enableAutoUpdate=function(e){t=e},this.observe=function(e,n,s){var o=this;s||(s=n,n=null);if(!t){console.error("Before making",e,"observable you should enableAutoUpdate on",e,"or it's parent");return}var u=r[e];return u||(u=i.call(this,e)),s&&(u.callbackList||(u.callbackList=[]),u.callbackList.push({callback:s,context:this,params:n})),u}}),define("Observer",function(){}),Refuel.static("ajax",function ajax(){function r(){var e;return window.XMLHttpRequest?e=new window.XMLHttpRequest:e=function(){try{return new ActiveXObject("Msxml2.XMLHTTP.6.0")}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP.3.0")}catch(e){}try{return new ActiveXObject("Microsoft.XMLHTTP")}catch(e){}throw new Error("This browser does not support XMLHttpRequest.")},e}function i(e){var t=document.createElement("A");return t.href=e,t.protocol+"//"+t.host==window.location.protocol+"//"+window.location.host}function s(n,r,i){n.onreadystatechange=null,n.abort(),e--,clearTimeout(t[r].timeoutId);var s={url:r,responseText:"",responseJSON:{}};t[r]<=2?(i.msTimeout*=1.5,ajax(r,i)):(t[r].counter=0,i[i.timeout?"timeout":"ko"](s,0,n))}function ajax(o,u){u=Refuel.mix(n,u);if(!i(o))return console.error("checkURL failed",o),!1;var a=r(),f=u.method?u.method:"GET",l,c;u.msTimeout=u.msTimeout||2500,c=setTimeout(function(e,t,n){return function(){s(e,t,n)}}(a,o,u),u.msTimeout),t[o]={counter:t[o]?t[o].counter+1:1,timeoutId:c},a.onreadystatechange=function(){var n,r={};if(a.readyState===4){t[o].counter=0,clearTimeout(t[o].timeoutId),e--;try{n=a.status}catch(i){n=0}r={url:o,responseXML:a.responseXML,responseText:a.responseText},a.getResponseHeader("Content-Type")==="application/json"&&r.responseText&&(r.responseJSON=JSON.parse(r.responseText)||{}),n>=200&&n<400||n===1224?u.successCallback(r,n,a):n>=400&&u.errorCallback(r,n,a)}},a.open(f,o),e++;if(l=u.headers)for(var h in l)l.hasOwnProperty(h)&&a.setRequestHeader(h,l[h]);a.send(f.match(/POST|PUT/)&&u.body?u.body:null)}var e=0,t={},n={};return{haveActiveConnections:function(){return e>0},get:function(e,t){t=Refuel.mix(n,t),t.method="GET",ajax(e,t)},post:function(e,t,r){r=Refuel.mix(n,r),r.method="POST",r.body=t,ajax(e,r)},put:function(e,t,r){r=Refuel.mix(n,r),r.method="PUT",r.body=t,ajax(e,r)},"delete":function(e,t){t=Refuel.mix(n,t),t.method="DELETE",ajax(e,t)}}}),define("ajax",function(){}),Refuel.define("DataSource",{inherits:"Events",require:["ajax"]},function(){function s(){this.loadProgress&&i.requested==i.completed&&(this.setLoadComplete(),this.notify("dataAvailable",{data:t}))}function o(e,t){return Refuel.refuelClass(t)=="ObservableArray"?t.data:t}function u(e){this.setData(e.responseJSON)}function a(e){console.error("datasource error:",r,e),this.notify("dataError",this.getData())}function f(){var e={},n=r.url,i=r.key;n?e={get:function(){Refuel.ajax.get(n,r)},post:function(e){Refuel.ajax.post(n,e,r)},put:function(e){Refuel.ajax.put(n,e,r)},"delete":function(){Refuel.ajax.delete(n,r)},getData:this.getData}:i&&(e={get:function(){return localStorage.getItem(i)},set:function(e){localStorage.setItem(i,JSON.stringify(t))},remove:function(){localStorage.removeItem(i)}});for(var i in e)this[i]||(this[i]=e[i]);return e}var t={},n="idle",r={defaultDataType:"Object",dataPath:null,successCallback:u.bind(this),errorCallback:a.bind(this)},i={requested:0,completed:0};this.setLoadComplete=function(){n="complete"},this.setLoadProgress=function(){n="progress"},this.setLoadIdle=function(){n="idle"},Object.defineProperty(this,"loadComplete",{get:function(){return n=="complete"}}),Object.defineProperty(this,"loadProgress",{get:function(){return n=="progress"}}),Object.defineProperty(this,"loadIdle",{get:function(){return n=="idle"}}),Object.defineProperty(this,"data",{configurable:!0,get:function(){return t},set:function(e){t=e}}),this.init=function(e){r=Refuel.mix(r,e),f.call(this),this.loadComplete?this.notify("dataAvailable",{data:t}):r.data?(this.setData(r.data),r.data=null):r.autoload&&this.load()},this.setConfig=function(e){r=Refuel.mix(r,e)},this.setData=function(e){this.setLoadProgress(),t=e,i.found=i.requested=i.completed=0;for(var n in t){var o=t[n];if(Refuel.refuelClass(o)=="DataSource"){i.found++;if(o.loadComplete)s.call(this);else if(!o.loadProgress||!o.loadComplete)i.requested++,o.subscribe("dataAvailable",function(){i.completed++,s.call(this)},this),o.setConfig({autoload:r.autoload}),o.init()}}i.found||s.call(this)},this.getData=function(){return t},this.save=function(){r.key?localStorage.setItem(r.key,JSON.stringify(t,o)):r.url&&console.error("Ajax call not yet implemented");for(var e in t){var n=t[e];Refuel.refuelClass(n)=="DataSource"&&n.save()}},this.load=function(){this.setLoadProgress();if(r.key){var e=localStorage.getItem(r.key),n=JSON.parse(e);if(n)this.setData(n);else{var i=r.defaultDataType=="Array"?[]:{};this.setData(i)}}else r.url&&Refuel.ajax.get(r.url,r);for(var s in t){var o=t[s];Refuel.refuelClass(o)=="DataSource"&&(!o.loadComplete||!o.loadProgress)&&o.load()}}}),define("DataSource",function(){}),Refuel.define("Template",{inherits:"Events"},function Template(){function parseDOMElement(e,t,n,r,i,s,o,u,a,f){s=e.attributes;var l={};l.elementSymbolTable=[];for(var c=0;u=s[c];c++){if(!u.specified)continue;a=u.name,f=u.value;var o=null,h;if(o=a.match(n))h={action:o[1],attribute:u,attributeName:a,domElement:e,linkedTo:f,originalSymbol:f},h.action==="loop"&&(h.symbolTable=[]);else if(o=f.match(r))h={action:"replaceAttributeValue",attribute:u,attributeName:a,domElement:e,linkedTo:o[1],originalSymbol:o[0]};o&&(h.originalContent=f,h=splitOptions(h,h.linkedTo)),h&&(l[h.action]=h,l.elementSymbolTable.push(h))}return l}function splitOptions(e,t){if(t.indexOf("?")!=-1){var n=t.split("?");e.linkedTo=n[0],e.expression=n[1]}else{var n=t.split(":");e.linkedTo=n.length>1?n[1]:n[0],n.length>1&&(e.options=n[0])}return e.linkedTo=e.linkedTo.trim(),e.options&&(e.options=e.options.trim()),e.expression&&(e.expression=e.expression.trim()),e}function evalExpression(exp,data){var res=exp.split(":");return res=data?res[0]:res[1],eval(res.trim())}function normalizePath(e){return e=e.replace(config.dataLabel,""),e.charAt(0)=="."&&(e=e.substr(1)),e||"."}function hasDataAction(e,t){for(var n in e.dataset){var r=n.replace(datasetRegExp,"");if(r.toLowerCase()===t||r==="")return!0}return!1}function notifyEvent(e){e.stopPropagation(),self.bindingsProxy=self.bindingsProxy||self,bindingTable[e.type]&&hasDataAction(e.target,e.type)?(e.action=e.type==="click"?e.target.dataset.rfAction||e.target.dataset.rfActionClick:e.target.getAttribute("data-rf-action-"+e.type),e=splitOptions(e,e.action),self.bindingsProxy.notify("genericBinderEvent",e)):bindingTable[e.type]&&hasDataAction(e.currentTarget,e.type)&&(e.action=e.type==="click"?e.currentTarget.dataset.rfAction||e.currentTarget.dataset.rfActionClick:e.currentTarget.getAttribute("data-rf-action-"+e.type),e=splitOptions(e,e.action),self.bindingsProxy.notify("genericBinderEvent",e))}function templateBinder(e,t){self.bindingsProxy=self.bindingsProxy||self;for(var n=0,r;r=t[n];n++){var i=r.domElement===root;if(r.action==="action"){var s=r.attributeName==="data-rf-action"?"click":r.attributeName.replace(attributeRegExp,"");if(!bindingTable[s]){var o;typeof Hammer!="undefined"&&(o=Hammer(e).on(s,notifyEvent)),o=!1,o||(s=="blur"&&(e.style.border="1px solid red"),e.addEventListener?e.addEventListener(s,notifyEvent,!1):el.attachEvent&&e.attachEvent("on"+s,notifyEvent)),bindingTable[s]=!0}}if(r.action!="action"){var u=normalizePath(r.linkedTo);self.notify("_observe",{linkedTo:u,symbol:r})}}}function createListElement(e,t){var n=t.template.cloneNode(!0),r=Refuel.newModule("Template",{root:n});return r.bindingsProxy=self,r.render(e),t.elements.push(r),r.getRoot()}function markMissing(e,t){self.markMissedRefs&&typeof t=="undefined"&&(e.domElement.style.border="1px solid red",console.warn("missing",e.linkedTo,typeof t))}var self=this,root,config={},profiler={},bindingTable={},symbolTable=[];this.markMissedRefs=!1,this.bindingsProxy=null;var regExpToMatchName=new RegExp("data-rf-(\\w*)"),regExpToMatchValue=new RegExp("\\{\\{(.*)\\}\\}"),attributeRegExp=new RegExp("data-rf-action-","i"),datasetRegExp=new RegExp("rfAction","i");this.init=function(e){config=Refuel.mix(config,e),root=config.root},this.parse=function(e,t,n){var e=e||root;t=e.nodeValue;switch(e.nodeType){case 1:var r=parseDOMElement(e,symbolTable,regExpToMatchName,regExpToMatchValue),i=e===root,s=r.loop,o=r.list,u=r.template;if(s){var a=s.domElement,f=a.querySelector("[data-rf-template]"),l=a.removeChild(f);s.template=l,this.parse(l,s.symbolTable)}else if(!u&&!o||!!i)if(o&&i){var a=o.domElement,f=a.querySelector("[data-rf-template]"),l=a.removeChild(f);o.template=l}else for(var c=0,h;h=e.childNodes[c++];)this.parse(h,symbolTable);symbolTable=symbolTable.concat(r.elementSymbolTable);break;case 3:if(n=t.match(regExpToMatchValue)){var p={action:"replaceText",domElement:e.parentElement,textNode:e,originalContent:t,originalSymbol:n[0]};p=splitOptions(p,n[1]),symbolTable.push(p)}}return e===root&&templateBinder(e,symbolTable),symbolTable},this.render=function(e){profiler.timestart=(new Date).getTime(),e||console.error("Template::render data argument is null"),symbolTable.length||(symbolTable=this.parse()),self.notify("_template_parsed",{symbolTable:symbolTable});for(var t=0,n;n=symbolTable[t];t++)self.renderSymbol(n,e);profiler.timestop=(new Date).getTime()},this.renderSymbol=function(e,t){var n=e.domElement===root,r=normalizePath(e.linkedTo),i=Refuel.resolveChain(r,t);e.expression&&(i=evalExpression(e.expression,i)),n&&(this.rootSymbol=r);switch(e.action){case"replaceText":markMissing(e,i),e.textNode.textContent=e.originalContent.replace(e.originalSymbol,i);break;case"replaceAttributeValue":markMissing(e);switch(e.attributeName){case"checked":case"selected":e.domElement[e.attributeName]=i==1;break;default:e.attribute.value=e.originalContent.replace(e.originalSymbol,i)}break;case"visibility":i?e.domElement.style.display="block":e.domElement.style.display="none";break;case"loop":e.elements=[],e.domElement.innerHTML="";var s=document.createDocumentFragment();for(var o=0;o<i.length;o++){var u=createListElement(i[o],e);u.setAttribute("data-rf-id",o),s.appendChild(u)}e.domElement.appendChild(s);break;case"list":n||(e.linkedData=i,self.notify("_new_list",{symbol:e}))}},this.create=function(e,t,n){root=t.cloneNode(!0),this.render(n),e.appendChild(root)},this.remove=function(){root.parentNode.removeChild(root)},this.clear=function(){root.innerHTML=""},this.getSymbolTable=function(){return symbolTable},this.getSymbolByAction=function(e){for(var t=0,n;n=symbolTable[t];t++)if(n.action===e)return n},this.setRoot=function(e){root=e},this.getRoot=function(){return root},this.getBindings=function(){return bindingTable}}),define("Template",function(){}),Refuel.define("BasicModule",{require:["Template","DataSource"],inherits:"Observer"},function(){function r(e){var n=t[e.linkedTo];if(n){var r=e.options?n.context.items[e.options]:n.context;e.module||(e.module=r),n.callback.call(r,e)}else this.notify("_unhandledAction",e)}function i(e){this.enableAutoUpdate(this.dataSource.getData(),n.dataLabel);var t=e.linkedTo,r=this.observe(t,e.symbol,function(e,t){this.template.renderSymbol(t,this.data),this.notify("observableChange",{observable:e},!0)})}function s(e){}var t={},n={dataPath:"."};this.init=function(e){n=Refuel.mix(n,e),this.items=[],Refuel.refuelClass(n.data)=="DataSource"?this.dataSource=n.data:this.dataSource=Refuel.newModule("DataSource"),this.template=Refuel.newModule("Template",n),this.defineUpdateManager(s.bind(this)),this.template.subscribe("genericBinderEvent",r,this),this.template.subscribe("_observe",i,this)},this.addModule=function(e){e.dataLabel?this.items[e.dataLabel]=e:this.items.push(e),e.subscribe("observableChange",function(e){this.notify("observableChange",e)},this),e.subscribe("_unhandledAction",function(t){t.module||(t.module=e),r.call(this,t)},this)},this.draw=function(e){e=e||this.dataSource.getData(),this.template.render(e)},this.defineUpdateManager=function(e){this.unsubscribe("_oa_update"),this.subscribe("_oa_update",e)},this.defineAction=function(e,n){t[e]={context:this,callback:n}},this.querySelector=function(e){return this.template.getRoot().querySelector(e)},this.toggleClass=function(e,t){var n=this.template.getRoot();t===undefined?n.classList.toggle(e):t?n.classList.add(e):n.classList.remove(e)},this.saveData=function(){this.dataSource.save()},this.getModule=function(e){return this.items[e]},Object.defineProperty(this,"data",{configurable:!0,get:function(){return this.dataSource.data},set:function(e){this.data=e}})}),define("BasicModule",function(){}),Refuel.define("GenericModule",{inherits:"BasicModule",require:"ListModule"},function(){function n(e){var t=e.symbol.linkedTo.split("."),n=t[0];t=t.slice(1).join(".");if(typeof this.items[n]=="undefined"){var r=this.dataSource.data[n],i=Refuel.newModule("ListModule",{data:r,autoload:!1,root:e.symbol.domElement,dataLabel:n,dataPath:t});this.addModule(i)}}function r(e){}var t={};this.items=[],this.init=function(e){t=Refuel.mix(t,e),this.defineUpdateManager(r),this.template.subscribe("_new_list",n,this),this.template.setRoot(t.root),this.dataSource.subscribe("dataAvailable",function(e){this.draw()},this),this.dataSource.init(t)}}),define("GenericModule",function(){}),Refuel.define("ListModule",{inherits:"BasicModule",require:"ListItemModule"},function(){function i(e){switch(e.action){case"set":s.call(this);break;case"add":u.call(this,{data:e.data,index:e.index}),r&&this.filterApply(r);break;case"delete":o.call(this,{index:e.index})}}function s(e){e=e||this.data;var t=Refuel.resolveChain(this.template.rootSymbol,e);this.items=[],this.template.clear();for(var n=0,r;r=t[n];n++)u.call(this,{data:r,index:n})}function o(e){this.items[e.index].destroy(),this.items.splice(e.index,1)}function u(e){var t=this.template.getSymbolByAction("list"),r=Refuel.createInstance("ListItemModule",{parentRoot:n.root,template:t.template,autoload:!1,data:e.data});this.addModule(r)}var t=13;this.items=[];var n={},r=null;this.init=function(e){n=Refuel.mix(n,e),this.dataLabel=n.dataLabel,this.dataSource.setConfig({defaultDataType:"Array"}),this.defineUpdateManager(i.bind(this)),this.template.setRoot(n.root),this.dataSource.subscribe("dataAvailable",function(e){this.create(),this.draw(),s.call(this)},this),this.dataSource.init(n)},this.create=function(){this.enableAutoUpdate(this.dataSource.getData(),n.dataLabel)},this.add=function(e){this.dataSource.data.push(e)},this.remove=function(e){var t=this.getItemIndex(e);this.removeAt(t)},this.removeAt=function(e){this.data.splice(e,1)},this.update=function(e){var t={};t[n.dataLabel]=e,this.dataSource.setData(t)},this.applyOnItems=function(e,t){var n=this.items;for(var r=0,i;i=n[r];r++){var s=[].concat(t);s.unshift(i),e.apply(i,s)}},this.getItemIndex=function(e){for(var t=0,n;n=this.items[t];t++)if(n===e)return t;return null},this.filterBy=function(e){return this.data.filter(function(t,n,r){var i=!0;for(var s in e)i=i&&e[s]==Refuel.resolveChain(s,t);return i})},this.filterApply=function(e){r=e;var t=this.filterBy(e);s.call(this,t)},this.filterClear=function(){r=null,s.call(this)}}),define("ListModule",function(){}),Refuel.define("ListItemModule",{inherits:"BasicModule"},function(){function n(e){}var t={};this.init=function(e){t=Refuel.mix(t,e),this.dataSource.name=this.template.name="ListItemModule",this.enableAutoUpdate(this.dataSource.getData()),this.dataSource.subscribe("dataAvailable",function(e){this.draw()},this),this.dataSource.init(t)},this.destroy=function(){this.template.remove(),delete this},this.draw=function(){this.template.create(t.parentRoot,t.template,this.dataSource.getData())}}),define("ListItemModule",function(){});