{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./source/js/publication-list-view.js"],"names":["installedModules","__webpack_require__","moduleId","module","i","l","exports","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","angular","controller","$scope","$locale","$http","getPublications","prid","amount","start","year","loading","iSpinner","then","response","publicationData","data","publicationDataValid","error","pagiPages","pageNumbers","pageAmount","Hits","pagiAmount","push","totalPagiSections","Math","floor","length","pagiSectionSize","Publications","keys","noResults","itemDate","dateString","parsedDate","Date","isNaN","getTime","itemSize","size","toFixed","itemTitle","item","useAltTitle","AlternativeTitle","Title","Text","itemAuthors","str","Authors","Name","PublishDate","getFullYear","popularizedAbstract","temp","str2","showPop","PopularizedAbstract","wordsArray","split","join","pagiHits","pagiIndex","pagiChanged","pageNumber","pagiSelected","selectedPagiSection","selectedYear","sectionChanged","sectionNumber","getReports","rrid","paginationFilter","page","yearChanged","filterDataValid","moreResults","noItems","showPubDesc","showPubDate","swapFields","filterData","PublicationYears","TotalHits","directive","$timeout","restrict","link","scope","element","attr","$last","$emit","onFinishRender"],"mappings":"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","file":"publication-list.bundle.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 510);\n","if (typeof (angular) !== \"undefined\") {\r\n angular.module(\"publicationListViewApp\", []);\r\n\r\n angular.module(\"publicationListViewApp\").controller(\"publicationListViewController\", [\"$scope\", \"$locale\", \"$http\", function ($scope, $locale, $http) {\r\n\r\n //Parseroidaan apin palauttama päivämäärätieto\r\n //$scope.itemDate = function (dateString) {\r\n // if (typeof dateString !== \"undefined\" && dateString !== null) {\r\n // var parsed = parseInt(dateString.replace(/[^0-9\\-]/g, ''));\r\n // return parsed < 0 ? \"\" : new Date(parsed);\r\n // }\r\n // else\r\n // return \"\";\r\n //};\r\n $scope.itemDate = function (dateString) {\r\n if (typeof dateString !== \"undefined\" && dateString !== null) {\r\n // Directly parse the ISO 8601 string\r\n const parsedDate = new Date(dateString);\r\n return isNaN(parsedDate.getTime()) ? \"\" : parsedDate;\r\n } else {\r\n return \"\";\r\n }\r\n };\r\n\r\n //Tavut megatavuiksi\r\n $scope.itemSize = function (size) {\r\n if (typeof size !== \"undefined\" && size !== null && typeof size === \"number\")\r\n return (size / 1024 / 1024).toFixed(1);\r\n else\r\n return \"\";\r\n };\r\n\r\n //Palauttaa halutun otsikkokentän\r\n $scope.itemTitle = function (item) {\r\n if (useAltTitle && typeof item.AlternativeTitle !== \"undefined\" && item.AlternativeTitle !== null)\r\n return item.AlternativeTitle;\r\n else\r\n return item.Title.Text;\r\n };\r\n\r\n //Palauttaa muotoillun tekijälistan\r\n $scope.itemAuthors = function (item) {\r\n var str = \"\";\r\n for (var i = 0; i < item.Authors.length; i++) {\r\n str += (item.Authors[i].Name + (i < item.Authors.length - 1 ? \"; \" : \"\"));\r\n }\r\n\r\n if (item.Authors.length > 0) {\r\n var year = $scope.itemDate(item.PublishDate);\r\n if (year != \"\")\r\n str += \" (\" + year.getFullYear() + \")\";\r\n }\r\n\r\n return str;\r\n };\r\n\r\n //Palauttaa kuvauksen \r\n $scope.popularizedAbstract = function (item) {\r\n var str = \"\";\r\n var str2 = \"\";\r\n var temp = \"\";\r\n if (showPop && typeof item.PopularizedAbstract !== \"undefined\" && item.PopularizedAbstract !== null) {\r\n str += (item.PopularizedAbstract.Text);\r\n }\r\n if (str !== null && str !== \"undefined\") {\r\n const wordsArray = str.split(\" \")\r\n for (var i = 0; i < wordsArray.length; i++) {\r\n if (wordsArray[i] == \"FOCUS\" || wordsArray[i] == \"CONTRIBUTION\" || wordsArray[i] == \"FINDINGS\") {\r\n temp = wordsArray[i]\r\n wordsArray[i] = ('\\n\\n'+ temp + '\\n\\n');\r\n } \r\n }\r\n str2 = wordsArray.join(' ');\r\n } \r\n return str2\r\n }\r\n\r\n ////Palauttaa lyhennetyn kuvauksen\r\n //$scope.popularizedShortenedAbstract = function (item) {\r\n\r\n // var str = \"\";\r\n // var result = \"\";\r\n // if (showPop && typeof item.PopularizedAbstract !== \"undefined\" && item.PopularizedAbstract !== null)\r\n // str += (item.PopularizedAbstract.Text);\r\n // result += str.slice(0, 35);\r\n // return result\r\n //}\r\n\r\n //$scope.ShowHide = function (event) {\r\n // //If DIV is visible it will be hidden and vice versa.\r\n // alert(event);\r\n // $scope.IsVisible = $scope.IsVisible ? false : true;\r\n //}\r\n\r\n function getPages() {\r\n var pageNumbers = [];\r\n var pageAmount = $scope.publicationData.Hits / $scope.pagiAmount + ($scope.publicationData.Hits % $scope.pagiAmount != 0 ? 1 : 0);\r\n for (var i = 1; i <= pageAmount; i++) {\r\n pageNumbers.push(i);\r\n }\r\n return pageNumbers;\r\n };\r\n\r\n function getPagiSections() {\r\n return Math.floor($scope.pagiPages.length / $scope.pagiSectionSize) + ($scope.pagiPages.length % $scope.pagiSectionSize != 0 ? 1 : 0);\r\n }\r\n\r\n //Hakee halutun vuoden julkaisut, tukee sivutusta\r\n function getPublications(prid, amount, start, year) {\r\n $scope.loading = true;\r\n iSpinner(true);\r\n \r\n $http.get(\"/api/publications/\" + prid + \"?amount=\" + amount + \"&start=\" + start + \"&year=\" + year)\r\n .then(function successCallback(response) {\r\n $scope.publicationData = response.data;\r\n $scope.publicationDataValid = (typeof $scope.publicationData !== \"undefined\" && $scope.publicationData !== null);\r\n }, function errorCallback() {\r\n $scope.publicationDataValid = false;\r\n $scope.error = true;\r\n }).then(function () {\r\n $scope.loading = false;\r\n if ($scope.publicationDataValid) {\r\n $scope.pagiPages = getPages();\r\n $scope.totalPagiSections = getPagiSections();\r\n if (typeof $scope.publicationData.Publications !== \"undefined\" && $scope.publicationData.Publications !== null && (Object.keys($scope.publicationData.Publications).length > 0)) {\r\n $scope.noResults = false;\r\n iSpinner(false);\r\n } else {\r\n $scope.noResults = true;\r\n iSpinner(false);\r\n }\r\n } else {\r\n $scope.error = true;\r\n }\r\n })\r\n };\r\n\r\n $scope.pagiHits = function () {\r\n if ($scope.publicationData.Hits < $scope.pagiAmount)\r\n return $scope.publicationData.Hits;\r\n if ($scope.pagiIndex + $scope.pagiAmount > $scope.publicationData.Hits)\r\n return $scope.publicationData.Hits;\r\n\r\n return $scope.pagiIndex + $scope.pagiAmount;\r\n };\r\n\r\n $scope.pagiChanged = function (pageNumber) {\r\n iSpinner(true);\r\n $scope.pagiSelected = pageNumber;\r\n $scope.pagiIndex = (pageNumber - 1) * $scope.pagiAmount;\r\n\r\n $scope.selectedPagiSection = Math.floor(pageNumber / $scope.pagiSectionSize) + (pageNumber % $scope.pagiSectionSize != 0 ? 1 : 0)\r\n\r\n if ($scope.pagiIndex < 0)\r\n $scope.pagiIndex = 0;\r\n\r\n if ($scope.pagiIndex > $scope.publicationData.Hits)\r\n $scope.pagiIndex -= $scope.pagiAmount;\r\n\r\n getPublications(prid, $scope.pagiAmount, $scope.pagiIndex, $scope.selectedYear);\r\n };\r\n\r\n $scope.sectionChanged = function (sectionNumber) {\r\n if (sectionNumber < 1)\r\n $scope.selectedPagiSection = 1;\r\n else if (sectionNumber > $scope.totalPagiSections)\r\n $scope.selectedPagiSection = $scope.totalPagiSections;\r\n else\r\n $scope.selectedPagiSection = sectionNumber;\r\n\r\n $scope.pagiSelected = (($scope.selectedPagiSection - 1) * $scope.pagiSectionSize) + 1;\r\n $scope.pagiIndex = ($scope.pagiSelected - 1) * $scope.pagiAmount;\r\n\r\n getReports(rrid, $scope.pagiAmount, $scope.pagiIndex);\r\n }\r\n\r\n $scope.paginationFilter = function (page) {\r\n var value = page / $scope.pagiSectionSize;\r\n value = value % 1 == 0 ? value : Math.floor(value + 1);\r\n return (value == $scope.selectedPagiSection);\r\n }\r\n\r\n //Laukeaa kun vuosivalinta vaihtuu\r\n $scope.yearChanged = function () {\r\n iSpinner(true);\r\n $scope.pagiIndex = 0;\r\n $scope.pagiSelected = 1;\r\n $scope.selectedPagiSection = 1;\r\n getPublications(prid, $scope.pagiAmount, $scope.pagiIndex, $scope.selectedYear);\r\n };\r\n\r\n //Haetaan filtterille tiedot ja ensimmäisen vuoden julkaisut\r\n function init() {\r\n if (typeof prid === 'number' && typeof pagiAmount === 'number' && typeof showPubDesc === \"boolean\" && typeof showPubDate === \"boolean\" && typeof useAltTitle === \"boolean\" && typeof showPop === \"boolean\") {\r\n //Sivupropertyistä saatavat parametrit:\r\n $scope.pagiAmount = pagiAmount;\r\n $scope.showPubDate = showPubDate;\r\n $scope.showPubDesc = showPubDesc;\r\n $scope.useAltTitle = useAltTitle;\r\n $scope.swapFields = swapFields;\r\n $scope.showPop = showPop;\r\n\r\n //Filtteri- ja sivutusmuuttujat\r\n $scope.pagiSectionSize = 10;\r\n $scope.selectedPagiSection = 1;\r\n $scope.totalPagiSections;\r\n $scope.selectedYear;\r\n $scope.pagiIndex = 0;\r\n $scope.pagiSelected = 1;\r\n $scope.publicationData;\r\n $scope.filterData;\r\n\r\n $scope.loading = true;\r\n iSpinner(true);\r\n $http.get(\"/api/publications/filterdata/\" + prid)\r\n .then(function successCallback(response) {\r\n $scope.filterData = response.data;\r\n $scope.filterDataValid = (typeof $scope.filterData !== \"undefined\" && $scope.filterData !== null);\r\n }, function errorCallBack() {\r\n $scope.filterDataValid = false;\r\n $scope.error = true;\r\n }).then(function () {\r\n if ($scope.filterDataValid) {\r\n if (typeof $scope.filterData.PublicationYears !== \"undefined\" && $scope.filterData.PublicationYears !== null && (Object.keys($scope.filterData.PublicationYears).length > 0) && typeof $scope.filterData.TotalHits !== \"undefined\" && $scope.filterData.TotalHits !== null && $scope.filterData.TotalHits > 0) {\r\n $scope.selectedYear = $scope.filterData.PublicationYears[0];\r\n getPublications(prid, $scope.pagiAmount, $scope.pagiIndex, $scope.selectedYear)\r\n $scope.noItems = false;\r\n iSpinner(false);\r\n } else {\r\n $scope.loading = false;\r\n $scope.noItems = true;\r\n iSpinner(false);\r\n }\r\n } else {\r\n $scope.loading = false;\r\n $scope.error = true;\r\n iSpinner(false);\r\n }\r\n })\r\n } else {\r\n $scope.error = true;\r\n }\r\n };\r\n\r\n //Datan validointi & virheviestit\r\n $scope.filterDataValid = false;\r\n $scope.publicationDataValid = false;\r\n $scope.loading = false;\r\n $scope.moreResults = false;\r\n $scope.noResults = false;\r\n $scope.noItems = false;\r\n $scope.error = false;\r\n\r\n init();\r\n\r\n }]);\r\n\r\n angular.module('publicationListViewApp').directive('onFinishRender', [\"$timeout\", function ($timeout) {\r\n return {\r\n restrict: 'A',\r\n link: function (scope, element, attr) {\r\n if (scope.$last === true) {\r\n $timeout(function () {\r\n scope.$emit(attr.onFinishRender);\r\n });\r\n }\r\n }\r\n }\r\n }]);\r\n\r\n};\r\n"],"sourceRoot":""}