Skip to content

Commit

Permalink
v28.1.35 is released
Browse files Browse the repository at this point in the history
  • Loading branch information
pipeline committed Dec 18, 2024
1 parent 415453f commit b875752
Show file tree
Hide file tree
Showing 566 changed files with 67,185 additions and 742 deletions.
2 changes: 1 addition & 1 deletion controls/barcodegenerator/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## [Unreleased]

## 28.1.33 (2024-12-12)
## 28.1.35 (2024-12-18)

### Barcode

Expand Down
2 changes: 1 addition & 1 deletion controls/buttons/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## [Unreleased]

## 28.1.33 (2024-12-12)
## 28.1.35 (2024-12-18)

### Switch

Expand Down
12 changes: 12 additions & 0 deletions controls/charts/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,18 @@

## [Unreleased]

## 28.1.35 (2024-12-18)

### Chart

#### Bug Fixes

- `#I662154` - Axis labels are now rendered correctly in the exported PDF, even when headers and footers are included.
- `#I662546` - Tooltip highlighting functions correctly when the column series width is specified using `columnWidthInPixel`.
- `#I662277` - The intermediate sum index is no longer included in the calculation of the sum index.
- `#I663653` - Data labels are now rendered correctly when the intermediate sum index is empty.
- `#I663652` - The calculations for both sum and intermediate sum indexes have been corrected.

## 28.1.33 (2024-12-12)

### Chart
Expand Down
2 changes: 1 addition & 1 deletion controls/charts/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@syncfusion/ej2-charts",
"version": "20.22.1",
"version": "28.1.33",
"description": "Feature-rich chart control with built-in support for over 25 chart types, technical indictors, trendline, zooming, tooltip, selection, crosshair and trackball.",
"author": "Syncfusion Inc.",
"license": "SEE LICENSE IN license",
Expand Down
155 changes: 155 additions & 0 deletions controls/charts/spec/chart/axis/axis.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1909,6 +1909,161 @@ describe('Chart Control', () =>{
chart.enableRtl = true;
chart.appendTo('#container');
});
describe('Checking the titlePadding and labelPadding', function () {
let chart: Chart;
let ele: HTMLElement;
let loaded: EmitType<ILoadedEventArgs>;
let element: Element;
let posX: string;
beforeAll((): void => {
ele = createElement('div', { id: 'container' });
document.body.appendChild(ele);
chart = new Chart(
{
primaryXAxis: {
valueType: 'Category',
rangePadding: 'Normal',
title: 'Country',
},
primaryYAxis: {
title: 'PrimaryYAxis',
},
series: [{
dataSource: categoryData,
xName: 'x',
yName: 'y',
fill: 'red',
}],
height: '400px',
width: '900px',
});
});
afterAll((): void => {
chart.destroy();
ele.remove();
});
it('Checking yAxis with labelPosition Inside', (done: Function) => {
loaded = (args: Object): void => {
element = document.getElementById('container_AxisTitle_1');
let element1 = document.getElementById('container1_AxisLabel_6');
let titleX = element.getAttribute('x');
let titleY = element.getAttribute('y');
let labelX = element1.getAttribute('x');
let labelY = element1.getAttribute('y');
expect(titleX === '26.5' || titleX === '27.5').toBe(true);
expect(titleY === '176.875').toBe(true);
expect(labelX === '138' || labelX === '139').toBe(true);
expect(labelY === '107.25' || labelY === '106.5' ).toBe(true);
done();
};
chart.loaded = loaded;
chart.primaryYAxis.titlePadding = 50;
chart.primaryYAxis.labelPadding = 50;
chart.primaryYAxis.labelPosition = 'Inside';
chart.appendTo('#container');
});
it('Checking yAxis with tickPosition Inside', (done: Function) => {
loaded = (args: Object): void => {
element = document.getElementById('container_AxisTitle_1');
let element1 = document.getElementById('container1_AxisLabel_5');
let titleX = element.getAttribute('x');
let titleY = element.getAttribute('y');
let labelX = element1.getAttribute('x');
let labelY = element1.getAttribute('y');
expect(titleX === '71.5' || titleX === '72.5').toBe(true);
expect(titleY === '126.875').toBe(true);
expect(labelX === '82' || labelX === '83').toBe(true);
expect(labelY === '135').toBe(true);
done();
};
chart.loaded = loaded;
chart.primaryYAxis.labelPosition = 'Outside';
chart.primaryYAxis.tickPosition = 'Inside';
chart.appendTo('#container');
});
it('Checking yAxis with both Position Inside', (done: Function) => {
loaded = (args: Object): void => {
element = document.getElementById('container_AxisTitle_1');
let element1 = document.getElementById('container1_AxisLabel_4');
let titleX = element.getAttribute('x');
let titleY = element.getAttribute('y');
let labelX = element1.getAttribute('x');
let labelY = element1.getAttribute('y');
expect(titleX === '26.5' || titleX === '27.5').toBe(true);
expect(titleY === '176.875').toBe(true);
expect(labelX === '138' || labelX === '139').toBe(true);
expect(labelY === '190.25' || labelY === '189.5').toBe(true);
done();
};
chart.loaded = loaded;
chart.primaryYAxis.labelPosition = 'Inside';
chart.primaryYAxis.tickPosition = 'Inside';
chart.appendTo('#container');
});
it('Checking xAxis with labelPosition Inside', (done: Function) => {
loaded = (args: Object): void => {
element = document.getElementById('container_AxisTitle_0');
let element1 = document.getElementById('container0_AxisLabel_6');
let titleX = element.getAttribute('x');
let titleY = element.getAttribute('y');
let labelX = element1.getAttribute('x');
let labelY = element1.getAttribute('y');
expect(titleX === '471.75' || titleX === '472.25').toBe(true);
expect(titleY === '385.5' || titleY === '385.25').toBe(true);
expect(labelX === '722.15625' || labelX === '722.34375').toBe(true);
expect(labelY === '268' || labelY === '267').toBe(true);
done();
};
chart.loaded = loaded;
chart.primaryYAxis.titlePadding = 5;
chart.primaryYAxis.labelPadding = 5;
chart.primaryYAxis.labelPosition = 'Outside';
chart.primaryYAxis.tickPosition = 'Outside';
chart.primaryXAxis.titlePadding = 50;
chart.primaryXAxis.labelPadding = 50;
chart.primaryXAxis.labelPosition = 'Inside';
chart.appendTo('#container');
});
it('Checking xAxis with tickPosition Inside', (done: Function) => {
loaded = (args: Object): void => {
element = document.getElementById('container_AxisTitle_0');
let element1 = document.getElementById('container0_AxisLabel_3');
let titleX = element.getAttribute('x');
let titleY = element.getAttribute('y');
let labelX = element1.getAttribute('x');
let labelY = element1.getAttribute('y');
expect(titleX === '471.75' || titleX === '472.25').toBe(true);
expect(titleY === '385.5' || titleY === '385.25').toBe(true);
expect(labelX === '397.46875' || labelX === '398.03125').toBe(true);
expect(labelY === '320.25' || labelY === '319.5').toBe(true);
done();
};
chart.loaded = loaded;
chart.primaryXAxis.labelPosition = 'Outside';
chart.primaryXAxis.tickPosition = 'Inside';
chart.appendTo('#container');
});
it('Checking xAxis with both Position Inside', (done: Function) => {
loaded = (args: Object): void => {
element = document.getElementById('container_AxisTitle_0');
let element1 = document.getElementById('container0_AxisLabel_4');
let titleX = element.getAttribute('x');
let titleY = element.getAttribute('y');
let labelX = element1.getAttribute('x');
let labelY = element1.getAttribute('y');
expect(titleX === '471.75' || titleX === '472.25' ).toBe(true);
expect(titleY === '385.5' || titleY === '385.25').toBe(true);
expect(labelX === '507.53125' || labelX === '507.96875').toBe(true);
expect(labelY === '268' || labelY === '267').toBe(true);
done();
};
chart.loaded = loaded;
chart.primaryXAxis.labelPosition = 'Inside';
chart.primaryXAxis.tickPosition = 'Inside';
chart.appendTo('#container');
});

})
});

});
82 changes: 82 additions & 0 deletions controls/charts/spec/chart/series/waterfall-series.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1143,6 +1143,88 @@ describe('Waterfall Series', () => {
chart.refresh();
});
});
describe('Checking waterfall series with intermediate sum and sum index', () => {
let chart: Chart;
let loaded: EmitType<ILoadedEventArgs>;
let element: HTMLElement;
element = createElement('div', { id: 'container' });
beforeAll(() => {
document.body.appendChild(element);
chart = new Chart(
{
primaryXAxis: {
valueType: 'Category',
majorGridLines: { width: 0 },
plotOffset: 20
},
//Initializing Primary Y Axis
primaryYAxis: {
minimum: 0, maximum: 1250, interval: 250,
majorGridLines: { width: 1 }, lineStyle: { width: 0 }, majorTickLines: { width: 0 },
minorTickLines: { width: 0 },
title: 'USD',
labelFormat: "{value}K"
},
//Initializing Chart Series
series: [{
dataSource: [{ x: 'Income', y: 4711 },
{ x: 'Sales', y: -1015 },
{ x: 'Development', y: -688 },
{ x: 'Revenue', y: 1030 },
{ x: 'Balance', y: -100 },
{ x: 'Administrative' },
{ x: 'Expense', y: -361 },
{ x: 'Tax' },
{ x: 'maxim', y: -2000 },
{ x: 'maxi2', y: 200 },
{ x: 'Net Profit', y: 0 },],
width: 2, negativeFillColor: '#e56590',
xName: 'x', yName: 'y', intermediateSumIndexes: [], sumIndexes: [5,7,10],
columnWidth: 0.9,
type: 'Waterfall', animation: { enable: true },
marker: {
dataLabel: { visible: true, font: { color: '#ffffff' } }
}, connector: { color: '#5F6A6A', width: 2 }
}],
chartArea: { border: { width: 0 } },
title: 'Company Revenue and Profit',
legendSettings: { visible: false },
width: '100%',
});
chart.appendTo('#container');
});

afterAll((): void => {
chart.destroy();
element.remove();
});
it('Checking with intermediate sum index as empty', (done: Function) => {
loaded = (args: ILoadedEventArgs): void => {
let point: number = args.chart.visibleSeries[0].points[10].y as number;
expect(point).toBe(1777);
done();
};
chart.loaded = loaded;
chart.refresh();
});
it('Checking with intermediate sum index', (done: Function) => {
loaded = (args: ILoadedEventArgs): void => {
let point: number = args.chart.visibleSeries[0].points[8].y as number;
expect(point).toBe(2897);
done();
};
chart.loaded = loaded;
chart.series[0].dataSource = [ { x: 'Income', y: 4711 }, { x: 'Sales', y: -1015 },
{ x: 'Development', y: -688 },
{ x: 'Revenue', y: 1030 }, {x: 'Balance'},
{ x: 'Administrative', y: -780 },
{ x: 'Expense', y: -361 }, { x: 'Tax', y: -695 },
{ x: 'Net Profit'}];
chart.series[0].sumIndexes = [8];
chart.series[0].intermediateSumIndexes = [4, 7];
chart.refresh();
});
});
it('memory leak', () => {
profile.sample();
let average: any = inMB(profile.averageChange)
Expand Down
17 changes: 3 additions & 14 deletions controls/charts/src/chart/axis/axis.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1119,27 +1119,16 @@ export class Axis extends ChildProperty<Axis> {
}
const titlePadding: number = ((this.title !== '' && this.titlePadding !== 5) ? this.titlePadding : 0);
if (this.isAxisOpposedPosition) {
if (this.labelPosition === 'Inside' && definition.insideFarSizes.length < 1) {
definition.insideFarSizes.push(titleSize + innerPadding +
titlePadding + (this.tickPosition === 'Inside' ? 0 : this.majorTickLines.height));
}
else {
definition.insideFarSizes.push(labelSize);
}
definition.insideFarSizes.push(labelSize);
}
else {
if (this.labelPosition === 'Inside' && definition.insideNearSizes.length < 1) {
definition.insideNearSizes.push(titleSize + innerPadding +
titlePadding + (this.tickPosition === 'Inside' ? 0 : this.majorTickLines.height));
}
else {
definition.insideNearSizes.push(labelSize);
}
definition.insideNearSizes.push(labelSize);
}

if (this.labelPosition === 'Inside') {
if ((this.isAxisOpposedPosition && definition.farSizes.length < 1) ||
(!this.isAxisOpposedPosition && definition.nearSizes.length < 1)) {
innerPadding = (this.labelPosition === 'Inside' && (chart.axes.indexOf(this) > -1)) ? -5 : 5;
return titleSize + innerPadding + titlePadding;
}
else {
Expand Down
Loading

0 comments on commit b875752

Please sign in to comment.