小川桃果 / 佐々木かの / モリタクロウ

御茶ノ水パルトネール 千代田区神田駿河台3-1大雅ビル3F 東京都 日本

8/8(木)夜、Music Park #90 小川桃果 / 佐々木かの / モリタクロウ OPEN19:00 […]

珠希美いな/はらあやの/伊藤さくら

御茶ノ水パルトネール 千代田区神田駿河台3-1大雅ビル3F 東京都 日本

8/10sat、浴衣ライブ 珠希美いな/はらあやの/伊藤さくら OPEN17:30 START18:00 AD […]

鬼塚真紀/島田優/小松みゆ

御茶ノ水パルトネール 千代田区神田駿河台3-1大雅ビル3F 東京都 日本

8/11sun(山の日)夜、サンビタリア 鬼塚真紀/島田優/小松みゆ OPEN18:00 START18:30 […]

世莉奈/鹿野レイ/野崎万葉

御茶ノ水パルトネール 千代田区神田駿河台3-1大雅ビル3F 東京都 日本

8/12mon休、はっぴーいえろー〜ひろはっぴーワンマン応援企画〜 世莉奈/鹿野レイ/野崎万葉 OPEN11: […]

とうやまみづき/森田竜也/前田有加里

御茶ノ水パルトネール 千代田区神田駿河台3-1大雅ビル3F 東京都 日本

8/14wed、Music Park #91 とうやまみづき/森田竜也/前田有加里 OPEN18:30 STA […]

harupii / 胡桃沢はな / mona

御茶ノ水パルトネール 千代田区神田駿河台3-1大雅ビル3F 東京都 日本

8/16fri夜、ダチュラ harupii / 胡桃沢はな / mona OPEN18:30 START19: […]

野崎万葉 / 花桐はづき / 吉澤里美 / Moelys

御茶ノ水パルトネール 千代田区神田駿河台3-1大雅ビル3F 東京都 日本

8/18sun昼、もえりすちゃんワンマンお祝いライブ 野崎万葉 / 花桐はづき / 吉澤里美 / Moelys […]

飛遥 / 伊藤さゆり / 金田一芙弥

御茶ノ水パルトネール 千代田区神田駿河台3-1大雅ビル3F 東京都 日本

8/21(水)夜、Music Park #92 飛遥 / 伊藤さゆり / 金田一芙弥 OPEN18:30 ST […]

Novaurelia / 雪乃 / Lea

御茶ノ水パルトネール 千代田区神田駿河台3-1大雅ビル3F 東京都 日本

8/23fri夜、オシロイバナ Novaurelia / 雪乃 / Lea OPEN18:30 START19 […]

純美音/増田桜美/真理

御茶ノ水パルトネール 千代田区神田駿河台3-1大雅ビル3F 東京都 日本

8/24sat、純美音&Partenaire presents 【bouquet project】vo […]

世手子 / 大谷萌 / 宮本沙也佳 /椎名涼花

御茶ノ水パルトネール 千代田区神田駿河台3-1大雅ビル3F 東京都 日本

8/25sun、ルドベキア 世手子 / 大谷萌 / 宮本沙也佳 /椎名涼花 OPEN18:00 START18 […]

春歌 / 幻奏法師 / dual6

御茶ノ水パルトネール 千代田区神田駿河台3-1大雅ビル3F 東京都 日本

8/26(月)夜、Music Park #93 春歌 / 幻奏法師 / dual6 OPEN18:30 STA […]

百山月花/谷田部麻由美/おみちゃん

御茶ノ水パルトネール 千代田区神田駿河台3-1大雅ビル3F 東京都 日本

8/27tue夜、御茶ノ水最高裁判所 8 (23) MC:百山月花 ゲスト: 谷田部麻由美/おみちゃん OPE […]

胡桃沢はな/川口心/ガムガム

御茶ノ水パルトネール 千代田区神田駿河台3-1大雅ビル3F 東京都 日本

8/28(水)夜、Music Park #94 胡桃沢はな / 川口心 / ガムガム OPEN19:00 ST […]

美希 / れいな / 美夜古

御茶ノ水パルトネール 千代田区神田駿河台3-1大雅ビル3F 東京都 日本

8/30fri夜、唄芸ライブ 美希 / れいな / 美夜古 OPEN18:30 START19:00 ADV¥ […]

tami/sanoha/mibuki/純美音

御茶ノ水パルトネール 千代田区神田駿河台3-1大雅ビル3F 東京都 日本

8/31sat、浴衣ライブ tami/sanoha/mibuki/純美音 OPEN17:30 START18: […]

せりかな/近藤佑香

御茶ノ水パルトネール 千代田区神田駿河台3-1大雅ビル3F 東京都 日本

9/1sun夜、スパティフィラム せりかな/近藤佑香 OPEN18:00 START18:30 ADV¥300 […]

清野あやね/松岡里果/高田慶二

御茶ノ水パルトネール 千代田区神田駿河台3-1大雅ビル3F 東京都 日本

松岡里果×清野あやね有観客限定Live&Youtube無料配信番組 「今宵もぶっちゅーずでー 第1夜」 202 […]

みおう/実歩/Moelys/小松みゆ/久保田れな

御茶ノ水パルトネール 千代田区神田駿河台3-1大雅ビル3F 東京都 日本

9/7sat、ハマナス みおう/実歩/Moelys/小松みゆ/久保田れな OPEN11:30 START12: […]

宮崎寿々佳

御茶ノ水パルトネール 千代田区神田駿河台3-1大雅ビル3F 東京都 日本

2024.9.8(日) 宮崎寿々佳生誕祭in東京 op12:00 start12:30 S 5000円 指定・ […]

鬼塚真紀/すずきまい/mona

御茶ノ水パルトネール 千代田区神田駿河台3-1大雅ビル3F 東京都 日本

9/8sun夜、アブチロン 鬼塚真紀/すずきまい/mona OPEN18:00 START18:30 ADV¥ […]

純美音 / 相澤香純。 / 近藤佑香

御茶ノ水パルトネール 千代田区神田駿河台3-1大雅ビル3F 東京都 日本

9/15sun夜、純美音&Partenaire presents 【bouquet project】v […]

とうやまみづき / 夏那 /小川桃果/Maho.

御茶ノ水パルトネール 千代田区神田駿河台3-1大雅ビル3F 東京都 日本

9/18(水)夜、Music Park #96 とうやまみづき / 夏那 /小川桃果/Maho. OPEN19 […]

藤本あかり/金田一芙弥/鹿野レイ

御茶ノ水パルトネール 千代田区神田駿河台3-1大雅ビル3F 東京都 日本

9/21sat、浴衣ライブ 藤本あかり/金田一芙弥/鹿野レイ OPEN17:30 START18:00 ADV […]

藤本あかり / 鈴木千絵

御茶ノ水パルトネール 千代田区神田駿河台3-1大雅ビル3F 東京都 日本

9/22sun昼、Twoman Live Tour 2024 STEP 〜extra edition〜 藤本あ […]

佐京こはな / 春歌 / 大谷萌 /鈴木さくら

御茶ノ水パルトネール 千代田区神田駿河台3-1大雅ビル3F 東京都 日本

9/22sun夜、センニチコウ 佐京こはな / 春歌 / 大谷萌 /鈴木さくら OPEN18:00 START […]

younA / 世手子 / 渋木美沙 / RIJU

御茶ノ水パルトネール 千代田区神田駿河台3-1大雅ビル3F 東京都 日本

9/23mon休夜、ダリア younA / 世手子 / 渋木美沙 / RIJU OPEN18:00 START […]

百山月花/SAYA/工藤ちゃん

御茶ノ水パルトネール 千代田区神田駿河台3-1大雅ビル3F 東京都 日本

9/24tue夜、御茶ノ水最高裁判所 9 (24) MC:百山月花 ゲスト:SAYA / 工藤ちゃん OPEN […]

実希/T.A.S Programme

御茶ノ水パルトネール 千代田区神田駿河台3-1大雅ビル3F 東京都 日本

9/25(水)夜、Music Park #97 実希/T.A.S Programme OPEN19:00 ST […]

Novaurelia / 金田一芙弥 / 伊藤さくら

御茶ノ水パルトネール 千代田区神田駿河台3-1大雅ビル3F 東京都 日本

9/26(木)夜、Music Park # Novaurelia / 金田一芙弥 / 伊藤さくら OPEN18 […]

小平まりこ /SAEKA/有沢優

御茶ノ水パルトネール 千代田区神田駿河台3-1大雅ビル3F 東京都 日本

9/27fri夜、トレニア 小平まりこ /SAEKA/有沢優 OPEN18:30 START19:00 ADV […]

`,props)} var external_wp_i18n_=__webpack_require__("l3Sj");function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);enumerableOnly&&(symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})),keys.push.apply(keys,symbols)}return keys} function _objectSpread(target){for(var i=1;i{if(timerElement.dataset.token&&timerElement.dataset.postId&&timerElement.dataset.redirectUrl){token=timerElement.dataset.token;postId=timerElement.dataset.postId;redirectUrl=timerElement.dataset.redirectUrl;return!0} return!1});if(!(token&&postId&&redirectUrl)){return null} return{token,postId,redirectUrl}} function setTimerTimeLeft(timerElement,minutes,seconds){timerElement.classList.remove(hiddenClassName);const minutesElement=timerElement.querySelector('.tec-tickets-seating__time-minutes');const secondsElement=timerElement.querySelector('.tec-tickets-seating__time-seconds');if(!minutesElement||!secondsElement){return} minutesElement.innerText=minutes;secondsElement.innerText=String(seconds).padStart(2,'0')} function fetchInterruptModalData(){return _fetchInterruptModalData.apply(this,arguments)} function _fetchInterruptModalData(){_fetchInterruptModalData=asyncToGenerator_default()(function*(){const{postId,token}=findTimerData();const requestUrl=new URL(ajaxUrl);requestUrl.searchParams.set('_ajaxNonce',ajaxNonce);requestUrl.searchParams.set('action',ACTION_INTERRUPT_GET_DATA);requestUrl.searchParams.set('postId',postId);requestUrl.searchParams.set('token',token);const response=yield fetch(requestUrl.toString(),{method:'GET'});const defaultData={title:Object(external_wp_i18n_._x)('Time limit expired','Seat selection expired timer title','event-tickets'),content:Object(external_wp_i18n_._x)('Your seat selections are no longer reserved, but tickets are still available.','Seat selection expired timer content','event-tickets'),buttonLabel:Object(external_wp_i18n_._x)('Find Seats','Seat selection expired timer button label','event-tickets'),redirectUrl:window.location.href};if(!response.ok){console.error('Failed to fetch interrupt modal data');return defaultData} const responseJson=yield response.json();if(!(responseJson.success&&responseJson.data)){console.error('Failed to fetch interrupt modal data');return defaultData} return{title:responseJson.data.title||defaultData.title,content:responseJson.data.content||defaultData.content,buttonLabel:responseJson.data.buttonLabel||defaultData.buttonLabel,redirectUrl:responseJson.data.redirectUrl||defaultData.redirectUrl}});return _fetchInterruptModalData.apply(this,arguments)} function getInterruptDialogElement(){return _getInterruptDialogElement.apply(this,arguments)} function _getInterruptDialogElement(){_getInterruptDialogElement=asyncToGenerator_default()(function*(){var _getTimerElements;const firstTimerElement=(_getTimerElements=getTimerElements())===null||_getTimerElements===void 0?void 0:_getTimerElements[0];if(!firstTimerElement){console.warn('No timer element found');return null} const dialogDataJSAttribute='dialog-content-tec-tickets-seating-timer-interrupt';const{title,content,buttonLabel,redirectUrl}=yield fetchInterruptModalData();firstTimerElement.dataset.content=dialogDataJSAttribute;let appendTarget='.tec-tickets-seating__timer';const dialogParent=firstTimerElement.closest('.tribe-dialog');if(dialogParent){appendTarget='.tribe-tickets__tickets-form, .tec-tickets-seating__tickets-block'} if(!interruptDialogElement){var _targetDom$querySelec;interruptDialogElement=InterruptDialogComponent({dataJs:dialogDataJSAttribute,title,content,buttonLabel,redirectUrl});(_targetDom$querySelec=targetDom.querySelector(appendTarget))===null||_targetDom$querySelec===void 0?void 0:_targetDom$querySelec.appendChild(interruptDialogElement)} return new A11yDialog({trigger:'.tec-tickets-seating__timer',appendTarget,wrapperClasses:'tribe-dialog',overlayClasses:'tribe-dialog__overlay tribe-modal__overlay',contentClasses:'tribe-dialog__wrapper tribe-tickets-seating__interrupt-wrapper',overlayClickCloses:!1})});return _getInterruptDialogElement.apply(this,arguments)} function interrupt(){return _interrupt.apply(this,arguments)} function _interrupt(){_interrupt=asyncToGenerator_default()(function*(){if(!isInterruptable()){return} setIsInterruptable(!0);getTimerElements().forEach(timerElement=>{setTimerTimeLeft(timerElement,0,0)});setIsExpired(!0);clearTimeout(countdownTimeoutId);countdownTimeoutId=null;clearTimeout(healthCheckTimeoutId);healthCheckTimeoutId=null;const interruptDialog=yield getInterruptDialogElement();Object(external_wp_hooks_.doAction)('tec.tickets.seating.timer_interrupt');if(interruptDialog){interruptDialog.show();interruptDialog.shown=!1} setIsInterruptable(!1)});return _interrupt.apply(this,arguments)} function beaconInterrupt(){if(!isInterruptable()){return} const{postId,token}=findTimerData();const requestUrl=new URL(ajaxUrl);requestUrl.searchParams.set('_ajaxNonce',ajaxNonce);requestUrl.searchParams.set('action',ACTION_INTERRUPT_GET_DATA);requestUrl.searchParams.set('postId',postId);requestUrl.searchParams.set('token',token);window.navigator.sendBeacon(requestUrl.toString())} function startCountdownLoop(secondsLeft){if(!isInterruptable()){return} if(secondsLeft<=0){interrupt();return} setIsStarted(!0);countdownTimeoutId=setTimeout(()=>{secondsLeft-=1;getTimerElements().forEach(timerElement=>{setTimerTimeLeft(timerElement,Math.floor(secondsLeft/60),secondsLeft%60)});if(!isExpired()){startCountdownLoop(secondsLeft)}},1000)} function startHealthCheckLoop(){if(isExpired()||!isInterruptable()){return} healthCheckTimeoutId=setTimeout(asyncToGenerator_default()(function*(){yield syncWithBackend();startHealthCheckLoop()}),3*1000)} function syncWithBackend(){return _syncWithBackend.apply(this,arguments)} function _syncWithBackend(){_syncWithBackend=asyncToGenerator_default()(function*(){if(isExpired()||getTimerElements().length===0||!isInterruptable()){return} const secondsLeft=yield requestToBackend(ACTION_SYNC);if(secondsLeft<=0){interrupt();return} if(countdownTimeoutId){clearTimeout(countdownTimeoutId);countdownTimeoutId=null} startCountdownLoop(secondsLeft);if(!healthCheckTimeoutId){startHealthCheckLoop()}});return _syncWithBackend.apply(this,arguments)} function requestToBackend(_x2){return _requestToBackend.apply(this,arguments)} function _requestToBackend(){_requestToBackend=asyncToGenerator_default()(function*(action){const timerData=findTimerData();if(timerData===null){return!1} if([ACTION_START,ACTION_SYNC].indexOf(action)===-1){return!1} const requestUrl=new URL(ajaxUrl);requestUrl.searchParams.set('_ajaxNonce',ajaxNonce);requestUrl.searchParams.set('action',action);requestUrl.searchParams.set('token',timerData.token);requestUrl.searchParams.set('postId',timerData.postId);const response=yield fetch(requestUrl.toString(),{method:'POST'});if(!response.ok){return!1} const responseJson=yield response.json();if(!(responseJson.success&&responseJson.data.secondsLeft&&responseJson.data.timestamp)){console.error('Failed to communicate with the backend');return!1} const startTimerResponse=responseJson.data;return startTimerResponse.secondsLeft-Math.max(0,Math.floor(startTimerResponse.timestamp-Date.now()/1000))});return _requestToBackend.apply(this,arguments)} function start(){return _start.apply(this,arguments)} function _start(){_start=asyncToGenerator_default()(function*(){if(setIsStarted()||getTimerElements().length===0){return} const secondsLeft=yield requestToBackend(ACTION_START);const{postId,token}=findTimerData();if(!(secondsLeft&&postId&&token)){interrupt();return} const minutes=Math.floor(secondsLeft/60);const seconds=secondsLeft%60;getTimerElements().forEach(timerElement=>{setTimerTimeLeft(timerElement,minutes,seconds)});setIsStarted(!0);startCountdownLoop(secondsLeft);startHealthCheckLoop()});return _start.apply(this,arguments)} function session_reset(){if(countdownTimeoutId){clearTimeout(countdownTimeoutId)} if(healthCheckTimeoutId){clearTimeout(healthCheckTimeoutId)} if(resumeTimeoutId){clearTimeout(resumeTimeoutId)} started=!1;expired=!1;healthCheckTimeoutId=null;countdownTimeoutId=null;resumeTimeoutId=null;interruptable=!0;stopWatchingCheckoutControls()} function pause(){setIsInterruptable(!1);if(healthCheckTimeoutId){clearTimeout(healthCheckTimeoutId);healthCheckTimeoutId=null} if(countdownTimeoutId){clearTimeout(countdownTimeoutId);countdownTimeoutId=null} resumeTimeoutId=setTimeout(resume,30000)} function resume(){return _resume.apply(this,arguments)} function _resume(){_resume=asyncToGenerator_default()(function*(){if(resumeTimeoutId){clearTimeout(resumeTimeoutId);resumeTimeoutId=null} setIsInterruptable(!0);yield syncWithBackend()});return _resume.apply(this,arguments)} function setTargetDom(targetDocument){targetDom=targetDocument||document} function syncOnLoad(){return _syncOnLoad.apply(this,arguments)} function _syncOnLoad(){_syncOnLoad=asyncToGenerator_default()(function*(){const syncTimerElements=Array.from(getTimerElements()).filter(syncTimerElement=>{return'syncOnLoad' in syncTimerElement.dataset});if(syncTimerElements.length===0){return} setIsInterruptable(!0);window.addEventListener('beforeunload',beaconInterrupt);yield syncWithBackend()});return _syncOnLoad.apply(this,arguments)} function watchCheckoutControls(){const filteredCheckoutControls=Object(external_wp_hooks_.applyFilters)('tec.tickets.seating.frontend.session.checkoutControls',checkoutControlsSelectors);const checkoutControlElements=targetDom.querySelectorAll(filteredCheckoutControls);checkoutControlElements.forEach(checkoutControlElement=>{watchedCheckoutControls.push(checkoutControlElement);checkoutControlElement.addEventListener('click',pause);checkoutControlElement.addEventListener('submit',pause)})} function stopWatchingCheckoutControls(){watchedCheckoutControls.forEach(checkoutControlElement=>{checkoutControlElement.removeEventListener('click',pause);checkoutControlElement.removeEventListener('submit',pause)});watchedCheckoutControls=[]} function getWatchedCheckoutControls(){return watchedCheckoutControls} function setHealthcheckLoopId(id){healthCheckTimeoutId=id;return healthCheckTimeoutId} function getHealthcheckTimeoutId(){return healthCheckTimeoutId} function getCountdownTimeoutId(){return countdownTimeoutId} function getResumeTimeoutId(){return resumeTimeoutId} Object(external_tec_tickets_seating_utils_.onReady)(()=>syncOnLoad());Object(external_tec_tickets_seating_utils_.onReady)(()=>watchCheckoutControls());window.tec=window.tec||{};window.tec.tickets=window.tec.tickets||{};window.tec.tickets.seating=window.tec.tickets.seating||{};window.tec.tickets.seating.frontend=window.tec.tickets.seating.frontend||{};window.tec.tickets.seating.frontend.session=_objectSpread(_objectSpread({},window.tec.tickets.seating.frontend.session||{}),{},{start,reset:session_reset,syncOnLoad,interrupt,setIsInterruptable})}),"MsaN":(function(module,exports){module.exports=tec.tickets.seating.utils}),"g56x":(function(module,exports){module.exports=wp.hooks}),"l3Sj":(function(module,exports){module.exports=wp.i18n}),"lo4d":(function(module,exports,__webpack_require__){})})