DatePicker
이 컨트롤은 무엇인가요?
DatePicker는 <syn_datepicker> 태그 하나로 "달력 아이콘 버튼 + 날짜 입력창"을 만들어 주는 레거시 내부 JS UI 컨트롤입니다.
실제 화면에서는 Pikaday 라이브러리를 내부적으로 사용해서 달력 팝업을 그리고, 선택한 날짜를 텍스트 입력창(input[type=text])에 채워 넣습니다.
syn.loader.js가 페이지에 있는 <syn_datepicker> 태그를 찾아서 자동으로 다음을 처리합니다.
DatePicker.js/DatePicker.css등 필요한 스크립트·스타일 자동 주입- 원래 태그를 숨김 처리(
display: none)하고, 그 옆에 실제 보이는input과 달력 버튼을 생성 syn.uicontrols.$datepicker싱글턴 객체에 컨트롤 정보 등록 (getValue/setValue/clear등으로 제어 가능)
이름은 $datepicker 이지만, 페이지에서 사용하는 태그명은 syn_datepicker 입니다. 이 문서 전체에서 "DatePicker 컨트롤"이라 하면 이 둘을 함께 가리킵니다.
언제 사용하나요?
- 회원 가입일, 계약일, 마감일처럼 날짜 1개만 입력받아야 할 때 사용합니다.
- 조회 시작일/종료일처럼 날짜 2개(기간) 를 하나의 짝으로 다루어야 한다면
DatePicker를 2개 두고useRangeSelect옵션으로 서로 연동시키거나(아래 API.md 참고), 또는 형제 컨트롤인DatePeriodPicker(syn.uicontrols.$dateperiodpicker) 를 사용하는 것이 더 간단합니다.DatePeriodPicker는 시작일~종료일을 하나의 컨트롤에서 한 번에 관리하도록 설계된 별도 컨트롤입니다. - 요약하면:
- 날짜 1개, 단순 입력 →
DatePicker - 날짜 1개씩이지만 두 개를 서로 최소/최대로 연동하고 싶다 →
DatePicker+useRangeSelect - 처음부터 "기간(period)" 개념으로 다루고 싶다 →
DatePeriodPicker
- 날짜 1개, 단순 입력 →