angularjs ngResource CouchDB localhost in progress
angularjs ngResource CouchDB localhost (evolved from Twitter example) in progress
by Warwick Grigg
HTML
<script src="http://code.angularjs.org/1.0.6/angular.min.js"></script>
<script src="http://code.angularjs.org/1.0.6/angular-resource.min.js"></script>
<div ng-controller="CouchDBCtrl">
<form class="form-horizontal">
<input type="text" ng-model="viewOrDoc">
<button class="btn" ng-click="doCreate()"><i class="icon-search"></i>Create</button>
<button class="btn" ng-click="doRead()"><i class="icon-search"></i>Read</button>
<button class="btn" ng-click="doUpdate()"><i class="icon-search"></i>Update</button>
<button class="btn" ng-click="doDelete()"><i class="icon-search"></i>Delete</button>
</form>
<pre> {{CouchDBResult|json}} </pre>
<pre> {{idrev|json}} </pre>
<pre> {{createtestdoc|json}} </pre>
<pre> {{updatetestdoc|json}} </pre>
</div>
JavaScript
angular.module('CouchDB', ['ngResource']);
function CouchDBCtrl($scope, $resource) {
$scope.createtestdoc = {firstname: 'Warick', lastname: 'Grigg'};
$scope.updatetestdoc = {firstname: 'Warwick', lastname: 'Grigg'};
$scope.idrev = {};
$scope.CouchDB = $resource('http://localhost\\:5984/:db/:q',
{db: 'telabase01', q: '@q'},
{update: {method:'PUT'}});
$scope.doCreate = function () {
$scope.CouchDBResult = $scope.CouchDB.save({},$scope.createtestdoc);
};
$scope.doRead = function () {
console.log('clicked');
$scope.CouchDBResult = $scope.CouchDB.get({q:$scope.viewOrDoc});
console.log($scope.CouchDBResult);
};
$scope.doUpdate = function () {
$scope.idrev.id = $scope.CouchDBResult.id;
$scope.idrev.rev = $scope.CouchDBResult.rev;
$scope.updatetestdoc._rev = $scope.idrev.rev;
$scope.CouchDBResult = $scope.CouchDB.update({q:$scope.idrev.id},$scope.updatetestdoc);
};
$scope.doDelete = function () {
$scope.idrev.id = $scope.CouchDBResult.id;
$scope.idrev.rev = $scope.CouchDBResult.rev;
$scope.updatetestdoc._rev = $scope.idrev.rev;
$scope.CouchDBResult = $scope.CouchDB.delete();
};
}