"use strict";
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };
var _inherits = function (subClass, superClass) { Iif (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); Eif (superClass) subClass.__proto__ = superClass; };
var _classCallCheck = function (instance, Constructor) { Iif (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } };
var Store = require("flummox").Store;
var without = _interopRequire(require("lodash/array/without"));
var DragOperationStore = (function (_Store) {
function DragOperationStore(flux) {
_classCallCheck(this, DragOperationStore);
_Store.call(this);
var dragDropActionIds = flux.dragDropActionIds;
var registryActionIds = flux.registryActionIds;
this.register(dragDropActionIds.beginDrag, this.handleBeginDrag);
this.register(dragDropActionIds.hover, this.handleHover);
this.register(dragDropActionIds.endDrag, this.handleEndDrag);
this.register(dragDropActionIds.drop, this.handleDrop);
this.register(registryActionIds.removeTarget, this.handleRemoveTarget);
this.state = {
itemType: null,
item: null,
sourceHandle: null,
targetHandles: [],
dropResult: null,
didDrop: false
};
}
_inherits(DragOperationStore, _Store);
DragOperationStore.prototype.handleBeginDrag = function handleBeginDrag(_ref) {
var itemType = _ref.itemType;
var item = _ref.item;
var sourceHandle = _ref.sourceHandle;
this.setState({
itemType: itemType,
item: item,
sourceHandle: sourceHandle,
dropResult: false,
didDrop: false
});
};
DragOperationStore.prototype.handleHover = function handleHover(_ref) {
var targetHandles = _ref.targetHandles;
this.setState({ targetHandles: targetHandles });
};
DragOperationStore.prototype.handleRemoveTarget = function handleRemoveTarget(_ref) {
var targetHandle = _ref.targetHandle;
var targetHandles = this.state.targetHandles;
if (targetHandles.indexOf(targetHandle) > -1) {
this.setState({
targetHandles: without(targetHandles, targetHandle)
});
}
};
DragOperationStore.prototype.handleDrop = function handleDrop(_ref) {
var dropResult = _ref.dropResult;
this.setState({
dropResult: dropResult,
didDrop: true
});
};
DragOperationStore.prototype.handleEndDrag = function handleEndDrag() {
this.setState({
itemType: null,
item: null,
sourceHandle: null,
dropResult: null,
didDrop: false
});
};
DragOperationStore.prototype.isDragging = function isDragging() {
return Boolean(this.getItemType());
};
DragOperationStore.prototype.getItemType = function getItemType() {
return this.state.itemType;
};
DragOperationStore.prototype.getSourceHandle = function getSourceHandle() {
return this.state.sourceHandle;
};
DragOperationStore.prototype.getTargetHandles = function getTargetHandles() {
return this.state.targetHandles.slice(0);
};
DragOperationStore.prototype.getItem = function getItem() {
return this.state.item;
};
DragOperationStore.prototype.getDropResult = function getDropResult() {
return this.state.dropResult;
};
DragOperationStore.prototype.didDrop = function didDrop() {
return this.state.didDrop;
};
return DragOperationStore;
})(Store);
module.exports = DragOperationStore;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9kYW4vRG9jdW1lbnRzL1Byb2plY3RzL2RuZC1jb3JlL21vZHVsZXMvc3RvcmVzL0RyYWdPcGVyYXRpb25TdG9yZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7OztJQUFTLEtBQUssV0FBUSxTQUFTLEVBQXRCLEtBQUs7O0lBQ1AsT0FBTywyQkFBTSxzQkFBc0I7O0lBRXJCLGtCQUFrQjtBQUMxQixXQURRLGtCQUFrQixDQUN6QixJQUFJLEVBQUU7MEJBREMsa0JBQWtCOztBQUVuQyxxQkFBTyxDQUFDOztRQUVBLGlCQUFpQixHQUF3QixJQUFJLENBQTdDLGlCQUFpQjtRQUFFLGlCQUFpQixHQUFLLElBQUksQ0FBMUIsaUJBQWlCOztBQUM1QyxRQUFJLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7QUFDakUsUUFBSSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBQ3pELFFBQUksQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUM3RCxRQUFJLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDdkQsUUFBSSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7O0FBRXZFLFFBQUksQ0FBQyxLQUFLLEdBQUc7QUFDWCxjQUFRLEVBQUUsSUFBSTtBQUNkLFVBQUksRUFBRSxJQUFJO0FBQ1Ysa0JBQVksRUFBRSxJQUFJO0FBQ2xCLG1CQUFhLEVBQUUsRUFBRTtBQUNqQixnQkFBVSxFQUFFLElBQUk7QUFDaEIsYUFBTyxFQUFFLEtBQUs7S0FDZixDQUFDO0dBQ0g7O1lBbkJrQixrQkFBa0I7O0FBQWxCLG9CQUFrQixXQXFCckMsZUFBZSxHQUFBLCtCQUFtQztRQUFoQyxRQUFRLFFBQVIsUUFBUTtRQUFFLElBQUksUUFBSixJQUFJO1FBQUUsWUFBWSxRQUFaLFlBQVk7O0FBQzVDLFFBQUksQ0FBQyxRQUFRLENBQUM7QUFDWixjQUFRLEVBQVIsUUFBUTtBQUNSLFVBQUksRUFBSixJQUFJO0FBQ0osa0JBQVksRUFBWixZQUFZO0FBQ1osZ0JBQVUsRUFBRSxLQUFLO0FBQ2pCLGFBQU8sRUFBRSxLQUFLO0tBQ2YsQ0FBQyxDQUFDO0dBQ0o7O0FBN0JrQixvQkFBa0IsV0ErQnJDLFdBQVcsR0FBQSwyQkFBb0I7UUFBakIsYUFBYSxRQUFiLGFBQWE7O0FBQ3pCLFFBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxhQUFhLEVBQWIsYUFBYSxFQUFFLENBQUMsQ0FBQztHQUNsQzs7QUFqQ2tCLG9CQUFrQixXQW1DckMsa0JBQWtCLEdBQUEsa0NBQW1CO1FBQWhCLFlBQVksUUFBWixZQUFZO1FBQ3ZCLGFBQWEsR0FBSyxJQUFJLENBQUMsS0FBSyxDQUE1QixhQUFhOztBQUNyQixRQUFJLGFBQWEsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7QUFDNUMsVUFBSSxDQUFDLFFBQVEsQ0FBQztBQUNaLHFCQUFhLEVBQUUsT0FBTyxDQUFDLGFBQWEsRUFBRSxZQUFZLENBQUM7T0FDcEQsQ0FBQyxDQUFDO0tBQ0o7R0FDRjs7QUExQ2tCLG9CQUFrQixXQTRDckMsVUFBVSxHQUFBLDBCQUFpQjtRQUFkLFVBQVUsUUFBVixVQUFVOztBQUNyQixRQUFJLENBQUMsUUFBUSxDQUFDO0FBQ1osZ0JBQVUsRUFBVixVQUFVO0FBQ1YsYUFBTyxFQUFFLElBQUk7S0FDZCxDQUFDLENBQUM7R0FDSjs7QUFqRGtCLG9CQUFrQixXQW1EckMsYUFBYSxHQUFBLHlCQUFHO0FBQ2QsUUFBSSxDQUFDLFFBQVEsQ0FBQztBQUNaLGNBQVEsRUFBRSxJQUFJO0FBQ2QsVUFBSSxFQUFFLElBQUk7QUFDVixrQkFBWSxFQUFFLElBQUk7QUFDbEIsZ0JBQVUsRUFBRSxJQUFJO0FBQ2hCLGFBQU8sRUFBRSxLQUFLO0tBQ2YsQ0FBQyxDQUFDO0dBQ0o7O0FBM0RrQixvQkFBa0IsV0E2RHJDLFVBQVUsR0FBQSxzQkFBRztBQUNYLFdBQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0dBQ3BDOztBQS9Ea0Isb0JBQWtCLFdBaUVyQyxXQUFXLEdBQUEsdUJBQUc7QUFDWixXQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDO0dBQzVCOztBQW5Fa0Isb0JBQWtCLFdBcUVyQyxlQUFlLEdBQUEsMkJBQUc7QUFDaEIsV0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQztHQUNoQzs7QUF2RWtCLG9CQUFrQixXQXlFckMsZ0JBQWdCLEdBQUEsNEJBQUc7QUFDakIsV0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7R0FDMUM7O0FBM0VrQixvQkFBa0IsV0E2RXJDLE9BQU8sR0FBQSxtQkFBRztBQUNSLFdBQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7R0FDeEI7O0FBL0VrQixvQkFBa0IsV0FpRnJDLGFBQWEsR0FBQSx5QkFBRztBQUNkLFdBQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUM7R0FDOUI7O0FBbkZrQixvQkFBa0IsV0FxRnJDLE9BQU8sR0FBQSxtQkFBRztBQUNSLFdBQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUM7R0FDM0I7O1NBdkZrQixrQkFBa0I7R0FBUyxLQUFLOztpQkFBaEMsa0JBQWtCIiwiZmlsZSI6Ii9Vc2Vycy9kYW4vRG9jdW1lbnRzL1Byb2plY3RzL2RuZC1jb3JlL21vZHVsZXMvc3RvcmVzL0RyYWdPcGVyYXRpb25TdG9yZS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0b3JlIH0gZnJvbSAnZmx1bW1veCc7XG5pbXBvcnQgd2l0aG91dCBmcm9tICdsb2Rhc2gvYXJyYXkvd2l0aG91dCc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIERyYWdPcGVyYXRpb25TdG9yZSBleHRlbmRzIFN0b3JlIHtcbiAgY29uc3RydWN0b3IoZmx1eCkge1xuICAgIHN1cGVyKCk7XG5cbiAgICBjb25zdCB7IGRyYWdEcm9wQWN0aW9uSWRzLCByZWdpc3RyeUFjdGlvbklkcyB9ID0gZmx1eDtcbiAgICB0aGlzLnJlZ2lzdGVyKGRyYWdEcm9wQWN0aW9uSWRzLmJlZ2luRHJhZywgdGhpcy5oYW5kbGVCZWdpbkRyYWcpO1xuICAgIHRoaXMucmVnaXN0ZXIoZHJhZ0Ryb3BBY3Rpb25JZHMuaG92ZXIsIHRoaXMuaGFuZGxlSG92ZXIpO1xuICAgIHRoaXMucmVnaXN0ZXIoZHJhZ0Ryb3BBY3Rpb25JZHMuZW5kRHJhZywgdGhpcy5oYW5kbGVFbmREcmFnKTtcbiAgICB0aGlzLnJlZ2lzdGVyKGRyYWdEcm9wQWN0aW9uSWRzLmRyb3AsIHRoaXMuaGFuZGxlRHJvcCk7XG4gICAgdGhpcy5yZWdpc3RlcihyZWdpc3RyeUFjdGlvbklkcy5yZW1vdmVUYXJnZXQsIHRoaXMuaGFuZGxlUmVtb3ZlVGFyZ2V0KTtcblxuICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICBpdGVtVHlwZTogbnVsbCxcbiAgICAgIGl0ZW06IG51bGwsXG4gICAgICBzb3VyY2VIYW5kbGU6IG51bGwsXG4gICAgICB0YXJnZXRIYW5kbGVzOiBbXSxcbiAgICAgIGRyb3BSZXN1bHQ6IG51bGwsXG4gICAgICBkaWREcm9wOiBmYWxzZVxuICAgIH07XG4gIH1cblxuICBoYW5kbGVCZWdpbkRyYWcoeyBpdGVtVHlwZSwgaXRlbSwgc291cmNlSGFuZGxlIH0pIHtcbiAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgIGl0ZW1UeXBlLFxuICAgICAgaXRlbSxcbiAgICAgIHNvdXJjZUhhbmRsZSxcbiAgICAgIGRyb3BSZXN1bHQ6IGZhbHNlLFxuICAgICAgZGlkRHJvcDogZmFsc2VcbiAgICB9KTtcbiAgfVxuXG4gIGhhbmRsZUhvdmVyKHsgdGFyZ2V0SGFuZGxlcyB9KSB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7IHRhcmdldEhhbmRsZXMgfSk7XG4gIH1cblxuICBoYW5kbGVSZW1vdmVUYXJnZXQoeyB0YXJnZXRIYW5kbGUgfSkge1xuICAgIGNvbnN0IHsgdGFyZ2V0SGFuZGxlcyB9ID0gdGhpcy5zdGF0ZTtcbiAgICBpZiAodGFyZ2V0SGFuZGxlcy5pbmRleE9mKHRhcmdldEhhbmRsZSkgPiAtMSkge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgIHRhcmdldEhhbmRsZXM6IHdpdGhvdXQodGFyZ2V0SGFuZGxlcywgdGFyZ2V0SGFuZGxlKVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlRHJvcCh7IGRyb3BSZXN1bHQgfSkge1xuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgZHJvcFJlc3VsdCxcbiAgICAgIGRpZERyb3A6IHRydWVcbiAgICB9KTtcbiAgfVxuXG4gIGhhbmRsZUVuZERyYWcoKSB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICBpdGVtVHlwZTogbnVsbCxcbiAgICAgIGl0ZW06IG51bGwsXG4gICAgICBzb3VyY2VIYW5kbGU6IG51bGwsXG4gICAgICBkcm9wUmVzdWx0OiBudWxsLFxuICAgICAgZGlkRHJvcDogZmFsc2VcbiAgICB9KTtcbiAgfVxuXG4gIGlzRHJhZ2dpbmcoKSB7XG4gICAgcmV0dXJuIEJvb2xlYW4odGhpcy5nZXRJdGVtVHlwZSgpKTtcbiAgfVxuXG4gIGdldEl0ZW1UeXBlKCkge1xuICAgIHJldHVybiB0aGlzLnN0YXRlLml0ZW1UeXBlO1xuICB9XG5cbiAgZ2V0U291cmNlSGFuZGxlKCkge1xuICAgIHJldHVybiB0aGlzLnN0YXRlLnNvdXJjZUhhbmRsZTtcbiAgfVxuXG4gIGdldFRhcmdldEhhbmRsZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGUudGFyZ2V0SGFuZGxlcy5zbGljZSgwKTtcbiAgfVxuXG4gIGdldEl0ZW0oKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGUuaXRlbTtcbiAgfVxuXG4gIGdldERyb3BSZXN1bHQoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGUuZHJvcFJlc3VsdDtcbiAgfVxuXG4gIGRpZERyb3AoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGUuZGlkRHJvcDtcbiAgfVxufVxuIl19 |