realmap 1.1.11 → 1.1.12

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,3 +1,5 @@
1
+ import { RObject, ROptionable } from '@realgrid/common';
2
+
1
3
  declare const PI: number;
2
4
  declare const PI_2: number;
3
5
  declare const ORG_ANGLE: number;
@@ -316,55 +318,6 @@ type MapPolygon = MapArc[];
316
318
  type MapProps = any;
317
319
  declare function parseCoord(v: any): MapCoord;
318
320
 
319
- /**
320
- * RealReport-Chart 라이브러리 클래스 모델의 최상위 base 클래스.
321
- * <br>
322
- *
323
- * @see concepts.dev_guide 개발 가이드
324
- * @see concepts.about RealTouch 개요
325
- */
326
- declare abstract class RmObject {
327
- private $_hash;
328
- private $_destroyed;
329
- private $_destroying;
330
- constructor(noHash?: boolean);
331
- /**
332
- * 객체가 소유한 참조 등을 해제하고 null을 리턴한다.
333
- *
334
- * ```
335
- * list = lis.destroy();
336
- * ```
337
- *
338
- * @returns null
339
- */
340
- destroy(): null;
341
- protected _doDestory(): void;
342
- get destroying(): boolean;
343
- get orphaned(): boolean;
344
- get hash(): string;
345
- isMe(hash: string): boolean;
346
- toString(): string;
347
- /**
348
- * @private
349
- *
350
- * template param으로부터 생성되는 값은 문자열일 수 있다.
351
- */
352
- toBool(v: any): boolean;
353
- toNum(v: any, def?: number): number;
354
- }
355
- declare abstract class RmEventProvider<T> extends RmObject {
356
- private _listeners;
357
- _addListener(listener: T): void;
358
- _removeListener(listener: T): void;
359
- /**
360
- * event로 지정한 함수가 정의된 모든 리스너에 대해 실행한다.
361
- * 리스너 scope으로 실행하고, 첫번째 매개변수로 이 객체가 전달된다.
362
- * 다만, 리스너들 중 하나라도 undefined가 아닌 값을 리턴하면,
363
- * 그 값을 리턴하면서 멈춘다.
364
- */
365
- protected _fireEvent(event: string, ...args: any[]): any;
366
- }
367
-
368
321
  interface MapInsetDisplay {
369
322
  /**
370
323
  * inset area 확대 비율.<br/>
@@ -620,8 +573,8 @@ declare class BorderItem extends MapSourceItem {
620
573
  polygon: MapPolygon;
621
574
  constructor(id: string, polygon: MapPolygon);
622
575
  }
623
- declare abstract class MapSourceImpl extends RmObject {
624
- static createStockInset(area: string, display?: boolean | MapInsetDisplay): MapInset;
576
+ declare abstract class MapSourceImpl extends RObject {
577
+ static createStockInset(area?: string, display?: boolean | MapInsetDisplay): MapInset;
625
578
  readonly name: string;
626
579
  readonly enabled: boolean;
627
580
  readonly idKey: string;
@@ -648,275 +601,53 @@ declare abstract class MapSourceImpl extends RmObject {
648
601
  }
649
602
 
650
603
  /**
651
- * 어노테이션 배치 기준.<br/>
652
- * [주의]body에 설정된 annoation에는 적용되지 않는다.
653
604
  * @enum
654
605
  */
655
- declare const _AnnotationScope: {
656
- /**
657
- * container에서 padding을 적용한 영역을 기준으로 표시한다.
658
- *
659
- *
660
- */
661
- readonly CHART: "chart";
662
- /**
663
- * container 전체 영역을 기준으로 표시한다.
664
- *
665
- *
666
- */
667
- readonly CONTAINER: "container";
606
+ declare const _ExportType: {
607
+ /** */
608
+ readonly PNG: "png";
609
+ /** */
610
+ readonly JPEG: "jpeg";
611
+ /** */
612
+ readonly SVG: "svg";
613
+ /** */
614
+ readonly PDF: "pdf";
615
+ /** */
616
+ readonly PRINT: "print";
668
617
  };
669
- /** @dummy */
670
- type AnnotationScope = typeof _AnnotationScope[keyof typeof _AnnotationScope];
671
- interface AnnotationAnimationOptions {
672
- type: string;
673
- duration?: number;
674
- }
675
- type AnnotationType = 'image' | 'shape' | 'text' | 'html' | 'chart';
676
- /**
677
- * Annotation 모델.<br/>
678
- *
679
- *
680
- */
681
- interface AnnotationOptions extends PositionableItemOptions {
682
- type?: AnnotationType;
683
- /**
684
- * true로 지정하면 시리즈들 위에 표시된다.<br/>
685
- * 명시적으로 false로 지정해야 시리즈들 아래 표시된다.
686
- *
687
- * @default false
688
- */
689
- front?: boolean;
690
- /**
691
- * 어노테이션 배치 기준이 되는 맵차트 구성 요소.<br/>
692
- * 현재, 같은 영역(body 혹은 chart)에 포함된 다른 어노테이션의 {@link name 이름}을 지정할 수 있다.
693
- *
694
- */
695
- anchor?: string;
696
- /**
697
- * 수평 배치.<br/>
698
- *
699
- * @default 'left' anchor가 지정되면 'center', 아니면 'left'
700
- */
701
- align?: Align;
702
- /**
703
- * {@link align}과 {@link verticalAlign}으로 지정된 위치에서 실제 표시될 위치의 수평 간격.<br/>
704
- * 값이 양수일 때, {@link anchor}가 지정된 경우 anchor 아이템의 밖으로 멀어지고, 아니면 영역 경계 안쪽으로 멀어진다.
705
- * 또, {@link anchor}가 지정된 경우 **'0.5w'** 등으로 이 어노테이션의 너비를 기준으로 한 크기로 지정할 수 있다.
706
- *
707
- * @default 0
708
- */
709
- offsetX?: number | string;
710
- /**
711
- * {@link align}과 {@link verticalAlign}으로 지정된 위치에서 실제 표시될 위치의 수직 간격.<br/>
712
- * 값이 양수일 때, {@link anchor}가 지정된 경우 anchor 아이템의 밖으로 멀어지고, 아니면 영역 경계 안쪽으로 멀어진다.
713
- * 또, {@link anchor}가 지정된 경우 **'0.5h'**처럼 이 어노테이션의 너비를 기준으로 한 크기로 지정할 수 있다.
714
- *
715
- * @default 0
716
- */
717
- offsetY?: number | string;
718
- /**
719
- * 회전 각도.<br/>
720
- * 0 ~ 360 사이의 값으로 지정한다.
721
- *
722
- */
723
- rotation?: number;
724
- /**
725
- * 어노테이션 배치 기준.<br/>
726
- * [주의]body에 설정된 annoation에는 적용되지 않는다.
727
- *
728
- * @default 'chart'
729
- */
730
- scope?: AnnotationScope;
731
- /**
732
- * true로 지정하면 상위 영역을 벗어난 부분도 표시되게 한다.<br/>
733
- * body에 포함된 경우 body 영역,
734
- * chart에 포함되고 scope이 'chart'일 때 chart 영역.
735
- *
736
- */
737
- noClip?: boolean;
738
- }
739
- declare const ImageAnnotationType = "image";
740
- /**
741
- * 이미지 어노테이션.<br/>
742
- * {@link https://realmap.co.kr/docs/api/options/AnnotationOptions#type type}은 'image'이다.<br/>
743
- *
744
- * // TODO #fiddle annotation/image-annotation Image Annotation
745
- * @css 'rm-image-annotation'
746
- */
747
- interface ImageAnnotationOptions extends AnnotationOptions {
748
- /** @dummy */
749
- type?: typeof ImageAnnotationType;
750
- /**
751
- * true로 설정되고 {@link url}이 설정된 경우에만 표시된다.
752
- *
753
- * @default true
754
- */
755
- visible?: boolean;
756
- /**
757
- * 이미지 경로.
758
- *
759
- */
760
- imageUrl?: string;
761
- }
762
- declare const ShapeAnnotationType = "shape";
763
618
  /**
764
- * Shape Annotation 모델.
765
- * {@link https://realmap.co.kr/docs/api/options/AnnotationOptions#type type}은 'shape'이다.<br/>
766
- * {@link shape} 속성에 표시할 도형 모양을 지정하거나,
767
- * {@link path}에 SVG path를 직접 지정할 수 있다.
768
- *
769
- * // TODO #fiddle annotation/shape-annotation Shape Annotation
770
- * @css 'rm-shape-annotation'
619
+ * 내보내기 종류
771
620
  */
772
- interface ShapeAnnotationOptions extends AnnotationOptions {
773
- /** @dummy */
774
- type?: typeof ShapeAnnotationType;
775
- /**
776
- * @default 64
777
- */
778
- width?: number;
779
- /**
780
- * @default 64
781
- */
782
- height?: number;
783
- /**
784
- * Shape 종류.
785
- *
786
- * circle: 원
787
- * diamond: 다아이몬드
788
- * square: 정사각형
789
- * triangle: 삼각형
790
- * star: 별 모양
791
- * itriangle:
792
- * rectangle: 사각형
793
- *
794
- * @default 'square'
795
- */
796
- shape?: 'circle' | 'diamond' | 'square' | 'triangle' | 'star' | 'itriangle' | 'rectangle';
797
- /**
798
- * Shape path.
799
- * 이 속성이 지정되면 {@link shape}는 무시된다.
800
- */
801
- path?: string;
802
- series?: string;
803
- xRange?: number[];
804
- yRange?: number[];
805
- }
806
- declare const TextAnnotationType = "text";
621
+ type ExportType = typeof _ExportType[keyof typeof _ExportType];
807
622
  /**
808
- * 텍스트 어노테이션.<br/>
809
- * {@link https://realmap.co.kr/docs/api/options/AnnotationOptions#type type}은 'text'이다.<br/>
810
- *
811
- * // TODO #fiddle annotation/text-annotation Text Annotation
812
- * @css 'rm-text-annotation'
623
+ * 내보내기 옵션.
813
624
  */
814
- interface TextAnnotationOptions extends AnnotationOptions {
815
- /** @dummy */
816
- type?: typeof TextAnnotationType;
817
- /**
818
- * true로 설정되고 {@link text}가 설정된 경우에만 표시된다.
819
- *
820
- * @default true
821
- */
822
- visible?: boolean;
823
- /**
824
- * 표시할 텍스트.
825
- *
826
- * @default 'Text'
827
- */
828
- text?: string;
829
- /**
830
- * {@link text}에 동적으로 전달되는 값이 숫자일 때 사용되는 표시 형식.
831
- *
832
- */
833
- numberFormat?: string;
834
- /**
835
- * {@link text}에 동적으로 전달되는 값이 Date일 때 사용되는 표시 형식.
836
- *
837
- */
838
- timeFormat?: string;
839
- /**
840
- * 텍스트를 가로 또는 세로로 배치할지 여부와 블록이 진행되는 방향을 지정한다.
841
- *
842
- *
843
- */
844
- writingMode?: WritingMode;
625
+ interface ExportOptions {
845
626
  /**
846
- * 텍스트 문자 방향을 지정한다.
847
- * 세로 모드의 텍스트에만 적용된다.
848
- *
627
+ * 내보낸 맵차트에 사용할 확장자.\
628
+ * type을 지정하지 않을 경우 png로 내보내기 된다.\
849
629
  *
630
+ * // @TODO https://github.com/realgrid/realreport-chart/issues/549
850
631
  */
851
- textOrientation?: TextOrientation;
852
- }
853
- declare const HtmlAnnotationType = "html";
854
- /**
855
- * HTML 어노테이션.<br/>
856
- * {@link https://realmap.co.kr/docs/api/options/AnnotationOptions#type type}은 'html'이다.<br/>
857
- *
858
- * // TODO #fiddle annotation/html-annotation Html Annotation
859
- * @css 'rm-html-annotation'
860
- */
861
- interface HtmlAnnotationOptions extends AnnotationOptions {
862
- /** @dummy */
863
- type?: typeof HtmlAnnotationType;
864
- /**
865
- * true로 설정되고 {@link text}가 설정된 경우에만 표시된다.
866
- *
867
- * @default true
868
- */
869
- visible?: boolean;
870
- /**
871
- * 이 속성으로 지정한 html 내용을 표시한다.<br/>
872
- * '.'나 '#'으로 시작되는 html selector로 지정하면 해당하는 dom의 {@link https://developer.mozilla.org/ko/docs/Web/API/Element/innerHTML innerHTML}을 가져와 표시한다.<br/>
873
- * 예를 들어 id가 'abc'인 dom인 경우 '#abc'로 지정한다.
874
- * 즉, document.{@link https://developer.mozilla.org/ko/docs/Web/API/Document/querySelector querySelector}(htmlFrom)로 리턴되는 dom의 내용을 표시한다.<br/>
875
- * 생성되는 dom의 스타일은 {@link htmlStyle}로 지정한다.
876
- */
877
- html?: string;
878
- /**
879
- * 이 속성으로 지정한 selector에 해당하는 dom의 {@link https://developer.mozilla.org/ko/docs/Web/API/Element/innerHTML innerHTML}을 가져와 표시한다.<br/>
880
- * 예를 들어 id가 'abc'인 dom인 경우 '#abc'로 지정한다.
881
- * 즉, document.{@link https://developer.mozilla.org/ko/docs/Web/API/Document/querySelector querySelector}(htmlFrom)로 리턴되는 dom의 내용을 표시한다.<br/>
882
- * 이 속성이 {@link html}보다 우선한다. 다만, 존재하지 않은 dom을 지정한 경우 {@link html}에 지정한 내용을 대신 표시한다.
883
- * 생성되는 dom의 스타일은 {@link htmlStyle}로 지정한다.
884
- */
885
- htmlFrom?: string;
886
- /**
887
- * {@link html}로 생성되는 최상위 dom에 적용되는 스타일셋.<br/>
888
- */
889
- htmlStyle?: CSSStyleDeclaration;
890
- /**
891
- * @append
892
- * 너비를 반드시 지정해야 한다.<br/>
893
- * 지정하지 않으면 100 픽셀 너비로 표시한다.
894
- * {@link height 높이}를 지정하지 않으면 생성된 dom의 높이에 맞춰진다.
895
- *
896
- * @default 100
897
- */
898
- width?: PercentSize;
632
+ type?: ExportType;
899
633
  /**
900
- * {@link html}로 지정된 html 텍스트에 포함된 param 값을 지정하는 객체나 콜백. #311<br/>
634
+ * 내보낸 맵차트에 사용할 확장자 없는 파일명.
635
+ * fileName을 지정하지 않을 경우 realmap.type으로 다운로드 된다.
636
+ *
901
637
  */
902
- params?: {
903
- [key: string]: any;
904
- } | ((param: string) => any);
638
+ fileName?: string;
905
639
  }
906
- declare const ChartAnnotationType = "chart";
907
640
  /**
908
- * Chart 어노테이션.<br/>
909
- * {@link https://realmap.co.kr/docs/api/options/AnnotationOptions#type type}은 'chart'이다.<br/>
910
- *
911
- * @css 'rm-chart-annotation'
641
+ * 외부 모듈로 구현되는 맵차트 내보내기 기능 명세.
912
642
  */
913
- interface ChartAnnotationOptions extends AnnotationOptions {
914
- /** @dummy */
915
- type?: typeof ChartAnnotationType;
916
- config?: any;
643
+ interface ChartExporter {
644
+ exportToImage: (dom: HTMLElement, options: ExportOptions) => void;
645
+ exportToPrint: (dom: HTMLElement, options: ExportOptions) => void;
646
+ isContextMenuVisible: () => boolean;
647
+ toggleContextMenu: () => void;
648
+ contains: (dom: Element) => boolean;
649
+ hideContextMenu: () => void;
917
650
  }
918
- /** @dummy */
919
- type AnnotationOptionsType = ImageAnnotationOptions | ShapeAnnotationOptions | TextAnnotationOptions | HtmlAnnotationOptions | ChartAnnotationOptions;
920
651
 
921
652
  /**
922
653
  * @enum
@@ -1631,37 +1362,10 @@ interface BodyOptions extends ChartItemOptions {
1631
1362
  * @expandable
1632
1363
  */
1633
1364
  annotations?: AnnotationOptionsType | AnnotationOptionsType[];
1634
- /**
1635
- * 차트에 표시할 내용이 존재하지 않을 때 표시되는 메시지 view.<br/>
1636
- */
1637
- emptyView?: EmptyViewOptions | boolean;
1638
1365
  }
1639
1366
  interface BackgroundImageOptions extends ChartItemOptions {
1640
1367
  url?: string;
1641
1368
  }
1642
- /**
1643
- * 데이터가 없을 때 표시되는 뷰에 대한 옵션<br/>
1644
- */
1645
- interface EmptyViewOptions extends ChartTextOptions {
1646
- /**
1647
- * @append
1648
- *
1649
- * false로 지정하면 표시돼야할 상황에서도 표시되지 않는다.<br/>
1650
- *
1651
- * @default undefined
1652
- */
1653
- visible?: boolean;
1654
- /**
1655
- * @append
1656
- *
1657
- * 표시할 텍스트.<br/>
1658
- * 지정하지 않으면 '표시할 내용이 없습니다.'가 표시된다.
1659
- * 또, split pane인 경우 지정하지 않으면 먼저 기본 body에 설정된 값으로 표시된다.
1660
- *
1661
- * @default undefined
1662
- */
1663
- text?: string;
1664
- }
1665
1369
 
1666
1370
  interface IPoint$1 {
1667
1371
  x: number;
@@ -1828,9 +1532,9 @@ declare class RmTool<T extends RmControl = RmControl> {
1828
1532
  protected _clearTouchEffects(): void;
1829
1533
  private $_getDistance;
1830
1534
  }
1831
- declare abstract class DragRequest extends RmObject {
1535
+ declare abstract class DragRequest extends RObject {
1832
1536
  }
1833
- declare abstract class DragTracker<T extends RmControl = RmControl> extends RmObject {
1537
+ declare abstract class DragTracker<T extends RmControl = RmControl> extends RObject {
1834
1538
  private _control;
1835
1539
  private _dragging;
1836
1540
  constructor(control: T);
@@ -1864,7 +1568,7 @@ declare abstract class DragTracker<T extends RmControl = RmControl> extends RmOb
1864
1568
  *
1865
1569
  * Control base.
1866
1570
  */
1867
- declare abstract class RmControl extends RmObject {
1571
+ declare abstract class RmControl extends RObject {
1868
1572
  static readonly CLASS_NAME = "rm-control";
1869
1573
  static readonly SHADOW_FILTER = "rm-shadow-filter";
1870
1574
  private _activeTool;
@@ -1902,7 +1606,7 @@ declare abstract class RmControl extends RmObject {
1902
1606
  _padding: ISides;
1903
1607
  _scrolling: boolean;
1904
1608
  constructor(doc: Document, container: string | HTMLDivElement, className?: string);
1905
- protected _doDestory(): void;
1609
+ protected _doDispose(): void;
1906
1610
  isInited(): boolean;
1907
1611
  isTesting(): boolean;
1908
1612
  doc(): Document;
@@ -1999,7 +1703,7 @@ declare abstract class RmControl extends RmObject {
1999
1703
  * RcContainer 구성 요소.
2000
1704
  * SVGElement들로 구현된다.
2001
1705
  */
2002
- declare class RmElement extends RmObject {
1706
+ declare class RmElement extends RObject {
2003
1707
  static TESTING: boolean;
2004
1708
  static DEBUGGING: boolean;
2005
1709
  static ASSET_KEY: string;
@@ -2034,7 +1738,7 @@ declare class RmElement extends RmObject {
2034
1738
  private _saveClass;
2035
1739
  constructor(doc: Document, styleName: string, tag?: string);
2036
1740
  protected _doInitStyles(): void;
2037
- protected _doDestory(): void;
1741
+ protected _doDispose(): void;
2038
1742
  get doc(): Document;
2039
1743
  get dom(): SVGElement;
2040
1744
  get parent(): RmElement;
@@ -2471,7 +2175,7 @@ interface SeriesOptions extends ChartItemOptions {
2471
2175
  * "aaa.bbb" 형식으로 지정한다. 배열 항목은 숫자로 지정한다. "aaa.2.bbb".
2472
2176
  * 지정하지 않으면 최상위 JSON 객체를 그대로 사용한다.
2473
2177
  */
2474
- dataPath?: string;
2178
+ dataPath?: string | number;
2475
2179
  /**
2476
2180
  * {@link data}가 array로 제공되어 datapoint로 생성될 때,
2477
2181
  * array의 각 항목에 해당하는 이름으로 datapoint source의 값을 사용한다.<br/>
@@ -2642,7 +2346,7 @@ interface SparkSeriesOptions extends CoordBaseSeriesOptions {
2642
2346
  * 데이터포인트 값들을 가져올 필드 목록.<br/>
2643
2347
  * 이 속성이 지정되면 {@link valueField}는 무시된다.
2644
2348
  */
2645
- valueFields?: string[];
2349
+ valueFields?: (string | number)[];
2646
2350
  /**
2647
2351
  * true로 지정되고 {@link categories}가 지정되면
2648
2352
  * 맵차트 legend에 category별로 항목이 표시된다.
@@ -5204,134 +4908,324 @@ interface PositionableItemOptions extends ChartItemOptions {
5204
4908
  */
5205
4909
  interface DataPointArgs extends CommonCallbackArgs {
5206
4910
  /**
5207
- * 시리즈 객체.
4911
+ * 시리즈 객체.
4912
+ */
4913
+ series: object;
4914
+ count: number;
4915
+ id: string;
4916
+ index: number;
4917
+ name?: string;
4918
+ color?: string;
4919
+ className?: string;
4920
+ value?: any;
4921
+ labelIndex?: number;
4922
+ coord?: MapCoord;
4923
+ source: any;
4924
+ }
4925
+ interface DataPointListkArgs extends CommonCallbackArgs {
4926
+ /**
4927
+ * 데이터포인트 개수.
4928
+ */
4929
+ count: number;
4930
+ /**
4931
+ * 해당 위치의 데이터포인트 정보를 리턴한다.<br/
4932
+ * 리턴되는 객체는 재사용되므로 보관할 수 없다.
4933
+ */
4934
+ get(index: number): DataPointArgs;
4935
+ }
4936
+ interface AnimationOptions {
4937
+ duration: number;
4938
+ end: () => void;
4939
+ }
4940
+ interface ZoomToAreaOptions {
4941
+ /**
4942
+ * 최소 확대 비율.
4943
+ */
4944
+ minimumZoom?: number;
4945
+ /**
4946
+ * 최대 확대 비율.
4947
+ */
4948
+ maximumZoom?: number;
4949
+ }
4950
+ interface OnSelectionChangedArgs extends CommonCallbackArgs {
4951
+ }
4952
+
4953
+ /**
4954
+ * 어노테이션 배치 기준.<br/>
4955
+ * [주의]body에 설정된 annoation에는 적용되지 않는다.
4956
+ * @enum
4957
+ */
4958
+ declare const _AnnotationScope: {
4959
+ /**
4960
+ * container에서 padding을 적용한 영역을 기준으로 표시한다.
4961
+ *
4962
+ *
4963
+ */
4964
+ readonly CHART: "chart";
4965
+ /**
4966
+ * container 전체 영역을 기준으로 표시한다.
4967
+ *
4968
+ *
4969
+ */
4970
+ readonly CONTAINER: "container";
4971
+ };
4972
+ /** @dummy */
4973
+ type AnnotationScope = typeof _AnnotationScope[keyof typeof _AnnotationScope];
4974
+ interface AnnotationAnimationOptions {
4975
+ type: string;
4976
+ duration?: number;
4977
+ }
4978
+ type AnnotationType = 'image' | 'shape' | 'text' | 'html' | 'chart';
4979
+ /**
4980
+ * Annotation 모델.<br/>
4981
+ *
4982
+ *
4983
+ */
4984
+ interface AnnotationOptions extends PositionableItemOptions {
4985
+ type?: AnnotationType;
4986
+ /**
4987
+ * true로 지정하면 시리즈들 위에 표시된다.<br/>
4988
+ * 명시적으로 false로 지정해야 시리즈들 아래 표시된다.
4989
+ *
4990
+ * @default false
4991
+ */
4992
+ front?: boolean;
4993
+ /**
4994
+ * 어노테이션 배치 기준이 되는 맵차트 구성 요소.<br/>
4995
+ * 현재, 같은 영역(body 혹은 chart)에 포함된 다른 어노테이션의 {@link name 이름}을 지정할 수 있다.
4996
+ *
4997
+ */
4998
+ anchor?: string;
4999
+ /**
5000
+ * 수평 배치.<br/>
5001
+ *
5002
+ * @default 'left' anchor가 지정되면 'center', 아니면 'left'
5003
+ */
5004
+ align?: Align;
5005
+ /**
5006
+ * {@link align}과 {@link verticalAlign}으로 지정된 위치에서 실제 표시될 위치의 수평 간격.<br/>
5007
+ * 값이 양수일 때, {@link anchor}가 지정된 경우 anchor 아이템의 밖으로 멀어지고, 아니면 영역 경계 안쪽으로 멀어진다.
5008
+ * 또, {@link anchor}가 지정된 경우 **'0.5w'** 등으로 이 어노테이션의 너비를 기준으로 한 크기로 지정할 수 있다.
5009
+ *
5010
+ * @default 0
5011
+ */
5012
+ offsetX?: number | string;
5013
+ /**
5014
+ * {@link align}과 {@link verticalAlign}으로 지정된 위치에서 실제 표시될 위치의 수직 간격.<br/>
5015
+ * 값이 양수일 때, {@link anchor}가 지정된 경우 anchor 아이템의 밖으로 멀어지고, 아니면 영역 경계 안쪽으로 멀어진다.
5016
+ * 또, {@link anchor}가 지정된 경우 **'0.5h'**처럼 이 어노테이션의 너비를 기준으로 한 크기로 지정할 수 있다.
5017
+ *
5018
+ * @default 0
5019
+ */
5020
+ offsetY?: number | string;
5021
+ /**
5022
+ * 회전 각도.<br/>
5023
+ * 0 ~ 360 사이의 값으로 지정한다.
5024
+ *
5025
+ */
5026
+ rotation?: number;
5027
+ /**
5028
+ * 어노테이션 배치 기준.<br/>
5029
+ * [주의]body에 설정된 annoation에는 적용되지 않는다.
5030
+ *
5031
+ * @default 'chart'
5032
+ */
5033
+ scope?: AnnotationScope;
5034
+ /**
5035
+ * true로 지정하면 상위 영역을 벗어난 부분도 표시되게 한다.<br/>
5036
+ * body에 포함된 경우 body 영역,
5037
+ * chart에 포함되고 scope이 'chart'일 때 chart 영역.
5038
+ *
5039
+ */
5040
+ noClip?: boolean;
5041
+ }
5042
+ declare const ImageAnnotationType = "image";
5043
+ /**
5044
+ * 이미지 어노테이션.<br/>
5045
+ * {@link https://realmap.co.kr/docs/api/options/AnnotationOptions#type type}은 'image'이다.<br/>
5046
+ *
5047
+ * // TODO #fiddle annotation/image-annotation Image Annotation
5048
+ * @css 'rm-image-annotation'
5049
+ */
5050
+ interface ImageAnnotationOptions extends AnnotationOptions {
5051
+ /** @dummy */
5052
+ type?: typeof ImageAnnotationType;
5053
+ /**
5054
+ * true로 설정되고 {@link url}이 설정된 경우에만 표시된다.
5055
+ *
5056
+ * @default true
5057
+ */
5058
+ visible?: boolean;
5059
+ /**
5060
+ * 이미지 경로.
5061
+ *
5062
+ */
5063
+ imageUrl?: string;
5064
+ }
5065
+ declare const ShapeAnnotationType = "shape";
5066
+ /**
5067
+ * Shape Annotation 모델.
5068
+ * {@link https://realmap.co.kr/docs/api/options/AnnotationOptions#type type}은 'shape'이다.<br/>
5069
+ * {@link shape} 속성에 표시할 도형 모양을 지정하거나,
5070
+ * {@link path}에 SVG path를 직접 지정할 수 있다.
5071
+ *
5072
+ * // TODO #fiddle annotation/shape-annotation Shape Annotation
5073
+ * @css 'rm-shape-annotation'
5074
+ */
5075
+ interface ShapeAnnotationOptions extends AnnotationOptions {
5076
+ /** @dummy */
5077
+ type?: typeof ShapeAnnotationType;
5078
+ /**
5079
+ * @default 64
5080
+ */
5081
+ width?: number;
5082
+ /**
5083
+ * @default 64
5084
+ */
5085
+ height?: number;
5086
+ /**
5087
+ * Shape 종류.
5088
+ *
5089
+ * circle: 원
5090
+ * diamond: 다아이몬드
5091
+ * square: 정사각형
5092
+ * triangle: 삼각형
5093
+ * star: 별 모양
5094
+ * itriangle:
5095
+ * rectangle: 사각형
5096
+ *
5097
+ * @default 'square'
5098
+ */
5099
+ shape?: 'circle' | 'diamond' | 'square' | 'triangle' | 'star' | 'itriangle' | 'rectangle';
5100
+ /**
5101
+ * Shape path.
5102
+ * 이 속성이 지정되면 {@link shape}는 무시된다.
5103
+ */
5104
+ path?: string;
5105
+ series?: string;
5106
+ xRange?: number[];
5107
+ yRange?: number[];
5108
+ }
5109
+ declare const TextAnnotationType = "text";
5110
+ /**
5111
+ * 텍스트 어노테이션.<br/>
5112
+ * {@link https://realmap.co.kr/docs/api/options/AnnotationOptions#type type}은 'text'이다.<br/>
5113
+ *
5114
+ * // TODO #fiddle annotation/text-annotation Text Annotation
5115
+ * @css 'rm-text-annotation'
5116
+ */
5117
+ interface TextAnnotationOptions extends AnnotationOptions {
5118
+ /** @dummy */
5119
+ type?: typeof TextAnnotationType;
5120
+ /**
5121
+ * true로 설정되고 {@link text}가 설정된 경우에만 표시된다.
5122
+ *
5123
+ * @default true
5124
+ */
5125
+ visible?: boolean;
5126
+ /**
5127
+ * 표시할 텍스트.
5128
+ *
5129
+ * @default 'Text'
5208
5130
  */
5209
- series: object;
5210
- count: number;
5211
- id: string;
5212
- index: number;
5213
- name?: string;
5214
- color?: string;
5215
- className?: string;
5216
- value?: any;
5217
- labelIndex?: number;
5218
- coord?: MapCoord;
5219
- source: any;
5220
- }
5221
- interface DataPointListkArgs extends CommonCallbackArgs {
5131
+ text?: string;
5222
5132
  /**
5223
- * 데이터포인트 개수.
5133
+ * {@link text}에 동적으로 전달되는 값이 숫자일 때 사용되는 표시 형식.
5134
+ *
5224
5135
  */
5225
- count: number;
5136
+ numberFormat?: string;
5226
5137
  /**
5227
- * 해당 위치의 데이터포인트 정보를 리턴한다.<br/
5228
- * 리턴되는 객체는 재사용되므로 보관할 수 없다.
5138
+ * {@link text}에 동적으로 전달되는 값이 Date일 때 사용되는 표시 형식.
5139
+ *
5229
5140
  */
5230
- get(index: number): DataPointArgs;
5231
- }
5232
- interface AnimationOptions {
5233
- duration: number;
5234
- end: () => void;
5235
- }
5236
- interface ZoomToAreaOptions {
5141
+ timeFormat?: string;
5237
5142
  /**
5238
- * 최소 확대 비율.
5143
+ * 텍스트를 가로 또는 세로로 배치할지 여부와 블록이 진행되는 방향을 지정한다.
5144
+ *
5145
+ *
5239
5146
  */
5240
- minimumZoom?: number;
5147
+ writingMode?: WritingMode;
5241
5148
  /**
5242
- * 최대 확대 비율.
5149
+ * 텍스트 문자 방향을 지정한다.
5150
+ * 세로 모드의 텍스트에만 적용된다.
5151
+ *
5152
+ *
5243
5153
  */
5244
- maximumZoom?: number;
5245
- }
5246
- interface OnSelectionChangedArgs extends CommonCallbackArgs {
5154
+ textOrientation?: TextOrientation;
5247
5155
  }
5248
-
5156
+ declare const HtmlAnnotationType = "html";
5249
5157
  /**
5250
- * 맵차트 내보내기 설정 모델
5158
+ * HTML 어노테이션.<br/>
5159
+ * {@link https://realmap.co.kr/docs/api/options/AnnotationOptions#type type}은 'html'이다.<br/>
5160
+ *
5161
+ * // TODO #fiddle annotation/html-annotation Html Annotation
5162
+ * @css 'rm-html-annotation'
5251
5163
  */
5252
- interface ExporterOptions extends ChartItemOptions {
5253
- /**
5254
- * 내보내기 버튼 표시 여부 지정
5255
- */
5256
- visible?: boolean;
5164
+ interface HtmlAnnotationOptions extends AnnotationOptions {
5165
+ /** @dummy */
5166
+ type?: typeof HtmlAnnotationType;
5257
5167
  /**
5258
- * 내보내기 버튼을 사용해 내보낸 맵차트에 사용할 확장자 없는 파일 이름.\
5259
- * 'export' 함수를 호출할 때 fileName을 지정하지 않을 경우 이 속성이 적용된다.
5260
- * fileName을 지정하지 않을 경우 realmap.type으로 다운로드 된다.
5168
+ * true로 설정되고 {@link text}가 설정된 경우에만 표시된다.
5261
5169
  *
5170
+ * @default true
5262
5171
  */
5263
- fileName?: string;
5172
+ visible?: boolean;
5264
5173
  /**
5265
- * 내보내기를 라이브러리를 사용하여 진행할지 여부 지정
5174
+ * 속성으로 지정한 html 내용을 표시한다.<br/>
5175
+ * '.'나 '#'으로 시작되는 html selector로 지정하면 해당하는 dom의 {@link https://developer.mozilla.org/ko/docs/Web/API/Element/innerHTML innerHTML}을 가져와 표시한다.<br/>
5176
+ * 예를 들어 id가 'abc'인 dom인 경우 '#abc'로 지정한다.
5177
+ * 즉, document.{@link https://developer.mozilla.org/ko/docs/Web/API/Document/querySelector querySelector}(htmlFrom)로 리턴되는 dom의 내용을 표시한다.<br/>
5178
+ * 생성되는 dom의 스타일은 {@link htmlStyle}로 지정한다.
5266
5179
  */
5267
- useLibrary?: boolean;
5180
+ html?: string;
5268
5181
  /**
5269
- * 내보내기 메뉴에 포함할 export types
5182
+ * 속성으로 지정한 selector에 해당하는 dom의 {@link https://developer.mozilla.org/ko/docs/Web/API/Element/innerHTML innerHTML}을 가져와 표시한다.<br/>
5183
+ * 예를 들어 id가 'abc'인 dom인 경우 '#abc'로 지정한다.
5184
+ * 즉, document.{@link https://developer.mozilla.org/ko/docs/Web/API/Document/querySelector querySelector}(htmlFrom)로 리턴되는 dom의 내용을 표시한다.<br/>
5185
+ * 이 속성이 {@link html}보다 우선한다. 다만, 존재하지 않은 dom을 지정한 경우 {@link html}에 지정한 내용을 대신 표시한다.
5186
+ * 생성되는 dom의 스타일은 {@link htmlStyle}로 지정한다.
5270
5187
  */
5271
- menus?: ExportType[];
5188
+ htmlFrom?: string;
5272
5189
  /**
5273
- * 너비, 지정한 너비에 맞춰 높이가 결정된다.
5190
+ * {@link html}로 생성되는 최상위 dom에 적용되는 스타일셋.<br/>
5274
5191
  */
5275
- width?: number;
5192
+ htmlStyle?: CSSStyleDeclaration;
5276
5193
  /**
5277
- * 이미지의 scale
5194
+ * @append
5195
+ * 너비를 반드시 지정해야 한다.<br/>
5196
+ * 지정하지 않으면 100 픽셀 너비로 표시한다.
5197
+ * {@link height 높이}를 지정하지 않으면 생성된 dom의 높이에 맞춰진다.
5198
+ *
5199
+ * @default 100
5278
5200
  */
5279
- scale?: number;
5201
+ width?: PercentSize;
5280
5202
  /**
5281
- * 내보내기 도중 에러가 발생했을 처리할 서버 URL. <br />
5282
- * 지정하지 않을경우 realmap 서버에서 처리한다.
5203
+ * {@link html}로 지정된 html 텍스트에 포함된 param 값을 지정하는 객체나 콜백. #311<br/>
5283
5204
  */
5284
- url?: string;
5205
+ params?: {
5206
+ [key: string]: any;
5207
+ } | ((param: string) => any);
5285
5208
  }
5286
-
5287
- /**
5288
- * @enum
5289
- */
5290
- declare const _ExportType: {
5291
- /** */
5292
- readonly PNG: "png";
5293
- /** */
5294
- readonly JPEG: "jpeg";
5295
- /** */
5296
- readonly SVG: "svg";
5297
- /** */
5298
- readonly PDF: "pdf";
5299
- /** */
5300
- readonly PRINT: "print";
5301
- };
5302
- /**
5303
- * 내보내기 종류
5304
- */
5305
- type ExportType = typeof _ExportType[keyof typeof _ExportType];
5209
+ declare const ChartAnnotationType = "chart";
5306
5210
  /**
5307
- * 내보내기 옵션.
5211
+ * Chart 어노테이션.<br/>
5212
+ * {@link https://realmap.co.kr/docs/api/options/AnnotationOptions#type type}은 'chart'이다.<br/>
5213
+ *
5214
+ * @css 'rm-chart-annotation'
5308
5215
  */
5309
- interface ExportOptions {
5310
- /**
5311
- * 내보낸 맵차트에 사용할 확장자.\
5312
- * type을 지정하지 않을 경우 png로 내보내기 된다.\
5313
- *
5314
- * // @TODO https://github.com/realgrid/realreport-chart/issues/549
5315
- */
5316
- type?: ExportType;
5216
+ interface ChartAnnotationOptions extends AnnotationOptions {
5217
+ /** @dummy */
5218
+ type?: typeof ChartAnnotationType;
5219
+ config?: any;
5317
5220
  /**
5318
- * 내보낸 맵차트에 사용할 확장자 없는 파일명.
5319
- * fileName을 지정하지 않을 경우 realmap.type으로 다운로드 된다.
5320
- *
5221
+ * false로 설정하면 차트 애니메이션이 실행되지 않는다.<br/>
5222
+ *
5223
+ * @default true
5321
5224
  */
5322
- fileName?: string;
5323
- }
5324
- /**
5325
- * 외부 모듈로 구현되는 맵차트 내보내기 기능 명세.
5326
- */
5327
- interface ChartExporter {
5328
- exportToImage: (dom: HTMLElement, options: ExportOptions, config: ExporterOptions) => void;
5329
- exportToPrint: (dom: HTMLElement, options: ExportOptions) => void;
5330
- isContextMenuVisible: () => boolean;
5331
- toggleContextMenu: () => void;
5332
- contains: (dom: Element) => boolean;
5333
- hideContextMenu: () => void;
5225
+ animatable?: boolean;
5334
5226
  }
5227
+ /** @dummy */
5228
+ type AnnotationOptionsType = ImageAnnotationOptions | ShapeAnnotationOptions | TextAnnotationOptions | HtmlAnnotationOptions | ChartAnnotationOptions;
5335
5229
 
5336
5230
  /** @private */
5337
5231
  declare class Color {
@@ -5790,7 +5684,7 @@ interface MapProjection {
5790
5684
  getScrolledLon(lon: number): number;
5791
5685
  inSecond(lon: number): boolean;
5792
5686
  }
5793
- declare class MapArea extends RmObject implements ISelectionSource {
5687
+ declare class MapArea extends RObject implements ISelectionSource {
5794
5688
  source?: AreaItem;
5795
5689
  inset?: MapInset;
5796
5690
  _insetChilds: number[];
@@ -5857,7 +5751,7 @@ declare class MapArea extends RmObject implements ISelectionSource {
5857
5751
  getCenter(): MapCoord;
5858
5752
  _clone(): MapArea;
5859
5753
  }
5860
- declare class MapBorder extends RmObject {
5754
+ declare class MapBorder extends RObject {
5861
5755
  source: BorderItem;
5862
5756
  private _path;
5863
5757
  constructor(source: BorderItem);
@@ -5877,7 +5771,7 @@ interface IMapOwner {
5877
5771
  *
5878
5772
  * [Note] 'Map'이 javascript 예약어 수준이므로 부득기 'MapModel'로 名한다.
5879
5773
  */
5880
- declare class MapModel extends RmObject {
5774
+ declare class MapModel extends RObject {
5881
5775
  owner: IChart & IMapOwner;
5882
5776
  source: MapSourceImpl | MapModel;
5883
5777
  private _second;
@@ -6049,9 +5943,9 @@ declare class DataPointCallout<OP extends DataPointCalloutOptions = DataPointCal
6049
5943
  get anchorPoint(): DataPointAnchorPoint<CalloutAnchorPointOptions>;
6050
5944
  }
6051
5945
  interface ISeries<T extends DataPoint = DataPoint> {
6052
- options: SeriesOptions;
6053
5946
  chart: IChart;
6054
5947
  color?: Color;
5948
+ getProp(key: string, def?: any): any;
6055
5949
  _idFielder: (src: any) => any;
6056
5950
  _nameFielder?: (src: any) => string;
6057
5951
  _valueFielder?: (src: any) => any;
@@ -6115,6 +6009,7 @@ declare abstract class Series<OP extends SeriesOptions = SeriesOptions> extends
6115
6009
  private _dataLoaded;
6116
6010
  private _needAnimate;
6117
6011
  ani: RmAnimation;
6012
+ getProp(key: string, def?: any): any;
6118
6013
  constructor(chart: IChart);
6119
6014
  protected _doInit(op: SeriesOptions): void;
6120
6015
  protected _createLabel(chart: IChart): DataPointLabel;
@@ -6288,7 +6183,7 @@ declare abstract class Series<OP extends SeriesOptions = SeriesOptions> extends
6288
6183
  protected _createFielders(op: SeriesOptions): void;
6289
6184
  protected _createLegendMarker(doc: Document, size: number): RmElement;
6290
6185
  protected _defaultLoadAnimation(): SeriesLoadAnimation;
6291
- _load(source: any): OP;
6186
+ protected _doLoad(op: OP, source: any): void;
6292
6187
  protected _doLoadData(src: any): any[];
6293
6188
  private $_loadPoints;
6294
6189
  protected _doLoadPoints(src: any): void;
@@ -6426,7 +6321,7 @@ interface ISelectionOwner {
6426
6321
  selectionItemRemoved(item: ISelectionSource[]): void;
6427
6322
  selectionCleared(): void;
6428
6323
  }
6429
- declare class MapSelection extends RmObject {
6324
+ declare class MapSelection extends RObject {
6430
6325
  private _owner;
6431
6326
  private _items;
6432
6327
  constructor(owner: ISelectionOwner);
@@ -6744,6 +6639,19 @@ declare class AssetCollection {
6744
6639
  private $_loadItem;
6745
6640
  }
6746
6641
 
6642
+ declare abstract class RmEventProvider<T> extends RObject {
6643
+ private _listeners;
6644
+ _addListener(listener: T): void;
6645
+ _removeListener(listener: T): void;
6646
+ /**
6647
+ * event로 지정한 함수가 정의된 모든 리스너에 대해 실행한다.
6648
+ * 리스너 scope으로 실행하고, 첫번째 매개변수로 이 객체가 전달된다.
6649
+ * 다만, 리스너들 중 하나라도 undefined가 아닌 값을 리턴하면,
6650
+ * 그 값을 리턴하면서 멈춘다.
6651
+ */
6652
+ protected _fireEvent(event: string, ...args: any[]): any;
6653
+ }
6654
+
6747
6655
  /**
6748
6656
  * 맵차트 제작 주체 등을 표시하는 영역에 대한 모델.<br/>
6749
6657
  * 기본적으로 맵차트 오른쪽 아래에 표시되지만, {@link align}, {@link verticalAlign} 등으로 위치를 지정할 수 있다.
@@ -7104,6 +7012,44 @@ declare class MapScale extends ScaleBase<MapScaleOptions> {
7104
7012
  private $_calcScale;
7105
7013
  }
7106
7014
 
7015
+ /**
7016
+ * 맵차트 내보내기 설정 모델
7017
+ */
7018
+ interface ExporterOptions extends ChartItemOptions {
7019
+ /**
7020
+ * 내보내기 버튼 표시 여부 지정
7021
+ */
7022
+ visible?: boolean;
7023
+ /**
7024
+ * 내보내기 버튼을 사용해 내보낸 맵차트에 사용할 확장자 없는 파일 이름.\
7025
+ * 'export' 함수를 호출할 때 fileName을 지정하지 않을 경우 이 속성이 적용된다.
7026
+ * fileName을 지정하지 않을 경우 realmap.type으로 다운로드 된다.
7027
+ *
7028
+ */
7029
+ fileName?: string;
7030
+ /**
7031
+ * 내보내기를 라이브러리를 사용하여 진행할지 여부 지정
7032
+ */
7033
+ useLibrary?: boolean;
7034
+ /**
7035
+ * 내보내기 메뉴에 포함할 export types
7036
+ */
7037
+ menus?: ExportType[];
7038
+ /**
7039
+ * 너비, 지정한 너비에 맞춰 높이가 결정된다.
7040
+ */
7041
+ width?: number;
7042
+ /**
7043
+ * 이미지의 scale
7044
+ */
7045
+ scale?: number;
7046
+ /**
7047
+ * 내보내기 도중 에러가 발생했을 때 처리할 서버 URL. <br />
7048
+ * 지정하지 않을경우 realmap 서버에서 처리한다.
7049
+ */
7050
+ url?: string;
7051
+ }
7052
+
7107
7053
  interface MapRegionTargetOptions extends ChartItemOptions {
7108
7054
  }
7109
7055
  interface MapRegionConnectorOptions extends ChartItemOptions {
@@ -7451,7 +7397,7 @@ declare class Exporter extends ChartItem<ExporterOptions> {
7451
7397
  toggleContextMenu(): void;
7452
7398
  contains(dom: Element): boolean;
7453
7399
  hideContextMenu(): void;
7454
- exportToImage(dom: HTMLElement, options: ExportOptions, exporting: ExporterOptions): void;
7400
+ exportToImage(dom: HTMLElement, options: ExportOptions): void;
7455
7401
  }
7456
7402
 
7457
7403
  /**
@@ -7469,7 +7415,6 @@ declare class MapAxisGrid extends ChartItem<MapAxisGridOptions> {
7469
7415
  private _line;
7470
7416
  private _lonLine;
7471
7417
  private _latLine;
7472
- private _fitTo;
7473
7418
  protected _doInit(op: MapAxisGridOptions): void;
7474
7419
  get line(): MapAxisGridLine;
7475
7420
  get lonLine(): MapAxisGridLine;
@@ -7622,7 +7567,7 @@ declare class MapAxis extends ChartItem<MapAxisOptions> {
7622
7567
  declare abstract class BodyPanel<OP extends BodyPanelOptions = BodyPanelOptions> extends ChartItem<OP> {
7623
7568
  static readonly ITEM_GAP = 4;
7624
7569
  static defaults: BodyPanelOptions;
7625
- getItemGap(): number;
7570
+ getItemGap(): 4 | OP["itemGap"];
7626
7571
  }
7627
7572
  declare class ZoomPanel extends BodyPanel<ZoomPanelOptions> {
7628
7573
  static readonly BUTTON_SIZE = 24;
@@ -7650,9 +7595,7 @@ declare class Title<OP extends TitleOptions = TitleOptions> extends ChartItem<OP
7650
7595
  }
7651
7596
  /**
7652
7597
  * 맵차트 부제목(subtitle) 설정 모델.<br/>
7653
- * 기본적으로 주 제목(title)의 설정을 따르고, 몇가지 속성들이 추가된다.<br/>
7654
- * {@link https://realmap.co.kr/guide/subtitle 부제목 개요} 페이지를 참조한다.
7655
- *
7598
+ * 기본적으로 주 제목(title)의 설정을 따르고, 몇가지 속성들이 추가된다.
7656
7599
  */
7657
7600
  declare class Subtitle extends Title<SubtitleOptions> {
7658
7601
  static defaults: SubtitleOptions;
@@ -7831,13 +7774,6 @@ declare class MapRegionCollection extends PositionalItemCollection<MapRegion> {
7831
7774
  protected _loadItem(chart: IChart, src: any, index: number, inBody: boolean): MapRegion;
7832
7775
  }
7833
7776
 
7834
- declare class EmptyViewModel extends ChartText<EmptyViewOptions> {
7835
- static readonly DEF_TEXT = "\uD45C\uC2DC\uD560 \uB0B4\uC6A9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.";
7836
- static defaults: EmptyViewOptions;
7837
- protected _doPrepareRender(chart: IChart): void;
7838
- protected _getMessage(): string;
7839
- }
7840
-
7841
7777
  declare class MapBackground extends ChartItem<MapBackgroundOptions> {
7842
7778
  static defaults: MapBackgroundOptions;
7843
7779
  isVisible(): boolean;
@@ -7857,7 +7793,6 @@ declare class Body extends ChartItem<BodyOptions> implements IAnnotationOwner {
7857
7793
  static defaults: BodyOptions;
7858
7794
  private _projection;
7859
7795
  private _mapBackground;
7860
- private _emptyView;
7861
7796
  private _anns;
7862
7797
  _annotations: AnnotationCollection;
7863
7798
  _prj: MapProjection;
@@ -7928,7 +7863,6 @@ declare class Body extends ChartItem<BodyOptions> implements IAnnotationOwner {
7928
7863
  get map(): MapModel;
7929
7864
  get calcedMapWidth(): number;
7930
7865
  isDrilldowned(): boolean;
7931
- get emptyView(): EmptyViewModel;
7932
7866
  private $_calcPan;
7933
7867
  prepare(map: MapModel): void;
7934
7868
  prepareLayout(width: number, height: number): {
@@ -8076,6 +8010,7 @@ declare class ChartObject extends RmEventProvider<IMapChartEvents> implements IC
8076
8010
  constructor(config?: ChartConfiguration, wrapper?: any);
8077
8011
  private _initOptions;
8078
8012
  get wrapper(): any;
8013
+ get exporter(): any;
8079
8014
  get options(): ChartConfiguration;
8080
8015
  get global(): ChartGlobal;
8081
8016
  get isGlobe(): boolean;
@@ -8105,7 +8040,7 @@ declare class ChartObject extends RmEventProvider<IMapChartEvents> implements IC
8105
8040
  selectionItemAdded(item: ISelectionSource[]): void;
8106
8041
  selectionItemRemoved(item: ISelectionSource[]): void;
8107
8042
  selectionCleared(): void;
8108
- get type(): "map" | "point" | "line" | "figure" | "image" | "bar" | "pie" | "waffle" | "bubble" | "route" | "feature" | "pin" | "vector" | "heatmap" | "panel" | "gauge" | "clock";
8043
+ get type(): "map" | "figure" | "point" | "line" | "image" | "bar" | "pie" | "waffle" | "bubble" | "route" | "feature" | "pin" | "vector" | "heatmap" | "panel" | "gauge" | "clock";
8109
8044
  get legend(): Legend;
8110
8045
  get credits(): Credits;
8111
8046
  /**
@@ -8213,6 +8148,7 @@ interface IChart {
8213
8148
  axis: MapAxis;
8214
8149
  body: Body;
8215
8150
  _tooltip: Tooltip;
8151
+ _exporter: Exporter;
8216
8152
  _assets: AssetCollection;
8217
8153
  _seriesIndex: number;
8218
8154
  selection: MapSelection;
@@ -8267,17 +8203,12 @@ declare const extend: <O extends ChartItemOptions>(base: any, source: O) => O;
8267
8203
  /**
8268
8204
  * 맵차트 구성 요소 모델들의 기반 클래스.<br/>
8269
8205
  */
8270
- declare class ChartItem<OP extends ChartItemOptions = ChartItemOptions> extends RmObject {
8206
+ declare class ChartItem<OP extends ChartItemOptions = ChartItemOptions> extends ROptionable<OP> {
8271
8207
  static readonly REFRESHED = "refreshed";
8272
8208
  static defaults: ChartItemOptions;
8273
8209
  readonly chart: IChart;
8274
- protected _op: OP;
8275
8210
  _style: SVGStyleOrClass;
8276
- private _children;
8277
8211
  constructor(chart: IChart);
8278
- _init(): OP;
8279
- protected _doInit(op: OP): void;
8280
- get options(): OP;
8281
8212
  /**
8282
8213
  * 표시 여부.<br/>
8283
8214
  * options.visible 값을 그대로 return하는 것이 아니라,
@@ -8289,55 +8220,9 @@ declare class ChartItem<OP extends ChartItemOptions = ChartItemOptions> extends
8289
8220
  get visible(): boolean;
8290
8221
  set visible(value: boolean);
8291
8222
  protected _isVisible(): boolean;
8292
- _load(source: any): OP;
8293
- loadOptions(source: any): OP;
8294
- saveOptions(): any;
8295
- /**
8296
- * 모델 설정 값들을 변경한다.<br/>
8297
- *
8298
- * @param source 설정 옵션들이 포함된 json 객체
8299
- * @param render true로 지정하면 옵션 변경 시 맵차트를 다시 그린다. 기본갑 true
8300
- * @returns 모델 객체 자신
8301
- */
8302
- updateOptions(source?: OP, render?: boolean): this;
8303
- /**
8304
- * 하나의 속성 값을 설정한다.<br/>
8305
- * 여러 속성들을 한꺼번에 변경할 때는 {@link updateOptions}를 사용한다.
8306
- * 기본적으로 이전 값과 다른 경우에만 적용된다.
8307
- * 특히, 속성값이 객체인 경우 객체 속성만 바뀐 경우 적용되지 않는다.
8308
- * 바꾸고 싶다면 force 매개변수를 true로 지정해서 호출한다.<br/>
8309
- * 또, prop 매개변수가 하위 모델 이름인 경우 하위 모델의 {@link updateOptions}를 호출한 것과 동일하다.
8310
- *
8311
- * @param prop 설정 항목 이름
8312
- * @param value 설정 값
8313
- * @param render true로 지정하면 옵션 변경 시 맵차트를 다시 그린다. 기본값: true
8314
- * @param force 지정한 값이 이전 값과 동일한 경우에도 적용한다. 기본값: false
8315
- * @returns 모델 객체 자신
8316
- */
8317
- updateOption(prop: keyof OP, value: any, render?: boolean, force?: boolean): this;
8318
- /**
8319
- * boolean 타입의 모델 설정 값을 반대 값으로 변경한다.<br/>
8320
- *
8321
- * @param prop 설정 항목 이름
8322
- * @param render true로 지정하면 옵션 변경 시 맵차트를 다시 그린다. 기본갑 true
8323
- * @returns 모델 객체 자신
8324
- */
8325
- toggleOption(prop: keyof OP, render?: boolean): this;
8326
- /**
8327
- * 명시적으로 설정된 모델 설정 값을 제거해서 모델의 기본 값이 적용되도록 한다.<br/>
8328
- *
8329
- * @param prop 설정 항목 이름
8330
- * @param render true로 지정하면 옵션 변경 시 맵차트를 다시 그린다. 기본갑 true
8331
- * @returns 모델 객체 자신
8332
- */
8333
- removeOption(prop: keyof OP, render?: boolean): this;
8334
- /**
8335
- * 명시적으로 설정된 모든 모델 설정 값들을 제거한다.<br/>
8336
- *
8337
- * @param render true로 지정하면 옵션 변경 시 맵차트를 다시 그린다. 기본갑 true
8338
- * @returns 모델 객체 자신
8339
- */
8340
- clearOptions(render?: boolean): this;
8223
+ protected _doSetSimple(op: OP, src: any): boolean;
8224
+ protected _addChild<T extends ROptionable>(name: string & keyof OP, child: T): T;
8225
+ protected _doLoad(op: OP, source: any): void;
8341
8226
  /**
8342
8227
  * 명시적으로 모델에 설정된 모든 style 값들을 제거한다.<br/>
8343
8228
  *
@@ -8367,15 +8252,11 @@ declare class ChartItem<OP extends ChartItemOptions = ChartItemOptions> extends
8367
8252
  _prepareRender(): void;
8368
8253
  _afterRender(): void;
8369
8254
  _optionChanged(tag?: any): void;
8370
- protected _doLoad(op: OP, source: any): void;
8371
- protected _doSetSimple(op: OP, src: any): boolean;
8372
- /** @private */
8373
8255
  protected _doLoadProp(prop: string, value: any): boolean;
8374
8256
  private $_applyOptions;
8375
- protected _setDim(op: OP, prop: string): void;
8257
+ protected _setDim(_op: OP, prop: string): void;
8376
8258
  protected _setDims(op: OP, ...props: string[]): void;
8377
8259
  protected _doApply(op: OP): void;
8378
- protected _doSave(target: object): void;
8379
8260
  protected _doPrepareRender(chart: IChart, op: OP): void;
8380
8261
  protected _doAfterRender(): void;
8381
8262
  }
@@ -8572,7 +8453,7 @@ declare abstract class Annotation<OP extends AnnotationOptions = AnnotationOptio
8572
8453
  */
8573
8454
  refresh(): void;
8574
8455
  protected _getNamePrefix(): string;
8575
- _load(source: any): OP;
8456
+ protected _doLoad(op: OP, source: any): void;
8576
8457
  protected _doPrepareRender(chart: IChart, op: AnnotationOptions): void;
8577
8458
  protected _getDefaultAlign(): string;
8578
8459
  }
@@ -8581,9 +8462,6 @@ declare abstract class Annotation<OP extends AnnotationOptions = AnnotationOptio
8581
8462
  */
8582
8463
  interface IAnnotationOwner {
8583
8464
  chart: IChart;
8584
- options: {
8585
- annotations?: AnnotationOptions | AnnotationOptions[];
8586
- };
8587
8465
  anchorByName(name: string): ChartItem;
8588
8466
  }
8589
8467
  /**
@@ -8612,9 +8490,6 @@ declare class MapChart {
8612
8490
  _loadCallback: (args: LoadCallbackArgs) => void;
8613
8491
  private _loaded;
8614
8492
  constructor(config?: ChartConfiguration, callback?: (model: ChartObject, oldModel: ChartObject) => void);
8615
- /**
8616
- */
8617
- get options(): ChartConfiguration;
8618
8493
  /**
8619
8494
  *
8620
8495
  * 기본 시리즈 종류.\
@@ -9146,7 +9021,7 @@ declare class ColorScaleView extends MapWidgetView<ColorScale> {
9146
9021
 
9147
9022
  type Visitor<T extends RmElement> = (element: T, index?: number, count?: number) => void;
9148
9023
  /** @private */
9149
- declare class ElementPool<T extends RmElement> extends RmObject {
9024
+ declare class ElementPool<T extends RmElement> extends RObject {
9150
9025
  private _reversed;
9151
9026
  removeDelay: number;
9152
9027
  private _owner;
@@ -9157,7 +9032,7 @@ declare class ElementPool<T extends RmElement> extends RmObject {
9157
9032
  constructor(owner: RmElement, creator: {
9158
9033
  new (doc: Document, styleName?: string): T;
9159
9034
  }, styleName?: string, removeDelay?: number);
9160
- protected _doDestory(): void;
9035
+ protected _doDispose(): void;
9161
9036
  get owner(): RmElement;
9162
9037
  /**
9163
9038
  * reversed.
@@ -9597,7 +9472,6 @@ declare class BodyView extends ChartElement<Body> implements IAnnotationAnchorOw
9597
9472
  private _mousePos;
9598
9473
  private _prevPrj;
9599
9474
  private _zoom;
9600
- private _emptyView;
9601
9475
  constructor(doc: Document, owner: IBodyViewOwner);
9602
9476
  getAnnotationAnchor(model: any): RmElement;
9603
9477
  get firstMap(): MapSeriesView;
@@ -9667,10 +9541,6 @@ declare class BodyView extends ChartElement<Body> implements IAnnotationAnchorOw
9667
9541
  * 프로젝션이 변경된 경우, 클리핑 영역을 갱신한다.
9668
9542
  */
9669
9543
  private $_layoutClip;
9670
- /**
9671
- * EmptyView를 표시할지 여부를 반환한다.
9672
- */
9673
- private $_isEmptyVisible;
9674
9544
  }
9675
9545
 
9676
9546
  declare class TitleView extends BoundableElement<Title> {
@@ -9726,11 +9596,11 @@ declare class CreditsView extends ChartElement<Credits> {
9726
9596
  private _textView;
9727
9597
  constructor(doc: Document);
9728
9598
  click(dom: Element): void;
9729
- locateInner(op: CreditsOptions, rBody: Rectangle): {
9599
+ locateInner(credit: Credits, rBody: Rectangle): {
9730
9600
  x: number;
9731
9601
  y: number;
9732
9602
  };
9733
- locateOuter(op: CreditsOptions, width: number, height: number): {
9603
+ locateOuter(credit: Credits, width: number, height: number): {
9734
9604
  x: number;
9735
9605
  y: number;
9736
9606
  };
@@ -10860,7 +10730,7 @@ declare class Utils {
10860
10730
  /**
10861
10731
  * @param path 'aaa.bbb.2.ccc' 형식으로 지정한다. 2는 배열 항목 index.
10862
10732
  */
10863
- static valueAt(data: any, path?: string): any;
10733
+ static valueAt(data: any, path?: string | number): any;
10864
10734
  static normalizeToSteps(arr: number[], n: number): number[];
10865
10735
  }
10866
10736
 
@@ -10956,7 +10826,7 @@ declare class HtmlAnnotationView extends AnnotationView<HtmlAnnotation> {
10956
10826
  constructor(doc: Document);
10957
10827
  protected _doMeasure(doc: Document, model: HtmlAnnotation, hintWidth: number, hintHeight: number): ISize;
10958
10828
  protected _doLayout(p: IPoint$1): void;
10959
- protected _doDestory(): void;
10829
+ protected _doDispose(): void;
10960
10830
  private $_refresh;
10961
10831
  }
10962
10832