RealGrid2 API
Class
CustomCellRendererImpl

CustomCellRendererImpl

사용자 정의 Renderer의 상위 class이다.

Signature:

export declare abstract class CustomCellRendererImpl extends DataCellRenderer 

Extends: DataCellRenderer

Remarks

get styleName, _doInitContent, _doClearContent, render는 반드시 구현해야 한다.

Constructors

ConstructorModifiersDescription
(constructor)(type)Constructs a new instance of the CustomCellRendererImpl class

Properties

PropertyTypeDescription
clickOnlyFocusedCellbooleantrue이면 focus될 셀 또는 focus가 이동가능한 경우만 click이벤트가 발생한다. CellRenderer.clickOnlyFocusedCell
domHTMLElement
gridGridBaseRenderer가 참조하는 그리드 객체
indexCellIndexRenderer가 참조하는 셀의 index
inputFocusableboolean
itemClickableboolean
refreshFocusChangedbooleantrue이면 셀에 focus가 이동되면 다시그린다.
showTooltipboolean툴팁 표시 여부
styleNamestringRenderer의 class
typestringrenderer의 type

Methods

MethodTypeDescription
_doClearContent(dom)protected abstract _doClearContent(dom: HTMLElement): void;Renderer가 제거될때 발생하는 콜백
_doEditClick(index, event, result)protected _doEditClick(index: CellIndex, event: MouseEvent, result: RendererEditResult): boolean;
_doInitContent(dom)protected abstract _doInitContent(dom: HTMLElement): void;Renderer가 처음 그려질때 발생하는 콜백
canClick(event)canClick(event: MouseEvent): boolean;그리드의 클릭이벤트 사용여부
canClickSpaceKey(event)canClickSpaceKey(event: Event): boolean;특정키가 down되었을때 true를 return하면 itemClick을 호출한다.
canEdit()canEdit(): boolean;편집 가능한 렌더러인지의 여부
canEditClickAt(event)canEditClickAt(event: MouseEvent): boolean;편집가능한 셀에서 클릭이 발생했을때 편집상태로 변경할지 여부
click(index, event, target)click(index: CellIndex, event: Event, target?: HTMLElement): any;element를 클릭했을때 클릭가능한 element이면 ClickData를 반환한다.
itemClick(event)itemClick(event: Event): void;CustomCellRendererImpl.canClickSpaceKey()에서 true가 return되었을때 호출되는 method
preventDefaultClick(event)preventDefaultClick(event: Event): void;클릭된 element가 기본동작이 있는 tag(anchor등)일때 기본동작을 중지시킨다.
preventDefaultEditClick(event)preventDefaultEditClick(event: MouseEvent): void;클릭된 element가 편집가능한 tag일때 기본동작을 중지하기 위해 사용한다.
render(grid, model, w, h, info)protected abstract render(grid: GridBase, model: GridCell, w: number, h: number, info: any): void;렌더링시 실행될 콜백
tooltip(model, index)tooltip(model: GridCell, index: CellIndex): string;

Construct Desc

(constructor)

Constructs a new instance of the CustomCellRendererImpl class


Properties Desc

clickOnlyFocusedCell

true이면 focus될 셀 또는 focus가 이동가능한 경우만 click이벤트가 발생한다. CellRenderer.clickOnlyFocusedCell

Type - boolean


dom

Type - HTMLElement


grid

Renderer가 참조하는 그리드 객체

Type - GridBase

Remarks:

Override해서는 안된다.


index

Renderer가 참조하는 셀의 index

Type - CellIndex

Remarks:

Override해서는 안된다.

외부로 노출된 interface와는 조금 다르다.


inputFocusable

Type - boolean


itemClickable

Type - boolean


refreshFocusChanged

true이면 셀에 focus가 이동되면 다시그린다.

Type - boolean

Remarks:

focus를 가졌을때 셀을 갱신해야 하는경우 사용한다.


showTooltip

툴팁 표시 여부

Type - boolean


styleName

Renderer의 class

Type - string

Remarks:

rg-renderer + 사용자지정 class명으로 return해야 한다.


type

renderer의 type

Type - string

Remarks:

registerCustomerRenderer로 등록할때 사용한 이름이 type이 된다.

Override해서는 안된다.


Methods Desc

_doClearContent

Renderer가 제거될때 발생하는 콜백

Remarks:

_doInitContent에서 생성한 element들을 제거한다.


_doEditClick


_doInitContent

Renderer가 처음 그려질때 발생하는 콜백

[매개변수 목록]

dom - HTMLElement

parentElement

[반환값] - void

Remarks:

실제 화면에 보여줄 element들을 생성해서 전달된 dom에 추가한다.

그외 Renderer에서 사용할 내부 속성들을 초기화 해준다.

addEventListener를 사용하는 경우 반드시 _doClearContent에서 removeEventListener로 제거해 주어야 한다.


canClick

그리드의 클릭이벤트 사용여부

[매개변수 목록]

event - MouseEvent

마우스 클릭 이벤트

[반환값] - boolean

Remarks:

false를 return하면 그리드는 click이벤트를 처리하지 않고 element의 기본동작이 실행되도록 한다.


canClickSpaceKey

특정키가 down되었을때 true를 return하면 itemClick을 호출한다.

[매개변수 목록]

event - Event

키보드 이벤트

[반환값] - boolean

Remarks:

마우스로 클릭한것과 동일한 흐름을 만들기 위해서 사용한다.


canEdit

편집 가능한 렌더러인지의 여부

Remarks:

CheckCellRenderer와 같이 클릭에 의해서 값이 변경되는 renderer이면 true를 return한다.


canEditClickAt

편집가능한 셀에서 클릭이 발생했을때 편집상태로 변경할지 여부

[매개변수 목록]

event - MouseEvent

마우스 클릭이벤트

[반환값] - boolean

Remarks:

true를 return하면 해당행의 상태를 편집중으로 변경한다.


click

element를 클릭했을때 클릭가능한 element이면 ClickData를 반환한다.

[매개변수 목록]

index - CellIndex

셀의 위치정보 모델

event - Event

마우스 이벤트

target - HTMLElement

클릭된 element

[반환값] - any

Remarks:

반환된 데이터는 GridBase.onCellItemClicked이벤트로 전달된다.

false를 반환시 해당 이벤트를 중지시키고 CustomCellRendererImpl.preventDefaultClick()을 호출한다.


itemClick

CustomCellRendererImpl.canClickSpaceKey()에서 true가 return되었을때 호출되는 method

[매개변수 목록]

event - Event

키보드 이벤트

[반환값] - void

Remarks:

그리드 내부에서는 element click을 키보드로 대신할때 사용한다.


preventDefaultClick

클릭된 element가 기본동작이 있는 tag(anchor등)일때 기본동작을 중지시킨다.

[매개변수 목록]

event - Event

마우스 이벤트

[반환값] - void

Remarks:

GridBase.onCellItemClicked에서 false를 return하면 호출된다.


preventDefaultEditClick

클릭된 element가 편집가능한 tag일때 기본동작을 중지하기 위해 사용한다.

[매개변수 목록]

event - MouseEvent

마우스 이벤트

[반환값] - void

Remarks:

그리드는 마우스, 키보드 이벤트가 발생했을때 내부에서 처리하고 이벤트 전파를 중단시킨다.

<input type='checkbox' id='test'/><label for='test'>test</label>처럼 label을 클릭했을때

label과 input의 클릭이 순차적으로 발생하는 경우에는 중단시켜서는 안되기 때문에 preventDefaultEditClick을 재정의 해서 중단시키지 않도록 해야한다.


render

렌더링시 실행될 콜백

[매개변수 목록]

grid - GridBase

GridBase컨트롤

model - GridCell

GridCell 객체

w - number

너비

h - number

높이

info - any

[반환값] - void

Remarks:

화면이 스크롤되거나 data가 변경되는 경우 호출된다.

Renderer는 실제 위치는 변경되지 않고 재사용되기때문에 여기서 element를 생성하거나 제거해서는 안된다.

가능하면 _doInitContent에서 필요한 모든 element를 생성하고 render내부에서는 style또는 text등의 속성만 변경해야 한다.


tooltip

[매개변수 목록]

model - GridCell

GridCell 객체

index - CellIndex

셀의 위치정보 모델

[반환값] - string