node package manager
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

angular-sqlite

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: 'eduardo.cuomo.ar@gmail.com',
    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

License The MIT License