colon-grid v1.1.0

data-* 레퍼런스

화면이 쓰는 선언 전부입니다. 여기 없는 동작은 공통 컴포넌트에 없다는 뜻입니다.

표(<table>)

속성
data-grid필수. 이 표를 그리드로 만든다
data-empty="…"데이터가 없을 때 보여줄 문구
data-server서버 페이징 모드. 검색·정렬·페이징을 주소로 실어 서버가 처리
data-total / data-page / data-size서버 모드에서 서버가 알려주는 전체 건수·현재 페이지·페이지크기
data-sum-row="on|off"합계행 사용 여부(화면별 선언). off 면 서버도 집계 쿼리를 돌지 않는다
data-sums="필드:합계,…"서버가 계산한 조건 전체 합계. 화면에서 더하면 '이 페이지 합계'가 된다
data-batch-url="…"수정모드 일괄저장 엔드포인트. 있으면 수정 버튼이 생긴다
data-bulk-url="…"선택 건 일괄 액션. 있으면 수정모드 도구에 버튼이 생긴다. 키트는 {ids:[…]} 만 보내고 서버가 준 message 를 보여준다
data-bulk-label / data-bulk-tip버튼 글자 / 툴팁
data-bulk-sum="필드"(선택) 확인창에 그 열의 합계를 미리 보여준다

열(<th>)

속성
data-label="…"열 이름(툴팁·모바일 카드 라벨·엑셀 헤더에 쓰임). 아이콘이 섞인 헤더는 필수
data-field="…"서버가 아는 필드명. 정렬·필터 파라미터와 일괄저장 키가 된다
data-search통합검색 대상 + 검색유형 목록에 등장
data-sort헤더 클릭 정렬
data-code셀렉트 필터 생성. 서버 모드에선 선택지를 data-options 에서 읽는다
data-range="month|date"기간(부터~까지) 필터
data-sum합계 대상 열
data-col-off처음엔 숨김(컬럼 버튼으로 켤 수 있음). 본문처럼 폭 큰 열에
data-nocol컬럼 토글·엑셀에서 제외(체크박스 등 시스템 열)
data-edit="text|number|select|date|month"수정모드 편집 유형. 헤더에 유형 아이콘이 뜬다
data-options="값:라벨,…"select 편집·코드필터 선택지. 값의 , : 는 공백으로 치환된다
data-creatable콤보에 없는 값도 입력 허용
data-dec="N"숫자 소수 자릿수
data-badge="값:클래스,…"편집 후 셀을 배지로 다시 그릴 때 쓸 클래스
data-recalc="드라이버필드,…"파생 열. 드라이버가 바뀔 때만 서버가 재계산

행(<tr>) · 셀(<td>)

속성
data-id행 식별자. 수정모드·일괄저장에 필수
data-modal-url행 클릭 시 모달로 가져올 폼 주소(목록 리로드 없음)
class="row-clickable"클릭 가능한 행 표시
data-raw="…"표시값과 정렬/필터값이 다를 때의 원시값(배지·포맷된 날짜 등)
class="cell-goto"다른 화면으로 가는 셀. 셀 전체가 클릭 대상이 된다

전역 함수

함수쓰는 곳
adminToast(msg, {tone:'warn', duration})됐다는 확인(복사·붙여넣기 결과). 아무것도 막지 않음
adminConfirm(msg, title) → Promise<bool>되돌릴 수 없는 확인(삭제·발행)
adminAlert(msg, title)오류·검증 — 막아야 하는 것
adminModal.open(html) / .close()모달 직접 제어
comboboxEnhance(selectEl)동적으로 추가한 select 를 콤보로
table.__grid.apply()외부에서 값을 바꾼 뒤 합계·정렬·페이징 다시 태우기