LinkedComboManager

연계된 다중 콤보(대학/학과/전공 등)의 필터링 및 자동 선택 전파를 관리하는 매니저 클래스입니다.

Constructor

new LinkedComboManager(optionsopt)

Parameters:
NameTypeAttributesDescription
optionsObject<optional>
  • 매니저 설정 옵션
Properties
NameTypeAttributesDescription
filterBuilderfunction<optional>
  • 사용자 정의 필터 문자열 생성 함수

Classes

LinkedComboManager

Members

filterBuilder :function

Type:
  • function

lockKeys :Set.<nexacro.Component>

Type:
  • Set.<nexacro.Component>

nodes :Map.<string, ComboNode>

Type:

oldValue :*

Type:
  • *

Methods

addNode(config) → {LinkedComboManager}

콤보 노드를 등록합니다.

Parameters:
NameTypeDescription
configComboNodeConfig

노드 설정 정보

Returns:

자기 자신 (메소드 체이닝용)

Type: 
LinkedComboManager

attachEvents()

등록된 콤보 컴포넌트들에 대한 이벤트 리스너를 일괄 연결합니다.

attachGridEvents(grid)

그리드에 대한 이벤트 리스너를 연결합니다.

Parameters:
NameTypeDescription
gridnexacro.Grid

대상 그리드 컴포넌트

clearAllFilters()

모든 콤보 노드의 필터링 상태를 제거합니다.

filterNode(node)

조상 노드들의 현재 선택값에 기반하여 지정 노드의 데이터셋 필터를 설정하고 표시 열을 변경합니다.

Parameters:
NameTypeDescription
nodeComboNode

대상 콤보 노드

findNodeByComponent(comp) → {ComboNode|null}

컴포넌트를 감싸는 노드를 찾습니다.

Parameters:
NameTypeDescription
compnexacro.Combo

넥사크로 콤보 컴포넌트

Returns:

매칭되는 노드

Type: 
ComboNode | null

findNodeByGridColumn(grid, colNm) → {ComboNode|null}

그리드 컴포넌트와 컬럼명에 매칭되는 노드를 찾습니다.

Parameters:
NameTypeDescription
gridnexacro.Grid

넥사크로 그리드 컴포넌트

colNmstring

그리드 바인딩 컬럼명

Returns:

매칭되는 노드

Type: 
ComboNode | null

getAncestors(id) → {Array.<ComboNode>}

노드의 모든 조상 노드를 가장 가까운 부모부터 루트 노드 순으로 반환합니다.

Parameters:
NameTypeDescription
idstring

노드 ID.

Returns:

조상 노드 배열

Type: 
Array.<ComboNode>

getDescendants(id) → {Array.<ComboNode>}

노드의 모든 자손 노드를 수집하여 반환합니다.

Parameters:
NameTypeDescription
idstring

노드 ID.

Returns:

자손 노드 배열

Type: 
Array.<ComboNode>

handleComponentCloseup(node, postValue)

컴포넌트의 선택이 닫힐 때 상하위 노드 제어 및 리필터링을 수행합니다.

Parameters:
NameTypeDescription
nodeComboNode

대상 콤보 노드

postValue*

변경 후 값

handleComponentDropdown(node)

컴포넌트 드롭다운 시 동작을 수행합니다.

Parameters:
NameTypeDescription
nodeComboNode

대상 콤보 노드

handleComponentKillfocus(node)

컴포넌트 포커스를 잃을 때 필터를 초기화합니다.

Parameters:
NameTypeDescription
nodeComboNode

대상 콤보 노드

handleGridCloseup(grid, e)

그리드 셀 선택이 완료된 후 동작을 수행합니다.

Parameters:
NameTypeDescription
gridnexacro.Grid
  • 대상 그리드 컴포넌트
enexacro.GridEditEventInfo
  • 클로즈업 이벤트 객체

handleGridDropdown(grid, e)

그리드 셀 드롭다운 시 동작을 수행합니다.

Parameters:
NameTypeDescription
gridnexacro.Grid
  • 대상 그리드 컴포넌트
enexacro.GridEditEventInfo
  • 드롭다운 이벤트 객체

propagateSelection(node, selectedValue)

하위 노드의 선택에 따라 상위 노드들을 자동으로 채우고, 자손 노드들은 초기화합니다.

Parameters:
NameTypeDescription
nodeComboNode

선택 이벤트가 발생한 노드

selectedValue*

선택된 값

resetDisplayColumns()

모든 콤보 노드의 표시 열을 기본값으로 초기화합니다.

setCurrentRow(row)

지정한 행 인덱스를 모든 그리드 어댑터에 설정합니다.

Parameters:
NameTypeDescription
rownumber

그리드 행 인덱스

setDatasetFilter(ds, filterStr)

데이터셋에 필터를 적용하며, 이전 필터와 동일한 경우 필터링 동작을 스킵합니다.

Parameters:
NameTypeDescription
dsnexacro.Dataset

대상 데이터셋

filterStrstring

필터 조건 문자열