API
Split

Split extends ChartItem

Split의 기능을 사용하기 위해서는 'split'모듈이 필요하다. 자세한 설명은 guide/modules에서 확인할 수 있다.


다중 분할 panes.
각 pane에 해당하는 x, y축이 반드시 존재해야 한다. axis는 row, col 속성으로 위치를 지정한다. 시리즈는 row, col 속성으로 지정하거나, 아니면 axis 위치에 따라 자동으로 결정된다.

Split의 기능을 사용하기 위해서는 'split'모듈이 필요하다. 자세한 설명은 guide/modules에서 확인할 수 있다.


Properties

options: SplitOptions readonly

차트를 생성할 때나 updateOptions 등을 통해 이 모델 객체에 설정된 옵션 값들(delta).
리턴된 객체의 속성값들을 가져올 수 있지만, 속성들을 직접 수정하는 것은 권장되는 방법이 아니다. updateOptions나 updateOption 등을 사용해서 옵션들을 변경해야 한다.

default :undefined

visible: boolean (opens in a new tab)

표시 여부.
설정 옵션의 visible 값을 그대로 return하는 것이 아니라, undefined나 null 등으로 지정하는 경우 모델의 상태에 따라 true나 false로 해석될 수 있다.
설정의 경우 updateOption으로 지정하는 것과 동일하다.

model.updateOption('visible', value);
model.updateOptions({
    visible: value
});

default :undefined

Methods

bool(prop): boolean (opens in a new tab)

boolean (opens in a new tab) 타입의 옵션 값에 특화된 prop() 메서드. prop()과 달리 boolean (opens in a new tab)으로 변환해서 반환한다.
해석 순서는 prop()과 동일하다(명시값(_op) → preset → 클래스 defaults).

ParameterTypeDescription
propK설정 항목 이름

return boolean (opens in a new tab) 타입의 옵션 값.

boolAt(path): boolean (opens in a new tab)

점(dot) 표기법으로 경로를 지정해서 boolean (opens in a new tab) 타입의 옵션 값을 반환한다.

ParameterTypeDescription
pathstring (opens in a new tab)경로 문자열

return 경로에 해당하는 boolean (opens in a new tab) 타입의 옵션 값 또는 false

clean(recursive?): this

_op에 명시적으로 설정되어 있지만 값이 현재 defaults와 동일한 항목들을 제거해 _op를 minimal delta 상태로 정규화한다.

[주의] 대부분의 경우 호출할 필요가 없다.

  • 효과 값(prop/num/props)은 영향 없음.
  • 직렬화(saveOptions)도 어차피 defaults와 같은 값을 필터링하므로 결과가 동일하다. 즉 외부 저장 결과는 clean 전후가 같다.

clean이 실제로 차이를 만드는 경우는 다음과 같다.

  • _op의 메모리 사용을 줄이고 싶을 때(loadOptions로 큰 source를 읽어들인 직후 등).
  • getOption()/saveOption()처럼 _op의 own value를 그대로 반환하는 API의 결과를 "사용자가 명시했는가"의 의미로 사용해야 할 때(예: 디자이너 UI의 "기본값 사용 중" 표시). 이 경우 clean 후에는 defaults와 같은 값들이 undefined로 보고된다.
ParameterTypeDescription
recursiveboolean (opens in a new tab)true로 지정하면 모든 자식 모델에 대해서도 재귀적으로 수행한다. 기본값: true

return 모델 객체 자신

clearOptions(recursive?, render?): this

updateOptions나 updateOption 등을 통해 설정된 모든 옵션 값들을 제거하거나, 전역 기본값이 존재하는 경우 그 값으로 되돌린다.

ParameterTypeDescription
recursiveboolean (opens in a new tab)자식까지 재귀 제거 여부. 기본 true(기존 ChartItem / realmap load 경로).
renderboolean (opens in a new tab)true(기본값)으로 지정하면 차트를 다시 그린다.

return 객체 자신.

clearStyle(render?): this

명시적으로 모델에 설정된 모든 style 값들을 제거한다.

ParameterTypeDescription
renderboolean (opens in a new tab)true로 지정하면 옵션 변경 시 차트를 다시 그린다. 기본값 false

deleteAt(path, render?): any (opens in a new tab)

명시적으로 설정된 하위 모델의 설정 값을 제거해서 모델의 기본 값이 적용되도록 한다.
path 매개변수는 하위 모델의 속성 이름을 점(.)으로 구분해서 지정한다. 예를 들어, "axis.x"는 axis 모델의 x 속성을 의미한다.
render와 force 매개변수는 toggleOption과 동일하다.

dispose(): null

객체를 해제하고 null을 반환한다.
사용 예: this._obj = this._obj.dispose();

return null

getOption(option): any (opens in a new tab)

옵션 값을 읽는다.
prop()과 달리 효과 값이 아닌 명시적으로 설정된 값만 읽는다. 설정되지 않은 옵션은 undefined를 반환한다.

ParameterTypeDescription
optionstring (opens in a new tab)설정 항목 이름

return 명시적으로 설정된 값 또는 undefined

getOptionAt(path): any (opens in a new tab)

점(dot) 표기법으로 경로를 지정해서 옵션 값을 읽는다.

ParameterTypeDescription
pathstring (opens in a new tab)경로 문자열

return 경로에 해당하는 옵션 값 또는 undefined

init(): this

특정 부모에 마운팅되지 않은 독립된 옵션 객체를 초기화한다.

initAndLoad(source): this

특정 부모에 마운팅되지 않은 독립된 옵션 객체를 초기화하고, source 객체로부터 옵션 값을 읽어서 설정한다.

ParameterType
sourceany (opens in a new tab)

invertOptions(source?): any (opens in a new tab)

source를 updateOptions에 적용했을 때 그 변경을 되돌리는 역(inverse) update 페이로드를 현재 상태 기준으로 계산해 반환한다. redo 적용 전에 호출해야 한다(현재 값이 곧 "before"다). command의 undo용 스냅샷을 최소 델타로 만들기 위한 것이다:

const inverse = model.invertOptions(options); model.updateOptions(options);
model.updateOptions(inverse);

키 종류별 처리(다형적으로 자식에 위임):

  • 자식 모델: child.invertOptions(source[key])로 위임한다. RCollection은 이를 override해 추가/삭제/재정렬까지 되돌리는 구조 역델타를 만든다.
  • 스칼라/외부 키: 해당 키의 현재 값을 force 스냅샷한다(default였던 값도 포함하므로 undo가 default로 되돌릴 수 있다). source의 값 자체는 키 선택자로만 쓰이고 무시된다.

source가 일반 객체가 아니면(undefined/원시값/배열) base로선 되돌릴 키가 없으므로 **no-op 역({})**을 반환한다. 배열 source나 _doSetSimple로 상태를 통째 세팅하는 소스를 실제로 다루는 클래스는 이 메서드를 override한다(RCollection이 그 예로, 배열/{items,updateMode} source의 구조 역델타를 만든다).

ParameterType
sourceany (opens in a new tab)

loadOptions(source, clear?): this

기존 옵션 값들을 모두 제거하고 source에 지정한 값들로 새로 구성한다.

chart.legend.loadOptions({
     visible: true,
     location: 'right
})
ParameterTypeDescription
sourceany (opens in a new tab)설정 정보 객체 혹은 단일값.
clearboolean (opens in a new tab)true면 기존 delta를 비운 뒤 로드. 기본 true.

return 이 객체 자신.

num(prop): number (opens in a new tab)

숫자 옵션 효과 값. 문자열('30px')은 parseFloat 결과를 반환한다.

ParameterType
propK

numAt(path): number (opens in a new tab)

점(dot) 표기법으로 경로를 지정해서 숫자 타입의 옵션 값을 반환한다.

ParameterTypeDescription
pathstring (opens in a new tab)경로 문자열

return 경로에 해당하는 숫자 타입의 옵션 값 또는 NaN

preset(preset, recursive?): this

이 인스턴스의 preset(그룹/공유 기본값)을 설정한다.
preset이 설정되면 prop/$1/bool/props 등 효과 값 조회 시 이 인스턴스에 명시되지 않은 옵션을 클래스 defaults보다 먼저 preset에서 가져온다 (해석 순서: _op → preset → defaults).

preset은 동일 클래스의 인스턴스를 전제한다(따라서 defaults가 동일하므로 preset의 명시값 delta만 참조해도 충분하다). 내부적으로 preset._op(명시값 delta)를 라이브로 참조하므로 원본 preset의 이후 변경이 전파된다. 직렬화(saveOptions)의 minimal-delta 기준은 여전히 클래스 defaults이며 preset은 읽기 전용 오버레이로만 작용한다.

ParameterTypeDescription
presetROptionable이 인스턴스가 기본값으로 상속할 동일 클래스 옵션 모델
recursiveboolean (opens in a new tab)true이면 자식 모델까지 재귀적으로 preset을 설정한다. 기본값 true

prop(prop): SplitOptions | \[ | K | ]

옵션의 효과 값(effective value)을 반환한다.
해석 순서는 명시값(_op) → preset → 클래스 defaults이다. 이 인스턴스에 명시적으로 설정된 값이 있으면 그 값을, 없고 preset이 설정돼 있으면 preset의 명시값을, 그것도 없으면 클래스 defaults의 기본값을 반환한다.
옵션 값을 읽을 때는 options.prop 직접 접근 대신 이 메서드를 사용한다.

ParameterTypeDescription
propK설정 항목 이름

propAt(path): any (opens in a new tab)

점(dot) 표기법으로 경로를 지정해서 옵션의 효과 값(effective value)을 반환한다.

ParameterTypeDescription
pathstring (opens in a new tab)경로 문자열

return 경로에 해당하는 옵션 값 또는 undefined

propIs(prop, value): boolean (opens in a new tab)

옵션 값이 특정 값과 일치하는지 여부를 반환한다.

ParameterTypeDescription
propkeyof (opens in a new tab) SplitOptions설정 항목 이름
valueany (opens in a new tab)비교할 값

return 일치 여부

propIsNot(prop, value): boolean (opens in a new tab)

옵션 값이 특정 값과 일치하지 않는지 여부를 반환한다.

ParameterTypeDescription
propkeyof (opens in a new tab) SplitOptions설정 항목 이름
valueany (opens in a new tab)비교할 값

return 불일치 여부

props(props): Pick

지정한 옵션들의 효과 값(effective value)을 묶어서 반환한다.
여러 옵션을 destructuring으로 한꺼번에 읽을 때 사용한다. 각 항목의 해석 순서는 prop()과 동일하다(명시값(_op) → preset → 클래스 defaults).

const { color, radius } = this.props('color', 'radius');
ParameterTypeDescription
propsArray (opens in a new tab)<K>설정 항목 이름들

saveOption(prop): SplitOptions | \[ | K | ] | { | | cols | : | | any (opens in a new tab) | ; | extendBody | : | | any (opens in a new tab) | ; | gap | : | | any (opens in a new tab) | ; | panes | : | | any (opens in a new tab) | ; | rows | : | | any (opens in a new tab) | ; | style | : | | any (opens in a new tab) | ; | visible | : | | any (opens in a new tab) | ; | | }

옵션 값을 읽는다.
prop()과 달리 효과 값이 아닌 명시적으로 설정된 값만 읽는다. 설정되지 않은 옵션은 undefined를 반환한다.

ParameterTypeDescription
propK설정 항목 이름

return 명시적으로 설정된 값 또는 undefined

saveOptions(props?, recursive?, includeDefs?, force?): Partial

이 모델 객체에 설정된 전역 기본값과 다른 옵션 값들이 포함된 사본 객체로 리턴한다.
options는 delta(명시 설정)만 담는다. 효과 값은 prop으로 읽는다.

ParameterTypeDescription
propsany (opens in a new tab)생략 또는 boolean (opens in a new tab)이면 기존 ChartItem API(recursive)로 해석한다. 기본 recursive=true.
recursiveboolean (opens in a new tab)
includeDefsboolean (opens in a new tab)
forceboolean (opens in a new tab)

return 옵션 사본 객체.

saveTo(target, props?, recursive?, includeDefs?, force?): Partial

모델의 설정 값을 target 객체에 복사해서 저장한다.

ParameterType
targetPartial
propsArray (opens in a new tab)<keyof (opens in a new tab) | SplitOptions | > | { | | cols | : | | any (opens in a new tab) | ; | extendBody | : | | any (opens in a new tab) | ; | gap | : | | any (opens in a new tab) | ; | panes | : | | any (opens in a new tab) | ; | rows | : | | any (opens in a new tab) | ; | style | : | | any (opens in a new tab) | ; | visible | : | | any (opens in a new tab) | ; | >
recursiveboolean (opens in a new tab)
includeDefsboolean (opens in a new tab)
forceboolean (opens in a new tab)

setStyle(prop, value, render?): this

모델 css style 값을 변경한다.
value에 undefined나 null, ''을 지정하면 기존에 설정됐던 스타일 항목이 제거된다.

ParameterTypeDescription
propstring (opens in a new tab)css 스타일 항목 이름.
valueany (opens in a new tab)적용할 스타일 값.
renderboolean (opens in a new tab)true로 지정하면 옵션 변경 시 차트를 다시 그린다. 기본값 true

setStyles(props, clear?, render?): this

여러 항목의 모델 css style 값들을 json 객체로 지정해서 동시에 변경한다.
value에 undefined나 null, ''을 지정하면 기존에 설정됐던 스타일 항목이 제거된다.

ParameterTypeDescription
propsobject (opens in a new tab)스타일 항목들과 값들이 설정된 json 객체
clearboolean (opens in a new tab)true로 지정하면 기존 스타일 값을 모두 제거한다. 기본값 false
renderboolean (opens in a new tab)true로 지정하면 옵션 변경 시 차트를 다시 그린다. 기본값 true

str(prop): string (opens in a new tab)

문자열 타입의 옵션 값에 특화된 prop() 메서드. prop()과 달리 문자열로 변환해서 반환한다.
해석 순서는 prop()과 동일하다(명시값(_op) → preset → 클래스 defaults).
어디에서도 값을 얻지 못하면 String(undefined) 즉 "undefined" 문자열이 반환되며, 값이 null이면 "null"이 된다. 미설정 시 기본값이 필요하면 strDef를 사용한다.

ParameterTypeDescription
propK설정 항목 이름

return 문자열로 변환한 옵션 값

strAt(path): string (opens in a new tab)

점(dot) 표기법으로 경로를 지정해서 문자열 타입의 옵션 값을 반환한다.
해석은 str과 동일하며, 경로가 유효하지 않으면 undefined를 반환한다.

ParameterTypeDescription
pathstring (opens in a new tab)경로 문자열

return 경로에 해당하는 문자열 옵션 값 또는 undefined

toggleAt(path, render?): any (opens in a new tab)

boolean (opens in a new tab) 타입의 모델 설정 값을 반대 값으로 변경한다.
path 매개변수는 하위 모델의 속성 이름을 점(.)으로 구분해서 지정한다. 예를 들어, "axis.x"는 axis 모델의 x 속성을 의미한다.
render와 force 매개변수는 toggleOption과 동일하다.

updateAt(path, value, render?, force?): any (opens in a new tab)

하위 모델의 설정 값을 변경한다.
path 매개변수는 하위 모델의 속성 이름을 점(.)으로 구분해서 지정한다. 예를 들어, "axis.x"는 axis 모델의 x 속성을 의미한다.
render와 force 매개변수는 updateOption과 동일하다.

updateOptions(source?, render?): this

하나 이상의 option 설정을 하고, 차트가 다시 그려지도록 한다.
ROptionable stock 구현을 사용하되, visible 변경 시 _visibleChanged를 통지한다.

ParameterType
sourcePartial
renderboolean (opens in a new tab)