dependencies.halbrowser.js.hal.views.resource.js Maven / Gradle / Ivy
The newest version!
HAL.Views.Resource = Backbone.View.extend({
initialize: function(opts) {
var self = this;
this.vent = opts.vent;
this.vent.bind('response', function(e) {
self.render(new HAL.Models.Resource(e.resource));
});
this.vent.bind('fail-response', function(e) {
try {
resource = JSON.parse(e.jqxhr.responseText);
} catch(err) {
resource = null;
}
self.vent.trigger('response', { resource: resource, jqxhr: e.jqxhr });
});
},
className: 'resource',
render: function(resource) {
var linksView = new HAL.Views.Links({ vent: this.vent }),
propertiesView = new HAL.Views.Properties({ vent: this.vent }),
embeddedResourcesView
propertiesView.render(resource.toJSON());
linksView.render(resource.links);
this.$el.empty();
this.$el.append(propertiesView.el);
this.$el.append(linksView.el);
if (resource.embeddedResources) {
embeddedResourcesView = new HAL.Views.EmbeddedResources({ vent: this.vent });
embeddedResourcesView.render(resource.embeddedResources);
this.$el.append(embeddedResourcesView.el);
}
return this;
}
});