view now gets item with details
This commit is contained in:
@@ -21,7 +21,6 @@ end
|
|||||||
# gets single item for detailed display (like comments etc. ) # TODO: change when comments are added
|
# gets single item for detailed display (like comments etc. ) # TODO: change when comments are added
|
||||||
get '/item/:id' do |id_s|
|
get '/item/:id' do |id_s|
|
||||||
item = Item.find(id_s.to_i)
|
item = Item.find(id_s.to_i)
|
||||||
|
|
||||||
prepare_items_for_mass_display(item)
|
prepare_items_for_mass_display(item)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,12 @@
|
|||||||
var StartPageSectionsView = require('../views/startPageSectionsView'),
|
var StartPageSectionsView = require('../views/startPageSectionsView'),
|
||||||
StartPageItemsView = require('../views/startPageItemsView');
|
ItemDetailsView = require('../views/itemDetailsView');
|
||||||
|
|
||||||
function ItemDetailsController(id,slug) {
|
function ItemDetailsController(id) {
|
||||||
alert("clicked on an item" + id + " with a slug " + slug);
|
var sectionsView = new StartPageSectionsView();
|
||||||
|
sectionsView.render();
|
||||||
|
|
||||||
|
var itemDetailsView = new ItemDetailsView(id);
|
||||||
|
itemDetailsView.render();
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = ItemDetailsController;
|
module.exports = ItemDetailsController;
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
text-align: center;
|
text-align: center;
|
||||||
vertical-align: center;
|
vertical-align: center;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
|
cursor: pointer;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
9
front-ui/app/models/itemWithDetails.js
Normal file
9
front-ui/app/models/itemWithDetails.js
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
var Backbone = require('backbone');
|
||||||
|
var Globals = require('../globals');
|
||||||
|
|
||||||
|
var ItemWithDetails = Backbone.Model.extend({
|
||||||
|
urlRoot : Globals.ApiUrl + '/item'
|
||||||
|
});
|
||||||
|
|
||||||
|
module.exports = ItemWithDetails;
|
||||||
|
|
||||||
31
front-ui/app/views/itemDetailsView.js
Normal file
31
front-ui/app/views/itemDetailsView.js
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
var Backbone = require('backbone'),
|
||||||
|
React = require('react'),
|
||||||
|
ItemWithDetails = require('../models/itemWithDetails');
|
||||||
|
|
||||||
|
var ItemDetailsView = Backbone.View.extend({
|
||||||
|
el: '#content',
|
||||||
|
template: '<div class="item-details-container"></div>',
|
||||||
|
initialize: function(id) {
|
||||||
|
this.itemId = id;
|
||||||
|
},
|
||||||
|
|
||||||
|
render: function() {
|
||||||
|
this.$el.html(this.template);
|
||||||
|
var item = new ItemWithDetails({id: this.itemId });
|
||||||
|
console.log(item);
|
||||||
|
|
||||||
|
item.fetch({success: function() {
|
||||||
|
|
||||||
|
/*var resultItems = items.map(function (a) { return a.attributes });
|
||||||
|
React.render(new ItemList({
|
||||||
|
items: items,
|
||||||
|
itemClick: self.itemClick
|
||||||
|
}), self.$('.item-details-container').get(0)); */
|
||||||
|
console.log("great success!");
|
||||||
|
|
||||||
|
return this; }
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
module.exports = ItemDetailsView;
|
||||||
@@ -12,7 +12,7 @@ var StartPageItemsView = Backbone.View.extend({
|
|||||||
//alert('StartPageItemsView init');
|
//alert('StartPageItemsView init');
|
||||||
},
|
},
|
||||||
render: function() {
|
render: function() {
|
||||||
this.$el.append(this.template);
|
this.$el.html(this.template);
|
||||||
var items = new ItemCollection();
|
var items = new ItemCollection();
|
||||||
items.setClassificationType(0);
|
items.setClassificationType(0);
|
||||||
items.setLimit(30);
|
items.setLimit(30);
|
||||||
@@ -32,9 +32,10 @@ var StartPageItemsView = Backbone.View.extend({
|
|||||||
},
|
},
|
||||||
itemClick: function(item) {
|
itemClick: function(item) {
|
||||||
|
|
||||||
|
// not sure if there is a better way to access the app object
|
||||||
|
// TODO: if found replace it !
|
||||||
RIBICA.App.router.navigate(item.getFrontEndUrl(), {'trigger': true});
|
RIBICA.App.router.navigate(item.getFrontEndUrl(), {'trigger': true});
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ var Backbone = require('backbone'),
|
|||||||
Section = require('../models/section');
|
Section = require('../models/section');
|
||||||
|
|
||||||
var StartPageSectionsView = Backbone.View.extend({
|
var StartPageSectionsView = Backbone.View.extend({
|
||||||
el: '#content',
|
el: '#header',
|
||||||
template: '<div class="section-list-container"></div>',
|
template: '<div class="section-list-container"></div>',
|
||||||
initialize: function() {
|
initialize: function() {
|
||||||
//alert('StartPageSectionsView init');
|
//alert('StartPageSectionsView init');
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
<meta name="fragment" content="!">
|
<meta name="fragment" content="!">
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
<div id='header'></div>
|
||||||
<div id='content'>
|
<div id='content'>
|
||||||
</div>
|
</div>
|
||||||
<script src='ribica.js' type='text/javascript'></script>
|
<script src='ribica.js' type='text/javascript'></script>
|
||||||
|
|||||||
Reference in New Issue
Block a user