angular_js_example-8.x-1.x-dev/js/angular_js_example.js

js/angular_js_example.js
/**
 * @file
 * Implement a simple, angular js.
 */

var singlePageModule = angular.module('myapp', [])
singlePageModule.controller('bookViewCtrl', function($scope,$http, $routeParams, sharedBooks) {
  $scope.name = 'bookViewCtrl';
  sharedBooks.getBooks().then(function(books) {
    $scope.books = books;
  });

  $scope.$on('handleSharedBooks', function(events, books) {
    $scope.books = books;
  });

  // Handling the submit button for the form.
  $scope.addNewBook = function(bookData) {
    $params = jQuery.param({
      "name": bookData.name,
      "price": bookData.price,
      "authorId": bookData.authorId,
      "bid": bookData.bid,
    });
   sharedBooks.saveBooks($params);
  }
  $scope.deleteBooks =  function(id) {
    $params = jQuery.param({
      "bid": id,
    });
    sharedBooks.deleteBooks($params);
  }
   $scope.editAnyBook = function(id) {
     var base_url = drupalSettings.angular_js_example.url_base;
     $http.get(base_url + '/json/edit_books_json/'+ id).then(function(response) {
       $scope.bookData =  response.data;
     });
   }
});


singlePageModule.factory('sharedBooks', ['$http', '$rootScope', function($http, $rootScope) {
  var books = [];
  return {
    getBooks: function() {
      var base_url = drupalSettings.angular_js_example.url_base;
      return $http.get(base_url + '/json/get_books_json').then(function(response) {
        books = response.data;
        $rootScope.$broadcast('handleSharedBooks', books);
        return books;
      })
    },
    saveBooks: function($params) {
      var base_url = drupalSettings.angular_js_example.url_base;
      return $http({
        headers: {'Content-Type': 'application/x-www-form-urlencoded'},
        url: base_url + '/json/save_form',
        method: "POST",
        data: $params
      })
      .success(function(addData) {
        books = addData;
        $rootScope.$broadcast('handleSharedBooks', books);
        return books;
      });
    },
    deleteBooks: function($params) {
      var base_url = drupalSettings.angular_js_example.url_base;
      return $http({
        headers: {'Content-Type': 'application/x-www-form-urlencoded'},
        url: base_url + '/json/delete_books_json',
        method: "POST",
        data: $params
      })
      .success(function(addData) {
        books = addData;
        $rootScope.$broadcast('handleSharedBooks', books);
        return books;
      });
    },
  };
}]).config(["$httpProvider", function(provider) {
  provider.defaults.headers.common['X-ANGULARJS'] = 1;
}]);;

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc