Skip to content

Commit c377592

Browse files
authored
Implemented usage of new styles and updated packages (#131)
* Implemented usage of new styles and updated packages * Updated packages
1 parent 8fed00e commit c377592

9 files changed

Lines changed: 523 additions & 337 deletions

File tree

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
## Changelog
22

3+
## 8.1.0
4+
5+
* Added `fontWeight`, `fontStyle`, `textDecoration` to `LegendData` interface
6+
* Added `fontWeight`, `fontStyle`, `textDecoration` to `LabelOld` interface
7+
* Updated packages
8+
39
## 8.0.0
410

511
### Module `axis`

package-lock.json

Lines changed: 471 additions & 319 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "powerbi-visuals-utils-chartutils",
3-
"version": "8.0.0",
3+
"version": "8.1.0",
44
"description": "ChartUtils",
55
"main": "lib/index.js",
66
"module": "lib/index.js",
@@ -35,16 +35,16 @@
3535
"devDependencies": {
3636
"@types/d3-array": "^3.2.1",
3737
"@types/d3-axis": "^3.0.6",
38-
"@types/d3-scale": "^4.0.8",
38+
"@types/d3-scale": "^4.0.9",
3939
"@types/d3-selection": "^3.0.11",
4040
"@types/d3-transition": "^3.0.9",
41-
"@types/jasmine": "^5.1.4",
42-
"@typescript-eslint/eslint-plugin": "^8.12.2",
43-
"@typescript-eslint/parser": "^8.12.2",
41+
"@types/jasmine": "^5.1.7",
42+
"@typescript-eslint/eslint-plugin": "^8.31.0",
43+
"@typescript-eslint/parser": "^8.31.0",
4444
"coverage-istanbul-loader": "3.0.5",
45-
"eslint": "^9.13.0",
45+
"eslint": "^9.25.1",
4646
"eslint-plugin-powerbi-visuals": "^1.0.0",
47-
"jasmine": "5.4.0",
47+
"jasmine": "5.6.0",
4848
"karma": "^6.4.4",
4949
"karma-chrome-launcher": "^3.2.0",
5050
"karma-coverage": "^2.2.1",
@@ -53,16 +53,16 @@
5353
"karma-sourcemap-loader": "^0.4.0",
5454
"karma-typescript": "^5.5.4",
5555
"karma-webpack": "5.0.1",
56-
"less": "^4.2.0",
56+
"less": "^4.3.0",
5757
"lodash.union": "4.6.0",
58-
"playwright-chromium": "^1.48.2",
58+
"playwright-chromium": "^1.52.0",
5959
"powerbi-visuals-api": "^5.11.0",
6060
"powerbi-visuals-utils-colorutils": "^6.0.5",
6161
"powerbi-visuals-utils-testutils": "^6.1.1",
62-
"ts-loader": "^9.5.1",
62+
"ts-loader": "^9.5.2",
6363
"ts-node": "^10.9.2",
64-
"typescript": "^5.5.0",
65-
"webpack": "^5.96.1"
64+
"typescript": "^5.8.3",
65+
"webpack": "^5.99.6"
6666
},
6767
"dependencies": {
6868
"d3-array": "^3.2.4",
@@ -73,7 +73,7 @@
7373
"powerbi-visuals-utils-formattingutils": "^6.1.2",
7474
"powerbi-visuals-utils-svgutils": "^6.0.4",
7575
"powerbi-visuals-utils-typeutils": "^6.0.3",
76-
"typescript-eslint": "^8.12.2"
76+
"typescript-eslint": "^8.31.0"
7777
},
7878
"optionalDependencies": {
7979
"fsevents": "2.3.3"

src/label/fontProperties.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ export interface FontProperties {
3535
readonly variant?: string;
3636
readonly weight?: string;
3737
readonly whiteSpace?: string;
38+
readonly decoration?: string;
3839
}
3940

4041
export interface MutableFontProperties {

src/label/labelLayout.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -389,6 +389,15 @@ export interface LabelOld extends ISelectableDataPoint{
389389
/** A text anchor used to override the default label text-anchor (middle) */
390390
textAnchor?: string;
391391

392+
/** The font weight of the data label */
393+
fontWeight?: string;
394+
395+
/** The font style of the data label */
396+
fontStyle?: string;
397+
398+
/** The text decoration of the data label */
399+
textDecoration?: string;
400+
392401
/** points for reference line rendering */
393402
leaderLinePoints?: number[][];
394403

src/label/labelUtils.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -113,9 +113,12 @@ export function downgradeToOldLabels(labels: Label[]): LabelOld[] {
113113
const inheritedLabel: Label = { ...label };
114114
inheritedLabel.fontProperties = null;
115115
const oldLabel: LabelOld = <any>inheritedLabel;
116-
oldLabel.fill = label.fontProperties ? label.fontProperties.color : undefined;
117-
oldLabel.fontSize = (label.fontProperties && label.fontProperties.size) ? label.fontProperties.size.pt : undefined;
118-
oldLabel.fontFamily = label.fontProperties ? label.fontProperties.family : undefined;
116+
oldLabel.fill = label?.fontProperties?.color;
117+
oldLabel.fontSize = label?.fontProperties?.size?.pt;
118+
oldLabel.fontFamily = label?.fontProperties?.family;
119+
oldLabel.fontWeight = label?.fontProperties?.weight;
120+
oldLabel.fontStyle = label?.fontProperties?.style;
121+
oldLabel.textDecoration = label?.fontProperties?.decoration;
119122
return oldLabel;
120123
});
121124
}

src/label/newDataLabelUtils.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,10 @@ export function drawDefaultLabels(
103103
.style("fill", (d: LabelOld) => d.fill)
104104
.style("font-size", (d: LabelOld) => pixelConverter.fromPoint(d.fontSize || DefaultLabelFontSizeInPt))
105105
.style("font-family", (d: LabelOld) => d.fontFamily ? d.fontFamily : undefined)
106-
.style("text-anchor", (d: LabelOld) => d.textAnchor);
106+
.style("text-anchor", (d: LabelOld) => d.textAnchor)
107+
.style("font-weight", (d: LabelOld) => d.fontWeight)
108+
.style("font-style", (d: LabelOld) => d.fontStyle)
109+
.style("text-decoration", (d: LabelOld) => d.textDecoration)
107110

108111
if (hasTooltip) {
109112
labels.append("title").text((d: LabelOld) => d.tooltip);

src/legend/legendInterfaces.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,9 @@ export interface LegendData {
8484
labelColor?: string;
8585
fontSize?: number;
8686
fontFamily?: string;
87+
fontWeight?: string;
88+
fontStyle?: string;
89+
textDecoration?: string;
8790
}
8891

8992
export const legendProps = {
@@ -93,6 +96,9 @@ export const legendProps = {
9396
showTitle: "showTitle",
9497
labelColor: "labelColor",
9598
fontSize: "fontSize",
99+
fontWeight: "fontWeight",
100+
fontStyle: "fontStyle",
101+
textDecoration: "textDecoration",
96102
};
97103

98104
export interface ILegend {

src/legend/svgLegend.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -305,6 +305,9 @@ export class SVGLegend implements ILegend {
305305
.style("fill", data.labelColor)
306306
.style("font-size", PixelConverter.fromPoint(data.fontSize))
307307
.style("font-family", data.fontFamily)
308+
.style("font-weight", data.fontWeight)
309+
.style("font-style", data.fontStyle)
310+
.style("text-decoration", data.textDecoration)
308311
.text((d: TitleLayout) => d.text)
309312
.attr("x", (d: TitleLayout) => d.x)
310313
.attr("y", (d: TitleLayout) => d.y)
@@ -392,7 +395,10 @@ export class SVGLegend implements ILegend {
392395
.text((d: LegendDataPoint) => d.label)
393396
.style("fill", data.labelColor)
394397
.style("font-size", PixelConverter.fromPoint(data.fontSize))
395-
.style("font-family", data.fontFamily);
398+
.style("font-family", data.fontFamily)
399+
.style("font-weight", data.fontWeight)
400+
.style("font-style", data.fontStyle)
401+
.style("text-decoration", data.textDecoration);
396402

397403
legendItems
398404
.exit()

0 commit comments

Comments
 (0)