{"version":3,"sources":["directive.js"],"names":["ngFormatDate","require","restrict","link","scope","element","attrs","ngModelCtrl","formatAsDate","text","result","date","moment","format","e","toLowerCase","$formatters","push","ngDatePicker","$","datepicker","dateFormat","onSelect","$apply","$setViewValue","ngDatePickerToday","minDate","ngPasswordConfirm","data","$scope","$el","$attrs","$ctrl","validate","valid","$setValidity","$parsers","ngCheckNip","validatenip","nip","nip_bez_kresek","replace","reg","test","dig","split","kontrola","parseInt","str","ngCheckNipRegon","no_dashes","length","_kontrola","__kontrola","___kontrola","ngCheckIsAssignedToCollect","ctrls","value","c","flag","i","arr","IsAssignedToCollect","item","idx","items","ctrl","$watch","newValue","forEach","savedCtrl","$viewValue","ngChangePesel","rozkodujPesel","pesel","rok","substring","miesiac","dzien","dataUrodzenia","Date","setFullYear","wagi","suma","cyfraKontr","poprawnosc","plec","sex","ngCheckOwnershipShare","v","parseFloat","OwnershipShare","form","ngCheckPhone","validatePhone","phone","phoneNoSemicolon","ngCheckIdDocumentNumber","$compile","restrice","documentType","toString","validateDO","validatePASS","$modelValue","ngCheckDocumentDate","elem","d","endDate","startDate","getFullYear","getMonth","getDay","ngContactPersonRoles","person","template","ngBankAccountTypes","account"],"mappings":"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","file":"directive.min.js","sourcesContent":["/* dyrektywy */\r\n\r\nvar ngFormatDate = function () {\r\n return {\r\n require: 'ngModel',\r\n restrict: \"A\",\r\n link: function (scope, element, attrs, ngModelCtrl) {\r\n function formatAsDate(text) {\r\n var result = \"\";\r\n if (typeof text !== \"undefined\") {\r\n try {\r\n var date = moment(text);\r\n result = date.format(\"YYYY-MM-DD\");\r\n } catch (e) {\r\n result = \"\";\r\n }\r\n }\r\n if (result.toLowerCase() === \"invalid date\") {\r\n result = \"\";\r\n }\r\n return result;\r\n }\r\n //ngModelCtrl.$parsers.push(validateEqual);\r\n ngModelCtrl.$formatters.push(formatAsDate);\r\n }\r\n };\r\n};\r\nvar ngDatePicker = function () {\r\n return {\r\n restrict: 'A',\r\n require: 'ngModel',\r\n link: function (scope, element, attrs, ngModelCtrl) {\r\n $(function () {\r\n $(element).datepicker({\r\n dateFormat: 'yy-mm-dd',\r\n onSelect: function (date) {\r\n scope.$apply(function () {\r\n ngModelCtrl.$setViewValue(date);\r\n });\r\n }\r\n });\r\n });\r\n }\r\n };\r\n};\r\nvar ngDatePickerToday = function () {\r\n return {\r\n restrict: 'A',\r\n require: 'ngModel',\r\n link: function (scope, element, attrs, ngModelCtrl) {\r\n $(function () {\r\n $(element).datepicker({\r\n dateFormat: 'yy-mm-dd',\r\n minDate: 0,\r\n onSelect: function (date) {\r\n scope.$apply(function () {\r\n ngModelCtrl.$setViewValue(date);\r\n });\r\n }\r\n });\r\n });\r\n }\r\n };\r\n};\r\n\r\nvar ngPasswordConfirm = function () {\r\n return {\r\n restrict: 'A',\r\n require: 'ngModel',\r\n scope: {\r\n data: '=ngPasswordConfirm'\r\n },\r\n link: function ($scope, $el, $attrs, $ctrl) {\r\n\r\n function validate(text) {\r\n var valid = (text == $scope.data);\r\n $ctrl.$setValidity(\"IsPasswordConfirmed\", valid);\r\n return text;\r\n }\r\n\r\n $ctrl.$formatters.push(validate);\r\n $ctrl.$parsers.push(validate);\r\n\r\n }\r\n }\r\n};\r\n\r\nvar ngCheckNip = function () {\r\n return {\r\n restrict: 'A',\r\n require: 'ngModel',\r\n link: function ($scope, $el, $attrs, $ctrl) {\r\n\r\n function validatenip(nip) {\r\n var nip_bez_kresek = nip.replace(/-/g, \"\");\r\n var reg = /^[0-9]{10}$/;\r\n if (reg.test(nip_bez_kresek) == false) {\r\n return false;\r\n } else {\r\n var dig = (\"\" + nip_bez_kresek).split(\"\");\r\n var kontrola = (6 * parseInt(dig[0]) + 5 * parseInt(dig[1]) + 7 * parseInt(dig[2]) + 2 * parseInt(dig[3]) + 3 * parseInt(dig[4]) + 4 * parseInt(dig[5]) + 5 * parseInt(dig[6]) + 6 * parseInt(dig[7]) + 7 * parseInt(dig[8])) % 11;\r\n if (parseInt(dig[9]) == kontrola)\r\n return true;\r\n else\r\n return false;\r\n }\r\n\r\n }\r\n\r\n function validate(str) {\r\n str = str || \"\";\r\n var valid = validatenip(str);\r\n $ctrl.$setValidity('checkNIP', valid);\r\n return str;\r\n }\r\n\r\n $ctrl.$formatters.push(validate);\r\n $ctrl.$parsers.push(validate);\r\n\r\n }\r\n }\r\n};\r\n\r\nvar ngCheckNipRegon = function () {\r\n return {\r\n restrict: 'A',\r\n require: 'ngModel',\r\n link: function ($scope, $el, $attrs, $ctrl) {\r\n\r\n function validatenip(nip) {\r\n var no_dashes = nip.replace(/-/g, '');\r\n var reg = /(^[0-9]{10}$)|(^[0-9]{14}$)|(^[0-9]{9}$)/;\r\n if (!reg.test(no_dashes)) {\r\n return false;\r\n } else if (no_dashes.length == 10) {\r\n var dig = ('' + no_dashes).split('');\r\n var kontrola = (\r\n 6 * parseInt(dig[0]) +\r\n 5 * parseInt(dig[1]) +\r\n 7 * parseInt(dig[2]) +\r\n 2 * parseInt(dig[3]) +\r\n 3 * parseInt(dig[4]) +\r\n 4 * parseInt(dig[5]) +\r\n 5 * parseInt(dig[6]) +\r\n 6 * parseInt(dig[7]) +\r\n 7 * parseInt(dig[8])\r\n ) % 11;\r\n var _kontrola = parseInt(dig[9]);\r\n if (_kontrola === kontrola) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n } else if (no_dashes.length == 9) {\r\n var dig = ('' + no_dashes).split('');\r\n var kontrola = (\r\n 8 * parseInt(dig[0]) +\r\n 9 * parseInt(dig[1]) +\r\n 2 * parseInt(dig[2]) +\r\n 3 * parseInt(dig[3]) +\r\n 4 * parseInt(dig[4]) +\r\n 5 * parseInt(dig[5]) +\r\n 6 * parseInt(dig[6]) +\r\n 7 * parseInt(dig[7])\r\n ) % 11;\r\n if (kontrola == 10)\r\n kontrola = 0;\r\n var _kontrola = parseInt(dig[8]);\r\n if (_kontrola === kontrola) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n } else if (no_dashes.length == 14) {\r\n const dig = ('' + no_dashes).split('');\r\n var kontrola = (\r\n 8 * parseInt(dig[0]) +\r\n 9 * parseInt(dig[1]) +\r\n 2 * parseInt(dig[2]) +\r\n 3 * parseInt(dig[3]) +\r\n 4 * parseInt(dig[4]) +\r\n 5 * parseInt(dig[5]) +\r\n 6 * parseInt(dig[6]) +\r\n 7 * parseInt(dig[7])\r\n ) % 11;\r\n if (kontrola == 10)\r\n kontrola = 0;\r\n var _kontrola = parseInt(dig[8]);\r\n if (_kontrola === kontrola) {\r\n var __kontrola = (\r\n 2 * parseInt(dig[0]) +\r\n 4 * parseInt(dig[1]) +\r\n 8 * parseInt(dig[2]) +\r\n 5 * parseInt(dig[3]) +\r\n 0 * parseInt(dig[4]) +\r\n 9 * parseInt(dig[5]) +\r\n 7 * parseInt(dig[6]) +\r\n 3 * parseInt(dig[7]) +\r\n 6 * parseInt(dig[8]) +\r\n 1 * parseInt(dig[9]) +\r\n 2 * parseInt(dig[10]) +\r\n 4 * parseInt(dig[11]) +\r\n 8 * parseInt(dig[12])\r\n ) % 11;\r\n if (__kontrola == 10)\r\n __kontrola = 0;\r\n var ___kontrola = parseInt(dig[13]);\r\n if (___kontrola === __kontrola) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n } else {\r\n return false;\r\n }\r\n }\r\n }\r\n\r\n function validate(str) {\r\n str = str || \"\";\r\n var valid = validatenip(str);\r\n $ctrl.$setValidity('checkNIPREGON', valid);\r\n return str;\r\n }\r\n\r\n $ctrl.$formatters.push(validate);\r\n $ctrl.$parsers.push(validate);\r\n\r\n }\r\n }\r\n};\r\n\r\nvar ngCheckIsAssignedToCollect = function () {\r\n var ctrls = [];\r\n return {\r\n restrict: 'A',\r\n require: 'ngModel',\r\n scope: {\r\n data: '=ngCheckIsAssignedToCollect'\r\n },\r\n link: function ($scope, $el, $attrs, $ctrl) {\r\n // pobranie tablicy z osobami odpowiedzialnymi\r\n var arr = $scope.data.items || [];\r\n var item = $scope.data.item || {};\r\n var flag = $scope.data.flag || false;\r\n\r\n\r\n // walidacja\r\n function validate(value) {\r\n var c = 0;\r\n if (flag) {\r\n for (var i = 0; i < arr.length; i++) {\r\n if (arr[i].IsAssignedToCollect && i !== item.idx) {\r\n c++;\r\n }\r\n }\r\n if (value) {\r\n c++;\r\n }\r\n }\r\n var valid = true;\r\n if (flag) {\r\n valid = (c > 1);\r\n }\r\n\r\n if (arr.length == 1)\r\n valid = value;\r\n\r\n //ustawinie flagi\r\n $ctrl.$setValidity('checkIsAssignedToCollect', valid);\r\n\r\n\r\n // oddanie wartosci\r\n return value;\r\n }\r\n\r\n ctrls.push({ ctrl: $ctrl, validate: validate });\r\n\r\n $ctrl.$formatters.push(validate);\r\n $ctrl.$parsers.push(validate);\r\n\r\n $scope.$watch('data.item.IsAssignedToCollect', function (newValue) {\r\n ctrls.forEach(function (savedCtrl) {\r\n savedCtrl.validate(savedCtrl.ctrl.$viewValue);\r\n });\r\n //validate(newValue);\r\n });\r\n }\r\n }\r\n};\r\n\r\nvar ngChangePesel = function () {\r\n return {\r\n restrict: 'A',\r\n require: 'ngModel',\r\n scope: {\r\n data: '=ngChangePesel'\r\n },\r\n link: function ($scope, $el, $attrs, $ctrl) {\r\n function validate(value) {\r\n value = value || \"\";\r\n\r\n\r\n // sprawdzenie\r\n var result = rozkodujPesel(value);\r\n\r\n if (value === \"\")\r\n result.valid = true;\r\n\r\n // wskazanie daty\r\n if (value.length >= 6) {\r\n\r\n $scope.data = moment(result.date).format(\"YYYYMMDD\");\r\n }\r\n\r\n $ctrl.$setValidity(\"checkPesel\", result.valid);\r\n\r\n return value;\r\n }\r\n\r\n\r\n /*\r\n * http://porady-it.pl/programowanie/jak-sprawdzic-poprawnosc-numeru-pesel-pobrac-date-urodzenia-oraz-plec/\r\n */\r\n function rozkodujPesel(pesel) {\r\n //pobranie daty\r\n var rok = parseInt(pesel.substring(0, 2), 10);\r\n var miesiac = parseInt(pesel.substring(2, 4), 10) - 1;\r\n var dzien = parseInt(pesel.substring(4, 6), 10);\r\n\r\n if (miesiac >= 80) {\r\n rok += 1800;\r\n miesiac = miesiac - 80;\r\n } else if (miesiac >= 60) {\r\n rok += 2200;\r\n miesiac = miesiac - 60;\r\n } else if (miesiac >= 40) {\r\n rok += 2100;\r\n miesiac = miesiac - 40;\r\n } else if (miesiac >= 20) {\r\n rok += 2000;\r\n miesiac = miesiac - 20;\r\n } else {\r\n rok += 1900;\r\n }\r\n\r\n var dataUrodzenia = new Date();\r\n dataUrodzenia.setFullYear(rok, miesiac, dzien);\r\n\r\n // Weryfikacja numery PESEL\r\n var wagi = [9, 7, 3, 1, 9, 7, 3, 1, 9, 7];\r\n var suma = 0;\r\n\r\n for (var i = 0; i < wagi.length; i++) {\r\n suma += (parseInt(pesel.substring(i, i + 1), 10) * wagi[i]);\r\n }\r\n\r\n suma = suma % 10;\r\n\r\n var cyfraKontr = parseInt(pesel.substring(10, 11), 10);\r\n var poprawnosc = (suma === cyfraKontr);\r\n\r\n //określenie płci\r\n var plec = 'k';\r\n\r\n if (parseInt(pesel.substring(9, 10), 10) % 2 === 1) {\r\n plec = 'm';\r\n }\r\n\r\n return {\r\n valid: poprawnosc,\r\n sex: plec,\r\n date: dataUrodzenia\r\n };\r\n }\r\n\r\n $ctrl.$formatters.push(validate);\r\n $ctrl.$parsers.push(validate);\r\n\r\n }\r\n }\r\n};\r\n\r\n\r\nvar ngCheckOwnershipShare = function () {\r\n return {\r\n restrict: 'A',\r\n require: 'ngModel',\r\n scope: {\r\n data: '=ngCheckOwnershipShare'\r\n },\r\n link: function ($scope, $el, $attrs, $ctrl) {\r\n\r\n // pobranie tablicy z osobami odpowiedzialnymi\r\n var arr = $scope.data.items || [];\r\n var item = $scope.data.item || {};\r\n var form = $scope.data.form || {};\r\n\r\n // walidacja\r\n // jezeli suma wszystkich + wartosc != 100 to blad\r\n function validate(value) {\r\n var v = 0;\r\n var valid = true;\r\n for (var i = 0; i < arr.length; i++) {\r\n if (i !== item.idx) {\r\n v += parseFloat(arr[i].OwnershipShare);\r\n }\r\n }\r\n v += parseFloat(value);\r\n // test\r\n valid = (v == parseFloat(100));\r\n\r\n // ustawienie flagi\r\n form.$setValidity('checkOwnershipShareError', valid);\r\n\r\n // oddanie wartosci\r\n return value;\r\n };\r\n\r\n $ctrl.$formatters.push(validate);\r\n $ctrl.$parsers.push(validate);\r\n\r\n }\r\n }\r\n};\r\n\r\n\r\n\r\nvar ngCheckPhone = function () {\r\n return {\r\n restrict: 'A',\r\n require: 'ngModel',\r\n link: function ($scope, $el, $attrs, $ctrl) {\r\n\r\n function validatePhone(phone) {\r\n //ll-75\r\n var phoneNoSemicolon = phone; //.replace(/-/g, \"\");\r\n //var reg = /^[\\+]{0,1}(?:[0-9] ?){6,14}[0-9]$/; //bez kresek\r\n var reg = /^[0-9\\+]{8,13}$/;\r\n if (reg.test(phoneNoSemicolon) == false) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n function validate(str) {\r\n str = str || \"\";\r\n var valid = validatePhone(str);\r\n $ctrl.$setValidity('checkPhone', valid);\r\n return str;\r\n }\r\n\r\n $ctrl.$formatters.push(validate);\r\n $ctrl.$parsers.push(validate);\r\n\r\n }\r\n }\r\n};\r\n\r\n\r\n\r\nvar ngCheckIdDocumentNumber = function ($compile) {\r\n return {\r\n restrice: 'A',\r\n require: 'ngModel',\r\n scope: {\r\n documentType: \"=ngCheckIdDocumentNumber\"\r\n\r\n },\r\n link: function (scope, $el, $attrs, $ctrl) {\r\n\r\n // walidacje\r\n function validate(str) {\r\n str = str || \"\";\r\n var valid = false;\r\n\r\n switch ((scope.documentType).toString()) {\r\n case \"0\":\r\n valid = validateDO(str);\r\n break;\r\n case \"1\":\r\n valid = validatePASS(str);\r\n break;\r\n case \"2\":\r\n valid = true;\r\n break;\r\n case \"3\":\r\n valid = true;\r\n break;\r\n default:\r\n valid = false;\r\n break;\r\n }\r\n\r\n $ctrl.$setValidity('invalidDocumentNumber', valid);\r\n return str;\r\n }\r\n\r\n $ctrl.$formatters.push(validate);\r\n $ctrl.$parsers.push(validate);\r\n\r\n\r\n // obserwowanie zmiennej\r\n scope.$watch(\"documentType\", function () {\r\n validate($ctrl.$modelValue);\r\n }, true);\r\n }\r\n }\r\n};\r\n\r\n\r\nvar ngCheckDocumentDate = function () {\r\n return {\r\n restrict: \"A\",\r\n require: \"ngModel\",\r\n link: function (scope, elem, attrs, ctrl) {\r\n function validate(text) {\r\n\r\n text = (text || \"\").substring(0, 10).replace(/-/g, \"\");\r\n text = text.substring(0, 4) + \"-\" + text.substring(4, 6) + \"-\" + text.substring(6, 8);\r\n var d = new Date(text);\r\n\r\n var valid = false;\r\n if (\"Invalid Date\" != d) {\r\n var endDate = new Date();\r\n var startDate = new Date(endDate.getFullYear() - 10, endDate.getMonth(), endDate.getDay());\r\n valid = (startDate <= d && d <= endDate);\r\n }\r\n ctrl.$setValidity(\"invalidDocumentDate\", valid);\r\n return text; //.replace(/-/g,\"\");\r\n };\r\n\r\n\r\n\r\n ctrl.$formatters.push(validate);\r\n ctrl.$parsers.push(validate);\r\n\r\n }\r\n }\r\n};\r\n\r\nvar ngContactPersonRoles = function () {\r\n return {\r\n restrict: 'AE',\r\n scope: {\r\n person: '='\r\n },\r\n template: '