realmap 1.0.12 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.d.ts CHANGED
@@ -1,5 +1,7 @@
1
+ declare const PI: number;
1
2
  declare const PI_2: number;
2
3
  declare const ORG_ANGLE: number;
4
+ declare const DEG_RAD: number;
3
5
  declare const RAD_DEG: number;
4
6
  type Path = string | any[];
5
7
  declare function fixnum(value: number): number;
@@ -26,6 +28,10 @@ interface SVGStyles {
26
28
  * SVG에 적용되는 css {@page https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/fill fill} 스타일 속성.<br/>
27
29
  */
28
30
  fill?: string;
31
+ /**
32
+ * SVG에 적용되는 css {@page https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/filter filter} 스타일 속성.<br/>
33
+ */
34
+ filter?: string;
29
35
  /**
30
36
  * SVG에 적용되는 css {@page https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/fill-opacity fill-opacity} 스타일 속성.<br/>
31
37
  */
@@ -655,7 +661,7 @@ type AnnotationType = 'image' | 'shape' | 'text' | 'html' | 'chart';
655
661
  *
656
662
  * @config chart.annotation[base]
657
663
  */
658
- interface AnnotationOptions extends ChartItemOptions {
664
+ interface AnnotationOptions extends PositionableItemOptions {
659
665
  type?: AnnotationType;
660
666
  /**
661
667
  * true로 지정하면 시리즈들 위에 표시된다.<br/>
@@ -664,11 +670,6 @@ interface AnnotationOptions extends ChartItemOptions {
664
670
  * @default false
665
671
  */
666
672
  front?: boolean;
667
- /**
668
- * 어노테이션 이름.<br/>
669
- * 동적으로 어노테이션을 다루기 위해서는 반드시 지정해야 한다.
670
- */
671
- name?: string;
672
673
  /**
673
674
  * 어노테이션 배치 기준이 되는 맵차트 구성 요소.<br/>
674
675
  * 현재, 같은 영역(body 혹은 chart)에 포함된 {@link config.base.gauge 게이지}나 다른 어노테이션의 {@link name 이름}을 지정할 수 있다.
@@ -681,15 +682,9 @@ interface AnnotationOptions extends ChartItemOptions {
681
682
  * @default 'left' anchor가 지정되면 'center', 아니면 'left'
682
683
  */
683
684
  align?: Align;
684
- /**
685
- * 수직 배치.<br/>
686
- *
687
- * @default top
688
- */
689
- verticalAlign?: VerticalAlign;
690
685
  /**
691
686
  * {@link align}과 {@link verticalAlign}으로 지정된 위치에서 실제 표시될 위치의 수평 간격.<br/>
692
- * 값이 양수일 때, {@link anchor}가 지정된 경우 anchor 아이템으 밖으로 멀어지고, 아니면 영역 경계 안쪽으로 멀어진다.
687
+ * 값이 양수일 때, {@link anchor}가 지정된 경우 anchor 아이템의 밖으로 멀어지고, 아니면 영역 경계 안쪽으로 멀어진다.
693
688
  * 또, {@link anchor}가 지정된 경우 **'0.5w'** 등으로 이 어노테이션의 너비를 기준으로 한 크기로 지정할 수 있다.
694
689
  *
695
690
  * @default 0
@@ -697,7 +692,7 @@ interface AnnotationOptions extends ChartItemOptions {
697
692
  offsetX?: number | string;
698
693
  /**
699
694
  * {@link align}과 {@link verticalAlign}으로 지정된 위치에서 실제 표시될 위치의 수직 간격.<br/>
700
- * 값이 양수일 때, {@link anchor}가 지정된 경우 anchor 아이템으 밖으로 멀어지고, 아니면 영역 경계 안쪽으로 멀어진다.
695
+ * 값이 양수일 때, {@link anchor}가 지정된 경우 anchor 아이템의 밖으로 멀어지고, 아니면 영역 경계 안쪽으로 멀어진다.
701
696
  * 또, {@link anchor}가 지정된 경우 **'0.5h'**처럼 이 어노테이션의 너비를 기준으로 한 크기로 지정할 수 있다.
702
697
  *
703
698
  * @default 0
@@ -716,12 +711,6 @@ interface AnnotationOptions extends ChartItemOptions {
716
711
  * @default 'chart'
717
712
  */
718
713
  scope?: AnnotationScope;
719
- /**
720
- * 배경 스타일.<br/>
721
- * 경계 및 배경 색, padding 스타일을 지정할 수 있다.
722
- * [주의] padding을 style이 아니라 여기서 지정하는 이유: background가 표시되지 않으면 사용자가 padding여부를 알 수 없다.
723
- */
724
- backgroundStyle?: SVGStyleOrClass;
725
714
  /**
726
715
  * true로 지정하면 상위 영역을 벗어난 부분도 표시되게 한다.<br/>
727
716
  * body에 포함된 경우 body 영역,
@@ -729,46 +718,6 @@ interface AnnotationOptions extends ChartItemOptions {
729
718
  *
730
719
  */
731
720
  noClip?: boolean;
732
- /**
733
- * body 어노테이션일 경우,
734
- * x 축을 기준으로 지정하는 수평(inverted일 때 수직) 위치.<br/>
735
- * chart에 지정된 어노테이션에서는 무시된다.
736
- *
737
- */
738
- x1?: number | Date;
739
- /**
740
- * body 어노테이션일 경우,
741
- * x 축을 기준으로 지정하는 수평(inverted일 때 수직) 위치.<br/>
742
- * chart에 지정된 어노테이션에서는 무시된다.
743
- *
744
- */
745
- x2?: number | Date;
746
- /**
747
- * body 어노테이션일 경우,
748
- * y 축을 기준으로 지정하는 수직(inverted일 때 수평) 위치.<br/>
749
- * chart에 지정된 어노테이션에서는 무시된다.
750
- *
751
- */
752
- y1?: number | Date;
753
- /**
754
- * body 어노테이션일 경우,
755
- * y 축을 기준으로 지정하는 수직(inverted일 때 수평) 위치.<br/>
756
- * chart에 지정된 어노테이션에서는 무시된다.
757
- *
758
- */
759
- y2?: number | Date;
760
- /**
761
- * Annotation 너비.<br/>
762
- * 픽셀 단위의 고정 값이나, plot 영역에 대한 상태 크기롤 지정할 수 있다.
763
- *
764
- */
765
- width?: PercentSize;
766
- /**
767
- * Annotation 높이.<br/>
768
- * 픽셀 단위의 고정 값이나, plot 영역에 대한 상태 크기롤 지정할 수 있다.
769
- *
770
- */
771
- height?: PercentSize;
772
721
  }
773
722
  declare const ImageAnnotationType = "image";
774
723
  /**
@@ -1373,25 +1322,25 @@ interface MapBackgroundOptions extends ChartItemOptions {
1373
1322
  */
1374
1323
  interface BodyPanelOptions extends ChartItemOptions {
1375
1324
  /**
1376
- * body 영역 내에서 panel의 수평 정렬.<br/>
1325
+ * {@page config.body} 영역 내에서 panel의 수평 정렬.<br/>
1377
1326
  *
1378
1327
  * @default 'left'
1379
1328
  */
1380
1329
  align?: Align;
1381
1330
  /**
1382
- * body 영역 내에서 panel의 수직 정렬.<br/>
1331
+ * {@page config.body} 영역 내에서 panel의 수직 정렬.<br/>
1383
1332
  *
1384
1333
  * @default 'top'
1385
1334
  */
1386
1335
  verticalAlign?: VerticalAlign;
1387
1336
  /**
1388
- * body 영역 경계와 panel 사이의 수평 간격.<br/>
1337
+ * {@page config.body} 영역 경계와 panel 사이의 수평 간격.<br/>
1389
1338
  *
1390
1339
  * @default 8 픽셀
1391
1340
  */
1392
1341
  offsetX?: number;
1393
1342
  /**
1394
- * body 영역 경계와 panel 사이의 수직 간격.<br/>
1343
+ * {@page config.body} 영역 경계와 panel 사이의 수직 간격.<br/>
1395
1344
  *
1396
1345
  * @default 8 픽셀
1397
1346
  */
@@ -1421,11 +1370,12 @@ interface ZoomPanelOptions extends BodyPanelOptions {
1421
1370
  */
1422
1371
  direction?: 'vertical' | 'horizontal';
1423
1372
  /**
1424
- * 버튼 클릭 시 증감될 zoom 변경량을 백분율로 지정한다.<br/>
1373
+ * 버튼 클릭 시 증감될 zoom 변화율을 지정한다.<br/>
1374
+ * 값이 클수록 작은 변화량이 된다.
1425
1375
  *
1426
1376
  * @default 20
1427
1377
  */
1428
- zoomStep?: number;
1378
+ zoomFactor?: number;
1429
1379
  /**
1430
1380
  * 버튼 너비.<br/>
1431
1381
  * {@page buttonHeight}가 지정되지 않으면 이 속성값과 동일하게 표시된다.
@@ -1500,6 +1450,9 @@ interface DrilldownPanelOptions extends BodyPanelOptions {
1500
1450
  */
1501
1451
  verticalAlign?: VerticalAlign;
1502
1452
  }
1453
+ /**
1454
+ * 콜백 매개변수 타입 base.<br/>
1455
+ */
1503
1456
  interface CommonCallbackArgs {
1504
1457
  /**
1505
1458
  * Realmap의 공개 {@page api.Chart} 모델
@@ -1556,10 +1509,10 @@ interface BodyOptions extends ChartItemOptions {
1556
1509
  */
1557
1510
  maxZoom?: number;
1558
1511
  /**
1559
- * 마우스 휠로 zooming할 때 이 속성에 지정한 값에 따라 wheel 변화량을 계산한다.<br/>
1512
+ * 마우스 휠로 zooming할 때 이 속성에 지정한 값에 따라 wheel 변화량을 zoom 변화율로 반영한다.<br/>
1560
1513
  * 큰 값을 지정할 수록 작게 변화한다.
1561
1514
  *
1562
- * @default 4
1515
+ * @default 5
1563
1516
  */
1564
1517
  wheelZoomFactor?: number;
1565
1518
  /**
@@ -1850,9 +1803,86 @@ interface MapWidgetGroupOptions extends MapWidgetOptions {
1850
1803
  direction?: 'vertical' | 'horizontal';
1851
1804
  }
1852
1805
  /**
1853
- * DataPointCallbackArgs
1806
+ * 어노테이션 배치 기준.<br/>
1807
+ * [주의]body에 설정된 annoation에는 적용되지 않는다.
1808
+ * @enum
1809
+ */
1810
+ declare const _PositionalScope: {
1811
+ /**
1812
+ * container에서 padding을 적용한 영역을 기준으로 표시한다.
1813
+ *
1814
+ * @config
1815
+ */
1816
+ readonly CHART: "chart";
1817
+ /**
1818
+ * container 전체 영역을 기준으로 표시한다.
1819
+ *
1820
+ * @config
1821
+ */
1822
+ readonly CONTAINER: "container";
1823
+ };
1824
+ /** @dummy */
1825
+ type PositionalScope = typeof _PositionalScope[keyof typeof _PositionalScope];
1826
+ interface PositionableItemOptions extends ChartItemOptions {
1827
+ /**
1828
+ * 아이템 이름.<br/>
1829
+ * 동적으로 아이템을 다루기 위해서는 반드시 지정해야 한다.
1830
+ */
1831
+ name?: string;
1832
+ /**
1833
+ * 수평 배치.<br/>
1834
+ *
1835
+ * @default 'left'
1836
+ */
1837
+ align?: Align;
1838
+ /**
1839
+ * 수직 배치.<br/>
1840
+ *
1841
+ * @default top
1842
+ */
1843
+ verticalAlign?: VerticalAlign;
1844
+ /**
1845
+ * {@link align}과 {@link verticalAlign}으로 지정된 위치에서 실제 표시될 위치의 수평 간격.<br/>
1846
+ *
1847
+ * @default 0
1848
+ */
1849
+ offsetX?: number | string;
1850
+ /**
1851
+ * {@link align}과 {@link verticalAlign}으로 지정된 위치에서 실제 표시될 위치의 수직 간격.<br/>
1852
+ *
1853
+ * @default 0
1854
+ */
1855
+ offsetY?: number | string;
1856
+ /**
1857
+ * 아이템 배치 기준.<br/>
1858
+ *
1859
+ * @default 'chart'
1860
+ */
1861
+ scope?: PositionalScope;
1862
+ /**
1863
+ * 배경 스타일.<br/>
1864
+ * 경계 및 배경 색, padding 스타일을 지정할 수 있다.
1865
+ * [주의] padding을 style이 아니라 여기서 지정하는 이유: background가 표시되지 않으면 사용자가 padding여부를 알 수 없다.
1866
+ */
1867
+ backgroundStyle?: SVGStyleOrClass;
1868
+ /**
1869
+ * 아이템 너비.<br/>
1870
+ * 픽셀 단위의 고정 값이나, plot 영역에 대한 상태 크기롤 지정할 수 있다.
1871
+ */
1872
+ width?: PercentSize;
1873
+ /**
1874
+ * 아이템 높이.<br/>
1875
+ * 픽셀 단위의 고정 값이나, plot 영역에 대한 상태 크기롤 지정할 수 있다.
1876
+ */
1877
+ height?: PercentSize;
1878
+ }
1879
+ /**
1880
+ * DataPoint 관련 callback 매개변수 타입.<br/>
1854
1881
  */
1855
1882
  interface DataPointArgs extends CommonCallbackArgs {
1883
+ /**
1884
+ * 시리즈 객체.
1885
+ */
1856
1886
  series: object;
1857
1887
  count: number;
1858
1888
  id: string;
@@ -1989,33 +2019,6 @@ interface ChartExporter {
1989
2019
  hideContextMenu: () => void;
1990
2020
  }
1991
2021
 
1992
- interface IPoint {
1993
- x: number;
1994
- y: number;
1995
- }
1996
-
1997
- interface ISize {
1998
- width: number;
1999
- height: number;
2000
- }
2001
- /** @internal */
2002
- declare class Size {
2003
- width: number;
2004
- height: number;
2005
- static readonly EMPTY: Size;
2006
- static empty(): Size;
2007
- static create(w?: number, h?: number): Size;
2008
- constructor(width?: number, height?: number);
2009
- /** isEmpty */
2010
- get isEmpty(): boolean;
2011
- clone(): Size;
2012
- equals(sz: Size): boolean;
2013
- setEmpty(): Size;
2014
- set(width: number, height: number): Size;
2015
- round(): Size;
2016
- toString(): string;
2017
- }
2018
-
2019
2022
  /** @internal */
2020
2023
  declare class Color {
2021
2024
  private static readonly COLORS;
@@ -2083,6 +2086,28 @@ declare class NumberFormatter {
2083
2086
  private $_parse;
2084
2087
  }
2085
2088
 
2089
+ interface ISize {
2090
+ width: number;
2091
+ height: number;
2092
+ }
2093
+ /** @internal */
2094
+ declare class Size {
2095
+ width: number;
2096
+ height: number;
2097
+ static readonly EMPTY: Size;
2098
+ static empty(): Size;
2099
+ static create(w?: number, h?: number): Size;
2100
+ constructor(width?: number, height?: number);
2101
+ /** isEmpty */
2102
+ get isEmpty(): boolean;
2103
+ clone(): Size;
2104
+ equals(sz: Size): boolean;
2105
+ setEmpty(): Size;
2106
+ set(width: number, height: number): Size;
2107
+ round(): Size;
2108
+ toString(): string;
2109
+ }
2110
+
2086
2111
  interface IRect {
2087
2112
  x: number;
2088
2113
  y: number;
@@ -2180,6 +2205,11 @@ declare class TextFormatter {
2180
2205
  $_parse(fmt: string): void;
2181
2206
  }
2182
2207
 
2208
+ interface IPoint {
2209
+ x: number;
2210
+ y: number;
2211
+ }
2212
+
2183
2213
  /** @internal */
2184
2214
  declare class RmTool<T extends RmControl = RmControl> {
2185
2215
  private _control;
@@ -2187,8 +2217,8 @@ declare class RmTool<T extends RmControl = RmControl> {
2187
2217
  private _moveElement;
2188
2218
  private _draggable;
2189
2219
  private _dragTracker;
2190
- private _touchX;
2191
- private _touchY;
2220
+ private _clickX;
2221
+ private _clickY;
2192
2222
  private _prevX;
2193
2223
  private _prevY;
2194
2224
  protected _touches: {
@@ -2211,8 +2241,6 @@ declare class RmTool<T extends RmControl = RmControl> {
2211
2241
  get dragTracker(): DragTracker;
2212
2242
  setDragTracker(value: DragTracker): void;
2213
2243
  get dragging(): boolean;
2214
- touchX(): number;
2215
- touchY(): number;
2216
2244
  pointerDown(ev: PointerEvent): boolean;
2217
2245
  protected _stopEvent(ev: Event): void;
2218
2246
  private $_doDrag;
@@ -2251,7 +2279,7 @@ declare class RmTool<T extends RmControl = RmControl> {
2251
2279
  private $_startDrag;
2252
2280
  private $_drag;
2253
2281
  private $_stopDragTracker;
2254
- private $_pointerToPoint;
2282
+ protected _pointerToPoint(event: PointerEvent): IPoint;
2255
2283
  private $_checkSwipe;
2256
2284
  /**
2257
2285
  * 터치 시작 시점에 실행한 설정 등을 이 후 touch 이벤트가 발생하면 초기화한다.
@@ -2315,7 +2343,6 @@ declare abstract class RmControl extends RmObject {
2315
2343
  private _requestTimer;
2316
2344
  private _defaultTool;
2317
2345
  private _tool;
2318
- private _invalidElements;
2319
2346
  private _toAnimation;
2320
2347
  private _invalidateLock;
2321
2348
  private _lockDirty;
@@ -2356,6 +2383,7 @@ declare abstract class RmControl extends RmObject {
2356
2383
  getCssVar(name: string): string;
2357
2384
  addDef(element: Element): void;
2358
2385
  removeDef(element: Element | string): void;
2386
+ hasDef(defId: string): boolean;
2359
2387
  /**
2360
2388
  * defs에 직사각형 clipPath를 등록한다.
2361
2389
  */
@@ -2445,6 +2473,8 @@ declare class RmElement extends RmObject {
2445
2473
  private _dom;
2446
2474
  private _parent;
2447
2475
  removing: boolean;
2476
+ private _saveStyle;
2477
+ private _saveClass;
2448
2478
  constructor(doc: Document, styleName: string, tag?: string);
2449
2479
  protected _doInitStyles(): void;
2450
2480
  protected _doDestory(): void;
@@ -2481,6 +2511,7 @@ declare class RmElement extends RmObject {
2481
2511
  containsDom(dom: Element): boolean;
2482
2512
  addDom(dom: SVGElement | HTMLElement): HTMLElement | SVGElement;
2483
2513
  add<T extends RmElement>(child: T): T;
2514
+ append<T extends RmElement>(child: T): T;
2484
2515
  addAll(...children: RmElement[]): void;
2485
2516
  insertChild<T extends RmElement>(child: T, before: RmElement): T;
2486
2517
  insertFirst<T extends RmElement>(child: T): T;
@@ -2515,17 +2546,14 @@ declare class RmElement extends RmObject {
2515
2546
  appendDom(dom: Node): Node;
2516
2547
  insertDom(dom: Node, before: Node): Node;
2517
2548
  clearDom(): void;
2518
- private _saveStyle;
2519
- private _saveClass;
2549
+ hasSavedStyles(): boolean;
2520
2550
  saveStyles(): void;
2521
2551
  restoreStyles(): void;
2522
2552
  internalClearStyles(): void;
2523
2553
  clearStyles(): boolean;
2524
- clearStyle(props: string[]): boolean;
2525
2554
  internalSetStyles(styles: any): void;
2526
2555
  internalImportantStylesOrClass(style: any): void;
2527
- setStyles(styles: SVGStyles): boolean;
2528
- resetStyles(styles: any): boolean;
2556
+ resetStyles(styles: any): void;
2529
2557
  protected _resetClass(): void;
2530
2558
  setClass(className: string): void;
2531
2559
  clearStyleAndClass(): void;
@@ -2535,12 +2563,9 @@ declare class RmElement extends RmObject {
2535
2563
  internalResetStyleOrClass(style: SVGStyleOrClass): void;
2536
2564
  protected _setBackgroundBorderRadius(value: number): void;
2537
2565
  setBackStyles(styles: any): boolean;
2538
- setStyle(prop: string, value: any): boolean;
2539
- internalSetStyle(prop: string, value: string): void;
2566
+ internalSetStyle(prop: string, value: any): void;
2540
2567
  internalSetImportantStyle(prop: string, value: string): void;
2541
2568
  setBackStyle(prop: string, value: string): boolean;
2542
- putStyles(styles: any, buff?: any): any;
2543
- putStyle(prop: string, value: string, buff?: any): any;
2544
2569
  setColor(color: string): this;
2545
2570
  getFill(): any;
2546
2571
  getStroke(): any;
@@ -2559,16 +2584,17 @@ declare class RmElement extends RmObject {
2559
2584
  rotate(angle: number): RmElement;
2560
2585
  internalRotate(angle: number): void;
2561
2586
  setCursor(cursor: string): void;
2587
+ hasClip(): boolean;
2588
+ setClip(cr?: ClipElement | string): void;
2562
2589
  clipRect(x: number, y: number, width: number, height: number, rd?: number): ClipRectElement;
2563
2590
  clipPath(path: Path): ClipPathElement;
2564
- attachClipPath(clipId: string): void;
2565
- detachClipPath(): void;
2566
- private $_setClip;
2567
2591
  private createClipId;
2568
2592
  sort(children: RmElement[]): void;
2569
2593
  getParent<T extends RmElement>(type: {
2570
2594
  new (): T;
2571
2595
  }): T;
2596
+ onScrollStart(): void;
2597
+ onScrollEnd(): void;
2572
2598
  protected _testing(): boolean;
2573
2599
  protected _doAttached(parent: RmElement): void;
2574
2600
  protected _doDetached(parent: RmElement): void;
@@ -2670,9 +2696,9 @@ declare class TextElement extends RmElement {
2670
2696
  calcRangeWidth(start?: number, end?: number): number;
2671
2697
  truncate(bounds: number, ellipsis: boolean): void;
2672
2698
  setContrast(target: Element, darkStyle: SVGStyleOrClass, brightStyle: SVGStyleOrClass): TextElement;
2699
+ setStyle(prop: string, value: any): boolean;
2700
+ setStyles(styles: SVGStyles): boolean;
2673
2701
  clearDom(): void;
2674
- setStyles(styles: any): boolean;
2675
- setStyle(prop: string, value: string): boolean;
2676
2702
  bbox(): IRect;
2677
2703
  getBBoundsTest(): IRect;
2678
2704
  stain(): void;
@@ -2781,8 +2807,15 @@ declare const _Shapes: {
2781
2807
  /** @dummy */
2782
2808
  type Shape = typeof _Shapes[keyof typeof _Shapes];
2783
2809
 
2810
+ /**
2811
+ */
2784
2812
  type PointHoverCallback = (args: DataPointArgs) => void;
2813
+ /**
2814
+ */
2785
2815
  type PointClickCallback = (args: DataPointArgs) => boolean;
2816
+ /**
2817
+ * xxx
2818
+ */
2786
2819
  type PointStyleCallback = (args: DataPointArgs) => SVGStyleOrClass | undefined;
2787
2820
  /**
2788
2821
  * @enum
@@ -2824,10 +2857,17 @@ declare const _PointLabelPositions: {
2824
2857
  };
2825
2858
  /** @dummy */
2826
2859
  type PointLabelPosition = typeof _PointLabelPositions[keyof typeof _PointLabelPositions];
2860
+ interface PointLabelPositionCallbackArgs extends CommonCallbackArgs {
2861
+ point: any;
2862
+ }
2827
2863
  /**
2828
2864
  * 데이터포인트 label 설정 옵션.<br/>
2829
2865
  */
2830
2866
  interface DataPointLabelOptions extends IconedTextOptions {
2867
+ /**
2868
+ * 데이터포인트 위에 마우스가 있을 때 적용되는 스타일셋 혹은 class selector.
2869
+ */
2870
+ hoverStyle?: SVGStyleOrClass;
2831
2871
  /**
2832
2872
  * @default true
2833
2873
  */
@@ -2869,13 +2909,14 @@ interface DataPointLabelOptions extends IconedTextOptions {
2869
2909
  */
2870
2910
  textCallback?: (point: any) => string;
2871
2911
  /**
2872
- * 데이터 포인트별 label 표시 여부를 리턴하는 콜백.
2912
+ * 데이터 포인트별 label 표시 여부를 리턴하는 콜백.<br/>
2873
2913
  */
2874
2914
  visibleCallback?: (point: any) => boolean;
2875
2915
  /**
2876
- * 데이터 포인트별로 추가 적용되는 스타일을 리턴한다.
2916
+ * 데이터 포인트별로 추가 적용되는 스타일을 리턴한다.<br/>
2877
2917
  */
2878
2918
  styleCallback?: (point: any) => SVGStyleOrClass;
2919
+ positionCallback?: (args: PointLabelPositionCallbackArgs) => PointLabelPosition;
2879
2920
  /**
2880
2921
  * @ignore 미구현
2881
2922
  * 데이터 포인트 label들이 처음 load될 때 실행될 animation 종류.<br/>
@@ -2937,13 +2978,14 @@ interface DataPointCalloutOptions extends ChartItemOptions {
2937
2978
  /**
2938
2979
  * 시리즈는 {@page data}로 지정된 값들을 데이터포인트로 표시하는 맵차트의 핵심 구성 요소이다.<br/>
2939
2980
  * 맵차트 설정의 다른 부분이나 API에 참조하기 위해서는 {@page name}을 반드시 지정해야 햔다.
2940
- * 맵차트 생성 시 {@page config.series.#type} 을 지정하지 않으면 {@page config.series.bar 'bar'} 시리즈로 생성된다.<br/>
2981
+ * 맵차트 생성 시 {@page type} 을 지정하지 않으면 {@page config.series.map 'map'} 시리즈로 생성된다.<br/>
2941
2982
  *
2942
2983
  * @config chart.series[base]
2943
2984
  */
2944
2985
  interface SeriesOptions extends ChartItemOptions {
2945
2986
  /**
2946
- * 맵차트 설정 객체에 지정하는 시리즈 종류.<br/>
2987
+ * 시리즈 종류를 지정한다.<br/>
2988
+ * 지정하지 않으면 {@page config.series.map 'map'} 시리즈로 생성된다.
2947
2989
  */
2948
2990
  type?: string;
2949
2991
  /**
@@ -2964,13 +3006,17 @@ interface SeriesOptions extends ChartItemOptions {
2964
3006
  map?: string | number;
2965
3007
  /**
2966
3008
  * 데이터포인트 label 설정 옵션.<br/>
3009
+ * boolean으로 지정하면 {@page visible} 속성을,
3010
+ * 문자열로 지정하면 {@page text} 속성을 별도로 지정하는 것과 동일하다.
2967
3011
  */
2968
- pointLabel?: DataPointLabelOptions | boolean;
3012
+ pointLabel?: DataPointLabelOptions | boolean | string;
2969
3013
  /**
2970
3014
  * 데이터포인트 위치에서 선을 그어 떨어뜨려 표시하는 옵션.<br/>
2971
3015
  * 데이터가 밀집된 지역이나 겹치는 값들 사이에서 분리하여 배치하기 위해 사용한다.<br/>
2972
- * data의 offset 속성에서 `[경도 변화량, 위도 변화량]`으로 지정한 값들로 선을 남기며 이동시킨다.<br/>
2973
- * ex) `[{ offset: [[0, 2], [1, -1]], value: 100 }, ...]`
3016
+ * 데이터포인트에 **callout** 속성이 `[경도, 위도]` 형식으로 지정되면 위치에 표시하고,
3017
+ * **offset** 속성이 지정되면 원래 표시 위치에서 `[경도 변화량, 위도 변화량]`으로 지정한 값들 만큼 이동시킨다.<br/>
3018
+ * ex) `{ callout: [[127.2, 35.3], [127.9, 35.3]], ... }`<br/>
3019
+ * ex) `{ offset: [[0, 2], [1, -1]], ... }`
2974
3020
  */
2975
3021
  callout?: DataPointCalloutOptions | boolean;
2976
3022
  /**
@@ -2997,7 +3043,8 @@ interface SeriesOptions extends ChartItemOptions {
2997
3043
  dataPath?: string;
2998
3044
  /**
2999
3045
  * {@page data}가 array로 제공되어 datapoint로 생성될 때,
3000
- * array의 각 항목에 해당하는 이름으로 datapoint source의 값을 사용한다.
3046
+ * array의 각 항목에 해당하는 이름으로 datapoint source의 값을 사용한다.<br/>
3047
+ * ex) `['id', 'lon', 'lat', 'name', 'color']`
3001
3048
  */
3002
3049
  fields?: string[];
3003
3050
  /**
@@ -3006,37 +3053,39 @@ interface SeriesOptions extends ChartItemOptions {
3006
3053
  *
3007
3054
  * @default 'id'
3008
3055
  */
3009
- idField?: string;
3056
+ idField?: string | number;
3010
3057
  /**
3011
3058
  * {@page data}로 전달되는 데이터포인트 생성 객체들의 'name' 속성 값 대신,
3012
3059
  * 이 속성으로 지정된 값을 데이터포인트 **이름**으로 설정한다.<br/>
3013
3060
  *
3014
3061
  * @default 'name'
3015
3062
  */
3016
- nameField?: string;
3063
+ nameField?: string | number;
3017
3064
  /**
3018
3065
  * {@page data}로 전달되는 데이터포인트 생성 객체들의 'lon' 속성 값 대신,
3019
3066
  * 이 속성으로 지정된 값을 데이터포인트 **경도** 값으로 설정한다.<br/>
3020
3067
  *
3021
3068
  * @default 'lon'
3022
3069
  */
3023
- lonField?: string;
3070
+ lonField?: string | number;
3024
3071
  /**
3025
3072
  * {@page data}로 전달되는 데이터포인트 생성 객체들의 'lat' 속성 값 대신,
3026
3073
  * 이 속성으로 지정된 값을 데이터포인트 **위도** 값으로 설정한다.<br/>
3027
3074
  *
3028
3075
  * @default 'lat'
3029
3076
  */
3030
- latField?: string;
3077
+ latField?: string | number;
3031
3078
  /**
3032
3079
  * {@page data}로 전달되는 데이터포인트 생성 객체들의 'color' 속성 값 대신,
3033
- * 이 속성으로 지정된 값을 데이터포인트 기본 **색상**으로 적용한다.<br/>
3080
+ * 이 속성으로 지정된 값을 데이터포인트의 기본 색상으로 적용한다.<br/>
3081
+ *
3082
+ * @default 'color'
3034
3083
  */
3035
- colorField?: string;
3084
+ colorField?: string | number;
3036
3085
  /**
3037
3086
  * 데이터 포인트 기본 색.<br/>
3038
3087
  * 숫자로 지정하면 정수로 변환된 값에 해당하는 팔레트 색상으로 설정된다.
3039
- * 'var(--color-n)'으로 지정한 것과 동일하며, 1 ~ 12 사이의 값으로 지정한다.<br/>
3088
+ * 'var(--color-n)'으로 지정한 것과 동일하며, 1 ~ 12 사이의 값으로 설정할 수 있다.
3040
3089
  * {@page style}로 지정된 색상보다는 우선하지만,
3041
3090
  * {@page pointColors}나 {@page styleCallback}으로 설정된 색상이 이 속성으로 설정한 색상보다 우선한다.
3042
3091
  */
@@ -3047,47 +3096,51 @@ interface SeriesOptions extends ChartItemOptions {
3047
3096
  * 시리즈 {@page style}이나 {@page color}로 지정된 색 보다는 우선하지만,
3048
3097
  * {@page styleCallback}에서 설정된 색상이나 데이터포인트별로 지정한 색상이 이 속성으로 설정된 색상보다 우선한다.
3049
3098
  */
3050
- pointColors?: string[] | string | ((point: any) => string);
3099
+ pointColors?: string[] | string | ((point: DataPointArgs) => string);
3051
3100
  /**
3052
- * 데이터포인트 툴팁 텍스트.
3101
+ * 데이터포인트 툴팁 텍스트.<br/>
3102
+ * true로 지정하면 기본 툴팁이 적용되고, false로 지정하면 tooltip이 표시되지 않는다.
3053
3103
  */
3054
3104
  tooltipText?: string | boolean;
3055
- tooltipCallback?: (args: any) => string;
3056
3105
  /**
3057
- * 시리즈가 연결된 legendindex나 이름으로 지정한다.<br/>
3058
- * -1 잘못된 값을 지정하면 legend에 표시되지 않는다.
3106
+ * 동적으로 {@page tooltipText}리턴하는 콜백.<br/>
3107
+ * null이나 undefined를 리턴하면 {@page tooltipText} 설정을 따른다.
3108
+ */
3109
+ tooltipCallback?: (args: DataPointArgs) => string;
3110
+ /**
3111
+ * 이 시리즈가 연결된 legend를 legend의 index나 이름으로 지정한다.<br/>
3112
+ * 범위를 벗어난 index 등 잘못된 값을 지정하면 legend에 표시되지 않는다.
3113
+ * 특별히 지정하지 않으면 첫 번째 index에 표시된다.
3059
3114
  *
3060
3115
  * @default 0
3061
3116
  */
3062
3117
  legend?: number | string;
3063
3118
  /**
3064
3119
  * @ignore 미구현
3120
+ *
3065
3121
  * 차트 설정 로드 시 실행되는 animation 종류.
3066
3122
  */
3067
3123
  loadAnimation?: 'default' | 'reveal' | 'grow' | 'spread' | 'fadein';
3068
3124
  /**
3069
- * true로 설정하면 hovering을 포함한 포인터 상호 작용에 비활성화 된다.<br/>
3125
+ * true로 설정하면 hovering을 포함한 마우스 등의 포인터에 반응하지 않는다.<br/>
3070
3126
  */
3071
3127
  disabled?: boolean;
3072
- /**
3073
- * @ignore 미구현
3074
- * 데이터포인트 hover 효과.<br/>
3075
- */
3076
- hoverEffect?: 'none' | 'default';
3077
- /**
3078
- * 데이터포인트 위에 마우스가 있을 때 적용되는 스타일셋 혹은 class selector.
3079
- */
3080
- hoverStyle?: SVGStyleOrClass;
3081
3128
  /**
3082
3129
  * 데이터 point의 동적 스타일 콜백.<br/>
3083
- * {@page style}, {@page pointColors} 등 다른 스타일 지정들 보다 우선한다.
3130
+ * {@page style}, {@page pointColors} 등 다른 스타일 설정들 보다 우선한다.
3084
3131
  */
3085
3132
  styleCallback?: PointStyleCallback;
3086
3133
  /**
3087
- * 데이터포인트들이 새로 로드된 후 호출된다.
3134
+ * 데이터포인트들이 로드된 후 호출된다.<br/>
3088
3135
  */
3089
3136
  onPointsLoaded?: (series: object, firstTime: boolean) => void;
3137
+ /**
3138
+ * {@page rm.Series#addPoint}를 호출해서 데이터포인트가 하나 추가된 후 호출된다.<br/>
3139
+ */
3090
3140
  onPointAdded?: (args: DataPointArgs) => void;
3141
+ /**
3142
+ * {@page rm.Series#removePoint}를 호출해서 데이터포인트가 하나 제거된 후 호출된다.<br/>
3143
+ */
3091
3144
  onPointRemoved?: (args: DataPointArgs) => void;
3092
3145
  onPointUpdated?: (args: DataPointArgs) => void;
3093
3146
  onPointListAdded?: (args: DataPointListkArgs) => void;
@@ -3115,10 +3168,20 @@ interface ValueSeriesOptions extends SeriesOptions {
3115
3168
  */
3116
3169
  valueField?: string;
3117
3170
  }
3171
+ /**
3172
+ * area가 아니라 위치 기준으로 데이터를 표시하는 시리즈.<br/>
3173
+ */
3174
+ interface CoordBaseSeriesOptions extends ValueSeriesOptions {
3175
+ /**
3176
+ * 데이터포인트를 표시하지 않는 영역(들)을 지정한다.<br/>
3177
+ * [왼쪽위, 오른쪽아래, ...] 형태로 두 위치를 연속적으로 지정해서 복수 개의 영역을 설정할 수 있다.
3178
+ */
3179
+ excludeBounds?: MapCoord[];
3180
+ }
3118
3181
  /**
3119
3182
  * 특정 위치에 연관된 값을 버블이나 shape 등으로 표시한다.<br/>
3120
3183
  */
3121
- interface MarkerSeriesOptions extends ValueSeriesOptions {
3184
+ interface MarkerSeriesOptions extends CoordBaseSeriesOptions {
3122
3185
  /**
3123
3186
  * 데이터포인트 {@page shape 도형} 회전 각도.<br/>
3124
3187
  */
@@ -3137,7 +3200,7 @@ interface SparkSeriesCategory {
3137
3200
  * 특정 위치에 연관된 값들을 단순 차트(spark chart)로 표시한다.<br/>
3138
3201
  * bar, line, pie 차트가 제공된다.
3139
3202
  */
3140
- interface SparkSeriesOptions extends ValueSeriesOptions {
3203
+ interface SparkSeriesOptions extends CoordBaseSeriesOptions {
3141
3204
  /**
3142
3205
  * 데이터포인트의 값이 복수개일 때 값별 색상을 순서대로 지정한다.<br/>
3143
3206
  * color 항목이 설정되지 않으면 데이터포인트의 기본 색상이 사용된다.
@@ -3174,7 +3237,7 @@ interface SparkSeriesOptions extends ValueSeriesOptions {
3174
3237
  */
3175
3238
  position?: PointViewPosition;
3176
3239
  }
3177
- interface GaugeOptions extends ValueSeriesOptions {
3240
+ interface GaugeOptions extends CoordBaseSeriesOptions {
3178
3241
  /**
3179
3242
  * 데이터포인트 차트 너비를 픽셀 단위로 지정한다.<br/>
3180
3243
  */
@@ -3293,6 +3356,8 @@ declare const BarSeriesType = "bar";
3293
3356
  interface BarSeriesOptions extends OrthogonalSparkSeriesOptions {
3294
3357
  type?: typeof BarSeriesType;
3295
3358
  /**
3359
+ * @private 미구현
3360
+ *
3296
3361
  * sub label 설정 모델.
3297
3362
  */
3298
3363
  subLabel?: DataPointLabelOptions | boolean;
@@ -3306,9 +3371,22 @@ interface BarSeriesOptions extends OrthogonalSparkSeriesOptions {
3306
3371
  barWidth?: number;
3307
3372
  maxValue?: number;
3308
3373
  /**
3309
- * null인 y값을 {@page baseValue}로 간주한다.
3374
+ * null인 y값을 {@page baseValue}로 간주한다.<br/>
3310
3375
  */
3311
3376
  nullAsBase?: boolean;
3377
+ /**
3378
+ * {@page categories}가 지정되지 않고, {@page colorByField}가 true인 경우,
3379
+ * bar들의 색상이 이 속성에 지정한 색들로 순환 지정된다.<br/>
3380
+ * 이 속성이 지정되지 않으면 데이터포인트 색상을 기준으로 색을 분리해 표시한다.
3381
+ */
3382
+ fieldColors?: string[];
3383
+ /**
3384
+ * {@page fieldColors} 속성에 따라 bar들이 다른 색으로 표시되게 한다.<br/>
3385
+ * {@page categories}가 지정되면 그 설정을 따른다.
3386
+ *
3387
+ * @default true
3388
+ */
3389
+ colorByField?: boolean;
3312
3390
  /**
3313
3391
  * {@page baseValue} 혹은 y축의 baseValue보다 작은 쪽의 point들에 적용되는 스타일.
3314
3392
  */
@@ -3393,11 +3471,19 @@ interface PieSeriesOptions extends SparkSeriesOptions {
3393
3471
  startAngle?: number;
3394
3472
  totalAngle?: number;
3395
3473
  clockwise?: boolean;
3396
- legendByField?: boolean;
3397
3474
  /**
3475
+ * {@page categories}가 지정되지 않고, {@page colorByField}가 true인 경우,
3476
+ * bar들의 색상이 이 속성에 지정한 색들로 순환 지정된다.<br/>
3477
+ * 이 속성이 지정되지 않으면 데이터포인트 색상을 기준으로 색을 분리해 표시한다.
3478
+ */
3479
+ fieldColors?: string[];
3480
+ /**
3481
+ * {@page fieldColors} 속성에 따라 파이 섹터들이 다른 색으로 표시되게 한다.<br/>
3482
+ * {@page categories}가 지정되면 각 category에 지정된 색상을 따른다.
3483
+ *
3398
3484
  * @default true
3399
3485
  */
3400
- colorByValue?: boolean;
3486
+ colorByField?: boolean;
3401
3487
  /**
3402
3488
  * 파이 섹터 무시 경계 값 및 속성 설정 목록.<br/>
3403
3489
  * 데이터포인트 values의 총 합이 지정된 값보다 작을 때
@@ -3699,11 +3785,11 @@ interface MapSeriesLabelOptions extends DataPointLabelOptions {
3699
3785
  }
3700
3786
  declare const MapSeriesType = "map";
3701
3787
  /**
3702
- * Map area 영역들을 칠하는 시리즈.<br/>
3788
+ * 소스에서 경계가 설정된 영역들을 표시하는 시리즈.<br/>
3703
3789
  * {@page op.SeriesOptions#type}은 'map'이다.<br/>
3704
- * choropleth map(단계 구분도. 색상으로 area별 특성을 나타내는 지도).
3705
- * 설정에서 type을 지정하지 않으면 생성되는 기본 시리즈이다.
3706
- * Map chart가 지도처럼 보이려면 반드시 하나 이상의 map series가 포함되어야 한다.<br/>
3790
+ * {@link https://en.wikipedia.org/wiki/Choropleth_map choropleth map}(단계 구분도. 색상으로 area별 특성을 나타내는 지도)으로 사용된다.
3791
+ * 맵차트 설정에서 {@page op.SeriesOptions#type}을 지정하지 않으면 자동으로 생성되는 기본 시리즈이다.
3792
+ * 맵차트가 지도처럼 보이려면 반드시 하나 이상의 map 시리즈나 {@page config.series.tiledweb tiledweb 시리즈}가 포함되어야 한다.<br/>
3707
3793
  *
3708
3794
  * @config chart.series[type=map]
3709
3795
  */
@@ -3746,7 +3832,15 @@ interface MapSeriesOptions extends ValueSeriesOptions {
3746
3832
  * @default false
3747
3833
  */
3748
3834
  nullHovering?: boolean;
3835
+ /**
3836
+ * 데이터포인트 위에 마우스가 있을 때 적용되는 색상.<br />
3837
+ * hoverStyle보다 우선되어 적용된다.
3838
+ */
3749
3839
  hoverColor?: string;
3840
+ /**
3841
+ * 데이터포인트 위에 마우스가 있을 때 적용되는 스타일셋 혹은 class selector.<br />
3842
+ * hoverColor와 hoverStyle 둘 다 적용되지 않은 경우, 기본 fill, filter가 적용된다.
3843
+ */
3750
3844
  hoverStyle?: SVGStyleOrClass;
3751
3845
  /**
3752
3846
  * true로 지정하면 마우스 클릭 등으로 area를 선택할 수 있다.<br/>
@@ -3760,7 +3854,7 @@ interface MapSeriesOptions extends ValueSeriesOptions {
3760
3854
  */
3761
3855
  selectedStyle?: SVGStyleOrClass;
3762
3856
  /**
3763
- * true로 지정하면 data point가 설정되지 않은 area들도 nullColor로 표시한다.<br/>
3857
+ * true로 지정하면 data point가 설정되지 않은 area들도 {@page nullStyle}로 표시한다.<br/>
3764
3858
  * 복수 개의 시리즈로 영역들을 그룹핑하려면 반드시 false로 지정해야 한다.
3765
3859
  *
3766
3860
  * @default true
@@ -3800,7 +3894,7 @@ interface MapSeriesOptions extends ValueSeriesOptions {
3800
3894
  /**
3801
3895
  * true로 지정하면 데이터포인트가 설정된 area들이 설정되지 않은 area보다 위에 그려지게 한다.<br/>
3802
3896
  *
3803
- * @default false;
3897
+ * @default false
3804
3898
  */
3805
3899
  bringToFront?: boolean;
3806
3900
  /**
@@ -3820,7 +3914,7 @@ declare const FeatureSeriesType = "feature";
3820
3914
  *
3821
3915
  * @config chart.series[type=map]
3822
3916
  */
3823
- interface FeatureSeriesOptions extends ValueSeriesOptions {
3917
+ interface FeatureSeriesOptions extends CoordBaseSeriesOptions {
3824
3918
  type?: typeof FeatureSeriesType;
3825
3919
  hoverColor?: string;
3826
3920
  hoverStyle?: SVGStyleOrClass;
@@ -4002,7 +4096,7 @@ declare const FigureSeriesType = "figure";
4002
4096
  *
4003
4097
  * @config chart.series[type=figure]
4004
4098
  */
4005
- interface FigureSeriesOptions extends ValueSeriesOptions {
4099
+ interface FigureSeriesOptions extends CoordBaseSeriesOptions {
4006
4100
  type?: typeof FigureSeriesType;
4007
4101
  figures?: {
4008
4102
  [id: string]: {
@@ -4142,6 +4236,8 @@ declare const _HitmapMode: {
4142
4236
  type HitmapMode = typeof _HitmapMode[keyof typeof _HitmapMode];
4143
4237
  declare const HeatmapSeriesType = "heatmap";
4144
4238
  /**
4239
+ * @private 미구현
4240
+ *
4145
4241
  * 특정 위치를 중심으로 주변 영역을 칠하는 시리즈.<br/>
4146
4242
  * {@page op.SeriesOptions#type}은 'heatmap'이다.<br/>
4147
4243
  *
@@ -4159,6 +4255,18 @@ interface HeatmapSeriesOptions extends MarkerSeriesOptions {
4159
4255
  point?: HitmapPointModeOptions;
4160
4256
  kde?: HitmapKdeModeOptions;
4161
4257
  }
4258
+ declare const RegionSeriesType = "region";
4259
+ /**
4260
+ * @private 미구현
4261
+ *
4262
+ * Region 시리즈.<br/>
4263
+ * {@page op.SeriesOptions#type}은 'region'이다.<br/>
4264
+ *
4265
+ * @config chart.series[type=region]
4266
+ */
4267
+ interface RegionSeriesOptions extends MarkerSeriesOptions {
4268
+ type?: typeof RegionSeriesType;
4269
+ }
4162
4270
  interface PanelSeriesSectionOptions extends ChartItemOptions {
4163
4271
  /**
4164
4272
  * @default '${value}'
@@ -4186,7 +4294,7 @@ declare const PanelSeriesType = "panel";
4186
4294
  *
4187
4295
  * @config chart.series[type=panel]
4188
4296
  */
4189
- interface PanelSeriesOptions extends ValueSeriesOptions {
4297
+ interface PanelSeriesOptions extends CoordBaseSeriesOptions {
4190
4298
  type?: typeof PanelSeriesType;
4191
4299
  /**
4192
4300
  * {@page header}와 본체를 배치하는 방향.<br />
@@ -4216,10 +4324,14 @@ interface PanelSeriesOptions extends ValueSeriesOptions {
4216
4324
  */
4217
4325
  position?: PointViewPosition;
4218
4326
  }
4327
+ interface TileWebProvider {
4328
+ url: string;
4329
+ theme?: string;
4330
+ subDomain?: string;
4331
+ credit: string;
4332
+ }
4219
4333
  declare const TiledWebSeriesType = "tiledweb";
4220
4334
  /**
4221
- * @ignore
4222
- *
4223
4335
  * 지도 해상도에 맞는 조각 그림들로 맵 배경을 채우는 시리즈.<br/>
4224
4336
  * {@page op.SeriesOptions#type}은 'tiledweb'이다.<br/>
4225
4337
  *
@@ -4227,6 +4339,18 @@ declare const TiledWebSeriesType = "tiledweb";
4227
4339
  */
4228
4340
  interface TiledWebSeriesOptions extends SeriesOptions {
4229
4341
  type?: typeof TiledWebSeriesType;
4342
+ /**
4343
+ * @default 'osm'
4344
+ */
4345
+ provider?: TileWebProvider | string;
4346
+ /**
4347
+ * @default 'Standard'
4348
+ */
4349
+ theme?: string;
4350
+ /**
4351
+ * @default 'a'
4352
+ */
4353
+ subdomain?: string;
4230
4354
  }
4231
4355
  /**
4232
4356
  * track 시리즈 outline 설정 옵션.<br/>
@@ -4260,6 +4384,8 @@ interface TrackSeriesOptions extends SeriesOptions {
4260
4384
  }
4261
4385
  declare const BandSeriesType = "band";
4262
4386
  /**
4387
+ * @private 미구현
4388
+ *
4263
4389
  * Band Series<br/>
4264
4390
  * {@page op.SeriesOptions#type}은 'band'이다.<br/>
4265
4391
  *
@@ -4270,6 +4396,8 @@ interface BandSeriesOptions extends SeriesOptions {
4270
4396
  }
4271
4397
  declare const TableSeriesType = "table";
4272
4398
  /**
4399
+ * @private 미구현
4400
+ *
4273
4401
  * Table Series<br/>
4274
4402
  * {@page op.SeriesOptions#type}은 'table'이다.<br/>
4275
4403
  *
@@ -4280,6 +4408,8 @@ interface TableSeriesOptions extends SeriesOptions {
4280
4408
  }
4281
4409
  declare const SankeySeriesType = "sankey";
4282
4410
  /**
4411
+ * @private 미구현
4412
+ *
4283
4413
  * Sankey Series<br/>
4284
4414
  * {@page op.SeriesOptions#type}은 'sankey'이다.<br/>
4285
4415
  *
@@ -4288,6 +4418,39 @@ declare const SankeySeriesType = "sankey";
4288
4418
  interface SankeySeriesOptions extends SeriesOptions {
4289
4419
  type?: typeof SankeySeriesType;
4290
4420
  }
4421
+ /**
4422
+ * @private 미구현
4423
+ *
4424
+ * WebGL 시리즈 옵션 base.<br/>
4425
+ * {@page op.SeriesOptions#type}은 'table'이다.<br/>
4426
+ *
4427
+ * @config chart.series
4428
+ * @module gl
4429
+ */
4430
+ interface GLSeriesOptions extends ValueSeriesOptions {
4431
+ }
4432
+ declare const GLPointSeriesType = "glpoint";
4433
+ /**
4434
+ * @private 미구현
4435
+ *
4436
+ * WebGL 포인트 시리즈 옵션.<br/>
4437
+ * {@page op.SeriesOptions#type}은 'glpoint'이다.<br/>
4438
+ *
4439
+ * @config chart.series[type=glpoint]
4440
+ */
4441
+ interface GLPointSeriesOptions extends GLSeriesOptions {
4442
+ type?: typeof GLPointSeriesType;
4443
+ /**
4444
+ * 데이터포인트 {@page shape 도형}의 반지름.
4445
+ *
4446
+ * @default 5
4447
+ */
4448
+ radius?: number;
4449
+ /**
4450
+ * @default 'center'
4451
+ */
4452
+ position?: PointViewPosition;
4453
+ }
4291
4454
  /**
4292
4455
  * Circle 게이지 내부 원 설정 모델.<br/>
4293
4456
  */
@@ -4685,7 +4848,7 @@ interface ClockGaugeOptions extends GaugeOptions {
4685
4848
  */
4686
4849
  active?: boolean;
4687
4850
  }
4688
- type SeriesOptionsType = MapSeriesOptions | FeatureSeriesOptions | PointSeriesOptions | PinSeriesOptions | FigureSeriesOptions | VectorSeriesOptions | RouteSeriesOptions | ImageSeriesOptions | BarSeriesOptions | PieSeriesOptions | WaffleSeriesOptions | LineSeriesOptions | BubbleSeriesOptions | HeatmapSeriesOptions | PanelSeriesOptions | TiledWebSeriesOptions | TrackSeriesOptions | SankeySeriesOptions | CircleGaugeOptions | ClockGaugeOptions;
4851
+ type SeriesOptionsType = MapSeriesOptions | FeatureSeriesOptions | PointSeriesOptions | PinSeriesOptions | FigureSeriesOptions | VectorSeriesOptions | RouteSeriesOptions | ImageSeriesOptions | BarSeriesOptions | PieSeriesOptions | WaffleSeriesOptions | LineSeriesOptions | BubbleSeriesOptions | HeatmapSeriesOptions | PanelSeriesOptions | TiledWebSeriesOptions | TrackSeriesOptions | SankeySeriesOptions | CircleGaugeOptions | ClockGaugeOptions | RegionSeriesOptions | GLPointSeriesOptions;
4689
4852
 
4690
4853
  /**
4691
4854
  * 시리즈 load animation 타입.
@@ -4907,7 +5070,7 @@ interface MapProjection {
4907
5070
  isGlobe: boolean;
4908
5071
  lonElliptic: boolean;
4909
5072
  latElliptic: boolean;
4910
- getYRange(latFrom: number, latTo: number): any;
5073
+ getYRange(latFrom: number, latTo: number): MapCoord;
4911
5074
  project(coord: MapCoord): MapCoord;
4912
5075
  backward(coord: MapCoord): MapCoord;
4913
5076
  clip(pts: MapCoord[]): MapCoord[];
@@ -4916,6 +5079,7 @@ interface MapProjection {
4916
5079
  getClipBounds(lonInterval: number, latInterval: number): MapCoord[];
4917
5080
  isClipping(): boolean;
4918
5081
  getScrolledLon(lon: number): number;
5082
+ inSecond(lon: number): boolean;
4919
5083
  }
4920
5084
  declare class MapArea extends RmObject implements ISelectionSource {
4921
5085
  source?: AreaItem;
@@ -5103,13 +5267,17 @@ declare class Tooltip extends ChartItem<TooltipOptions> {
5103
5267
  protected _doApply(options: TooltipOptions): void;
5104
5268
  }
5105
5269
 
5270
+ type GetLabelPositionFn = (p: DataPoint) => PointLabelPosition;
5106
5271
  /**
5107
5272
  * Series data point label options.
5108
5273
  */
5109
5274
  declare class DataPointLabel<OP extends DataPointLabelOptions = DataPointLabelOptions> extends IconedText<OP> {
5275
+ private static readonly DEFAULT_POSITION;
5110
5276
  static defaults: DataPointLabelOptions;
5111
5277
  private _point;
5112
5278
  _domain: IRichTextDomain;
5279
+ private _getPosition;
5280
+ get getPosition(): GetLabelPositionFn;
5113
5281
  getValue(p: DataPoint, index: number): any;
5114
5282
  getTextDomain(p: DataPoint): IRichTextDomain;
5115
5283
  getText(value: any): string;
@@ -5117,6 +5285,7 @@ declare class DataPointLabel<OP extends DataPointLabelOptions = DataPointLabelOp
5117
5285
  getDefaultIconPos(): IconPosition;
5118
5286
  protected _doSetSimple(op: OP, src: any): boolean;
5119
5287
  protected _doPrepareRender(chart: IChart, op: OP): void;
5288
+ protected _doApply(options: DataPointLabelOptions): void;
5120
5289
  }
5121
5290
  declare class DataPointAnchorPoint<OP extends CalloutAnchorPointOptions = CalloutAnchorPointOptions> extends ChartItem<OP> {
5122
5291
  static defaults: CalloutAnchorPointOptions;
@@ -5136,12 +5305,9 @@ interface ISeries<T extends DataPoint = DataPoint> {
5136
5305
  _idFielder: (src: any) => any;
5137
5306
  _nameFielder?: (src: any) => string;
5138
5307
  _valueFielder?: (src: any) => any;
5139
- _tupleFielder?: (src: any) => any[];
5140
5308
  _lonFielder?: (src: any) => number;
5141
5309
  _latFielder?: (src: any) => number;
5142
- _valuesFielder?: (src: any) => any[];
5143
5310
  _colorFielder: (src: any) => string;
5144
- coordOfArea(id: string): MapCoord;
5145
5311
  getColorScale(): string | number;
5146
5312
  initPoints(source: any[]): T[];
5147
5313
  followTooltipPointer(): boolean;
@@ -5164,8 +5330,8 @@ declare abstract class Series<OP extends SeriesOptions = SeriesOptions> extends
5164
5330
  private _data;
5165
5331
  private _dataPath;
5166
5332
  private _name;
5167
- index: number;
5168
- seriesIndex: number;
5333
+ private _index;
5334
+ _seriesIndex: number;
5169
5335
  protected _map: MapModel;
5170
5336
  protected _mapChanged: boolean;
5171
5337
  protected _points: DataPointCollection;
@@ -5205,6 +5371,10 @@ declare abstract class Series<OP extends SeriesOptions = SeriesOptions> extends
5205
5371
  legendColor(): string;
5206
5372
  legendLabel(): string;
5207
5373
  _type(): string;
5374
+ /**
5375
+ * 차트 시리즈 목록에서 위치.<br/>
5376
+ */
5377
+ get index(): number;
5208
5378
  /**
5209
5379
  * 시리즈 이름.<br/>
5210
5380
  * 시리즈 생성시 지정된 후 변경할 수 없다.
@@ -5234,13 +5404,16 @@ declare abstract class Series<OP extends SeriesOptions = SeriesOptions> extends
5234
5404
  followTooltipPointer(): boolean;
5235
5405
  isEmpty(visibleOnly: boolean): boolean;
5236
5406
  isDataSeries(): boolean;
5407
+ isMapSeries(): boolean;
5237
5408
  getDetailed(): Series;
5238
5409
  getValueRange(): {
5239
5410
  min: number;
5240
5411
  max: number;
5241
5412
  };
5242
5413
  needMapScale(): boolean;
5414
+ needTranslate(): boolean;
5243
5415
  contains(p: DataPoint): boolean;
5416
+ isExcluded(p: DataPoint): boolean;
5244
5417
  initPoints(source: any[]): DataPoint[];
5245
5418
  getPoint(index: number): DataPoint;
5246
5419
  find(condition: {
@@ -5264,18 +5437,49 @@ declare abstract class Series<OP extends SeriesOptions = SeriesOptions> extends
5264
5437
  getLabelOff(): number;
5265
5438
  protected _defLabelOff(): number;
5266
5439
  setCalcedColor(cs: CSSStyleDeclaration, prop: string): void;
5267
- coordOfArea(id: string): MapCoord;
5268
5440
  pointById(id: string): DataPoint;
5269
5441
  canAddAnimation(): boolean;
5270
5442
  canRemoveAnimation(): boolean;
5271
5443
  _dataLoaded: boolean;
5272
5444
  private $_dataPointsChanged;
5273
- loadData(data: any, animate?: boolean): void;
5445
+ loadData(data: any, animate?: boolean): this;
5446
+ /**
5447
+ * 데이터포인트를 하나 추가한다.<br/>
5448
+ * 데이터포인트 하나를 제거하라면 {@page removePoint}를 사용한다.
5449
+ *
5450
+ * @param source 데이터포인트 정보
5451
+ * @param index 추가 위치. 0보다 적으면 마지막에 추가된다.
5452
+ * @param duration 0보다 큰값을 지정하면 애니메이션이 표시된다.
5453
+ * @returns 생성된 데이터포인트 객체
5454
+ */
5274
5455
  addPoint(source: any, index?: number, duration?: number): DataPoint;
5456
+ /**
5457
+ * 데이터포인트를 하나 이상 추가한다.<br/>
5458
+ * 여러 데이터포인트 한꺼번에 제거하라면 {@page removePointList}를 사용한다.
5459
+ *
5460
+ * @param source 데이터포인트 정보 목록
5461
+ * @param index 추가 위치. 0보다 적으면 마지막에 추가된다.
5462
+ * @param duration 0보다 큰값을 지정하면 애니메이션이 표시된다.
5463
+ * @returns 생성된 데이터포인트 객체 목록
5464
+ */
5275
5465
  addPointList(source: any[], index?: number, duration?: number): DataPoint[];
5466
+ /**
5467
+ * 지정한 데이터포인트를 제거한다.<br/>
5468
+ * 데이터포인트 하나를 추가하라면 {@page addPoint}를 사용한다.
5469
+ *
5470
+ * @param p 삭제할 데이터포인트 객체나 인덱스 또는 문자열 id
5471
+ * @param duration 0보다 크면 삭제 애니메이션 표시
5472
+ */
5276
5473
  removePoint(p: DataPoint | number | string, duration?: number): void;
5277
5474
  private $_points;
5278
5475
  private $_remove;
5476
+ /**
5477
+ * 복수 개 데이터포인트를 제거한다.<br/>
5478
+ * 데이터포인트를 여러개 동시에 추가하라면 {@page addPointList}를 사용한다.
5479
+ *
5480
+ * @param p 삭제할 데이터포인트 객체나 인덱스 또는 문자열 id 목록.
5481
+ * @param duration 0보다 크면 삭제 애니메이션 표시
5482
+ */
5279
5483
  removePointList(points: (DataPoint | number | string)[], duration?: number): DataPoint[];
5280
5484
  clearPoints(duration?: number): void;
5281
5485
  removeFirst(duration?: number): void;
@@ -5303,12 +5507,13 @@ declare abstract class Series<OP extends SeriesOptions = SeriesOptions> extends
5303
5507
  lock(): void;
5304
5508
  unlock(): void;
5305
5509
  _setLegend(legend: object): void;
5306
- protected _doApply(options: SeriesOptions): void;
5510
+ protected _doApply(op: OP): void;
5307
5511
  _prepareRender(): void;
5308
5512
  protected _doAfterRender(): void;
5309
5513
  protected _doMapChanged(): void;
5310
5514
  protected _doPrepareRender(chart: IChart, op: OP): void;
5311
5515
  protected abstract _createPoint(source: any): DataPoint;
5516
+ _setIndex(index: number, seriesIndex?: number): void;
5312
5517
  protected $_addPoint(source: any, i: number): DataPoint;
5313
5518
  protected _createFielder(f: any): (v: any) => any;
5314
5519
  protected _createFielders(op: SeriesOptions): void;
@@ -5330,6 +5535,7 @@ declare abstract class Series<OP extends SeriesOptions = SeriesOptions> extends
5330
5535
  declare abstract class ValuePoint extends DataPoint {
5331
5536
  value: number;
5332
5537
  protected _readObject(series: ISeries, v: any): void;
5538
+ protected _readArray(series: ISeries, v: any[]): void;
5333
5539
  protected _assignTo(proxy: any): any;
5334
5540
  getValue(): number;
5335
5541
  getBaseValue(): number;
@@ -5341,11 +5547,18 @@ declare abstract class ValueSeries<OP extends ValueSeriesOptions = ValueSeriesOp
5341
5547
  protected _createFielders(op: ValueSeriesOptions): void;
5342
5548
  protected _createValueFielder(op: ValueSeriesOptions): (v: any) => any;
5343
5549
  }
5550
+ declare abstract class CoordBaseSeries<OP extends CoordBaseSeriesOptions = CoordBaseSeriesOptions> extends ValueSeries<OP> {
5551
+ static defaults: CoordBaseSeriesOptions;
5552
+ private _excludes;
5553
+ isExcludedCoord(coord: MapCoord): boolean;
5554
+ isExcluded(p: DataPoint): boolean;
5555
+ protected _doApply(op: OP): void;
5556
+ }
5344
5557
  declare abstract class MarkerSeriesPoint extends ValuePoint {
5345
5558
  }
5346
5559
  /**
5347
5560
  */
5348
- declare abstract class MarkerSeries<OP extends MarkerSeriesOptions = MarkerSeriesOptions> extends ValueSeries<OP> {
5561
+ declare abstract class MarkerSeries<OP extends MarkerSeriesOptions = MarkerSeriesOptions> extends CoordBaseSeries<OP> {
5349
5562
  static defaults: MarkerSeriesOptions;
5350
5563
  }
5351
5564
  declare class SparkSeriesPoint extends ValuePoint {
@@ -5371,17 +5584,18 @@ declare class SparkCategoryImpl implements ILegendSource {
5371
5584
  /**
5372
5585
  * 복수 개의 관련된 값들을 표시하는 시리즈 기반 클래스.<br/>
5373
5586
  */
5374
- declare abstract class SparkSeries<OP extends SparkSeriesOptions = SparkSeriesOptions> extends ValueSeries<OP> {
5587
+ declare abstract class SparkSeries<OP extends SparkSeriesOptions = SparkSeriesOptions> extends CoordBaseSeries<OP> {
5375
5588
  static defaults: SparkSeriesOptions;
5376
5589
  _categories: SparkCategoryImpl[];
5377
5590
  getMinMax(points: SparkSeriesPoint[]): {
5378
5591
  min: number;
5379
5592
  max: number;
5380
5593
  };
5381
- protected _doApply(options: SparkSeriesOptions): void;
5594
+ protected _doApply(op: OP): void;
5382
5595
  protected _createValueFielder(op: SparkSeriesOptions): (v: any) => any;
5383
5596
  getLegendSources(legend: object, list: ILegendSource[]): void;
5384
5597
  private $_parseCategories;
5598
+ protected _splitColors(): string[];
5385
5599
  }
5386
5600
  declare abstract class OrthogonalSparkSeriesPoint extends SparkSeriesPoint {
5387
5601
  }
@@ -5410,17 +5624,17 @@ declare abstract class OrthogonalSparkSeries<OP extends OrthogonalSparkSeriesOpt
5410
5624
  base: number;
5411
5625
  };
5412
5626
  getPadding(domain: number): number;
5413
- protected _doApply(options: OrthogonalSparkSeriesOptions): void;
5627
+ protected _doApply(op: OP): void;
5414
5628
  }
5415
5629
  declare abstract class GaugePoint extends ValuePoint {
5416
5630
  position: PointViewPosition;
5417
5631
  }
5418
- declare abstract class Gauge<OP extends GaugeOptions = GaugeOptions> extends ValueSeries<OP> {
5632
+ declare abstract class Gauge<OP extends GaugeOptions = GaugeOptions> extends CoordBaseSeries<OP> {
5419
5633
  static readonly DEF_SIZE = 60;
5420
5634
  static defaults: GaugeOptions;
5421
5635
  _width: number;
5422
5636
  _height: number;
5423
- protected _doApply(op: GaugeOptions): void;
5637
+ protected _doApply(op: OP): void;
5424
5638
  }
5425
5639
  declare abstract class ValueGauge<OP extends ValueGaugeOptions = ValueGaugeOptions> extends Gauge<OP> {
5426
5640
  static defaults: ValueGaugeOptions;
@@ -5429,7 +5643,7 @@ declare abstract class ValueGauge<OP extends ValueGaugeOptions = ValueGaugeOptio
5429
5643
  private _min;
5430
5644
  private _max;
5431
5645
  getValueRate(value: number): number;
5432
- protected _doApply(op: ValueGaugeOptions): void;
5646
+ protected _doApply(op: OP): void;
5433
5647
  protected _doPrepareRender(chart: IChart): void;
5434
5648
  }
5435
5649
 
@@ -5498,6 +5712,7 @@ declare class DataPoint implements ISelectionSource {
5498
5712
  visible: boolean;
5499
5713
  xPos: number;
5500
5714
  yPos: number;
5715
+ _excluded: boolean;
5501
5716
  _runColor: string;
5502
5717
  _zindex: number;
5503
5718
  private _selected;
@@ -5729,10 +5944,13 @@ declare class Credits extends ChartItem<CreditsOptions> {
5729
5944
 
5730
5945
  /**
5731
5946
  * 컬러, 버블 스케일 등의 스케일 기반 설정.<br/>
5947
+ *
5948
+ * @config chart.scale[base]
5732
5949
  */
5733
5950
  interface ScaleOptions extends MapSimpleWidgetOptions {
5734
5951
  /**
5735
- * {@page minValue}나 {@page maxValue}를 지정하지 않는 경우 범위 기준값을 계산할 시리즈의 이름이나 index.<br />
5952
+ * {@page minValue}나 {@page maxValue}를 지정하지 않는 경우 범위 기준값을 계산할
5953
+ * 시리즈의 {@page config.base.series#name 이름}이나 {@page Series#index}.<br />
5736
5954
  * 이 속성을 지정하지 않으면 첫 번째 map 시리즈의 범위를 계산한다.
5737
5955
  */
5738
5956
  series?: string | number;
@@ -5758,6 +5976,8 @@ declare const _ColorScaleLayout: {
5758
5976
  /** @dummy */
5759
5977
  type ColorScaleLayout = typeof _ColorScaleLayout[keyof typeof _ColorScaleLayout];
5760
5978
  /**
5979
+ * 컬러 스케일 표시 방식.<br/>
5980
+ *
5761
5981
  * @enum
5762
5982
  */
5763
5983
  declare const ColorScaleDisplays: {
@@ -5976,8 +6196,9 @@ interface ColorScaleOptions extends ScaleOptions {
5976
6196
  */
5977
6197
  steps?: ColorScaleStep[];
5978
6198
  /**
5979
- * steps가 지정되지 않고, 2 이상의 값으로 지정하면,
5980
- * 데이터포인트 값들을 속성값을 base로 하는 log 값으로 변환해서 표시한다.<br/>
6199
+ * 2 이상의 값으로 지정하면 이 속성값을 base로 하는 log 값을 기준으로 step을 생성한다.<br/>
6200
+ * step label은 log를 취하지 않은 값을 표시한다.
6201
+ * {@page steps}가 지정된 경우 각 step의 from/to 값이 log로 계산된 값으로
5981
6202
  *
5982
6203
  * @default undefined
5983
6204
  */
@@ -6021,6 +6242,11 @@ interface ColorScaleOptions extends ScaleOptions {
6021
6242
  * 숫자로 지정하면 pixel 수, '%'로 지정하면 scale이 표시될 수 있는 최대 크기에 대한 백분율로 설정된다.
6022
6243
  */
6023
6244
  barLength?: PercentSize;
6245
+ /**
6246
+ * 각 step의 색상을 gradient 없이 단일 색상으로 표시한다.<br/>
6247
+ * 스텝별로 fromColor, toColor가 지정된 경우에는 이 속성과 상관없이 gradient로 표시된다.
6248
+ */
6249
+ solidFill?: boolean;
6024
6250
  }
6025
6251
  /**
6026
6252
  * bubble 스텝을 구분하는 bubble scale 틱 라인 옵션.<br/>
@@ -6436,6 +6662,35 @@ declare class MapScale extends ScaleBase<MapScaleOptions> {
6436
6662
  private $_calcScale;
6437
6663
  }
6438
6664
 
6665
+ interface MapRegionTargetOptions extends ChartItemOptions {
6666
+ }
6667
+ interface MapRegionConnectorOptions extends ChartItemOptions {
6668
+ }
6669
+ interface MapRegionOptions extends PositionableItemOptions {
6670
+ /**
6671
+ * 원본 위치 표시 욥션.<br/>
6672
+ */
6673
+ target?: MapRegionTargetOptions;
6674
+ /**
6675
+ * {@page target}과의 연결 표시 옵션.<br/>
6676
+ */
6677
+ connector?: MapRegionConnectorOptions;
6678
+ /**
6679
+ * 이 맵리전에 표시될 {@page series}로 지정한 맵시리즈의 일부 영역을 지정한다.<br/>
6680
+ */
6681
+ bounds?: [MapCoord, MapCoord];
6682
+ /**
6683
+ * 원본 맵시리즈 이름.<br/>
6684
+ */
6685
+ series?: string;
6686
+ /**
6687
+ * region 뷰의 너비.<br/>
6688
+ *
6689
+ * @default 200
6690
+ */
6691
+ width?: number;
6692
+ }
6693
+
6439
6694
  /**
6440
6695
  * @config chart.map
6441
6696
  */
@@ -6572,6 +6827,15 @@ interface ChartConfiguration {
6572
6827
  * {@page annotation}과 동일하고, 이 속성이 우선한다.<br/>
6573
6828
  */
6574
6829
  annotations?: AnnotationOptionsType | AnnotationOptionsType[];
6830
+ /**
6831
+ * {@page guide.mapregion 멥리젼} 또는 맵리젼 목록.<br/>
6832
+ */
6833
+ mapRegion?: MapRegionOptions | MapRegionOptions[];
6834
+ /**
6835
+ * @ignore
6836
+ * {@page mapRegion}과 동일하고, 이 속성이 우선한다.<br/>
6837
+ */
6838
+ mapRegions?: MapRegionOptions | MapRegionOptions[];
6575
6839
  /**
6576
6840
  * 내보내기 설정.<br/>
6577
6841
  */
@@ -6686,6 +6950,7 @@ declare class ColorScale extends ScaleBase<ColorScaleOptions> implements IColorR
6686
6950
  private _endColor;
6687
6951
  private _colors;
6688
6952
  private _barLengthDim;
6953
+ private _logBase;
6689
6954
  private _logger;
6690
6955
  private _steps;
6691
6956
  private _valueSteps;
@@ -6696,7 +6961,7 @@ declare class ColorScale extends ScaleBase<ColorScaleOptions> implements IColorR
6696
6961
  get tick(): ColorScaleTick;
6697
6962
  get nullStep(): ColorScaleNull;
6698
6963
  get minColor(): Color;
6699
- get maxColor(): Color;
6964
+ get endColor(): Color;
6700
6965
  getRanger(): IColorRanger;
6701
6966
  getLayout(): ColorScaleLayout;
6702
6967
  getBarSize(wDomain: number, hDomain: number, vertical: boolean): ISize;
@@ -6704,8 +6969,8 @@ declare class ColorScale extends ScaleBase<ColorScaleOptions> implements IColorR
6704
6969
  getPosition(value: number): number;
6705
6970
  getTicks(): IColorScaleTick[];
6706
6971
  getSteps(): ColorScaleStep[];
6707
- getValueSteps(): number[];
6708
6972
  getLegendSources(target: ILegendSource[]): void;
6973
+ _buildSteps(): void;
6709
6974
  _type(): string;
6710
6975
  isVertical(): boolean;
6711
6976
  getDefaultDisplay(caption: MapWidgetCaption): MapWidgetCaptionDisplay;
@@ -6713,9 +6978,7 @@ declare class ColorScale extends ScaleBase<ColorScaleOptions> implements IColorR
6713
6978
  protected _getScaledSeries(chart: IChart): ISeries;
6714
6979
  private $_parseColorStops;
6715
6980
  protected _doPrepareRender(chart: IChart, op: ColorScaleOptions): void;
6716
- _buildSteps(): void;
6717
6981
  private $_parseValue;
6718
- private $_normalizeMin;
6719
6982
  private $_parseColor;
6720
6983
  private $_buildSteps;
6721
6984
  }
@@ -6919,7 +7182,7 @@ declare class ZoomPanel extends BodyPanel<ZoomPanelOptions> {
6919
7182
  static defaults: ZoomPanelOptions;
6920
7183
  get vertical(): boolean;
6921
7184
  getButtonSize(): ISize;
6922
- getZoomStep(): number;
7185
+ getZoomFactor(): number;
6923
7186
  protected _isVisible(): boolean;
6924
7187
  }
6925
7188
  declare class DrilldownPanel extends BodyPanel<DrilldownPanelOptions> {
@@ -6957,6 +7220,7 @@ declare class MapSeriesPoint extends ValuePoint {
6957
7220
  getLabel(index: number): string;
6958
7221
  getParam(param: string): any;
6959
7222
  _valuesChanged(prev: any): boolean;
7223
+ setSelected(selected: boolean): void;
6960
7224
  }
6961
7225
  declare class MapSeriesDrilldown extends ChartItem<DrilldownOptions> {
6962
7226
  static defaults: DrilldownOptions;
@@ -6982,7 +7246,7 @@ declare class InsetLabel extends IconedText<InsetLabelOptions> {
6982
7246
  constructor(chart: IChart);
6983
7247
  getInsetText(inset: MapInset): string;
6984
7248
  getInsetLabelStyle(inset: MapInset): SVGStyleOrClass;
6985
- isInsetLabelVisible(inset: MapInset): boolean;
7249
+ hideInsetLabel(inset: MapInset): boolean;
6986
7250
  isVisible(): boolean;
6987
7251
  getDefaultIconPos(): IconPosition;
6988
7252
  }
@@ -7023,7 +7287,7 @@ declare class MapSeries extends ValueSeries<MapSeriesOptions> {
7023
7287
  getMapBorders(): MapSeriesBorder[];
7024
7288
  isHiddenArea(areaId: string): MapArea;
7025
7289
  getHistory(): MapSeries[];
7026
- get(second: boolean, index: number): MapArea;
7290
+ get(index: number): MapArea;
7027
7291
  pointOf(area: MapArea): MapSeriesPoint;
7028
7292
  pointByProp(prop: string, value: any): MapSeriesPoint;
7029
7293
  getBounds(projection: ProjectionType): IRect;
@@ -7035,6 +7299,7 @@ declare class MapSeries extends ValueSeries<MapSeriesOptions> {
7035
7299
  getDetailed(): MapSeries;
7036
7300
  showDetail(): void;
7037
7301
  showParent(): void;
7302
+ isMapSeries(): boolean;
7038
7303
  protected _createLabel(chart: IChart): DataPointLabel;
7039
7304
  private $_createDetail;
7040
7305
  protected _doLoad(options: ChartItemOptions, source: any): void;
@@ -7053,9 +7318,73 @@ declare class MapSeries extends ValueSeries<MapSeriesOptions> {
7053
7318
  setCalcedColor(cs: CSSStyleDeclaration, prop: string): void;
7054
7319
  getColorScale(): string | number;
7055
7320
  canSelect(): boolean;
7321
+ select(p: ISelectionSource): void;
7056
7322
  private $_loadBorders;
7057
7323
  }
7058
7324
 
7325
+ declare class MapRegionTarget extends ChartItem<MapRegionTargetOptions> {
7326
+ }
7327
+ declare class MapRegionConnector extends ChartItem<MapRegionConnectorOptions> {
7328
+ }
7329
+ /**
7330
+ * 맵리젼 모델.<br/>
7331
+ * {@page options 옵션} 모델은 {@page op.MapRegionOptions}이고,
7332
+ * {@page config 맵차트 설정}에서 {@page config.mapregion 'mapRegion'} 항목으로 설정한다.
7333
+ * ```js
7334
+ * const config = {
7335
+ * mapRegion: [{
7336
+ * name: 'region1',
7337
+ * bounds: [[lon1, lat1], [lon2, lat2]],
7338
+ * }],
7339
+ * };
7340
+ * ```
7341
+ * 또, Chart.{@page rm.Chart#getmapregion getMapRegion}으로
7342
+ * 모델 객체를 가져올 수 있다.
7343
+ * ```js
7344
+ * const region = chart.getMapRegion('region1');
7345
+ * region.visible = false;
7346
+ * ```
7347
+ * {@page guide.mapregions MapRegion 개요} 페이지를 참조한다.
7348
+ *
7349
+ */
7350
+ declare class MapRegion extends PositioanbleItem<MapRegionOptions> {
7351
+ inBody: boolean;
7352
+ static defaults: MapRegionOptions;
7353
+ private _target;
7354
+ private _connector;
7355
+ private _map;
7356
+ private _zoom;
7357
+ private _panX;
7358
+ private _panY;
7359
+ scroll: number;
7360
+ private _scale;
7361
+ private _vRect;
7362
+ private _wMap;
7363
+ constructor(chart: IChart, inBody: boolean);
7364
+ protected _doInit(op: MapRegionOptions): void;
7365
+ get target(): MapRegionTarget;
7366
+ get connector(): MapRegionConnector;
7367
+ prepareLayout(width: number, height: number): {
7368
+ scale: number;
7369
+ wMap: number;
7370
+ hMap: number;
7371
+ tx: number;
7372
+ ty: number;
7373
+ };
7374
+ refresh(): void;
7375
+ protected _getNamePrefix(): string;
7376
+ protected _doPrepareRender(chart: IChart, op: MapRegionOptions): void;
7377
+ private $_calcPan;
7378
+ private $_prepareLayout;
7379
+ }
7380
+ /**
7381
+ * @internal
7382
+ */
7383
+ declare class MapRegionCollection extends PositionalItemCollection<MapRegion> {
7384
+ getRegion(name: string): MapRegion;
7385
+ protected _loadItem(chart: IChart, src: any, index: number, inBody: boolean): MapRegion;
7386
+ }
7387
+
7059
7388
  declare class MapBackground extends ChartItem<MapBackgroundOptions> {
7060
7389
  static defaults: MapBackgroundOptions;
7061
7390
  isVisible(): boolean;
@@ -7089,6 +7418,7 @@ declare class Body extends ChartItem<BodyOptions> implements IAnnotationOwner {
7089
7418
  private _scale;
7090
7419
  private _vRect;
7091
7420
  private _wMap;
7421
+ private _rawScroll;
7092
7422
  constructor(chart: IChart);
7093
7423
  protected _doInit(op: BodyOptions): void;
7094
7424
  anchorByName(name: string): ChartItem;
@@ -7166,10 +7496,11 @@ declare class Body extends ChartItem<BodyOptions> implements IAnnotationOwner {
7166
7496
  /**
7167
7497
  * coord는 projection 하지 않은 값.
7168
7498
  */
7169
- toVisible(coord: MapCoord, second: boolean): MapCoord;
7499
+ toVisible(coord: MapCoord): MapCoord;
7170
7500
  isScrollable(): boolean;
7171
7501
  setZoom(value: number, duration?: number | AnimationOptions | (() => void)): void;
7172
7502
  incZoom(delta: number): void;
7503
+ zoomByFactor(factor: number, animate?: boolean): void;
7173
7504
  _canSetZoom(value: number): boolean;
7174
7505
  /**
7175
7506
  * 지정한 좌표로 zoom하고 area center로 이동한다.
@@ -7190,7 +7521,11 @@ declare class Body extends ChartItem<BodyOptions> implements IAnnotationOwner {
7190
7521
  /**
7191
7522
  * 떨어진 두 위치로 정해지는 영역이 모두 표시되도록 zoom(in/out)하고 영역 중앙으로 이동한다.<br/>
7192
7523
  */
7193
- zoomToBounds(from: MapCoord, to: MapCoord, duration?: number): void;
7524
+ zoomToBounds(from: MapCoord, to: MapCoord, duration?: number, ratio?: number): void;
7525
+ calcZoomInfo(from: MapCoord, to: MapCoord, ratio: number): {
7526
+ center: MapCoord;
7527
+ zoom: number;
7528
+ };
7194
7529
  /**
7195
7530
  * 지정한 지점이나 area의 center가 중앙이 되도록 이동한다.
7196
7531
  *
@@ -7202,7 +7537,7 @@ declare class Body extends ChartItem<BodyOptions> implements IAnnotationOwner {
7202
7537
  getAnnotation(name: string): Annotation;
7203
7538
  updateOption(prop: keyof BodyOptions, value: any, render?: boolean): this;
7204
7539
  updateOptions(source?: BodyOptions, render?: boolean): this;
7205
- protected _doApply(options: BodyOptions): void;
7540
+ protected _doApply(op: BodyOptions): void;
7206
7541
  protected _doPrepareRender(chart: IChart): void;
7207
7542
  _getZoom(): number;
7208
7543
  }
@@ -7249,6 +7584,7 @@ declare class ChartObject extends RmEventProvider<IMapChartEvents> implements IC
7249
7584
  private _baseMap;
7250
7585
  private _series;
7251
7586
  _annotations: AnnotationCollection;
7587
+ _mapRegions: MapRegionCollection;
7252
7588
  _widgetGroups: MapWidgetGroupCollection;
7253
7589
  _legends: LegendCollection;
7254
7590
  _colorScales: ColorScaleCollection;
@@ -7283,11 +7619,10 @@ declare class ChartObject extends RmEventProvider<IMapChartEvents> implements IC
7283
7619
  _optionChanged(item: ChartItem, tag?: any): void;
7284
7620
  animatable(): boolean;
7285
7621
  loadAnimatable(): boolean;
7286
- isVisible(coord: MapCoord): boolean;
7287
7622
  requestShowSeries(series: Series, visible: boolean): void;
7288
7623
  _selectionChanged(series: ISeries, p: DataPoint): void;
7289
7624
  getNextPointShape(): Shape;
7290
- getProjection(second: boolean): MapProjection;
7625
+ getProjection(): MapProjection;
7291
7626
  projectionChanged(): void;
7292
7627
  zoomChanged(oldZoom: number): void;
7293
7628
  mapChanged(map: MapModel): void;
@@ -7323,6 +7658,8 @@ declare class ChartObject extends RmEventProvider<IMapChartEvents> implements IC
7323
7658
  get isDirty(): boolean;
7324
7659
  get isDrilldowned(): boolean;
7325
7660
  getAnnotations(): Annotation[];
7661
+ getMapRegions(): MapRegion[];
7662
+ coordOfArea(id: string): MapCoord;
7326
7663
  requestRender(now: boolean): void;
7327
7664
  mapByName(name: string): MapModel;
7328
7665
  mapAt(index: number): MapModel;
@@ -7333,6 +7670,7 @@ declare class ChartObject extends RmEventProvider<IMapChartEvents> implements IC
7333
7670
  seriesAt(index: number): Series;
7334
7671
  seriesByPoint(point: DataPoint): Series;
7335
7672
  annotationByName(name: string): Annotation;
7673
+ mapRegionByName(name: string): MapRegion;
7336
7674
  _collectWidgets(): {
7337
7675
  [dir: string]: MapWidget<MapWidgetOptions>[];
7338
7676
  };
@@ -7398,10 +7736,10 @@ interface IChart {
7398
7736
  assignTemplates(target: any): any;
7399
7737
  projectionChanged(): void;
7400
7738
  zoomChanged(oldZoom: number): void;
7739
+ coordOfArea(id: string): MapCoord;
7401
7740
  seriesByName(series: string): Series;
7402
7741
  seriesAt(index: number): Series;
7403
7742
  getSeries(series: string | number): Series;
7404
- isVisible(coord: MapCoord): boolean;
7405
7743
  getColorScale(scale: string | number): ColorScale;
7406
7744
  requestShowSeries(series: Series, visible: boolean): void;
7407
7745
  isDrilldowned: boolean;
@@ -7409,7 +7747,7 @@ interface IChart {
7409
7747
  drillup(series?: Series): void;
7410
7748
  _getSeriesType(type: string): any;
7411
7749
  _getAnnotationType(type: string): any;
7412
- getProjection(second: boolean): MapProjection;
7750
+ getProjection(): MapProjection;
7413
7751
  _visibleChanged(item: ChartItem): void;
7414
7752
  _optionChanged(item: ChartItem, tag?: any): void;
7415
7753
  _getLegendSources(legend: object): ILegendSource[];
@@ -7466,7 +7804,7 @@ declare class ChartItem<OP extends ChartItemOptions = ChartItemOptions> extends
7466
7804
  *
7467
7805
  * @param prop 설정 항목 이름
7468
7806
  * @param value 설정 값
7469
- * @param render true로 지정하면 옵션 변경 시 맵차트를 다시 그린다. 기본갑 true
7807
+ * @param render true로 지정하면 옵션 변경 시 맵차트를 다시 그린다. 기본값: true
7470
7808
  * @returns 모델 객체 자신
7471
7809
  */
7472
7810
  updateOption(prop: keyof OP, value: any, render?: boolean): this;
@@ -7627,23 +7965,60 @@ declare class MapWidgetGroup extends MapWidget<MapWidgetGroupOptions> {
7627
7965
  isVertical(): boolean;
7628
7966
  }
7629
7967
  declare abstract class MapWidgetCollection<T extends MapWidget = MapWidget> extends ChartItemCollection<T> {
7630
- private _map;
7968
+ private _dic;
7631
7969
  protected _visibles: T[];
7632
7970
  getVisibles(loc: ChartItemLocation): T[];
7633
7971
  get(name: string | number, loc: ChartItemLocation): T;
7634
7972
  find(name: string | number, force: boolean): T;
7635
7973
  beforeRender(): void;
7636
- protected _collectVisibles(): void;
7637
7974
  prepareRender(): void;
7638
7975
  load(src: any): void;
7639
7976
  protected abstract _collectionProp(): string;
7640
7977
  protected abstract _createWidget(chart: IChart): T;
7641
7978
  protected _canEmpty(): boolean;
7642
7979
  private $_loadItem;
7980
+ protected _collectVisibles(): void;
7643
7981
  }
7644
7982
  declare class MapWidgetGroupCollection extends MapWidgetCollection<MapWidgetGroup> {
7645
7983
  protected _collectionProp(): string;
7646
7984
  protected _createWidget(chart: IChart): MapWidgetGroup;
7985
+ beforeRender(): void;
7986
+ }
7987
+ declare abstract class PositioanbleItem<OP extends PositionableItemOptions = PositionableItemOptions> extends ChartItem<OP> {
7988
+ static defaults: PositionableItemOptions;
7989
+ index: number;
7990
+ private _name;
7991
+ private _widthDim;
7992
+ private _heightDim;
7993
+ private _offsetXDim;
7994
+ private _offsetYDim;
7995
+ private _offsetX;
7996
+ private _offsetY;
7997
+ /**
7998
+ * 아이템 이름.<br/>
7999
+ * 동적으로 아이템을 다루기 위해서는 반드시 지정해야 한다.
8000
+ */
8001
+ get name(): string;
8002
+ getOffset(w: number, h: number): IPoint;
8003
+ getSize(wDomain: number, hDomain: number): ISize;
8004
+ getPosition(left: number, top: number, wDomain: number, hDomain: number, width: number, height: number): IPoint;
8005
+ protected _doApply(options: PositionableItemOptions): void;
8006
+ protected abstract _getNamePrefix(): string;
8007
+ protected _getDefaultAlign(): string;
8008
+ }
8009
+ /**
8010
+ * @internal
8011
+ */
8012
+ declare abstract class PositionalItemCollection<T extends PositioanbleItem> extends ChartItemCollection<T> {
8013
+ protected _map: {
8014
+ [name: string]: T;
8015
+ };
8016
+ protected _visibles: T[];
8017
+ getVisibles(): T[];
8018
+ get(name: string | number): T;
8019
+ load(src: any, inBody: boolean): void;
8020
+ prepareRender(): void;
8021
+ protected abstract _loadItem(chart: IChart, src: any, index: number, inBody: boolean): T;
7647
8022
  }
7648
8023
  /**
7649
8024
  * color, bubble 스케일 base.<br/>
@@ -7677,45 +8052,22 @@ declare abstract class ScaleBase<OP extends ScaleOptions = ScaleOptions> extends
7677
8052
  * {@page guide.annotations Annotation 개요} 페이지를 참조한다.
7678
8053
  *
7679
8054
  */
7680
- declare abstract class Annotation<OP extends AnnotationOptions = AnnotationOptions> extends ChartItem<OP> {
8055
+ declare abstract class Annotation<OP extends AnnotationOptions = AnnotationOptions> extends PositioanbleItem<OP> {
7681
8056
  inBody: boolean;
7682
8057
  static register(...clses: typeof Annotation<AnnotationOptions>[]): void;
7683
8058
  static readonly type: string;
7684
8059
  static defaults: AnnotationOptions;
7685
- private _width;
7686
- private _height;
7687
- private _offsetX;
7688
- private _offsetY;
7689
- index: number;
7690
- private _name;
7691
- private _widthDim;
7692
- private _heightDim;
7693
- private _offsetXDim;
7694
- private _offsetYDim;
7695
- _x: number;
7696
- _y: number;
7697
- _w: number;
7698
- _h: number;
7699
8060
  _anchorObj: ChartItem;
7700
8061
  constructor(chart: IChart, inBody: boolean);
7701
8062
  _type(): string;
7702
- /**
7703
- * 어노테이션 이름.<br/>
7704
- * 동적으로 어노테이션을 다루기 위해서는 반드시 지정해야 한다.
7705
- *
7706
- * @config
7707
- */
7708
- get name(): string;
7709
8063
  /**
7710
8064
  * 처음 표시될 때 실행될 에니메이션 설정 정보.
7711
8065
  */
7712
- getOffset(w: number, h: number): IPoint;
7713
- getSize(wDomain: number, hDomain: number): ISize;
7714
- getPosition(left: number, top: number, wDomain: number, hDomain: number, width: number, height: number): IPoint;
7715
8066
  refresh(): void;
8067
+ protected _getNamePrefix(): string;
7716
8068
  _load(source: any): OP;
7717
- protected _doApply(options: AnnotationOptions): void;
7718
8069
  protected _doPrepareRender(chart: IChart, op: AnnotationOptions): void;
8070
+ protected _getDefaultAlign(): string;
7719
8071
  }
7720
8072
  /**
7721
8073
  * @internal
@@ -7730,17 +8082,13 @@ interface IAnnotationOwner {
7730
8082
  /**
7731
8083
  * @internal
7732
8084
  */
7733
- declare class AnnotationCollection extends ChartItemCollection<Annotation> {
8085
+ declare class AnnotationCollection extends PositionalItemCollection<Annotation> {
7734
8086
  owner: IAnnotationOwner;
7735
- private _map;
7736
- private _visibles;
7737
8087
  constructor(owner: IAnnotationOwner);
7738
- getVisibles(): Annotation[];
7739
8088
  getAnnotation(name: string): Annotation;
7740
- get(name: string | number): Annotation;
7741
8089
  load(src: any, inBody: boolean): void;
7742
8090
  prepareRender(): void;
7743
- private $_loadItem;
8091
+ protected _loadItem(chart: IChart, src: any, index: number, inBody: boolean): Annotation;
7744
8092
  }
7745
8093
 
7746
8094
  /**
@@ -7754,7 +8102,7 @@ interface LoadCallbackArgs extends CommonCallbackArgs {
7754
8102
  declare class MapChart {
7755
8103
  _obj: ChartObject;
7756
8104
  private _modelCallback;
7757
- _loadCallback: (param: LoadCallbackArgs) => void;
8105
+ _loadCallback: (args: LoadCallbackArgs) => void;
7758
8106
  private _loaded;
7759
8107
  constructor(config?: ChartConfiguration, callback?: (model: ChartObject, oldModel: ChartObject) => void);
7760
8108
  /**
@@ -7870,7 +8218,7 @@ declare class MapChart {
7870
8218
  *
7871
8219
  * @param config 맵차트 설정 정보
7872
8220
  */
7873
- load(config: ChartConfiguration, loadAnimation?: boolean, callback?: (param: LoadCallbackArgs) => void): MapChart;
8221
+ load(config: ChartConfiguration, loadAnimation?: boolean, callback?: (args: LoadCallbackArgs) => void): MapChart;
7874
8222
  /**
7875
8223
  * load 메서드의 async 버전. <br/>
7876
8224
  *
@@ -7937,6 +8285,16 @@ declare class MapChart {
7937
8285
  getPoint(id: string): MapCoord;
7938
8286
  seriesAt(index: number): Series;
7939
8287
  seriesByName(name: string): Series;
8288
+ /**
8289
+ * 픽셀 좌표를 경위도 좌표로 변환한다. <br/>
8290
+ * 픽셀 좌표는 맵차트 영역의 왼쪽 위 모서리를 (0,0)으로 하는 좌표계이다. <br/>
8291
+ * 차트가 아직 그려지지 않은 상태에서는 NaN이 담긴 배열을 반환하는 점에 주의.<br/>
8292
+ * LoadCallback이 호출된 시점부터 이용할 수 있다.
8293
+ *
8294
+ * @param x 픽셀 X 좌표
8295
+ * @param y 픽셀 Y 좌표
8296
+ * @returns 경위도 좌표 [lon, lat]
8297
+ */
7940
8298
  pointToMap(x: number, y: number): MapCoord;
7941
8299
  drilldown(series?: number | string | MapSeries, area?: string): Promise<void>;
7942
8300
  drillup(series?: number | string | MapSeries): Promise<void>;
@@ -8095,7 +8453,7 @@ declare class ImageElement extends RmElement {
8095
8453
  * @IE11 image proxy onload event
8096
8454
  */
8097
8455
  onloadProxy: () => void;
8098
- constructor(doc: Document, full: boolean, styleName?: string);
8456
+ constructor(doc: Document, styleName?: string, full?: boolean);
8099
8457
  /** image url */
8100
8458
  get url(): string;
8101
8459
  set url(value: string);
@@ -8191,8 +8549,6 @@ declare abstract class MapWidgetView<T extends MapWidget = MapWidget> extends Bo
8191
8549
 
8192
8550
  interface IAnnotationAnchorOwner {
8193
8551
  getAnnotationAnchor(model: any): RmElement;
8194
- tx: number;
8195
- ty: number;
8196
8552
  }
8197
8553
  /**
8198
8554
  * [주의] clipping하기 위해 translate를 background와 내부 view에 설정한다.
@@ -8351,15 +8707,6 @@ declare class PolyLineElement extends PathElement {
8351
8707
  setLines(pts: (number | MapCoord | IPoint)[], curved: boolean): void;
8352
8708
  }
8353
8709
 
8354
- declare class HoverAnimation extends RmAnimation {
8355
- private _series;
8356
- _focused: boolean;
8357
- _marker: MarkerSeriesPointView;
8358
- constructor(sv: SeriesView<Series>, marker: MarkerSeriesPointView, focused: boolean, endHandler: RmAnimationEndHandler);
8359
- protected _doStart(): void;
8360
- protected _doUpdate(rate: number): boolean;
8361
- protected _doStop(): void;
8362
- }
8363
8710
  interface IPointView {
8364
8711
  point: DataPoint;
8365
8712
  tooltipColor(): string;
@@ -8428,6 +8775,11 @@ declare abstract class PointElement<T extends DataPoint = DataPoint> extends Pat
8428
8775
  point: T;
8429
8776
  constructor(doc: Document, group?: boolean);
8430
8777
  tooltipColor(): string;
8778
+ /**
8779
+ * 데이터포인트 라벨과 view 표시 동기화 #361
8780
+ * - point가 보이지 않으면 label도 숨긴다.
8781
+ */
8782
+ setVisible(value: boolean): boolean;
8431
8783
  protected _drawSpline(pts: {
8432
8784
  x: number;
8433
8785
  y: number;
@@ -8440,9 +8792,6 @@ declare class PointContainer extends LayerElement {
8440
8792
  }
8441
8793
  type PointPositioner = (x: number, y: number, wPoint: number, hPoint: number) => IPoint;
8442
8794
  type LabelPositioner = (x: number, y: number, rLabel: IRect, wPoint: number, hPoint: number, off: number) => IPoint;
8443
- interface ISeriesViewOwner {
8444
- getSiblingOf(sv: SeriesView): SeriesView;
8445
- }
8446
8795
  /**
8447
8796
  * @internal
8448
8797
  *
@@ -8464,7 +8813,7 @@ declare abstract class SeriesView<T extends Series = Series> extends ChartElemen
8464
8813
  protected _labelPositioner: {
8465
8814
  [pos: string]: LabelPositioner;
8466
8815
  };
8467
- _second: boolean;
8816
+ protected _scroll: number;
8468
8817
  _h1: number;
8469
8818
  _h2: number;
8470
8819
  private _defs;
@@ -8477,38 +8826,43 @@ declare abstract class SeriesView<T extends Series = Series> extends ChartElemen
8477
8826
  private _posRate;
8478
8827
  protected _prevRate: number;
8479
8828
  _animations: Animation[];
8480
- _hoverAnis: HoverAnimation[];
8481
8829
  _hoverPts: IPointView[];
8482
8830
  protected _wBody: number;
8483
8831
  protected _hBody: number;
8832
+ protected _transInfo: IBodyTransform;
8833
+ protected _inRegion: boolean;
8484
8834
  protected _dirty: boolean;
8485
8835
  _scale: number;
8486
8836
  protected _scaler: (coord: MapCoord) => MapCoord;
8487
8837
  _aniOpacity: number;
8488
8838
  constructor(doc: Document, className: string, needLabels: boolean, useDefs: boolean);
8489
- get owner(): ISeriesViewOwner;
8839
+ $_setInRegion(): this;
8840
+ needClip(): boolean;
8490
8841
  secondLabelContainer(): LayerElement;
8491
8842
  protected _setCalcedColor(model: T, dom: Element): void;
8492
8843
  protected _setModelColor(color: string): void;
8493
- prepareModel(doc: Document, model: T): void;
8844
+ prepareModel(doc: Document, model: T, scroll: number): void;
8494
8845
  prepareLayout(doc: Document): void;
8495
- render(wBody: number, hBody: number): void;
8846
+ render(wBody: number, hBody: number, transInfo: IBodyTransform): void;
8496
8847
  reset(): void;
8497
8848
  isPointLabelVisible(p: DataPoint): boolean;
8498
8849
  isPointCalloutVisible(p: DataPoint): boolean;
8499
8850
  setScaler(scaler: (coord: MapCoord) => MapCoord): void;
8500
- getPointView(dom: Element): IPointView;
8851
+ getPointView(dom: Element, x: number, y: number, hitTesting: boolean): IPointView;
8501
8852
  pointerMoved(x: number, y: number, dom: Element): boolean;
8502
- setHoverStyle(pv: RmElement): void;
8503
8853
  defaultAnimation(): string;
8504
8854
  setGrowRate(rate: number): void;
8505
8855
  setPosRate(rate: number): void;
8506
8856
  setPrevRate(rate: number): void;
8507
- pointByDom(elt: Element): IPointView;
8508
- click(elt: Element): void;
8509
- select(elt: Element, clear: boolean): void;
8510
- toggleSelect(elt: Element): void;
8857
+ pointByDom(elt: Element, p: IPoint): IPointView;
8858
+ click(elt: Element, p: IPoint): void;
8859
+ select(elt: Element, p: IPoint, clear: boolean): void;
8860
+ toggleSelect(elt: Element, p: IPoint): void;
8511
8861
  runPointAddAnimation(p: DataPoint): void;
8862
+ /**
8863
+ * 데이터포인트와 연결된 라벨 표시/숨김 처리 #361
8864
+ */
8865
+ setPointLabelVisible(point: DataPoint, visible: boolean): void;
8512
8866
  protected abstract _doPrepeare(doc: Document, model: T, dataDirty: boolean): void;
8513
8867
  protected abstract _doRender(width: number, height: number): void;
8514
8868
  protected abstract _doReset(): void;
@@ -8553,6 +8907,8 @@ declare abstract class MarkerSeriesView<T extends MarkerSeries = MarkerSeries> e
8553
8907
  }
8554
8908
 
8555
8909
  interface IBodyViewOwner {
8910
+ tx: number;
8911
+ ty: number;
8556
8912
  showTooltip(series: Series, pv: IPointView, map: RmElement, p: IPoint): void;
8557
8913
  hideTooltip(): void;
8558
8914
  tooltipVisible(): boolean;
@@ -8567,20 +8923,15 @@ declare class BodyView extends ChartElement<Body> implements IAnnotationAnchorOw
8567
8923
  private _mapBack;
8568
8924
  private _contentLayer;
8569
8925
  private _axisGuideContainer;
8570
- private _secondAxisGuideContainer;
8571
8926
  private _seriesContainer;
8572
- private _secondContainer;
8573
8927
  private _annotationContainer;
8574
8928
  private _frontAnnotationContainer;
8575
8929
  _annotationViews: AnnotationView<Annotation>[];
8576
8930
  private _annotationMap;
8577
8931
  private _annotations;
8578
8932
  private _frontAxisGuideContainer;
8579
- private _secondFrontAxisGuideContainer;
8933
+ private _feedbackContainer;
8580
8934
  private _crosshairView;
8581
- private _seconded;
8582
- private _h1;
8583
- private _h2;
8584
8935
  private _clip;
8585
8936
  private _clipMap;
8586
8937
  private _requestShow;
@@ -8593,8 +8944,6 @@ declare class BodyView extends ChartElement<Body> implements IAnnotationAnchorOw
8593
8944
  get isProjectionChanged(): boolean;
8594
8945
  getSeries(series: Series): SeriesView<Series<SeriesOptions>>;
8595
8946
  prepare(doc: Document, model: Body): void;
8596
- protected _doMeasure(doc: Document, model: Body, hintWidth: number, hintHeight: number): ISize;
8597
- protected _doLayout(param: any): void;
8598
8947
  afterRender(): void;
8599
8948
  clean(): void;
8600
8949
  reset(): void;
@@ -8603,6 +8952,12 @@ declare class BodyView extends ChartElement<Body> implements IAnnotationAnchorOw
8603
8952
  seriesByDom(dom: Element): SeriesView;
8604
8953
  showSeries(series: Series): void;
8605
8954
  hideSeries(series: Series): void;
8955
+ getBackBounds(): DOMRect;
8956
+ addFeedback(view: RmElement): void;
8957
+ onScrollStart(): void;
8958
+ onScrollEnd(): void;
8959
+ protected _doMeasure(doc: Document, model: Body, hintWidth: number, hintHeight: number): ISize;
8960
+ protected _doLayout(param: any): void;
8606
8961
  /**
8607
8962
  * 클릭된 픽셀 좌표(x, y)를 경위도 좌표로 변환한다.<br/>
8608
8963
  * 픽셀 좌표는 BodyView의 Dom 노드의 오프셋 좌표여야 한다.
@@ -8619,14 +8974,27 @@ declare class BodyView extends ChartElement<Body> implements IAnnotationAnchorOw
8619
8974
  * @param point 픽셀 좌표
8620
8975
  * @returns 경위도 좌표
8621
8976
  */
8622
- mouseToMap(point: IPoint): MapCoord;
8623
- pointToMap(x: number, y: number): MapCoord;
8977
+ mouseToMap(point: IPoint, ignoreScroll?: boolean, ignorePadding?: boolean): MapCoord;
8978
+ boundsToMap(r: IRect, ignoreScroll?: boolean, ignorePadding?: boolean): {
8979
+ from: MapCoord;
8980
+ to: MapCoord;
8981
+ };
8982
+ pointToMap(x: number, y: number, ignoreScroll: boolean): MapCoord;
8983
+ mapToPoint(coord: MapCoord): IPoint;
8984
+ boundsByCoord(coordFrom: MapCoord, coordTo: MapCoord): {
8985
+ x: number;
8986
+ y: number;
8987
+ width: number;
8988
+ height: number;
8989
+ };
8624
8990
  private $_prepareSeries;
8625
8991
  private $_prepareLayoutSeries;
8626
8992
  private $_prepareAnnotations;
8627
8993
  private $_layoutAnnotations;
8628
8994
  private $_layoutAxisGuides;
8629
8995
  /**
8996
+ * @private
8997
+ *
8630
8998
  * 스크롤 상황인 경우에 한해 클리핑 적용.
8631
8999
  *
8632
9000
  * 단, 프로젝션에서 클리핑을 지원해야 적용할 수 있다.
@@ -8634,7 +9002,7 @@ declare class BodyView extends ChartElement<Body> implements IAnnotationAnchorOw
8634
9002
  *
8635
9003
  * 프로젝션이 변경된 경우, 클리핑 영역을 갱신한다.
8636
9004
  */
8637
- private $_doClipPathLayout;
9005
+ private $_layoutClip;
8638
9006
  }
8639
9007
 
8640
9008
  declare class TitleView extends BoundableElement<Title> {
@@ -8711,9 +9079,13 @@ declare class ChartView extends LayerElement implements IAnnotationAnchorOwner {
8711
9079
  private _widgetLayer;
8712
9080
  private _widgetMap;
8713
9081
  private _frontAnnotationContainer;
9082
+ private _mapRegionContainer;
8714
9083
  private _annotationViews;
8715
9084
  private _annotationMap;
8716
9085
  private _annotations;
9086
+ private _mapRegionViews;
9087
+ private _mapRegionMap;
9088
+ private _mapRegions;
8717
9089
  private _zoomPanelView;
8718
9090
  private _drilldownPanelView;
8719
9091
  private _mapScaleView;
@@ -8744,8 +9116,11 @@ declare class ChartView extends LayerElement implements IAnnotationAnchorOwner {
8744
9116
  buttonClicked(button: ButtonElement): void;
8745
9117
  updateAnnotation(anno: Annotation): void;
8746
9118
  isAnimating(): void;
9119
+ onScrollStart(): void;
8747
9120
  private $_prepareAnnotations;
8748
9121
  private $_layoutAnnotations;
9122
+ private $_prepareMapRegions;
9123
+ private $_layoutMapRegions;
8749
9124
  private $_layoutPanel;
8750
9125
  }
8751
9126
 
@@ -8817,13 +9192,16 @@ declare class BarSeries extends OrthogonalSparkSeries<BarSeriesOptions> {
8817
9192
  static type: string;
8818
9193
  static defaults: BarSeriesOptions;
8819
9194
  private _subLabel;
9195
+ private _fieldColors;
8820
9196
  protected _doInit(op: BarSeriesOptions): void;
8821
9197
  get subLabel(): DataPointLabel<DataPointLabelOptions>;
8822
9198
  get reversed(): boolean;
9199
+ getFieldColors(): string[];
8823
9200
  pointLabelCount(): number;
8824
9201
  protected _createPoint(source: any): BarSeriesPoint;
8825
9202
  protected _defLabelOff(): number;
8826
9203
  protected _createLegendMarker(doc: Document, size: number): RmElement;
9204
+ setCalcedColor(cs: CSSStyleDeclaration, prop: string): void;
8827
9205
  }
8828
9206
 
8829
9207
  declare class BubbleSeriesPoint extends MarkerSeriesPoint {
@@ -9147,7 +9525,7 @@ declare class FigureSeriesImage extends ChartItem<FigureSeriesImageOptions> {
9147
9525
  * {@page op.SeriesOptions#type}은 {@page config.series.figure 'figure'}이고,
9148
9526
  * {@page options 설정} 모델은 {@page op.FigureSeriesOptions}이다.
9149
9527
  */
9150
- declare class FigureSeries extends ValueSeries<FigureSeriesOptions> {
9528
+ declare class FigureSeries extends CoordBaseSeries<FigureSeriesOptions> {
9151
9529
  static type: string;
9152
9530
  static defaults: FigureSeriesOptions;
9153
9531
  private _innerLabel;
@@ -9252,7 +9630,7 @@ declare class PanelSeriesBody extends PanelSeriesSection<PanelSeriesBodyOptions>
9252
9630
  * {@page op.SeriesOptions#type}은 {@page config.series.point 'panel'}이고,
9253
9631
  * {@page options 설정} 모델은 {@page op.PanelSeriesOptions}이다.
9254
9632
  */
9255
- declare class PanelSeries extends ValueSeries<PanelSeriesOptions> {
9633
+ declare class PanelSeries extends CoordBaseSeries<PanelSeriesOptions> {
9256
9634
  static readonly DEF_MIN_WIDTH = 80;
9257
9635
  static readonly DEF_MIN_HEIGHT = 50;
9258
9636
  static type: string;
@@ -9299,13 +9677,16 @@ declare class PieSeries extends SparkSeries<PieSeriesOptions> {
9299
9677
  _totalRad: number;
9300
9678
  private _radiusDim;
9301
9679
  private _thresholds;
9680
+ private _fieldColors;
9302
9681
  getRadius(domain: number): number;
9303
9682
  hasThreshold(): PieSeriesThresholdImpl[];
9304
9683
  getThreshold(value: number): PieSeriesThresholdImpl;
9684
+ getFieldColors(): string[];
9305
9685
  protected _createPoint(source: any): PieSeriesPoint;
9306
9686
  protected _defLabelOff(): number;
9307
9687
  protected _doApply(options: PieSeriesOptions): void;
9308
9688
  protected _doPrepareRender(chart: IChart, op: PieSeriesOptions): void;
9689
+ setCalcedColor(cs: CSSStyleDeclaration, prop: string): void;
9309
9690
  private $_parseThresholds;
9310
9691
  }
9311
9692
 
@@ -9525,7 +9906,9 @@ declare class HtmlAnnotation extends Annotation<HtmlAnnotationOptions> {
9525
9906
  setParams(params: object): void;
9526
9907
  applyParams(target: string): string;
9527
9908
  /**
9528
- * ${param;default}
9909
+ * ${param;default;format;type} 형식으로 지정한다.
9910
+ * 첫번째 param만 필수값이다.
9911
+ * type이 지정되지 않으면 먼저 숫자로 변경되는 지 판단해서 format에 지정된 숫자 형식으로 변환한다.
9529
9912
  */
9530
9913
  private $_apply;
9531
9914
  protected _isVisible(): boolean;
@@ -9820,4 +10203,4 @@ declare const createChartAsync: typeof Globals.createChartAsync;
9820
10203
  declare const preset: typeof Globals.preset;
9821
10204
  declare const setLicenseKey: typeof Globals.setLicenseKey;
9822
10205
 
9823
- export { Align, Annotation, AnnotationAnimationOptions, AnnotationOptions, AnnotationOptionsType, AnnotationView, AssetItemOptions, AssetOptionsType, BackgroundImageOptions, BandSeriesOptions, BandSeriesType, BarSeries, BarSeriesOptions, Body, BodyView, BubbleSeries, BubbleSeriesOptions, ChartAnnotationOptions, ChartAnnotationType, ChartConfiguration, ChartControl, ChartElement, ChartItem, ChartItemOptions, ChartObject, ChartOptionsOptions, ChartTextOptions, ChartView, CircleElement, CircleGauge, ClockGauge, Color, ColorListOptions, ColorRanger, Credits, CreditsOptions, DataPoint, DataPointArgs as DataPointCallbackArgs, DataPointLabel, DataPointLabelOptions, Dom, DragTracker, ElementPool, ExportOptions, Exporter, ExporterOptions, ExternalModuleManager, FeatureSeriesLabelOptions, FeatureSeriesOptions, FeatureSeriesType, FigureSeries, GradientOptions, HeatmapSeriesOptions, HeatmapSeriesType, HtmlAnnotation, IChart, ILegendSource, IPercentSize, IPointView, IRect, ISeries, ISize, IconedTextOptions, ImageAnnotation, ImageAnnotationOptions, ImageListOptions, ImageSeries, LayerElement, Legend, LegendOptions, LineElement, LineSeries, LineSeriesOptions, LinearGradientOptions, LoadCallbackArgs, MapArea, MapAxis, MapAxisBandGuide, MapAxisGuide, MapAxisLineGuide, MapAxisRangeGuide, MapChart, MapCoord, MapCrosshair, MapInset, MapInsetDisplay, MapProjection, MapSeries, MapSeriesLabelOptions, MapSeriesOptions, MapSeriesType, MapTool, MapBackgroundOptions as MapViewBackgroundOptions, BodyOptions as MapViewOptions, MarkerSeries, MarkerSeriesOptions, MarkerSeriesPoint, MarkerSeriesPointView, MarkerSeriesView, ORG_ANGLE, OrthogonalSparkSeries, PI_2, PanelSeries, PathElement, PatternOptions, PercentSize, PieSeries, PieSeriesOptions, PinSeries, PointElement, PointLabelView, PointSeries, PointViewPool, PointViewPosition, PolyLineElement, ProjectionType, RAD_DEG, RadialGradientOptions, RectElement, RmElement, RouteSeries, RouteSeriesOptions, RouteSeriesType, SVGStyleOrClass, SVGStyles, SankeySeriesOptions, SankeySeriesType, SectionView, SectorElement, Series, SeriesAnimation, SeriesOptions, SeriesOptionsType, SeriesView, Shape, ShapeAnnotation, ShapeAnnotationOptions, ShapeDrawer, Size, SparkSeries, Subtitle, SubtitleOptions, TableSeriesOptions, TableSeriesType, TextAnchor, TextAnnotation, TextAnnotationOptions, TextElement, TextLayout, TiledWebSeriesOptions, TiledWebSeriesType, Title, TitleOptions, TooltipOptions, TrackSeriesOptions, TrackSeriesOutlineOptions, TrackSeriesType, Utils, ValuePoint, ValueSeries, VectorSeriesOptions, VectorSeriesType, WaffleSeries, _isIE, absv, assignObj, calcPercent, copyObj, cos, createChart, createChartAsync, createRect, extend, fixnum, getDistance, getVersion, incv, isArray, isEmptyRect, isObject, isString, maxv, minv, parsePercentSize, pickNum, pickProp, pickProp3, pixel, preset, rectToSize, setDebugging, setGlobals, setLicenseKey, setLogging, sin };
10206
+ export { Align, Annotation, AnnotationAnimationOptions, AnnotationOptions, AnnotationOptionsType, AnnotationView, AssetItemOptions, AssetOptionsType, BackgroundImageOptions, BandSeriesOptions, BandSeriesType, BarSeries, BarSeriesOptions, Body, BodyView, BubbleSeries, BubbleSeriesOptions, ChartAnnotationOptions, ChartAnnotationType, ChartConfiguration, ChartControl, ChartElement, ChartItem, ChartItemOptions, ChartObject, ChartOptionsOptions, ChartTextOptions, ChartView, CircleElement, CircleGauge, ClockGauge, Color, ColorListOptions, ColorRanger, CoordBaseSeries, Credits, CreditsOptions, DEG_RAD, DataPoint, DataPointArgs as DataPointCallbackArgs, DataPointLabel, DataPointLabelOptions, Dom, DragTracker, ElementPool, ExportOptions, Exporter, ExporterOptions, ExternalModuleManager, FeatureSeriesLabelOptions, FeatureSeriesOptions, FeatureSeriesType, FigureSeries, GLPointSeriesOptions, GLPointSeriesType, GLSeriesOptions, GradientOptions, HeatmapSeriesOptions, HeatmapSeriesType, HtmlAnnotation, IChart, ILegendSource, IPercentSize, IPointView, IRect, ISeries, ISize, IconedTextOptions, ImageAnnotation, ImageAnnotationOptions, ImageElement, ImageListOptions, ImageSeries, LayerElement, Legend, LegendOptions, LineElement, LineSeries, LineSeriesOptions, LinearGradientOptions, LoadCallbackArgs, MapArea, MapAxis, MapAxisBandGuide, MapAxisGuide, MapAxisLineGuide, MapAxisRangeGuide, MapChart, MapCoord, MapCrosshair, MapInset, MapInsetDisplay, MapProjection, MapSeries, MapSeriesLabelOptions, MapSeriesOptions, MapSeriesType, MapTool, MapBackgroundOptions as MapViewBackgroundOptions, BodyOptions as MapViewOptions, MarkerSeries, MarkerSeriesOptions, MarkerSeriesPoint, MarkerSeriesPointView, MarkerSeriesView, ORG_ANGLE, OrthogonalSparkSeries, PI, PI_2, PanelSeries, PathElement, PatternOptions, PercentSize, PieSeries, PieSeriesOptions, PinSeries, PointElement, PointLabelView, PointSeries, PointViewPool, PointViewPosition, PolyLineElement, ProjectionType, RAD_DEG, RadialGradientOptions, RectElement, RegionSeriesOptions, RegionSeriesType, RmElement, RouteSeries, RouteSeriesOptions, RouteSeriesType, SVGStyleOrClass, SVGStyles, SankeySeriesOptions, SankeySeriesType, SectionView, SectorElement, Series, SeriesAnimation, SeriesOptions, SeriesOptionsType, SeriesView, Shape, ShapeAnnotation, ShapeAnnotationOptions, ShapeDrawer, Size, SparkSeries, Subtitle, SubtitleOptions, TableSeriesOptions, TableSeriesType, TextAnchor, TextAnnotation, TextAnnotationOptions, TextElement, TextLayout, TileWebProvider, TiledWebSeriesOptions, TiledWebSeriesType, Title, TitleOptions, TooltipOptions, TrackSeriesOptions, TrackSeriesOutlineOptions, TrackSeriesType, Utils, ValuePoint, ValueSeries, VectorSeriesOptions, VectorSeriesType, WaffleSeries, _isIE, absv, assignObj, calcPercent, copyObj, cos, createChart, createChartAsync, createRect, extend, fixnum, getDistance, getVersion, incv, isArray, isEmptyRect, isObject, isString, maxv, minv, parsePercentSize, pickNum, pickProp, pickProp3, pixel, preset, rectToSize, setDebugging, setGlobals, setLicenseKey, setLogging, sin };