Files
old-ribica/front-ui/app/actions/navigationActions.js
2015-11-28 08:35:42 +01:00

116 lines
2.9 KiB
JavaScript

var AppDispatcher = require('../dispatcher/appDispatcher');
var NavigationConstants = require('../constants/navigationConstants');
var globals = require('../globals');
// Define action methods
var NavigationActions = {
// select item
goToItemDetails: function(item) {
AppDispatcher.handleAction({
actionType: NavigationConstants.CHANGE_URL,
url: '/artikal/' + item.get('id') +'/' + globals.Slugify(item.get('name'))
});
},
goToSection: function(section) {
AppDispatcher.handleAction({
actionType: NavigationConstants.CHANGE_URL,
url: '/sekcija/'+ section.get('id') + '/' + globals.Slugify(section.get('name'))
});
},
_getQueryStringPart: function(query, offset, limit) {
var q = '';
var qp = [];
if(query) {
for(var key in query) {
if (key !== 'offset' && key !== 'limit' && query.hasOwnProperty(key)) {
qp.push(key + '=' + query[key]);
}
}
}
if (offset !== undefined) {
qp.push('offset='+offset);
}
if (limit !== undefined) {
qp.push('limit='+limit);
}
if (qp.length > 0) {
q = '?' + qp.join('&');
}
return q;
},
goToCategory: function(category,section, query, offset, limit) {
var url ='/sekcija/' + section.get('name') +'/kategorija/'+ category.get('id') + '/' + globals.Slugify(category.get('name'));
var q = this._getQueryStringPart(query, offset, limit);
AppDispatcher.handleAction({
actionType: NavigationConstants.CHANGE_URL,
url: (url + q)
});
},
goToSubCategory: function(subCategory, offset, limit, query) {
var q = this._getQueryStringPart(query, offset, limit);
var url = '/podkategorija/' + subCategory.get('id') + '/' + globals.Slugify(subCategory.get('name'));
AppDispatcher.handleAction({
actionType: NavigationConstants.CHANGE_URL,
url: (url + q)
});
},
goToCart: function() {
AppDispatcher.handleAction({
actionType: NavigationConstants.CHANGE_URL,
url: '/korpa'
});
},
goToCheckout: function() {
AppDispatcher.handleAction({
actionType: NavigationConstants.CHANGE_URL,
url: '/dostava'
});
},
goToHome: function() {
AppDispatcher.handleAction({
actionType: NavigationConstants.CHANGE_URL,
url: '/'
});
},
goToThankYou: function() {
AppDispatcher.handleAction({
actionType: NavigationConstants.CHANGE_URL,
url: '/hvala'
});
},
goToSearchResults : function(q) {
AppDispatcher.handleAction({
actionType: NavigationConstants.CHANGE_URL,
url: '/pretraga?q=' + q
});
},
goToMenuItem: function(menuItem) {
var url = '';
if (menuItem.get) {
url = menuItem.get('url');
} else {
url = menuItem.url;
}
AppDispatcher.handleAction({
actionType: NavigationConstants.CHANGE_URL,
url: url
});
}
};
module.exports = NavigationActions;