mainAppModule.controller('aprobareContCtrl',function($scope,ajaxService){ $scope.info = { table : { isEmpty : true, items : null, totalItemsCount : null, filteredItemsCount : null, totalPageNum : null, crtPageNum : null, crtPageGroup : null, groupSelectOptions : null, pageSelectOptions : null, additInfo : null }, params : { type : null, info : { queryEntity : null, pageNum : null, pageGroup : null, addit : null } }, denial : { reason : "", show : false, touched : false }, search : { cnp : "", id : "", successMemento : null }, jsonRequestUrl : "", lastAction : "", }; $scope.template = { table : angular.copy($scope.info.table), params : angular.copy($scope.info.params), search : angular.copy($scope.info.search) }; $scope.formRetrTableInfoParams = function(type){ $scope.info.lastAction = type; $params = angular.copy($scope.template.params); $params.type = type; $params.info.queryEntity = $scope.info.search.successMemento; $params.info.pageNum = $scope.info.table.crtPageNum == null ? 1 : $scope.info.table.crtPageNum; $params.info.pageGroup = $scope.info.table.crtPageGroup == null ? 5 : $scope.info.table.crtPageGroup; $params.info = angular.toJson($params.info); return $params; }; $scope.setPostId = function(id){ $("#" + id).val(id); }; $scope.retrieveItems = function(params){ ajaxService.sendXTR($scope.info.jsonRequestUrl,$.param(params)) .then(function(result){ if(params.type == "onSearch"){ if(result.additInfo["found"] == true){ if(result.additInfo["isId"] == true){ $("#retCerereCarrier").val($scope.info.search.id); $("#retCerereForm").submit(); } else{ if(result.additInfo["isSingle"] == true){ $("#retCerereCarrier").val(result.additInfo["id"]); $("#retCerereForm").submit(); } else{ $scope.info.search.successMemento = angular.fromJson(result.additInfo["newSuccessMemento"]); } } } } $scope.info.table = result; }, function(status){ console.log("Eroare la request XHR trimis in functia 'retrieveItems' :"); console.log(status); }); }; $scope.onInitPage = function(){ $scope.retrieveItems($scope.formRetrTableInfoParams("onInitPage")); }; $scope.onChangePage = function(){ $scope.retrieveItems($scope.formRetrTableInfoParams("onChangePage")); }; $scope.onChangeGroup = function(){ $scope.retrieveItems($scope.formRetrTableInfoParams("onChangeGroup")); }; $scope.onSearch = function(event){ if(event.which == 13){ $search = $scope.info.search; if($search.cnp == "" && $search.id == ""){ $scope.onCancelFilter(); } else{ $scope.info.search.successMemento = { column : "cnp", value : $search.cnp, opInLink : null, opType : 1, lads : [{ column : "id", value : $search.id, opInLink : "and", opType : 1, lads : [] }] }; $scope.retrieveItems($scope.formRetrTableInfoParams("onSearch")); } } }; $scope.onCancelFilter = function(){ $scope.info.search = angular.copy($scope.template.search); $scope.onInitPage(); }; $scope.onInitDenial = function(hiddenElemId){ $scope.info.denial.reason = $("#" + hiddenElemId).val(); }; $scope.onShowInput = function(){ $scope.info.denial.reason = ""; $scope.info.denial.show = true; $(".waitConfirmare").hide(); }; $scope.onCloseInput = function(){ $scope.info.denial.show = false; $(".waitConfirmare").show(); }; $scope.onChangeReason = function(){ $scope.info.denial.touched = true; }; $scope.onConfirmDenial = function(formId){ $("#" + formId + " input[name='reason']").val($scope.info.denial.reason); $("#" + formId + " input[name='email']").val($("#email").val()); $("#" + formId).submit(); }; $scope.$watch("info.denial.reason",function(newValue,oldValue){ if(newValue != oldValue && $scope.info.denial.touched == true){ if(newValue.length > 4000){ $scope.info.denial.touched = false; $scope.info.denial.reason = oldValue; } } }); });