Browse Source

Merge pull request 'Remove unused methods and options' (#4) from remove-unused-methods into main

Reviewed-on: #4
pull/7/head
vargburz 6 months ago
parent
commit
1e0702a8b6
  1. 17
      README.md
  2. 43
      src/index.ts
  3. 5
      src/models/options.ts
  4. 12
      src/types.ts

17
README.md

@ -64,23 +64,6 @@ margin = {
['red', 'blue', 'green'] ['red', 'blue', 'green']
``` ```
- `timeInterval`: interval in minutes (max value = 60) affecting grid and x-axis ticks.
- `tickFormat`: config to control the axes ticks format.
```js
{
xAxis: string; // x-axis time format (see [d3-time-format](https://github.com/d3/d3-time-format#locale_format) }
xTickOrientation: TickOrientation; // horizontal, diagonal or vertical orientation
}
```
for example:
```js
{
xAxis: '%Y-%m-%d %H:%M',
xTickOrientation: TickOrientation.DIAGONAL
}
```
- `labelFormat`: labels for axes. - `labelFormat`: labels for axes.
``` ```
{ {

43
src/index.ts

@ -807,37 +807,6 @@ abstract class ChartwerkPod<T extends Serie, O extends Options> {
this.options.callbackZoomOut(centers); this.options.callbackZoomOut(centers);
} }
getd3TimeRangeEvery(count: number): d3.TimeInterval {
if(this.options.allOptions.timeInterval.timeFormat === undefined) {
return d3.timeMinute.every(count);
}
switch(this.options.allOptions.timeInterval.timeFormat) {
case TimeFormat.SECOND:
return d3.utcSecond.every(count);
case TimeFormat.MINUTE:
return d3.utcMinute.every(count);
case TimeFormat.HOUR:
return d3.utcHour.every(count);
case TimeFormat.DAY:
return d3.utcDay.every(count);
case TimeFormat.MONTH:
return d3.utcMonth.every(count);
case TimeFormat.YEAR:
return d3.utcYear.every(count);
default:
return d3.utcMinute.every(count);
}
}
get serieTimestampRange(): number | undefined {
if(!this.series.isSeriesAvailable) {
return undefined;
}
const startTimestamp = first(this.series.visibleSeries[0].datapoints)[0];
const endTimestamp = last(this.series.visibleSeries[0].datapoints)[0];
return (endTimestamp - startTimestamp) / 1000;
}
getAxisTicksFormatter(axisOptions: AxisOption): (d: any, i: number) => any { getAxisTicksFormatter(axisOptions: AxisOption): (d: any, i: number) => any {
// TODO: ticksCount === 0 -> suspicious option // TODO: ticksCount === 0 -> suspicious option
if(axisOptions.ticksCount === 0) { if(axisOptions.ticksCount === 0) {
@ -868,18 +837,6 @@ abstract class ChartwerkPod<T extends Serie, O extends Options> {
} }
} }
get timeInterval(): number {
if(this.series.isSeriesAvailable && this.series.visibleSeries[0].datapoints.length > 1) {
const interval = this.series.visibleSeries[0].datapoints[1][0] - this.series.visibleSeries[0].datapoints[0][0];
return interval;
}
if(this.options.allOptions.timeInterval.count !== undefined) {
//TODO: timeFormat to timestamp
return this.options.allOptions.timeInterval.count * MILISECONDS_IN_MINUTE;
}
return MILISECONDS_IN_MINUTE;
}
get width(): number { get width(): number {
return this.d3Node.node().clientWidth - this.margin.left - this.margin.right; return this.d3Node.node().clientWidth - this.margin.left - this.margin.right;
} }

5
src/models/options.ts

@ -90,11 +90,6 @@ export const CORE_DEFAULT_OPTIONS: Options = {
crosshair: DEFAULT_CROSSHAIR_OPTIONS, crosshair: DEFAULT_CROSSHAIR_OPTIONS,
renderLegend: true, renderLegend: true,
margin: DEFAULT_MARGIN, margin: DEFAULT_MARGIN,
// remove options below
renderTicksfromTimestamps: false,
timeInterval: {
timeFormat: TimeFormat.MINUTE
},
eventsCallbacks: {}, eventsCallbacks: {},
} }

12
src/types.ts

@ -34,10 +34,6 @@ export type Options = {
axis?: AxesOptions; axis?: AxesOptions;
grid?: GridOptions; grid?: GridOptions;
crosshair?: CrosshairOptions; crosshair?: CrosshairOptions;
timeInterval?: {
timeFormat?: TimeFormat;
count?: number;
};
zoomEvents?: ZoomEvents; zoomEvents?: ZoomEvents;
renderTicksfromTimestamps?: boolean; renderTicksfromTimestamps?: boolean;
renderLegend?: boolean; renderLegend?: boolean;
@ -148,10 +144,10 @@ export enum yAxisOrientation {
RIGHT = 'right', RIGHT = 'right',
} }
export type SvgElParams = { export type SvgElParams = {
height: number, height: number;
width: number, width: number;
xScale: d3.ScaleLinear<number, number>, xScale: d3.ScaleLinear<number, number>;
yScale: d3.ScaleLinear<number, number>, yScale: d3.ScaleLinear<number, number>;
} }
export type ZoomEvents = { export type ZoomEvents = {

Loading…
Cancel
Save