src/p4l/static/p4l/js/p4l.js
author ymh <ymh.work@gmail.com>
Sat, 07 Sep 2013 14:41:20 +0200
changeset 47 b07f8d11f2b8
parent 44 65912194e047
child 49 fcfa68f39f6b
permissions -rw-r--r--
Update angular. Implement rest save for records
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
26
a0e152dd1fad first version of angular intégration
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
a0e152dd1fad first version of angular intégration
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
// initialize the app
a0e152dd1fad first version of angular intégration
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
47
b07f8d11f2b8 Update angular.
ymh <ymh.work@gmail.com>
parents: 44
diff changeset
     4
var app = angular.module("recordApp", ['ngResource', 'ngRoute', 'pascalprecht.translate'])
26
a0e152dd1fad first version of angular intégration
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
33
945b144d68c1 put context variables in a single object
ymh <ymh.work@gmail.com>
parents: 28
diff changeset
     6
app.service("Api", function($resource, context) {
47
b07f8d11f2b8 Update angular.
ymh <ymh.work@gmail.com>
parents: 44
diff changeset
     7
    this.record = $resource(context.urls.record_api,
b07f8d11f2b8 Update angular.
ymh <ymh.work@gmail.com>
parents: 44
diff changeset
     8
            {},
b07f8d11f2b8 Update angular.
ymh <ymh.work@gmail.com>
parents: 44
diff changeset
     9
            {
b07f8d11f2b8 Update angular.
ymh <ymh.work@gmail.com>
parents: 44
diff changeset
    10
                get: {
b07f8d11f2b8 Update angular.
ymh <ymh.work@gmail.com>
parents: 44
diff changeset
    11
                    method: "GET",
b07f8d11f2b8 Update angular.
ymh <ymh.work@gmail.com>
parents: 44
diff changeset
    12
                    isArray: false
b07f8d11f2b8 Update angular.
ymh <ymh.work@gmail.com>
parents: 44
diff changeset
    13
                },
b07f8d11f2b8 Update angular.
ymh <ymh.work@gmail.com>
parents: 44
diff changeset
    14
                save:{
b07f8d11f2b8 Update angular.
ymh <ymh.work@gmail.com>
parents: 44
diff changeset
    15
                    method:"PUT",
b07f8d11f2b8 Update angular.
ymh <ymh.work@gmail.com>
parents: 44
diff changeset
    16
                    isArray:false,
b07f8d11f2b8 Update angular.
ymh <ymh.work@gmail.com>
parents: 44
diff changeset
    17
                    headers:{'X-CSRFToken':context.csrf_token} 
b07f8d11f2b8 Update angular.
ymh <ymh.work@gmail.com>
parents: 44
diff changeset
    18
                } 
b07f8d11f2b8 Update angular.
ymh <ymh.work@gmail.com>
parents: 44
diff changeset
    19
            });
26
a0e152dd1fad first version of angular intégration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
});
a0e152dd1fad first version of angular intégration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
33
945b144d68c1 put context variables in a single object
ymh <ymh.work@gmail.com>
parents: 28
diff changeset
    22
app.controller("RecordCtrl", function($scope, Api, context){
945b144d68c1 put context variables in a single object
ymh <ymh.work@gmail.com>
parents: 28
diff changeset
    23
    $scope.record = Api.record.get({recordId: context.record_id});
34
cfc090f440d0 add uri labels + dict
ymh <ymh.work@gmail.com>
parents: 33
diff changeset
    24
    $scope.uriLabels = context.uri_labels;
35
544bc92e6fe7 correct and first add subject
cavaliet
parents: 34
diff changeset
    25
    
544bc92e6fe7 correct and first add subject
cavaliet
parents: 34
diff changeset
    26
    $scope.addSubject = function() {
544bc92e6fe7 correct and first add subject
cavaliet
parents: 34
diff changeset
    27
    	$scope.record.subjects.push($scope.addSubjectText);
544bc92e6fe7 correct and first add subject
cavaliet
parents: 34
diff changeset
    28
    	$scope.addSubjectText = '';
544bc92e6fe7 correct and first add subject
cavaliet
parents: 34
diff changeset
    29
    };
544bc92e6fe7 correct and first add subject
cavaliet
parents: 34
diff changeset
    30
    
38
c4e5bb735ec1 jquery autocomplete with angular for subjects
cavaliet
parents: 35
diff changeset
    31
    $scope.updateUriLabelDict = function(k,v) {
c4e5bb735ec1 jquery autocomplete with angular for subjects
cavaliet
parents: 35
diff changeset
    32
    	$scope.uriLabels[k] = v;
c4e5bb735ec1 jquery autocomplete with angular for subjects
cavaliet
parents: 35
diff changeset
    33
    };
47
b07f8d11f2b8 Update angular.
ymh <ymh.work@gmail.com>
parents: 44
diff changeset
    34
        
b07f8d11f2b8 Update angular.
ymh <ymh.work@gmail.com>
parents: 44
diff changeset
    35
    $scope.submitRecord = function() {
b07f8d11f2b8 Update angular.
ymh <ymh.work@gmail.com>
parents: 44
diff changeset
    36
        $scope.record.$save({recordId: context.record_id});
b07f8d11f2b8 Update angular.
ymh <ymh.work@gmail.com>
parents: 44
diff changeset
    37
    }
38
c4e5bb735ec1 jquery autocomplete with angular for subjects
cavaliet
parents: 35
diff changeset
    38
    
44
65912194e047 delete subject and update lang
cavaliet
parents: 42
diff changeset
    39
    $scope.removeSubject = function(uri) {
65912194e047 delete subject and update lang
cavaliet
parents: 42
diff changeset
    40
    	i = $scope.record.subjects.indexOf(uri);
65912194e047 delete subject and update lang
cavaliet
parents: 42
diff changeset
    41
    	if(i>=0){
65912194e047 delete subject and update lang
cavaliet
parents: 42
diff changeset
    42
    		$scope.record.subjects.splice(i, 1);
65912194e047 delete subject and update lang
cavaliet
parents: 42
diff changeset
    43
    	}
65912194e047 delete subject and update lang
cavaliet
parents: 42
diff changeset
    44
    };
26
a0e152dd1fad first version of angular intégration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    45
});
a0e152dd1fad first version of angular intégration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    46
a0e152dd1fad first version of angular intégration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    47
app.config(['$routeProvider', function($routeProvider) {
a0e152dd1fad first version of angular intégration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    48
//    $routeProvider.when('/', {controller: 'RecordCtrl', templateUrl: 'partials/record.html'});
a0e152dd1fad first version of angular intégration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    49
//    $routeProvider.otherwise({redirectTo: '/'});
a0e152dd1fad first version of angular intégration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    50
  }]);
28
f26426e9360b update view simplification. Baby step towards complete form.
ymh <ymh.work@gmail.com>
parents: 26
diff changeset
    51