angular-sqlite
v0.1.0
Published
AngularJS SQLite module
Downloads
66
Maintainers
Readme
packaged angular-sqlite
This repo is for distribution on npm
and bower
.
Please file issues and pull requests against that repo.
Install
You can install this package either with npm
or with bower
.
npm
npm install angular-sqlite
Then add ngSQLite
as a dependency for your app:
angular.module('myApp', [require('angular-sqlite')]);
bower
bower install angular-sqlite
Add a <script>
to your index.html
:
<script src="/bower_components/angular-sqlite/angular-sqlite.js"></script>
Then add ngSQLite
as a dependency for your app:
angular.module('myApp', ['ngSQLite']);
Example
angularApp
.constant('DB_CONFIG', {
client: {
id: key,
name: { type: 'text', null: false },
email: { type: 'text' },
id_zone: { type: 'integer' }
},
zone: {
id: 'key',
name: { type: 'text', null: false }
}
})
.run(function ($SQLite) {
$SQLite.dbConfig({
name: 'my-browser-db',
description: 'Test DB',
version: '1.0'
});
})
.run(function ($SQLite, DB_CONFIG) {
$SQLite.init(function (init) {
angular.forEach(DB_CONFIG, function (config, name) {
init.step();
$SQLite.createTable(name, config).then(init.done);
});
init.finish();
});
});
angularApp
.factory('exampleClient', function ($SQLite) {
$SQLite.ready(function () { // The DB is created and prepared async.
this.selectAll(o.sql, o.params)
.then(o.onEmpty, o.onError,
function (result) {
if (angular.isFunction(o.onResult)) o.onResult.apply(this, [ result.rows, result.count, result.result ]);
}
);
});
var clientID = 1;
$SQLite.ready(function () { // The DB is created and prepared async.
this
.selectFirst('SELECT * FROM client WHERE id = ? LIMIT 1', [ clientID ])
.then(
function () { console.log('Empty Result!'); },
function () { console.err('Error!'); },
function (data) {
// Result!
// data.item
// data.count
// data.result
}
);
});
var newClientData = {
name: 'Eduardo Daniel Cuomo',
email: '[email protected]',
id_zone: 123
};
$SQLite.ready(function () {
this.insert('client', newClientData) // this.replace
//.then(onResult, onError)
});
$SQLite.ready(function () {
this.execute('UPDATE zone SET name = ? WHERE id = ?', [ 'foo', 123 ])
//.then(onFinish, onError)
});
});
License
The MIT License