Я использую перетаскиваемый и сортируемый интерфейс jquery для функции перетаскивания.Я запускаю функцию, когда пользователь перетаскивает поле в область сброса.Вот мой код
let initDrag = () => {
$( ".draggable" ).draggable({
connectToSortable: '.droppable',
cursor: "crosshair",
helper: "clone",
opacity: 0.35,
snap: true,
refreshPositions: true
})
}
let initSortable = () => {
$( ".droppable" ).sortable({
update: afterDrop
});
}
let afterDrop = (event, ui) => {
let fieldID = ui.item.attr("data-id");
getFieldData(fieldID).then(fieldData => {
fieldData[0].field.field_id = Date.now();
formBuildingJSON.form_fields.push(fieldData[0]);
console.log(formBuildingJSON);
})
}
Я хочу запускать эту функцию afterDrop()
только когда пользователь перетаскивает поле в выпадающую область.Но эта функция также запускается всякий раз, когда пользователь сортирует элемент.Итак, как я могу определить, было ли поле перетаскиваться или отсортировано.Я создаю массив, который хранит идентификатор всех перетаскиваемых элементов.Теперь, когда пользователь сортирует элементы, я хочу, чтобы этот массив был переупорядочен.Как я могу это сделать?