open-index/open-npm huggingface dataset:
npm package: @geoblocks/d3-helper
Description: d3 helper classes
Author: Camptocamp SA
Latest version: 1.4.0

# d3-helper

Helper functions to create charts based on [d3](https://github.com/d3/d3).

This library provides some classes and functions for common operations with the d3 library.
It let you manage charts as you want.

## Use the code in a project.

Simply use it through [npm @geoblocks/d3-helper](https://www.npmjs.com/package/@geoblocks/d3-helper).
See the examples for more informations on how to set the basics of your charts.

### Overview

#### BaseD3ChartSVG

Class that provides functions to draw, clean and manage a SVG with a chart inside.

#### CartesianChart

 - Extends BaseD3ChartSVG.
 - Class that provides functions to manage cartesian charts (for bars, scatterplots, lines...)
 - Mainly manage the axes of cartesian charts.
 - Supported axes data types are: Date, number and text.

### Supported browsers

The code was only tested on moderns browsers. The source is only transpiled to modern `es`.
If your browser doesn't support the code, PR are welcome (updating your browser too).

## Run the examples

```
git clone git@github.com:geoblocks/d3-helper.git
npm install
npm run build
npm run start
```

Examples are now accessible at http://localhost:1234/

## Build the doc

`npm run doc`

Api doc is now accessible in folder `apidoc`

## Publish a new version to npm
```
npm version [<newversion> | major | minor | patch
npm run build && npm publish && git push --tags origin master
```

## Upcoming (probably):

* Tooltips helpers for data.
npm package: @geoblocks/edittrack
Description: Geoblocks edittrack
Latest version: 1.3.33

# Edittrack geoblock

## Description

Edittrack is a Javascript UI library to draw tracks along a network.
It has the following concepts:

- segments: straight lines or snapped linestrings;
- POIs: points with arbitrary position and meta data;
- control points: points along between segments that drives the modification of segments;
- routers: objects transforming a straight line to a snapped linestring along a network;
- profilers: objects adding 3d dimension to segments.

Current [router implementations](https://geoblocks.github.io/edittrack/api/modules/router.html):

- Graphhopper;
- OSRM.

Current [profiler implementations](https://geoblocks.github.io/edittrack/api/modules/profiler.html):

- Swisstopo;
- ExtractFromSegment.

The main class is the [TrackManager](https://geoblocks.github.io/edittrack/api/classes/interaction_TrackManager.default.html)

## Online doc and demos

- [Documentation](https://geoblocks.github.io/edittrack/api/);
- [simple](https://geoblocks.github.io/edittrack/simple.html);
- [schm](https://geoblocks.github.io/edittrack/schm.html).

## Local development

For local developpement we use a few demos.

```bash
npm install
npm run start
open http://localhost:1234/schm/schm.html?trackId=1250755006
open http://localhost:1234/simple/simple.html
```

## Publish a new version to npm

The source is transpiled to standard ES modules and published on npm.

```bash
# update CHANGES.md
npm version patch
npm publish
git push --tags origin master
npm run gh-pages
```