merge master into develop - CscListRForm.jsp FAQ 아코디언 버그 수정
This commit is contained in:
@@ -0,0 +1,108 @@
|
||||
/**
|
||||
* IntakchlChallengeSettings.js
|
||||
*
|
||||
* 섭취 챌린지 설정 화면을 관리하는 모듈
|
||||
* 사용자가 섭취 제품 관리와 알림 설정 페이지로 이동할 수 있는 기능 제공
|
||||
*
|
||||
* 주요 기능:
|
||||
* 1. 섭취 제품 관리 페이지 이동 처리
|
||||
* 2. 알림 설정 페이지 이동 처리
|
||||
* 3. 이벤트 리스너 등록 및 관리
|
||||
*
|
||||
* 연관 파일:
|
||||
* - IntakchlAlarmSettings.js: 알림 설정 관련 기능
|
||||
* - IntakchlProductDetail.js: 제품 상세 관련 기능
|
||||
*/
|
||||
|
||||
$(function() {
|
||||
/**
|
||||
* 문서 로딩 완료 후 초기화 함수
|
||||
* 각 버튼에 이벤트 리스너 등록
|
||||
*/
|
||||
function init() {
|
||||
// 이벤트 리스너 등록
|
||||
registerEventListeners();
|
||||
}
|
||||
|
||||
/**
|
||||
* URL에서 특정 파라미터 값을 추출하는 함수
|
||||
* @param {string} paramName - 추출할 파라미터명
|
||||
* @return {string|null} 파라미터 값 또는 null
|
||||
*/
|
||||
function getUrlParameter(paramName) {
|
||||
const urlParams = new URLSearchParams(window.location.search);
|
||||
return urlParams.get(paramName);
|
||||
}
|
||||
|
||||
/**
|
||||
* 각 버튼 및 요소에 이벤트 리스너 등록
|
||||
*/
|
||||
function registerEventListeners() {
|
||||
// 섭취제품 관리 버튼 클릭 이벤트
|
||||
$("#manageProducts").on("click", function(e) {
|
||||
e.preventDefault(); // 기본 이벤트 방지
|
||||
navigateToProductManagement();
|
||||
});
|
||||
|
||||
// 알림설정 버튼 클릭 이벤트
|
||||
$("#setAlarms").on("click", function(e) {
|
||||
e.preventDefault(); // 기본 이벤트 방지
|
||||
navigateToAlarmSettings();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 섭취제품 관리 페이지로 이동
|
||||
* 해당 컨트롤러의 intakchlChallengeProductManagement 메소드 호출
|
||||
*/
|
||||
function navigateToProductManagement() {
|
||||
const bnfInnb = getUrlParameter('bnfInnb');
|
||||
const source = getUrlParameter('source'); // source 파라미터도 추출
|
||||
let url = '/sopmal/bnft/intakchlChallengeProductManagement';
|
||||
|
||||
const params = [];
|
||||
|
||||
// bnfInnb 파라미터가 있는 경우 추가
|
||||
if (bnfInnb) {
|
||||
params.push('bnfInnb=' + encodeURIComponent(bnfInnb));
|
||||
}
|
||||
|
||||
// source 파라미터가 있는 경우 추가
|
||||
if (source) {
|
||||
params.push('source=' + encodeURIComponent(source));
|
||||
}
|
||||
|
||||
// 파라미터가 있으면 URL에 추가
|
||||
if (params.length > 0) {
|
||||
url += '?' + params.join('&');
|
||||
}
|
||||
|
||||
// 페이지 이동 전 로딩 표시 등 추가 필요시 여기에 작성
|
||||
window.location.href = url;
|
||||
}
|
||||
|
||||
/**
|
||||
* 알림설정 페이지로 이동
|
||||
* 해당 컨트롤러의 intakchllAlarmSettings 메소드 호출
|
||||
*/
|
||||
function navigateToAlarmSettings() {
|
||||
const bnfInnb = getUrlParameter('bnfInnb');
|
||||
let url = '/sopmal/bnft/intakchllAlarmSettings';
|
||||
|
||||
// bnfInnb 파라미터가 있는 경우 URL에 추가
|
||||
if (bnfInnb) {
|
||||
url += '?bnfInnb=' + encodeURIComponent(bnfInnb);
|
||||
}
|
||||
|
||||
// 페이지 이동 전 로딩 표시 등 추가 필요시 여기에 작성
|
||||
window.location.href = url;
|
||||
}
|
||||
|
||||
// 문서 로딩 완료 시 초기화 함수 호출
|
||||
init();
|
||||
|
||||
// 에러 처리를 위한 전역 에러 핸들러 추가
|
||||
$(window).on("error", function(e) {
|
||||
console.error("JavaScript 오류 발생:", e.originalEvent.message);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user