diff --git a/modules/core/core.py b/modules/core/core.py index e542a39..128ab17 100644 --- a/modules/core/core.py +++ b/modules/core/core.py @@ -283,6 +283,15 @@ class CraftBeerPi(ActorAPI, SensorAPI): t = tmpObj.__getattribute__(m) self.cache[key][name]["properties"].append( {"name": m, "label": t.label, "type": "select", "configurable": True, "options": t.options}) + elif isinstance(tmpObj.__getattribute__(m), Property.Actor): + t = tmpObj.__getattribute__(m) + self.cache[key][name]["properties"].append({"name": m, "label": t.label, "type": "actor", "configurable": t.configurable}) + elif isinstance(tmpObj.__getattribute__(m), Property.Sensor): + t = tmpObj.__getattribute__(m) + self.cache[key][name]["properties"].append({"name": m, "label": t.label, "type": "sensor", "configurable": t.configurable}) + elif isinstance(tmpObj.__getattribute__(m), Property.Kettle): + t = tmpObj.__getattribute__(m) + self.cache[key][name]["properties"].append({"name": m, "label": t.label, "type": "kettle", "configurable": t.configurable}) for name, method in cls.__dict__.iteritems(): if hasattr(method, "action"): diff --git a/modules/core/props.py b/modules/core/props.py index aaaca85..832264f 100644 --- a/modules/core/props.py +++ b/modules/core/props.py @@ -21,6 +21,24 @@ class Property(object): self.label = label self.configurable = configurable + class Actor(PropertyType): + def __init__(self, label): + PropertyType.__init__(self) + self.label = label + self.configurable = True + class Sensor(PropertyType): + def __init__(self, label): + PropertyType.__init__(self) + self.label = label + self.configurable = True + + class Kettle(PropertyType): + def __init__(self, label): + PropertyType.__init__(self) + self.label = label + self.configurable = True + + class StepProperty(Property): class Actor(PropertyType): def __init__(self, label): diff --git a/modules/ui/static/bundle.js b/modules/ui/static/bundle.js index 0dcc36c..2cbda8b 100644 --- a/modules/ui/static/bundle.js +++ b/modules/ui/static/bundle.js @@ -18,7 +18,7 @@ f.call(t,n)&&(e[n]=t[n])}),e},m="function"==typeof Object.getOwnPropertySymbols? * @license MIT */ t.SheetsRegistry=s.default,t.RulesContainer=u.default,t.sheets=d.default;var h=t.create=function(e){return new i.default(e)};t.default=h()},function(e,t,n){var r=n(44),o=r.Symbol;e.exports=o},function(e,t,n){function r(e){return null!=e&&i(e.length)&&!o(e)}var o=n(288),i=n(177);e.exports=r},function(e,t){function n(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}e.exports=n},function(e,t,n){function r(e){return"symbol"==typeof e||i(e)&&o(e)==a}var o=n(71),i=n(72),a="[object Symbol]";e.exports=r},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(62),i=r(o),a=n(9),s=r(a),l=n(4),u=r(l),c=n(5),d=r(c),f=n(7),p=r(f),h=n(6),m=r(h),v=n(8),y=r(v),g=n(1),b=r(g),x=n(3),E=r(x),_=n(16),w=r(_),C=n(10),O=n(24),k=n(38),N=r(k),T={active:E.default.bool,disabled:E.default.bool,block:E.default.bool,onClick:E.default.func,componentClass:w.default,href:E.default.string,type:E.default.oneOf(["button","reset","submit"])},P={active:!1,block:!1,disabled:!1},S=function(e){function t(){return(0,d.default)(this,t),(0,p.default)(this,e.apply(this,arguments))}return(0,m.default)(t,e),t.prototype.renderAnchor=function(e,t){return b.default.createElement(N.default,(0,u.default)({},e,{className:(0,y.default)(t,e.disabled&&"disabled")}))},t.prototype.renderButton=function(e,t){var n=e.componentClass,r=(0,s.default)(e,["componentClass"]),o=n||"button";return b.default.createElement(o,(0,u.default)({},r,{type:r.type||"button",className:t}))},t.prototype.render=function(){var e,t=this.props,n=t.active,r=t.block,o=t.className,i=(0,s.default)(t,["active","block","className"]),a=(0,C.splitBsProps)(i),l=a[0],c=a[1],d=(0,u.default)({},(0,C.getClassSet)(l),(e={active:n},e[(0,C.prefix)(l,"block")]=r,e)),f=(0,y.default)(o,d);return c.href?this.renderAnchor(c,f):this.renderButton(c,f)},t}(b.default.Component);S.propTypes=T,S.defaultProps=P,t.default=(0,C.bsClass)("btn",(0,C.bsSizes)([O.Size.LARGE,O.Size.SMALL,O.Size.XSMALL],(0,C.bsStyles)([].concat((0,i.default)(O.State),[O.Style.DEFAULT,O.Style.PRIMARY,O.Style.LINK]),O.Style.DEFAULT,S))),e.exports=t.default},function(e,t,n){(function(t){"use strict";function r(e){return"button"===e||"input"===e||"select"===e||"textarea"===e}function o(e,t,n){switch(e){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":return!(!n.disabled||!r(t));default:return!1}}var i=n(15),a=n(121),s=n(192),l=n(196),u=n(330),c=n(331),d=n(12),f={},p=null,h=function(e,t){e&&(s.executeDispatchesInOrder(e,t),e.isPersistent()||e.constructor.release(e))},m=function(e){return h(e,!0)},v=function(e){return h(e,!1)},y=function(e){return"."+e._rootNodeID},g={injection:{injectEventPluginOrder:a.injectEventPluginOrder,injectEventPluginsByName:a.injectEventPluginsByName},putListener:function(e,n,r){"function"!=typeof r?"production"!==t.env.NODE_ENV?d(!1,"Expected %s listener to be a function, instead got type %s",n,typeof r):i("94",n,typeof r):void 0;var o=y(e),s=f[n]||(f[n]={});s[o]=r;var l=a.registrationNameModules[n];l&&l.didPutListener&&l.didPutListener(e,n,r)},getListener:function(e,t){var n=f[t];if(o(t,e._currentElement.type,e._currentElement.props))return null;var r=y(e);return n&&n[r]},deleteListener:function(e,t){var n=a.registrationNameModules[t];n&&n.willDeleteListener&&n.willDeleteListener(e,t);var r=f[t];if(r){var o=y(e);delete r[o]}},deleteAllListeners:function(e){var t=y(e);for(var n in f)if(f.hasOwnProperty(n)&&f[n][t]){var r=a.registrationNameModules[n];r&&r.willDeleteListener&&r.willDeleteListener(e,n),delete f[n][t]}},extractEvents:function(e,t,n,r){for(var o,i=a.plugins,s=0;s0&&void 0!==arguments[0]?arguments[0]:c(),t=arguments[1];switch(t.type){case"LOAD_STATE":return i({},e,{list:t.payload.kettle,config_type:t.payload.controller_types});case"DELETE_KETTLE":return delete e.list[t.id],i({},e,{list:i({},e.list)});case"UPDATE_KETTLE_TARGET_TEMP":return i({},e,{list:i({},e.list,o({},t.payload.id,(0,u.default)(e.list[t.payload.id],{target_temp:{$set:t.payload.target_temp}})))});case"ADD_KETTLE":case"UPDATE_KETTLE":return i({},e,{list:i({},e.list,o({},t.payload.id,t.payload))});default:return e}});t.default=d},function(e,t){e.exports=function(e,t){var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}},function(e,t,n){var r=n(144);e.exports=function(e){return Object(r(e))}},function(e,t){var n=0,r=Math.random();e.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++n+r).toString(36))}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var o=n(42),i=r(o),a=function(){};i.default&&(a=function(){return document.addEventListener?function(e,t,n,r){return e.addEventListener(t,n,r||!1)}:document.attachEvent?function(e,t,n){return e.attachEvent("on"+t,function(t){t=t||window.event,t.target=t.target||t.srcElement,t.currentTarget=e,n.call(e,t)})}:void 0}()),t.default=a,e.exports=t.default},function(e,t){"use strict";function n(e){return e===e.window?e:9===e.nodeType&&(e.defaultView||e.parentWindow)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=n,e.exports=t.default},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t,n){var r="",o="",i=t;if("string"==typeof t){if(void 0===n)return e.style[(0,a.default)(t)]||(0,c.default)(e).getPropertyValue((0,l.default)(t));(i={})[t]=n}Object.keys(i).forEach(function(t){var n=i[t];n||0===n?(0,m.default)(t)?o+=t+"("+n+") ":r+=(0,l.default)(t)+": "+n+";":(0,f.default)(e,(0,l.default)(t))}),o&&(r+=p.transform+": "+o+";"),e.style.cssText+=";"+r}Object.defineProperty(t,"__esModule",{value:!0}),t.default=o;var i=n(259),a=r(i),s=n(519),l=r(s),u=n(514),c=r(u),d=n(515),f=r(d),p=n(159),h=n(516),m=r(h);e.exports=t.default},function(e,t,n){(function(r){function o(){return"undefined"!=typeof document&&"WebkitAppearance"in document.documentElement.style||window.console&&(console.firebug||console.exception&&console.table)||navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31}function i(){var e=arguments,n=this.useColors;if(e[0]=(n?"%c":"")+this.namespace+(n?" %c":" ")+e[0]+(n?"%c ":" ")+"+"+t.humanize(this.diff),!n)return e;var r="color: "+this.color;e=[e[0],r,"color: inherit"].concat(Array.prototype.slice.call(e,1));var o=0,i=0;return e[0].replace(/%[a-z%]/g,function(e){"%%"!==e&&(o++,"%c"===e&&(i=o))}),e.splice(i,0,r),e}function a(){return"object"==typeof console&&console.log&&Function.prototype.apply.call(console.log,console,arguments)}function s(e){try{null==e?t.storage.removeItem("debug"):t.storage.debug=e}catch(e){}}function l(){try{return t.storage.debug}catch(e){}if("undefined"!=typeof r&&"env"in r)return r.env.DEBUG}function u(){try{return window.localStorage}catch(e){}}t=e.exports=n(527),t.log=a,t.formatArgs=i,t.save=s,t.load=l,t.useColors=o,t.storage="undefined"!=typeof chrome&&"undefined"!=typeof chrome.storage?chrome.storage.local:u(),t.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"],t.formatters.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}},t.enable(l())}).call(t,n(2))},function(e,t,n){(function(t){"use strict";var n={};"production"!==t.env.NODE_ENV&&Object.freeze(n),e.exports=n}).call(t,n(2))},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r=t.isBrowser="object"===("undefined"==typeof window?"undefined":n(window))&&"object"===("undefined"==typeof document?"undefined":n(document))&&9===document.nodeType;t.default=r},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var i=Object.assign||function(e){for(var t=1;t` components. To apply a ref to the component use the callback signature:\n\n https://facebook.github.io/react/docs/more-about-refs.html#the-ref-callback-attribute"):void 0:o=(0,q.default)(e.ref,o),(0,w.cloneElement)(e,(0,l.default)({},t,{ref:o,bsClass:(0,Y.prefix)(t,"toggle"),onClick:(0,q.default)(e.props.onClick,this.handleClick),onKeyDown:(0,q.default)(e.props.onKeyDown,this.handleKeyDown)}))},t.prototype.renderMenu=function(e,t){var n=this,o=t.id,i=t.onClose,s=t.onSelect,u=t.rootCloseEvent,c=(0,a.default)(t,["id","onClose","onSelect","rootCloseEvent"]),d=function(e){n.menu=e};return"string"==typeof e.ref?"production"!==r.env.NODE_ENV?(0,B.default)(!1,"String refs are not supported on `` components. To apply a ref to the component use the callback signature:\n\n https://facebook.github.io/react/docs/more-about-refs.html#the-ref-callback-attribute"):void 0:d=(0,q.default)(e.ref,d),(0,w.cloneElement)(e,(0,l.default)({},c,{ref:d,labelledBy:o,bsClass:(0,Y.prefix)(c,"menu"),onClose:(0,q.default)(e.props.onClose,i,this.handleClose),onSelect:(0,q.default)(e.props.onSelect,s,function(e,t){return n.handleClose(t,{source:"select"})}),rootCloseEvent:u}))},t.prototype.render=function(){var e,t=this,n=this.props,r=n.componentClass,o=n.id,i=n.dropup,s=n.disabled,u=n.pullRight,c=n.open,d=n.onClose,f=n.onSelect,p=n.role,h=n.bsClass,m=n.className,y=n.rootCloseEvent,g=n.children,b=(0,a.default)(n,["componentClass","id","dropup","disabled","pullRight","open","onClose","onSelect","role","bsClass","className","rootCloseEvent","children"]);delete b.onToggle;var x=(e={},e[h]=!0,e.open=c,e.disabled=s,e);return i&&(x[h]=!1,x.dropup=!0),C.default.createElement(r,(0,l.default)({},b,{className:(0,v.default)(m,x)}),$.default.map(g,function(e){switch(e.props.bsRole){case J:return t.renderToggle(e,{id:o,disabled:s,open:c,role:p,bsClass:h});case Z:return t.renderMenu(e,{id:o,open:c,pullRight:u,bsClass:h,onClose:d,onSelect:f,rootCloseEvent:y});default:return e}}))},t}(C.default.Component);te.propTypes=Q,te.defaultProps=ee,(0,Y.bsClass)("dropdown",te);var ne=(0,I.default)(te,{open:"onToggle"});ne.Toggle=W.default,ne.Menu=H.default,t.default=ne,e.exports=t.default}).call(t,n(2))},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(4),i=r(o),a=n(5),s=r(a),l=n(7),u=r(l),c=n(6),d=r(c),f=n(8),p=r(f),h=n(1),m=r(h),v=n(3),y=r(v),g=n(343),b=r(g),x={in:y.default.bool,mountOnEnter:y.default.bool,unmountOnExit:y.default.bool,transitionAppear:y.default.bool,timeout:y.default.number,onEnter:y.default.func,onEntering:y.default.func,onEntered:y.default.func,onExit:y.default.func,onExiting:y.default.func,onExited:y.default.func},E={in:!1,timeout:300,mountOnEnter:!1,unmountOnExit:!1,transitionAppear:!1},_=function(e){function t(){return(0,s.default)(this,t),(0,u.default)(this,e.apply(this,arguments))}return(0,d.default)(t,e),t.prototype.render=function(){return m.default.createElement(b.default,(0,i.default)({},this.props,{className:(0,p.default)(this.props.className,"fade"),enteredClassName:"in",enteringClassName:"in"}))},t}(m.default.Component);_.propTypes=x,_.defaultProps=E,t.default=_,e.exports=t.default},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){var n=t.propTypes,r={},o={};return(0,a.default)(e).forEach(function(e){var t=e[0],i=e[1];n[t]?r[t]=i:o[t]=i}),[r,o]}t.__esModule=!0;var i=n(233),a=r(i);t.default=o,e.exports=t.default},function(e,t,n){(function(t){"use strict";function r(){if(l)for(var e in u){var n=u[e],r=l.indexOf(e);if(r>-1?void 0:"production"!==t.env.NODE_ENV?s(!1,"EventPluginRegistry: Cannot inject event plugins that do not exist in the plugin ordering, `%s`.",e):a("96",e),!c.plugins[r]){n.extractEvents?void 0:"production"!==t.env.NODE_ENV?s(!1,"EventPluginRegistry: Event plugins must implement an `extractEvents` method, but `%s` does not.",e):a("97",e),c.plugins[r]=n;var i=n.eventTypes;for(var d in i)o(i[d],n,d)?void 0:"production"!==t.env.NODE_ENV?s(!1,"EventPluginRegistry: Failed to publish event `%s` for plugin `%s`.",d,e):a("98",d,e)}}}function o(e,n,r){c.eventNameDispatchConfigs.hasOwnProperty(r)?"production"!==t.env.NODE_ENV?s(!1,"EventPluginHub: More than one plugin attempted to publish the same event name, `%s`.",r):a("99",r):void 0,c.eventNameDispatchConfigs[r]=e;var o=e.phasedRegistrationNames;if(o){for(var l in o)if(o.hasOwnProperty(l)){var u=o[l];i(u,n,r)}return!0}return!!e.registrationName&&(i(e.registrationName,n,r),!0)}function i(e,n,r){if(c.registrationNameModules[e]?"production"!==t.env.NODE_ENV?s(!1,"EventPluginHub: More than one plugin attempted to publish the same registration name, `%s`.",e):a("100",e):void 0,c.registrationNameModules[e]=n,c.registrationNameDependencies[e]=n.eventTypes[r].dependencies,"production"!==t.env.NODE_ENV){var o=e.toLowerCase();c.possibleRegistrationNames[o]=e,"onDoubleClick"===e&&(c.possibleRegistrationNames.ondblclick=e)}}var a=n(15),s=n(12),l=null,u={},c={plugins:[],eventNameDispatchConfigs:{},registrationNameModules:{},registrationNameDependencies:{},possibleRegistrationNames:"production"!==t.env.NODE_ENV?{}:null,injectEventPluginOrder:function(e){l?"production"!==t.env.NODE_ENV?s(!1,"EventPluginRegistry: Cannot inject event plugin ordering more than once. You are likely trying to load more than one copy of React."):a("101"):void 0,l=Array.prototype.slice.call(e),r()},injectEventPluginsByName:function(e){var n=!1;for(var o in e)if(e.hasOwnProperty(o)){var i=e[o];u.hasOwnProperty(o)&&u[o]===i||(u[o]?"production"!==t.env.NODE_ENV?s(!1,"EventPluginRegistry: Cannot inject two different event plugins using the same name, `%s`.",o):a("102",o):void 0,u[o]=i,n=!0)}n&&r()},getPluginModuleForEvent:function(e){var t=e.dispatchConfig;if(t.registrationName)return c.registrationNameModules[t.registrationName]||null;if(void 0!==t.phasedRegistrationNames){var n=t.phasedRegistrationNames;for(var r in n)if(n.hasOwnProperty(r)){var o=c.registrationNameModules[n[r]];if(o)return o}}return null},_resetEventPlugins:function(){l=null;for(var e in u)u.hasOwnProperty(e)&&delete u[e];c.plugins.length=0;var n=c.eventNameDispatchConfigs;for(var r in n)n.hasOwnProperty(r)&&delete n[r];var o=c.registrationNameModules;for(var i in o)o.hasOwnProperty(i)&&delete o[i];if("production"!==t.env.NODE_ENV){var a=c.possibleRegistrationNames;for(var s in a)a.hasOwnProperty(s)&&delete a[s]}}};e.exports=c}).call(t,n(2))},function(e,t,n){"use strict";function r(e){return Object.prototype.hasOwnProperty.call(e,m)||(e[m]=p++,d[e[m]]={}),d[e[m]]}var o,i=n(19),a=n(121),s=n(815),l=n(329),u=n(850),c=n(202),d={},f=!1,p=0,h={topAbort:"abort",topAnimationEnd:u("animationend")||"animationend",topAnimationIteration:u("animationiteration")||"animationiteration",topAnimationStart:u("animationstart")||"animationstart",topBlur:"blur",topCanPlay:"canplay",topCanPlayThrough:"canplaythrough",topChange:"change",topClick:"click",topCompositionEnd:"compositionend",topCompositionStart:"compositionstart",topCompositionUpdate:"compositionupdate",topContextMenu:"contextmenu",topCopy:"copy",topCut:"cut",topDoubleClick:"dblclick",topDrag:"drag",topDragEnd:"dragend",topDragEnter:"dragenter",topDragExit:"dragexit",topDragLeave:"dragleave",topDragOver:"dragover",topDragStart:"dragstart",topDrop:"drop",topDurationChange:"durationchange",topEmptied:"emptied",topEncrypted:"encrypted",topEnded:"ended",topError:"error",topFocus:"focus",topInput:"input",topKeyDown:"keydown",topKeyPress:"keypress",topKeyUp:"keyup",topLoadedData:"loadeddata",topLoadedMetadata:"loadedmetadata",topLoadStart:"loadstart",topMouseDown:"mousedown",topMouseMove:"mousemove",topMouseOut:"mouseout",topMouseOver:"mouseover",topMouseUp:"mouseup",topPaste:"paste",topPause:"pause",topPlay:"play",topPlaying:"playing",topProgress:"progress",topRateChange:"ratechange",topScroll:"scroll",topSeeked:"seeked",topSeeking:"seeking",topSelectionChange:"selectionchange",topStalled:"stalled",topSuspend:"suspend",topTextInput:"textInput",topTimeUpdate:"timeupdate",topTouchCancel:"touchcancel",topTouchEnd:"touchend",topTouchMove:"touchmove",topTouchStart:"touchstart",topTransitionEnd:u("transitionend")||"transitionend",topVolumeChange:"volumechange",topWaiting:"waiting",topWheel:"wheel"},m="_reactListenersID"+String(Math.random()).slice(2),v=i({},s,{ReactEventListener:null,injection:{injectReactEventListener:function(e){e.setHandleTopLevel(v.handleTopLevel),v.ReactEventListener=e}},setEnabled:function(e){v.ReactEventListener&&v.ReactEventListener.setEnabled(e)},isEnabled:function(){return!(!v.ReactEventListener||!v.ReactEventListener.isEnabled())},listenTo:function(e,t){for(var n=t,o=r(n),i=a.registrationNameDependencies[e],s=0;s]/;e.exports=r},function(e,t,n){"use strict";var r,o=n(22),i=n(191),a=/^[ \r\n\t\f]/,s=/<(!--|link|noscript|meta|script|style)[ \r\n\t\f\/>]/,l=n(198),u=l(function(e,t){if(e.namespaceURI!==i.svg||"innerHTML"in e)e.innerHTML=t;else{r=r||document.createElement("div"),r.innerHTML=""+t+"";for(var n=r.firstChild;n.firstChild;)e.appendChild(n.firstChild)}});if(o.canUseDOM){var c=document.createElement("div");c.innerHTML=" ",""===c.innerHTML&&(u=function(e,t){if(e.parentNode&&e.parentNode.replaceChild(e,e),a.test(t)||"<"===t[0]&&s.test(t)){e.innerHTML=String.fromCharCode(65279)+t;var n=e.firstChild;1===n.data.length?e.removeChild(n):n.deleteData(0,1)}else e.innerHTML=t}),c=null}e.exports=u},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(){function e(){for(var e=arguments.length,t=Array(e),r=0;r>",s=i||n;if(null==t[n])return new Error("The "+o+" `"+s+"` is required to make "+("`"+a+"` accessible for users of assistive ")+"technologies such as screen readers.");for(var l=arguments.length,u=Array(l>5?l-5:0),c=5;c>",l=a||r;if(null==n[r])return t?new Error("Required "+i+" `"+l+"` was not specified "+("in `"+s+"`.")):null;for(var u=arguments.length,c=Array(u>6?u-6:0),d=6;d=r.length)for(var o=n-r.length;o--+1;)r.push(void 0);return r.splice(n,0,r.splice(t,1)[0]),r}function r(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;rt?t:n}function a(e){return"px"===e.substr(-2)?parseFloat(e):0}function s(e){var t=window.getComputedStyle(e);return{top:a(t.marginTop),right:a(t.marginRight),bottom:a(t.marginBottom),left:a(t.marginLeft)}}function l(e,t){var n=t.displayName||t.name;return n?e+"("+n+")":e}Object.defineProperty(t,"__esModule",{value:!0}),t.arrayMove=n,t.omit=r,t.closest=o,t.limit=i,t.getElementMargin=s,t.provideDisplayName=l;t.events={start:["touchstart","mousedown"],move:["touchmove","mousemove"],end:["touchend","touchcancel","mouseup"]},t.vendorPrefix=function(){if("undefined"==typeof window||"undefined"==typeof document)return"";var e=window.getComputedStyle(document.documentElement,"")||["-moz-hidden-iframe"],t=(Array.prototype.slice.call(e).join("").match(/-(moz|webkit|ms)-/)||""===e.OLink&&["","o"])[1];switch(t){case"ms":return"ms";default:return t&&t.length?t[0].toUpperCase()+t.substr(1):""}}()},function(e,t,n){(function(t){"use strict";var n=!1;if("production"!==t.env.NODE_ENV)try{Object.defineProperty({},"x",{get:function(){}}),n=!0}catch(e){}e.exports=n}).call(t,n(2))},function(e,t,n){(function(r){function o(){return"undefined"!=typeof document&&"WebkitAppearance"in document.documentElement.style||window.console&&(console.firebug||console.exception&&console.table)||navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31}function i(){var e=arguments,n=this.useColors;if(e[0]=(n?"%c":"")+this.namespace+(n?" %c":" ")+e[0]+(n?"%c ":" ")+"+"+t.humanize(this.diff),!n)return e;var r="color: "+this.color;e=[e[0],r,"color: inherit"].concat(Array.prototype.slice.call(e,1));var o=0,i=0;return e[0].replace(/%[a-z%]/g,function(e){"%%"!==e&&(o++,"%c"===e&&(i=o))}),e.splice(i,0,r),e}function a(){return"object"==typeof console&&console.log&&Function.prototype.apply.call(console.log,console,arguments)}function s(e){try{null==e?t.storage.removeItem("debug"):t.storage.debug=e}catch(e){}}function l(){try{return t.storage.debug}catch(e){}if("undefined"!=typeof r&&"env"in r)return r.env.DEBUG}function u(){try{return window.localStorage}catch(e){}}t=e.exports=n(926),t.log=a,t.formatArgs=i,t.save=s,t.load=l,t.useColors=o,t.storage="undefined"!=typeof chrome&&"undefined"!=typeof chrome.storage?chrome.storage.local:u(),t.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"],t.formatters.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}},t.enable(l())}).call(t,n(2))},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t,n,r,o){n&&(e._notifying=!0,n.call.apply(n,[e,r].concat(o)),e._notifying=!1),e._values[t]=r,e.unmounted||e.forceUpdate()}t.__esModule=!0;var i=n(939),a=r(i),s={shouldComponentUpdate:function(){return!this._notifying}};t.default=(0,a.default)(s,o),e.exports=t.default},function(e,t,n){(function(t){"use strict";function r(e,t){!i.isUndefined(e)&&i.isUndefined(e["Content-Type"])&&(e["Content-Type"]=t)}function o(){var e;return"undefined"!=typeof XMLHttpRequest?e=n(214):"undefined"!=typeof t&&(e=n(214)),e}var i=n(30),a=n(386),s={"Content-Type":"application/x-www-form-urlencoded"},l={adapter:o(),transformRequest:[function(e,t){return a(t,"Content-Type"),i.isFormData(e)||i.isArrayBuffer(e)||i.isBuffer(e)||i.isStream(e)||i.isFile(e)||i.isBlob(e)?e:i.isArrayBufferView(e)?e.buffer:i.isURLSearchParams(e)?(r(t,"application/x-www-form-urlencoded;charset=utf-8"),e.toString()):i.isObject(e)?(r(t,"application/json;charset=utf-8"),JSON.stringify(e)):e}],transformResponse:[function(e){if("string"==typeof e)try{e=JSON.parse(e)}catch(e){}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,validateStatus:function(e){return e>=200&&e<300}};l.headers={common:{Accept:"application/json, text/plain, */*"}},i.forEach(["delete","get","head"],function(e){l.headers[e]={}}),i.forEach(["post","put","patch"],function(e){l.headers[e]=i.merge(s)}),e.exports=l}).call(t,n(2))},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var o=n(11),i=n(26),a=r(i),s=n(47),l=function(e,t){return{title:"Actor Modal",bsSize:"large",form:[{label:"Name",name:"name",type:"text"},{label:"Hide on Dashboard",name:"hide",type:"checkbox"},{label:"Type",clear_config:!0,name:"type",type:"select",options:Object.keys(e.actor.config_type)}],types:e.actor.config_type,configfield:"type"}},u=function(e,t){return{btn_save:function(t){return e((0,s.save)(t)),!0},btn_add:function(t){return e((0,s.add)(t)),!0},btn_delete:function(t){return e((0,s.remove)(t)),!0}}},c=(0,o.connect)(l,u,null,{withRef:!0})(a.default);t.default=c},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var o=n(1),i=r(o),a=n(11),s=n(26),l=r(s),u=n(47),c=(n(20),{0:i.default.createElement("strong",null,"0%"),25:"25%",50:"50%",75:"75%",100:{style:{color:"red"},label:i.default.createElement("strong",null,"100%")}}),d=function(e,t){return{title:t.actor_name?"Power for "+t.actor_name:"Power for Actor",form:[{label:"Power",name:"power",type:"slider",min:0,max:100,marks:c}]}},f=function(e,t){return{btn_save:function(n){return e((0,u.set_power)(t.actor_id,n.power)),!0},btn_add:function(e){return!0},btn_delete:function(e){return!0}}};t.default=(0,a.connect)(d,f,null,{withRef:!0})(l.default)},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var s=function(){function e(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:s(),t=arguments[1];switch(t.type){case"UPDATE_FILES":return o({},e,{files:t.payload});case"SENSOR_DATA_LOADED":return o({},e,{chart_config:o({},e.chart_config,{series:t.payload})});case"UPDATE_ACTIONS":return o({},e,{chart_config:o({},e.chart_config,{xAxis:o({},e.chart_config.xAxis,{plotLines:t.payload})})});default:return e}});t.default=u},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var o=n(11),i=n(26),a=r(i),s=n(60),l=function(e,t){return{title:"Sensor Modal",bsSize:"large",form:[{label:"Name",name:"name",type:"text"},{label:"Hide on Dashboard",name:"hide",type:"checkbox"},{label:"Type",clear_config:!0,name:"type",type:"select",options:Object.keys(e.sensor.config_type)}],types:e.sensor.config_type,configfield:"type"}},u=function(e,t,n){return{btn_save:function(t){return e((0,s.save)(t)),!0},btn_add:function(t){return e((0,s.add)(t)),!0},btn_delete:function(t){return e((0,s.remove)(t)),!0}}},c=(0,o.connect)(l,u,null,{withRef:!0})(a.default);t.default=c},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var o=n(1),i=(r(o),n(11)),a=n(26),s=r(a),l=n(20),u=function(e,t){return{title:"Brew Name",form:[{label:"Brew Name",name:"name",type:"text"}]}},c=function(e,t){return{btn_save:function(t){return e((0,l.save)({name:"brew_name",value:t.name})),!0},btn_add:function(e){return!0},btn_delete:function(e){return!0}}},d=(0,i.connect)(u,c,null,{withRef:!0})(s.default);t.default=d},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var o=n(11),i=n(427),a=r(i),s=n(52),l=n(79),u=r(l),c=n(1),d=r(c),f=function(e){switch(e.state){case"D":return d.default.createElement("i",{className:"fa fa-check"});case"A":return d.default.createElement("i",{className:"fa fa-circle-o-notch fa-spin"});default:return}},p=function(e,t){return{modal:function(){return d.default.createElement(u.default,{remove:!0,save:!0,ref:"modal"})},columns:[{label:"Name",name:"name"},{label:"Type",name:"type"},{label:"State",name:"state",render:f},{label:"Start",render:function(e){return e.start?new Date(1e3*e.start).toLocaleTimeString():void 0}},{label:"End",render:function(e){return e.end?new Date(1e3*e.end).toLocaleTimeString():void 0}}],data:e.steps.list}},h=function(e,t,n){return{sort_step:function(t){e((0,s.sort_steps)(t))}}},m=(0,o.connect)(p,h,null,{withRef:!0})(a.default);t.default=m},function(e,t){var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},function(e,t,n){var r=n(454);e.exports=function(e,t,n){if(r(e),void 0===t)return e;switch(n){case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,o){return e.call(t,n,r,o)}}return function(){return e.apply(t,arguments)}}},function(e,t){e.exports=function(e){if(void 0==e)throw TypeError("Can't call method on "+e);return e}},function(e,t){e.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(e,t){e.exports=!0},function(e,t,n){var r=n(64),o=n(470),i=n(145),a=n(151)("IE_PROTO"),s=function(){},l="prototype",u=function(){var e,t=n(237)("iframe"),r=i.length,o="<",a=">";for(t.style.display="none",n(460).appendChild(t),t.src="javascript:",e=t.contentWindow.document,e.open(),e.write(o+"script"+a+"document.F=Object"+o+"/script"+a),e.close(),u=e.F;r--;)delete u[l][i[r]];return u()};e.exports=Object.create||function(e,t){var n;return null!==e?(s[l]=r(e),n=new s,s[l]=null,n[a]=e):n=u(),void 0===t?n:o(n,t)}},function(e,t,n){var r=n(84),o=n(85),i=n(41),a=n(154),s=n(54),l=n(238),u=Object.getOwnPropertyDescriptor;t.f=n(53)?u:function(e,t){if(e=i(e),t=a(t,!0),l)try{return u(e,t)}catch(e){}if(s(e,t))return o(!r.f.call(e,t),e[t])}},function(e,t){t.f=Object.getOwnPropertySymbols},function(e,t,n){var r=n(49).f,o=n(54),i=n(37)("toStringTag");e.exports=function(e,t,n){e&&!o(e=n?e:e.prototype,i)&&r(e,i,{configurable:!0,value:t})}},function(e,t,n){var r=n(152)("keys"),o=n(103);e.exports=function(e){return r[e]||(r[e]=o(e))}},function(e,t,n){var r=n(48),o="__core-js_shared__",i=r[o]||(r[o]={});e.exports=function(e){return i[e]||(i[e]={})}},function(e,t){var n=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:n)(e)}},function(e,t,n){var r=n(82);e.exports=function(e,t){if(!r(e))return e;var n,o;if(t&&"function"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;if("function"==typeof(n=e.valueOf)&&!r(o=n.call(e)))return o;if(!t&&"function"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;throw TypeError("Can't convert object to primitive value")}},function(e,t,n){var r=n(48),o=n(25),i=n(146),a=n(156),s=n(49).f;e.exports=function(e){var t=o.Symbol||(o.Symbol=i?{}:r.Symbol||{});"_"==e.charAt(0)||e in t||s(t,e,{value:a.f(e)})}},function(e,t,n){t.f=n(37)},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var o=n(109),i=r(o),a="",s="";if(i.default){var l={Moz:"-moz-",ms:"-ms-",O:"-o-",Webkit:"-webkit-"},u=document.createElement("p").style,c="Transform";for(var d in l)if(d+c in u){a=d,s=l[d];break}}t.default={js:a,css:s}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var o=n(42),i=r(o),a=function(){};i.default&&(a=function(){return document.addEventListener?function(e,t,n,r){return e.removeEventListener(t,n,r||!1)}:document.attachEvent?function(e,t,n){return e.detachEvent("on"+t,n)}:void 0}()),t.default=a,e.exports=t.default},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(){for(var e=document.createElement("div").style,t={O:function(e){return"o"+e.toLowerCase()},Moz:function(e){return e.toLowerCase()},Webkit:function(e){return"webkit"+e},ms:function(e){return"MS"+e}},n=Object.keys(t),r=void 0,o=void 0,i="",a=0;a2&&void 0!==arguments[2]?arguments[2]:{},r="";if(!t)return r;var i=n.indent,a=void 0===i?0:i,l=t.fallbacks;if(a++,l)if(Array.isArray(l))for(var u=0;u>",s=i||n;if(null==t[n])return new Error("The "+o+" `"+s+"` is required to make "+("`"+a+"` accessible for users of assistive ")+"technologies such as screen readers.");for(var l=arguments.length,u=Array(l>5?l-5:0),c=5;c>",l=a||r;if(null==n[r])return t?new Error("Required "+i+" `"+l+"` was not specified "+("in `"+s+"`.")):null;for(var u=arguments.length,c=Array(u>6?u-6:0),d=6;d=r.length)for(var o=n-r.length;o--+1;)r.push(void 0);return r.splice(n,0,r.splice(t,1)[0]),r}function r(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;rt?t:n}function a(e){return"px"===e.substr(-2)?parseFloat(e):0}function s(e){var t=window.getComputedStyle(e);return{top:a(t.marginTop),right:a(t.marginRight),bottom:a(t.marginBottom),left:a(t.marginLeft)}}function l(e,t){var n=t.displayName||t.name;return n?e+"("+n+")":e}Object.defineProperty(t,"__esModule",{value:!0}),t.arrayMove=n,t.omit=r,t.closest=o,t.limit=i,t.getElementMargin=s,t.provideDisplayName=l;t.events={start:["touchstart","mousedown"],move:["touchmove","mousemove"],end:["touchend","touchcancel","mouseup"]},t.vendorPrefix=function(){if("undefined"==typeof window||"undefined"==typeof document)return"";var e=window.getComputedStyle(document.documentElement,"")||["-moz-hidden-iframe"],t=(Array.prototype.slice.call(e).join("").match(/-(moz|webkit|ms)-/)||""===e.OLink&&["","o"])[1];switch(t){case"ms":return"ms";default:return t&&t.length?t[0].toUpperCase()+t.substr(1):""}}()},function(e,t,n){(function(t){"use strict";var n=!1;if("production"!==t.env.NODE_ENV)try{Object.defineProperty({},"x",{get:function(){}}),n=!0}catch(e){}e.exports=n}).call(t,n(2))},function(e,t,n){(function(r){function o(){return"undefined"!=typeof document&&"WebkitAppearance"in document.documentElement.style||window.console&&(console.firebug||console.exception&&console.table)||navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31}function i(){var e=arguments,n=this.useColors;if(e[0]=(n?"%c":"")+this.namespace+(n?" %c":" ")+e[0]+(n?"%c ":" ")+"+"+t.humanize(this.diff),!n)return e;var r="color: "+this.color;e=[e[0],r,"color: inherit"].concat(Array.prototype.slice.call(e,1));var o=0,i=0;return e[0].replace(/%[a-z%]/g,function(e){"%%"!==e&&(o++,"%c"===e&&(i=o))}),e.splice(i,0,r),e}function a(){return"object"==typeof console&&console.log&&Function.prototype.apply.call(console.log,console,arguments)}function s(e){try{null==e?t.storage.removeItem("debug"):t.storage.debug=e}catch(e){}}function l(){try{return t.storage.debug}catch(e){}if("undefined"!=typeof r&&"env"in r)return r.env.DEBUG}function u(){try{return window.localStorage}catch(e){}}t=e.exports=n(926),t.log=a,t.formatArgs=i,t.save=s,t.load=l,t.useColors=o,t.storage="undefined"!=typeof chrome&&"undefined"!=typeof chrome.storage?chrome.storage.local:u(),t.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"],t.formatters.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}},t.enable(l())}).call(t,n(2))},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t,n,r,o){n&&(e._notifying=!0,n.call.apply(n,[e,r].concat(o)),e._notifying=!1),e._values[t]=r,e.unmounted||e.forceUpdate()}t.__esModule=!0;var i=n(939),a=r(i),s={shouldComponentUpdate:function(){return!this._notifying}};t.default=(0,a.default)(s,o),e.exports=t.default},function(e,t,n){(function(t){"use strict";function r(e,t){!i.isUndefined(e)&&i.isUndefined(e["Content-Type"])&&(e["Content-Type"]=t)}function o(){var e;return"undefined"!=typeof XMLHttpRequest?e=n(214):"undefined"!=typeof t&&(e=n(214)),e}var i=n(30),a=n(386),s={"Content-Type":"application/x-www-form-urlencoded"},l={adapter:o(),transformRequest:[function(e,t){return a(t,"Content-Type"),i.isFormData(e)||i.isArrayBuffer(e)||i.isBuffer(e)||i.isStream(e)||i.isFile(e)||i.isBlob(e)?e:i.isArrayBufferView(e)?e.buffer:i.isURLSearchParams(e)?(r(t,"application/x-www-form-urlencoded;charset=utf-8"),e.toString()):i.isObject(e)?(r(t,"application/json;charset=utf-8"),JSON.stringify(e)):e}],transformResponse:[function(e){if("string"==typeof e)try{e=JSON.parse(e)}catch(e){}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,validateStatus:function(e){return e>=200&&e<300}};l.headers={common:{Accept:"application/json, text/plain, */*"}},i.forEach(["delete","get","head"],function(e){l.headers[e]={}}),i.forEach(["post","put","patch"],function(e){l.headers[e]=i.merge(s)}),e.exports=l}).call(t,n(2))},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var o=n(11),i=n(26),a=r(i),s=n(47),l=function(e,t){return{title:"Actor Modal",bsSize:"large",form:[{label:"Name",name:"name",type:"text"},{label:"Hide on Dashboard",name:"hide",type:"checkbox"},{label:"Type",clear_config:!0,name:"type",type:"select",options:Object.keys(e.actor.config_type)}],types:e.actor.config_type,configfield:"type",actors:e.actor.actors,sensors:e.sensor.sensors,kettle:e.kettle.list}},u=function(e,t){return{btn_save:function(t){return e((0,s.save)(t)),!0},btn_add:function(t){return e((0,s.add)(t)),!0},btn_delete:function(t){return e((0,s.remove)(t)),!0}}},c=(0,o.connect)(l,u,null,{withRef:!0})(a.default);t.default=c},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var o=n(1),i=r(o),a=n(11),s=n(26),l=r(s),u=n(47),c=(n(20),{0:i.default.createElement("strong",null,"0%"),25:"25%",50:"50%",75:"75%",100:{style:{color:"red"},label:i.default.createElement("strong",null,"100%")}}),d=function(e,t){return{title:t.actor_name?"Power for "+t.actor_name:"Power for Actor",form:[{label:"Power",name:"power",type:"slider",min:0,max:100,marks:c}]}},f=function(e,t){return{btn_save:function(n){return e((0,u.set_power)(t.actor_id,n.power)),!0},btn_add:function(e){return!0},btn_delete:function(e){return!0}}};t.default=(0,a.connect)(d,f,null,{withRef:!0})(l.default)},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var s=function(){function e(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:s(),t=arguments[1];switch(t.type){case"UPDATE_FILES":return o({},e,{files:t.payload});case"SENSOR_DATA_LOADED":return o({},e,{chart_config:o({},e.chart_config,{series:t.payload})});case"UPDATE_ACTIONS":return o({},e,{chart_config:o({},e.chart_config,{xAxis:o({},e.chart_config.xAxis,{plotLines:t.payload})})});default:return e}});t.default=u},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var o=n(11),i=n(26),a=r(i),s=n(60),l=function(e,t){return{title:"Sensor Modal",bsSize:"large",form:[{label:"Name",name:"name",type:"text"},{label:"Hide on Dashboard",name:"hide",type:"checkbox"},{label:"Type",clear_config:!0,name:"type",type:"select",options:Object.keys(e.sensor.config_type)}],types:e.sensor.config_type,configfield:"type",actors:e.actor.actors,sensors:e.sensor.sensors,kettle:e.kettle.list}},u=function(e,t,n){return{btn_save:function(t){return e((0,s.save)(t)),!0},btn_add:function(t){return e((0,s.add)(t)),!0},btn_delete:function(t){return e((0,s.remove)(t)),!0}}},c=(0,o.connect)(l,u,null,{withRef:!0})(a.default);t.default=c},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var o=n(1),i=(r(o),n(11)),a=n(26),s=r(a),l=n(20),u=function(e,t){return{title:"Brew Name",form:[{label:"Brew Name",name:"name",type:"text"}]}},c=function(e,t){return{btn_save:function(t){return e((0,l.save)({name:"brew_name",value:t.name})),!0},btn_add:function(e){return!0},btn_delete:function(e){return!0}}},d=(0,i.connect)(u,c,null,{withRef:!0})(s.default);t.default=d},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var o=n(11),i=n(427),a=r(i),s=n(52),l=n(79),u=r(l),c=n(1),d=r(c),f=function(e){switch(e.state){case"D":return d.default.createElement("i",{className:"fa fa-check"});case"A":return d.default.createElement("i",{className:"fa fa-circle-o-notch fa-spin"});default:return}},p=function(e,t){return{modal:function(){return d.default.createElement(u.default,{remove:!0,save:!0,ref:"modal"})},columns:[{label:"Name",name:"name"},{label:"Type",name:"type"},{label:"State",name:"state",render:f},{label:"Start",render:function(e){return e.start?new Date(1e3*e.start).toLocaleTimeString():void 0}},{label:"End",render:function(e){return e.end?new Date(1e3*e.end).toLocaleTimeString():void 0}}],data:e.steps.list}},h=function(e,t,n){return{sort_step:function(t){e((0,s.sort_steps)(t))}}},m=(0,o.connect)(p,h,null,{withRef:!0})(a.default);t.default=m},function(e,t){var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},function(e,t,n){var r=n(454);e.exports=function(e,t,n){if(r(e),void 0===t)return e;switch(n){case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,o){return e.call(t,n,r,o)}}return function(){return e.apply(t,arguments)}}},function(e,t){e.exports=function(e){if(void 0==e)throw TypeError("Can't call method on "+e);return e}},function(e,t){e.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(e,t){e.exports=!0},function(e,t,n){var r=n(64),o=n(470),i=n(145),a=n(151)("IE_PROTO"),s=function(){},l="prototype",u=function(){var e,t=n(237)("iframe"),r=i.length,o="<",a=">";for(t.style.display="none",n(460).appendChild(t),t.src="javascript:",e=t.contentWindow.document,e.open(),e.write(o+"script"+a+"document.F=Object"+o+"/script"+a),e.close(),u=e.F;r--;)delete u[l][i[r]];return u()};e.exports=Object.create||function(e,t){var n;return null!==e?(s[l]=r(e),n=new s,s[l]=null,n[a]=e):n=u(),void 0===t?n:o(n,t)}},function(e,t,n){var r=n(84),o=n(85),i=n(41),a=n(154),s=n(54),l=n(238),u=Object.getOwnPropertyDescriptor;t.f=n(53)?u:function(e,t){if(e=i(e),t=a(t,!0),l)try{return u(e,t)}catch(e){}if(s(e,t))return o(!r.f.call(e,t),e[t])}},function(e,t){t.f=Object.getOwnPropertySymbols},function(e,t,n){var r=n(49).f,o=n(54),i=n(37)("toStringTag");e.exports=function(e,t,n){e&&!o(e=n?e:e.prototype,i)&&r(e,i,{configurable:!0,value:t})}},function(e,t,n){var r=n(152)("keys"),o=n(103);e.exports=function(e){return r[e]||(r[e]=o(e))}},function(e,t,n){var r=n(48),o="__core-js_shared__",i=r[o]||(r[o]={});e.exports=function(e){return i[e]||(i[e]={})}},function(e,t){var n=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:n)(e)}},function(e,t,n){var r=n(82);e.exports=function(e,t){if(!r(e))return e;var n,o;if(t&&"function"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;if("function"==typeof(n=e.valueOf)&&!r(o=n.call(e)))return o;if(!t&&"function"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;throw TypeError("Can't convert object to primitive value")}},function(e,t,n){var r=n(48),o=n(25),i=n(146),a=n(156),s=n(49).f;e.exports=function(e){var t=o.Symbol||(o.Symbol=i?{}:r.Symbol||{});"_"==e.charAt(0)||e in t||s(t,e,{value:a.f(e)})}},function(e,t,n){t.f=n(37)},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var o=n(109),i=r(o),a="",s="";if(i.default){var l={Moz:"-moz-",ms:"-ms-",O:"-o-",Webkit:"-webkit-"},u=document.createElement("p").style,c="Transform";for(var d in l)if(d+c in u){a=d,s=l[d];break}}t.default={js:a,css:s}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var o=n(42),i=r(o),a=function(){};i.default&&(a=function(){return document.addEventListener?function(e,t,n,r){return e.removeEventListener(t,n,r||!1)}:document.attachEvent?function(e,t,n){return e.detachEvent("on"+t,n)}:void 0}()),t.default=a,e.exports=t.default},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(){for(var e=document.createElement("div").style,t={O:function(e){return"o"+e.toLowerCase()},Moz:function(e){return e.toLowerCase()},Webkit:function(e){return"webkit"+e},ms:function(e){return"MS"+e}},n=Object.keys(t),r=void 0,o=void 0,i="",a=0;a2&&void 0!==arguments[2]?arguments[2]:{},r="";if(!t)return r;var i=n.indent,a=void 0===i?0:i,l=t.fallbacks;if(a++,l)if(Array.isArray(l))for(var u=0;u-1&&e%1==0&&e-1&&e%1==0&&e<=r}var r=9007199254740991;e.exports=n},function(e,t,n){function r(e){if(!a(e)||o(e)!=s)return!1;var t=i(e);if(null===t)return!0;var n=d.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&c.call(n)==f}var o=n(71),i=n(631),a=n(72),s="[object Object]",l=Function.prototype,u=Object.prototype,c=l.toString,d=u.hasOwnProperty,f=c.call(Object);e.exports=r},function(e,t){t.encode=function(e){var t="";for(var n in e)e.hasOwnProperty(n)&&(t.length&&(t+="&"),t+=encodeURIComponent(n)+"="+encodeURIComponent(e[n]));return t},t.decode=function(e){for(var t={},n=e.split("&"),r=0,o=n.length;rr}function a(e){return e.touches.length>1||"touchend"===e.type.toLowerCase()&&e.touches.length>0}function s(e,t){var n=t.marks,r=t.step,o=t.min,i=Object.keys(n).map(parseFloat);if(null!==r){var a=Math.round((e-o)/r)*r+o;i.push(a)}var s=i.map(function(t){return Math.abs(e-t)});return i[s.indexOf(Math.min.apply(Math,(0,v.default)(s)))]}function l(e){var t=e.toString(),n=0;return t.indexOf(".")>=0&&(n=t.length-t.indexOf(".")-1),n}function u(e,t){return e?t.clientY:t.pageX}function c(e,t){return e?t.touches[0].clientY:t.touches[0].pageX}function d(e,t){var n=t.getBoundingClientRect();return e?n.top+.5*n.height:n.left+.5*n.width}function f(e,t){var n=t.max,r=t.min;return e<=r?r:e>=n?n:e}function p(e,t){var n=t.step,r=s(e,t);return null===n?r:parseFloat(r.toFixed(l(n)))}function h(e){e.stopPropagation(),e.preventDefault()}Object.defineProperty(t,"__esModule",{value:!0});var m=n(234),v=r(m);t.isEventFromHandle=o,t.isValueOutOfRange=i,t.isNotTouchEvent=a,t.getClosestPoint=s,t.getPrecision=l,t.getMousePosition=u,t.getTouchPosition=c,t.getHandleCenterPosition=d,t.ensureValueInRange=f,t.ensureValuePrecision=p,t.pauseEvent=h;var y=n(18)},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t,n){var r=l.default.unstable_batchedUpdates?function(e){l.default.unstable_batchedUpdates(n,e)}:n;return(0,a.default)(e,t,r)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=o;var i=n(369),a=r(i),s=n(18),l=r(s);e.exports=t.default},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){e.offsetHeight}function i(e,t){var n=t["offset"+(0,N.default)(e)],r=S[e];return n+parseInt((0,b.default)(t,r[0]),10)+parseInt((0,b.default)(t,r[1]),10)}t.__esModule=!0;var a=n(4),s=r(a),l=n(9),u=r(l),c=n(5),d=r(c),f=n(7),p=r(f),h=n(6),m=r(h),v=n(8),y=r(v),g=n(106),b=r(g),x=n(1),E=r(x),_=n(3),w=r(_),C=n(343),O=r(C),k=n(315),N=r(k),T=n(23),P=r(T),S={height:["marginTop","marginBottom"],width:["marginLeft","marginRight"]},M={in:w.default.bool,mountOnEnter:w.default.bool,unmountOnExit:w.default.bool,transitionAppear:w.default.bool,timeout:w.default.number,onEnter:w.default.func,onEntering:w.default.func,onEntered:w.default.func,onExit:w.default.func,onExiting:w.default.func,onExited:w.default.func,dimension:w.default.oneOfType([w.default.oneOf(["height","width"]),w.default.func]),getDimensionValue:w.default.func,role:w.default.string},A={in:!1,timeout:300,mountOnEnter:!1,unmountOnExit:!1,transitionAppear:!1,dimension:"height",getDimensionValue:i},D=function(e){function t(n,r){(0,d.default)(this,t);var o=(0,p.default)(this,e.call(this,n,r));return o.handleEnter=o.handleEnter.bind(o),o.handleEntering=o.handleEntering.bind(o),o.handleEntered=o.handleEntered.bind(o),o.handleExit=o.handleExit.bind(o),o.handleExiting=o.handleExiting.bind(o),o}return(0,m.default)(t,e),t.prototype.handleEnter=function(e){var t=this._dimension();e.style[t]="0"},t.prototype.handleEntering=function(e){var t=this._dimension();e.style[t]=this._getScrollDimensionValue(e,t)},t.prototype.handleEntered=function(e){var t=this._dimension();e.style[t]=null},t.prototype.handleExit=function(e){var t=this._dimension();e.style[t]=this.props.getDimensionValue(t,e)+"px",o(e)},t.prototype.handleExiting=function(e){var t=this._dimension();e.style[t]="0"},t.prototype._dimension=function(){return"function"==typeof this.props.dimension?this.props.dimension():this.props.dimension},t.prototype._getScrollDimensionValue=function(e,t){return e["scroll"+(0,N.default)(t)]+"px"},t.prototype.render=function(){var e=this.props,t=e.onEnter,n=e.onEntering,r=e.onEntered,o=e.onExit,i=e.onExiting,a=e.className,l=(0,u.default)(e,["onEnter","onEntering","onEntered","onExit","onExiting","className"]);delete l.dimension,delete l.getDimensionValue;var c=(0,P.default)(this.handleEnter,t),d=(0,P.default)(this.handleEntering,n),f=(0,P.default)(this.handleEntered,r),p=(0,P.default)(this.handleExit,o),h=(0,P.default)(this.handleExiting,i),m={width:"width"===this._dimension()};return E.default.createElement(O.default,(0,s.default)({},l,{"aria-expanded":l.role?l.in:null,className:(0,y.default)(a,m),exitedClassName:"collapse",exitingClassName:"collapsing",enteredClassName:"collapse in",enteringClassName:"collapsing",onEnter:c,onEntering:d,onEntered:f,onExit:p,onExiting:h}))},t}(E.default.Component);D.propTypes=M,D.defaultProps=A,t.default=D,e.exports=t.default},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(4),i=r(o),a=n(9),s=r(a),l=n(5),u=r(l),c=n(7),d=r(c),f=n(6),p=r(f),h=n(8),m=r(h),v=n(1),y=r(v),g=n(3),b=r(g),x=n(10),E={glyph:b.default.string.isRequired},_=function(e){function t(){return(0,u.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e,t=this.props,n=t.glyph,r=t.className,o=(0,s.default)(t,["glyph","className"]),a=(0,x.splitBsProps)(o),l=a[0],u=a[1],c=(0,i.default)({},(0,x.getClassSet)(l),(e={},e[(0,x.prefix)(l,n)]=!0,e));return y.default.createElement("span",(0,i.default)({},u,{className:(0,m.default)(r,c)}))},t}(y.default.Component);_.propTypes=E,t.default=(0,x.bsClass)("glyphicon",_),e.exports=t.default},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(4),i=r(o),a=n(9),s=r(a),l=n(5),u=r(l),c=n(7),d=r(c),f=n(6),p=r(f),h=n(8),m=r(h),v=n(1),y=r(v),g=n(16),b=r(g),x=n(740),E=r(x),_=n(741),w=r(_),C=n(742),O=r(C),k=n(743),N=r(k),T=n(744),P=r(T),S=n(745),M=r(S),A=n(10),D={componentClass:b.default},R={componentClass:"div"},j=function(e){function t(){return(0,u.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.componentClass,n=e.className,r=(0,s.default)(e,["componentClass","className"]),o=(0,A.splitBsProps)(r),a=o[0],l=o[1],u=(0,A.getClassSet)(a);return y.default.createElement(t,(0,i.default)({},l,{className:(0,m.default)(n,u)}))},t}(y.default.Component);j.propTypes=D,j.defaultProps=R,j.Heading=w.default,j.Body=E.default,j.Left=O.default,j.Right=M.default,j.List=N.default,j.ListItem=P.default,t.default=(0,A.bsClass)("media",j),e.exports=t.default},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(5),s=r(a),l=n(7),u=r(l),c=n(6),d=r(c),f=n(1),p=r(f),h=n(3),m=r(h),v=n(133),y=r(v),g="tab",b="pane",x=m.default.oneOfType([m.default.string,m.default.number]),E={id:function(e){var t=null;if(!e.generateChildId){for(var n=arguments.length,r=Array(n>1?n-1:0),o=1;o0&&r.length<20?n+" (keys: "+r.join(", ")+")":n}function i(e,n){var r=l.get(e);if(!r){if("production"!==t.env.NODE_ENV){var o=e.constructor;"production"!==t.env.NODE_ENV?f(!n,"%s(...): Can only update a mounted or mounting component. This usually means you called %s() on an unmounted component. This is a no-op. Please check the code for the %s component.",n,n,o&&(o.displayName||o.name)||"ReactClass"):void 0}return null}return"production"!==t.env.NODE_ENV&&("production"!==t.env.NODE_ENV?f(null==s.current,"%s(...): Cannot update during an existing state transition (such as within `render` or another component's constructor). Render methods should be a pure function of props and state; constructor side-effects are an anti-pattern, but can be moved to `componentWillMount`.",n):void 0),r}var a=n(15),s=n(40),l=n(96),u=n(33),c=n(39),d=n(12),f=n(13),p={isMounted:function(e){if("production"!==t.env.NODE_ENV){var n=s.current;null!==n&&("production"!==t.env.NODE_ENV?f(n._warnedAboutRefsInRender,"%s is accessing isMounted inside its render() function. render() should be a pure function of props and state. It should never access something that requires stale data from the previous render, such as refs. Move this logic to componentDidMount and componentDidUpdate instead.",n.getName()||"A component"):void 0,n._warnedAboutRefsInRender=!0)}var r=l.get(e);return!!r&&!!r._renderedComponent},enqueueCallback:function(e,t,n){p.validateCallback(t,n);var o=i(e);return o?(o._pendingCallbacks?o._pendingCallbacks.push(t):o._pendingCallbacks=[t],void r(o)):null},enqueueCallbackInternal:function(e,t){e._pendingCallbacks?e._pendingCallbacks.push(t):e._pendingCallbacks=[t],r(e)},enqueueForceUpdate:function(e){var t=i(e,"forceUpdate");t&&(t._pendingForceUpdate=!0,r(t))},enqueueReplaceState:function(e,t,n){var o=i(e,"replaceState");o&&(o._pendingStateQueue=[t],o._pendingReplaceState=!0,void 0!==n&&null!==n&&(p.validateCallback(n,"replaceState"),o._pendingCallbacks?o._pendingCallbacks.push(n):o._pendingCallbacks=[n]),r(o))},enqueueSetState:function(e,n){"production"!==t.env.NODE_ENV&&(u.debugTool.onSetState(),"production"!==t.env.NODE_ENV?f(null!=n,"setState(...): You passed an undefined or null state object; instead, use forceUpdate()."):void 0);var o=i(e,"setState");if(o){var a=o._pendingStateQueue||(o._pendingStateQueue=[]);a.push(n),r(o)}},enqueueElementInternal:function(e,t,n){e._pendingElement=t,e._context=n,r(e)},validateCallback:function(e,n){e&&"function"!=typeof e?"production"!==t.env.NODE_ENV?d(!1,"%s(...): Expected the last optional `callback` argument to be a function. Instead received: %s.",n,o(e)):a("122",n,o(e)):void 0}};e.exports=p}).call(t,n(2))},function(e,t){"use strict";var n=function(e){return"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(t,n,r,o){MSApp.execUnsafeLocalFunction(function(){return e(t,n,r,o)})}:e};e.exports=n},function(e,t){"use strict";function n(e){var t,n=e.keyCode;return"charCode"in e?(t=e.charCode,0===t&&13===n&&(t=13)):t=n,t>=32||13===t?t:0}e.exports=n},function(e,t){"use strict";function n(e){var t=this,n=t.nativeEvent;if(n.getModifierState)return n.getModifierState(e);var r=o[e];return!!r&&!!n[r]}function r(e){return n}var o={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};e.exports=r},function(e,t){"use strict";function n(e){var t=e.target||e.srcElement||window;return t.correspondingUseElement&&(t=t.correspondingUseElement),3===t.nodeType?t.parentNode:t}e.exports=n},function(e,t,n){"use strict";/**