mirror of
https://github.com/sstent/node.git
synced 2026-01-28 08:02:05 +00:00
updated app
This commit is contained in:
42
node_modules/derby-examples/todos/lib/server/index.js
generated
vendored
Normal file
42
node_modules/derby-examples/todos/lib/server/index.js
generated
vendored
Normal 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'
|
||||
}
|
||||
});
|
||||
27
node_modules/derby-examples/todos/lib/server/serverError.js
generated
vendored
Normal file
27
node_modules/derby-examples/todos/lib/server/serverError.js
generated
vendored
Normal 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
138
node_modules/derby-examples/todos/lib/todos/index.js
generated
vendored
Normal 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);
|
||||
});
|
||||
Reference in New Issue
Block a user