Anton Shestakov <engored@ya.ru>, Wed, 01 May 2013 15:56:25 +0900
Works with Flask-RESTful 0.2.1.
static/js/ui.js
Permissions: -rw-r--r--
window.fruitbar = new Backbone.View(); fruitbar.tasks = new Tasks(); fruitbar.projects = new Projects(); fruitbar.router = new Router(); fruitbar.xhrs.done = function() { return _(this).all(function(xhr) { return xhr.readyState == 4; fruitbar.xhrs.abort = function() { _(this).each(function(xhr) { fruitbar.fetchAll = function(url) { fruitbar.projects.set(data['projects']); fruitbar.tasks.set(data['tasks']); fruitbar.workspaceTitleDisplayer = new Displayer({ el: $('.workspace-title') fruitbar.projectCounter = new CollectionCounterView({ el: $('.project-counter'), collection: fruitbar.projects, plurals: ['project', 'projects'] fruitbar.projectsView = new ProjectsView({ collection: fruitbar.projects, project: $('#project-template').html(), task: $('#task-template').html() create: $('.btn-new-project') fruitbar.on('workspace', function(workspace) { $('body').stop().animate({opacity: 0}); this.workspace = workspace; this.tasks.url = '/' + encodeURIComponent(workspace) + '/tasks/'; this.projects.url = '/' + encodeURIComponent(workspace) + '/projects/'; this.xhrs.push(this.fetchAll('/' + encodeURIComponent(workspace) + '/all/')); _(this.xhrs).each(function(fetch, index, xhrs) { fruitbar.workspaceTitleDisplayer.render(workspace); $('body').stop().animate({opacity: 1}); fruitbar.once('workspace', function() { window.setInterval(function() { fruitbar.xhrs.push(fruitbar.fetchAll('/' + encodeURIComponent(fruitbar.workspace) + '/all/')); Backbone.history.start();