Skip to content

Commit a35cac5

Browse files
author
pipeline
committed
v22.2.8 is released
1 parent 5e0c585 commit a35cac5

File tree

117 files changed

+1177
-243
lines changed

Some content is hidden

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

117 files changed

+1177
-243
lines changed

controls/buttons/CHANGELOG.md

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

33
## [Unreleased]
44

5-
## 22.2.7 (2023-08-02)
5+
## 22.2.8 (2023-08-08)
6+
7+
### Checkbox
8+
9+
#### Bug Fixes
10+
11+
- `#I488474` - The issue with "Hovering the checkbox checked items of checkbox is unchecked while using RTL mode" has been resolved.
12+
13+
## 22.2.5 (2023-07-27)
614

715
### Checkbox
816

controls/buttons/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@syncfusion/ej2-buttons",
3-
"version": "22.1.39",
3+
"version": "22.2.5",
44
"description": "A package of feature-rich Essential JS 2 components such as Button, CheckBox, RadioButton and Switch.",
55
"author": "Syncfusion Inc.",
66
"license": "SEE LICENSE IN license",

controls/buttons/styles/check-box/_layout.scss

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -259,8 +259,10 @@
259259

260260
&:hover {
261261
@if $skin-name != 'FluentUI' {
262-
background-color: $cbox-hover-bgcolor;
263-
border-color: $cbox-hover-border-color;
262+
&.e-check {
263+
background-color: $cbox-checkmark-hover-bgcolor;
264+
border-color: $cbox-checkmark-hover-border-color;
265+
}
264266
}
265267
@if $skin-name == 'FluentUI' {
266268
&:not(.e-check),

controls/buttons/styles/check-box/_theme.scss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -281,7 +281,7 @@
281281
color: $cbox-icon-color;
282282
}
283283
}
284-
@if $skin-name == 'bootstrap4' or $skin-name == 'tailwind' or $skin-name == 'bootstrap5' {
284+
@if $skin-name == 'bootstrap4' or $skin-name == 'tailwind' {
285285
background-color: $cbox-checkmark-hover-bgcolor;
286286
border-color: $cbox-checkmark-hover-border-color;
287287
}

controls/calendars/CHANGELOG.md

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

33
## [Unreleased]
44

5+
## 22.2.8 (2023-08-08)
6+
7+
### TimePicker
8+
9+
#### Features
10+
11+
- `#I480992` - Added support for configuring server time zone settings to the component. The `serverTimezoneOffset` property can now be used to set the pre-bound value based on the time zone provided to the component.
12+
513
## 21.1.34 (2023-06-21)
614

715
### DatePicker

controls/calendars/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@syncfusion/ej2-calendars",
3-
"version": "22.1.38",
3+
"version": "22.2.5",
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",

controls/calendars/src/datepicker/datepicker.ts

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1349,7 +1349,7 @@ export class DatePicker extends Calendar implements IInput {
13491349
this.popupObj = new Popup(this.popupWrapper as HTMLElement, {
13501350
content: this.calendarElement,
13511351
relateTo: Browser.isDevice ? document.body : this.inputWrapper.container,
1352-
position: Browser.isDevice ? { X: 'center', Y: 'center' } : { X: 'left', Y: 'bottom' },
1352+
position: Browser.isDevice ? { X: 'center', Y: 'center' } : (this.enableRtl ? { X: 'right', Y: 'bottom' } : { X: 'left', Y: 'bottom' }),
13531353
offsetY: OFFSETVALUE,
13541354
targetType: 'container',
13551355
enableRtl: this.enableRtl,
@@ -1665,7 +1665,6 @@ export class DatePicker extends Calendar implements IInput {
16651665
addClass(this.inputWrapper.buttons, ACTIVE);
16661666
this.preventArgs.appendTo.appendChild(this.popupWrapper);
16671667
this.popupObj.refreshPosition(this.inputElement);
1668-
const popupLeft: number = parseFloat(this.popupWrapper.style.left) - (this.popupWrapper.offsetWidth - this.inputWrapper.container.offsetWidth);
16691668
const openAnimation: object = {
16701669
name: 'FadeIn',
16711670
duration: Browser.isDevice ? 0 : OPENDURATION
@@ -1678,9 +1677,6 @@ export class DatePicker extends Calendar implements IInput {
16781677
// eslint-disable-next-line @typescript-eslint/no-explicit-any
16791678
super.setOverlayIndex(this.mobilePopupWrapper, this.popupObj.element, this.modal, Browser.isDevice as any);
16801679
this.setAriaAttributes();
1681-
if(this.enableRtl && popupLeft > 0){
1682-
this.popupWrapper.style.left = popupLeft + "px";
1683-
}
16841680
} else {
16851681
this.popupObj.destroy();
16861682
this.popupWrapper = this.popupObj = null;

controls/calendars/src/daterangepicker/daterangepicker.ts

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3509,10 +3509,6 @@ export class DateRangePicker extends CalendarBase {
35093509
else{
35103510
this.inputElement.removeAttribute('aria-activedescendant');
35113511
}
3512-
if(this.enableRtl){
3513-
const popupLeft: number = parseFloat(this.popupWrapper.style.left) -(this.popupWrapper.offsetWidth - this.inputWrapper.container.offsetWidth);
3514-
this.popupWrapper.style.left = popupLeft > 0 ? popupLeft + "px": this.popupWrapper.style.left ;
3515-
}
35163512
addClass([this.inputWrapper.buttons[0]], ACTIVE);
35173513
if (!this.isMobile) {
35183514
if (this.cancelButton) {

controls/calendars/src/timepicker/timepicker-model.d.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -317,6 +317,16 @@ export interface TimePickerModel extends ComponentModel{
317317
*/
318318
maskPlaceholder?: TimeMaskPlaceholderModel;
319319

320+
/**
321+
* By default, the time value will be processed based on system time zone.
322+
* If you want to process the initial time value using server time zone
323+
* then specify the time zone value to `serverTimezoneOffset` property.
324+
*
325+
* @default null
326+
* @deprecated
327+
*/
328+
serverTimezoneOffset?: number;
329+
320330
/**
321331
* Triggers when the value is changed.
322332
*

controls/calendars/src/timepicker/timepicker.ts

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -508,6 +508,17 @@ export class TimePicker extends Component<HTMLElement> implements IInput {
508508
@Property({day: 'day' , month: 'month', year: 'year', hour: 'hour', minute: 'minute', second: 'second', dayOfTheWeek: 'day of the week'})
509509
public maskPlaceholder: TimeMaskPlaceholderModel;
510510

511+
/**
512+
* By default, the time value will be processed based on system time zone.
513+
* If you want to process the initial time value using server time zone
514+
* then specify the time zone value to `serverTimezoneOffset` property.
515+
*
516+
* @default null
517+
* @deprecated
518+
*/
519+
@Property(null)
520+
public serverTimezoneOffset: number;
521+
511522
/**
512523
* Triggers when the value is changed.
513524
*
@@ -632,6 +643,7 @@ export class TimePicker extends Component<HTMLElement> implements IInput {
632643
this.validateInterval();
633644
this.bindEvents();
634645
this.validateDisable();
646+
this.setTimeZone();
635647
this.setValue(this.getFormattedValue(this.value));
636648
if (this.enableMask && !this.value && this.maskedDateValue && (this.floatLabelType === 'Always' || !this.floatLabelType || !this.placeholder)){
637649
this.updateInputValue(this.maskedDateValue);
@@ -648,6 +660,20 @@ export class TimePicker extends Component<HTMLElement> implements IInput {
648660
}
649661
this.renderComplete();
650662
}
663+
protected setTimeZone(): void {
664+
if (!isNullOrUndefined(this.serverTimezoneOffset) && this.value) {
665+
const clientTimeZoneDiff: number = new Date().getTimezoneOffset() / 60;
666+
const serverTimezoneDiff: number = this.serverTimezoneOffset;
667+
let timeZoneDiff: number = serverTimezoneDiff + clientTimeZoneDiff;
668+
timeZoneDiff = this.isDayLightSaving() ? timeZoneDiff-- : timeZoneDiff;
669+
this.value = new Date((this.value).getTime() + (timeZoneDiff * 60 * 60 * 1000));
670+
}
671+
}
672+
protected isDayLightSaving(): boolean {
673+
const firstOffset: number = new Date(this.value.getFullYear(), 0 , 1).getTimezoneOffset();
674+
const secondOffset: number = new Date(this.value.getFullYear(), 6 , 1).getTimezoneOffset();
675+
return (this.value.getTimezoneOffset() < Math.max(firstOffset, secondOffset));
676+
}
651677
private setTimeAllowEdit(): void {
652678
if (this.allowEdit) {
653679
if (!this.readonly) {

controls/charts/CHANGELOG.md

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

33
## [Unreleased]
44

5+
## 22.2.8 (2023-08-08)
6+
7+
### Chart
8+
9+
#### Bug Fixes
10+
11+
- `#I483107` - Data editing is now working properly, along with the zoom property.
12+
- `#I484578` - The trendline is now rendered for the polynomial type in datetime.
13+
- `#I485511` - Fixed an issue where the trackball was not rendered properly in canvas mode.
14+
515
## 22.2.7 (2023-08-02)
616

717
### Chart
@@ -88,6 +98,15 @@
8898
#### Breaking Changes
8999

90100
- To differentiate between marker shapes in the `ChartShape` enumeration, the existing Cross shape has been replaced with Plus, while a new enumeration, Cross, has been added for the cross shape.
101+
- The font family for chart elements such as the title, axis labels, data labels, legend, tooltip, etc., has been changed based on the theme in the 2023 Volume 2 release.
102+
103+
| Theme | Previous Font Family| New Font Family |
104+
| -------- | -------- | -------- |
105+
| Material | Segoe UI | Roboto |
106+
| Bootstrap 5 | Segoe UI | Helvetica |
107+
| Bootstrap 4 | Segoe UI | Helvetica |
108+
| Bootstrap | Segoe UI | Helvetica |
109+
| TailWind | Segoe UI | Inter|
91110

92111
#### Bug Fixes
93112

@@ -102,6 +121,85 @@
102121
- By default, the series type and trendline dropdowns have been removed from the stock chart period selector. However, you can still add them to the list upon request or as needed. This modification provides a cleaner interface and reduces clutter in the stock chart period selector.
103122
- By default, the tooltip for the range selector in the stock chart has been removed. Instead, the tooltip will now appear only when you move the slider.
104123
- The print option has been removed from the period selector because it is already available in the export dropdown. This modification provides a cleaner interface and reduces clutter in the stock chart's period selector.
124+
- The font family for stock chart elements such as the title, axis labels, data labels, legend, tooltip, etc., has been changed based on the theme in the 2023 Volume 2 release.
125+
126+
| Theme | Previous Font Family| New Font Family |
127+
| -------- | -------- | -------- |
128+
| Material | Segoe UI | Roboto |
129+
| Bootstrap 5 | Segoe UI | Helvetica |
130+
| Bootstrap 4 | Segoe UI | Helvetica |
131+
| Bootstrap | Segoe UI | Helvetica |
132+
| TailWind | Segoe UI | Inter|
133+
134+
### Accumulation chart
135+
136+
#### Breaking Changes
137+
138+
- The font family for accumulation chart elements such as the title, data labels, legend, tooltip, etc., has been changed based on the theme in the 2023 Volume 2 release.
139+
140+
| Theme | Previous Font Family| New Font Family |
141+
| -------- | -------- | -------- |
142+
| Material | Segoe UI | Roboto |
143+
| Bootstrap 5 | Segoe UI | Helvetica |
144+
| Bootstrap 4 | Segoe UI | Helvetica |
145+
| Bootstrap | Segoe UI | Helvetica |
146+
| TailWind | Segoe UI | Inter|
147+
148+
### Bullet Chart
149+
150+
#### Breaking Changes
151+
152+
- The font family for bullet chart elements such as the title, labels, legend, tooltip, etc., has been changed based on the theme in the 2023 Volume 2 release.
153+
154+
| Theme | Previous Font Family| New Font Family |
155+
| -------- | -------- | -------- |
156+
| Material | Segoe UI | Roboto |
157+
| Bootstrap 5 | Segoe UI | Helvetica |
158+
| Bootstrap 4 | Segoe UI | Helvetica |
159+
| Bootstrap | Segoe UI | Helvetica |
160+
| TailWind | Segoe UI | Inter|
161+
162+
### RangeNavigator
163+
164+
#### Breaking Changes
165+
166+
- The font family for range navigator elements such as the axis labels, tooltip, etc., has been changed based on the theme in the 2023 Volume 2 release.
167+
168+
| Theme | Previous Font Family| New Font Family |
169+
| -------- | -------- | -------- |
170+
| Material | Segoe UI | Roboto |
171+
| Bootstrap 5 | Segoe UI | Helvetica |
172+
| Bootstrap 4 | Segoe UI | Helvetica |
173+
| Bootstrap | Segoe UI | Helvetica |
174+
| TailWind | Segoe UI | Inter|
175+
176+
### Sparkline
177+
178+
#### Breaking Changes
179+
180+
- The font family for sparkline elements such as the data labels, tooltip, etc., has been changed based on the theme in the 2023 Volume 2 release.
181+
182+
| Theme | Previous Font Family| New Font Family |
183+
| -------- | -------- | -------- |
184+
| Material | Segoe UI | Roboto |
185+
| Bootstrap 5 | Segoe UI | Helvetica |
186+
| Bootstrap 4 | Segoe UI | Helvetica |
187+
| Bootstrap | Segoe UI | Helvetica |
188+
| TailWind | Segoe UI | Inter|
189+
190+
### Smith Chart
191+
192+
#### Breaking Changes
193+
194+
- The font family for smith chart elements such as the title, data labels, legend, tooltip, etc., has been changed based on the theme in the 2023 Volume 2 release.
195+
196+
| Theme | Previous Font Family| New Font Family |
197+
| -------- | -------- | -------- |
198+
| Material | Segoe UI | Roboto |
199+
| Bootstrap 5 | Segoe UI | Helvetica |
200+
| Bootstrap 4 | Segoe UI | Helvetica |
201+
| Bootstrap | Segoe UI | Helvetica |
202+
| TailWind | Segoe UI | Inter|
105203

106204
## 21.2.10 (2023-06-13)
107205

controls/charts/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@syncfusion/ej2-charts",
3-
"version": "22.2.5",
3+
"version": "22.2.7",
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",

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -684,8 +684,8 @@ describe('Waterfall Series', () => {
684684
let text2: Element = group.childNodes[2] as HTMLElement;
685685
expect(path.getAttribute('fill') == '#000816').toBe(true);
686686
expect((<HTMLElement>text1.childNodes[0]).getAttribute('fill') == 'rgba(249, 250, 251, 1)').toBe(true);
687-
expect(text1.childNodes[0].textContent.replace(/\u200E/g, '') == 'series1 Marketting and Sales ').toBe(true);
688-
expect(text1.childNodes[1].textContent.replace(/\u200E/g, '') == ':').toBe(true);
687+
expect(text1.childNodes[0].textContent.replace(/\u200E/g, '') == 'series1 Marketting and Sales : -607C').toBe(true);
688+
expect(text1.childNodes[1].textContent.replace(/\u200E/g, '') == 'series2 Marketting and Sales : -427C').toBe(true);
689689
trigger.mousemovetEvent(target, Math.ceil(x), Math.ceil(y + 50));
690690
done();
691691
};

controls/charts/spec/chart/user-interaction/tooltip.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ describe('Chart Control', () => { beforeAll(() => {
112112
expect(path.localName == 'path').toBe(true);
113113
expect(path.getAttribute('d') != '' || ' ').toBe(true);
114114
expect(group.childNodes.length == 4).toBe(true);
115-
expect(text1.childNodes.length == 5).toBe(true);
115+
expect(text1.childNodes.length == 3).toBe(true);
116116
expect(text1.textContent.replace(/\u200E/g, '') == 'ChartSeriesNameGold$2000.00 : 40').toBe(true);
117117
// expect(text1.childNodes[1].textContent.replace(/\u200E/g, '') == '$2000.00 : ').toBe(true);
118118
// expect(text1.childNodes[2].textContent.replace(/\u200E/g, '') == '40').toBe(true);

controls/charts/spec/chart/user-interaction/trackball.spec.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ describe('Chart Trackball', () => {
158158
expect(path.localName == 'path').toBe(true);
159159
expect(path.getAttribute('d') != '' || ' ').toBe(true);
160160
expect(group.childNodes.length == 4).toBe(true);
161-
expect(group.childNodes[1].childNodes.length == 17).toBe(true);
161+
expect(group.childNodes[1].childNodes.length == 9).toBe(true);
162162

163163
expect(target.getAttribute('opacity') == '0.5').toBe(true);
164164
expect(document.getElementById('container_Series_1_Point_2').getAttribute('opacity') == '0.5').toBe(true);
@@ -189,7 +189,7 @@ describe('Chart Trackball', () => {
189189
expect(tooltip != null).toBe(true);
190190
expect(tooltip.offsetLeft > x).toBe(true);
191191
let group: HTMLElement = tooltip.childNodes[0].childNodes[0] as HTMLElement;
192-
expect(group.childNodes[1].childNodes.length == 13).toBe(true);
192+
expect(group.childNodes[1].childNodes.length == 7).toBe(true);
193193
done();
194194
};
195195
chartObj.series[2].visible = false;
@@ -221,7 +221,7 @@ describe('Chart Trackball', () => {
221221

222222
let group: HTMLElement = tooltip.childNodes[0].childNodes[0] as HTMLElement;
223223
expect(group.childNodes[3].childNodes.length == 2).toBe(true);
224-
expect(group.childNodes[1].childNodes.length == 9).toBe(true);
224+
expect(group.childNodes[1].childNodes.length == 5).toBe(true);
225225

226226
targetElement = chartObj.element.querySelector('#container_Series_0_Point_11_Symbol') as HTMLElement;
227227
y = parseFloat(targetElement.getAttribute('cy')) + parseFloat(chartArea.getAttribute('y')) + elem.offsetTop;

controls/charts/spec/pie/user-interaction/tooltip.spec.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ describe('Tooltip checking for the pie series', () => {
137137
expect(path.localName == 'path').toBe(true);
138138
expect(path.getAttribute('d') != '' || ' ').toBe(true);
139139
expect(group.childNodes.length == 4).toBe(true);
140-
expect(text1.childNodes.length == 5).toBe(true);
140+
expect(text1.childNodes.length == 3).toBe(true);
141141
expect(text1.textContent.replace('\u200E', '') == 'AnimalsBald Eagle : 18').toBe(true);
142142
// expect(text1.childNodes[1].textContent == 'Bald Eagle ').toBe(true);
143143
// expect(text1.childNodes[2].textContent == '').toBe(true);
@@ -190,7 +190,7 @@ describe('Tooltip checking for the pie series', () => {
190190
expect(path.localName == 'path').toBe(true);
191191
expect(path.getAttribute('d') != '' || ' ').toBe(true);
192192
expect(group.childNodes.length == 4).toBe(true);
193-
expect(text1.childNodes.length == 6).toBe(true);
193+
expect(text1.childNodes.length == 2).toBe(true);
194194
expect(text1.textContent.replace(/\u200E/g, '') == 'AnimalsAnimals : Elk : 44').toBe(true);
195195
//expect(text1.childNodes[1].textContent == 'Animals : Elk : 44').toBe(true);
196196
expect((<HTMLElement>group.childNodes[2]).getAttribute('d') != '' || ' ').toBe(true);
@@ -214,7 +214,7 @@ describe('Tooltip checking for the pie series', () => {
214214
expect(path.localName == 'path').toBe(true);
215215
expect(path.getAttribute('d') != '' || ' ').toBe(true);
216216
expect(group.childNodes.length == 3).toBe(true);
217-
expect(text1.childNodes.length == 5).toBe(true);
217+
expect(text1.childNodes.length == 1).toBe(true);
218218
expect(text1.textContent.replace(/\u200E/g, '') == 'Animals : Brown Bear : 30').toBe(true);
219219
expect((<HTMLElement>group.childNodes[2]).getAttribute('d') != '' || ' ').toBe(true);
220220

@@ -367,8 +367,8 @@ describe('Checking tooltip text with useGroupSeparator is true', () => {
367367
segement = getElement(sliceid + 2);
368368
trigger.mousemoveEvent(segement, 0, 0, 200, 250);
369369
let tooltip: HTMLElement = document.getElementById('container_tooltip_text');
370-
expect(tooltip.children[0].innerHTML).toEqual("Palletes ");
371-
expect(tooltip.children[3].innerHTML).toEqual("1,377,507");
370+
expect(tooltip.children[0].innerHTML).toEqual("Palletes : ");
371+
expect(tooltip.children[1].innerHTML).toEqual("1,377,507");
372372
done();
373373
};
374374
accumulation.refresh();

0 commit comments

Comments
 (0)