Skip to content

Commit 45deb08

Browse files
author
pipeline
committed
v17.4.41 is released
1 parent 04f2c08 commit 45deb08

File tree

523 files changed

+24058
-5845
lines changed

Some content is hidden

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

523 files changed

+24058
-5845
lines changed

controls/base/CHANGELOG.md

+11
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,17 @@
22

33
## [Unreleased]
44

5+
## 17.4.41 (2020-01-07)
6+
7+
### Common
8+
9+
#### Bug Fixes
10+
11+
- `#I256528` - Resolved `draggable` issue `out` event not triggered.
12+
- `#F149410` - Resolved `drag and drop` function not working `firefox` browser version 60.8 .
13+
- `#I258661` - Resolved `LoadCldr` is not working issue.
14+
- `#I258471` - Improvement the `drag and drop` library performance .
15+
516
## 17.2.49 (2019-09-04)
617

718
### Common

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

+38-12
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

+38-12
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/drag-drop.spec.ts

-1
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,6 @@ describe('draggable', () => {
197197
});
198198
it('Drag start movement called properly based on the distance moved and without element cloning', () => {
199199
EventHandler.trigger(<any>(document), 'mousemove', mousemove);
200-
expect(document.body.classList.contains('e-prevent-select')).toBe(true);
201200
expect(dragstartEvent).toHaveBeenCalled();
202201
instance.intDestroy(mousedown);
203202
});

controls/base/src/draggable.ts

+36-11
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ const positionProp: string[] = ['offsetLeft', 'offsetTop'];
1212
const axisMapper: string[] = ['x', 'y'];
1313
const axisValueMapper: string[] = ['left', 'top'];
1414
const isDraggedObject: DragObject = { isDragged: false };
15+
1516
/**
1617
* Specifies the Direction in which drag movement happen.
1718
*/
@@ -459,12 +460,22 @@ export class Draggable extends Base<HTMLElement> implements INotifyPropertyChang
459460
let intCoord: Coordinates = this.getCoordinates(evt);
460461
this.initialPosition = { x: intCoord.pageX, y: intCoord.pageY };
461462
if (!this.clone) {
462-
let pos: PositionModel = this.element.getBoundingClientRect();
463+
let leftPostion: any;
464+
let topPostion: any;
465+
if (!isBlazor()) {
466+
let pos: PositionModel = this.element.getBoundingClientRect();
467+
leftPostion = pos.left;
468+
topPostion = pos.top;
469+
} else {
470+
leftPostion = this.element.offsetLeft;
471+
topPostion = this.element.offsetTop;
472+
}
473+
463474
this.getScrollableValues();
464475
if (evt.clientX === evt.pageX) { this.parentScrollX = 0; }
465476
if (evt.clientY === evt.pageY) { this.parentScrollY = 0; }
466-
this.relativeXPosition = intCoord.pageX - (pos.left + this.parentScrollX);
467-
this.relativeYPosition = intCoord.pageY - (pos.top + this.parentScrollY);
477+
this.relativeXPosition = intCoord.pageX - (leftPostion + this.parentScrollX);
478+
this.relativeYPosition = intCoord.pageY - (topPostion + this.parentScrollY);
468479
}
469480
if (this.externalInitialize) {
470481
this.intDragStart(evt);
@@ -473,7 +484,7 @@ export class Draggable extends Base<HTMLElement> implements INotifyPropertyChang
473484
EventHandler.add(document, Browser.touchEndEvent, this.intDestroy, this);
474485
}
475486
this.toggleEvents(true);
476-
document.body.classList.add('e-prevent-select');
487+
//document.body.classList.add('e-prevent-select');
477488
this.externalInitialize = false;
478489
EventHandler.trigger(document.documentElement, Browser.touchStartEvent, evt);
479490
}
@@ -600,6 +611,7 @@ export class Draggable extends Base<HTMLElement> implements INotifyPropertyChang
600611
top: (rect.top + window.pageYOffset) - parseInt(style.marginTop, 10)
601612
};
602613
}
614+
// tslint:disable-next-line:max-func-body-length
603615
private intDrag(evt: MouseEvent & TouchEvent): void {
604616
if (!isUndefined(evt.changedTouches) && (evt.changedTouches.length !== 1)) {
605617
return;
@@ -622,13 +634,21 @@ export class Draggable extends Base<HTMLElement> implements INotifyPropertyChang
622634
let eleObj: DropObject = this.checkTargetElement(evt);
623635
if (eleObj.target && eleObj.instance) {
624636
/* tslint:disable no-any */
625-
(<any>eleObj).instance.dragData[this.scope] = this.droppables[this.scope];
626-
eleObj.instance.intOver(evt, eleObj.target);
627-
this.hoverObject = eleObj;
637+
let flag: Boolean = true;
638+
if (this.hoverObject) {
639+
if (this.hoverObject.instance !== eleObj.instance) {
640+
this.triggerOutFunction(evt, eleObj);
641+
} else {
642+
flag = false;
643+
}
644+
}
645+
if (flag) {
646+
(<any>eleObj).instance.dragData[this.scope] = this.droppables[this.scope];
647+
eleObj.instance.intOver(evt, eleObj.target);
648+
this.hoverObject = eleObj;
649+
}
628650
} else if (this.hoverObject) {
629-
this.hoverObject.instance.intOut(evt, eleObj.target);
630-
(<any>this.hoverObject).instance.dragData[this.scope] = null;
631-
this.hoverObject = null;
651+
this.triggerOutFunction(evt, eleObj);
632652
}
633653
let helperElement: HTMLElement = this.droppables[this.scope].helper;
634654
this.parentClientRect = this.calculateParentPosition(this.helperElement.offsetParent);
@@ -700,6 +720,11 @@ export class Draggable extends Base<HTMLElement> implements INotifyPropertyChang
700720
this.pageX = pagex;
701721
this.pageY = pagey;
702722
}
723+
private triggerOutFunction(evt: MouseEvent & TouchEvent, eleObj: DropObject): void {
724+
this.hoverObject.instance.intOut(evt, eleObj.target);
725+
this.hoverObject.instance.dragData[this.scope] = null;
726+
this.hoverObject = null;
727+
}
703728
private getDragPosition(dragValue: DragPosition & { position?: string }): {
704729
[key: string]: Object;
705730
} {
@@ -827,7 +852,7 @@ export class Draggable extends Base<HTMLElement> implements INotifyPropertyChang
827852
}
828853
private getMousePosition(evt: MouseEvent & TouchEvent, isdragscroll?: boolean): PositionModel {
829854
/* tslint:disable no-any */
830-
let dragEle: any = evt.srcElement;
855+
let dragEle: any = evt.srcElement !== undefined ? evt.srcElement : evt.target;
831856
let intCoord: Coordinates = this.getCoordinates(evt);
832857
let pageX: number;
833858
let pageY: number;

controls/base/src/util.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,8 @@ export function extend(copied: Object, first: Object, second?: Object, deep?: bo
182182
let src: Object = result[key];
183183
let copy: Object = obj1[key];
184184
let clone: Object;
185-
if (deep && !(src instanceof Event) && (isObject(copy) || Array.isArray(copy))) {
185+
let blazorEventExtend: any = isBlazor() ? !(src instanceof Event) : true;
186+
if (deep && blazorEventExtend && (isObject(copy) || Array.isArray(copy))) {
186187
if (isObject(copy)) {
187188
clone = src ? src : {};
188189
if (Array.isArray(clone) && clone.hasOwnProperty('isComplexArray')) {

controls/buttons/CHANGELOG.md

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

33
## [Unreleased]
44

5+
## 17.4.41 (2020-01-07)
6+
7+
### Chips
8+
9+
#### Bug Fixes
10+
11+
- `#256994` - The issue with aria-selected value maintenance in a single selection has been fixed.
12+
513
## 17.4.39 (2019-12-17)
614

715
### Chips

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

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

controls/buttons/dist/ej2-buttons.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/buttons/dist/es6/ej2-buttons.es2015.js

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

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

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

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

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

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

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

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

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

controls/buttons/dist/global/ej2-buttons.min.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)