Skip to content

Commit

Permalink
Skip all borders if borderSkipped === true (#10530)
Browse files Browse the repository at this point in the history
* Skip all borders if borderSkipped === true

This will allow you to skip all borders (not just one side) if you set borderSkipped to boolean true and so allow you to have a consistent legend marker even for bars without borders. Reason is that even if same colored borders are set there are artifacts that make the bar look bad and also even with inflateAmount the bars do look good when big but when only a few pixel in size they start to look bad too so this was the only way for me to make it work so legends are looking good and bars too.

* fix failing test, update docs and typings

* update typing comment

Co-authored-by: Istvan Petres <pijulius@users.noreply.github.com>
  • Loading branch information
LeeLenaleee and pijulius committed Jul 30, 2022
1 parent a31e1e5 commit 1fef75d
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 4 deletions.
5 changes: 3 additions & 2 deletions docs/charts/bar.md
Expand Up @@ -74,7 +74,7 @@ Only the `data` option needs to be specified in the dataset namespace.
| [`barPercentage`](#barpercentage) | `number` | - | - | `0.9` |
| [`barThickness`](#barthickness) | `number`\|`string` | - | - | |
| [`borderColor`](#styling) | [`Color`](../general/colors.md) | Yes | Yes | `'rgba(0, 0, 0, 0.1)'`
| [`borderSkipped`](#borderskipped) | `string` | Yes | Yes | `'start'`
| [`borderSkipped`](#borderskipped) | `string`\|`boolean` | Yes | Yes | `'start'`
| [`borderWidth`](#borderwidth) | `number`\|`object` | Yes | Yes | `0`
| [`borderRadius`](#borderradius) | `number`\|`object` | Yes | Yes | `0`
| [`categoryPercentage`](#categorypercentage) | `number` | - | - | `0.8` |
Expand Down Expand Up @@ -163,7 +163,8 @@ Options are:
* `'left'`
* `'top'`
* `'right'`
* `false`
* `false` (don't skip any borders)
* `true` (skip all borders)

#### borderWidth

Expand Down
5 changes: 5 additions & 0 deletions src/controllers/controller.bar.js
Expand Up @@ -208,6 +208,11 @@ function setBorderSkipped(properties, options, stack, index) {
return;
}

if (edge === true) {
properties.borderSkipped = {top: true, right: true, bottom: true, left: true};
return;
}

const {start, end, reverse, top, bottom} = borderProps(properties);

if (edge === 'middle' && stack) {
Expand Down
4 changes: 2 additions & 2 deletions types/index.esm.d.ts
Expand Up @@ -1984,10 +1984,10 @@ export interface BarOptions extends Omit<CommonElementOptions, 'borderWidth'> {
base: number;

/**
* Skipped (excluded) border: 'start', 'end', 'left', 'right', 'bottom', 'top', 'middle' or false (none).
* Skipped (excluded) border: 'start', 'end', 'left', 'right', 'bottom', 'top', 'middle', false (none) or true (all).
* @default 'start'
*/
borderSkipped: 'start' | 'end' | 'left' | 'right' | 'bottom' | 'top' | 'middle' | false;
borderSkipped: 'start' | 'end' | 'left' | 'right' | 'bottom' | 'top' | 'middle' | boolean;

/**
* Border radius
Expand Down

0 comments on commit 1fef75d

Please sign in to comment.