List(ul)をDrag & Dropで並び替える

List(ul)をDrag & Dropで並び替える:


Introduction

リストをDrag&Dropで並び替えたい!

とりあえずブレスト」というプロダクトを作っているのですが、ブレインストーミングした結果のリストを並び替えて整理できたらいいなー、ということで実装してみました。一応Rails5.2を使っていますが、フロントエンドだけしかいじってないので何にも応用がきくと思います。

jQuery UIも検討しましたが、単独でスマホにも対応できるSotableを使ってみました。


動かしたいリストはこちら

/app/views/sample/sample.html.erb
<ul id="sortable_list"> 
  <li>item1</li> 
  <li>item2</li> 
  <li>item3</li> 
</ul> 


Sortableのインストール

こちらからSortable.min.jsをダウンロードして/app/assets/javascripts/に格納します。

GithubをみるとCDNも配布されているみたいなので、そちらから取得するのもありです。


リストをSortableにする

coffeescriptでちょろっと書くだけ。

/app/assets/javascripts/sample.coffee
$(document).on 'turbolinks:load', -> 
  el = document.getElementById("sortable_list") 
  sortable = Sortable.create(el) 


optionを指定する

Sortableは色々とオプションを指定できる。

指定の仕方は、

/app/assets/javascripts/sample.coffee
sortable = Sortable.create(el, { 
  animation: 150 
}) 
というかんじ。

Githubにデモ付きでoptionの詳細が書かれているので、気になるやつは使ってみよう。


Conclusion

jQuery UIのときはmobileでもDrag&Dropの並び替えをする上でちょっと壁があったのだけど、Sortableなら意識せずにmobile対応できるのでとても便利でした!


Reference

コメント

このブログの人気の投稿

投稿時間:2021-06-17 05:05:34 RSSフィード2021-06-17 05:00 分まとめ(1274件)

投稿時間:2021-06-20 02:06:12 RSSフィード2021-06-20 02:00 分まとめ(3871件)

投稿時間:2024-02-12 22:08:06 RSSフィード2024-02-12 22:00分まとめ(7件)