diff --git a/web/app/pods/components/lights-tab/component.js b/web/app/pods/components/lights-tab/component.js index db22f6d..75abe7d 100644 --- a/web/app/pods/components/lights-tab/component.js +++ b/web/app/pods/components/lights-tab/component.js @@ -1,6 +1,6 @@ import Ember from 'ember'; -const { Component, observer, computed, on, run: { later, throttle }, $ } = Ember; +const { Component, observer, computed, on, run: { later, throttle }, $, isEmpty } = Ember; export default Component.extend({ classNames: ['col-sm-10', 'col-sm-offset-1', 'col-xs-12'], @@ -84,22 +84,26 @@ export default Component.extend({ xy = null, setRGB = true; - this.get('activeLights').forEach((i) => { - let light = lightsData[i]; + if (!isEmpty(lightsData)) { + this.get('activeLights').forEach((i) => { + let light = lightsData[i]; - if (xy !== null && xy[0] !== light.state.xy[0] && xy[1] !== light.state.xy[1]) { - setRGB = false; + if (light && light.state && light.state.xy) { + if (xy !== null && xy[0] !== light.state.xy[0] && xy[1] !== light.state.xy[1]) { + setRGB = false; + } + + xy = light.state.xy; + } + }); + + if (setRGB && xy) { + let rgb = cieToRgb(xy[0], xy[1]); + + $('.color').css('background', 'rgb(' + Math.abs(rgb[0]) + ',' + Math.abs(rgb[1]) + ',' + Math.abs(rgb[2]) + ')'); + } else { + $('.color').css('background', 'rgb(' + 255 + ',' + 255 + ',' + 255 + ')'); } - - xy = light.state.xy; - }); - - if (setRGB && xy) { - let rgb = cieToRgb(xy[0], xy[1]); - - $('.color').css('background', 'rgb(' + Math.abs(rgb[0]) + ',' + Math.abs(rgb[1]) + ',' + Math.abs(rgb[2]) + ')'); - } else { - $('.color').css('background', 'rgb(' + 255 + ',' + 255 + ',' + 255 + ')'); } })), diff --git a/web/yarn.lock b/web/yarn.lock index fc12c29..146f0d5 100644 --- a/web/yarn.lock +++ b/web/yarn.lock @@ -48,9 +48,9 @@ dependencies: "@glimmer/util" "^0.22.3" -"@glimmer/resolver@0.4.0": - version "0.4.0" - resolved "https://registry.yarnpkg.com/@glimmer/resolver/-/resolver-0.4.0.tgz#7fe8709342064f144c14c06088d6dc4070ad7d1d" +"@glimmer/resolver@^0.4.1": + version "0.4.1" + resolved "https://registry.yarnpkg.com/@glimmer/resolver/-/resolver-0.4.1.tgz#cd9644572c556e7e799de1cf8eff2b999cf5b878" dependencies: "@glimmer/di" "^0.2.0" @@ -1665,8 +1665,8 @@ co@^4.6.0: resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" coa@~1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/coa/-/coa-1.0.3.tgz#1b54a5e1dcf77c990455d4deea98c564416dc893" + version "1.0.4" + resolved "https://registry.yarnpkg.com/coa/-/coa-1.0.4.tgz#a9ef153660d6a86a8bdec0289a5c684d217432fd" dependencies: q "^1.1.2" @@ -2589,10 +2589,10 @@ ember-power-select@^1.8.5: ember-truth-helpers "^1.3.0" ember-resolver@^4.0.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/ember-resolver/-/ember-resolver-4.2.1.tgz#d8aa7de8444ec9b688aa97a5ddbb58c3b949194b" + version "4.2.4" + resolved "https://registry.yarnpkg.com/ember-resolver/-/ember-resolver-4.2.4.tgz#4a9822800a68619b481d5bb2663038bb77660097" dependencies: - "@glimmer/resolver" "0.4.0" + "@glimmer/resolver" "^0.4.1" babel-plugin-debug-macros "^0.1.10" broccoli-funnel "^1.1.0" broccoli-merge-trees "^2.0.0" @@ -2601,8 +2601,8 @@ ember-resolver@^4.0.0: resolve "^1.3.3" ember-rfc176-data@^0.2.0: - version "0.2.2" - resolved "https://registry.yarnpkg.com/ember-rfc176-data/-/ember-rfc176-data-0.2.2.tgz#cbe0896cd7855d6cc58d809d5616ea0d523b009e" + version "0.2.4" + resolved "https://registry.yarnpkg.com/ember-rfc176-data/-/ember-rfc176-data-0.2.4.tgz#f6c5e52ffb14cf66c9fed5bd70fbe68fc91982e9" ember-router-generator@^1.0.0: version "1.2.3" @@ -2803,14 +2803,18 @@ esprima@^2.6.0: version "2.7.3" resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" -esprima@^3.1.1, esprima@~3.1.0: - version "3.1.3" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" +esprima@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804" esprima@~3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.0.0.tgz#53cf247acda77313e551c3aa2e73342d3fb4f7d9" +esprima@~3.1.0: + version "3.1.3" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" + esutils@^2.0.0, esutils@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" @@ -3830,11 +3834,11 @@ js-tokens@^3.0.0: resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" js-yaml@^3.2.5, js-yaml@^3.2.7, js-yaml@^3.6.1: - version "3.8.4" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.8.4.tgz#520b4564f86573ba96662af85a8cafa7b4b5a6f6" + version "3.9.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.9.0.tgz#4ffbbf25c2ac963b8299dc74da7e3740de1c18ce" dependencies: argparse "^1.0.7" - esprima "^3.1.1" + esprima "^4.0.0" js-yaml@~3.6.0: version "3.6.1" @@ -4861,14 +4865,14 @@ object-assign@4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.0.tgz#7a3b3d0e98063d43f4c03f2e8ae6cd51a86883a0" +object-assign@4.1.1, object-assign@^4.0.1, object-assign@^4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + object-assign@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-2.1.1.tgz#43c36e5d569ff8e4816c4efa8be02d26967c18aa" -object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - object-component@0.0.3: version "0.0.3" resolved "https://registry.yarnpkg.com/object-component/-/object-component-0.0.3.tgz#f0c69aa50efc95b866c186f400a33769cb2f1291" @@ -6386,10 +6390,10 @@ wordwrap@~0.0.2: resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" workerpool@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-2.2.1.tgz#41ebff11d5859da948fdb2c850b57da69240988a" + version "2.2.2" + resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-2.2.2.tgz#1cf53bacafd98ca5d808ff54cc72f3fecb5e1d56" dependencies: - object-assign "^4.1.1" + object-assign "4.1.1" wrap-ansi@^2.0.0: version "2.1.0"