function input(names) { if (!names) { return SingleEvent(); } return MultipleEvent(names); }
module.exports = function(events) { var projects = value([]); var projectIndex = {}; var events = { delete: input() }; events.delete(function(project) { project._entity.deleteRecord(); }); DropboxService.subscribe('projects', function() { DropboxService.query('projects').then(function(ps) { projectIndex = {}; projects.set(ps.map(function(p) { projectIndex[p.getId()] = p; return { id: p.getId(), name: p.get('name'), _entity: p }; })); }).done(); }); return { state: projects, events: events }; }
module.exports = function() { var events = { edit: input(), commit: input(), }; var state = value(''); events.edit(function(data) { state.set(data.name); }); events.commit(function() { DropboxService.insert('projects', { name: state() }); state.set(''); }); return { state: state, events: events }; };
module.exports = function Event(names) { if (!names) return SingleEvent(); return MultipleEvent(names); };