Skip to content

Commit 2309f6d

Browse files
author
pipeline
committed
v27.1.53 is released
1 parent b58d3d8 commit 2309f6d

File tree

781 files changed

+122803
-8435
lines changed

Some content is hidden

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

781 files changed

+122803
-8435
lines changed

README.md

Lines changed: 1368 additions & 1368 deletions
Large diffs are not rendered by default.

controls/barcodegenerator/CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
## [Unreleased]
44

5-
## 27.1.52 (2024-10-08)
5+
## 27.1.53 (2024-10-15)
66

77
### Barcode
88

controls/base/CHANGELOG.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,18 @@
22

33
## [Unreleased]
44

5+
## 27.1.53 (2024-10-15)
6+
7+
### Common
8+
9+
#### New Features
10+
11+
- Provided support for handling license key validation in CI services.
12+
13+
#### Bug Fixes
14+
15+
- `#I617320` - Resolved an issue with touch swipe functionality in iOS `Capacitor` applications.
16+
517
## 27.1.52 (2024-10-08)
618

719
### Common

controls/base/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@syncfusion/ej2-base",
3-
"version": "27.1.50",
3+
"version": "27.1.52",
44
"description": "A common package of Essential JS 2 base libraries, methods and class definitions",
55
"author": "Syncfusion Inc.",
66
"license": "SEE LICENSE IN license",
@@ -60,7 +60,7 @@
6060
"canteen": "^1.0.5",
6161
"jasmine-ajax": "^3.3.1",
6262
"jasmine-core": "^2.6.1",
63-
"karma": "6.4.2",
63+
"karma": "6.4.2",
6464
"karma-chrome-launcher": "^2.2.0",
6565
"karma-generic-preprocessor": "^1.1.0",
6666
"karma-htmlfile-reporter": "^0.3.5",

controls/base/src/browser.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ interface MyWindow extends Window {
2525
PhoneGap: Object;
2626
phonegap: Object;
2727
forge: Object;
28+
Capacitor?: { getPlatform: () => string };
2829
}
2930
declare let window: MyWindow;
3031

@@ -163,6 +164,9 @@ export class Browser {
163164
browserDetails['isTouch'] = true;
164165
browserDetails['isPointer'] = true;
165166
}
167+
if (window && window.Capacitor && window.Capacitor.getPlatform() === 'ios') {
168+
browserDetails['isPointer'] = false;
169+
}
166170
if ('undefined' === typeof (<{ [key: string]: Object }>browserDetails)[`${key}`]) {
167171
return (<{ [key: string]: Object }>browserDetails)[`${key}`] = regX.test(Browser.userAgent);
168172
}

controls/buttons/CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
## [Unreleased]
44

5-
## 27.1.52 (2024-10-08)
5+
## 27.1.53 (2024-10-15)
66

77
### Checkbox
88

controls/calendars/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@syncfusion/ej2-calendars",
3-
"version": "27.1.51",
3+
"version": "27.1.52",
44
"description": "A complete package of date or time components with built-in features such as date formatting, inline editing, multiple (range) selection, range restriction, month and year selection, strict mode, and globalization.",
55
"author": "Syncfusion Inc.",
66
"license": "SEE LICENSE IN license",
@@ -31,7 +31,7 @@
3131
"canteen": "^1.0.5",
3232
"jasmine-ajax": "^3.3.1",
3333
"jasmine-core": "^2.6.1",
34-
"karma": "6.4.2",
34+
"karma": "6.4.2",
3535
"karma-chrome-launcher": "^2.2.0",
3636
"karma-generic-preprocessor": "^1.1.0",
3737
"karma-htmlfile-reporter": "^0.3.5",

controls/charts/CHANGELOG.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,22 @@
22

33
## [Unreleased]
44

5+
## 27.1.53 (2024-10-15)
6+
7+
### Chart
8+
9+
#### Bug Fixes
10+
11+
- `#I637436` - Now, multilevel axis labels are working properly when RTL is enabled.
12+
- `#I640682` - The border dash array now works properly for all series.
13+
- `#I640585` - Now, the range area series works properly when the middle point's x value is set to 0.
14+
15+
### 3DChart
16+
17+
#### Bug Fixes
18+
19+
- `#I637725` - The first label on the y-axis is now positioned correctly.
20+
521
## 27.1.52 (2024-10-08)
622

723
### Chart

controls/charts/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@syncfusion/ej2-charts",
3-
"version": "27.1.51",
3+
"version": "27.1.52",
44
"description": "Feature-rich chart control with built-in support for over 25 chart types, technical indictors, trendline, zooming, tooltip, selection, crosshair and trackball.",
55
"author": "Syncfusion Inc.",
66
"license": "SEE LICENSE IN license",
@@ -30,7 +30,7 @@
3030
"canteen": "^1.0.5",
3131
"jasmine-ajax": "^3.3.1",
3232
"jasmine-core": "^2.6.1",
33-
"karma": "6.4.2",
33+
"karma": "6.4.2",
3434
"karma-chrome-launcher": "^2.2.0",
3535
"karma-generic-preprocessor": "^1.1.0",
3636
"karma-htmlfile-reporter": "^0.3.5",

controls/charts/spec/chart/series/column-series.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ describe('Column Series', () => {
205205
done();
206206
};
207207
chartObj.loaded = loaded;
208-
chartObj.series[0].dashArray = '4,3';
208+
chartObj.series[0].border.dashArray = '4,3';
209209
chartObj.refresh();
210210
});
211211

controls/charts/src/chart/axis/multi-level-labels.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ export class MultiLevelLabel {
9090
axis) * axisValue);
9191
const len: number = axis.multiLevelLabels[index as number].categories.length;
9292
gap = ((i === 0 || i === len - 1) && axis.labelPlacement === 'OnTicks' && axis.edgeLabelPlacement === 'Shift') ? gap / 2 : gap;
93-
if ((labelSize.width > gap - padding) && gap > 0 && (multiLevel.overflow === 'Wrap') && !isVertical) {
93+
if ((labelSize.width > gap - padding) && (this.chart.enableRtl ? gap < 0 : gap > 0) && (multiLevel.overflow === 'Wrap') && !isVertical) {
9494
height = (height * (textWrap(categoryLabel.text, gap - padding, multiLevel.textStyle, this.chart.enableRtl,
9595
null, null, this.chart.themeStyle.axisLabelFont).length));
9696
}

controls/charts/src/chart/series/area-series.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ export class AreaSeries extends MultiColoredSeries {
100100
this[pointAnimate ? 'addAreaPath' : 'appendLinePath'](
101101
new PathOption(
102102
series.chart.element.id + '_Series_border_' + series.index, 'transparent',
103-
borderWidth, borderColor, 1, series.dashArray,
103+
borderWidth, borderColor, 1, series.border.dashArray,
104104
emptyPointDirection
105105
),
106106
series, ''

controls/charts/src/chart/series/box-and-whisker-series.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -220,7 +220,7 @@ export class BoxAndWhiskerSeries extends ColumnBase {
220220
new PathOption(
221221
symbolId + '_BoxPath',
222222
argsData.fill, argsData.border.width,
223-
argsData.border.color, series.opacity, series.dashArray, direction
223+
argsData.border.color, series.opacity, series.border.dashArray, direction
224224
), new Int32Array([series.clipRect.x, series.clipRect.y])
225225
) as HTMLElement;
226226
element.setAttribute('role', 'img');

controls/charts/src/chart/series/bubble-series.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ export class BubbleSeries {
7979
bubblePoint.color = argsData.fill;
8080
const shapeOption: PathOption = new PathOption(
8181
series.chart.element.id + '_Series_' + series.index + '_Point_' + bubblePoint.index,
82-
argsData.fill, argsData.border.width, argsData.border.color, series.opacity, null
82+
argsData.fill, argsData.border.width, argsData.border.color, series.opacity, series.border.dashArray
8383
);
8484
if (pointUpdate && getElement(shapeOption.id)) {
8585
const markerElement: Element = getElement(shapeOption.id);

controls/charts/src/chart/series/column-base.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -509,7 +509,7 @@ export class ColumnBase {
509509
const previousElement: Element = redrawElement(chart.redraw, name);
510510
const previousDirection: string = previousElement ? previousElement.getAttribute('d') : '';
511511
this.options = new PathOption(
512-
name, argsData.fill, argsData.border.width, argsData.border.color, series.opacity, series.dashArray, (series.columnFacet === 'Cylinder') ? '' : direction);
512+
name, argsData.fill, argsData.border.width, argsData.border.color, series.opacity, series.border.dashArray, (series.columnFacet === 'Cylinder') ? '' : direction);
513513
this.element = chart.renderer.drawPath(
514514
this.options, new Int32Array([series.clipRect.x, series.clipRect.y])
515515
) as HTMLElement;

controls/charts/src/chart/series/line-base.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,8 @@ export class LineBase {
5656
let yVal: number = 0;
5757
for (const currentPoint of seriesPoints) {
5858
currentPoint.symbolLocations = [];
59-
xVal = currentPoint.xValue ? currentPoint.xValue : xVisibleRange.min;
60-
yVal = currentPoint.yValue ? currentPoint.yValue : yVisibleRange.min;
59+
xVal = !isNullOrUndefined(currentPoint.xValue) ? currentPoint.xValue : xVisibleRange.min;
60+
yVal = !isNullOrUndefined(currentPoint.yValue) ? currentPoint.yValue : yVisibleRange.min;
6161
if (Math.abs(prevXValue - xVal) >= xTolerance || Math.abs(prevYValue - yVal) >= yTolerance) {
6262
tempPoints.push(currentPoint);
6363
prevXValue = xVal;
@@ -431,7 +431,7 @@ export class LineBase {
431431
let value: number;
432432
clipRect.style.visibility = 'hidden';
433433
this.animateRect(series, animation, clipRect, duration, effect, elementHeight, elementWidth, xCenter, yCenter, value);
434-
if (series.marker && series.marker.visible) {
434+
if (series.marker && series.marker.visible && series.symbolElement) {
435435
const markerClipRect: HTMLElement = <HTMLElement>series.symbolElement.childNodes[0].childNodes[0];
436436
markerClipRect.style.visibility = 'hidden';
437437
this.animateRect(series, animation, markerClipRect, duration, effect, elementHeight, elementWidth, xCenter, yCenter, value);

controls/charts/src/chart/series/multi-colored-area-series.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ export class MultiColoredAreaSeries extends MultiColoredSeries {
117117
options.push(new PathOption(
118118
series.chart.element.id + '_Series_border_' + series.index + id,
119119
'transparent', series.border.width, series.border.color ? series.border.color : series.interior, 1,
120-
series.dashArray, emptyPointDirection
120+
series.border.dashArray, emptyPointDirection
121121
));
122122

123123
}

controls/charts/src/chart/series/range-area-series.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ export class RangeAreaSeries extends LineBase {
104104
this[pointAnimate ? 'addPath' : 'appendLinePath'](
105105
new PathOption(
106106
series.chart.element.id + '_Series_border_' + series.index, 'transparent',
107-
borderWidth, borderColor, 1, series.dashArray,
107+
borderWidth, borderColor, 1, series.border.dashArray,
108108
this.borderDirection
109109
),
110110
series, ''

controls/charts/src/chart/series/range-step-area-series.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ export class RangeStepAreaSeries extends LineBase {
124124
this[pointAnimate ? 'addPath' : 'appendLinePath'](
125125
new PathOption(
126126
series.chart.element.id + '_Series_border_' + series.index, 'transparent',
127-
borderWidth, borderColor, 1, series.dashArray,
127+
borderWidth, borderColor, 1, series.border.dashArray,
128128
this.borderDirection
129129
),
130130
series, ''

controls/charts/src/chart/series/scatter-series.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ export class ScatterSeries {
151151
const shapeOption: PathOption = new PathOption(
152152
chart.element.id + '_Series_' + series.index + '_Point_' + point.index, argsData.fill,
153153
argsData.border.width, (series.chart.enableCanvas && !argsData.border.color) ? argsData.fill :
154-
argsData.border.color, series.opacity, null
154+
argsData.border.color, series.opacity, series.border.dashArray
155155
);
156156
if (chart.redraw && getElement(shapeOption.id)) {
157157
circlePath = argsData.shape === 'Circle' ? 'c' : '';

controls/charts/src/chart/series/spline-area-series.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ export class SplineAreaSeries extends SplineBase {
105105
new PathOption(
106106
series.chart.element.id + '_Series_border_' + series.index,
107107
'transparent', series.border.width, series.border.color ? series.border.color : series.interior,
108-
1, series.dashArray, emptyPointDirection
108+
1, series.border.dashArray, emptyPointDirection
109109
),
110110
series, ''
111111
);

controls/charts/src/chart/series/spline-range-area-series.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ export class SplineRangeAreaSeries extends SplineBase {
146146
if (series.border.width !== 0) {
147147
this[pointAnimate ? 'addPath' : 'appendLinePath'](new PathOption(
148148
series.chart.element.id + '_Series_border_' + series.index, 'transparent',
149-
borderWidth, borderColor, 1, series.dashArray,
149+
borderWidth, borderColor, 1, series.border.dashArray,
150150
this.borderDirection
151151
), series, '');
152152
this.borderDirection = '';

controls/charts/src/chart/series/stacking-area-series.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ export class StackingAreaSeries extends LineBase {
140140
emptyPointDirection = this.removeEmptyPointsBorder(this.getBorderDirection(lineDirection));
141141
const options: PathOption = new PathOption(
142142
series.chart.element.id + '_Series_border_' + series.index, 'transparent', series.visible ? series.border.width : 0, series.border.color ? series.border.color : series.interior,
143-
1, series.dashArray, emptyPointDirection);
143+
1, series.border.dashArray, emptyPointDirection);
144144
this[pointAnimate ? 'addAreaPath' : 'appendLinePath'](options, series, '');
145145
}
146146
if (!pointUpdate && series.visible) { this.renderMarker(series); }

controls/charts/src/chart/series/stacking-step-area-series.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ export class StackingStepAreaSeries extends LineBase {
154154
options = new PathOption(
155155
stackSeries.chart.element.id + '_Series_border_' + stackSeries.index, 'transparent',
156156
stackSeries.border.width, stackSeries.border.color ? stackSeries.border.color : stackSeries.interior, 1,
157-
stackSeries.dashArray, borderDirection
157+
stackSeries.border.dashArray, borderDirection
158158
);
159159
this[pointAnimate ? 'addPath' : 'appendLinePath'](options, stackSeries, '');
160160
}

controls/charts/src/chart/series/step-area-series.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,8 @@ export class StepAreaSeries extends LineBase {
101101
if (series.border.width !== 0) {
102102
const options: PathOption = new PathOption(
103103
series.chart.element.id + '_Series_border_' + series.index, 'transparent',
104-
series.border.width, series.border.color ? series.border.color : series.interior, 1, series.dashArray, borderDirection
104+
series.border.width, series.border.color ? series.border.color : series.interior, 1, series.border.dashArray,
105+
borderDirection
105106
);
106107
this[pointAnimate ? 'addAreaPath' : 'appendLinePath'](options, series, '');
107108
}

controls/charts/src/chart3d/utils/renderer.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -360,7 +360,7 @@ export class AxisRenderer {
360360
const maxWidth: number = axis.rect.width / axis.visibleLabels.length - 5;
361361
const label: Chart3DLabelRect = labels[i as number];
362362

363-
if (((label.x - label.size.width / 2 < axis.rect.x && i === 0) ||
363+
if (((label.x > axis.rect.x && i === 0) ||
364364
(label.x + label.size.width / 2 > axis.rect.x + axis.rect.width && i === axis.visibleLabels.length - 1)) &&
365365
axis.labelIntersectAction !== 'Trim' && axis.labelIntersectAction.indexOf('wrap') < 0) {
366366
if (axis.edgeLabelPlacement === 'Hide') {

controls/circulargauge/CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
## [Unreleased]
66

7-
## 27.1.52 (2024-10-08)
7+
## 27.1.53 (2024-10-15)
88

99
### Circular Gauge
1010

controls/compression/ReadMe.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
A common package of Essential JS 2 compression libraries, methods and class definitions.

controls/compression/gulpfile.js

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
'use strict';
2+
3+
var gulp = require('gulp');
4+
5+
/**
6+
* Build ts and scss files
7+
*/
8+
gulp.task('build', gulp.series('scripts', 'styles'));
9+
10+
/**
11+
* Compile ts files
12+
*/
13+
gulp.task('scripts', function(done) {
14+
var ts = require('gulp-typescript');
15+
var tsProject = ts.createProject('tsconfig.json', { typescript: require('typescript') });
16+
17+
var tsResult = gulp.src(['./**/*.ts','./**/*.tsx', '!./node_modules/**/*.ts','!./node_modules/**/*.tsx'], { base: '.' })
18+
.pipe(tsProject());
19+
tsResult.js.pipe(gulp.dest('./'))
20+
.on('end', function() {
21+
done();
22+
});
23+
});
24+
25+
/**
26+
* Compile styles
27+
*/
28+
gulp.task('styles', function() {
29+
var sass = require('gulp-sass');
30+
return gulp.src(['./**/*.scss', '!./node_modules/**/*.scss'], { base: './' })
31+
.pipe(sass({
32+
outputStyle: 'expanded',
33+
includePaths: './node_modules/@syncfusion/'
34+
}))
35+
.pipe(gulp.dest('.'));
36+
});
37+
38+
/* jshint strict: false */
39+
/* jshint undef: false */
40+
41+
var service, proxyPort;
42+
43+
/**
44+
* Run test scripts
45+
*/
46+
gulp.task('test', function(done) {
47+
var path = require('path');
48+
var packageJson = require('./package.json');
49+
if (packageJson.dependencies['@syncfusion/ej2-data'] || packageJson.name === '@syncfusion/ej2-data') {
50+
console.log('Service Started');
51+
var spawn = require('child_process').spawn;
52+
service = spawn('node', [path.join(__dirname, '/spec/services/V4service.js')]);
53+
54+
service.stdout.on('data', (data) => {
55+
proxyPort = data.toString().trim();
56+
console.log('Proxy port: ' + proxyPort);
57+
startKarma(done);
58+
});
59+
} else {
60+
startKarma(done);
61+
}
62+
});
63+
64+
function startKarma(done) {
65+
var karma = require('karma');
66+
return new karma.Server({
67+
configFile: __dirname + '/karma.conf.js',
68+
singleRun: true,
69+
browsers: ['ChromeHeadless']
70+
}, function(e) {
71+
if (service) {
72+
service.kill();
73+
}
74+
if (e === 1) {
75+
console.log('Karma has exited with ' + e);
76+
process.exit(e);
77+
} else {
78+
done();
79+
}
80+
}).start();
81+
}

0 commit comments

Comments
 (0)