diff --git a/front-api/controllers/category.rb b/front-api/controllers/category.rb index fa6a47d..4a7630a 100644 --- a/front-api/controllers/category.rb +++ b/front-api/controllers/category.rb @@ -1,10 +1,11 @@ get '/category' do - Category.order(:name).all.to_json(include: :sub_categories) + Category.order(:name).all.to_json(:include => [:sub_categories, :filter_criterias =>{:include => :filter_criteria_values} ]) + end get '/category/:id' do id = params[:id].to_i - Category.find(id).to_json(include: :sub_categories) -end \ No newline at end of file + Category.find(id).to_json(:include => [:sub_categories, :filter_criterias =>{:include => :filter_criteria_values} ]) +end diff --git a/front-ui/app/actions/navigationActions.js b/front-ui/app/actions/navigationActions.js index 14c583d..02c5de7 100644 --- a/front-ui/app/actions/navigationActions.js +++ b/front-ui/app/actions/navigationActions.js @@ -21,11 +21,21 @@ var NavigationActions = { }); }, - goToCategory: function(category,section) { + goToCategory: function(category,section, query) { console.log("Going to item details"); + var url ='/sekcija/' + section.get('name') +'/kategorija/'+ category.id + '/' + category.name; + + var q = '?'; + if(query) { + for(var key in query) { + if (query.hasOwnProperty(key)) { + q += "&" + key + '=' + query[key]; + } + } + } AppDispatcher.handleAction({ actionType: NavigationConstants.CHANGE_URL, - url: '/sekcija/' + section.get('name') +'/kategorija/'+ category.id + '/' + category.name + url: (url + q) }); }, @@ -40,4 +50,4 @@ var NavigationActions = { }; -module.exports = NavigationActions; \ No newline at end of file +module.exports = NavigationActions; diff --git a/front-ui/app/components/browsing/byCategory.js b/front-ui/app/components/browsing/byCategory.js index a848f2b..da355a5 100644 --- a/front-ui/app/components/browsing/byCategory.js +++ b/front-ui/app/components/browsing/byCategory.js @@ -1,6 +1,7 @@ var React = require('react'), Router = require('react-router'), Category = require('../../models/category'), + Section = require('../../models/section'), ItemCollection = require('../../models/itemCollection'), ItemActions = require('../../actions/itemActions.js'), CategoryActions = require('../../actions/categoryActions.js'), @@ -20,17 +21,49 @@ var ByCategory = React.createClass({ items: items }; }, + onFCClick: function(fc, fcv) { + + alert(fc.field_name); + var q = {}; + q[fc.field_name] = fcv.filter_value; + // TODO: fix this, clean this up + var s = new Section({name: 'meho'}); +var c = this.state.category; + NavigationActions.goToCategory({id: c.get('id'), name: c.get('name')}, s, q) + }, render: function() { + var self = this; return (