+

js-data logo

+ +

+js-data-angular bower version npm version Circle CI npm downloads License +

+ +

Angular wrapper for js-data.

+ +

+What happened Angular-data?

+ +

Js-data-angular is Angular-data 2.0, with js-data as the framework-agnostic core. Documentation for Angular-data 1.x can be found at angular-data.pseudobry.com.

+ +

+Guides

+ + + +

+Js-data-angular API Documentation

+ + + +

+Project Status

+ +

Latest Release: Latest Release

+ +

Status:

+ +

Dependency Status Coverage Status Codacity

+ +

Supported Platforms:

+ +

browsers

+ +

+Quick Start

+ +

bower install --save js-data js-data-angular or npm install --save js-data js-data-angular.

+ +

Load js-data-angular.js after js-data.js.

+ +
angular.module('myApp', ['js-data']);
+ +
angular.module('myApp').factory('Post', function (DS) {
+  return DS.defineResource('post');
+});
+angular.module('myApp').factory('Comment', function (DS) {
+  return DS.defineResource('comment');
+});
+ +
app.controller('postCtrl', function ($scope, $routeParams, Post, Comment) {
+  // it's up to your server to know how to interpret this query
+  // or you can teach js-data how to understand your servers' query language
+  var query = {
+    postId: $routeParams.id
+  };
+
+  Post.find($routeParams.id);
+  Comment.findAll(query);
+
+  // My goodness this was easy
+  Post.bindOne($routeParams.id, $scope, 'post');
+  Comment.bindAll(query, $scope, 'comments');
+
+  // Long form (same effect as above)
+  $scope.$watch(function () {
+    return Post.lastModified($routeParams.id);
+  }, function () {
+    $scope.post = Post.get($routeParams.id);
+  });
+  $scope.$watch(function () {
+    // Changes when anything in the Comment collection is modified
+    return Comment.lastModified();
+  }, function () {
+    $scope.comments = Comment.filter(query);
+  });
+});
+ +

+Changelog

+ +

CHANGELOG.md

+ +

+Community

+ + + +

+Contributing

+ +

First, feel free to contact me with questions. Mailing List. Issues.

+ +
    +
  1. Contribute to the issue that is the reason you'll be developing in the first place
  2. +
  3. Fork js-data-angular
  4. +
  5. git clone https://github.com/<you>/js-data-angular.git
  6. +
  7. cd js-data-angular; npm install; bower install;
  8. +
  9. +grunt go (builds and starts a watch)
  10. +
  11. (in another terminal) grunt karma:dev (runs the tests)
  12. +
  13. Write your code, including relevant documentation and tests
  14. +
  15. Submit a PR and we'll review
  16. +
+ +

+License

+ +

The MIT License (MIT)

+ +

Copyright (c) 2014-2015 Jason Dobry

+ +

Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions:

+ +

The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software.

+ +

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE.

+ + + +