(() => { const { pageHelper, actions, EventManager } = ShopbySkin; const containerEl = document.querySelector('[shopby-helper-key="previous-order-list-helper-key"]'); const datePickerHelper = pageHelper.datePickerHelper(); datePickerHelper.initialize(); const previousOrdersAction = actions.getPreviousOrdersAction(); const previousOrdersHelper = pageHelper.previousOrdersHelper(); previousOrdersHelper.initialize({ helperKey: 'previous-order-list-helper-key', previousOrdersAction, }); const CLICK_EVENT_HANDLER_MAP = { SEARCH_ORDERS: ({ event }) => { const params = new URLSearchParams(location.search); // ✅ CHANGE_DATE 트리거 실행 const dateSelect = document.querySelector("[shopby-on\\:change='CHANGE_DATE']"); if (dateSelect) { dateSelect.dispatchEvent(new Event('change', { bubbles: true })); } // ✅ 페이지 리로드 location.href = `${location.origin}${location.pathname}?${params.toString()}`; }, }; const clickEventListener = (event) => { const actionType = event.target.getAttribute('shopby-action'); CLICK_EVENT_HANDLER_MAP[actionType]?.({ event }); }; // 예시: shopby-action을 가진 요소에 이벤트 리스너 바인딩 document.addEventListener('click', (event) => { if (event.target.hasAttribute('shopby-action')) { clickEventListener(event); } }); containerEl.addEventListener('click', clickEventListener); EventManager.on('PAGE_LOAD_COMPLETED', () => { EventManager.fire('INIT_PREVIOUS_ORDERS'); }); })();