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) {

0 commit comments

Comments
 (0)