UNPKG

@ng-dnd/core

Version:

Drag and Drop for Angular

25 lines 3.44 kB
import areOptionsEqual from '../utils/areOptionsEqual'; export class Reconnector { constructor(backendConnector) { this.backendConnector = backendConnector; this.reconnect = (parentHandlerId) => { if (this.disconnect) { this.disconnect(); this.disconnect = null; } this.handlerId = parentHandlerId; if (this.handlerId && this.node) { this.disconnect = this.backendConnector(this.handlerId, this.node, this.options); } }; this.hook = (nativeElement, options) => { if (nativeElement === this.node && areOptionsEqual(options, this.options)) { return; } this.node = nativeElement; this.options = options; this.reconnect(this.handlerId); }; } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVjb25uZWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaW50ZXJuYWwvUmVjb25uZWN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxlQUFlLE1BQU0sMEJBQTBCLENBQUM7QUFFdkQsTUFBTSxPQUFPLFdBQVc7SUFLdEIsWUFBb0IsZ0JBQTBFO1FBQTFFLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBMEQ7UUFDOUYsY0FBUyxHQUFHLENBQUMsZUFBa0MsRUFBRSxFQUFFO1lBQ2pELElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUNwQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQ2xCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1lBQ3pCLENBQUM7WUFDRCxJQUFJLENBQUMsU0FBUyxHQUFHLGVBQWUsQ0FBQztZQUNqQyxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNoQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ25GLENBQUM7UUFDSCxDQUFDLENBQUM7UUFDRixTQUFJLEdBQUcsQ0FBQyxhQUFtQixFQUFFLE9BQVcsRUFBRSxFQUFFO1lBQzFDLElBQUksYUFBYSxLQUFLLElBQUksQ0FBQyxJQUFJLElBQUksZUFBZSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztnQkFDMUUsT0FBTztZQUNULENBQUM7WUFFRCxJQUFJLENBQUMsSUFBSSxHQUFHLGFBQWEsQ0FBQztZQUMxQixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztZQUV2QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNqQyxDQUFDLENBQUM7SUFwQitGLENBQUM7Q0FxQm5HIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVW5zdWJzY3JpYmUsIElkZW50aWZpZXIgfSBmcm9tICdkbmQtY29yZSc7XG5pbXBvcnQgYXJlT3B0aW9uc0VxdWFsIGZyb20gJy4uL3V0aWxzL2FyZU9wdGlvbnNFcXVhbCc7XG5cbmV4cG9ydCBjbGFzcyBSZWNvbm5lY3RvcjxPID0gYW55PiB7XG4gIGhhbmRsZXJJZDogYW55O1xuICBub2RlPzogTm9kZTtcbiAgb3B0aW9ucz86IE87XG4gIGRpc2Nvbm5lY3Q/OiBVbnN1YnNjcmliZSB8IG51bGw7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYmFja2VuZENvbm5lY3RvcjogKGhhbmRsZXJJZDogYW55LCBub2RlOiBOb2RlLCBvcHRpb25zPzogTykgPT4gVW5zdWJzY3JpYmUpIHt9XG4gIHJlY29ubmVjdCA9IChwYXJlbnRIYW5kbGVySWQ6IElkZW50aWZpZXIgfCBudWxsKSA9PiB7XG4gICAgaWYgKHRoaXMuZGlzY29ubmVjdCkge1xuICAgICAgdGhpcy5kaXNjb25uZWN0KCk7XG4gICAgICB0aGlzLmRpc2Nvbm5lY3QgPSBudWxsO1xuICAgIH1cbiAgICB0aGlzLmhhbmRsZXJJZCA9IHBhcmVudEhhbmRsZXJJZDtcbiAgICBpZiAodGhpcy5oYW5kbGVySWQgJiYgdGhpcy5ub2RlKSB7XG4gICAgICB0aGlzLmRpc2Nvbm5lY3QgPSB0aGlzLmJhY2tlbmRDb25uZWN0b3IodGhpcy5oYW5kbGVySWQsIHRoaXMubm9kZSwgdGhpcy5vcHRpb25zKTtcbiAgICB9XG4gIH07XG4gIGhvb2sgPSAobmF0aXZlRWxlbWVudDogTm9kZSwgb3B0aW9ucz86IE8pID0+IHtcbiAgICBpZiAobmF0aXZlRWxlbWVudCA9PT0gdGhpcy5ub2RlICYmIGFyZU9wdGlvbnNFcXVhbChvcHRpb25zLCB0aGlzLm9wdGlvbnMpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5ub2RlID0gbmF0aXZlRWxlbWVudDtcbiAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zO1xuXG4gICAgdGhpcy5yZWNvbm5lY3QodGhpcy5oYW5kbGVySWQpO1xuICB9O1xufVxuIl19