From 3b0e4bc03ecf2fae5761a0b716781b7d8940c63b Mon Sep 17 00:00:00 2001 From: Jason Dobry Date: Thu, 22 May 2014 20:58:08 -0600 Subject: [PATCH] Stable Version 0.9.0. Documentation improvements. --- CHANGELOG.md | 38 +++++++++++++++- Gruntfile.js | 13 ++---- guide/angular-data/adapters.doc | 55 ++++++++++++++++++++++++ guide/angular-data/adapters/adapters.doc | 47 -------------------- guide/nav.html | 3 ++ 5 files changed, 98 insertions(+), 58 deletions(-) create mode 100644 guide/angular-data/adapters.doc delete mode 100644 guide/angular-data/adapters/adapters.doc diff --git a/CHANGELOG.md b/CHANGELOG.md index 97d0a27..1c4bf41 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,9 +1,45 @@ ##### 0.9.0 - xx May 2014 -###### Breading API changes +###### Breaking API changes - #61 - Make custom serializers/deserializers more valuable - #59, #62 - Make queryTransform() consistent with the rest of the API +__Before:__ + +```js +DSHttpAdapterProvider.defaults.serialize = function (data) { ... }; +``` + +__After:__ + +```js +DSProvider.defaults.serialize = function (resourceName, data) { ... }; +``` + +__Before:__ + +```js +DSHttpAdapterProvider.defaults.deserialize = function (data) { ... }; +``` + +__After:__ + +```js +DSProvider.defaults.deserialize = function (resourceName, data) { ... }; +``` + +__Before:__ + +```js +DSHttpAdapterProvider.defaults.queryTransform = function (query) { ... }; +``` + +__After:__ + +```js +DSHttpAdapterProvider.defaults.queryTransform = function (resourceName, query) { ... }; +``` + ###### Backwards compatible API changes - #30, #48, #66 - DSCacheFactory integration - #49 - DS.bindOne($scope, prop, resourceName, id) diff --git a/Gruntfile.js b/Gruntfile.js index abaf93f..4aff525 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -239,6 +239,7 @@ module.exports = function (grunt) { 'guide/angular-data/asynchronous.doc', 'guide/angular-data/synchronous.doc', 'guide/angular-data/queries.doc', + 'guide/angular-data/adapters.doc', 'guide/angular-data/how.doc' ], rank: { @@ -248,7 +249,8 @@ module.exports = function (grunt) { asynchronous: 4, synchronous: 5, queries: 6, - how: 7 + adapters: 7, + how: 8 } }, { @@ -286,15 +288,6 @@ module.exports = function (grunt) { lifecycle: 5, custom: 6 } - }, - { - id: 'angular-data-adapters', - title: 'Adapters', - docs: ['guide/angular-data/adapters/'], - rank: { - index: 1, - overview: 2 - } } ] }, diff --git a/guide/angular-data/adapters.doc b/guide/angular-data/adapters.doc new file mode 100644 index 0000000..d9604b0 --- /dev/null +++ b/guide/angular-data/adapters.doc @@ -0,0 +1,55 @@ +@doc overview +@id adapters +@name Adapters +@description + +Angular-data ships with a `DSHttpAdapter` and a `DSLocalStorageAdapter`. This is default adapter +used for `DS.findAll`, `DS.update`, etc. + +Register a custom adapter: +```js +DS.adapters.myCustomAdapter = { ... }; +``` + +Other available adapters: + +- [DSLocalForageAdapter](https://github.com/jmdobry/angular-data-localForage) + +The default adapter can be set globally: + +```js +DSProvider.defaults.defaultAdapter = 'DSHttpAdapter'; +``` + +per resource: + +```js +DS.defineResource({ + name: 'user', + defaultAdapter: 'DSLocalForageAdapter' +}); +``` + +per method + +```js +DS.update('post', 45, { author: 'Sally' }, { adapter: 'DSLocalForageAdapter' }); +``` + +### Write Your Own Adapter + +For the data store to be able to use an adapter of yours, your adapter needs to implement the adapter API. Here it is: + +- `find` +- `findAll` +- `create` +- `update` +- `updateAll` +- `destroy` +- `destroyAll` + +Rather than repeat documentation here, you can find the method signatures and descriptions in the [DSHttpAdapter API](/documentation/api/angular-data/DSHttpAdapter.methods:find). + +The difference between the DSHttpAdapter and your adapter is that yours might not use HTTP, rather, it might interact with localStorage or indexedDb instead. + +You can post any questions on the [mailing list](https://groups.google.com/forum/?fromgroups#!forum/angular-data). diff --git a/guide/angular-data/adapters/adapters.doc b/guide/angular-data/adapters/adapters.doc deleted file mode 100644 index fc27a47..0000000 --- a/guide/angular-data/adapters/adapters.doc +++ /dev/null @@ -1,47 +0,0 @@ -@doc overview -@id index -@name Adapter guide -@description - -# Overview - - - -@doc overview -@id overview -@name Overview of adapters -@description - -Angular-data ships with a `DSHttpAdapter` and a `DSLocalStorageAdapter`. This is default adapter -used for `DS.findAll`, `DS.update`, etc. - -Register a custom adapter: -```js -DS.adapters.myCustomAdapter = { ... }; -``` - -Other available adapters: - -- [DSLocalStorageAdapter](https://github.com/jmdobry/angular-data/blob/master/src/adapters/localStorage.js) -- [DSLocalForageAdapter](https://github.com/jmdobry/angular-data-localForage) - -The default adapter can be set globally: - -```js -DSProvider.defaults.defaultAdapter = 'DSHttpAdapter'; -``` - -per resource: - -```js -DS.defineResource({ - name: 'user', - defaultAdapter: 'DSLocalForageAdapter' -}); -`` - -per method - -```js -DS.update('post', 45, { author: 'Sally' }, { adapter: 'DSLocalForageAdapter' }); -``` diff --git a/guide/nav.html b/guide/nav.html index 4c0d74c..71d94f2 100644 --- a/guide/nav.html +++ b/guide/nav.html @@ -37,6 +37,9 @@
  • Queries & Filtering
  • +
  • + Adapters +
  • How do I...?