Actions
결함 #648
완료됨팝업 닫기 에러 수정 (framework7 자체 에러)
설명
: 조건 - 팝업 A, B, C, D, E 열린 상태
: 실행 - 팝업 C 닫기 (app.popup.close('#C'))
: 현상 - 팝업 C, D, E가 함께 닫히고 A, B 팝업만 남음
: 파악 - framework7 자체 에러
: 해결
1) framework7-bundle.min.js 수정
- function ModalMethods 함수에 noEmit 플래그 추가
- close(el, animate, targetEl) {
-> close(el, animate, targetEl, noEmit) {
- return instance.close(animate);
-> return instance.close(animate, noEmit);
- class Modal$1 클래스에 noEmit 플래그 추가
- close(animateModal) {
-> close(animateModal, noEmit) {
- modal.onClose();
-> modal.onClose(noEmit);
- onClose() {
-> onClose(noEmit) {
- modal.emit(`local::close modalClose ${modal.type}Close`, modal);
-> if(!noEmit){modal.emit(`local::close modalClose ${modal.type}Close`, modal);}
2) app.popup.close 호출 시 noEmit 플래그 추가
- app.popup.close('#' + popupId, false, null);
-> app.popup.close('#' + popupId, false, null, true);
3) 호출 예시
document.querySelectorAll('.popup').forEach(popup => {
if(popup.getAttribute('id') === popupId){
app.popup.close('#' + popupId, false, null, true);
}
});
Actions