Skip to content

Commit

Permalink
flux for favorites
Browse files Browse the repository at this point in the history
  • Loading branch information
timotius02 committed May 30, 2015
1 parent a142cc6 commit 6aa2cd7
Show file tree
Hide file tree
Showing 10 changed files with 83 additions and 34 deletions.
1 change: 0 additions & 1 deletion app/app.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ var envName = window.env.name;
var isWindows = process.platform === 'win32'
var getHome = isWindows ? process.env.USERPROFILE: process.env.HOME;


updateDir(getHome, function(filesData){
React.render(<FilesLayout files={filesData}/>, document.getElementById('files-container'));
});
Expand Down
19 changes: 19 additions & 0 deletions app/components/actions/FaveActions.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import { FaveDispatcher } from '../dispatcher/FaveDispatcher';
import { FaveConstants } from '../constants/FaveConstants';

export var FaveActions = {
addItem: function(item){
FaveDispatcher.handleAction({
actionType: FaveConstants.ADD_ITEM,
data: item
});
},
removeItem: function(index){
FaveDispatcher.handleAction({
actionType: FaveConstants.REMOVE_ITEM,
data: index
})
}
};

// export FaveActions;
4 changes: 4 additions & 0 deletions app/components/constants/FaveConstants.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
export var FaveConstants = {
ADD_ITEM: "ADD_ITEM",
REMOVE_ITEM: "REMOVE_ITEM"
};
9 changes: 9 additions & 0 deletions app/components/dispatcher/FaveDispatcher.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
var Dispatcher = require('flux').Dispatcher;
export var FaveDispatcher = new Dispatcher();

FaveDispatcher.handleAction = function(action) {
this.dispatch({
source: 'VIEW_ACTION',
action: action
});
};
7 changes: 3 additions & 4 deletions app/components/favorites.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
var React = require('react');
import { updateDir } from './files'

var _favorites = ['AirDrop', 'Applications', 'Desktop', 'Documents', 'Downloads', 'Pictures','User'];
import { FaveStore } from './stores/FaveStore.js';
import { FaveActions } from './actions/FaveActions.js';

var FavoriteItems = React.createClass({
_setSelected: function(){
Expand All @@ -19,7 +18,7 @@ var FavoriteItems = React.createClass({
export var Favorites = React.createClass({
getInitialState: function() {
return {
items: _favorites,
items: FaveStore.getList(),
selected: "User"
};
},
Expand Down
46 changes: 46 additions & 0 deletions app/components/stores/FaveStore.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
import { FaveDispatcher } from '../dispatcher/FaveDispatcher';
import { FaveConstants } from '../constants/FaveConstants';
var objectAssign = require('react/lib/Object.assign');
var EventEmitter = require('events').EventEmitter;
var CHANGE_EVENT = 'change';

var _faveStore = {
list: ['AirDrop', 'Applications', 'Desktop', 'Documents', 'Downloads', 'Pictures', 'User']
};

var addItem = function(item) {
_faveStore.list.push(item);
};

var removeItem = function(index) {
_faveStore.list.splice(index, 1);
}

export var FaveStore = objectAssign({}, EventEmitter.prototype, {
addChangeListener: function(cb) {
this.on(CHANGE_EVENT, cb);
},
removeChangeListener: function(cb) {
this.removeListener(CHANGE_EVENT, cb);
},
getList: function() {
return _faveStore.list;
}
});

FaveDispatcher.register(function(payload) {
var action = payload.action;
switch (action.actionType) {
case FaveConstants.ADD_ITEM:
addItem(action.data);
faveStore.emit(CHANGE_EVENT);
break;
case FaveConstants.REMOVE_ITEM:
removeItem(action.data);
faveStore.emit(CHANGE_EVENT);
break;
default:
return true;
}
});

16 changes: 0 additions & 16 deletions app/components/stores/favStore.js

This file was deleted.

12 changes: 0 additions & 12 deletions app/components/stores/fileStore.js

This file was deleted.

1 change: 1 addition & 0 deletions app/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
},
"dependencies": {
"bluebird": "^2.9.26",
"flux": "^2.0.3",
"fs-jetpack": "^0.6.4",
"normalize.css": "^3.0.3",
"react": "^0.13.3"
Expand Down
2 changes: 1 addition & 1 deletion tasks/build.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ var sass = require('gulp-sass');
var esperanto = require('esperanto');
var map = require('vinyl-map');
var jetpack = require('fs-jetpack');
var react= require('gulp-react');
var react = require('gulp-react');

var utils = require('./utils');

Expand Down

0 comments on commit 6aa2cd7

Please sign in to comment.