Skip to content

Commit be15ee5

Browse files
committed
Merge remote-tracking branch 'origin/main' into resolution
# Conflicts: # src/apps/weblib/cinterface.cpp # src/apps/weblib/cinterface.h # src/apps/weblib/interface.cpp # src/apps/weblib/interface.h # src/apps/weblib/ts-api/cvizzu.types.d.ts # src/apps/weblib/ts-api/module/cchart.ts # src/base/gui/widget.h # src/chart/main/chart.h # src/chart/ui/chart.cpp # src/chart/ui/chart.h # test/integration/test_cases/test_cases.json # test/integration/tests/config_tests.json # test/integration/tests/features.json # test/integration/tests/fixes.json
2 parents 1c47e4d + c16c294 commit be15ee5

File tree

2,913 files changed

+153231
-148693
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

2,913 files changed

+153231
-148693
lines changed

.eslintrc.cjs

+23-29
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,25 @@
11
module.exports = {
2-
env: {
3-
browser: true,
4-
jest: true
5-
},
6-
extends: ['standard', 'prettier'],
7-
root: true,
8-
parserOptions: {
9-
ecmaVersion: 'latest'
10-
},
11-
overrides: [
12-
{
13-
files: ['test/integration/test_cases/**', 'test/integration/test_data/**'],
14-
rules: {
15-
camelcase: 'off'
16-
}
17-
},
18-
{
19-
files: ['*.ts', '*.tsx'],
20-
extends: ['standard', 'prettier', 'plugin:@typescript-eslint/recommended'],
21-
parser: '@typescript-eslint/parser',
22-
plugins: ['@typescript-eslint'],
23-
rules: {
24-
'no-use-before-define': 'off',
25-
'@typescript-eslint/no-use-before-define': 'error',
26-
'@typescript-eslint/explicit-function-return-type': ['error']
27-
}
28-
}
29-
],
30-
ignorePatterns: ['**/dist/**', '!.puppeteerrc.cjs']
2+
overrides: [
3+
{
4+
files: ['*.ts', '*.tsx'],
5+
extends: ['@vizzu/eslint-config/typescript'],
6+
rules: {
7+
'no-use-before-define': 'off',
8+
'@typescript-eslint/no-use-before-define': 'error',
9+
'@typescript-eslint/explicit-function-return-type': ['error']
10+
}
11+
},
12+
{
13+
files: ['*.js', '*.mjs', '*.cjs'],
14+
extends: ['@vizzu/eslint-config/standard']
15+
},
16+
{
17+
files: ['test/e2e/test_cases/**', 'test/e2e/test_data/**'],
18+
extends: ['@vizzu/eslint-config/standard'],
19+
rules: {
20+
camelcase: 'off'
21+
}
22+
}
23+
],
24+
ignorePatterns: ['**/dist/**']
3125
}

.github/workflows/cd.yml

+8-8
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
name: CD
22

33
on:
4-
release:
5-
types: [published]
4+
release:
5+
types: [published]
66

77
jobs:
8-
release:
9-
runs-on: ubuntu-22.04
8+
publish:
9+
runs-on: ubuntu-22.04
1010

11-
steps:
12-
- name: Trigger Cloud Build
13-
run: |
14-
curl -X POST -H "Content-type: application/json" "https://cloudbuild.googleapis.com/v1/projects/vizzu-ci/triggers/vizzu-lib-release:webhook?key=${{ secrets.VIZZUHQ_GCP_BUILD }}" -d "{}"
11+
steps:
12+
- name: Trigger Cloud Build
13+
run: |
14+
curl -X POST -H "Content-type: application/json" "https://cloudbuild.googleapis.com/v1/projects/vizzu-ci/triggers/vizzu-lib-release:webhook?key=${{ secrets.VIZZUHQ_GCP_BUILD }}" -d "{}"
+22-20
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,29 @@
1-
name: Docker Build and Push vizzu-dev-desktop
1+
name: Docker publish vizzu-dev-desktop
22

33
on:
4-
push:
5-
branches-ignore:
6-
- main
7-
paths:
8-
- '**/vizzu-dev-desktop'
9-
- '**/docker-vizzu-dev-desktop.yml'
4+
push:
5+
branches-ignore:
6+
- main
7+
paths:
8+
- '**/vizzu-dev-desktop'
9+
- '**/docker-vizzu-dev-desktop.yml'
1010

1111
jobs:
12-
build-and-push:
13-
runs-on: ubuntu-22.04
12+
publish:
13+
runs-on: ubuntu-22.04
1414

15-
steps:
16-
- name: Checkout code
17-
uses: actions/checkout@v3
15+
steps:
16+
- name: Checkout repo
17+
uses: actions/checkout@v3
18+
with:
19+
fetch-depth: 1
1820

19-
- name: Login to Docker Hub
20-
run: echo ${{ secrets.VIZZUHQ_DOCKER_API }} | docker login -u ${{ secrets.VIZZUHQ_DOCKER_USER }} --password-stdin
21+
- name: Login to Docker
22+
run: echo ${{ secrets.VIZZUHQ_DOCKER_API }} | docker login -u ${{ secrets.VIZZUHQ_DOCKER_USER }} --password-stdin
2123

22-
- name: Build and Push Docker Image
23-
run: |
24-
IMAGE="vizzu-dev-desktop"
25-
IMAGE_NAME="vizzu/$IMAGE:0.9"
26-
docker build -t $IMAGE_NAME -f tools/ci/docker/$IMAGE .
27-
docker push $IMAGE_NAME
24+
- name: Build and Publish
25+
run: |
26+
IMAGE="vizzu-dev-desktop"
27+
IMAGE_NAME="vizzu/$IMAGE:0.10"
28+
docker build -t $IMAGE_NAME -f tools/ci/docker/$IMAGE .
29+
docker push $IMAGE_NAME
+22-20
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,29 @@
1-
name: Docker Build and Push vizzu-dev-wasm
1+
name: Docker publish vizzu-dev-wasm
22

33
on:
4-
push:
5-
branches-ignore:
6-
- main
7-
paths:
8-
- '**/vizzu-dev-wasm'
9-
- '**/docker-vizzu-dev-wasm.yml'
4+
push:
5+
branches-ignore:
6+
- main
7+
paths:
8+
- '**/vizzu-dev-wasm'
9+
- '**/docker-vizzu-dev-wasm.yml'
1010

1111
jobs:
12-
build-and-push:
13-
runs-on: ubuntu-22.04
12+
publish:
13+
runs-on: ubuntu-22.04
1414

15-
steps:
16-
- name: Checkout code
17-
uses: actions/checkout@v3
15+
steps:
16+
- name: Checkout repo
17+
uses: actions/checkout@v3
18+
with:
19+
fetch-depth: 1
1820

19-
- name: Login to Docker Hub
20-
run: echo ${{ secrets.VIZZUHQ_DOCKER_API }} | docker login -u ${{ secrets.VIZZUHQ_DOCKER_USER }} --password-stdin
21+
- name: Login to Docker
22+
run: echo ${{ secrets.VIZZUHQ_DOCKER_API }} | docker login -u ${{ secrets.VIZZUHQ_DOCKER_USER }} --password-stdin
2123

22-
- name: Build and Push Docker Image
23-
run: |
24-
IMAGE="vizzu-dev-wasm"
25-
IMAGE_NAME="vizzu/$IMAGE:0.9"
26-
docker build -t $IMAGE_NAME -f tools/ci/docker/$IMAGE .
27-
docker push $IMAGE_NAME
24+
- name: Build and Publish
25+
run: |
26+
IMAGE="vizzu-dev-wasm"
27+
IMAGE_NAME="vizzu/$IMAGE:0.10"
28+
docker build -t $IMAGE_NAME -f tools/ci/docker/$IMAGE .
29+
docker push $IMAGE_NAME

.github/workflows/slack.yml

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
name: Notify on merged PR
2+
on:
3+
pull_request:
4+
types:
5+
- closed
6+
7+
jobs:
8+
notify_merged_pr:
9+
name: Notify on merged PR
10+
runs-on: ubuntu-22.04
11+
if: ${{ github.event.pull_request.merged == true }}
12+
steps:
13+
- uses: abinoda/slack-action@master
14+
env:
15+
SLACK_BOT_TOKEN: ${{ secrets.VIZZUHQ_SLACK_API }}
16+
with:
17+
args: '{\"channel\":\"${{ secrets.VIZZUHQ_SLACK_CHANNEL }}\",\"blocks\":[{\"type\":\"section\",\"text\":{\"type\":\"mrkdwn\",\"text\":\"*REPO:* vizzu-lib\n*PR:* ${{ github.event.pull_request.title }}\n*Description :* ${{ github.event.pull_request.body }}\n*Opened by :* ${{ github.event.pull_request.user.login }}\n*Merged at:* ${{ github.event.pull_request.merged_at }}\n<${{ github.event.pull_request.html_url }}|View PR>\"}}]}'
18+
if: success()

.gitignore

+3
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ dist
66
.coverage
77
test_report
88
test_report.tgz
9+
*.ppt
10+
*.pptx
11+
*.ipynb
912

1013
__pycache__
1114

.prettierrc

-8
This file was deleted.

.puppeteerrc.cjs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
const { join } = require('path')
22

33
module.exports = {
4-
cacheDirectory: join(__dirname, 'node_modules', '.cache', 'puppeteer')
4+
cacheDirectory: join(__dirname, 'node_modules', '.cache', 'puppeteer')
55
}

CHANGELOG.md

+74-6
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,83 @@
44

55
### Fixed
66

7-
- When only logo rendered chart resized, the previous drawn logo position was not deleted.
8-
- At the mouse events the lib is not queried the exact rendered chart position through API.
9-
- On axis labels sometimes missed a space character between value and unit.
10-
- Rendered label units are suddenly disappeared when target plot does not contain a unit.
7+
- next() can be called multiple times from Plugin hooks
8+
- Line and circle chats with only dimensions on x, and y axes the markers were off the axis labels.
9+
- Crash on TreeMap only with negative values
10+
- On dimension axis where no marker, print the dimension name as default title.
11+
- On measure axis with specified channel min-max where no marker, print the labels.
12+
- Legend markers are not flickering on same data.
13+
- From now legend appears/disappears linear time.
14+
- Axis labels are not animated to a different axis label.
15+
- Dimension axis density on sorted values was wrongly calculated.
16+
- Tooltip with 'seriesName' does not rewrite first series data.
17+
- Handle as different category the empty string and the missing value.
18+
- On chart resize, the font size is recalculated.
1119

1220
### Added
1321

14-
- Units on legend.
22+
- New plugins and plugin hooks introduced:
23+
- plugin: scheduler - plugin resposible for scheduling the rendering
24+
- plugin: clock - supplying the current time for the animation
25+
- plugin: canvasRenderer - plugin for rendering the chart on a htmlcanvas compatible canvas
26+
- hook: start - hook for starting the rendering loop
27+
- hook: render - hook for rendering the chart
28+
- Chart generation performance optimization: ~3x speed
29+
- Maximum marker limit increased: ~2x count
30+
- Reduced wasm binary size: ~3%
31+
32+
## [0.10.1] - 2024-03-12
33+
34+
### Added
35+
36+
- Updated `type-fest` dependency version to `4.12.0`
37+
38+
## [0.10.0] - 2024-03-11
39+
40+
### Fixed
41+
42+
- Json serializer control character escape fixed. Some unicode characters
43+
were not escaped properly.
44+
- Fix dimension label transition on axis and legend.
45+
- Through event handler call, when a new event handler is registered, undefined behaviour happened.
46+
- Fixed channel reset with empty array when shorthands plugin switched off.
47+
- Legend label outerRect was not properly calculated.
48+
- Line chart connector circles color was not contained the alpha channel.
49+
- Line chart draws was overwrite the event's settings.
50+
- Legend title outerRect was not properly calculated.
51+
- Fixed stacked empty min/max aggregated values.
52+
- Fixed error when an animation triggered during tooptip activation which removed the corresopnding marker.
53+
54+
### Added
55+
56+
- In config channels, data series and their aggregators can be specified separately
57+
in a descriptor object, besides encoding them into one string (old way).
58+
- Added optional `categories` member to the `legend-marker`, `legend-label` and `plot-axis-label` events.
59+
- Remove unused marker selection and selected marker coloring.
60+
- Removed marker's alpha color when tooltip is shown.
61+
- Remove cursor modification over logo.
62+
- Make `channel.step` option to work on dimensions.
63+
- When X axis dimension labels are close to each other, they are rotated to avoid overlapping.
64+
- The event handler registration order changed. Now the handlers are called in the opposite order of the registration.
65+
- Added the padded rectangle, the bounding rectangle and the align parameter to the draw text event object.
66+
- Tooltip works on marker labels too.
67+
68+
## [0.9.3] - 2023-12-20
69+
70+
### Fixed
71+
72+
- Orientation and channel min/max cannot be null, only auto
73+
- Corrected listing of Type-fest dependency from development to normal.
74+
- Added missing `cvizzu.d.ts` and `cvizzu.types.d.ts` to the npm package.
75+
- Logo positioning issue in charts when only the logo is rendered and the chart is resized.
76+
- API issue where exact chart position was not accurately queried during mouse events.
77+
- Missing space between value and unit in axis labels.
78+
- Bug fixed where rendered label units disappeared when target plot did not contain a unit.
79+
- Configuration of experimental plot rotation feature changed from relative `rotate` to absolute `angle`.
80+
81+
### Added
82+
83+
- Units on legend.
1584

1685
## [0.9.2] - 2023-11-22
1786

@@ -20,7 +89,6 @@
2089
- Fixed redraw on browser zoom (bug since 0.9.0).
2190
- Fixed clearing of the canvas before rendering when devicePixelRatio is not 1.
2291
- TypeScript definition fixed, measures can contain null values.
23-
- Orientation and channel min/max cannot be null, only auto
2492

2593
### Added
2694

0 commit comments

Comments
 (0)