{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./source/js/expense-report-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","getReports","rrid","amount","start","dateType","loading","iSpinner","selectedStartDate","Date","selectedTimeSpan","StartYear","StartMonth","getTime","selectedEndDate","EndYear","EndMonth","execs","selectedExecutives","length","Selected","push","Name","post","Executives","EarliestDate","LatestDate","TotalHits","DateType","then","response","reportData","data","reportDataValid","error","pagiPages","pageNumbers","pageAmount","Hits","pagiAmount","totalPagiSections","Math","floor","pagiSectionSize","Reports","keys","noResults","toggleRefiners","element","document","getElementById","button","classList","toggle","contains","setAttribute","monthName","monthNumber","MonthNames","disableUpperMonths","month","disableUpperYears","year","disableLowerMonths","disableLowerYears","setOrder","sortByString","reverse","order","fileName","url","toString","match","selectionChanged","pagiIndex","pagiSelected","selectedPagiSection","filterData","pagiHits","pagiChanged","pageNumber","sectionChanged","sectionNumber","paginationFilter","page","dateTypeSelect","item","TravelDate","ExpenseDate","filterDataValid","moreResults","noItems","rDateType","execSelector","oldest","youngest","now","yearSelection","getFullYear","DATETIME_FORMATS","STANDALONEMONTH","MonthSelection","YearSelection","getMonth"],"mappings":"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","file":"expense-report-view.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 = 509);\n","if (typeof (angular) !== \"undefined\") {\r\n angular.module(\"expenseReportViewApp\", []);\r\n angular.module(\"expenseReportViewApp\").controller(\"expenseReportViewController\", [\"$scope\", \"$locale\", \"$http\", function ($scope, $locale, $http) {\r\n function initSelectedExecutives() {\r\n var execs = $scope.filterData.Executives;\r\n var execSelector = [];\r\n for (var i = 0; i < execs.length; i++) {\r\n execSelector.push({ Name: execs[i], Selected: true });\r\n }\r\n return execSelector;\r\n };\r\n\r\n\r\n $scope.toggleRefiners = function toggleRefiners() {\r\n const element = document.getElementById(\"expense-refiners\"); \r\n const button = document.getElementById(\"toggler\");\r\n element.classList.toggle(\"open\");\r\n button.classList.toggle(\"open\");\r\n if (button.classList.contains(\"open\")) {\r\n button.setAttribute('aria-expanded', 'true');\r\n } else {\r\n button.setAttribute('aria-expanded', 'false');\r\n }\r\n }\r\n\r\n function initTimeSpan() {\r\n var oldest = new Date($scope.filterData.EarliestDate);\r\n var youngest = new Date($scope.filterData.LatestDate);\r\n\r\n var now = new Date();\r\n oldest = new Date(oldest);\r\n youngest = new Date(youngest);\r\n\r\n var yearSelection = [];\r\n for (var i = oldest.getFullYear() ; i <= now.getFullYear() ; i++) {\r\n yearSelection.push(i);\r\n }\r\n\r\n return {\r\n MonthNames: $locale.DATETIME_FORMATS.STANDALONEMONTH,\r\n MonthSelection: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11],\r\n YearSelection: yearSelection,\r\n StartMonth: 0,\r\n StartYear: oldest.getFullYear(),\r\n EndMonth: now.getMonth(),\r\n EndYear: now.getFullYear()\r\n };\r\n };\r\n\r\n $scope.monthName = function (monthNumber) {\r\n return $scope.selectedTimeSpan.MonthNames[monthNumber];\r\n };\r\n\r\n\r\n function checkDateBounds() {\r\n if ($scope.selectedTimeSpan.EndYear == $scope.selectedTimeSpan.StartYear) {\r\n if ($scope.selectedTimeSpan.StartMonth > $scope.selectedTimeSpan.EndMonth)\r\n $scope.selectedTimeSpan.StartMonth = $scope.selectedTimeSpan.EndMonth;\r\n }\r\n };\r\n\r\n $scope.disableUpperMonths = function (month) {\r\n if ($scope.selectedTimeSpan.StartYear == $scope.selectedTimeSpan.EndYear) {\r\n if (month > $scope.selectedTimeSpan.EndMonth)\r\n return true;\r\n }\r\n return false;\r\n };\r\n\r\n $scope.disableUpperYears = function (year) {\r\n if (year > $scope.selectedTimeSpan.EndYear) {\r\n return true;\r\n }\r\n return false;\r\n };\r\n\r\n $scope.disableLowerMonths = function (month) {\r\n if ($scope.selectedTimeSpan.StartYear == $scope.selectedTimeSpan.EndYear) {\r\n if (month < $scope.selectedTimeSpan.StartMonth)\r\n return true;\r\n }\r\n return false;\r\n };\r\n\r\n $scope.disableLowerYears = function (year) {\r\n if (year < $scope.selectedTimeSpan.StartYear) {\r\n return true;\r\n }\r\n return false;\r\n };\r\n\r\n $scope.setOrder = function (sortByString) {\r\n $scope.reverse = !$scope.reverse;\r\n $scope.order = sortByString;\r\n };\r\n\r\n $scope.fileName = function (url) {\r\n if (url) {\r\n var m = url.toString().match(/\\/([^\\/?,#]+)[^\\/]*$/);\r\n if (m && m.length > 1) {\r\n return m[1];\r\n }\r\n }\r\n return \"\";\r\n };\r\n\r\n function getPages () {\r\n var pageNumbers = [];\r\n var pageAmount = $scope.reportData.Hits / $scope.pagiAmount + ($scope.reportData.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 function getReports(rrid, amount, start, dateType) {\r\n $scope.loading = true;\r\n iSpinner(true);\r\n var selectedStartDate = new Date($scope.selectedTimeSpan.StartYear, $scope.selectedTimeSpan.StartMonth, 1, 0).getTime();\r\n var selectedEndDate = new Date($scope.selectedTimeSpan.EndYear, $scope.selectedTimeSpan.EndMonth + 1, 0, 23, 59, 59, 0).getTime();\r\n\r\n var execs = [];\r\n for (var i = 0; i < $scope.selectedExecutives.length; i++) {\r\n if ($scope.selectedExecutives[i].Selected == true)\r\n execs.push($scope.selectedExecutives[i].Name);\r\n }\r\n \r\n\r\n var reportParams = { Executives: execs, EarliestDate: selectedStartDate, LatestDate: selectedEndDate, TotalHits: 0, DateType: dateType };\r\n $http.post(\"/api/expensereports/\" + rrid + \"?amount=\" + amount + \"&start=\" + start, reportParams)\r\n .then(function successCallback(response) {\r\n $scope.reportData = response.data;\r\n $scope.reportDataValid = (typeof $scope.reportData !== \"undefined\" && $scope.reportData !== null);\r\n }, function errorCallback() {\r\n $scope.reportDataValid = false;\r\n $scope.error = true;\r\n }).then(function () {\r\n $scope.loading = false;\r\n if ($scope.reportDataValid) {\r\n $scope.pagiPages = getPages();\r\n $scope.totalPagiSections = getPagiSections();\r\n if (typeof $scope.reportData.Reports !== \"undefined\" && $scope.reportData.Reports !== null && (Object.keys($scope.reportData.Reports).length > 0)) {\r\n $scope.noResults = false;\r\n } else {\r\n $scope.noResults = true;\r\n }\r\n } else {\r\n $scope.error = true;\r\n }\r\n\r\n iSpinner(false);\r\n })\r\n };\r\n\r\n $scope.selectionChanged = function () {\r\n iSpinner(true);\r\n checkDateBounds();\r\n $scope.pagiIndex = 0;\r\n $scope.pagiSelected = 1;\r\n $scope.selectedPagiSection = 1;\r\n getReports(rrid, $scope.pagiAmount, $scope.pagiIndex, $scope.filterData.DateType);\r\n };\r\n\r\n $scope.pagiHits = function () {\r\n if ($scope.reportData.Hits < $scope.pagiAmount)\r\n return $scope.reportData.Hits;\r\n if ($scope.pagiIndex + $scope.pagiAmount > $scope.reportData.Hits)\r\n return $scope.reportData.Hits;\r\n\r\n return $scope.pagiIndex + $scope.pagiAmount;\r\n };\r\n\r\n $scope.pagiChanged = function (pageNumber) {\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.reportData.Hits)\r\n $scope.pagiIndex -= $scope.pagiAmount;\r\n\r\n getReports(rrid, $scope.pagiAmount, $scope.pagiIndex, $scope.filterData.DateType);\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, $scope.filterData.DateType);\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 $scope.dateTypeSelect = function (item) {\r\n if ($scope.filterData.DateType === 'TravelDate')\r\n return item.TravelDate;\r\n else\r\n return item.ExpenseDate;\r\n }\r\n\r\n //Haetaan filtterille tiedot ja ensimmäiset raportit\r\n function init() {\r\n if (typeof rrid === 'number' && typeof pagiAmount === 'number' && typeof rDateType === 'string') {\r\n //Sivupropertyistä saatavat parametrit:\r\n $scope.pagiAmount = pagiAmount;\r\n\r\n //Filtteri- ja sivutusmuuttujat\r\n $scope.pagiSectionSize = 10;\r\n $scope.selectedPagiSection = 1;\r\n $scope.totalPagiSections;\r\n $scope.pagiIndex = 0;\r\n $scope.pagiSelected = 1;\r\n $scope.pagiPages;\r\n $scope.reportData;\r\n $scope.filterData;\r\n\r\n $scope.rDateType = rDateType;\r\n $scope.order = rDateType;\r\n $scope.reverse = false;\r\n\r\n $scope.loading = true;\r\n $http.get(\"/api/expensereports/filterdata/\" + rrid + \"?dateType=\" + rDateType)\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.Executives !== \"undefined\" && $scope.filterData.Executives !== null && (Object.keys($scope.filterData.Executives).length > 0) && typeof $scope.filterData.TotalHits !== \"undefined\" && $scope.filterData.TotalHits !== null && $scope.filterData.TotalHits > 0 && $scope.filterData.DateType !== null) { \r\n $scope.selectedExecutives = initSelectedExecutives();\r\n $scope.selectedTimeSpan = initTimeSpan();\r\n $scope.noItems = false;\r\n getReports(rrid, $scope.pagiAmount, $scope.pagiIndex, $scope.filterData.DateType)\r\n } else {\r\n $scope.loading = false;\r\n $scope.noItems = true;\r\n }\r\n } else {\r\n $scope.loading = false;\r\n $scope.error = true;\r\n }\r\n })\r\n } else {\r\n $scope.error = true;\r\n }\r\n };\r\n\r\n\r\n //Datan validointi & virheviestit\r\n $scope.filterDataValid = false;\r\n $scope.reportDataValid = 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};"],"sourceRoot":""}