From 4c1a091f70f11047328ef2d413fe496e6d7c33ca Mon Sep 17 00:00:00 2001 From: Egor Philippov Date: Fri, 9 Oct 2015 13:42:52 -0700 Subject: [PATCH] use the bootstrap dropdown library instead of trying to put it together myself --- app/pods/components/groups-list/component.js | 4 +-- app/pods/components/hue-controls/component.js | 23 ---------------- app/pods/components/hue-controls/template.hbs | 26 ++++++++++++------- app/styles/app.scss | 20 +++++--------- ember-cli-build.js | 1 + 5 files changed, 25 insertions(+), 49 deletions(-) diff --git a/app/pods/components/groups-list/component.js b/app/pods/components/groups-list/component.js index 2d76cc3..b1bf6de 100644 --- a/app/pods/components/groups-list/component.js +++ b/app/pods/components/groups-list/component.js @@ -1,8 +1,8 @@ import Em from 'ember'; export default Em.Component.extend({ - classNameBindings: ['groupControlDisplayed:on'], - elementId: 'groupControls', + classNames: ['dropdown-menu'], + elementId: 'groupList', tagName: null, diff --git a/app/pods/components/hue-controls/component.js b/app/pods/components/hue-controls/component.js index 0ef48c9..bae4dd4 100644 --- a/app/pods/components/hue-controls/component.js +++ b/app/pods/components/hue-controls/component.js @@ -13,8 +13,6 @@ export default Em.Component.extend({ lightsData: null, activeLights: [], - groupControlDisplayed: false, - appSettingsDisplayed: false, actions: { changeTab(tabName){ @@ -22,21 +20,11 @@ export default Em.Component.extend({ this.set('selectedTab', index); localStorage.setItem('huegasm.selectedTab', index); }, - - toggleGroupControl(){ - this.toggleProperty('groupControlDisplayed'); - }, - - toggleAppSettings(){ - this.toggleProperty('appSettingsDisplayed'); - }, - clearBridge() { delete localStorage['huegasm.bridgeUsername']; delete localStorage['huegasm.bridgeIp']; location.reload(); }, - clearAllSettings() { localStorage.clear(); location.reload(); @@ -62,17 +50,6 @@ export default Em.Component.extend({ }); observer.observe(Em.$('#hueControls')[0], {childList: true, subtree: true}); - - // automatically close the group menu when the user clicks somewhere else - Em.$(document).click(function() { - if(self.get('groupControlDisplayed') && !event.target.classList.contains('group') && !Em.$(event.target).closest('#groupControls, #modal-overlays, .ember-modal-overlay').length) { - self.toggleProperty('groupControlDisplayed'); - } - - if(self.get('appSettingsDisplayed') && !event.target.classList.contains('settings') && !Em.$(event.target).closest('#appSetting').length) { - self.toggleProperty('appSettingsDisplayed'); - } - }); }, init() { diff --git a/app/pods/components/hue-controls/template.hbs b/app/pods/components/hue-controls/template.hbs index 0e2c73d..92269ea 100644 --- a/app/pods/components/hue-controls/template.hbs +++ b/app/pods/components/hue-controls/template.hbs @@ -7,21 +7,27 @@
- - {{paper-icon icon="group"}} + + {{groups-list lightsData=lightsData groupsData=groupsData activeLights=activeLights apiURL=apiURL updateGroupsData=updateGroupsData groupControlDisplayed=groupControlDisplayed}} - - {{paper-icon icon="settings"}} + + - {{#if appSettingsDisplayed}} -
-
Switch bridge
-
Clear application settings
-
- {{/if}} +
diff --git a/app/styles/app.scss b/app/styles/app.scss index e8caff1..fcbf2d7 100644 --- a/app/styles/app.scss +++ b/app/styles/app.scss @@ -65,11 +65,6 @@ md-switch[disabled=disabled], md-switch[disabled=disabled] .md-container, md-sli background: darken(white, 20%); } -.settingsItem.on md-icon.md-default-theme.group, -.settingsItem.on md-icon.md-default-theme.settings { - color: $secondaryThemeColor !important; -} - .settingsItem:hover md-icon.group, .settingsItem:hover md-icon.settings { color: black !important; @@ -142,9 +137,11 @@ md-progress-linear { #appSettings { position: absolute; background: white; - box-shadow: 5px 10px 15px 5px rgba(0, 0, 0, .3); - width: 200px; - right: 0; + box-shadow: 5px 10px 15px 5px rgba(0, 0, 0, 0.3); + width: 210px; + left: -182px; + top: 25px; + padding: 0; } .bootstrapTooltip md-icon { @@ -230,8 +227,7 @@ md-slider.md-default-theme .md-thumb:after { overflow: visible; } -#groupControls { - display: none; +#groupList { box-shadow: 5px 10px 15px 5px rgba(0, 0, 0, .3); border-radius: 0 0 5px 5px; width: 300px; @@ -244,10 +240,6 @@ md-slider.md-default-theme .md-thumb:after { text-align: left; } -#groupControls.on { - display: block; -} - .lightGroup { margin: 0 auto 0 auto; .tooltip.top { diff --git a/ember-cli-build.js b/ember-cli-build.js index 177327a..f4273a1 100644 --- a/ember-cli-build.js +++ b/ember-cli-build.js @@ -10,6 +10,7 @@ module.exports = function(defaults) { app.import('vendor/dancer.js'); app.import('bower_components/bootstrap-sass/assets/javascripts/bootstrap/tooltip.js'); + app.import('bower_components/bootstrap-sass/assets/javascripts/bootstrap/dropdown.js'); app.import('bower_components/JavaScript-ID3-Reader/dist/id3-minimized.js'); app.import('bower_components/jquery-mousewheel/jquery.mousewheel.js'); app.import('bower_components/three.js/three.js');