Skip to content

Commit 11f1afc

Browse files
author
pipeline
committed
v17.1.51 is released
1 parent 489b07b commit 11f1afc

File tree

250 files changed

+1606
-585
lines changed

Some content is hidden

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

250 files changed

+1606
-585
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

+19-3
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

+20-3
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/spec/child-property.spec.ts

+36
Original file line numberDiff line numberDiff line change
@@ -276,6 +276,42 @@ describe('ChildProperty', () => {
276276
expect(spi).toHaveBeenCalled();
277277
});
278278
});
279+
280+
describe('promise event', () => {
281+
let obj: Object = { bookID: '123', name: 'Collections' };
282+
let colAr: any = [];
283+
colAr.push(obj);
284+
it("success", (done: Function) => {
285+
demoClass3.subjectArray[0].subClick = ()=> {
286+
let promise = new Promise(function(resolve, reject) {
287+
setTimeout(() => resolve("done"), 0);
288+
});
289+
return promise;
290+
}
291+
demoClass3.trigger('subjectArray[0].subClick', {}, () => {
292+
done();
293+
});
294+
295+
});
296+
297+
it("error", (done: Function) => {
298+
demoClass3.subjectArray[0].subClick = ()=> {
299+
return Promise.reject({data: {message: 'Error message'}});
300+
}
301+
demoClass3.trigger('subjectArray[0].subClick', {}, ()=> {}, () => {
302+
done();
303+
});
304+
305+
});
306+
307+
it("success - non promise ", (done: Function) => {
308+
demoClass3.subjectArray[0].subClick = ()=> {};
309+
demoClass3.trigger('subjectArray[0].subClick', {}, ()=> {
310+
done();
311+
});
312+
});
313+
314+
});
279315
});
280316
});
281317
});

controls/base/src/base.ts

+17-2
Original file line numberDiff line numberDiff line change
@@ -134,17 +134,32 @@ export abstract class Base<ElementType extends HTMLElement> {
134134
* @param {string} eventName - Specifies the event to trigger for the specified component properties.
135135
* Can be a custom event, or any of the standard events.
136136
* @param {Event} eventProp - Additional parameters to pass on to the event properties
137+
* @param {Function} successHandler - this function will invoke after event successfully triggered
138+
* @param {Function} errorHandler - this function will invoke after event if it failured to call.
137139
* @return {void}
138140
*/
139-
public trigger(eventName: string, eventProp?: Object): void {
141+
public trigger(eventName: string, eventProp?: Object, successHandler?: Function, errorHandler?: Function): void {
140142
if (this.isDestroyed !== true) {
141143
let prevDetection: boolean = this.isProtectedOnChange;
142144
this.isProtectedOnChange = false;
143145
this.modelObserver.notify(eventName, eventProp);
144146
if (isColEName.test(eventName)) {
145147
let handler: Function = getValue(eventName, this);
146148
if (handler) {
147-
handler.call(this, eventProp);
149+
let promise: Promise<object> = handler.call(this, eventProp);
150+
if (promise && (promise.toString()).indexOf('Promise') >= 0) {
151+
promise.then((data: object) => {
152+
if (successHandler) {
153+
successHandler.call(this, data);
154+
}
155+
}).catch((data: object) => {
156+
if (errorHandler) {
157+
errorHandler.call(this, data);
158+
}
159+
});
160+
} else if (successHandler) {
161+
successHandler.call(this, eventProp);
162+
}
148163
}
149164
}
150165
this.isProtectedOnChange = prevDetection;

controls/base/src/notify-property-change.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ function getObjectArray<T>(
117117
): Object[] {
118118

119119
let result: Object[] = [];
120-
let len: Number = defaultValue.length;
120+
let len: Number = defaultValue ? defaultValue.length : 0;
121121
for (let i: number = 0; i < len; i++) {
122122
let curType: (...arg: Object[]) => void = type;
123123
if (isFactory) {

controls/buttons/CHANGELOG.md

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

33
## [Unreleased]
44

5+
## 17.1.50 (2019-06-04)
6+
7+
### Button
8+
9+
#### New Features
10+
11+
- Provided method to focusIn and click.
12+
513
## 17.1.40 (2019-04-09)
614

715
### RadioButton

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.1.47",
3+
"version": "17.1.50",
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.1.51 (2019-06-11)
6+
7+
### DatePicker
8+
9+
#### Bug Fixes
10+
11+
- #231616, #234495 - In mobile device, DatePicker popup displays in the center of the viewport.
12+
13+
### DateRangePicker
14+
15+
#### Bug Fixes
16+
17+
- #231616, #234495 - In mobile device, DateRangePicker popup displays in the center of the viewport.
18+
519
## 17.1.49 (2019-05-29)
620

721
### DatePicker

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

+27-2
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.map

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

0 commit comments

Comments
 (0)