웹포넌트 그리드에는 세팅모델이 존재합니다.
세팅모델은 그리드의 상태가 바뀌면 자동적으로 업데이트가 되며 grid.settings로 접근 할 수 있습니다.
var grid = webponent.grid.init(table, template); var settingModel = grid.settings;
세팅모델에는 다음과 같은 정보가 담겨 있습니다.
@type {Array<Node>}
현재 렌더링하고 있는 모델을 세팅한다.
평상시에는 전체 row에 관한 모델이지만 필터링이 되었을경우 필터링 된 row의 모델로 바뀐다.
@type {Object} 지금 필터링 상황를 저장한다.
@type {Object} 현재 필터링 된 컬럼과 키워들를 맵으로 저장
{
'columnName1' : 'keyword1',
'columnName2' : 'keyword2',
...
}
@type {Object} 지금 컬럼들의 소팅 상황을 저장한다.
@type {Object} 현재 소팅된 컬럼들의 상태를 배열로 저장
[
{
'columnName1' : 'desc'
},
{
'columnName1' : 'adc'
},
....
]
@type {Object} 그리드로 변환 되기전의 table정보 매핑
@type {jQuery} table 마크업
@type {jQuery} 테이블의 원래 헤더
@type {jQuery} 테이블의 원래 바디
@type {Object} 그리드 템플릿
@type {jQuery} 초기화시 들어온 템플릿을 복사해서 캐싱하고 있는다.
@type {jQuery} 템플릿 마크업
@type {jQuery} 템플릿의 헤더
@type {jQuery} 템플릿의 바디
@type {Node} 바디부분의 row템플릿 tr노드이다.
@type {Object} 그리드 옵션
@type {Number} 그리드 width
@type {Number} 그리드 높이
@type {String} 그리드에 부여할 ID
@type {String} 그리드에 부여할 클래스이름
ex) 'mygrid design-flat'
@type {Object} 그리드에서 발생하는 다양한 콜백들
@type {Array<Function>} * 로우가 렌더링된 후 발생하는 콜백
@type {Boolean} 로우를 선택가능 하게 할건지 설정
@type {Boolean} 윈도우 사이즈가 변할때 자동으로 grid.resize()를 호출할건지 설정 기본 true
@type {Number} 높이갚이 지정되지 않았을때 가상스크롤 기본 높이
@type {Boolean} 그리드 컬럼 리사이징 가능/불가능
@type {Boolean} 그리드 컬럼 소팅 가능/불가능
@type {Number} 브라우저 기본 스크롤바의 두께
@type {Number} 그리드 가로 스크롤 길이
@type {Number} 헤더가 몇단으로 되어있는지 파악한다.
@type {Array} 컬럼단위 정보를 가지고 있음
@type {Array} 그리드의 각 로우의 정보를 가지고 있음
@type {Object} 가상스크롤에 관한 세팅들
@type {Number} 데이터 건수가 다음을 넘으면 가상스크롤 모드로 들어간다.
@type {Number} 가상스크롤시 한 뷰의 높이의 몇배를 렌더링 하는지에 대한 계수
viewHeight * alpha만큼 스크롤했을때 row 렌더링이 일어난다.
@type {Number} 가상스크롤시 한 뷰에 보여주는 row의 개수
@type {Number} 가상스크롤시 한 뷰의 높이
@type {Number} 현재 가상스클롤 뷰 인덱스
@type {Number} 현재 렌더링되어있는 row의 시작 index
@type {Number} 현재 렌더링되어있는 row의 마지막 index
@type {Object} 고정스크롤을 위한 세팅들
@type {[type]} fixed테이블 일때 지금 가로스크롤이 되고 있는 인덱스
@type {Boolean} 페이징모드를 사용하고 있는지
@type {Object} 페이징을 위한 세팅들
@type {Number} 한 페이지에 들어가는 row 의 개수
@type {Number} 페이지의 개수
@type {Number} 현재 렌더링 되어있는 페이지 index
@type {Number} 리스트에 보여질 페이지의 개수
@type {Number} 렌더링 되어있는 페이지 리스트의 첫번째 index
@type {Boolean} 페이징시 페이징을 위한 마크업을 추가 시킬것인가.
외부 페이징 마크업을 사용할때이 옵션에 false를 주면 된다.
@type {String} 페이징시 사용할 애니메이션명
@type {Object} 그리드 그룹화에 관한 정보
@type {Arrya<Array<String>>} 그릅화 정보를 담고있는 배열
@type {Number} 그리드 Tr의 높이
@type {String} 현재 그리드가 돌아가는 플랫폼
@type {Boolean} 현재 기기가 모바일 기기이면 true값을 가진다.