{"version":3,"sources":["App.js","catalogueController.js","sursEqualHeightsDirective.js"],"names":["catalogueApp","angular","module","controller","$scope","$http","$rootScope","lang","states","options","selection","publications","preview","setPreviewPublications","method","url","success","data","setAllThemes","availableThemes","Theme","Id","setAllSubThemes","availableSubThemes","SubTheme","setYears","availableYears","Year","themeChanged","performSearch","count","search","Page","NumResults","NumberOfPages","Math","ceil","PageSize","showResults","changedPageSize","showLeadingPagingDots","Offset","PageWindow","showTrailingPagingDots","getCurrentPageNumbers","start","end","range","i","push","selectPage","p","nextPageWindow","previousPageWindow","availableLanguages","Name","availablePageSizes","availableSort","useCurrent","floor","PageLanguage","Language","Sort","directive","$timeout","restrict","scope","trigger","affect","imageClass","link","element","attrs","$watch","$evalAsync","find","bind","$","matchHeight","byRow"],"mappings":"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","file":"AngularCatalogueBundle.js","sourcesContent":["//angular.module('cataloguePageApp', ['ngRoute', 'genericModule', 'templates'])\r\n//.config(['$routeProvider', '$locationProvider', '$translateProvider',\r\n//    function ($routeProvider, $locationProvider, $translateProvider) {\r\n//        // enable nice routes\r\n//        $locationProvider.html5Mode({\r\n//            enabled: true,\r\n//            requireBase: false\r\n//        });\r\n\r\n//        // set routes\r\n//        $routeProvider.when(\"/Catalogue\", {\r\n//            caseInsensitiveMatch: true\r\n//        });\r\n//        $routeProvider.when(\"/:lang/Catalogue\", {\r\n//            caseInsensitiveMatch: true\r\n//        });\r\n\r\n//        // set angular-translate options\r\n//        $translateProvider\r\n//            .useSanitizeValueStrategy('sanitizeParameters')\r\n//            .useStaticFilesLoader({\r\n//                prefix: 'App/Catalogue/translations/locale-',\r\n//                suffix: '.json'\r\n//            });\r\n//    }]);\r\n\r\nvar catalogueApp = angular.module('cataloguePageApp', ['genericModule']);","catalogueApp\r\n.controller('catalogueController', ['$scope', '$http', '$rootScope', 'lang', \r\nfunction ($scope, $http, $rootScope, lang) {\r\n\r\n\r\n    //////////////////  SET OBJECTS  /////////////////////\r\n\r\n\r\n    $scope.states = {};\r\n    $scope.options = {};\r\n    $scope.selection = {};\r\n    $scope.publications = {};\r\n    $scope.preview = {};\r\n\r\n\r\n\r\n    //////////////////  FUNCTIONS  /////////////////////\r\n\r\n    //-------------- PREVIEW FUNCTIONS ----------------//\r\n\r\n    $scope.setPreviewPublications = function () {\r\n        $http({\r\n            method: 'GET',\r\n            url: lang + \"/Catalogue/GetExposedPublications\"\r\n        }).success(function (data) {\r\n            $scope.preview = data;\r\n         \r\n        });\r\n\r\n    }\r\n\r\n\r\n    //-------------- SEARCH FUNCTIONS ----------------//\r\n\r\n   $scope.setAllThemes = function () {\r\n        $http({\r\n            method: 'GET',\r\n            url: lang + '/Catalogue/GetFields'\r\n        }).success(function (data) {\r\n            $scope.options.availableThemes = data;\r\n            $scope.selection.Theme = $scope.options.availableThemes[0].Id;\r\n        });\r\n    }\r\n\r\n   $scope.setAllSubThemes = function () {\r\n       $http({\r\n           method: 'GET',\r\n           url: lang + '/Catalogue/GetSubFields'\r\n       }).success(function (data) {\r\n           $scope.options.availableSubThemes = data;\r\n           $scope.selection.SubTheme = $scope.options.availableSubThemes[0].Id;\r\n       });\r\n   }\r\n\r\n   $scope.setYears = function () {\r\n       $http({\r\n           method: 'GET',\r\n           url: lang + '/Catalogue/GetPublicationsYears'\r\n       }).success(function (data) {\r\n           $scope.options.availableYears = data;\r\n           $scope.selection.Year = $scope.options.availableYears[0].Id;\r\n       });\r\n\r\n   }\r\n\r\n\r\n   $scope.themeChanged = function () {\r\n\r\n       if ($scope.selection.Theme.Id == 0) {\r\n\r\n           $scope.setAllSubThemes();\r\n\r\n       } else {\r\n           $http({\r\n               method: 'GET',\r\n               url: lang + '/Catalogue/GetSubFieldsByField/'  + $scope.selection.Theme\r\n           }).success(function (data) {\r\n               $scope.options.availableSubThemes = data;\r\n               $scope.selection.SubTheme = $scope.options.availableSubThemes[0].Id;\r\n           });\r\n       }\r\n   }\r\n\r\n   $scope.performSearch = function (count) {\r\n       $scope.search(count);\r\n       $scope.selection.Page = 1;\r\n   };\r\n\r\n\r\n   $scope.search = function (count) {\r\n\r\n        if(count){        \r\n            $http({\r\n                method: 'POST',\r\n                url: lang + '/Catalogue/GetPublicationsCount',\r\n                data: $scope.selection\r\n            }).success(function (data) {\r\n                $scope.states.NumResults = data;\r\n                $scope.states.NumberOfPages = Math.ceil(data /\r\n                    $scope.selection.PageSize);\r\n            });\r\n        }\r\n\r\n\r\n       $http({\r\n           method: 'POST',\r\n           url: lang + '/Catalogue/GetPublications',\r\n           data: $scope.selection\r\n       }).success(function (data) {\r\n           $scope.publications.data = data;\r\n           $scope.states.showResults = true;\r\n       });\r\n\r\n   }\r\n\r\n\r\n    //-------------- PAGINATION ----------------//\r\n\r\n   $scope.changedPageSize = function () {\r\n       $scope.states.NumberOfPages = Math.ceil($scope.states.NumResults /\r\n           $scope.selection.PageSize);\r\n       $scope.selection.Page = 1;\r\n       $scope.search(true);\r\n   }; // changedPageSize\r\n\r\n\r\n   $scope.showLeadingPagingDots = function () {\r\n       if (($scope.selection.Page - $scope.states.Offset - 1 > 1) &&\r\n               (($scope.states.NumberOfPages - 2) / $scope.states.PageWindow > 1)) {\r\n           return true;\r\n       } // if\r\n\r\n       return false;\r\n   }; // showLeadingPagingDots\r\n\r\n\r\n   $scope.showTrailingPagingDots = function () {\r\n       if (($scope.selection.Page + $scope.states.Offset < $scope.states.NumberOfPages - 1) &&\r\n               (($scope.states.NumberOfPages - 2) / $scope.states.PageWindow > 1)) {\r\n           return true;\r\n       } // if\r\n\r\n       return false;\r\n   }; // showTrailingPagingDots\r\n\r\n\r\n   $scope.getCurrentPageNumbers = function () {\r\n       // check to see if there is enough space left for one \r\n       // page window of page numbers\r\n       if ($scope.states.NumberOfPages - 2 > 0) {\r\n           var start, end;\r\n           if ($scope.selection.Page == 1) {\r\n               start = 2;\r\n               end = $scope.states.PageWindow;\r\n           } // if\r\n           else if ($scope.selection.Page == $scope.states.NumberOfPages) {\r\n               start = $scope.states.NumberOfPages - $scope.states.PageWindow + 1;\r\n               end = $scope.states.NumberOfPages;\r\n           } // else\r\n           else {\r\n               start = $scope.selection.Page - $scope.states.Offset;\r\n               end = $scope.selection.Page + $scope.states.Offset;\r\n           } // else\r\n\r\n           start = (start == 1) ? 2 : start;\r\n           end = (end >= $scope.states.NumberOfPages) ?\r\n               ($scope.states.NumberOfPages - 1) : end;\r\n           var range = [];\r\n           for (var i = start; i <= end; i++)\r\n               range.push(i);\r\n           return range;\r\n       } // if\r\n\r\n       return [];\r\n   }; // getCurrentPageNumbers\r\n\r\n   $scope.selectPage = function (p) {\r\n       $scope.selection.Page = p;\r\n       $scope.search(false);\r\n   }; // selectPage\r\n\r\n\r\n   $scope.nextPageWindow = function () {\r\n       if ($scope.selection.Page < $scope.states.NumberOfPages) {\r\n           $scope.selection.Page += $scope.states.PageWindow;\r\n           if ($scope.selection.Page > $scope.states.NumberOfPages) {\r\n               $scope.selection.Page = $scope.states.NumberOfPages;\r\n           } // if\r\n           $scope.search(false);\r\n       } // if\r\n   }; // nextPageWindow\r\n\r\n   $scope.previousPageWindow = function () {\r\n       if ($scope.selection.Page > 1) {\r\n           $scope.selection.Page -= $scope.states.PageWindow;\r\n           if ($scope.selection.Page < 1) {\r\n               $scope.selection.Page = 1;\r\n           } // if\r\n           $scope.search(false);\r\n       } // if\r\n   }; // previousPageWindow\r\n\r\n\r\n\r\n    //////////////////  CHOICES  /////////////////////\r\n\r\n\r\n   if (lang == \"sl\") {\r\n       $scope.options.availableLanguages = [\r\n           { Id: 0, Name: \"- Vsi jeziki -\" },\r\n           { Id: 1, Name: \"dvojezična slovensko-angleška\" },\r\n           { Id: 2, Name: \"v slovenskem jeziku\" },\r\n           { Id: 3, Name: \"v anglešekm jeziku\" },\r\n       ]\r\n   } else {\r\n       $scope.options.availableLanguages = [\r\n           { Id: 0, Name: \"- All languages -\" },\r\n           { Id: 1, Name: \"bilingual Slovene-English\" },\r\n           { Id: 2, Name: \"in the Slovene language\" },\r\n           { Id: 3, Name: \"in the English language\" },\r\n       ]\r\n   }\r\n\r\n\r\n\r\n   $scope.options.availablePageSizes = [\r\n            { Id: 10, Name: \"10\" },\r\n           { Id: 20, Name: \"20\" },\r\n           { Id: 50, Name: \"50\" },\r\n           { Id: 100, Name: \"100\" }\r\n       ];\r\n\r\n       if (lang == \"sl\") {\r\n           $scope.options.availableSort = [\r\n               { Id: 0, Name: \"datum: padajoče\" },\r\n               { Id: 1, Name: \"datum: naraščajoče\" },\r\n               { Id: 2, Name: \"naslov: padajoče\" },\r\n               { Id: 3, Name: \"naslov: naraščajoče\" }\r\n           ]\r\n       } else {\r\n           $scope.options.availableSort = [\r\n               { Id: 0, Name: \"date: descending\" },\r\n               { Id: 1, Name: \"date: ascending\" },\r\n               { Id: 2, Name: \"title: descending\" },\r\n               { Id: 3, Name: \"title: ascending\" }\r\n           ]\r\n       }\r\n\r\n\r\n    //////////////////  Execute when controller is created   /////////////////////\r\n\r\n    $scope.states.showResults = false;\r\n    $scope.states.PageWindow = 3;\r\n    $scope.states.useCurrent = false;\r\n    $scope.states.Offset = Math.floor($scope.states.PageWindow / 2);\r\n\r\n    $scope.setPreviewPublications();\r\n\r\n    $scope.setAllThemes();\r\n    $scope.setAllSubThemes();\r\n    $scope.setYears();\r\n\r\n\r\n    $scope.selection.PageLanguage = lang;\r\n    $scope.selection.Language = $scope.options.availableLanguages[0].Id;\r\n    $scope.selection.PageSize = $scope.options.availablePageSizes[0].Id;\r\n    $scope.selection.Sort = $scope.options.availableSort[0].Id;\r\n    $scope.selection.Page = 1;\r\n\r\n\r\n\r\n\r\n\r\n    \r\n\r\n\r\n\r\n    \r\n\r\n    \r\n\r\n\r\n\r\n    \r\n\r\n\r\n\r\n}]);","catalogueApp\r\n.directive('sursEqualHeights', ['$timeout', function ($timeout) {\r\n    return {\r\n        restrict: 'E',\r\n        scope: {\r\n            trigger:'=',\r\n            affect:'@',\r\n            imageClass:\"@\"\r\n        },\r\n        link: function (scope, element, attrs) {\r\n\r\n            var watch = scope.$watch(function () { return scope.trigger; },\r\n\r\n                function () {\r\n                    scope.$evalAsync(function () {\r\n\r\n                        if (scope.imageClass) {\r\n                            element.find(scope.imageClass).bind('load', function () {\r\n                                $(scope.affect).matchHeight({\r\n                                    byRow: false\r\n                                });\r\n                            });\r\n                        } else {\r\n                            $(scope.affect).matchHeight({\r\n                                byRow: false\r\n                            });\r\n                        }                    \r\n                })\r\n\r\n            });\r\n        } // link\r\n    } // return\r\n}]);\r\n"],"sourceRoot":"/source/"}