Skip to content

Commit

Permalink
#84 - added drawer component, removed few files
Browse files Browse the repository at this point in the history
  • Loading branch information
orizens committed Dec 31, 2015
1 parent 888b38d commit eebdab6
Show file tree
Hide file tree
Showing 12 changed files with 92 additions and 192 deletions.
4 changes: 3 additions & 1 deletion src/app.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ import SearchPanel from './components/search-panel';
import YoutubePlayer from './components/youtube-player';
import NowPlaying from './components/now-playing';
import UserProfile from './components/user-profile';
import Drawer from './components/drawer';

ngRoute(angular);

Expand All @@ -34,7 +35,8 @@ ngRoute(angular);
SearchPanel.name,
NowPlaying.name,
YoutubePlayer.name,
UserProfile.name
UserProfile.name,
Drawer.name
// 'youtube.playlists',
// 'youtube.player',
// 'media.info',
Expand Down
60 changes: 0 additions & 60 deletions src/components/app.js

This file was deleted.

28 changes: 28 additions & 0 deletions src/components/drawer/drawer-closed.component.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
/* @ngInject */
export default function drawerClosed (DrawerSettings) {
// Usage:
// <button drawer-closed="css-class-to-apply-when-closed"></button>
// Creates:
// an action which will toggle the drawer
var directive = {
link: link,
restrict: 'A'
};
return directive;

function link(scope, element, attrs) {
var cssClassToApply = attrs.drawerClosed;
scope.drawerOpened = DrawerSettings.opened;
scope.$watch('drawerOpened()', function (nState, oldState) {
if (nState !== oldState) {
addStateAsClass();
}
});

addStateAsClass();

function addStateAsClass () {
element.toggleClass(cssClassToApply, !DrawerSettings.opened());
}
}
}
19 changes: 19 additions & 0 deletions src/components/drawer/drawer-settings.service.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
/* @ngInject */
export default function DrawerSettings () {
var isOpen = true;
var service = {
toggle: toggle,
opened: opened
};
return service;

////////////////

function toggle() {
isOpen = !isOpen;
}

function opened () {
return isOpen;
}
}
30 changes: 30 additions & 0 deletions src/components/drawer/drawer-toggle.component.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
/* @ngInject */
export default function drawerToggle (DrawerSettings) {
// Usage:
// <button drawer-toggle="css-class-to-apply"></button>
// Creates:
// an action which will toggle the drawer
var directive = {
link: link,
restrict: 'A'
};
return directive;

function link(scope, element, attrs) {
var cssClassToApply = attrs.drawerToggle;
element.bind('click', function (ev) {
ev.preventDefault();
DrawerSettings.toggle();
if (cssClassToApply && cssClassToApply.length) {
addStateAsClass();
}
scope.$apply();
});

addStateAsClass();

function addStateAsClass () {
element.toggleClass(cssClassToApply, DrawerSettings.opened());
}
}
}
38 changes: 0 additions & 38 deletions src/components/drawer/drawer-toggle.directive.js

This file was deleted.

36 changes: 0 additions & 36 deletions src/components/drawer/drawer.closed.directive.js

This file was deleted.

21 changes: 0 additions & 21 deletions src/components/drawer/drawer.ctrl.js

This file was deleted.

8 changes: 0 additions & 8 deletions src/components/drawer/drawer.mdl.js

This file was deleted.

27 changes: 0 additions & 27 deletions src/components/drawer/drawer.settings.srv.js

This file was deleted.

12 changes: 12 additions & 0 deletions src/components/drawer/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import angular from 'angular';
import DrawerSettings from './drawer-settings.service.js';
import drawerToggle from './drawer-toggle.component';
import drawerClosed from './drawer-closed.component';

export default angular.module('drawer', [
'app.core'
])
.factory('DrawerSettings', DrawerSettings)
.directive('drawerToggle', drawerToggle)
.directive('drawerClosed', drawerClosed)
;
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
export default class NowPlaylistCtrl {
/* @ngInject */
constructor () {
/*jshint validthis: true */
// injected with this.videos, this.onRemove, this.onSelect
this.showPlaylistSaver = false;
}
Expand Down

0 comments on commit eebdab6

Please sign in to comment.