mirror of
https://github.com/sstent/node.git
synced 2026-01-27 23:51:45 +00:00
updated app
This commit is contained in:
108
node_modules/derby-examples/sink/lib/app/table.js
generated
vendored
Normal file
108
node_modules/derby-examples/sink/lib/app/table.js
generated
vendored
Normal file
@@ -0,0 +1,108 @@
|
||||
// Generated by CoffeeScript 1.3.1
|
||||
var app, get, ready, render, sortableTable, _ref;
|
||||
|
||||
_ref = app = require('./index'), get = _ref.get, ready = _ref.ready;
|
||||
|
||||
render = require('./shared').render;
|
||||
|
||||
sortableTable = require('./sortableTable');
|
||||
|
||||
get('/table', function(page, model) {
|
||||
return model.subscribe('table', function(err, table) {
|
||||
table.setNull({
|
||||
rows: [
|
||||
{
|
||||
name: 1,
|
||||
cells: [{}, {}, {}]
|
||||
}, {
|
||||
name: 2,
|
||||
cells: [{}, {}, {}]
|
||||
}
|
||||
],
|
||||
lastRow: 1,
|
||||
cols: [
|
||||
{
|
||||
name: 'A'
|
||||
}, {
|
||||
name: 'B'
|
||||
}, {
|
||||
name: 'C'
|
||||
}
|
||||
],
|
||||
lastCol: 2
|
||||
});
|
||||
return render(page, 'tableEditor');
|
||||
});
|
||||
});
|
||||
|
||||
ready(function(model) {
|
||||
var alpha, cols, rows;
|
||||
rows = model.at('table.rows');
|
||||
cols = model.at('table.cols');
|
||||
app.tableEditor = {
|
||||
deleteRow: function(e, el) {
|
||||
return model.at(el).remove();
|
||||
},
|
||||
deleteCol: function(e, el) {
|
||||
var i, row;
|
||||
i = model.at(el).leaf();
|
||||
row = rows.get('length');
|
||||
while (row--) {
|
||||
rows.remove("" + row + ".cells", i);
|
||||
}
|
||||
return cols.remove(i);
|
||||
},
|
||||
addRow: function() {
|
||||
var cells, col, name;
|
||||
name = model.incr('table.lastRow') + 1;
|
||||
cells = [];
|
||||
col = cols.get('length');
|
||||
while (col--) {
|
||||
cells.push({});
|
||||
}
|
||||
return rows.push({
|
||||
name: name,
|
||||
cells: cells
|
||||
});
|
||||
},
|
||||
addCol: function() {
|
||||
var name, row;
|
||||
row = rows.get('length');
|
||||
while (row--) {
|
||||
rows.push("" + row + ".cells", {});
|
||||
}
|
||||
name = alpha(model.incr('table.lastCol'));
|
||||
return cols.push({
|
||||
name: name
|
||||
});
|
||||
}
|
||||
};
|
||||
alpha = function(num, out) {
|
||||
var mod;
|
||||
if (out == null) {
|
||||
out = '';
|
||||
}
|
||||
mod = num % 26;
|
||||
out = String.fromCharCode(65 + mod) + out;
|
||||
if (num = Math.floor(num / 26)) {
|
||||
return alpha(num - 1, out);
|
||||
} else {
|
||||
return out;
|
||||
}
|
||||
};
|
||||
return sortableTable.init(app, app.tableEditor, {
|
||||
onRowMove: function(from, to) {
|
||||
return rows.move(from, to);
|
||||
},
|
||||
onColMove: function(from, to) {
|
||||
var row, _results;
|
||||
cols.move(from, to);
|
||||
row = rows.get('length');
|
||||
_results = [];
|
||||
while (row--) {
|
||||
_results.push(rows.move("" + row + ".cells", from, to));
|
||||
}
|
||||
return _results;
|
||||
}
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user