Skip to content

Commit 04f2c08

Browse files
author
pipeline
committed
v17.4.40 is released
1 parent 884a061 commit 04f2c08

File tree

388 files changed

+8134
-3696
lines changed

Some content is hidden

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

388 files changed

+8134
-3696
lines changed

controls/base/dist/ej2-base.umd.min.js

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

controls/base/dist/ej2-base.umd.min.js.map

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

controls/base/dist/es6/ej2-base.es2015.js

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

controls/base/dist/es6/ej2-base.es2015.js.map

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

controls/base/dist/es6/ej2-base.es5.js

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

controls/base/dist/es6/ej2-base.es5.js.map

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

controls/base/dist/global/ej2-base.min.js

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

controls/base/dist/global/ej2-base.min.js.map

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

controls/base/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@syncfusion/ej2-base",
3-
"version": "17.4.1",
3+
"version": "17.4.39",
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",

controls/base/src/util.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -317,7 +317,7 @@ export function throwError(message: string): void {
317317
*/
318318
export function print(element: Element, printWindow?: Window): Window {
319319
let div: Element = document.createElement('div');
320-
let links: HTMLElement[] = [].slice.call(document.getElementsByTagName('head')[0].querySelectorAll('link, style'));
320+
let links: HTMLElement[] = [].slice.call(document.getElementsByTagName('head')[0].querySelectorAll('base, link, style'));
321321
let reference: string = '';
322322
if (isNullOrUndefined(printWindow)) {
323323
printWindow = window.open('', 'print', 'height=452,width=1024,tabbar=no');

controls/buttons/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@syncfusion/ej2-buttons",
3-
"version": "17.2.48",
3+
"version": "17.4.39",
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/calendars/CHANGELOG.md

+14
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,20 @@
22

33
## [Unreleased]
44

5+
## 17.4.40 (2019-12-24)
6+
7+
### DateRangePicker
8+
9+
#### Bug Fixes
10+
11+
- Issue with "popup not opened by using alt + down key while enabling JAWS" has been resolved.
12+
13+
### DateTimePicker
14+
15+
#### Bug Fixes
16+
17+
- `#257448` - Issue with "timepicker popup not destroyed while destroy the datetimepicker on close event" has been resolved.
18+
519
## 17.4.39 (2019-12-17)
620

721
### DateRangePicker

controls/calendars/dist/ej2-calendars.umd.min.js

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

controls/calendars/dist/ej2-calendars.umd.min.js.map

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

controls/calendars/dist/es6/ej2-calendars.es2015.js

+24-16
Original file line numberDiff line numberDiff line change
@@ -411,6 +411,7 @@ let CalendarBase = class CalendarBase extends Component {
411411
// tslint:disable-next-line:max-func-body-length
412412
keyActionHandle(e, value, multiSelection) {
413413
if (isBlazor() && this.blazorRef) {
414+
e.preventDefault();
414415
if (!this.tableBodyElement) {
415416
this.element = closest(e.target, '.' + 'e-calendar');
416417
this.tableBodyElement = this.element.querySelector('tbody');
@@ -3298,9 +3299,10 @@ let DatePicker = class DatePicker extends Calendar {
32983299
}
32993300
}
33003301
preventEventBubbling(e) {
3301-
if (e.type !== 'touchstart') {
3302-
e.preventDefault();
3303-
}
3302+
e.preventDefault();
3303+
// tslint:disable
3304+
this.interopAdaptor.invokeMethodAsync('OnDateIconClick');
3305+
// tslint:enable
33043306
}
33053307
updateInputValue(value) {
33063308
Input.setValue(value, this.inputElement, this.floatLabelType, this.showClearButton);
@@ -3318,14 +3320,16 @@ let DatePicker = class DatePicker extends Calendar {
33183320
this.hide(e);
33193321
}
33203322
else {
3321-
this.isDateIconClicked = true;
3322-
this.show(null, e);
3323-
if (this.getModuleName() === 'datetimepicker') {
3323+
if (!this.isBlazorServer || (this.isBlazorServer && this.inputWrapper.container.nextElementSibling)) {
3324+
this.isDateIconClicked = true;
3325+
this.show(null, e);
3326+
if (this.getModuleName() === 'datetimepicker') {
3327+
this.inputElement.focus();
3328+
}
33243329
this.inputElement.focus();
3330+
addClass([this.inputWrapper.container], [INPUTFOCUS]);
3331+
addClass(this.inputWrapper.buttons, ACTIVE);
33253332
}
3326-
this.inputElement.focus();
3327-
addClass([this.inputWrapper.container], [INPUTFOCUS]);
3328-
addClass(this.inputWrapper.buttons, ACTIVE);
33293333
}
33303334
}
33313335
}
@@ -3421,7 +3425,7 @@ let DatePicker = class DatePicker extends Calendar {
34213425
}
34223426
else {
34233427
// tslint:disable
3424-
this.interopAdaptor.invokeMethodAsync('OnStrictModeUpdate');
3428+
this.interopAdaptor.invokeMethodAsync('OnStrictModeUpdate', this.inputElement.value);
34253429
// tslint:enable
34263430
}
34273431
if (this.isCalendar() && document.activeElement === this.inputElement) {
@@ -3466,7 +3470,7 @@ let DatePicker = class DatePicker extends Calendar {
34663470
else if (closest(target, '.e-footer-container')
34673471
&& target.classList.contains('e-today')
34683472
&& target.classList.contains('e-btn')
3469-
&& +new Date(+this.value) === +super.generateTodayVal(this.value)) {
3473+
&& (+new Date(+this.value) === +super.generateTodayVal(this.value) && !this.isBlazorServer)) {
34703474
this.hide(e);
34713475
}
34723476
}
@@ -3488,7 +3492,7 @@ let DatePicker = class DatePicker extends Calendar {
34883492
}
34893493
else {
34903494
// tslint:disable
3491-
this.interopAdaptor.invokeMethodAsync('OnStrictModeUpdate');
3495+
this.interopAdaptor.invokeMethodAsync('OnStrictModeUpdate', this.inputElement.value);
34923496
// tslint:enable
34933497
}
34943498
if (this.getModuleName() === 'datepicker') {
@@ -3515,7 +3519,7 @@ let DatePicker = class DatePicker extends Calendar {
35153519
}
35163520
else {
35173521
// tslint:disable
3518-
this.interopAdaptor.invokeMethodAsync('OnStrictModeUpdate');
3522+
this.interopAdaptor.invokeMethodAsync('OnStrictModeUpdate', this.inputElement.value);
35193523
// tslint:enable
35203524
}
35213525
if (!this.isCalendar() && document.activeElement === this.inputElement) {
@@ -3536,7 +3540,7 @@ let DatePicker = class DatePicker extends Calendar {
35363540
}
35373541
else {
35383542
// tslint:disable
3539-
this.interopAdaptor.invokeMethodAsync('OnStrictModeUpdate');
3543+
this.interopAdaptor.invokeMethodAsync('OnStrictModeUpdate', this.inputElement.value);
35403544
// tslint:enable
35413545
}
35423546
this.hide(e);
@@ -3916,6 +3920,8 @@ let DatePicker = class DatePicker extends Calendar {
39163920
if (prevent && !this.preventArgs.cancel) {
39173921
if (this.isBlazorServer) {
39183922
this.popupWrapper.style.visibility = '';
3923+
this.popupWrapper.style.width = 'auto';
3924+
this.popupWrapper.style.height = 'auto';
39193925
}
39203926
addClass(this.inputWrapper.buttons, ACTIVE);
39213927
this.preventArgs.appendTo.appendChild(this.popupWrapper);
@@ -7848,7 +7854,7 @@ let DateRangePicker = class DateRangePicker extends CalendarBase {
78487854
attributes(this.inputElement, {
78497855
'aria-readonly': this.readonly ? 'true' : 'false', 'tabindex': '0', 'aria-haspopup': 'true',
78507856
'aria-activedescendant': 'null', 'aria-owns': this.element.id + '_popup', 'aria-expanded': 'false',
7851-
'role': 'daterangepicker', 'autocomplete': 'off', 'aria-disabled': !this.enabled ? 'true' : 'false',
7857+
'role': 'combobox', 'autocomplete': 'off', 'aria-disabled': !this.enabled ? 'true' : 'false',
78527858
'autocorrect': 'off', 'autocapitalize': 'off', 'spellcheck': 'false'
78537859
});
78547860
Input.addAttributes({ 'aria-label': 'select' }, this.inputWrapper.buttons[0]);
@@ -8266,7 +8272,7 @@ let DateRangePicker = class DateRangePicker extends CalendarBase {
82668272
let ariaAttrs = {
82678273
'aria-readonly': this.readonly ? 'true' : 'false', 'tabindex': '0', 'aria-haspopup': 'true',
82688274
'aria-activedescendant': 'null', 'aria-owns': this.element.id + '_popup', 'aria-expanded': 'false',
8269-
'role': 'daterangepicker', 'autocomplete': 'off', 'aria-disabled': !this.enabled ? 'true' : 'false',
8275+
'role': 'combobox', 'autocomplete': 'off', 'aria-disabled': !this.enabled ? 'true' : 'false',
82708276
'autocorrect': 'off', 'autocapitalize': 'off', 'aria-invalid': 'false', 'spellcheck': 'false'
82718277
};
82728278
if (this.inputElement) {
@@ -11156,6 +11162,8 @@ let DateTimePicker = class DateTimePicker extends DatePicker {
1115611162
*/
1115711163
destroy() {
1115811164
if (this.popupObject && this.popupObject.element.classList.contains(POPUP$3)) {
11165+
this.popupObject.destroy();
11166+
detach(this.dateTimeWrapper);
1115911167
this.dateTimeWrapper = undefined;
1116011168
this.liCollections = this.timeCollections = [];
1116111169
if (!isNullOrUndefined(this.rippleFn)) {

controls/calendars/dist/es6/ej2-calendars.es2015.js.map

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

controls/calendars/dist/es6/ej2-calendars.es5.js

+24-16
Original file line numberDiff line numberDiff line change
@@ -427,6 +427,7 @@ var CalendarBase = /** @__PURE__ @class */ (function (_super) {
427427
// tslint:disable-next-line:max-func-body-length
428428
CalendarBase.prototype.keyActionHandle = function (e, value, multiSelection) {
429429
if (isBlazor() && this.blazorRef) {
430+
e.preventDefault();
430431
if (!this.tableBodyElement) {
431432
this.element = closest(e.target, '.' + 'e-calendar');
432433
this.tableBodyElement = this.element.querySelector('tbody');
@@ -3337,9 +3338,10 @@ var DatePicker = /** @__PURE__ @class */ (function (_super) {
33373338
}
33383339
};
33393340
DatePicker.prototype.preventEventBubbling = function (e) {
3340-
if (e.type !== 'touchstart') {
3341-
e.preventDefault();
3342-
}
3341+
e.preventDefault();
3342+
// tslint:disable
3343+
this.interopAdaptor.invokeMethodAsync('OnDateIconClick');
3344+
// tslint:enable
33433345
};
33443346
DatePicker.prototype.updateInputValue = function (value) {
33453347
Input.setValue(value, this.inputElement, this.floatLabelType, this.showClearButton);
@@ -3357,14 +3359,16 @@ var DatePicker = /** @__PURE__ @class */ (function (_super) {
33573359
this.hide(e);
33583360
}
33593361
else {
3360-
this.isDateIconClicked = true;
3361-
this.show(null, e);
3362-
if (this.getModuleName() === 'datetimepicker') {
3362+
if (!this.isBlazorServer || (this.isBlazorServer && this.inputWrapper.container.nextElementSibling)) {
3363+
this.isDateIconClicked = true;
3364+
this.show(null, e);
3365+
if (this.getModuleName() === 'datetimepicker') {
3366+
this.inputElement.focus();
3367+
}
33633368
this.inputElement.focus();
3369+
addClass([this.inputWrapper.container], [INPUTFOCUS]);
3370+
addClass(this.inputWrapper.buttons, ACTIVE);
33643371
}
3365-
this.inputElement.focus();
3366-
addClass([this.inputWrapper.container], [INPUTFOCUS]);
3367-
addClass(this.inputWrapper.buttons, ACTIVE);
33683372
}
33693373
}
33703374
};
@@ -3462,7 +3466,7 @@ var DatePicker = /** @__PURE__ @class */ (function (_super) {
34623466
}
34633467
else {
34643468
// tslint:disable
3465-
this.interopAdaptor.invokeMethodAsync('OnStrictModeUpdate');
3469+
this.interopAdaptor.invokeMethodAsync('OnStrictModeUpdate', this.inputElement.value);
34663470
// tslint:enable
34673471
}
34683472
if (this.isCalendar() && document.activeElement === this.inputElement) {
@@ -3507,7 +3511,7 @@ var DatePicker = /** @__PURE__ @class */ (function (_super) {
35073511
else if (closest(target, '.e-footer-container')
35083512
&& target.classList.contains('e-today')
35093513
&& target.classList.contains('e-btn')
3510-
&& +new Date(+this.value) === +_super.prototype.generateTodayVal.call(this, this.value)) {
3514+
&& (+new Date(+this.value) === +_super.prototype.generateTodayVal.call(this, this.value) && !this.isBlazorServer)) {
35113515
this.hide(e);
35123516
}
35133517
}
@@ -3529,7 +3533,7 @@ var DatePicker = /** @__PURE__ @class */ (function (_super) {
35293533
}
35303534
else {
35313535
// tslint:disable
3532-
this.interopAdaptor.invokeMethodAsync('OnStrictModeUpdate');
3536+
this.interopAdaptor.invokeMethodAsync('OnStrictModeUpdate', this.inputElement.value);
35333537
// tslint:enable
35343538
}
35353539
if (this.getModuleName() === 'datepicker') {
@@ -3556,7 +3560,7 @@ var DatePicker = /** @__PURE__ @class */ (function (_super) {
35563560
}
35573561
else {
35583562
// tslint:disable
3559-
this.interopAdaptor.invokeMethodAsync('OnStrictModeUpdate');
3563+
this.interopAdaptor.invokeMethodAsync('OnStrictModeUpdate', this.inputElement.value);
35603564
// tslint:enable
35613565
}
35623566
if (!this.isCalendar() && document.activeElement === this.inputElement) {
@@ -3577,7 +3581,7 @@ var DatePicker = /** @__PURE__ @class */ (function (_super) {
35773581
}
35783582
else {
35793583
// tslint:disable
3580-
this.interopAdaptor.invokeMethodAsync('OnStrictModeUpdate');
3584+
this.interopAdaptor.invokeMethodAsync('OnStrictModeUpdate', this.inputElement.value);
35813585
// tslint:enable
35823586
}
35833587
this.hide(e);
@@ -3959,6 +3963,8 @@ var DatePicker = /** @__PURE__ @class */ (function (_super) {
39593963
if (prevent_1 && !_this.preventArgs.cancel) {
39603964
if (_this.isBlazorServer) {
39613965
_this.popupWrapper.style.visibility = '';
3966+
_this.popupWrapper.style.width = 'auto';
3967+
_this.popupWrapper.style.height = 'auto';
39623968
}
39633969
addClass(_this.inputWrapper.buttons, ACTIVE);
39643970
_this.preventArgs.appendTo.appendChild(_this.popupWrapper);
@@ -7935,7 +7941,7 @@ var DateRangePicker = /** @__PURE__ @class */ (function (_super) {
79357941
attributes(this.inputElement, {
79367942
'aria-readonly': this.readonly ? 'true' : 'false', 'tabindex': '0', 'aria-haspopup': 'true',
79377943
'aria-activedescendant': 'null', 'aria-owns': this.element.id + '_popup', 'aria-expanded': 'false',
7938-
'role': 'daterangepicker', 'autocomplete': 'off', 'aria-disabled': !this.enabled ? 'true' : 'false',
7944+
'role': 'combobox', 'autocomplete': 'off', 'aria-disabled': !this.enabled ? 'true' : 'false',
79397945
'autocorrect': 'off', 'autocapitalize': 'off', 'spellcheck': 'false'
79407946
});
79417947
Input.addAttributes({ 'aria-label': 'select' }, this.inputWrapper.buttons[0]);
@@ -8353,7 +8359,7 @@ var DateRangePicker = /** @__PURE__ @class */ (function (_super) {
83538359
var ariaAttrs = {
83548360
'aria-readonly': this.readonly ? 'true' : 'false', 'tabindex': '0', 'aria-haspopup': 'true',
83558361
'aria-activedescendant': 'null', 'aria-owns': this.element.id + '_popup', 'aria-expanded': 'false',
8356-
'role': 'daterangepicker', 'autocomplete': 'off', 'aria-disabled': !this.enabled ? 'true' : 'false',
8362+
'role': 'combobox', 'autocomplete': 'off', 'aria-disabled': !this.enabled ? 'true' : 'false',
83578363
'autocorrect': 'off', 'autocapitalize': 'off', 'aria-invalid': 'false', 'spellcheck': 'false'
83588364
};
83598365
if (this.inputElement) {
@@ -11286,6 +11292,8 @@ var DateTimePicker = /** @__PURE__ @class */ (function (_super) {
1128611292
*/
1128711293
DateTimePicker.prototype.destroy = function () {
1128811294
if (this.popupObject && this.popupObject.element.classList.contains(POPUP$3)) {
11295+
this.popupObject.destroy();
11296+
detach(this.dateTimeWrapper);
1128911297
this.dateTimeWrapper = undefined;
1129011298
this.liCollections = this.timeCollections = [];
1129111299
if (!isNullOrUndefined(this.rippleFn)) {

controls/calendars/dist/es6/ej2-calendars.es5.js.map

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

controls/calendars/dist/global/ej2-calendars.min.js

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

controls/calendars/dist/global/ej2-calendars.min.js.map

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

controls/calendars/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@syncfusion/ej2-calendars",
3-
"version": "17.2.48",
3+
"version": "17.4.39",
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/spec/daterangepicker/daterangepicker.spec.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,7 @@ describe('DateRangePicker', () => {
184184
expect(daterangepicker.inputWrapper.container.style.width).toBe('200em');
185185
});
186186
it('Element role testing ', () => {
187-
expect(daterangepicker.element.getAttribute('role') == "daterangepicker").toBe(true);
187+
expect(daterangepicker.element.getAttribute('role') == "combobox").toBe(true);
188188
});
189189
it('Element name attribute testing', () => {
190190
expect(daterangepicker.firstHiddenChild.hasAttribute('name') && daterangepicker.firstHiddenChild.getAttribute('name') === daterangepicker.element.id).toBe(true);

controls/calendars/spec/datetimepicker/datetimepicker.spec.ts

+9
Original file line numberDiff line numberDiff line change
@@ -2606,6 +2606,15 @@ describe('Form element', () => {
26062606
expect((<any>document.getElementById('datetimepicker')).value !== '2/2/2017 12:00 AM').toBe(true);
26072607
datetime = null;
26082608
});
2609+
it('TimePopup dom element in destroy case', () => {
2610+
datetime = new DateTimePicker({ value: new Date('02/02/2017') });
2611+
datetime.appendTo('#datetimepicker');
2612+
datetime.show('time');
2613+
expect(isNullOrUndefined(datetime.dateTimeWrapper)).toBe(false);
2614+
datetime.destroy();
2615+
expect(isNullOrUndefined(datetime.dateTimeWrapper)).toBe(true);
2616+
datetime = null;
2617+
});
26092618
// Test cases for reset the component when value not initialized
26102619
it('Input element value changing dynamically', () => {
26112620
datetime = new DateTimePicker({ });

controls/calendars/src/calendar/calendar.ts

+1
Original file line numberDiff line numberDiff line change
@@ -719,6 +719,7 @@ export class CalendarBase extends Component<HTMLElement> implements INotifyPrope
719719
// tslint:disable-next-line:max-func-body-length
720720
protected keyActionHandle(e: KeyboardEventArgs, value?: Date, multiSelection?: boolean): void {
721721
if (isBlazor() && this.blazorRef) {
722+
e.preventDefault();
722723
if (!this.tableBodyElement) {
723724
this.element = closest((e.target as Element), '.' + 'e-calendar') as HTMLElement;
724725
this.tableBodyElement = this.element.querySelector('tbody');

0 commit comments

Comments
 (0)