@ng-dnd/core
Version:
Drag and Drop for Angular
26 lines • 3.4 kB
JavaScript
import { Reconnector } from './Reconnector';
export class TargetConnector {
constructor(backend) {
this.backend = backend;
this.dropTarget = new Reconnector((handlerId, node, options) => {
return this.backend.connectDropTarget(handlerId, node, options);
});
this.hooks = {
dropTarget: this.dropTarget.hook,
};
}
receiveHandlerId(handlerId) {
if (handlerId === this.currentHandlerId) {
return;
}
this.currentHandlerId = handlerId;
this.dropTarget.reconnect(handlerId);
}
reconnect() {
this.dropTarget.reconnect(this.currentHandlerId);
}
}
export default function createTargetConnector(backend) {
return new TargetConnector(backend);
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlVGFyZ2V0Q29ubmVjdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2ludGVybmFsL2NyZWF0ZVRhcmdldENvbm5lY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTVDLE1BQU0sT0FBTyxlQUFlO0lBTzFCLFlBQW9CLE9BQWdCO1FBQWhCLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFKNUIsZUFBVSxHQUFHLElBQUksV0FBVyxDQUFPLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRTtZQUN0RSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNsRSxDQUFDLENBQUMsQ0FBQztRQVlJLFVBQUssR0FBd0I7WUFDbEMsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSTtTQUNqQyxDQUFDO0lBWnFDLENBQUM7SUFFakMsZ0JBQWdCLENBQUMsU0FBNEI7UUFDbEQsSUFBSSxTQUFTLEtBQUssSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDeEMsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsU0FBUyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFNTSxTQUFTO1FBQ2QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDbkQsQ0FBQztDQUNGO0FBRUQsTUFBTSxDQUFDLE9BQU8sVUFBVSxxQkFBcUIsQ0FBQyxPQUFnQjtJQUM1RCxPQUFPLElBQUksZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ3RDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYWNrZW5kLCBJZGVudGlmaWVyIH0gZnJvbSAnZG5kLWNvcmUnO1xuaW1wb3J0IHsgRHJvcFRhcmdldENvbm5lY3RvciB9IGZyb20gJy4uL2Nvbm5lY3RvcnMnO1xuaW1wb3J0IHsgQ29ubmVjdG9yIH0gZnJvbSAnLi9jcmVhdGVTb3VyY2VDb25uZWN0b3InO1xuaW1wb3J0IHsgUmVjb25uZWN0b3IgfSBmcm9tICcuL1JlY29ubmVjdG9yJztcblxuZXhwb3J0IGNsYXNzIFRhcmdldENvbm5lY3RvciBpbXBsZW1lbnRzIENvbm5lY3RvcjxEcm9wVGFyZ2V0Q29ubmVjdG9yPiB7XG4gIHByaXZhdGUgY3VycmVudEhhbmRsZXJJZDogYW55O1xuXG4gIHByaXZhdGUgZHJvcFRhcmdldCA9IG5ldyBSZWNvbm5lY3Rvcjx2b2lkPigoaGFuZGxlcklkLCBub2RlLCBvcHRpb25zKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMuYmFja2VuZC5jb25uZWN0RHJvcFRhcmdldChoYW5kbGVySWQsIG5vZGUsIG9wdGlvbnMpO1xuICB9KTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGJhY2tlbmQ6IEJhY2tlbmQpIHt9XG5cbiAgcHVibGljIHJlY2VpdmVIYW5kbGVySWQoaGFuZGxlcklkOiBJZGVudGlmaWVyIHwgbnVsbCkge1xuICAgIGlmIChoYW5kbGVySWQgPT09IHRoaXMuY3VycmVudEhhbmRsZXJJZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmN1cnJlbnRIYW5kbGVySWQgPSBoYW5kbGVySWQ7XG4gICAgdGhpcy5kcm9wVGFyZ2V0LnJlY29ubmVjdChoYW5kbGVySWQpO1xuICB9XG5cbiAgcHVibGljIGhvb2tzOiBEcm9wVGFyZ2V0Q29ubmVjdG9yID0ge1xuICAgIGRyb3BUYXJnZXQ6IHRoaXMuZHJvcFRhcmdldC5ob29rLFxuICB9O1xuXG4gIHB1YmxpYyByZWNvbm5lY3QoKSB7XG4gICAgdGhpcy5kcm9wVGFyZ2V0LnJlY29ubmVjdCh0aGlzLmN1cnJlbnRIYW5kbGVySWQpO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGNyZWF0ZVRhcmdldENvbm5lY3RvcihiYWNrZW5kOiBCYWNrZW5kKSB7XG4gIHJldHVybiBuZXcgVGFyZ2V0Q29ubmVjdG9yKGJhY2tlbmQpO1xufVxuIl19