Index: arms/js/searchEngine.js =================================================================== diff -u -r46d2768ad80fa7b7b3d918faa222e2327cef4001 -r83e8f34142871b8b7c394442e4a6638e2187455f --- arms/js/searchEngine.js (.../searchEngine.js) (revision 46d2768ad80fa7b7b3d918faa222e2327cef4001) +++ arms/js/searchEngine.js (.../searchEngine.js) (revision 83e8f34142871b8b7c394442e4a6638e2187455f) @@ -231,13 +231,37 @@ }); } +////////////////////// +// 페이지 누를때 동작 +////////////////////// +function search(search_section, page) { + var search_string = $("#search-input").val(); + var pageSize = 10; + + $.ajax({ + url: "/engine-search-api/engine/jira/dashboard/search/"+search_section, + type: "GET", + data: { "search_string": search_string, "page" : page, "size": pageSize }, + dataType: "json", + success: function(result) { + console.log("[searchEngine :: search_start] :: jiraissue_search_results => "); + console.log(result); + let showPage = page+1; // 보여주는 페이지 + SearchApiModule.setSearchResult(search_section,result, showPage, pageSize); + let pageStart = Math.floor(page / 10) * 10 + 1; + SearchApiModule.updateButtons(search_section, pageStart); + } + }); +} + + function search_start(search_string) { console.log("[searchEngine :: search_start] :: search_string => " + search_string); $.ajax({ - url: "/engine-search-api/engine/jira/dashboard/search", + url: "/engine-search-api/engine/jira/dashboard/search/jiraissue", type: "GET", - data: { "search_string": search_string, "page" : 0, "size": 1000 }, + data: { "search_string": search_string, "page" : 0, "size": 10 }, dataType: "json", success: function(result) { console.log("[searchEngine :: search_start] :: jiraissue_search_results => "); @@ -251,9 +275,9 @@ }); $.ajax({ - url: "/engine-search-api/engine/jira/dashboard/search/fluentd", + url: "/engine-search-api/engine/jira/dashboard/search/log", type: "GET", - data: { "search_string": search_string, "page" : 0, "size": 1000 }, + data: { "search_string": search_string, "page" : 0, "size": 10 }, dataType: "json", success: function(result) { console.log("[searchEngine :: search_start] :: fluentd_search_results => "); @@ -304,5 +328,9 @@ function changePage(search_section,page) { console.log("[searchEngine :: chagne] :: search_section -> " +search_section + ", page -> " +page); - SearchApiModule.changePage(search_section,page); + let requestPage = page-1 ; + if(requestPage < 0) { + requestPage = 0; + } + search(search_section, requestPage); } \ No newline at end of file Index: arms/js/searchEngine/searchApiModule.js =================================================================== diff -u -r46d2768ad80fa7b7b3d918faa222e2327cef4001 -r83e8f34142871b8b7c394442e4a6638e2187455f --- arms/js/searchEngine/searchApiModule.js (.../searchApiModule.js) (revision 46d2768ad80fa7b7b3d918faa222e2327cef4001) +++ arms/js/searchEngine/searchApiModule.js (.../searchApiModule.js) (revision 83e8f34142871b8b7c394442e4a6638e2187455f) @@ -5,18 +5,20 @@ "fluentd" : null }; - let items_per_page=10; //페이지별 아이템 갯수. 기본값 10으로 설정 - - // 검색한 자료 세팅 - var setItemsPerPage = function (items_per_page) { - items_per_page = +items_per_page; - return items_per_page; + // 검색결과 총수 + var hitsTotal = { + "jiraissue" : null, + "fluentd" : null }; var setSearchResult = function(search_section, search_results, current_page, items_per_Page) { if(search_section) { - searchResult[search_section] = search_results; - paginateAndDisplayData(search_section, current_page,items_per_Page); + searchResult[search_section] = search_results["검색결과_목록"]; + hitsTotal[search_section] = search_results["결과_총수"]; + + displayResults(search_section, getSearchResult(search_section)); + displayPagination(search_section, current_page); + } else { console.log("[searchApiModule :: setSearchResult] ::: search_section 없습니다."); } @@ -31,30 +33,16 @@ console.log("[searchApiModule :: getSearchResultDetail] :: search_section -> " + search_section + ", order ->" + order); return searchResult[search_section][order]; }; - var paginateAndDisplayData = function (search_section, currentPage, itemsPerPage) { - const data = getSearchResult(search_section); - let items_per_page = setItemsPerPage(itemsPerPage); - // 현재 페이지에서 보여줄 데이터 추출 - const startIndex = (currentPage - 1) * items_per_page; - const endIndex = startIndex + items_per_page; - const currentPageData = data.slice(startIndex, endIndex); - console.log("startIndex : " + startIndex); console.log("endIndex : " + endIndex); - console.log(currentPageData); - // 페이징된 데이터를 화면에 표시 - displayData(search_section, currentPageData, currentPage, items_per_page); - const totalPage = Math.ceil(data.length / items_per_page); - const countPageBlock = 10; // 페이지블록 수 (한번에 보여줄 페이지 수) + var displayPagination = function (search_section, currentPage) { + const totalPage = hitsTotal[search_section] / 10; + const countPageBlock = 10; // 페이지블록 수 (한번에 보여줄 페이지 수) let startPage = ((currentPage-1) / 10) * 10 + 1; let endPage = startPage + countPageBlock -1; - if (totalPage < currentPage) { - currentPage = totalPage; - } - if (endPage > totalPage) { - endPage = totalPage; - } + if (totalPage < currentPage) { currentPage = totalPage; } + if (endPage > totalPage) { endPage = totalPage; } let pagination = ''; pagination += '