updated app

This commit is contained in:
2012-05-30 23:00:06 -04:00
parent 6a753904b7
commit da6ad88d48
5545 changed files with 1101709 additions and 60 deletions

42
node_modules/derby-examples/todos/lib/server/index.js generated vendored Normal file
View File

@@ -0,0 +1,42 @@
// Generated by CoffeeScript 1.3.1
var ONE_YEAR, derby, express, expressApp, gzippo, http, path, publicPath, root, server, serverError, todos;
http = require('http');
path = require('path');
express = require('express');
gzippo = require('gzippo');
derby = require('derby');
todos = require('../todos');
serverError = require('./serverError');
ONE_YEAR = 1000 * 60 * 60 * 24 * 365;
root = path.dirname(path.dirname(__dirname));
publicPath = path.join(root, 'public');
(expressApp = express()).use(express.favicon()).use(gzippo.staticGzip(publicPath, {
maxAge: ONE_YEAR
})).use(express.compress()).use(todos.router()).use(expressApp.router).use(serverError(root));
module.exports = server = http.createServer(expressApp);
expressApp.all('*', function(req) {
throw "404: " + req.url;
});
derby.use(require('racer-db-mongo'));
todos.createStore({
listen: server,
db: {
type: 'Mongo',
uri: 'mongodb://localhost/derby-todos'
}
});

View File

@@ -0,0 +1,27 @@
// Generated by CoffeeScript 1.3.1
var derby, isProduction;
derby = require('derby');
isProduction = derby.util.isProduction;
module.exports = function(root) {
var staticPages;
staticPages = derby.createStatic(root);
return function(err, req, res, next) {
var message, status;
if (err == null) {
return next();
}
console.log(err.stack ? err.stack : err);
message = err.message || err.toString();
status = parseInt(message);
if (status === 404) {
return staticPages.render('404', res, {
url: req.url
}, 404);
} else {
return res.send((400 <= status && status < 600) ? status : 500);
}
};
};

138
node_modules/derby-examples/todos/lib/todos/index.js generated vendored Normal file
View File

@@ -0,0 +1,138 @@
// Generated by CoffeeScript 1.3.1
var get, ready, view, _ref;
_ref = require('derby').createApp(module), get = _ref.get, view = _ref.view, ready = _ref.ready;
get('/', function(page) {
return page.redirect('/derby');
});
get('/:groupName', function(page, model, _arg) {
var groupName, groupTodosQuery;
groupName = _arg.groupName;
groupTodosQuery = model.query('todos').where('group').equals(groupName);
return model.subscribe("groups." + groupName, groupTodosQuery, function(err, group) {
var todoIds;
model.ref('_group', group);
todoIds = group.at('todoIds');
group.setNull('id', groupName);
model.refList('_todoList', 'todos', todoIds);
if (!todoIds.get()) {
model.push('_todoList', {
group: groupName,
text: 'Example todo'
}, {
group: groupName,
text: 'Another example'
}, {
group: groupName,
text: 'This one is done already',
completed: true
});
}
model.fn('_remaining', '_todoList', function(list) {
var remaining, todo, _i, _len;
remaining = 0;
for (_i = 0, _len = list.length; _i < _len; _i++) {
todo = list[_i];
if (!(todo != null ? todo.completed : void 0)) {
remaining++;
}
}
return remaining;
});
return page.render();
});
});
ready(function(model) {
var list, newTodo, showReconnect, ul;
list = model.at('_todoList');
ul = $('#todos');
ul.sortable({
handle: '.handle',
axis: 'y',
containment: '#dragbox',
update: function(e, ui) {
var domId, id, item, to;
item = ui.item[0];
domId = item.id;
id = item.getAttribute('data-id');
to = ul.children().index(item);
return list.pass({
ignore: domId
}).move({
id: id
}, to);
}
});
list.on('set', '*.completed', function(i, completed, previous, isLocal) {
if (completed && isLocal) {
return list.move(i, -1);
}
});
newTodo = model.at('_newTodo');
exports.add = function() {
var i, text, todo, _i, _len, _ref1;
if (!(text = view.escapeHtml(newTodo.get()))) {
return;
}
newTodo.set('');
_ref1 = list.get();
for (i = _i = 0, _len = _ref1.length; _i < _len; i = ++_i) {
todo = _ref1[i];
if (todo.completed) {
break;
}
}
return list.insert(i, {
text: text,
group: model.get('_group.id')
});
};
exports.del = function(e) {
return model.at(e.target).remove();
};
showReconnect = model.at('_showReconnect');
showReconnect.set(true);
exports.connect = function() {
showReconnect.set(false);
setTimeout((function() {
return showReconnect.set(true);
}), 1000);
return model.socket.socket.connect();
};
exports.reload = function() {
return window.location.reload();
};
exports.shortcuts = function(e) {
var code, command;
if (!(e.metaKey || e.ctrlKey)) {
return;
}
code = e.which;
if (!(command = ((function() {
switch (code) {
case 66:
return 'bold';
case 73:
return 'italic';
case 32:
return 'removeFormat';
case 220:
return 'removeFormat';
default:
return null;
}
})()))) {
return;
}
document.execCommand(command, false, null);
if (e.preventDefault) {
e.preventDefault();
}
return false;
};
document.execCommand('useCSS', false, true);
return document.execCommand('styleWithCSS', false, false);
});