{"version":3,"sources":["calculationPackage.js"],"names":["angular","module","controller","$scope","$http","$modal","toaster","filterFilter","$window","FileUploader","Partners","get","then","d","_","map","data","i","k","Guid","v","Name","url","PartnerUrl","e","console","log","filteredList","search","PackageId","PackageName","PackageGroupId","ProduktType","Validfrom","Validto","Procestill","Priority","CalculationPackageModels","filterRequest","item","_v0","toLowerCase","_v1","indexOf","$watch","Refresh","Result","pop","PublishSavedConfiguration","post","DownloadCurrent","open","UploadConfiguration","uploader","onErrorItem","fileItem","response","status","headers","onSuccessItem","complete","onCompleteItem","onBeforeUploadItem","formData","modalInstance","animation","templateUrl","scope","resolve","result","onCompleteAll","uploadAll","DeleteCalculationPackage","id","confirm","AddCalculationPackage","dataForNewCalculationPackage","showPackageProducts","currentPackage","PackageFunc","backToPackages","EditCalculationPackage","calculationPackage","dataForEditCalculationPackage","Date","put","f","g","h","$modalInstance","ok","close","cancel","dismiss","chunk","arr","size","newArr","length","push","slice","currentTab","CalculationPackageProducts","AllProducts","filteredProductsList","name","searchAll","searchPartners","SubProduct","FinancialProductName","filterRequestAll","filterRequestPartners","RefreshProducts","isMoving","MoveUp","toMoveUp","toMoveDown","filter","obj","PackageProduct","Hierarchy","UpdatePackageProduct","sortBy","product","MoveDown","GetAllProducts","AddToPackage","itemForPackage","ProductGuid","RemoveFromPackage","PartnersRules","filteredPartnersList","chunkedPartners","error","savePartners","filtered","partner","isConnected","rules","PartersGuids","PartnerGuid","ShowLinkedProducts","financialItem","currentCalculationPackageId","currentFinancialProductId","LinkedNonFinancialProduct","obligatoryOptions","value","keys","Object","LinkedProductsDictionary","LinkProd","searchNonFinancialProducts","LinkedProductName","saveLinkedProducts"],"mappings":"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","file":"calculationPackage.min.js","sourcesContent":["//angular.module('ll.calculationPackage', []).controller('CalculationPackagesCtrl', ['$scope', '$http', '$modal', 'toaster', 'filterFilter', function ($scope, $http, $modal, toaster, filterFilter) {\r\nangular.module('ll.calculationPackage', []).controller('CalculationPackagesCtrl', ['$scope', '$http', '$modal', 'toaster', 'filterFilter', '$window', 'FileUploader', function ($scope, $http, $modal, toaster, filterFilter, $window, FileUploader) {\r\n $scope.Partners = [];\r\n // pobranie partnerow\r\n $http.get('/offerbusinessdata/getpartners').then(function (d) {\r\n $scope.Partners = [];\r\n $scope.Partners = _.map(d.data, function (i) {\r\n return { k: i.Guid, v: i.Name, url: i.PartnerUrl };\r\n });\r\n }, function (e) { console.log(e); });\r\n\r\n //$scope.requests = [];\r\n $scope.filteredList = [];\r\n //$scope.filteredProductsList [];\r\n $scope.search = {\r\n PackageId: \"\",\r\n PackageName: \"\",\r\n PackageGroupId: \"\",\r\n ProduktType: \"\",\r\n Validfrom: \"\",\r\n Validto: \"\",\r\n Procestill: \"\",\r\n Priority: \"\"\r\n };\r\n\r\n $scope.CalculationPackageModels = [];\r\n\r\n // dla produktow\r\n //$scope.CalculationPackageProducts = [];\r\n\r\n // filtr\r\n $scope.filterRequest = function (item) {\r\n\r\n if ($scope.search.PackageName) {\r\n var _v0 = ($scope.search.PackageName || \"\").toLowerCase();\r\n var _v1 = (item.PackageName + \"\" || \"\").toLowerCase();\r\n if (_v1.indexOf(_v0) == -1) return false;\r\n }\r\n /*\r\n if ($scope.search.Partner) {\r\n var _v0 = ($scope.search.Partner || \"\").toLowerCase();\r\n var _v1 = (item.Partner + \"\" || \"\").toLowerCase();\r\n if (_v1 !== _v0) return false;\r\n }*/\r\n return true;\r\n };\r\n\r\n\r\n // obserwowanie filtra i glownego zbioru danych\r\n $scope.$watch('search', function () {\r\n $scope.filteredList = filterFilter($scope.CalculationPackageModels, $scope.filterRequest);\r\n }, true);\r\n\r\n $scope.$watch('CalculationPackageModels', function () {\r\n $scope.filteredList = filterFilter($scope.CalculationPackageModels, $scope.filterRequest);\r\n }, true);\r\n\r\n //dla produktow\r\n /*\r\n $scope.$watch('CalculationPackageProducts', function () {\r\n $scope.filteredProductsList = filterFilter($scope.CalculationPackageProducts, $scope.filterRequest);\r\n }, true);*/\r\n\r\n\r\n // pobieranie danych\r\n $scope.Refresh = function () {\r\n $http.get('/api/CalculationPackage').then(\r\n function (d) {\r\n $scope.CalculationPackageModels = d.data.Result;\r\n },\r\n function (e) {\r\n toaster.pop('error', 'Pobieranie danych nie powiodło się');\r\n });\r\n };\r\n\r\n $scope.PublishSavedConfiguration = function () {\r\n $http.post('/api/CalculationPackagePublish').then(\r\n function (d) {\r\n toaster.pop('success', 'Pakiet wygenerowano poprawnie');\r\n //$window.open('/CalculationPackageFile/Download');\r\n },\r\n function (e) {\r\n toaster.pop('error', 'Pobieranie danych nie powiodło się');\r\n });\r\n };\r\n\r\n $scope.DownloadCurrent = function () {\r\n $window.open('/CalculationPackageFile/Download');\r\n };\r\n\r\n $scope.UploadConfiguration = function () {\r\n // zbudowanie URL do zaladowania\r\n var url = '/CalculationPackageFile/Upload';\r\n\r\n // ladowacz\r\n $scope.uploader = new FileUploader({\r\n url: url\r\n });\r\n $scope.uploader.onErrorItem = function (fileItem, response, status, headers) {\r\n toaster.pop('error', 'Błąd podczas zapisywania pliku');\r\n };\r\n $scope.uploader.onSuccessItem = function (fileItem, response, status, headers) {\r\n fileItem.complete = true;\r\n toaster.pop('success', 'Plik zapisano poprawnie');\r\n };\r\n $scope.uploader.onCompleteItem = function (fileItem, response, status, headers) {\r\n fileItem.complete = true;\r\n toaster.pop('info', 'Przesył pliku zakończony poprawnie');\r\n };\r\n $scope.uploader.onBeforeUploadItem = function (fileItem) {\r\n fileItem.formData = $scope.uploader.formData;\r\n }\r\n\r\n var modalInstance = $modal.open({\r\n animation: true,\r\n templateUrl: '/WWW/partials/modules/calculation.package/uploadConfigurationModal.html',\r\n controller: 'UploadConfigurationModalCtrl',\r\n scope: $scope,\r\n resolve: {\r\n uploader: function () {\r\n return $scope.uploader;\r\n }\r\n }\r\n });\r\n\r\n modalInstance.result.then(\r\n function (d) {\r\n $scope.uploader.onCompleteAll = function () {\r\n toaster.pop('success', 'Pomyślnie zaktualizowano dane pakietowe');\r\n $scope.Refresh();\r\n };\r\n $scope.uploader.uploadAll();\r\n },\r\n function (e) { }\r\n );\r\n };\r\n\r\n\r\n $scope.DeleteCalculationPackage = function (id) {\r\n if (confirm(\"Czy na pewno chcesz usunąć produkt?\")) {\r\n $http.delete('/api/CalculationPackage/' + id).then(\r\n function (d) {\r\n toaster.pop('success', 'Operacja powiodła się');\r\n $scope.Refresh();\r\n },\r\n function (e) {\r\n toaster.pop('error', 'Operacja nie powiodła się');\r\n });\r\n };\r\n };\r\n\r\n $scope.AddCalculationPackage = function () {\r\n\r\n $scope.dataForNewCalculationPackage = {\r\n /*CalculationPackageGuid: \"\",\r\n PackageId: \"\",*/\r\n PackageName: \"\",\r\n PackageGroupId: \"\",\r\n ProduktType: \"\",\r\n Validfrom: \"\",\r\n Validto: \"\",\r\n Procestill: \"\",\r\n Priority: \"\"\r\n };\r\n\r\n var modalInstance = $modal.open({\r\n animation: true,\r\n templateUrl: '/WWW/partials/modules/calculation.package/addCalculationPackageModal.html',\r\n controller: 'AddCalculationPackageModalCtrl',\r\n scope: $scope,\r\n resolve: {\r\n dataForNewCalculationPackage: function () {\r\n return $scope.dataForNewCalculationPackage;\r\n }\r\n }\r\n });\r\n\r\n modalInstance.result.then(\r\n function (dataForNewCalculationPackage) {\r\n $http.post('/api/CalculationPackage/', dataForNewCalculationPackage).then(\r\n function (d) {\r\n $scope.Refresh();\r\n toaster.pop('success', 'Pomyślnie dodano nowy produkt');\r\n },\r\n function (e) {\r\n toaster.pop('error', 'Błąd podczas dodawania nowego produktu');\r\n });\r\n },\r\n function (e) { }\r\n );\r\n };\r\n /* // stara funkcja - do modala\r\n $scope.CheckPackageProducts = function (item) {\r\n $scope.currentPackageId = item.PackageId;\r\n var modalInstance = $modal.open({\r\n animation: true,\r\n templateUrl: '/WWW/partials/checkPackageProductsModal.html',\r\n controller: 'CheckPackageProductsModalCtrl',\r\n scope: $scope,\r\n resolve: {\r\n item: function () {\r\n return item;\r\n }\r\n }\r\n });\r\n \r\n modalInstance.result.then(function(partners){\r\n var filtered = _.filter(partners, function(partner){\r\n return partner.isConnected;\r\n });\r\n \r\n var rules = {\r\n PartersGuids: _.map(filtered, function (partner) {\r\n \r\n return partner.PartnerGuid;\r\n })\r\n };\r\n \r\n $http.put('/api/CalculationPackageRole/' + partners[0].PackageId, rules).then(\r\n function(d){\r\n toaster.pop('success', 'Pomyślnie zaktualizowano partnerów');\r\n }\r\n );\r\n }, function(){});\r\n \r\n }*/\r\n\r\n $scope.showPackageProducts = function (item) {\r\n $scope.currentPackage = item;\r\n $scope.PackageFunc = \"PackageProducts\";\r\n\r\n };\r\n\r\n // powrót do widoku pakietów kalkulacyjnych\r\n $scope.backToPackages = function () {\r\n $scope.PackageFunc = \"Default\";\r\n $scope.Refresh();\r\n };\r\n\r\n $scope.EditCalculationPackage = function (calculationPackage) {\r\n $scope.dataForEditCalculationPackage = calculationPackage;\r\n $scope.dataForEditCalculationPackage.Validfrom = new Date($scope.dataForEditCalculationPackage.Validfrom);\r\n $scope.dataForEditCalculationPackage.Validto = new Date($scope.dataForEditCalculationPackage.Validto);\r\n $scope.dataForEditCalculationPackage.Procestill = new Date($scope.dataForEditCalculationPackage.Procestill);\r\n\r\n var modalInstance = $modal.open({\r\n animation: true,\r\n templateUrl: '/WWW/partials/modules/calculation.package/editCalculationPackageModal.html',\r\n controller: 'EditCalculationPackageModalCtrl',\r\n scope: $scope,\r\n resolve: {\r\n dataForEditCalculationPackage: function () {\r\n return $scope.dataForEditCalculationPackage;\r\n }\r\n }\r\n });\r\n\r\n modalInstance.result.then(\r\n function (dataForEditCalculationPackage) {\r\n $http.put('/api/CalculationPackage/' + dataForEditCalculationPackage.PackageId, dataForEditCalculationPackage).then(\r\n function (f) {\r\n $scope.Refresh();\r\n toaster.pop('success', 'Pomyślnie zaktualizowano dane produktu');\r\n },\r\n function (g) {\r\n toaster.pop('error', 'Błąd podczas aktualizacji danych produktu');\r\n });\r\n },\r\n function (h) { }\r\n );\r\n };\r\n\r\n\r\n // pobranie danych na wejsciu\r\n $scope.Refresh();\r\n // produktow\r\n //$scope.RefreshProducts();\r\n\r\n}])\r\n .controller('AddCalculationPackageModalCtrl', ['$scope', '$modalInstance', 'dataForNewCalculationPackage', function ($scope, $modalInstance, dataForNewCalculationPackage) {\r\n $scope.dataForNewCalculationPackage = dataForNewCalculationPackage;\r\n\r\n $scope.ok = function () {\r\n $modalInstance.close($scope.dataForNewCalculationPackage);\r\n };\r\n\r\n $scope.cancel = function () {\r\n $modalInstance.dismiss('cancel');\r\n };\r\n }])\r\n .controller('UploadConfigurationModalCtrl', [\r\n '$scope', '$modalInstance', 'uploader', function ($scope, $modalInstance, uploader) {\r\n $scope.uploader = uploader;\r\n\r\n $scope.ok = function () {\r\n $modalInstance.close();\r\n };\r\n\r\n $scope.cancel = function () {\r\n $modalInstance.dismiss('cancel');\r\n };\r\n }\r\n ])\r\n .controller('CheckPackageProductsModalCtrl', ['$scope', '$http', 'toaster', 'filterFilter', '$modal', function ($scope, $http, toaster, filterFilter, $modal) {\r\n //$scope.item = item;\r\n $scope.currentTab = \"\";\r\n $scope.CalculationPackageProducts = [];\r\n $scope.AllProducts = [];\r\n $scope.filteredProductsList = [];\r\n\r\n $scope.search = {\r\n name: \"\"\r\n };\r\n $scope.searchAll = {\r\n name: \"\"\r\n };\r\n $scope.searchPartners = {\r\n name: \"\"\r\n };\r\n\r\n\r\n $scope.filterRequest = function (item) {\r\n\r\n if ($scope.search.name) {\r\n var _v0 = ($scope.search.name || \"\").toLowerCase();\r\n var _v1 = (item.SubProduct.FinancialProductName + \"\" || \"\").toLowerCase();\r\n if (_v1.indexOf(_v0) == -1) return false;\r\n }\r\n return true;\r\n };\r\n\r\n $scope.filterRequestAll = function (item) {\r\n\r\n if ($scope.searchAll.name) {\r\n var _v0 = ($scope.searchAll.name || \"\").toLowerCase();\r\n var _v1 = (item.FinancialProductName + \"\" || \"\").toLowerCase();\r\n if (_v1.indexOf(_v0) == -1) return false;\r\n }\r\n return true;\r\n };\r\n $scope.filterRequestPartners = function (item) {\r\n\r\n if ($scope.searchPartners.name) {\r\n var _v0 = ($scope.searchPartners.name || \"\").toLowerCase();\r\n var _v1 = (item.Name + \"\" || \"\").toLowerCase();\r\n if (_v1.indexOf(_v0) == -1) return false;\r\n }\r\n return true;\r\n };\r\n $scope.RefreshProducts = function () {\r\n $http.get('/api/CalculationPackageProduct' + '?PackageId=' + $scope.currentPackage.PackageId).then(\r\n function (d) {\r\n $scope.CalculationPackageProducts = d.data.Result;\r\n },\r\n function (e) {\r\n toaster.pop('error', 'Pobieranie danych nie powiodło się');\r\n });\r\n };\r\n\r\n $scope.isMoving = false;\r\n\r\n $scope.MoveUp = function (toMoveUp) {\r\n var toMoveDown = (_.filter($scope.CalculationPackageProducts, function (obj) {\r\n return obj.PackageProduct.Hierarchy === toMoveUp.PackageProduct.Hierarchy - 1;\r\n }))[0];\r\n //console.log(toMoveDown);\r\n toMoveDown.PackageProduct.Hierarchy = toMoveUp.PackageProduct.Hierarchy;\r\n toMoveUp.PackageProduct.Hierarchy = toMoveUp.PackageProduct.Hierarchy - 1;\r\n\r\n $scope.UpdatePackageProduct(toMoveUp.PackageProduct);\r\n\r\n $scope.UpdatePackageProduct(toMoveDown.PackageProduct);\r\n\r\n $scope.CalculationPackageProducts = _.sortBy($scope.CalculationPackageProducts, function (product) { return product.PackageProduct.Hierarchy });\r\n };\r\n\r\n $scope.MoveDown = function (toMoveDown) {\r\n var toMoveUp = (_.filter($scope.CalculationPackageProducts, function (obj) {\r\n return obj.PackageProduct.Hierarchy === toMoveDown.PackageProduct.Hierarchy + 1;\r\n }))[0];\r\n toMoveUp.PackageProduct.Hierarchy = toMoveDown.PackageProduct.Hierarchy;\r\n toMoveDown.PackageProduct.Hierarchy = toMoveDown.PackageProduct.Hierarchy + 1;\r\n\r\n $scope.UpdatePackageProduct(toMoveUp.PackageProduct);\r\n\r\n $scope.UpdatePackageProduct(toMoveDown.PackageProduct);\r\n\r\n $scope.CalculationPackageProducts = _.sortBy($scope.CalculationPackageProducts, function (product) { return product.PackageProduct.Hierarchy });\r\n };\r\n\r\n $scope.GetAllProducts = function () {\r\n $http.get('/api/LeaselinkSubProduct?packageKey=' + $scope.currentPackage.PackageId + '&partitionKey=').then(\r\n function (d) {\r\n $scope.AllProducts = d.data.Result;\r\n },\r\n function (e) {\r\n toaster.pop('error', 'Pobieranie danych nie powiodło się');\r\n });\r\n };\r\n\r\n $scope.UpdatePackageProduct = function (product) {\r\n $scope.isMoving = true;\r\n $http.put('/api/CalculationPackageProduct/' + product.Guid, product).then(\r\n function (d) {\r\n $scope.isMoving = false;\r\n },\r\n function (e) {\r\n toaster.pop('error', 'Pobieranie danych nie powiodło się');\r\n });\r\n };\r\n\r\n $scope.AddToPackage = function (product) {\r\n var itemForPackage = {\r\n ProductGuid: product.Guid,\r\n PackageId: $scope.currentPackage.PackageId,\r\n Hierarchy: $scope.CalculationPackageProducts.length + 1\r\n };\r\n\r\n $http.post('/api/CalculationPackageProduct', itemForPackage).then(\r\n function (d) {\r\n //$scope.RefreshProducts();\r\n $scope.GetAllProducts();\r\n $scope.CalculationPackageProducts.push({ PackageProduct: itemForPackage, SubProduct: {} });\r\n },\r\n function (e) {\r\n toaster.pop('error', 'Pobieranie danych nie powiodło się');\r\n });\r\n };\r\n\r\n $scope.RemoveFromPackage = function (product) {\r\n $http.delete('/api/CalculationPackageProduct/' + product.Guid).then(\r\n function (d) {\r\n $scope.RefreshProducts();\r\n },\r\n function (e) {\r\n toaster.pop('error', 'Usuwanie danych nie powiodło się');\r\n });\r\n };\r\n\r\n // funkcja do dzielenia na kolumny\r\n function chunk(arr, size) {\r\n var newArr = [];\r\n for (var i = 0; i < arr.length; i += size) {\r\n newArr.push(arr.slice(i, i + size));\r\n }\r\n return newArr;\r\n }\r\n\r\n $scope.PartnersRules = [];\r\n\r\n $scope.$watch('search', function () {\r\n $scope.filteredProductsList = filterFilter($scope.CalculationPackageProducts, $scope.filterRequest);\r\n }, true);\r\n\r\n $scope.$watch('searchAll', function () {\r\n $scope.filteredProductsList = filterFilter($scope.AllProducts, $scope.filterRequestAll);\r\n }, true);\r\n $scope.$watch('searchPartners', function () {\r\n $scope.filteredPartnersList = filterFilter($scope.PartnersRules, $scope.filterRequestPartners);\r\n\r\n $scope.chunkedPartners = chunk($scope.filteredPartnersList, 3);\r\n }, true);\r\n\r\n $scope.$watch('CalculationPackageProducts', function () {\r\n $scope.filteredProductsList = filterFilter($scope.CalculationPackageProducts, $scope.filterRequest);\r\n }, true);\r\n $scope.$watch('AllProducts', function () {\r\n $scope.filteredProductsList = filterFilter($scope.AllProducts, $scope.filterRequestAll);\r\n }, true);\r\n\r\n\r\n $scope.$watch('currentTab', function () {\r\n if ($scope.currentTab == \"productsIncludedInPackage\") {\r\n $scope.RefreshProducts();\r\n $scope.filteredProductsList = filterFilter($scope.CalculationPackageProducts, $scope.filterRequest);\r\n }\r\n if ($scope.currentTab == \"allProducts\") {\r\n $scope.GetAllProducts();\r\n $scope.filteredProductsList = filterFilter($scope.AllProducts, $scope.filterRequestAll);\r\n }\r\n if ($scope.currentTab == \"connectedPartners\") {\r\n $http.get('/api/CalculationPackageRole?packageId=' + $scope.currentPackage.PackageId).then(function (d) {\r\n $scope.PartnersRules = d.data.Result;\r\n\r\n $scope.chunkedPartners = chunk($scope.PartnersRules, 3);\r\n\r\n }, function (e) { console.error(e); });\r\n }\r\n }, true);\r\n\r\n $scope.savePartners = function () {\r\n var filtered = _.filter($scope.PartnersRules, function (partner) {\r\n return partner.isConnected;\r\n });\r\n\r\n var rules = {\r\n PartersGuids: _.map(filtered, function (partner) {\r\n\r\n return partner.PartnerGuid;\r\n })\r\n };\r\n\r\n $http.put('/api/CalculationPackageRole/' + $scope.PartnersRules[0].PackageId, rules).then(\r\n function (d) {\r\n toaster.pop('success', 'Pomyślnie zaktualizowano partnerów');\r\n }\r\n );\r\n\r\n };\r\n\r\n $scope.ShowLinkedProducts = function (financialItem) {\r\n $scope.currentCalculationPackageId = financialItem.PackageProduct.PackageId;\r\n $scope.currentFinancialProductId = financialItem.SubProduct.Guid;\r\n\r\n $http.get('/api/CalculationPackageLinkedNonFinancialProduct?packageId=' + $scope.currentCalculationPackageId + '&parentProductId=' + $scope.currentFinancialProductId).then(\r\n\r\n function (d) {\r\n $scope.LinkedNonFinancialProduct = d.data.Result;\r\n var modalInstance = $modal.open({\r\n animation: true,\r\n templateUrl: '/WWW/partials/modules/calculation.package/showLinkedProductsModal.html',\r\n controller: 'ShowLinkedProductsModalCtrl',\r\n scope: $scope,\r\n size: \"lg\"\r\n });\r\n\r\n modalInstance.result.then(\r\n function (financialItem) {\r\n\r\n },\r\n function () {\r\n }\r\n );\r\n\r\n\r\n },\r\n function (e) {\r\n toaster.pop('error', 'Pobieranie danych nie powiodło się');\r\n });\r\n\r\n };\r\n\r\n }])\r\n\r\n\r\n .controller('EditCalculationPackageModalCtrl', ['$scope', '$modalInstance', 'dataForEditCalculationPackage', function ($scope, $modalInstance, dataForEditCalculationPackage) {\r\n $scope.dataForEditCalculationPackage = dataForEditCalculationPackage;\r\n\r\n $scope.ok = function () {\r\n $modalInstance.close($scope.dataForEditCalculationPackage);\r\n };\r\n\r\n $scope.cancel = function () {\r\n $modalInstance.dismiss('cancel');\r\n };\r\n }])\r\n\r\n .controller('ShowLinkedProductsModalCtrl', ['$scope', '$http', '$modalInstance', 'toaster', 'filterFilter', function ($scope, $http, $modalInstance, toaster, filterFilter) {\r\n $scope.obligatoryOptions = [\r\n { value: 2, name: 'Obligatoryjny' },\r\n { value: 1, name: 'Nieobligatoryjny' },\r\n { value: 0, name: 'Nieokreślony' }\r\n ];\r\n\r\n var keys = Object.keys($scope.LinkedNonFinancialProduct.LinkedProductsDictionary);\r\n var i;\r\n $scope.LinkProd = [];\r\n\r\n for (i = 0; i < keys.length; i++) {\r\n $scope.LinkProd[i] = $scope.LinkedNonFinancialProduct.LinkedProductsDictionary[keys[i]];//.LinkedProductName;\r\n };\r\n\r\n $scope.filteredProductsList = [];\r\n\r\n $scope.searchNonFinancialProducts = {\r\n name: \"\"\r\n };\r\n\r\n $scope.filterRequest = function (item) {\r\n if ($scope.searchNonFinancialProducts.name) {\r\n var _v0 = ($scope.searchNonFinancialProducts.name || \"\").toLowerCase();\r\n //if (!$scope.LinkedNonFinancialProduct.LinkedProductsDictionary.hasOwnProperty(item)) return false;\r\n var _v1 = (item.LinkedProductName + \"\" || \"\").toLowerCase();\r\n if (_v1.indexOf(_v0) == -1) return false;\r\n }\r\n return true;\r\n };\r\n\r\n $scope.$watch('searchNonFinancialProducts', function () {\r\n $scope.filteredProductsList = filterFilter($scope.LinkProd, $scope.filterRequest);\r\n }, true);\r\n $scope.searchNonFinancialProducts = \"\";\r\n\r\n $scope.$watch('LinkedNonFinancialProduct.LinkedProductsDictionary', function () {\r\n $scope.filteredProductsList = filterFilter($scope.LinkProd, $scope.filterRequest);\r\n }, true);\r\n\r\n $scope.saveLinkedProducts = function () {\r\n $http.post(\"/api/CalculationPackageLinkedNonFinancialProduct\", $scope.LinkedNonFinancialProduct).then(function (d) {\r\n $scope.LinkedNonFinancialProduct = d.data;\r\n $modalInstance.close($scope.item);\r\n }, function (e) {\r\n console.error(e);\r\n toaster.pop('error', \"Produkty\", \"Błąd przy zapisywaniu danych\");\r\n });\r\n };\r\n\r\n\r\n $scope.ok = function () {\r\n $modalInstance.close($scope.financialItem);\r\n };\r\n\r\n $scope.cancel = function () {\r\n $modalInstance.dismiss('cancel');\r\n };\r\n }]);"]}