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
|
||||
get '/item/:id' do |id_s|
|
||||
item = Item.find(id_s.to_i)
|
||||
|
||||
prepare_items_for_mass_display(item)
|
||||
end
|
||||
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
var StartPageSectionsView = require('../views/startPageSectionsView'),
|
||||
StartPageItemsView = require('../views/startPageItemsView');
|
||||
ItemDetailsView = require('../views/itemDetailsView');
|
||||
|
||||
function ItemDetailsController(id,slug) {
|
||||
alert("clicked on an item" + id + " with a slug " + slug);
|
||||
|
||||
function ItemDetailsController(id) {
|
||||
var sectionsView = new StartPageSectionsView();
|
||||
sectionsView.render();
|
||||
|
||||
var itemDetailsView = new ItemDetailsView(id);
|
||||
itemDetailsView.render();
|
||||
}
|
||||
|
||||
module.exports = ItemDetailsController;
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
text-align: center;
|
||||
vertical-align: center;
|
||||
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');
|
||||
},
|
||||
render: function() {
|
||||
this.$el.append(this.template);
|
||||
this.$el.html(this.template);
|
||||
var items = new ItemCollection();
|
||||
items.setClassificationType(0);
|
||||
items.setLimit(30);
|
||||
@@ -32,9 +32,10 @@ var StartPageItemsView = Backbone.View.extend({
|
||||
},
|
||||
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});
|
||||
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
@@ -5,7 +5,7 @@ var Backbone = require('backbone'),
|
||||
Section = require('../models/section');
|
||||
|
||||
var StartPageSectionsView = Backbone.View.extend({
|
||||
el: '#content',
|
||||
el: '#header',
|
||||
template: '<div class="section-list-container"></div>',
|
||||
initialize: function() {
|
||||
//alert('StartPageSectionsView init');
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<meta name="fragment" content="!">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div id='header'></div>
|
||||
<div id='content'>
|
||||
</div>
|
||||
<script src='ribica.js' type='text/javascript'></script>
|
||||
|
||||
Reference in New Issue
Block a user