realchart 0.9.3 → 0.9.4

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/dist/index.d.ts CHANGED
@@ -59,6 +59,10 @@ declare enum SectionDir {
59
59
  BOTTOM = 2,
60
60
  RIGHT = 3
61
61
  }
62
+ declare enum AlignBase {
63
+ CHART = "chart",
64
+ PLOT = "plot"
65
+ }
62
66
 
63
67
  interface ISize {
64
68
  width: number;
@@ -252,7 +256,7 @@ declare class RcElement extends RcObject {
252
256
  setStyleOrClass(style: SVGStyleOrClass): void;
253
257
  internalSetStyleOrClass(style: SVGStyleOrClass): void;
254
258
  addStyleOrClass(style: SVGStyleOrClass): void;
255
- setStyleName(value: string): void;
259
+ setClass(value: string): void;
256
260
  setStyle(prop: string, value: string): boolean;
257
261
  internalSetStyle(prop: string, value: string): void;
258
262
  putStyles(styles: any, buff?: any): any;
@@ -260,8 +264,8 @@ declare class RcElement extends RcObject {
260
264
  setData(data: string, value?: string): void;
261
265
  unsetData(data: string): void;
262
266
  setBoolData(data: string, value: boolean): void;
263
- removeLater(moveToFirst?: boolean, duration?: number): RcElement;
264
- fadeout(removeDelay: number, startOpacity: number): RcElement;
267
+ removeLater(delay: number, callback?: (v: RcElement) => void): RcElement;
268
+ hide(delay: number): RcElement;
265
269
  clipRect(x: number, y: number, width: number, height: number, rd?: number): ClipElement;
266
270
  setClip(cr?: ClipElement | ClipPathElement | string): void;
267
271
  setTemporary(): RcElement;
@@ -368,6 +372,32 @@ declare class TextElement extends RcElement {
368
372
  }
369
373
 
370
374
  type RichTextParamCallback = (target: any, param: string) => string;
375
+ declare class Word {
376
+ text: string;
377
+ private _literals;
378
+ get type(): string;
379
+ parse(str: string): Word;
380
+ getText(target: any, callback: RichTextParamCallback): string;
381
+ prepareSpan(span: SVGTSpanElement, target: any, domain: RichTextParamCallback): SVGTSpanElement;
382
+ protected _doParse(str: string): Word;
383
+ }
384
+ declare class SvgLine {
385
+ private _words;
386
+ get words(): Word[];
387
+ parse(s: string): SvgLine;
388
+ getText(target: any, domain: RichTextParamCallback): string;
389
+ }
390
+ declare class SvgRichText {
391
+ private _format;
392
+ lineHeight: number;
393
+ private _lines;
394
+ constructor(format?: string);
395
+ get format(): string;
396
+ set format(value: string);
397
+ get lines(): SvgLine[];
398
+ build(view: TextElement, target: any, domain: RichTextParamCallback): void;
399
+ $_parse(fmt: string): void;
400
+ }
371
401
 
372
402
  declare abstract class ChartItem extends RcObject {
373
403
  readonly chart: IChart;
@@ -403,7 +433,7 @@ declare abstract class FormattableText extends ChartText {
403
433
  private _text;
404
434
  private _numSymbols;
405
435
  private _numberFormatter;
406
- private _richTextImpl;
436
+ protected _richTextImpl: SvgRichText;
407
437
  constructor(chart: IChart, visible: boolean);
408
438
  prefix: string;
409
439
  suffix: string;
@@ -414,7 +444,10 @@ declare abstract class FormattableText extends ChartText {
414
444
  offset: number;
415
445
  get text(): string;
416
446
  set text(value: string);
447
+ setText(value: string): FormattableText;
448
+ isVisible(): boolean;
417
449
  buildSvg(view: TextElement, target: any, callback: RichTextParamCallback): void;
450
+ setLineHeight(v: number): void;
418
451
  protected _doLoadSimple(source: any): boolean;
419
452
  private $_getNumberText;
420
453
  protected _getText(text: string, value: any, useSymbols: boolean, forceSymbols?: boolean): string;
@@ -458,6 +491,7 @@ declare class DataPoint {
458
491
  static swap(pts: IPointPos[]): IPointPos[];
459
492
  source: any;
460
493
  index: number;
494
+ vindex: number;
461
495
  x: any;
462
496
  y: any;
463
497
  readonly pid: number;
@@ -519,10 +553,6 @@ declare enum LegendPosition {
519
553
  PLOT = "plot",
520
554
  SUBPLOT = "subplot"
521
555
  }
522
- declare enum LegendAlignBase {
523
- CHART = "chart",
524
- PLOT = "plot"
525
- }
526
556
  declare enum LegendLayout {
527
557
  AUTO = "auto",
528
558
  HORIZONTAL = "horizontal",
@@ -536,7 +566,7 @@ declare class Legend extends ChartItem {
536
566
  constructor(chart: IChart);
537
567
  position: LegendPosition;
538
568
  layout: LegendLayout;
539
- alignBase: LegendAlignBase;
569
+ alignBase: AlignBase;
540
570
  left: number;
541
571
  right: number;
542
572
  top: number;
@@ -545,7 +575,8 @@ declare class Legend extends ChartItem {
545
575
  itemGap: number;
546
576
  markerGap: number;
547
577
  backgroundStyles: SVGStyleOrClass;
548
- itemsPerRow: number;
578
+ itemsPerLine: number;
579
+ lineGap: number;
549
580
  maxWidth: RtPercentSize;
550
581
  maxHeight: RtPercentSize;
551
582
  items(): LegendItem[];
@@ -553,10 +584,10 @@ declare class Legend extends ChartItem {
553
584
  isVisible(): boolean;
554
585
  getPosition(): LegendPosition;
555
586
  getLayout(): LegendLayout;
556
- prepareRender(): void;
557
587
  getMaxWidth(domain: number): number;
558
588
  getMaxHeight(domain: number): number;
559
589
  protected _doLoad(src: any): void;
590
+ protected _doPrepareRender(chart: IChart): void;
560
591
  private $_collectItems;
561
592
  }
562
593
 
@@ -586,6 +617,7 @@ declare enum PointItemPosition {
586
617
  declare class DataPointLabel extends FormattableText {
587
618
  position: PointItemPosition;
588
619
  offset: number;
620
+ distance: number;
589
621
  constructor(chart: IChart);
590
622
  getText(value: any): string;
591
623
  }
@@ -678,10 +710,12 @@ interface ISeries extends IPlottingItem {
678
710
  getValue(point: DataPoint, axis: IAxis): number;
679
711
  isVisible(p: DataPoint): boolean;
680
712
  }
681
- interface DataPointArgs {
713
+ interface IPointStyleArgs {
682
714
  series: string | number;
683
715
  count: number;
684
716
  vcount: number;
717
+ yMin: number;
718
+ yMax: number;
685
719
  index: number;
686
720
  vindex: number;
687
721
  x: any;
@@ -689,6 +723,7 @@ interface DataPointArgs {
689
723
  xValue: any;
690
724
  yValue: any;
691
725
  }
726
+ type PointStyleCallback = (args: IPointStyleArgs) => SVGStyleOrClass;
692
727
  declare abstract class Series extends ChartItem implements ISeries, ILegendSource {
693
728
  static _loadSeries(chart: IChart, src: any, defType?: string): Series;
694
729
  readonly name: string;
@@ -706,6 +741,7 @@ declare abstract class Series extends ChartItem implements ISeries, ILegendSourc
706
741
  _maxValue: number;
707
742
  _referents: Series[];
708
743
  _calcedColor: string;
744
+ protected _pointArgs: IPointStyleArgs;
709
745
  constructor(chart: IChart, name?: string);
710
746
  abstract _type(): string;
711
747
  zOrder: number;
@@ -720,10 +756,12 @@ declare abstract class Series extends ChartItem implements ISeries, ILegendSourc
720
756
  color: string;
721
757
  pointColors: boolean | string[];
722
758
  clipped: boolean;
759
+ pointStyleCallback: PointStyleCallback;
723
760
  contains(p: DataPoint): boolean;
724
761
  getPoints(): DataPointCollection;
725
762
  getLabeledPoints(): DataPoint[];
726
763
  getVisiblePoints(): DataPoint[];
764
+ pointLabelCount(): number;
727
765
  isEmpty(): boolean;
728
766
  needAxes(): boolean;
729
767
  canCategorized(): boolean;
@@ -747,6 +785,7 @@ declare abstract class Series extends ChartItem implements ISeries, ILegendSourc
747
785
  prepareRender(): void;
748
786
  collectCategories(axis: IAxis): string[];
749
787
  collectValues(axis: IAxis, vals: number[]): void;
788
+ collectVisibles(): DataPoint[];
750
789
  pointValuesPrepared(axis: IAxis): void;
751
790
  reference(other: Series, axis: IAxis): void;
752
791
  isVisible(point: DataPoint): boolean;
@@ -755,6 +794,10 @@ declare abstract class Series extends ChartItem implements ISeries, ILegendSourc
755
794
  getLabelOff(off: number): number;
756
795
  referBy(ref: Series): void;
757
796
  setPointVisible(p: DataPoint, visible: boolean): void;
797
+ protected _createPointArgs(): IPointStyleArgs;
798
+ protected _preparePointArgs(args: IPointStyleArgs): void;
799
+ protected _getPointStyleArgs(args: IPointStyleArgs, p: DataPoint): void;
800
+ getPointStyle(p: DataPoint): any;
758
801
  _referOtherSeries(series: Series): boolean;
759
802
  protected _getField(axis: IAxis): any;
760
803
  _colorByPoint(): boolean;
@@ -763,7 +806,6 @@ declare abstract class Series extends ChartItem implements ISeries, ILegendSourc
763
806
  protected _doLoadPoints(src: any[]): void;
764
807
  protected _doPrepareRender(): void;
765
808
  prepareAfter(): void;
766
- _getPointArgs(p: DataPoint): DataPointArgs;
767
809
  }
768
810
  declare class PlottingItemCollection {
769
811
  readonly chart: IChart;
@@ -855,6 +897,7 @@ interface IAxis {
855
897
  getValue(value: any): number;
856
898
  parseValue(value: any): number;
857
899
  contains(value: number): boolean;
900
+ incStep(value: number, step: any): number;
858
901
  getPosition(length: number, value: number, point?: boolean): number;
859
902
  getUnitLength(length: number, value: number): number;
860
903
  }
@@ -958,8 +1001,8 @@ declare abstract class Axis extends ChartItem implements IAxis {
958
1001
  abstract type(): string;
959
1002
  position: AxisPosition;
960
1003
  reversed: boolean;
961
- min: number;
962
- max: number;
1004
+ minValue: number;
1005
+ maxValue: number;
963
1006
  marginNear: number;
964
1007
  marginFar: number;
965
1008
  isEmpty(): boolean;
@@ -980,6 +1023,7 @@ declare abstract class Axis extends ChartItem implements IAxis {
980
1023
  abstract getUnitLength(length: number, value: number): number;
981
1024
  getLabelLength(length: number, value: number): number;
982
1025
  getValue(value: any): number;
1026
+ incStep(value: number, step: any): number;
983
1027
  parseValue(value: any): number;
984
1028
  contains(value: number): boolean;
985
1029
  protected _doLoadProp(prop: string, value: any): boolean;
@@ -1045,8 +1089,15 @@ declare class Body extends ChartItem {
1045
1089
  protected _doPrepareRender(chart: IChart): void;
1046
1090
  }
1047
1091
 
1092
+ declare enum PaletteMode {
1093
+ NORMAL = "normal",
1094
+ MIXED = "mixed",
1095
+ RANDOM = "random"
1096
+ }
1097
+
1048
1098
  declare class Title extends ChartItem {
1049
1099
  text: string;
1100
+ alignBase: AlignBase;
1050
1101
  align: Align;
1051
1102
  backgroundStyle: SVGStyleOrClass;
1052
1103
  isVisible(): boolean;
@@ -1105,6 +1156,7 @@ declare class Credits extends ChartItem {
1105
1156
  declare class ChartOptions extends ChartItem {
1106
1157
  theme: string;
1107
1158
  palette: string;
1159
+ paletteMode: PaletteMode;
1108
1160
  animatable: boolean;
1109
1161
  xStart: number | string;
1110
1162
  xStep: number | string;
@@ -1272,16 +1324,17 @@ declare class ElementPool<T extends RcElement> extends RcObject {
1272
1324
  get(index: number): T;
1273
1325
  getAll(): T[];
1274
1326
  elementOf(dom: Element): T;
1327
+ find(matcher: (v: T) => boolean): T;
1328
+ setRemoveDelay(v: number): ElementPool<T>;
1329
+ removeLater(v: RcElement, duration: number): void;
1275
1330
  private $_create;
1276
1331
  prepare(count: number, visitor?: Visitor<T>, initor?: Visitor<T>): ElementPool<T>;
1277
1332
  reprepare(viewProp: string, objs: RcObject[], objProp: string, cleaner?: Visitor<T>, initor?: Visitor<T>, visitor?: Visitor<T>): ElementPool<T>;
1278
1333
  borrow(): T;
1279
1334
  free(element: T, removeDelay?: number): void;
1280
1335
  freeAll(elements: T[], removeDelay?: number): void;
1281
- fadeout(element: T, removeDelay: number, startOpacity?: number): void;
1282
1336
  forEach(visitor: (v: T, i?: number, count?: number) => void): void;
1283
1337
  visit(visitor: (v: T, i: number, count: number) => boolean): boolean;
1284
- find(visitor: (v: T) => boolean): T;
1285
1338
  sort(compare: (v1: T, v2: T) => number): ElementPool<T>;
1286
1339
  map(callback: (v: T) => any): any[];
1287
1340
  }
@@ -1297,6 +1350,7 @@ declare abstract class RcAnimation {
1297
1350
  private _timer;
1298
1351
  private _handler;
1299
1352
  start(): void;
1353
+ stop(): void;
1300
1354
  protected _start(duration: number, delay?: number, easing?: string): void;
1301
1355
  protected _stop(): void;
1302
1356
  protected _doStart(): void;
@@ -1327,16 +1381,15 @@ declare class PointLabelView extends LabelElement {
1327
1381
  moving: boolean;
1328
1382
  constructor(doc: Document);
1329
1383
  }
1330
- declare class PointLabelContainer extends GroupElement {
1384
+ declare class PointLabelContainer extends LayerElement {
1331
1385
  private _labels;
1332
1386
  private _maps;
1333
1387
  constructor(doc: Document);
1334
1388
  clear(): void;
1335
1389
  prepareLabel(doc: Document, view: PointLabelView, index: number, p: DataPoint, model: DataPointLabel): void;
1336
- prepare(doc: Document, model: Series): void;
1390
+ prepare(doc: Document, owner: SeriesView<Series>): void;
1337
1391
  get(point: DataPoint, index: number): PointLabelView;
1338
- borrow(index: number): PointLabelView;
1339
- free(index: number, view: PointLabelView, removeDelay?: number): void;
1392
+ removePoint(p: DataPoint, delay: number): void;
1340
1393
  }
1341
1394
  declare class PointContainer extends LayerElement {
1342
1395
  inverted: boolean;
@@ -1357,7 +1410,7 @@ declare abstract class SeriesView<T extends Series> extends ChartElement<T> {
1357
1410
  static readonly POINT_CLASS = "rct-point";
1358
1411
  static readonly DATA_FOUCS = "focus";
1359
1412
  protected _pointContainer: PointContainer;
1360
- private _labelContainer;
1413
+ protected _labelContainer: PointLabelContainer;
1361
1414
  private _trendLineView;
1362
1415
  protected _visPoints: DataPoint[];
1363
1416
  protected _inverted: boolean;
@@ -1368,12 +1421,14 @@ declare abstract class SeriesView<T extends Series> extends ChartElement<T> {
1368
1421
  getClipContainer(): RcElement;
1369
1422
  setViewRate(rate: number): void;
1370
1423
  setPosRate(rate: number): void;
1424
+ isPointVisible(p: DataPoint): boolean;
1371
1425
  protected _doViewRateChanged(rate: number): void;
1372
1426
  _setChartOptions(inverted: boolean, animatable: boolean): void;
1373
1427
  _animationStarted(ani: Animation): void;
1374
1428
  _animationFinished(ani: Animation): void;
1375
1429
  protected abstract _getPointPool(): ElementPool<RcElement>;
1376
1430
  pointByDom(elt: Element): IPointView;
1431
+ findPointView(p: DataPoint): RcElement;
1377
1432
  clicked(elt: Element): void;
1378
1433
  protected _doPointClicked(view: IPointView): void;
1379
1434
  protected _getColor(): string;
@@ -1381,7 +1436,9 @@ declare abstract class SeriesView<T extends Series> extends ChartElement<T> {
1381
1436
  protected _doLayout(): void;
1382
1437
  protected abstract _prepareSeries(doc: Document, model: T): void;
1383
1438
  protected abstract _renderSeries(width: number, height: number): void;
1384
- protected _setColorIndex(v: RcElement, p: DataPoint): void;
1439
+ protected _prepareVisPoints(model: T): DataPoint[];
1440
+ private $_setColorIndex;
1441
+ protected _setPointStyle(v: RcElement, p: DataPoint, styles?: any[]): void;
1385
1442
  protected _labelViews(): PointLabelContainer;
1386
1443
  protected _getViewRate(): number;
1387
1444
  protected _animating(): boolean;
@@ -1457,6 +1514,7 @@ declare class BodyView extends ChartElement<Body> {
1457
1514
  pointerMoved(p: IPoint, target: EventTarget): void;
1458
1515
  private $_setFocused;
1459
1516
  seriesByDom(elt: Element): SeriesView<Series>;
1517
+ findSeries(ser: Series): SeriesView<Series>;
1460
1518
  protected _doMeasure(doc: Document, model: Body, hintWidth: number, hintHeight: number, phase: number): ISize;
1461
1519
  protected _doLayout(): void;
1462
1520
  private $_createSeriesView;
@@ -1511,6 +1569,7 @@ declare class ChartView extends RcElement {
1511
1569
  hideTooltip(): void;
1512
1570
  legendByDom(dom: Element): LegendItem;
1513
1571
  seriesByDom(dom: Element): SeriesView<Series>;
1572
+ findSeriesView(series: Series): SeriesView<Series>;
1514
1573
  creditByDom(dom: Element): CreditView;
1515
1574
  clipSeries(view: RcElement, x: number, y: number, w: number, h: number, invertable: boolean): void;
1516
1575
  protected _doAttached(parent: RcElement): void;
@@ -1531,20 +1590,27 @@ declare class ChartControl extends RcControl implements IChartEventListener {
1531
1590
  set model(value: Chart);
1532
1591
  chartView(): ChartView;
1533
1592
  refresh(): void;
1534
- update(config: any, loadAnimation?: boolean): void;
1593
+ load(config: any, loadAnimation?: boolean): void;
1535
1594
  useImage(src: string): void;
1536
1595
  protected _doRender(bounds: IRect): void;
1537
1596
  protected _doRenderBackground(elt: HTMLDivElement, width: number, height: number): void;
1538
1597
  }
1539
1598
 
1599
+ declare class RcChartControl {
1600
+ private _proxy;
1601
+ constructor(control: ChartControl);
1602
+ load(config: any, animate?: boolean): void;
1603
+ refresh(): void;
1604
+ }
1605
+
1540
1606
  declare class Globals {
1541
1607
  static getVersion(): string;
1542
1608
  static setDebugging(debug: boolean): void;
1543
- static createChart(doc: Document, container: string | HTMLDivElement, config: any): ChartControl;
1609
+ static createChart(doc: Document, container: string | HTMLDivElement, config: any): RcChartControl;
1544
1610
  }
1545
1611
 
1546
1612
  declare const getVersion: typeof Globals.getVersion;
1547
1613
  declare const setDebugging: typeof Globals.setDebugging;
1548
1614
  declare const createChart: typeof Globals.createChart;
1549
1615
 
1550
- export { Chart, ChartControl, createChart, getVersion, setDebugging };
1616
+ export { RcChartControl, createChart, getVersion, setDebugging };