Browse Source

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

Reviewed-on: #4
pull/7/head
vargburz 5 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']
```
- `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.
```
{

43
src/index.ts

@ -807,37 +807,6 @@ abstract class ChartwerkPod<T extends Serie, O extends Options> {
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 {
// TODO: ticksCount === 0 -> suspicious option
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 {
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,
renderLegend: true,
margin: DEFAULT_MARGIN,
// remove options below
renderTicksfromTimestamps: false,
timeInterval: {
timeFormat: TimeFormat.MINUTE
},
eventsCallbacks: {},
}

12
src/types.ts

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

Loading…
Cancel
Save