wix-style-react
Version:
wix-style-react
44 lines (43 loc) • 1.5 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.default = void 0;
var _Draggable = _interopRequireDefault(require("../DragAndDrop/Draggable/Draggable.driver"));
var _constants = require("../DragAndDrop/Draggable/constants");
var _constants2 = require("./constants");
var sortableListBaseFactory = _ref => {
var {
element
} = _ref;
var draggableDriver = (0, _Draggable.default)({
element: element.querySelector("[data-hook=\"".concat(_constants2.dataHooks.provider, "\"]"))
});
return {
/** checks if exists */
exists: () => !!element,
/** reorder sortable list items */
reorder: _ref2 => {
var {
dataHookFrom,
dataHookTo
} = _ref2;
draggableDriver.beginDrag({
dataHook: dataHookFrom
});
draggableDriver.dragOver({
dataHook: dataHookTo
});
draggableDriver.endDrag();
},
/** get draggable item position */
getItemPosition: _ref3 => {
var {
dataHook
} = _ref3;
var draggableItems = [...element.querySelectorAll("[".concat(_constants.dataAttributes.draggableTarget, "]"))];
return draggableItems.findIndex(item => item.querySelectorAll("[".concat(_constants.dataAttributes.draggableSource, "]"))[0].getAttribute('data-hook') === dataHook);
}
};
};
var _default = exports.default = sortableListBaseFactory;
//# sourceMappingURL=SortableListBase.driver.js.map