Icard/angular-clarity-master(work.../node_modules/angular-gridster2/esm2022/lib/gridsterSwap.service.mjs

87 lines
13 KiB
JavaScript
Raw Normal View History

2024-07-16 14:55:36 +00:00
export class GridsterSwap {
constructor(gridsterItem) {
this.gridsterItem = gridsterItem;
this.gridster = gridsterItem.gridster;
}
destroy() {
this.gridster = this.gridsterItem = this.swapedItem = null;
}
swapItems() {
if (this.gridster.$options.swap) {
this.checkSwapBack();
this.checkSwap(this.gridsterItem);
}
}
checkSwapBack() {
if (this.swapedItem) {
const x = this.swapedItem.$item.x;
const y = this.swapedItem.$item.y;
this.swapedItem.$item.x = this.swapedItem.item.x || 0;
this.swapedItem.$item.y = this.swapedItem.item.y || 0;
if (this.gridster.checkCollision(this.swapedItem.$item)) {
this.swapedItem.$item.x = x;
this.swapedItem.$item.y = y;
}
else {
this.swapedItem.setSize();
this.gridsterItem.$item.x = this.gridsterItem.item.x || 0;
this.gridsterItem.$item.y = this.gridsterItem.item.y || 0;
this.swapedItem = undefined;
}
}
}
restoreSwapItem() {
if (this.swapedItem) {
this.swapedItem.$item.x = this.swapedItem.item.x || 0;
this.swapedItem.$item.y = this.swapedItem.item.y || 0;
this.swapedItem.setSize();
this.swapedItem = undefined;
}
}
setSwapItem() {
if (this.swapedItem) {
this.swapedItem.checkItemChanges(this.swapedItem.$item, this.swapedItem.item);
this.swapedItem = undefined;
}
}
checkSwap(pushedBy) {
let gridsterItemCollision;
if (this.gridster.$options.swapWhileDragging) {
gridsterItemCollision = this.gridster.checkCollisionForSwaping(pushedBy.$item);
}
else {
gridsterItemCollision = this.gridster.checkCollision(pushedBy.$item);
}
if (gridsterItemCollision &&
gridsterItemCollision !== true &&
gridsterItemCollision.canBeDragged()) {
const gridsterItemCollide = gridsterItemCollision;
const copyCollisionX = gridsterItemCollide.$item.x;
const copyCollisionY = gridsterItemCollide.$item.y;
const copyX = pushedBy.$item.x;
const copyY = pushedBy.$item.y;
const diffX = copyX - copyCollisionX;
const diffY = copyY - copyCollisionY;
gridsterItemCollide.$item.x = pushedBy.item.x - diffX;
gridsterItemCollide.$item.y = pushedBy.item.y - diffY;
pushedBy.$item.x = gridsterItemCollide.item.x + diffX;
pushedBy.$item.y = gridsterItemCollide.item.y + diffY;
if (this.gridster.checkCollision(gridsterItemCollide.$item) ||
this.gridster.checkCollision(pushedBy.$item)) {
pushedBy.$item.x = copyX;
pushedBy.$item.y = copyY;
gridsterItemCollide.$item.x = copyCollisionX;
gridsterItemCollide.$item.y = copyCollisionY;
}
else {
gridsterItemCollide.setSize();
this.swapedItem = gridsterItemCollide;
if (this.gridster.$options.swapWhileDragging) {
this.gridsterItem.checkItemChanges(this.gridsterItem.$item, this.gridsterItem.item);
this.setSwapItem();
}
}
}
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZHN0ZXJTd2FwLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWdyaWRzdGVyMi9zcmMvbGliL2dyaWRzdGVyU3dhcC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sT0FBTyxZQUFZO0lBS3ZCLFlBQVksWUFBNEM7UUFDdEQsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7UUFDakMsSUFBSSxDQUFDLFFBQVEsR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSyxDQUFDO0lBQzlELENBQUM7SUFFRCxTQUFTO1FBQ1AsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUU7WUFDL0IsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQ25DO0lBQ0gsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbkIsTUFBTSxDQUFDLEdBQVcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQzFDLE1BQU0sQ0FBQyxHQUFXLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUMxQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN0RCxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENB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