세팅모델

webPonent Grid 2.0  Setting Model

 웹포넌트 그리드에는 세팅모델이 존재합니다. 이나, 도 세팅모델의 한 속성입니다. 세팅모델에는 그리드의 현상태에 대한 유용한 정보들이 담겨있습니다.

세팅모델은 그리드의 상태가 바뀌면 자동적으로 업데이트가 되며 grid.settings로 접근 할 수 있습니다.

js
var grid = webponent.grid.init(table, template);
 
var settingModel = grid.settings;

 세팅모델에는 다음과 같은 정보가 담겨 있습니다.

Setting Model

nowRendering

@type {Array<Node>}
현재 렌더링하고 있는 모델을 세팅한다.
평상시에는 전체 row에 관한 모델이지만 필터링이 되었을경우 필터링 된 row의 모델로 바뀐다.

filtering

@type {Object} 지금 필터링 상황를 저장한다.

conditions

@type {Object} 현재 필터링 된 컬럼과 키워들를 맵으로 저장
{
    'columnName1' : 'keyword1',
    'columnName2' : 'keyword2',
    ...
}

sorting

@type {Object} 지금 컬럼들의 소팅 상황을 저장한다.

conditions

@type {Object} 현재 소팅된 컬럼들의 상태를 배열로 저장
[
    {
       'columnName1' : 'desc'
    },
    {
        'columnName1' : 'adc'
    },
    ....
]

table

@type {Object} 그리드로 변환 되기전의 table정보 매핑

markup

@type {jQuery} table 마크업

thead

@type {jQuery} 테이블의 원래 헤더

tbody

@type {jQuery} 테이블의 원래 바디

template

@type {Object} 그리드 템플릿

orginal

@type {jQuery} 초기화시 들어온 템플릿을 복사해서 캐싱하고 있는다.

markup

@type {jQuery} 템플릿 마크업

thead

@type {jQuery} 템플릿의 헤더

tbody

@type {jQuery} 템플릿의 바디

mainRow

@type {Node} 바디부분의 row템플릿 tr노드이다.

option

@type {Object} 그리드 옵션

width

@type {Number} 그리드 width

height

@type {Number} 그리드 높이

id

@type {String} 그리드에 부여할 ID

classes

@type {String} 그리드에 부여할 클래스이름
ex) 'mygrid design-flat'

callbacks

@type {Object} 그리드에서 발생하는 다양한 콜백들

rowRendered

@type {Array<Function>} * 로우가 렌더링된 후 발생하는 콜백

rowSelectable

@type {Boolean} 로우를 선택가능 하게 할건지 설정

autoResizing

@type {Boolean} 윈도우 사이즈가 변할때 자동으로 grid.resize()를 호출할건지 설정 기본 true

virtualScrollDefaultHeight

@type {Number} 높이갚이 지정되지 않았을때 가상스크롤 기본 높이

resizable

@type {Boolean} 그리드 컬럼 리사이징 가능/불가능

sortable

@type {Boolean} 그리드 컬럼 소팅 가능/불가능

scrollBarWidth

@type {Number} 브라우저 기본 스크롤바의 두께

scrollerInnerWidth

@type {Number} 그리드 가로 스크롤 길이

headerRowCount

@type {Number} 헤더가 몇단으로 되어있는지 파악한다.

columns

@type {Array} 컬럼단위 정보를 가지고 있음

rows

@type {Array} 그리드의 각 로우의 정보를 가지고 있음

defferedRendering

@type {Object} 가상스크롤에 관한 세팅들

limit

@type {Number} 데이터 건수가 다음을 넘으면 가상스크롤 모드로 들어간다.

alpha

@type {Number} 가상스크롤시 한 뷰의 높이의 몇배를 렌더링 하는지에 대한 계수
viewHeight * alpha만큼 스크롤했을때 row 렌더링이 일어난다.

renderingCountPerView

@type {Number} 가상스크롤시 한 뷰에 보여주는 row의 개수

viewHeight

@type {Number} 가상스크롤시 한 뷰의 높이

currentViewIndex

@type {Number} 현재 가상스클롤 뷰 인덱스

renderingStartRowIndex

@type {Number} 현재 렌더링되어있는 row의 시작 index

renderingEndRowIndex

@type {Number} 현재 렌더링되어있는 row의 마지막 index

freezeScroll

@type {Object} 고정스크롤을 위한 세팅들

currentViewIndex

@type {[type]} fixed테이블 일때 지금 가로스크롤이 되고 있는 인덱스

usePaging

@type {Boolean} 페이징모드를 사용하고 있는지

paging

@type {Object} 페이징을 위한 세팅들

countPerPage

@type {Number} 한 페이지에 들어가는 row 의 개수

totalPageCount

@type {Number} 페이지의 개수

currentPageIndex

@type {Number} 현재 렌더링 되어있는 페이지 index

paginationCount

@type {Number} 리스트에 보여질 페이지의 개수

startPageListIndex

@type {Number} 렌더링 되어있는 페이지 리스트의 첫번째 index

usingMarkUp

@type {Boolean} 페이징시 페이징을 위한 마크업을 추가 시킬것인가.
외부 페이징 마크업을 사용할때이 옵션에 false를 주면 된다.

animate

@type {String} 페이징시 사용할 애니메이션명

grouping

@type {Object} 그리드 그룹화에 관한 정보

groups

@type {Arrya<Array<String>>} 그릅화 정보를 담고있는 배열

trHeight

@type {Number} 그리드 Tr의 높이

platform

@type {String} 현재 그리드가 돌아가는 플랫폼

mobile

@type {Boolean} 현재 기기가 모바일 기기이면 true값을 가진다.