| | |
| | | moveMenu : moveMenu, |
| | | findIssueList : findIssueList, // 사이드바 이슈 목록 가져오기 |
| | | changeIssueListMenu : changeIssueListMenu, |
| | | setLastIssueType : setLastIssueType |
| | | setLastIssueType : setLastIssueType, |
| | | searchAll : searchAll // 상단 검색 |
| | | }; |
| | | |
| | | $scope.vm = { |
| | | workProject : -1, |
| | | message: "", |
| | | workProjectId : -1 |
| | | workProjectId : -1, |
| | | searchAll : { |
| | | keyWord : "" |
| | | } |
| | | }; |
| | | |
| | | |
| | | |
| | | // 시스템에서 특정 이슈로 바로 이동할 수 있도록 해준다. |
| | | $scope.$on("makeIssueSearch", function (event, args) { |
| | | // 이슈 번호를 저장한 후 이슈 목록으로 이동한다. |
| | | $scope.fn.makeIssueSearch(args.projectKey, args.issueNumber); |
| | | $scope.fn.makeIssueSearch(args.projectKey, args.issueNumber, args.issueTypeId); |
| | | }); |
| | | |
| | | // 이슈 유형 변경시 |
| | |
| | | $scope.$on("getProjectList", function () { |
| | | findAllWorkproject(); |
| | | }); |
| | | |
| | | $scope.$on("changedLastProject", function () { |
| | | //if ($rootScope.workProject != null) { |
| | | $scope.fn.findIssueList($rootScope.workProject.id); |
| | | //} |
| | | }); |
| | | |
| | | // 메인 상단 검색 |
| | | function searchAll() { |
| | | if ($state.current.name !== "issues.list") { |
| | | // $state.go("issues.list"); |
| | | var myUrl = window.location.href.split('#/'); |
| | | location.href = myUrl[0] + "#/issues/issueList?keyWord=" + $scope.vm.searchAll.keyWord; |
| | | } else { |
| | | $rootScope.$broadcast("searchIssueList", {keyWord: $scope.vm.searchAll.keyWord}); |
| | | } |
| | | //$scope.vm.searchAll.keyWord = ""; |
| | | //$rootScope.previousGetParams = null; |
| | | } |
| | | |
| | | function setLastIssueType() { |
| | | if (User != null) { |
| | |
| | | } |
| | | } |
| | | |
| | | function changeIssueListMenu(issueTypeId) { |
| | | function changeIssueListMenu(issueTypeId, changeProject = true) { |
| | | $rootScope.issueTypeMenu = null; |
| | | for (var issueType of $rootScope.workIssueTypes) { |
| | | if (issueType.id === issueTypeId) { |
| | |
| | | } |
| | | |
| | | // sidebar 클릭시 프로젝트 아이디 설정 |
| | | $rootScope.changeLastProject($rootScope.issueTypeMenu.projectVo.id); |
| | | if (changeProject) { |
| | | |
| | | if ($rootScope.issueTypeMenu != null) { |
| | | moveMenu("issues.list"); |
| | | $rootScope.$broadcast("changedIssueListMenu", $rootScope.issueTypeMenu); |
| | | $rootScope.changeLastProject($rootScope.issueTypeMenu.projectVo.id, false, false); |
| | | |
| | | if ($rootScope.issueTypeMenu != null) { |
| | | moveMenu("issues.list"); |
| | | } |
| | | } |
| | | |
| | | $rootScope.$broadcast("changeIssueListMenu", $rootScope.issueTypeMenu); |
| | | //moveMenu("issues.list"); |
| | | |
| | | if ($rootScope.user.lastIssueTypeId !== issueTypeId) { |
| | | $scope.fn.setLastIssueType(issueTypeId); |
| | | } |
| | | |
| | | } |
| | | |
| | | function moveMenu(stateName) { |
| | | if ($state.current.name == stateName) { |
| | | if ($state.current.name === stateName) { |
| | | $state.reload(); |
| | | } else { |
| | | $state.go(stateName); |
| | |
| | | } |
| | | |
| | | // 이슈 번호를 저장한 후 이슈 목록으로 이동한다. |
| | | function makeIssueSearch(projectKey, issueNumber) { |
| | | function makeIssueSearch(projectKey, issueNumber, issueTypeId) { |
| | | var combinationIssueNumber = projectKey; |
| | | if (issueNumber != undefined) { |
| | | combinationIssueNumber += "-" + issueNumber; |
| | |
| | | $resourceProvider.getPageContent(0, 0))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $scope.fn.changeIssueListMenu(issueTypeId); |
| | | moveMenu("issues.list"); |
| | | } else { |
| | | SweetAlert.error($filter("translate")("issue.failedToSaveFieldConditions"), result.data.message.message); // "검색 필드 조건 저장 실패" |
| | |
| | | } |
| | | |
| | | var id = $rootScope.workProject.id === -1 ? null : $rootScope.workProject.id; |
| | | $scope.fn.findIssueList(id); |
| | | } |
| | | $rootScope.projects = datas; |
| | | $scope.fn.findIssueList(id); |
| | | } |
| | | |
| | | if ($rootScope.user.lastProjectId == null) { |
| | |
| | | }); |
| | | } |
| | | |
| | | |
| | | // 현재 프로젝트 변경시 |
| | | $scope.$on("changeLastProject", function (event, args) { |
| | | findIssueList(args.id); |
| | | }); |
| | | |
| | | // 이슈 유형 목록 가져오기 |
| | | function findIssueList(projectId) { |
| | | |
| | | if ($rootScope.projects == null || $rootScope.projects.length <= 1) |
| | | return; |
| | | |
| | | // 이슈 타입 목록 검색 조건을 만든다. |
| | | var conditions = { |
| | | projectId : projectId > -1 ? projectId : null, |
| | |
| | | if ($rootScope.workIssueTypes != null && $rootScope.workIssueTypes.length > 0) { |
| | | $rootScope.workIssueTypes.forEach(function (issueType) { |
| | | |
| | | var selectIssueTypeId = null; |
| | | //var selectIssueTypeId = null; |
| | | if (issueType.id === $rootScope.user.lastIssueTypeId) { |
| | | selectIssueTypeId = issueType.id; |
| | | $scope.fn.changeIssueListMenu(issueType.id); |
| | | } |
| | | |
| | | if (selectIssueTypeId == null) { |
| | | $scope.fn.changeIssueListMenu($rootScope.workIssueTypes[0].id); |
| | | //selectIssueTypeId = issueType.id; |
| | | $scope.fn.changeIssueListMenu(issueType.id, false); |
| | | // 이슈목록 새로고침 목록 갱신 |
| | | $scope.$broadcast("findIssueListOK", { myIssueType : issueType} ); |
| | | } |
| | | }); |
| | | } else { |
| | | $state.go('dashboards.dashboard'); |
| | | } |
| | | } |
| | | else { |
| | |
| | | // 프로젝트 변경 |
| | | function changeLastProject(projectId) { |
| | | $rootScope.changeLastProject(projectId); |
| | | |
| | | |
| | | } |
| | | |
| | | // 업무 공간 변경 |
| | |
| | | $scope.fn.findAllWorkproject(); |
| | | }); |
| | | |
| | | |
| | | // 10초마다 웹 소켓 연결을 확인하는 폴링 이벤트 |
| | | $interval(function () { |
| | | //$log.debug("10초마다 소켓 연결을 확인합니다."); |