2012-05-02 1 views
1

SomeEditorFactory.getEditor (열)의 반환 값은 함수 또는 객체 여야합니까? 코드SlickGrid 편집기 팩토리에서 예상되는 사항은 무엇입니까?

function getEditor(row, cell) { 
    var column = columns[cell]; 
    var rowMetadata = data.getItemMetadata && data.getItemMetadata(row); 
    var columnMetadata = rowMetadata && rowMetadata.columns; 

    if (columnMetadata && columnMetadata[column.id] && columnMetadata[column.id].editor !== undefined) { 
     return columnMetadata[column.id].editor; 
    } 
    if (columnMetadata && columnMetadata[cell] && columnMetadata[cell].editor !== undefined) { 
     return columnMetadata[cell].editor; 
    } 

    return column.editor || (options.editorFactory && options.editorFactory.getEditor(column)); 
} 

하지 즉시 명백한에서

.

답변

-1

SlickGrid가 YourEditorFactory.getEditor (열)을 호출하면 함수가 필요합니다.

+1

기술적으로는 정확하지만 (여기서 자신의 대답을 자유롭게 받아 들일 수는 있지만), 이것은 오해의 소지가 없으며 도움이되지 못합니다. – Tin

+0

이 경우에는 오해의 여지가 있지만 도움이되지 않는 설명자가됩니다. 당신이 그것을 확장한다면, 나는 나의 대답을 편집하는 것보다 더 행복 할 것이다. "getEditor (columnDefinition)을 구현하는 객체 여야합니다"라는 질문은 실제로 내가 묻는 질문에 대답하지 않았기 때문에 직접 대답을 수락했습니다. IMHO, API가 오해의 소지가 있습니다. getEditor는 객체를 생성하는 데 사용 된 함수가 아니라 객체를 반환했다고 가정합니다. 내 0.02 달러. – rstackhouse

+0

나는 API 디자인 -IMHO-이 최소한의 놀라움의 원칙에 위배되기 때문에이 질문을 맨 먼저했다. "저에게 편집자 불러 오기"는 객체를 반환하는 것을 의미합니다. "편집기 기능 가져 오기"또는 "편집기 생성자 가져 오기"는 매우 자명합니다. 내 0.02 달러. – rstackhouse

3

getEditor(columnDefinition)을 구현하고 지정된 열의 편집기를 반환하는 객체 여야합니다.

https://github.com/mleibman/SlickGrid/wiki/Writing-custom-cell-editorshttps://github.com/mleibman/SlickGrid/blob/master/slick.editors.js을 참조하십시오.

+0

options.editorFactory.getEditor (column)의 리턴 값은 함수 여야합니다. – rstackhouse

+0

아니요, 편집기 여야합니다. – Tin

+0

editorFactory.getEditor (column)에서 객체를 반환하려고 시도했지만 Chrome에서 예외가 발생했습니다. – rstackhouse