realmap 1.1.11 → 1.1.13

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별로 항목이 표시된다.
@@ -2753,6 +2457,12 @@ interface OrthogonalSparkSeriesOptions extends SparkSeriesOptions {
2753
2457
  baseValue?: number;
2754
2458
  belowStyle?: SVGStyleOrClass;
2755
2459
  /**
2460
+ * 바 높이 계산에 사용할 값 범위(min/max)의 산출 방식을 지정한다.<br/>
2461
+ * - `'series'`: 시리즈의 **모든 데이터포인트** 값 전체를 대상으로 min/max를 계산하여,
2462
+ * 각 데이터포인트 차트의 스케일이 동일하게 표시된다.
2463
+ * - `'point'`: **각 데이터포인트** 자신의 값들만으로 min/max를 계산하여,
2464
+ * 데이터포인트마다 스케일이 독립적으로 결정된다.
2465
+ *
2756
2466
  * @default 'series'
2757
2467
  */
2758
2468
  valueDomain?: DataPointValueDomain;
@@ -5204,134 +4914,324 @@ interface PositionableItemOptions extends ChartItemOptions {
5204
4914
  */
5205
4915
  interface DataPointArgs extends CommonCallbackArgs {
5206
4916
  /**
5207
- * 시리즈 객체.
4917
+ * 시리즈 객체.
4918
+ */
4919
+ series: object;
4920
+ count: number;
4921
+ id: string;
4922
+ index: number;
4923
+ name?: string;
4924
+ color?: string;
4925
+ className?: string;
4926
+ value?: any;
4927
+ labelIndex?: number;
4928
+ coord?: MapCoord;
4929
+ source: any;
4930
+ }
4931
+ interface DataPointListkArgs extends CommonCallbackArgs {
4932
+ /**
4933
+ * 데이터포인트 개수.
4934
+ */
4935
+ count: number;
4936
+ /**
4937
+ * 해당 위치의 데이터포인트 정보를 리턴한다.<br/
4938
+ * 리턴되는 객체는 재사용되므로 보관할 수 없다.
4939
+ */
4940
+ get(index: number): DataPointArgs;
4941
+ }
4942
+ interface AnimationOptions {
4943
+ duration: number;
4944
+ end: () => void;
4945
+ }
4946
+ interface ZoomToAreaOptions {
4947
+ /**
4948
+ * 최소 확대 비율.
4949
+ */
4950
+ minimumZoom?: number;
4951
+ /**
4952
+ * 최대 확대 비율.
4953
+ */
4954
+ maximumZoom?: number;
4955
+ }
4956
+ interface OnSelectionChangedArgs extends CommonCallbackArgs {
4957
+ }
4958
+
4959
+ /**
4960
+ * 어노테이션 배치 기준.<br/>
4961
+ * [주의]body에 설정된 annoation에는 적용되지 않는다.
4962
+ * @enum
4963
+ */
4964
+ declare const _AnnotationScope: {
4965
+ /**
4966
+ * container에서 padding을 적용한 영역을 기준으로 표시한다.
4967
+ *
4968
+ *
4969
+ */
4970
+ readonly CHART: "chart";
4971
+ /**
4972
+ * container 전체 영역을 기준으로 표시한다.
4973
+ *
4974
+ *
4975
+ */
4976
+ readonly CONTAINER: "container";
4977
+ };
4978
+ /** @dummy */
4979
+ type AnnotationScope = typeof _AnnotationScope[keyof typeof _AnnotationScope];
4980
+ interface AnnotationAnimationOptions {
4981
+ type: string;
4982
+ duration?: number;
4983
+ }
4984
+ type AnnotationType = 'image' | 'shape' | 'text' | 'html' | 'chart';
4985
+ /**
4986
+ * Annotation 모델.<br/>
4987
+ *
4988
+ *
4989
+ */
4990
+ interface AnnotationOptions extends PositionableItemOptions {
4991
+ type?: AnnotationType;
4992
+ /**
4993
+ * true로 지정하면 시리즈들 위에 표시된다.<br/>
4994
+ * 명시적으로 false로 지정해야 시리즈들 아래 표시된다.
4995
+ *
4996
+ * @default false
4997
+ */
4998
+ front?: boolean;
4999
+ /**
5000
+ * 어노테이션 배치 기준이 되는 맵차트 구성 요소.<br/>
5001
+ * 현재, 같은 영역(body 혹은 chart)에 포함된 다른 어노테이션의 {@link name 이름}을 지정할 수 있다.
5002
+ *
5003
+ */
5004
+ anchor?: string;
5005
+ /**
5006
+ * 수평 배치.<br/>
5007
+ *
5008
+ * @default 'left' anchor가 지정되면 'center', 아니면 'left'
5009
+ */
5010
+ align?: Align;
5011
+ /**
5012
+ * {@link align}과 {@link verticalAlign}으로 지정된 위치에서 실제 표시될 위치의 수평 간격.<br/>
5013
+ * 값이 양수일 때, {@link anchor}가 지정된 경우 anchor 아이템의 밖으로 멀어지고, 아니면 영역 경계 안쪽으로 멀어진다.
5014
+ * 또, {@link anchor}가 지정된 경우 **'0.5w'** 등으로 이 어노테이션의 너비를 기준으로 한 크기로 지정할 수 있다.
5015
+ *
5016
+ * @default 0
5017
+ */
5018
+ offsetX?: number | string;
5019
+ /**
5020
+ * {@link align}과 {@link verticalAlign}으로 지정된 위치에서 실제 표시될 위치의 수직 간격.<br/>
5021
+ * 값이 양수일 때, {@link anchor}가 지정된 경우 anchor 아이템의 밖으로 멀어지고, 아니면 영역 경계 안쪽으로 멀어진다.
5022
+ * 또, {@link anchor}가 지정된 경우 **'0.5h'**처럼 이 어노테이션의 너비를 기준으로 한 크기로 지정할 수 있다.
5023
+ *
5024
+ * @default 0
5025
+ */
5026
+ offsetY?: number | string;
5027
+ /**
5028
+ * 회전 각도.<br/>
5029
+ * 0 ~ 360 사이의 값으로 지정한다.
5030
+ *
5031
+ */
5032
+ rotation?: number;
5033
+ /**
5034
+ * 어노테이션 배치 기준.<br/>
5035
+ * [주의]body에 설정된 annoation에는 적용되지 않는다.
5036
+ *
5037
+ * @default 'chart'
5038
+ */
5039
+ scope?: AnnotationScope;
5040
+ /**
5041
+ * true로 지정하면 상위 영역을 벗어난 부분도 표시되게 한다.<br/>
5042
+ * body에 포함된 경우 body 영역,
5043
+ * chart에 포함되고 scope이 'chart'일 때 chart 영역.
5044
+ *
5045
+ */
5046
+ noClip?: boolean;
5047
+ }
5048
+ declare const ImageAnnotationType = "image";
5049
+ /**
5050
+ * 이미지 어노테이션.<br/>
5051
+ * {@link https://realmap.co.kr/docs/api/options/AnnotationOptions#type type}은 'image'이다.<br/>
5052
+ *
5053
+ * // TODO #fiddle annotation/image-annotation Image Annotation
5054
+ * @css 'rm-image-annotation'
5055
+ */
5056
+ interface ImageAnnotationOptions extends AnnotationOptions {
5057
+ /** @dummy */
5058
+ type?: typeof ImageAnnotationType;
5059
+ /**
5060
+ * true로 설정되고 {@link url}이 설정된 경우에만 표시된다.
5061
+ *
5062
+ * @default true
5063
+ */
5064
+ visible?: boolean;
5065
+ /**
5066
+ * 이미지 경로.
5067
+ *
5068
+ */
5069
+ imageUrl?: string;
5070
+ }
5071
+ declare const ShapeAnnotationType = "shape";
5072
+ /**
5073
+ * Shape Annotation 모델.
5074
+ * {@link https://realmap.co.kr/docs/api/options/AnnotationOptions#type type}은 'shape'이다.<br/>
5075
+ * {@link shape} 속성에 표시할 도형 모양을 지정하거나,
5076
+ * {@link path}에 SVG path를 직접 지정할 수 있다.
5077
+ *
5078
+ * // TODO #fiddle annotation/shape-annotation Shape Annotation
5079
+ * @css 'rm-shape-annotation'
5080
+ */
5081
+ interface ShapeAnnotationOptions extends AnnotationOptions {
5082
+ /** @dummy */
5083
+ type?: typeof ShapeAnnotationType;
5084
+ /**
5085
+ * @default 64
5086
+ */
5087
+ width?: number;
5088
+ /**
5089
+ * @default 64
5090
+ */
5091
+ height?: number;
5092
+ /**
5093
+ * Shape 종류.
5094
+ *
5095
+ * circle: 원
5096
+ * diamond: 다아이몬드
5097
+ * square: 정사각형
5098
+ * triangle: 삼각형
5099
+ * star: 별 모양
5100
+ * itriangle:
5101
+ * rectangle: 사각형
5102
+ *
5103
+ * @default 'square'
5104
+ */
5105
+ shape?: 'circle' | 'diamond' | 'square' | 'triangle' | 'star' | 'itriangle' | 'rectangle';
5106
+ /**
5107
+ * Shape path.
5108
+ * 이 속성이 지정되면 {@link shape}는 무시된다.
5109
+ */
5110
+ path?: string;
5111
+ series?: string;
5112
+ xRange?: number[];
5113
+ yRange?: number[];
5114
+ }
5115
+ declare const TextAnnotationType = "text";
5116
+ /**
5117
+ * 텍스트 어노테이션.<br/>
5118
+ * {@link https://realmap.co.kr/docs/api/options/AnnotationOptions#type type}은 'text'이다.<br/>
5119
+ *
5120
+ * // TODO #fiddle annotation/text-annotation Text Annotation
5121
+ * @css 'rm-text-annotation'
5122
+ */
5123
+ interface TextAnnotationOptions extends AnnotationOptions {
5124
+ /** @dummy */
5125
+ type?: typeof TextAnnotationType;
5126
+ /**
5127
+ * true로 설정되고 {@link text}가 설정된 경우에만 표시된다.
5128
+ *
5129
+ * @default true
5130
+ */
5131
+ visible?: boolean;
5132
+ /**
5133
+ * 표시할 텍스트.
5134
+ *
5135
+ * @default 'Text'
5208
5136
  */
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 {
5137
+ text?: string;
5222
5138
  /**
5223
- * 데이터포인트 개수.
5139
+ * {@link text}에 동적으로 전달되는 값이 숫자일 때 사용되는 표시 형식.
5140
+ *
5224
5141
  */
5225
- count: number;
5142
+ numberFormat?: string;
5226
5143
  /**
5227
- * 해당 위치의 데이터포인트 정보를 리턴한다.<br/
5228
- * 리턴되는 객체는 재사용되므로 보관할 수 없다.
5144
+ * {@link text}에 동적으로 전달되는 값이 Date일 때 사용되는 표시 형식.
5145
+ *
5229
5146
  */
5230
- get(index: number): DataPointArgs;
5231
- }
5232
- interface AnimationOptions {
5233
- duration: number;
5234
- end: () => void;
5235
- }
5236
- interface ZoomToAreaOptions {
5147
+ timeFormat?: string;
5237
5148
  /**
5238
- * 최소 확대 비율.
5149
+ * 텍스트를 가로 또는 세로로 배치할지 여부와 블록이 진행되는 방향을 지정한다.
5150
+ *
5151
+ *
5239
5152
  */
5240
- minimumZoom?: number;
5153
+ writingMode?: WritingMode;
5241
5154
  /**
5242
- * 최대 확대 비율.
5155
+ * 텍스트 문자 방향을 지정한다.
5156
+ * 세로 모드의 텍스트에만 적용된다.
5157
+ *
5158
+ *
5243
5159
  */
5244
- maximumZoom?: number;
5245
- }
5246
- interface OnSelectionChangedArgs extends CommonCallbackArgs {
5160
+ textOrientation?: TextOrientation;
5247
5161
  }
5248
-
5162
+ declare const HtmlAnnotationType = "html";
5249
5163
  /**
5250
- * 맵차트 내보내기 설정 모델
5164
+ * HTML 어노테이션.<br/>
5165
+ * {@link https://realmap.co.kr/docs/api/options/AnnotationOptions#type type}은 'html'이다.<br/>
5166
+ *
5167
+ * // TODO #fiddle annotation/html-annotation Html Annotation
5168
+ * @css 'rm-html-annotation'
5251
5169
  */
5252
- interface ExporterOptions extends ChartItemOptions {
5253
- /**
5254
- * 내보내기 버튼 표시 여부 지정
5255
- */
5256
- visible?: boolean;
5170
+ interface HtmlAnnotationOptions extends AnnotationOptions {
5171
+ /** @dummy */
5172
+ type?: typeof HtmlAnnotationType;
5257
5173
  /**
5258
- * 내보내기 버튼을 사용해 내보낸 맵차트에 사용할 확장자 없는 파일 이름.\
5259
- * 'export' 함수를 호출할 때 fileName을 지정하지 않을 경우 이 속성이 적용된다.
5260
- * fileName을 지정하지 않을 경우 realmap.type으로 다운로드 된다.
5174
+ * true로 설정되고 {@link text}가 설정된 경우에만 표시된다.
5261
5175
  *
5176
+ * @default true
5262
5177
  */
5263
- fileName?: string;
5178
+ visible?: boolean;
5264
5179
  /**
5265
- * 내보내기를 라이브러리를 사용하여 진행할지 여부 지정
5180
+ * 속성으로 지정한 html 내용을 표시한다.<br/>
5181
+ * '.'나 '#'으로 시작되는 html selector로 지정하면 해당하는 dom의 {@link https://developer.mozilla.org/ko/docs/Web/API/Element/innerHTML innerHTML}을 가져와 표시한다.<br/>
5182
+ * 예를 들어 id가 'abc'인 dom인 경우 '#abc'로 지정한다.
5183
+ * 즉, document.{@link https://developer.mozilla.org/ko/docs/Web/API/Document/querySelector querySelector}(htmlFrom)로 리턴되는 dom의 내용을 표시한다.<br/>
5184
+ * 생성되는 dom의 스타일은 {@link htmlStyle}로 지정한다.
5266
5185
  */
5267
- useLibrary?: boolean;
5186
+ html?: string;
5268
5187
  /**
5269
- * 내보내기 메뉴에 포함할 export types
5188
+ * 속성으로 지정한 selector에 해당하는 dom의 {@link https://developer.mozilla.org/ko/docs/Web/API/Element/innerHTML innerHTML}을 가져와 표시한다.<br/>
5189
+ * 예를 들어 id가 'abc'인 dom인 경우 '#abc'로 지정한다.
5190
+ * 즉, document.{@link https://developer.mozilla.org/ko/docs/Web/API/Document/querySelector querySelector}(htmlFrom)로 리턴되는 dom의 내용을 표시한다.<br/>
5191
+ * 이 속성이 {@link html}보다 우선한다. 다만, 존재하지 않은 dom을 지정한 경우 {@link html}에 지정한 내용을 대신 표시한다.
5192
+ * 생성되는 dom의 스타일은 {@link htmlStyle}로 지정한다.
5270
5193
  */
5271
- menus?: ExportType[];
5194
+ htmlFrom?: string;
5272
5195
  /**
5273
- * 너비, 지정한 너비에 맞춰 높이가 결정된다.
5196
+ * {@link html}로 생성되는 최상위 dom에 적용되는 스타일셋.<br/>
5274
5197
  */
5275
- width?: number;
5198
+ htmlStyle?: CSSStyleDeclaration;
5276
5199
  /**
5277
- * 이미지의 scale
5200
+ * @append
5201
+ * 너비를 반드시 지정해야 한다.<br/>
5202
+ * 지정하지 않으면 100 픽셀 너비로 표시한다.
5203
+ * {@link height 높이}를 지정하지 않으면 생성된 dom의 높이에 맞춰진다.
5204
+ *
5205
+ * @default 100
5278
5206
  */
5279
- scale?: number;
5207
+ width?: PercentSize;
5280
5208
  /**
5281
- * 내보내기 도중 에러가 발생했을 처리할 서버 URL. <br />
5282
- * 지정하지 않을경우 realmap 서버에서 처리한다.
5209
+ * {@link html}로 지정된 html 텍스트에 포함된 param 값을 지정하는 객체나 콜백. #311<br/>
5283
5210
  */
5284
- url?: string;
5211
+ params?: {
5212
+ [key: string]: any;
5213
+ } | ((param: string) => any);
5285
5214
  }
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];
5215
+ declare const ChartAnnotationType = "chart";
5306
5216
  /**
5307
- * 내보내기 옵션.
5217
+ * Chart 어노테이션.<br/>
5218
+ * {@link https://realmap.co.kr/docs/api/options/AnnotationOptions#type type}은 'chart'이다.<br/>
5219
+ *
5220
+ * @css 'rm-chart-annotation'
5308
5221
  */
5309
- interface ExportOptions {
5310
- /**
5311
- * 내보낸 맵차트에 사용할 확장자.\
5312
- * type을 지정하지 않을 경우 png로 내보내기 된다.\
5313
- *
5314
- * // @TODO https://github.com/realgrid/realreport-chart/issues/549
5315
- */
5316
- type?: ExportType;
5222
+ interface ChartAnnotationOptions extends AnnotationOptions {
5223
+ /** @dummy */
5224
+ type?: typeof ChartAnnotationType;
5225
+ config?: any;
5317
5226
  /**
5318
- * 내보낸 맵차트에 사용할 확장자 없는 파일명.
5319
- * fileName을 지정하지 않을 경우 realmap.type으로 다운로드 된다.
5320
- *
5227
+ * false로 설정하면 차트 애니메이션이 실행되지 않는다.<br/>
5228
+ *
5229
+ * @default true
5321
5230
  */
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;
5231
+ animatable?: boolean;
5334
5232
  }
5233
+ /** @dummy */
5234
+ type AnnotationOptionsType = ImageAnnotationOptions | ShapeAnnotationOptions | TextAnnotationOptions | HtmlAnnotationOptions | ChartAnnotationOptions;
5335
5235
 
5336
5236
  /** @private */
5337
5237
  declare class Color {
@@ -5790,7 +5690,7 @@ interface MapProjection {
5790
5690
  getScrolledLon(lon: number): number;
5791
5691
  inSecond(lon: number): boolean;
5792
5692
  }
5793
- declare class MapArea extends RmObject implements ISelectionSource {
5693
+ declare class MapArea extends RObject implements ISelectionSource {
5794
5694
  source?: AreaItem;
5795
5695
  inset?: MapInset;
5796
5696
  _insetChilds: number[];
@@ -5857,7 +5757,7 @@ declare class MapArea extends RmObject implements ISelectionSource {
5857
5757
  getCenter(): MapCoord;
5858
5758
  _clone(): MapArea;
5859
5759
  }
5860
- declare class MapBorder extends RmObject {
5760
+ declare class MapBorder extends RObject {
5861
5761
  source: BorderItem;
5862
5762
  private _path;
5863
5763
  constructor(source: BorderItem);
@@ -5877,7 +5777,7 @@ interface IMapOwner {
5877
5777
  *
5878
5778
  * [Note] 'Map'이 javascript 예약어 수준이므로 부득기 'MapModel'로 名한다.
5879
5779
  */
5880
- declare class MapModel extends RmObject {
5780
+ declare class MapModel extends RObject {
5881
5781
  owner: IChart & IMapOwner;
5882
5782
  source: MapSourceImpl | MapModel;
5883
5783
  private _second;
@@ -6049,9 +5949,9 @@ declare class DataPointCallout<OP extends DataPointCalloutOptions = DataPointCal
6049
5949
  get anchorPoint(): DataPointAnchorPoint<CalloutAnchorPointOptions>;
6050
5950
  }
6051
5951
  interface ISeries<T extends DataPoint = DataPoint> {
6052
- options: SeriesOptions;
6053
5952
  chart: IChart;
6054
5953
  color?: Color;
5954
+ getProp(key: string, def?: any): any;
6055
5955
  _idFielder: (src: any) => any;
6056
5956
  _nameFielder?: (src: any) => string;
6057
5957
  _valueFielder?: (src: any) => any;
@@ -6115,6 +6015,7 @@ declare abstract class Series<OP extends SeriesOptions = SeriesOptions> extends
6115
6015
  private _dataLoaded;
6116
6016
  private _needAnimate;
6117
6017
  ani: RmAnimation;
6018
+ getProp(key: string, def?: any): any;
6118
6019
  constructor(chart: IChart);
6119
6020
  protected _doInit(op: SeriesOptions): void;
6120
6021
  protected _createLabel(chart: IChart): DataPointLabel;
@@ -6288,7 +6189,7 @@ declare abstract class Series<OP extends SeriesOptions = SeriesOptions> extends
6288
6189
  protected _createFielders(op: SeriesOptions): void;
6289
6190
  protected _createLegendMarker(doc: Document, size: number): RmElement;
6290
6191
  protected _defaultLoadAnimation(): SeriesLoadAnimation;
6291
- _load(source: any): OP;
6192
+ protected _doLoad(op: OP, source: any): void;
6292
6193
  protected _doLoadData(src: any): any[];
6293
6194
  private $_loadPoints;
6294
6195
  protected _doLoadPoints(src: any): void;
@@ -6338,7 +6239,9 @@ declare class SparkSeriesPoint extends ValuePoint {
6338
6239
  getPoints(values: number[], minimum: number, maximum: number): number[];
6339
6240
  getBasePoint(minimum: number, maximum: number, base: number): number;
6340
6241
  getSum(): number;
6242
+ protected _readArray(series: ISeries, v: any[]): void;
6341
6243
  protected _readObject(series: ISeries, v: any): void;
6244
+ private $_initValues;
6342
6245
  getParam(param: string): any;
6343
6246
  }
6344
6247
  declare class SparkCategoryImpl implements ILegendSource {
@@ -6426,7 +6329,7 @@ interface ISelectionOwner {
6426
6329
  selectionItemRemoved(item: ISelectionSource[]): void;
6427
6330
  selectionCleared(): void;
6428
6331
  }
6429
- declare class MapSelection extends RmObject {
6332
+ declare class MapSelection extends RObject {
6430
6333
  private _owner;
6431
6334
  private _items;
6432
6335
  constructor(owner: ISelectionOwner);
@@ -6744,6 +6647,19 @@ declare class AssetCollection {
6744
6647
  private $_loadItem;
6745
6648
  }
6746
6649
 
6650
+ declare abstract class RmEventProvider<T> extends RObject {
6651
+ private _listeners;
6652
+ _addListener(listener: T): void;
6653
+ _removeListener(listener: T): void;
6654
+ /**
6655
+ * event로 지정한 함수가 정의된 모든 리스너에 대해 실행한다.
6656
+ * 리스너 scope으로 실행하고, 첫번째 매개변수로 이 객체가 전달된다.
6657
+ * 다만, 리스너들 중 하나라도 undefined가 아닌 값을 리턴하면,
6658
+ * 그 값을 리턴하면서 멈춘다.
6659
+ */
6660
+ protected _fireEvent(event: string, ...args: any[]): any;
6661
+ }
6662
+
6747
6663
  /**
6748
6664
  * 맵차트 제작 주체 등을 표시하는 영역에 대한 모델.<br/>
6749
6665
  * 기본적으로 맵차트 오른쪽 아래에 표시되지만, {@link align}, {@link verticalAlign} 등으로 위치를 지정할 수 있다.
@@ -7104,6 +7020,44 @@ declare class MapScale extends ScaleBase<MapScaleOptions> {
7104
7020
  private $_calcScale;
7105
7021
  }
7106
7022
 
7023
+ /**
7024
+ * 맵차트 내보내기 설정 모델
7025
+ */
7026
+ interface ExporterOptions extends ChartItemOptions {
7027
+ /**
7028
+ * 내보내기 버튼 표시 여부 지정
7029
+ */
7030
+ visible?: boolean;
7031
+ /**
7032
+ * 내보내기 버튼을 사용해 내보낸 맵차트에 사용할 확장자 없는 파일 이름.\
7033
+ * 'export' 함수를 호출할 때 fileName을 지정하지 않을 경우 이 속성이 적용된다.
7034
+ * fileName을 지정하지 않을 경우 realmap.type으로 다운로드 된다.
7035
+ *
7036
+ */
7037
+ fileName?: string;
7038
+ /**
7039
+ * 내보내기를 라이브러리를 사용하여 진행할지 여부 지정
7040
+ */
7041
+ useLibrary?: boolean;
7042
+ /**
7043
+ * 내보내기 메뉴에 포함할 export types
7044
+ */
7045
+ menus?: ExportType[];
7046
+ /**
7047
+ * 너비, 지정한 너비에 맞춰 높이가 결정된다.
7048
+ */
7049
+ width?: number;
7050
+ /**
7051
+ * 이미지의 scale
7052
+ */
7053
+ scale?: number;
7054
+ /**
7055
+ * 내보내기 도중 에러가 발생했을 때 처리할 서버 URL. <br />
7056
+ * 지정하지 않을경우 realmap 서버에서 처리한다.
7057
+ */
7058
+ url?: string;
7059
+ }
7060
+
7107
7061
  interface MapRegionTargetOptions extends ChartItemOptions {
7108
7062
  }
7109
7063
  interface MapRegionConnectorOptions extends ChartItemOptions {
@@ -7451,7 +7405,7 @@ declare class Exporter extends ChartItem<ExporterOptions> {
7451
7405
  toggleContextMenu(): void;
7452
7406
  contains(dom: Element): boolean;
7453
7407
  hideContextMenu(): void;
7454
- exportToImage(dom: HTMLElement, options: ExportOptions, exporting: ExporterOptions): void;
7408
+ exportToImage(dom: HTMLElement, options: ExportOptions): void;
7455
7409
  }
7456
7410
 
7457
7411
  /**
@@ -7469,7 +7423,6 @@ declare class MapAxisGrid extends ChartItem<MapAxisGridOptions> {
7469
7423
  private _line;
7470
7424
  private _lonLine;
7471
7425
  private _latLine;
7472
- private _fitTo;
7473
7426
  protected _doInit(op: MapAxisGridOptions): void;
7474
7427
  get line(): MapAxisGridLine;
7475
7428
  get lonLine(): MapAxisGridLine;
@@ -7622,7 +7575,7 @@ declare class MapAxis extends ChartItem<MapAxisOptions> {
7622
7575
  declare abstract class BodyPanel<OP extends BodyPanelOptions = BodyPanelOptions> extends ChartItem<OP> {
7623
7576
  static readonly ITEM_GAP = 4;
7624
7577
  static defaults: BodyPanelOptions;
7625
- getItemGap(): number;
7578
+ getItemGap(): 4 | OP["itemGap"];
7626
7579
  }
7627
7580
  declare class ZoomPanel extends BodyPanel<ZoomPanelOptions> {
7628
7581
  static readonly BUTTON_SIZE = 24;
@@ -7650,9 +7603,7 @@ declare class Title<OP extends TitleOptions = TitleOptions> extends ChartItem<OP
7650
7603
  }
7651
7604
  /**
7652
7605
  * 맵차트 부제목(subtitle) 설정 모델.<br/>
7653
- * 기본적으로 주 제목(title)의 설정을 따르고, 몇가지 속성들이 추가된다.<br/>
7654
- * {@link https://realmap.co.kr/guide/subtitle 부제목 개요} 페이지를 참조한다.
7655
- *
7606
+ * 기본적으로 주 제목(title)의 설정을 따르고, 몇가지 속성들이 추가된다.
7656
7607
  */
7657
7608
  declare class Subtitle extends Title<SubtitleOptions> {
7658
7609
  static defaults: SubtitleOptions;
@@ -7831,13 +7782,6 @@ declare class MapRegionCollection extends PositionalItemCollection<MapRegion> {
7831
7782
  protected _loadItem(chart: IChart, src: any, index: number, inBody: boolean): MapRegion;
7832
7783
  }
7833
7784
 
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
7785
  declare class MapBackground extends ChartItem<MapBackgroundOptions> {
7842
7786
  static defaults: MapBackgroundOptions;
7843
7787
  isVisible(): boolean;
@@ -7857,7 +7801,6 @@ declare class Body extends ChartItem<BodyOptions> implements IAnnotationOwner {
7857
7801
  static defaults: BodyOptions;
7858
7802
  private _projection;
7859
7803
  private _mapBackground;
7860
- private _emptyView;
7861
7804
  private _anns;
7862
7805
  _annotations: AnnotationCollection;
7863
7806
  _prj: MapProjection;
@@ -7928,7 +7871,6 @@ declare class Body extends ChartItem<BodyOptions> implements IAnnotationOwner {
7928
7871
  get map(): MapModel;
7929
7872
  get calcedMapWidth(): number;
7930
7873
  isDrilldowned(): boolean;
7931
- get emptyView(): EmptyViewModel;
7932
7874
  private $_calcPan;
7933
7875
  prepare(map: MapModel): void;
7934
7876
  prepareLayout(width: number, height: number): {
@@ -8076,6 +8018,7 @@ declare class ChartObject extends RmEventProvider<IMapChartEvents> implements IC
8076
8018
  constructor(config?: ChartConfiguration, wrapper?: any);
8077
8019
  private _initOptions;
8078
8020
  get wrapper(): any;
8021
+ get exporter(): any;
8079
8022
  get options(): ChartConfiguration;
8080
8023
  get global(): ChartGlobal;
8081
8024
  get isGlobe(): boolean;
@@ -8105,7 +8048,7 @@ declare class ChartObject extends RmEventProvider<IMapChartEvents> implements IC
8105
8048
  selectionItemAdded(item: ISelectionSource[]): void;
8106
8049
  selectionItemRemoved(item: ISelectionSource[]): void;
8107
8050
  selectionCleared(): void;
8108
- get type(): "map" | "point" | "line" | "figure" | "image" | "bar" | "pie" | "waffle" | "bubble" | "route" | "feature" | "pin" | "vector" | "heatmap" | "panel" | "gauge" | "clock";
8051
+ get type(): "map" | "figure" | "point" | "line" | "image" | "bar" | "pie" | "waffle" | "bubble" | "route" | "feature" | "pin" | "vector" | "heatmap" | "panel" | "gauge" | "clock";
8109
8052
  get legend(): Legend;
8110
8053
  get credits(): Credits;
8111
8054
  /**
@@ -8213,6 +8156,7 @@ interface IChart {
8213
8156
  axis: MapAxis;
8214
8157
  body: Body;
8215
8158
  _tooltip: Tooltip;
8159
+ _exporter: Exporter;
8216
8160
  _assets: AssetCollection;
8217
8161
  _seriesIndex: number;
8218
8162
  selection: MapSelection;
@@ -8267,17 +8211,12 @@ declare const extend: <O extends ChartItemOptions>(base: any, source: O) => O;
8267
8211
  /**
8268
8212
  * 맵차트 구성 요소 모델들의 기반 클래스.<br/>
8269
8213
  */
8270
- declare class ChartItem<OP extends ChartItemOptions = ChartItemOptions> extends RmObject {
8214
+ declare class ChartItem<OP extends ChartItemOptions = ChartItemOptions> extends ROptionable<OP> {
8271
8215
  static readonly REFRESHED = "refreshed";
8272
8216
  static defaults: ChartItemOptions;
8273
8217
  readonly chart: IChart;
8274
- protected _op: OP;
8275
8218
  _style: SVGStyleOrClass;
8276
- private _children;
8277
8219
  constructor(chart: IChart);
8278
- _init(): OP;
8279
- protected _doInit(op: OP): void;
8280
- get options(): OP;
8281
8220
  /**
8282
8221
  * 표시 여부.<br/>
8283
8222
  * options.visible 값을 그대로 return하는 것이 아니라,
@@ -8289,55 +8228,9 @@ declare class ChartItem<OP extends ChartItemOptions = ChartItemOptions> extends
8289
8228
  get visible(): boolean;
8290
8229
  set visible(value: boolean);
8291
8230
  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;
8231
+ protected _doSetSimple(op: OP, src: any): boolean;
8232
+ protected _addChild<T extends ROptionable>(name: string & keyof OP, child: T): T;
8233
+ protected _doLoad(op: OP, source: any): void;
8341
8234
  /**
8342
8235
  * 명시적으로 모델에 설정된 모든 style 값들을 제거한다.<br/>
8343
8236
  *
@@ -8367,15 +8260,11 @@ declare class ChartItem<OP extends ChartItemOptions = ChartItemOptions> extends
8367
8260
  _prepareRender(): void;
8368
8261
  _afterRender(): void;
8369
8262
  _optionChanged(tag?: any): void;
8370
- protected _doLoad(op: OP, source: any): void;
8371
- protected _doSetSimple(op: OP, src: any): boolean;
8372
- /** @private */
8373
8263
  protected _doLoadProp(prop: string, value: any): boolean;
8374
8264
  private $_applyOptions;
8375
- protected _setDim(op: OP, prop: string): void;
8265
+ protected _setDim(_op: OP, prop: string): void;
8376
8266
  protected _setDims(op: OP, ...props: string[]): void;
8377
8267
  protected _doApply(op: OP): void;
8378
- protected _doSave(target: object): void;
8379
8268
  protected _doPrepareRender(chart: IChart, op: OP): void;
8380
8269
  protected _doAfterRender(): void;
8381
8270
  }
@@ -8572,7 +8461,7 @@ declare abstract class Annotation<OP extends AnnotationOptions = AnnotationOptio
8572
8461
  */
8573
8462
  refresh(): void;
8574
8463
  protected _getNamePrefix(): string;
8575
- _load(source: any): OP;
8464
+ protected _doLoad(op: OP, source: any): void;
8576
8465
  protected _doPrepareRender(chart: IChart, op: AnnotationOptions): void;
8577
8466
  protected _getDefaultAlign(): string;
8578
8467
  }
@@ -8581,9 +8470,6 @@ declare abstract class Annotation<OP extends AnnotationOptions = AnnotationOptio
8581
8470
  */
8582
8471
  interface IAnnotationOwner {
8583
8472
  chart: IChart;
8584
- options: {
8585
- annotations?: AnnotationOptions | AnnotationOptions[];
8586
- };
8587
8473
  anchorByName(name: string): ChartItem;
8588
8474
  }
8589
8475
  /**
@@ -8612,9 +8498,6 @@ declare class MapChart {
8612
8498
  _loadCallback: (args: LoadCallbackArgs) => void;
8613
8499
  private _loaded;
8614
8500
  constructor(config?: ChartConfiguration, callback?: (model: ChartObject, oldModel: ChartObject) => void);
8615
- /**
8616
- */
8617
- get options(): ChartConfiguration;
8618
8501
  /**
8619
8502
  *
8620
8503
  * 기본 시리즈 종류.\
@@ -9146,7 +9029,7 @@ declare class ColorScaleView extends MapWidgetView<ColorScale> {
9146
9029
 
9147
9030
  type Visitor<T extends RmElement> = (element: T, index?: number, count?: number) => void;
9148
9031
  /** @private */
9149
- declare class ElementPool<T extends RmElement> extends RmObject {
9032
+ declare class ElementPool<T extends RmElement> extends RObject {
9150
9033
  private _reversed;
9151
9034
  removeDelay: number;
9152
9035
  private _owner;
@@ -9157,7 +9040,7 @@ declare class ElementPool<T extends RmElement> extends RmObject {
9157
9040
  constructor(owner: RmElement, creator: {
9158
9041
  new (doc: Document, styleName?: string): T;
9159
9042
  }, styleName?: string, removeDelay?: number);
9160
- protected _doDestory(): void;
9043
+ protected _doDispose(): void;
9161
9044
  get owner(): RmElement;
9162
9045
  /**
9163
9046
  * reversed.
@@ -9597,7 +9480,6 @@ declare class BodyView extends ChartElement<Body> implements IAnnotationAnchorOw
9597
9480
  private _mousePos;
9598
9481
  private _prevPrj;
9599
9482
  private _zoom;
9600
- private _emptyView;
9601
9483
  constructor(doc: Document, owner: IBodyViewOwner);
9602
9484
  getAnnotationAnchor(model: any): RmElement;
9603
9485
  get firstMap(): MapSeriesView;
@@ -9667,10 +9549,6 @@ declare class BodyView extends ChartElement<Body> implements IAnnotationAnchorOw
9667
9549
  * 프로젝션이 변경된 경우, 클리핑 영역을 갱신한다.
9668
9550
  */
9669
9551
  private $_layoutClip;
9670
- /**
9671
- * EmptyView를 표시할지 여부를 반환한다.
9672
- */
9673
- private $_isEmptyVisible;
9674
9552
  }
9675
9553
 
9676
9554
  declare class TitleView extends BoundableElement<Title> {
@@ -9726,11 +9604,11 @@ declare class CreditsView extends ChartElement<Credits> {
9726
9604
  private _textView;
9727
9605
  constructor(doc: Document);
9728
9606
  click(dom: Element): void;
9729
- locateInner(op: CreditsOptions, rBody: Rectangle): {
9607
+ locateInner(credit: Credits, rBody: Rectangle): {
9730
9608
  x: number;
9731
9609
  y: number;
9732
9610
  };
9733
- locateOuter(op: CreditsOptions, width: number, height: number): {
9611
+ locateOuter(credit: Credits, width: number, height: number): {
9734
9612
  x: number;
9735
9613
  y: number;
9736
9614
  };
@@ -10860,7 +10738,7 @@ declare class Utils {
10860
10738
  /**
10861
10739
  * @param path 'aaa.bbb.2.ccc' 형식으로 지정한다. 2는 배열 항목 index.
10862
10740
  */
10863
- static valueAt(data: any, path?: string): any;
10741
+ static valueAt(data: any, path?: string | number): any;
10864
10742
  static normalizeToSteps(arr: number[], n: number): number[];
10865
10743
  }
10866
10744
 
@@ -10956,7 +10834,7 @@ declare class HtmlAnnotationView extends AnnotationView<HtmlAnnotation> {
10956
10834
  constructor(doc: Document);
10957
10835
  protected _doMeasure(doc: Document, model: HtmlAnnotation, hintWidth: number, hintHeight: number): ISize;
10958
10836
  protected _doLayout(p: IPoint$1): void;
10959
- protected _doDestory(): void;
10837
+ protected _doDispose(): void;
10960
10838
  private $_refresh;
10961
10839
  }
10962
10840