Index: arms/css/override.css
===================================================================
diff -u -r12c8edcfa9a5be18262870328d0461fcef8de16c -r998f1174b4b14d86f06e96bb40b02952947d75f8
--- arms/css/override.css (.../override.css) (revision 12c8edcfa9a5be18262870328d0461fcef8de16c)
+++ arms/css/override.css (.../override.css) (revision 998f1174b4b14d86f06e96bb40b02952947d75f8)
@@ -1862,3 +1862,13 @@
width: 80%;
}
}
+
+#nav-search-button.highlight,
+#nav-search-button.highlight a{
+ background: rgba(51,51,51,.5);
+ color: #b8b8b8;;
+ border-radius: 3px;
+ font-size: 17px;
+ width: 30px;
+ line-height: 30px;
+}
\ No newline at end of file
Index: arms/html/template/page-header.html
===================================================================
diff -u -rec298cdd23c8103d3e7dececdf1e20e97d410f22 -r998f1174b4b14d86f06e96bb40b02952947d75f8
--- arms/html/template/page-header.html (.../page-header.html) (revision ec298cdd23c8103d3e7dececdf1e20e97d410f22)
+++ arms/html/template/page-header.html (.../page-header.html) (revision 998f1174b4b14d86f06e96bb40b02952947d75f8)
@@ -2,24 +2,16 @@
-
-
-
-
-
-
-
+
-
+ -
+
+
+
+
+
-
(function ($) {
- $("#nav-search-input").on("keyup", function(event) {
- if(event.keyCode ===13) {
- console.log("[page-header :: nav-search-input] :: 검색어 입력 값 => " +$("#nav-search-input").val());
- $("#nav-search-button").click(); //검색 트리거
- };
- });
-
- $("#nav-search-button").on("click", function (event) {
- let 검색어 = "";
- console.log("[page-header :: nav-search-start] :: nav-search-button 실행");
- if ($("#nav-search-input").val()) {
- console.log("[page-header :: nav-search-start] :: 검색어 입력 값 => " +$("#nav-search-input").val());
- 검색어 = $("#nav-search-input").val().trim();
- goToTemplatePageWithSearchString("searchEngine", 검색어);
- } else {
- console.log("[page-header :: nav-search-start] :: 검색어가 없습니다. 검색페이지로 이동합니다");
- goToTemplatePage("searchEngine");
- }
- });
-
$(".logout").click(function (event) {
event.preventDefault();
Index: arms/js/common.js
===================================================================
diff -u -rfc42a4cd1d5cd3c02b89ff7bd4950483c541e6e5 -r998f1174b4b14d86f06e96bb40b02952947d75f8
--- arms/js/common.js (.../common.js) (revision fc42a4cd1d5cd3c02b89ff7bd4950483c541e6e5)
+++ arms/js/common.js (.../common.js) (revision 998f1174b4b14d86f06e96bb40b02952947d75f8)
@@ -170,6 +170,7 @@
톱니바퀴_초기설정();
setLocale();
widgsterWrapper();
+ 검색_이벤트_트리거();
}
////////////////////////////////////////////////////////////////////////////////////////
@@ -1276,16 +1277,32 @@
// 페이지 이동 처리
//////////////////////////////////////////
function goToTemplatePage(pageName) {
- console.log("[common :: goToTemplatePage] :: pageName => " + pageName);
- window.location.href = "template.html?page=" + pageName;
+ let current_page = getPageName(this.location.search);
+ console.log("[common :: goToTemplatePage] :: current_page => " + current_page);
+ if(current_page === "searchEngine") {
+ console.log("[common :: goToTemplatePage] :: 검색페이지");
+ } else {
+ console.log("[common :: goToTemplatePage] :: pageName => " + pageName);
+ window.location.href = "template.html?page=" + pageName;
+ }
}
//////////////////////////////////////////
// 검색어 포함 페이지 이동 처리
//////////////////////////////////////////
function goToTemplatePageWithSearchString(pageName, searchString) {
console.log("[common :: goToTemplatePageWithSearchString] :: pageName => " + pageName+", 검색어 => " + searchString);
- window.location.href = "template.html?page=" + pageName+"&searchString="+searchString;
+ let current_page = getPageName(this.location.search);
+
+ if(current_page === "searchEngine") {
+ console.log("[common :: goToTemplatePageWithSearchString] :: current_page => " + current_page);
+ console.log("[common :: goToTemplatePageWithSearchString] :: 검색페이지");
+ $("#search-input").val(searchString);
+ $("#search-button").click();
+ } else {
+ console.log("[common :: goToTemplatePageWithSearchString] :: 검색어와 함께 페이지 이동");
+ window.location.href = "template.html?page=" + pageName+"&searchString="+searchString;
+ }
}
function laddaBtnSetting(라따적용_클래스이름_배열) {
@@ -1419,10 +1436,13 @@
});
}
-function getPageName(str) {
- if (str !== "") {
- let idxOfPageParam = str.indexOf("page"); // page param의 위치
- return str.substring(idxOfPageParam + 5);
+function getPageName() {
+ const queryString = location.search;
+ const params = new URLSearchParams(queryString);
+ const page = params.get("page");
+
+ if (!isEmpty(page)) { // page param의 위치
+ return page;
}
return "페이지 이름 없음"; //페이지 이름이 없을 경우.
}
@@ -1810,3 +1830,55 @@
setLocale(localeSelect.options[localeSelect.selectedIndex].value);
}
+
+
+/////////////////////////////////////
+// 검색_이벤트_트리거
+/////////////////////////////////////
+function 검색_이벤트_트리거() {
+ $("#nav-search-input").on("focus", function(event) {
+ $("#nav-search-button").addClass("highlight");
+ });
+
+ $("#nav-search-input").on("blur", function(event) {
+ $("#nav-search-button").removeClass("highlight");
+ });
+ // nav 검색창
+ $("#search_form").on("submit", function (event) {
+ event.preventDefault();
+
+ let 검색어 = $("#nav-search-input").val().trim();
+ if (검색어) {
+ console.log("[page-header :: nav-search-start] :: 검색어 입력 값 => " + 검색어);
+ setParameter("searchString", 검색어);
+ goToTemplatePageWithSearchString("searchEngine", 검색어);
+ } else {
+ console.log("[page-header :: nav-search-start] :: 검색어가 없습니다. 검색페이지로 이동합니다");
+ goToTemplatePage("searchEngine");
+ }
+ });
+
+ $("#nav-search-button").on("click", function (event) {
+ $("#search_form").trigger("submit");
+ });
+}
+
+/////////////////////////////////////////////
+// URL 파라미터값 찾기
+/////////////////////////////////////////////
+function getParameter(param) {
+ param = param.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
+ let regex = new RegExp("[\\?&]" + param + "=([^]*)"),
+ results = regex.exec(location.search);
+ return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
+}
+
+/////////////////////////////////////////////
+// URL 파라미터값 수정
+/////////////////////////////////////////////
+function setParameter(param, value) {
+ var url = new URL(window.location.href);
+ url.searchParams.set(param, value);
+ // Replace the currnt URL without reloading the page
+ window.history.pushState({path:url.href}, '', url.href);
+}
\ No newline at end of file
Index: arms/js/searchEngine.js
===================================================================
diff -u -r47b357c8184913b1e1fa5ead21a51305f50fa3cb -r998f1174b4b14d86f06e96bb40b02952947d75f8
--- arms/js/searchEngine.js (.../searchEngine.js) (revision 47b357c8184913b1e1fa5ead21a51305f50fa3cb)
+++ arms/js/searchEngine.js (.../searchEngine.js) (revision 998f1174b4b14d86f06e96bb40b02952947d75f8)
@@ -94,8 +94,7 @@
eventListenersActivator();
-
- //상단 검색 확인
+ //페이지 로드 시 - 상단 검색 확인
checkQueryStringOnUrl();
})
.catch(function (e) {
@@ -226,9 +225,9 @@
$("#search-button").on("click", function (event) {
console.log("[searchEngine :: search_start] :: search-button 동작 -> 검색을 실행");
-
+ $("#nav-search-input").val("");
+ setParameter("searchString",$("#search-input").val());
search_start($("#search-input").val());
- //getMockJsonData();
});
//검색 결과 리스트 클릭 이벤트
@@ -246,6 +245,7 @@
}
function search_start(search_string) {
+
$.ajax({
url: "/engine-search-api/engine/jira/dashboard/search",
type: "GET",
@@ -423,9 +423,10 @@
var searchTerm = urlParams.get("searchString");
if (searchTerm) {
console.log("[searchEngine :: checkQueryStringOnUrl] :: 상단_검색 검색어 => " + searchTerm);
- document.getElementById("search-input").value = searchTerm;
- search_start($("#search-input").val());
+ $("#search-input").val(searchTerm);
+ search_start(searchTerm);
} else {
console.log("[searchEngine :: checkQueryStringOnUrl] :: 상단_검색 검색어가 없습니다.");
+ // 검색페이지 중앙으로 커서 이동 이벤트 넣기?
}
}
\ No newline at end of file