-
Notifications
You must be signed in to change notification settings - Fork 0
The simplest CRUD framework in JavaScript
beedesk/cacheca.js
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Cacheca.js is the simplest CRUD framework in JavaScript
Consider the following interface:
/**
* DataSet is a generic model (as in Model/View/Control). It provides
* a few common functionalities:
*
* 1) CRUD method to access item in the set
* 2) Events: added, removed, updated
* 3) Finders methods
* 4) interface for initialization
*/
function DataSet() {
this.init = function() {};
this.start = function() {};
// CRUDB ([C]create, [R]read, [U]update, [D]remove, [B]browse and find)
this.browse = function(fn, sumfn) {};
this.find = function(filters) {};
this.findOnce = function(filters) {};
this.read = function(itemId) {};
this.update = function(itemId, newState) {};
this.create = function(newState) {};
this.remove = function(itemId) {};
this.bind = function(type, fn) {};
this.unbind = function(type, fn) {};
}
Cacheca aims to make coding of Model (as in MVC) simple. Whether data coming from a simple associate-hash, RESTful web services, or Html5 database, you data can access and consumed by the same code.
// Model code
var sales = new EntrySet({name: 'sales-record'}); // data is kept in a client javascript object
// View and Control code
sales.bind('added', function(event) {
var id = event.entryId;
var row = event.entry;
$('#datagrid').append(gridtemplate.format(id, row.name, row.sales, row.region, row.growth));
});
sales.bind('removed', function(event) {
// ...
});
sales.update('10475', newsales);
No change to view and control code shall the data coming from a RESTful Webservice or database.
// New Model code
var sales = RESTfulDataSet({
baseurl: '/beedesk/model',
entitytype: 'item',
setId: function(entry) {
return entry.id;
},
name: 'sales-record'
});
// View and Control code exactly the same
About
The simplest CRUD framework in JavaScript
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published