Files
Phraseanet/www/scripts/apps/admin/fields/router.js
Nicolas Le Goff 1ff4e4060b Add field application
Add asset dependencies

Add field model

Add field tests

Add field app

Add JS build

Add end file blank line

Adjust asset dependencies version

Remove assets test libraries from build

Remove unecessary comments

Add end file blank line

Fix indent
2013-05-27 23:26:05 +02:00

60 lines
1.6 KiB
JavaScript

define([
'jquery',
'underscore',
'backbone',
'models/admin/field',
'apps/admin/fields/views/edit',
'apps/admin/fields/views/list',
'apps/admin/fields/collections/fields'
], function($, _, Backbone, FieldModel, FieldEditView, FieldListView, FieldsCollection) {
var AppRouter = Backbone.Router.extend({
routes: {
'field/:id': "getField",
'fields': 'showFields',
'*actions': 'defaultAction'
}
});
var initialize = function() {
var app_router = new AppRouter();
app_router.on('route:getField', function (id) {
var field = new FieldModel({id: id});
field.fetch().done(function() {
var fieldEditView = new FieldEditView({
el: $('.right-block')[0],
model: field
});
fieldEditView.render();
});
});
app_router.on('route:showFields', function() {
var fieldsCollection = new FieldsCollection();
fieldsCollection.fetch().done(function() {
var fieldListView = new FieldListView({
collection: fieldsCollection,
el: $('ul#collection-fields')[0]
});
fieldListView.render();
});
});
app_router.on('route:defaultAction', function(actions) {
console.log('No route:', actions);
});
Backbone.history.start();
// Show fields on start up
app_router.navigate('fields', { trigger: true });
};
return {
initialize: initialize
};
});