Skip to content

Commit 03e4872

Browse files
[Dependence] Remove angular-sql-storage dependencie
1 parent 49f7d20 commit 03e4872

File tree

7 files changed

+117
-62
lines changed

7 files changed

+117
-62
lines changed

README.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,15 +49,17 @@ You can helped by [angular-sql-storage](https://github.com/SimpliField/angular-s
4949
**Example**
5050

5151
```js
52-
var user = new sqlStorageService(name, options);
52+
var user = new sqlStorageService(name, database, options);
5353
```
5454

5555
**Params**
5656
- `name` [String] - Table name
57+
- `database` [Promise] - Promise that return SQL database instance.
5758
- `options` [Object] - Query options
5859
- `indexed_fields` [Array] - Fields referenced in database.
5960
```js
60-
var user = new sqlStorageService('user', {
61+
var databaseInstance = $window.openDatabase('test', '1', 'database', 200000);
62+
var user = new sqlStorageService('user', $q.when(databaseInstance), {
6163
indexed_fields: ['name'],
6264
});
6365
```

angular-sql-query.js

Lines changed: 29 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,13 @@
22
'use strict';
33

44
angular
5-
.module('sf.sqlQuery', [
6-
'sf.sqlStorage',
7-
])
5+
.module('sf.sqlQuery', [])
86
.factory('SqlQueryService', SqlQueryService);
97

108
// @ngInject
11-
function SqlQueryService($log, $q, sqlStorageService) {
9+
function SqlQueryService($log, $q) {
1210

13-
function SqlQuery(name, options) {
11+
function SqlQuery(name, database, options) {
1412
var indexedFields;
1513
var fields;
1614
var questionsMark;
@@ -29,11 +27,13 @@
2927
questionsMark: questionsMark,
3028
};
3129

32-
this.backUpDB = function backUpDB() {
33-
return sqlStorageService.initTables();
34-
};
30+
this.backUpDB = backUpDB;
3531

3632
return this;
33+
34+
function backUpDB() {
35+
return database;
36+
}
3737
}
3838

3939
// Methods
@@ -231,11 +231,29 @@
231231
// HELPERS
232232
//
233233
//-----------------
234+
/**
235+
* Make SQLite request
236+
*
237+
* @param {String} query - SQL Query
238+
* @param {[Array]} datas - Datas for querying
239+
* @return {Promise} - Request result
240+
*/
234241
function execute(query, datas) {
235-
return this.backUpDB().then(function() {
236-
return sqlStorageService.execute(query, datas);
242+
var q = $q.defer();
243+
244+
this.backUpDB().then(function(database) {
245+
database.transaction(function(tx) {
246+
tx.executeSql(query, datas, function(sqlTx, result) {
247+
q.resolve(result);
248+
}, function(transaction, error) {
249+
q.reject(error);
250+
});
251+
});
237252
});
253+
254+
return q.promise;
238255
}
256+
239257
/**
240258
* Construct the method to delete datas
241259
*
@@ -370,5 +388,5 @@
370388

371389
return SqlQuery;
372390
}
373-
SqlQueryService.$inject = ["$log", "$q", "sqlStorageService"];
391+
SqlQueryService.$inject = ["$log", "$q"];
374392
}());

angular-sql-query.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

bower.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@
1919
"gulpfile.js"
2020
],
2121
"devDependencies": {
22-
"angular-mocks": ">=1.2.26 <=1.5"
22+
"angular-mocks": ">=1.2.26 <=1.5",
23+
"es5-shim": "~4.1.11"
2324
},
2425
"dependencies": {
25-
"angular": ">=1.2.26 <=1.5",
26-
"angular-sql-storage": "~0.0.3"
26+
"angular": ">=1.2.26 <=1.5"
2727
}
2828
}

karma.conf.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,9 @@
1818

1919
// list of files / patterns to load in the browser
2020
files: [
21+
'bower_components/es5-shim/es5-shim.js',
2122
'bower_components/angular/angular.js',
2223
'bower_components/angular-mocks/angular-mocks.js',
23-
'bower_components/angular-sql-storage/angular-sql-storage.js',
24-
'bower_components/angular-local-storage/dist/angular-local-storage.js',
2524
'angular-sql-query.js',
2625
'src/*.spec.js',
2726
],

src/angular-sql-query.js

Lines changed: 28 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,13 @@
22
'use strict';
33

44
angular
5-
.module('sf.sqlQuery', [
6-
'sf.sqlStorage',
7-
])
5+
.module('sf.sqlQuery', [])
86
.factory('SqlQueryService', SqlQueryService);
97

108
// @ngInject
11-
function SqlQueryService($log, $q, sqlStorageService) {
9+
function SqlQueryService($log, $q) {
1210

13-
function SqlQuery(name, options) {
11+
function SqlQuery(name, database, options) {
1412
var indexedFields;
1513
var fields;
1614
var questionsMark;
@@ -29,11 +27,13 @@
2927
questionsMark: questionsMark,
3028
};
3129

32-
this.backUpDB = function backUpDB() {
33-
return sqlStorageService.initTables();
34-
};
30+
this.backUpDB = backUpDB;
3531

3632
return this;
33+
34+
function backUpDB() {
35+
return database;
36+
}
3737
}
3838

3939
// Methods
@@ -231,11 +231,29 @@
231231
// HELPERS
232232
//
233233
//-----------------
234+
/**
235+
* Make SQLite request
236+
*
237+
* @param {String} query - SQL Query
238+
* @param {[Array]} datas - Datas for querying
239+
* @return {Promise} - Request result
240+
*/
234241
function execute(query, datas) {
235-
return this.backUpDB().then(function() {
236-
return sqlStorageService.execute(query, datas);
242+
var q = $q.defer();
243+
244+
this.backUpDB().then(function(database) {
245+
database.transaction(function(tx) {
246+
tx.executeSql(query, datas, function(sqlTx, result) {
247+
q.resolve(result);
248+
}, function(transaction, error) {
249+
q.reject(error);
250+
});
251+
});
237252
});
253+
254+
return q.promise;
238255
}
256+
239257
/**
240258
* Construct the method to delete datas
241259
*

0 commit comments

Comments
 (0)