From 8d885694cfe8307d42a9a5201ff5357f57909012 Mon Sep 17 00:00:00 2001 From: Edin Dazdarevic Date: Mon, 26 Jan 2015 20:22:43 +0100 Subject: [PATCH] made router available as singleton --- front-ui/app/components/items/singleItem.js | 4 ++-- front-ui/app/ribica.js | 9 +++++++-- front-ui/app/{routes.js => router.js} | 7 +++++-- front-ui/app/stores/itemStore.js | 14 +++++++------- 4 files changed, 21 insertions(+), 13 deletions(-) rename front-ui/app/{routes.js => router.js} (91%) diff --git a/front-ui/app/components/items/singleItem.js b/front-ui/app/components/items/singleItem.js index f9ee8f8..e5309bc 100644 --- a/front-ui/app/components/items/singleItem.js +++ b/front-ui/app/components/items/singleItem.js @@ -22,8 +22,8 @@ var SingleItem = React.createClass({ itemClick: function(e) { // no need for this to go through ItemActions - //ItemActions.selectItem(this.props.item); - this.transitionTo('/artikal/' + this.props.item.get('id') +'/' + this.props.item.get('name')); + ItemActions.selectItem(this.props.item); + //this.transitionTo('/artikal/' + this.props.item.get('id') +'/' + this.props.item.get('name')); } }); diff --git a/front-ui/app/ribica.js b/front-ui/app/ribica.js index ac1f858..44bd3f2 100644 --- a/front-ui/app/ribica.js +++ b/front-ui/app/ribica.js @@ -1,9 +1,14 @@ var Backbone = require('backbone'); +var React = require('react'); var ExternalApi = require('./externalApi'); -var Routes = require('./routes'); +var Router = require('./router'); Backbone.$ = $; +Router.run(function(Handler, state) { + React.render(, document.body); +}); + module.exports = { App: ExternalApi, - Routes: Routes + Router: Routes } diff --git a/front-ui/app/routes.js b/front-ui/app/router.js similarity index 91% rename from front-ui/app/routes.js rename to front-ui/app/router.js index d2420ec..06b0e48 100644 --- a/front-ui/app/routes.js +++ b/front-ui/app/router.js @@ -24,6 +24,9 @@ var routes = ( ); -Router.run(routes, function(Handler) { - React.render(, document.body); +var router = Router.create({ + routes: routes + //,location: Router.HistoryLocation }); + +module.exports = router; diff --git a/front-ui/app/stores/itemStore.js b/front-ui/app/stores/itemStore.js index 512ab62..8ff63b1 100644 --- a/front-ui/app/stores/itemStore.js +++ b/front-ui/app/stores/itemStore.js @@ -2,7 +2,7 @@ var AppDispatcher = require('../dispatcher/appDispatcher'); var EventEmitter = require('events').EventEmitter; var ItemConstants = require('../constants/itemConstants'); var ItemCollection = require('../models/itemCollection'); -var ItemWithDetails = require('../models/itemWithDetails') +var ItemWithDetails = require('../models/itemWithDetails'); var _ = require('underscore'); // Define initial data points @@ -63,6 +63,7 @@ var ItemStore = _.extend({}, EventEmitter.prototype, { }); + // Register callback with AppDispatcher AppDispatcher.register(function(payload) { var action = payload.action; @@ -71,12 +72,11 @@ AppDispatcher.register(function(payload) { switch(action.actionType) { // Respond to SELECT_ITEM action - /* case ItemConstants.SELECT_ITEM:*/ - //setSelected(action.item.id); - //// TODO: this does not belong here - update when react router becommes available - //RIBICA.App.router.navigate(action.item.getFrontEndUrl(), {'trigger': true}); - - /*break;*/ + case ItemConstants.SELECT_ITEM: + var router = require('../router'); + // use this instead: action.item.getFrontEndUrl() + router.transitionTo('/artikal/' + action.item.get('id') +'/' + action.item.get('name')); + break; case ItemConstants.LOAD_FOR_FRONTPAGE: loadItemsForFrontpage();