Перетаскивание внутрь таблицы

Я сделал функцию перетаскивания, но кое-что застрял, потому что не pRo ???? .
Источник здесьangularjs. Речь идет о директиве smart-table из lorenzofox3
Но точка Вопрос заключается в самой функции перетаскивания. Я знаю, как перетаскивать элемент, но проблема в том, что это <table> с вложенными

<thead>
   <tr>
     <th>header</th>
   </tr>
</thead>
<tbody>
   <tr>
     <td>text</td>
   </tr>
</tbody>

И мне интересно, как шаги должны быть сделаны. Должен ли я заменить позиции элементов DOM или просто имитировать. А также учтите, что я должен соответственно заменить столбцы таблицы. Мне нужны только шаги (не решение) полной логики - что должно произойти, когда пользователь
start-drags move-drag end-drag.
Угловой подход не важен. Просто логика.

Ответ от lorenzofox3

Привет,

Я думаю, что вам лучше всего иметь связанную модель с вашими столбцами, чтобы вы могли ее просматривать, особенно когда вы меняете порядок коллекции (например, путем перетаскивания). Взгляните на этот пример. Обратите внимание, что для изменения порядка коллекции моделей с помощью перетаскивания я использую lrDragNDrop, если вас интересует логика. Недостатком моего простого примера является то, что вы теряете гибкость шаблонов ячеек, и вам придется немного доработать этот пример, если вы хотите что-то более сложное.

С уважением,

Лоран


person Medet Tleukabiluly    schedule 22.08.2014    source источник


Ответы (2)


angular-ui ui-sortable — это способ перетаскивания. Я использовал его для очень успешного перетаскивания столбцов таблицы.

https://github.com/angular-ui/ui-sortable

добавление этого в ваши параметры помогло мне с перетаскиванием xaxis

start: function(e, ui) {
  # since this is a horizontal list, use the known workaround  from
  # https://github.com/angular-ui/ui-sortable/issues/19
  $(e.target).data("ui-sortable").floating = true
}

Разработчик очень услужливый и отзывчивый.

person ark    schedule 26.08.2014
comment
@Igersman и ark, я ценю вашу помощь, но моя цель состояла в том, чтобы сделать чистую директиву без зависимостей. Мне просто нужна логика, как будто ты пытаешься это написать на бумаге - person Medet Tleukabiluly; 26.08.2014
comment
@evc удачи! Я обнаружил, что перетаскивание было кошмаром, и был очень благодарен за тяжелую работу библиотеки jquery sortable и угловатости ui-sortable. Утройте боль, если вы пытаетесь поддерживать chrome/firefox/ie. - person ark; 26.08.2014

У меня были похожие проблемы при перетаскивании строк таблицы, и я попробовал несколько решений от собственного перетаскивания html5 до различных библиотек перетаскивания.

единственным рабочим решением до сих пор было использование (jquery-ui sortable and table< /а>). работает как шарм.

person lgersman    schedule 26.08.2014