Skip to content

Commit da70fa4

Browse files
author
pipeline
committed
v20.2.36 is released
1 parent 9ca54f0 commit da70fa4

File tree

129 files changed

+447
-750
lines changed

Some content is hidden

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

129 files changed

+447
-750
lines changed

components/base/CHANGELOG.md

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,28 @@
22

33
## [Unreleased]
44

5-
## 20.1.60 (2022-06-14)
5+
## 20.2.36 (2022-06-30)
66

77
### Common
88

9-
#### Bug Fixes
9+
#### New Features
1010

11-
- `I367449` - Resolved Equal length of data property changes not working.
11+
- Provided the TypeScript 4.7 compatible support for the Angular components.
1212

13-
## 20.1.48 (2022-04-12)
13+
- Provided option to register the license key by using the `npx` command. Follow these steps to register the license using the `npx` command:
14+
- - Install the Syncfusion packages from npm.
15+
- - Add the license key either in the environment variable `SYNCFUSION_LICENSE` or in the `syncfusion-license.txt` text file.
16+
- - Run the command `npx syncfusion-license activate` to register the license automatically.
1417

15-
### Common
18+
- `#I376821` - Provided support to compile the Sass files using [Dart Sass](https://sass-lang.com/dart-sass) instead of [node-sass](https://github.com/sass/node-sass). This change has been made since `node-sass` has been deprecated.
1619

17-
#### Bug Fixes
20+
- Added support to work with Angular 14 version.
21+
22+
- Provided the Ivy-compatible support for the Angular packages. Ivy Angular packages support Angular versions 12 and above.
23+
24+
#### Breaking Changes
1825

19-
- `I365879` - Component tags boolean property not updated properly in Angular 9
26+
- From this release, Angular packages tagged with `ngcc` will be published and maintained to provide the latest features and fixes for Angular versions 11 and below. This changes has been made since providing the Ivy-compatible support for the Angular packages. To install Angular packages that are compatible with `ngcc`, run the `npm install @syncfusion/ej2-angular-grids@ngcc` command.
2027

2128
## 19.1.56 (2021-04-13)
2229

components/base/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,5 +84,5 @@ Check the license detail [here](https://github.com/syncfusion/ej2-angular-ui-com
8484

8585
Check the changelog [here](https://ej2.syncfusion.com/angular/documentation/release-notes?utm_source=npm&utm_campaign=ej2-angular-base)
8686

87-
© Copyright 2022 Syncfusion, Inc. All Rights Reserved.
87+
© Copyright 2019 Syncfusion, Inc. All Rights Reserved.
8888
The Syncfusion Essential Studio license and copyright applies to this distribution.

components/base/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-angular-base",
3-
"version": "20.1.48",
3+
"version": "19.7.0",
44
"description": "A common package of Essential JS 2 base Angular libraries, methods and class definitions",
55
"author": "Syncfusion Inc.",
66
"license": "SEE LICENSE IN license",

components/base/src/complex-array-base.ts

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -44,14 +44,8 @@ export class ComplexBase<T> {
4444
let templateProperties: string[] = Object.keys(this);
4545
for(let i = 0; i < templateProperties.length; i++) {
4646
var tempProp = getValue(templateProperties[i], this);
47-
if (typeof tempProp === 'object' && tempProp && tempProp.elementRef) {
48-
if (!getValue(templateProperties[i].indexOf('Ref') !== -1 ? templateProperties[i] : templateProperties[i] + 'Ref', this)) {
49-
setValue(templateProperties[i].indexOf('Ref') !== -1 ? templateProperties[i] : templateProperties[i] + 'Ref', tempProp, this);
50-
}
51-
if (getValue("viewContainerRef", this) && !getValue("_viewContainerRef", tempProp.elementRef.nativeElement) && !getValue("propName", tempProp.elementRef.nativeElement)) {
52-
setValue("_viewContainerRef", getValue("viewContainerRef", this), tempProp.elementRef.nativeElement);
53-
setValue("propName", templateProperties[i].replace("Ref", ''), tempProp.elementRef.nativeElement);
54-
}
47+
if (typeof tempProp === 'object' && tempProp.elementRef && !getValue(templateProperties[i]+'Ref', this)){
48+
setValue(templateProperties[i]+'Ref', tempProp, this);
5549
}
5650
}
5751
templateProperties = Object.keys(this)
@@ -70,7 +64,7 @@ export class ComplexBase<T> {
7064
if (this.directivePropList) {
7165
for (let k: number = 0; k < this.directivePropList.length; k++) {
7266
let dirPropName: string = this.directivePropList[k];
73-
if (propList.indexOf(dirPropName) !== -1 && (getValue(dirPropName, this) === false || getValue(dirPropName, this))) {
67+
if (propList.indexOf(dirPropName) !== -1 && getValue(dirPropName, this)) {
7468
setValue(dirPropName, getValue(dirPropName, this), this.propCollection);
7569
}
7670
}
@@ -217,9 +211,8 @@ export class ArrayBase<T> {
217211
this.list[i].propCollection.dataSource = this.list[i].dataSource;
218212
this.list[i].hasChanges = true;
219213
}
220-
}
221-
if (childrenDataSource[i].hasChanges) {
222-
isSourceChanged = true;
214+
isSourceChanged = (JSON.stringify(this.list[i].propCollection.dataSource) !==
215+
JSON.stringify(childrenDataSource[i].propCollection.dataSource));
223216
}
224217
}
225218
}

components/base/src/component-base.ts

Lines changed: 4 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -120,19 +120,6 @@ export class ComponentBase<T> {
120120
}
121121

122122
let complexTemplates: string[] = Object.keys(tempOnThis);
123-
for (let i = 0; i < complexTemplates.length; i++) {
124-
var compProp = getValue(complexTemplates[i], tempOnThis);
125-
if (typeof compProp === 'object' && compProp && compProp.elementRef) {
126-
if (typeof compProp === 'object' && compProp && compProp.elementRef && complexTemplates[i].indexOf('_') !== -1 && complexTemplates[i].indexOf('Ref') === -1) {
127-
setValue(complexTemplates[i] + 'Ref', compProp, tempOnThis);
128-
}
129-
if (tempOnThis.viewContainerRef && !getValue("_viewContainerRef", compProp.elementRef.nativeElement) && !getValue("propName", compProp.elementRef.nativeElement)) {
130-
setValue("_viewContainerRef", tempOnThis.viewContainerRef, compProp.elementRef.nativeElement);
131-
setValue("propName", complexTemplates[i].replace("Ref", ''), compProp.elementRef.nativeElement);
132-
}
133-
}
134-
}
135-
complexTemplates = Object.keys(tempOnThis);
136123
complexTemplates = complexTemplates.filter((val: string): boolean => {
137124
return /Ref$/i.test(val) && /\_/i.test(val);
138125
});
@@ -190,7 +177,7 @@ export class ComponentBase<T> {
190177
// Refer Link: https://github.com/angular/angular/issues/6005
191178
setTimeout(() => {
192179
/* istanbul ignore else */
193-
if (typeof window !== 'undefined' && tempAfterViewThis.element || tempAfterViewThis.getModuleName().includes('btn')) {
180+
if (typeof window !== 'undefined' && document.body.contains(tempAfterViewThis.element)) {
194181
tempAfterViewThis.appendTo(tempAfterViewThis.element);
195182
tempAfterViewThis.ngEle.nativeElement.style.visibility = '';
196183
}
@@ -202,7 +189,7 @@ export class ComponentBase<T> {
202189
let tempOnDestroyThis: any = isTempRef || this;
203190
/* istanbul ignore else */
204191
setTimeout(() => {
205-
if (typeof window !== 'undefined' && (tempOnDestroyThis.element.classList.contains('e-control'))) {
192+
if (typeof window !== 'undefined' && document.body.contains(tempOnDestroyThis.element) && tempOnDestroyThis.element.classList.contains('e-control')) {
206193
tempOnDestroyThis.destroy();
207194
tempOnDestroyThis.clearTemplate(null);
208195
// removing bounded events and tagobjects from component after destroy
@@ -274,7 +261,7 @@ export class ComponentBase<T> {
274261
tempAfterContentThis.setProperties(propObj, tagObject.instance.isInitChanges);
275262
} else {
276263
/* istanbul ignore next */
277-
if ((tempAfterContentThis[tagObject.name].length !== tagObject.instance.list.length) || (/diagram|tab/.test(tempAfterContentThis.getModuleName()))) {
264+
if ((tempAfterContentThis[tagObject.name].length !== tagObject.instance.list.length) || (tempAfterContentThis.getModuleName() === 'diagram')) {
278265
tempAfterContentThis[tagObject.name] = tagObject.instance.list;
279266
}
280267
for (let list of tagObject.instance.list) {
@@ -284,7 +271,7 @@ export class ComponentBase<T> {
284271
complexTemplates = complexTemplates.filter((val: string): boolean => {
285272
return /Ref$/i.test(val);
286273
});
287-
if (curChild.properties && Object.keys(curChild.properties).length !== 0){
274+
if (curChild.properties && Object.keys(curChild.properties).length !== 0 && /chart/.test(tempAfterContentThis.getModuleName())){
288275
for (let complexPropName of complexTemplates) {
289276
complexPropName = complexPropName.replace(/Ref/, '');
290277
curChild.properties[complexPropName] = !curChild.properties[complexPropName] ?

components/base/src/form-base.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ export class FormBase<T> implements ControlValueAccessor {
7777
public twoWaySetter(newVal: Object, prop: string): void {
7878
let oldVal: Object = this.oldValue || getValue(prop, this.properties);
7979
let ele: HTMLElement = this.inputElement || this.element;
80-
if (ele && oldVal === newVal && this.value === newVal &&
80+
if (ele && oldVal === newVal &&
8181
((<HTMLInputElement>ele).value === undefined || (<HTMLInputElement>ele).value === '')) {
8282
return;
8383
}

components/base/src/template.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ export function compile(templateEle: AngularElementType, helper?: Object):
2222
let conRef: ViewContainerRef = contRef ? contRef : component.viewContainerRef;
2323
let viewRef: EmbeddedViewRef<Object> = conRef.createEmbeddedView(templateEle as TemplateRef<Object>, context);
2424
viewRef.markForCheck();
25+
viewRef.detectChanges();
2526
/* istanbul ignore next */
2627
let viewCollection: { [key: string]: EmbeddedViewRef<Object>[] } = (component && component.registeredTemplate) ?
2728
component.registeredTemplate : getValue('currentInstance.registeredTemplate', conRef);
@@ -78,4 +79,4 @@ export interface AngularElementType {
7879
}
7980

8081
//tslint:disable-next-line
81-
setTemplateEngine({ compile: (compile as any) });
82+
setTemplateEngine({ compile: (compile as any) });

components/buttons/CHANGELOG.md

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

33
## [Unreleased]
44

5-
## 20.1.50 (2022-04-19)
5+
## 20.2.36 (2022-06-30)
66

77
### Checkbox
88

99
#### Bug Fixes
1010

11-
- `F173431` - Issue with Checkbox validation state is incorrect issue has been resolved.
11+
- `F379986` - The issue with "Screen reader reads checkbox field twice for tab keypress" has been resolved.
1212

1313
## 19.2.47 (2021-07-13)
1414

components/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-angular-buttons",
3-
"version": "20.1.55",
3+
"version": "20.2.36",
44
"description": "A package of feature-rich Essential JS 2 components such as Button, CheckBox, RadioButton and Switch. for Angular",
55
"author": "Syncfusion Inc.",
66
"license": "SEE LICENSE IN license",

components/calendars/CHANGELOG.md

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

33
## [Unreleased]
44

5-
## 20.1.58 (2022-05-31)
6-
7-
### DatePicker
8-
9-
#### Bug Fixes
10-
11-
- `#F34697` - Issue with "able to clear the input value using clear button when component in readonly mode" has been resolved.
12-
13-
## 20.1.57 (2022-05-24)
14-
15-
### DateRangePicker
16-
17-
#### Bug Fixes
18-
19-
- `#I378357` - Issue with "tab key navigation is not working between calendars" has been resolved.
20-
21-
### DateTimePicker
22-
23-
#### Bug Fixes
24-
25-
- `#I373889` - Issue with "navigated to year section after typing 0 in the month section" has been resolved.
26-
275
## 19.3.46 (2021-10-19)
286

297
### TimePicker

components/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-angular-calendars",
3-
"version": "20.1.58",
3+
"version": "18.29.2",
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. for Angular",
55
"author": "Syncfusion Inc.",
66
"license": "SEE LICENSE IN license",

components/charts/CHANGELOG.md

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

33
## [Unreleased]
44

5-
## 20.1.60 (2022-06-14)
5+
## 20.2.36 (2022-06-30)
6+
7+
### Chart
8+
9+
#### New Features
10+
11+
- `#I362746` - Provided keyboard navigation support for interactive elements on the chart.
12+
- `#I353728` - Provided highlight and select support for the range and point color mapping.
13+
14+
- `#I362746` - Provided keyboard navigation support for interactive elements on the chart.
15+
- `#I353728` - Provided highlight and selection support for the range and point color mapping.
16+
17+
## 20.1.59 (2022-06-07)
618

719
### Chart
820

components/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-angular-charts",
3-
"version": "20.1.57",
3+
"version": "1.173.1",
44
"description": "Feature-rich chart control with built-in support for over 25 chart types, technical indictors, trendline, zooming, tooltip, selection, crosshair and trackball. for Angular",
55
"author": "Syncfusion Inc.",
66
"license": "SEE LICENSE IN license",

components/circulargauge/CHANGELOG.md

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

66
## [Unreleased]
77

8-
## 20.1.60 (2022-06-14)
9-
10-
### Circular Gauge
11-
12-
#### New Features
13-
14-
- `#I365344` - Dash array can now be customized in the border of the Circular Gauge.
15-
16-
## 19.4.43 (2022-01-18)
17-
18-
### CircularGauge
19-
20-
#### New Features
21-
22-
- `cancel` argument is now available in the `resized` event to restrict the resize of the control when set as `true`.
23-
248
## 19.3.53 (2021-11-12)
259

2610
### CircularGauge

components/circulargauge/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-angular-circulargauge",
3-
"version": "20.1.55",
3+
"version": "16.40.5",
44
"description": "Essential JS 2 CircularGauge Components for Angular",
55
"author": "Syncfusion Inc.",
66
"license": "SEE LICENSE IN license",

components/diagrams/CHANGELOG.md

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

33
## [Unreleased]
44

5+
## 20.2.36 (2022-06-30)
6+
7+
### Diagram
8+
9+
#### Bug fixes
10+
11+
- `#I382500` - Now, the BPMN shape is changed properly at runtime.
12+
- `#I382496` - BPMN gateway sub type is working properly while changing it during runtime.
13+
- `#I383411` - Now, fill color is applied properly when changing the BPMN event at runtime.
14+
15+
#### Features
16+
17+
- `#I362749` - Provided option to adjust the distance between the source node and the target node of the orthogonal connection has been added.
18+
- `#I347713` - Support to modify connector segments thumb icon shape and style has been added.
19+
- `#FB31535` - Support for splitting and joining connectors has been added.
20+
- `#I362796` - Support to highlight selected diagram elements on multiple selections has been added
21+
- `#I362829` - Support to limit the connector segments while draw at run time has been added.
22+
- `#I362755` - Support to edit multiple bezier segments with multiple control points has been added.
23+
24+
#### Behaviour changes
25+
26+
- In the Bezier connector, by default, the multiple segments will be created automatically if a user doesn't define segment collections in the application.
27+
- In the Bezier connector, based on segment count, multiple control points will be displayed to control the smoothness of the curve
28+
529
## 20.1.60 (2022-06-14)
630

731
### Diagram

components/diagrams/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-angular-diagrams",
3-
"version": "20.1.59",
3+
"version": "19.8.0",
44
"description": "Feature-rich diagram control to create diagrams like flow charts, organizational charts, mind maps, and BPMN diagrams. Its rich feature set includes built-in shapes, editing, serializing, exporting, printing, overview, data binding, and automatic layouts. for Angular",
55
"author": "Syncfusion Inc.",
66
"license": "SEE LICENSE IN license",

components/diagrams/src/diagram/connectors.directive.ts

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { ComplexBase, ArrayBase, setValue } from '@syncfusion/ej2-angular-base';
44
import { ConnectorFixedUserHandlesDirective } from './connector-fixeduserhandle.directive';
55
import { ConnectorAnnotationsDirective } from './connector-annotation.directive';
66

7-
let input: string[] = ['addInfo', 'annotations', 'bridgeSpace', 'connectionPadding', 'constraints', 'cornerRadius', 'dragSize', 'excludeFromLayout', 'fixedUserHandles', 'flip', 'flipMode', 'hitPadding', 'id', 'margin', 'previewSize', 'segments', 'shape', 'sourceDecorator', 'sourceID', 'sourcePadding', 'sourcePoint', 'sourcePortID', 'style', 'symbolInfo', 'targetDecorator', 'targetID', 'targetPadding', 'targetPoint', 'targetPortID', 'tooltip', 'type', 'visible', 'wrapper', 'zIndex'];
7+
let input: string[] = ['addInfo', 'annotations', 'bezierSettings', 'bridgeSpace', 'connectionPadding', 'connectorSpacing', 'constraints', 'cornerRadius', 'dragSize', 'excludeFromLayout', 'fixedUserHandles', 'flip', 'flipMode', 'hitPadding', 'id', 'margin', 'maxSegmentThumb', 'previewSize', 'segments', 'shape', 'sourceDecorator', 'sourceID', 'sourcePadding', 'sourcePoint', 'sourcePortID', 'style', 'symbolInfo', 'targetDecorator', 'targetID', 'targetPadding', 'targetPoint', 'targetPortID', 'tooltip', 'type', 'visible', 'wrapper', 'zIndex'];
88
let outputs: string[] = [];
99
/**
1010
* Connectors Directive
@@ -48,6 +48,11 @@ export class ConnectorDirective extends ComplexBase<ConnectorDirective> {
4848
*
4949
*/
5050
public annotations: any;
51+
/**
52+
* Sets the bezier settings of editing the segments.
53+
* @default null
54+
*/
55+
public bezierSettings: any;
5156
/**
5257
* Defines the bridgeSpace of connector
5358
* @default 10
@@ -58,6 +63,11 @@ export class ConnectorDirective extends ComplexBase<ConnectorDirective> {
5863
* @default 0
5964
*/
6065
public connectionPadding: any;
66+
/**
67+
* Sets the distance between source node and connector
68+
* @default 13
69+
*/
70+
public connectorSpacing: any;
6171
/**
6272
* Defines the constraints of connector
6373
* * None - Interaction of the connectors cannot be done.
@@ -128,6 +138,11 @@ export class ConnectorDirective extends ComplexBase<ConnectorDirective> {
128138
* @default {}
129139
*/
130140
public margin: any;
141+
/**
142+
* Sets the maximum segment thumb for the connector
143+
* @default null
144+
*/
145+
public maxSegmentThumb: any;
131146
/**
132147
* Defines the size of the symbol preview
133148
* @aspdefaultvalueignore

components/diagrams/src/diagram/diagram.component.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import { CustomCursorsDirective } from './customcursor.directive';
77
import { ConnectorsDirective } from './connectors.directive';
88
import { NodesDirective } from './nodes.directive';
99

10-
export const inputs: string[] = ['addInfo','annotationTemplate','backgroundColor','bridgeDirection','commandManager','connectorDefaults','connectors','constraints','contextMenuSettings','customCursor','dataSourceSettings','diagramSettings','drawingObject','enablePersistence','enableRtl','getConnectorDefaults','getCustomCursor','getCustomProperty','getCustomTool','getDescription','getNodeDefaults','height','historyManager','layers','layout','locale','mode','nodeDefaults','nodeTemplate','nodes','pageSettings','rulerSettings','scrollSettings','selectedItems','serializationSettings','setNodeTemplate','snapSettings','tool','tooltip','updateSelection','userHandleTemplate','width'];
10+
export const inputs: string[] = ['addInfo','annotationTemplate','backgroundColor','bridgeDirection','commandManager','connectorDefaults','connectors','constraints','contextMenuSettings','customCursor','dataSourceSettings','diagramSettings','drawingObject','enableConnectorSplit','enablePersistence','enableRtl','getConnectorDefaults','getCustomCursor','getCustomProperty','getCustomTool','getDescription','getNodeDefaults','height','historyManager','layers','layout','locale','mode','nodeDefaults','nodeTemplate','nodes','pageSettings','rulerSettings','scrollSettings','segmentThumbShape','selectedItems','serializationSettings','setNodeTemplate','snapSettings','tool','tooltip','updateSelection','userHandleTemplate','width'];
1111
export const outputs: string[] = ['animationComplete','click','collectionChange','commandExecute','connectionChange','contextMenuBeforeItemRender','contextMenuClick','contextMenuOpen','created','dataLoaded','doubleClick','dragEnter','dragLeave','dragOver','drop','expandStateChange','fixedUserHandleClick','historyChange','historyStateChange','keyDown','keyUp','mouseEnter','mouseLeave','mouseOver','onImageLoad','onUserHandleMouseDown','onUserHandleMouseEnter','onUserHandleMouseLeave','onUserHandleMouseUp','positionChange','propertyChange','rotateChange','scrollChange','segmentCollectionChange','selectionChange','sizeChange','sourcePointChange','targetPointChange','textEdit'];
1212
export const twoWays: string[] = [''];
1313

0 commit comments

Comments
 (0)