
close할 때 값을 넘겨주는 방법은 array로 넘겨줘야 한다
값을 얻은 뒤 array에 담아서 넘겨줄 때 중요한 것은 depth가 있다는 것이고 this.parent.parent.을 해야 내 상위 페이지를 찾는다
this.parent.parent. 후에 PopupDiv2.closePopup()를 작성하고 close시 파라미터로 array값을 넘겨주면 된다
즉, 값을 전달하는 방법은 array에 담아서 넘겨주고 작성할 때 depth를 반드시 입력해야 한다

달력 이모티콘을 누르면 달력이 펼쳐져야 하는데 지금은 그렇지 않는 상태이다
-> 그 이유는 Property(속성)를 바꿨기 때문이다
Calendar Property 중 popuptype이 nomal이면 펼쳐지고 none이면 펼쳐지지 않는다
ondropdown Event를 연결하면 직접 PopupDiv를 띄우는 로직을 구현한다는 의미이다

이렇게 소스를 입력해주면 아래의 이미지처럼 달력이 펼쳐진다

Property
Method
Event
Form에 있는 모든 정보를 얻으려면 this.fn_compList()함수를 적용하면 된다
this.all은 visible/invisible 모두 나오지만 화면에 보이는 것만 얻길 원한다면 all 대신 components를 사용하면 된다 반대로 눈에 보이지 않는 컴포넌트만 얻고 싶다면 objects를 사용한다

String 값을 오브젝트로 바꿀 때나 함수 eval를 이용하여 함수를 실행할 때 절대 eval메서드를 사용하면 안 된다
-> 그 이유는 eval은 eval안에 들어가는 모든 코드를 무조건 실행해서 보안에 취약하다
String을 오브젝트로 바꾸는 방법은 this.components[]에 넣었다 빼면 object로 바뀐다
modal을 사용하는 경우
modal 방법은 parent에 종속되어 있어서 팝업 창이 뜰 때 parent의 엔진을 공유해서 사용한다
modeless 방법은 별도의 창으로 떠서 parent의 엔진을 공유하지 못한다
즉, 코드성 데이터를 보여주는 것은 모달을 사용하는 것이 좋다
modeless을 사용하는 경우
1번째 화면과 2번째 화면을 비교해 보고 싶을 때 MDI방식에서 창 배열을 정렬방법에 따라 2개로 분할할 수 있다
잘리는 부분은 Scroll을 이용해서 비교해야 되므로 번거로움이 있다
-> 그래서 두 개의 창이 있는 경우 하나의 화면을 Application 밖으로 뜯어낸다
-> 이때 사용하는 것이 modeless이다