PageSourceSearch

https://www.ciht.org.uk/assets/scripts/angular/directives/addToFavouritesDirective.js

js ciht.org.uk collected 2026-09-24 09:24:34 UTC 1,198 bytes, 37 lines download raw bytes

1app.directive('addToFavourites', ['relationResource', function (relationResource) {
2    return {
3        scope: {
4            elementid: '=',
5            favourite: '=',
6            favouriteCount: '='
7        },
8        restrict: 'A',
9        replace: true,
10        templateUrl: '/scripts/angular/templates/addToFavourites.html',
11        link: function(scope, element, attrs) {
12
13
14            var addFavourite = function(elementId) {
15                relationResource.addFavourite(elementId).then(function() {
16                });
17            }
18
19            var deleteFavourite = function(elementId) {
20                relationResource.deleteFavourite(elementId).then(function() {
21                });
22            }
23
24            scope.toggleFavourite = function() {
25                if (scope.favourite) {
26                    deleteFavourite(scope.elementid);
27                    scope.favourite = false;
28                    scope.favouriteCount--;
29                } else {
30                    addFavourite(scope.elementid);
31                    scope.favourite = true;
32                    scope.favouriteCount++;
33                }
34            }
35        }
36    }
37}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.