/* * © 2021. NHN Commerce Corp. All rights reserved. * NHN Corp. PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * * @author hyeyeon-park * @since 2021.6.24 */ $(() => { shopby.event.list = { page: shopby.pagination, eventTypes: 'ING', backPageNumber: null, initiate() { window.onpopstate = this.onPopState.bind(this); this.page = new shopby.pagination(this.onPagination.bind(this), '#pagination', 6); Promise.all([ this._getBoardList(this.getCurrentPageNumber()), ]).then(() => { this.initRender(); this.bindEvents(); }); }, initRender() { $('#eventTab').render({ eventTypes: this.eventTypes }); }, bindEvents() { $('#boardArticles') .on('click', '.url', this.getEventInfo.bind(this)); }, onPopState() { this.eventTypes = shopby.utils.getUrlParam('eventTypes'); this.backPageNumber = shopby.utils.getUrlParam('pageNumber'); this._getBoardList(); }, onPagination() { this.backPageNumber = null; this._getBoardList(); }, getArticleInfo(event) { const $target = $(event.currentTarget); const setArticleData = value => $target.closest('li').data(value); const articleInfo = { registerType: setArticleData('register-type'), registerNo: setArticleData('register-no'), modifierNo: setArticleData('modifier-no'), isSecret: setArticleData('secret'), articleNo: setArticleData('article-no'), }; this.setCurrentPage(); this._checkSecretArticle(articleInfo, this.userInfo && this.userInfo.memberNo ? this.userInfo.memberNo : 0); }, setCurrentPage() { localStorage.setItem('pageNumber', this.page.pageNumber); }, _goArticlePage(articleInfo) { location.href = `/pages/board/event_view.html?boardId=${articleInfo.boardId}&articleNo=${articleInfo.articleNo}&secreted=${articleInfo.isSecret}`; }, search() { this.backPageNumber = null; this.page.pageNumber = 1; this._getBoardList(); }, async _getBoardList(pageNumber) { this.eventTypes = shopby.utils.getUrlParam('eventTypes') ? shopby.utils.getUrlParam('eventTypes') : 'ING'; const request = { headers: { Version: '2.0' }, queryString: { //eventYn: 'Y', progressStatus: this.eventTypes, 'page.number': this.backPageNumber ? this.backPageNumber : pageNumber || this.page.pageNumber, 'page.size': this.page.pageSize, 'order.by': 'END_DATE', }, }; const { data: eventList } = await shopby.kaimen.api.display.getDisplayEvents(request); eventList && this._renderBoardList( eventList.contents, eventList.totalCount, request.queryString.pageNumber, ); if (this.backPageNumber) return; shopby.utils.pushState({ pageNumber: this.page.pageNumber, eventTypes: this.eventTypes, }); }, displayOrderCreator(pageNumber, idx) { return pageNumber * this.page.pageSize + idx + 1 - this.page.pageSize; }, getCurrentPageNumber() { const localstoragePageNumber = localStorage.getItem('pageNumber'); localStorage.removeItem('pageNumber'); return localstoragePageNumber ? Number(localstoragePageNumber) : this.page.pageNumber; }, _renderBoardList(articles, totalCount, pageNumber) { this.page.render(totalCount, pageNumber); $('#boardArticles').render({ articles, pageNumber: this.backPageNumber ? this.backPageNumber : this.page.pageNumber, pageSize: this.page.pageSize, }); $('#contents').addClass('visible'); }, getEventInfo(event) { const $target = $(event.currentTarget); const setEventData = value => $target.closest('li').data(value); const articleInfo = { url: setEventData('url'), no: setEventData('no'), }; //location.href = `/${articleInfo.url}`; location.href = "/pages/event/view.html?no="+articleInfo.no; }, }; shopby.start.initiate(shopby.event.list.initiate.bind(shopby.event.list)); });