Sha256: b31f3ce8f30f99731e0b427245b432a234f309cbe25391c48d28af7354d5c1a5

Contents?: true

Size: 718 Bytes

Versions: 31

Compression:

Stored size: 718 Bytes

Contents

import { Controller } from "@hotwired/stimulus"
import { put } from "https://esm.sh/@rails/request.js@0.0.11?standalone"
import Sortable from "https://esm.sh/sortablejs@1.15.6?standalone"

export default class extends Controller {
  static values  = { url: String, group: String, handle: String }

  connect() {
    this.sortable = new Sortable(this.element, this.#options)
  }

  disconnect() {
    this.sortable.destroy()
  }

  #submit({ item, newIndex, to }) {
    put(item.dataset.urlValue, { query: { position: newIndex, parent_id: to.dataset.parentId } })
  }

  get #options() {
    return { animation: 150, onAdd: this.#submit, onUpdate: this.#submit, group: this.groupValue, handle: this.handleValue }
  }
}

Version data entries

31 entries across 31 versions & 1 rubygems

Version Path
css-zero-1.1.12 lib/generators/css_zero/add/templates/app/javascript/controllers/sortable_controller.js
css-zero-1.1.11 lib/generators/css_zero/add/templates/app/javascript/controllers/sortable_controller.js
css-zero-1.1.10 lib/generators/css_zero/add/templates/app/javascript/controllers/sortable_controller.js
css-zero-1.1.9 lib/generators/css_zero/add/templates/app/javascript/controllers/sortable_controller.js
css-zero-1.1.8 lib/generators/css_zero/add/templates/app/javascript/controllers/sortable_controller.js
css-zero-1.1.7 lib/generators/css_zero/add/templates/app/javascript/controllers/sortable_controller.js
css-zero-1.1.6 lib/generators/css_zero/add/templates/app/javascript/controllers/sortable_controller.js
css-zero-1.1.5 lib/generators/css_zero/add/templates/app/javascript/controllers/sortable_controller.js
css-zero-1.1.4 lib/generators/css_zero/add/templates/app/javascript/controllers/sortable_controller.js
css-zero-1.1.3 lib/generators/css_zero/add/templates/app/javascript/controllers/sortable_controller.js
css-zero-1.1.2 lib/generators/css_zero/add/templates/app/javascript/controllers/sortable_controller.js
css-zero-1.1.1 lib/generators/css_zero/add/templates/app/javascript/controllers/sortable_controller.js
css-zero-1.1.0 lib/generators/css_zero/add/templates/app/javascript/controllers/sortable_controller.js
css-zero-1.0.6 lib/generators/css_zero/add/templates/app/javascript/controllers/sortable_controller.js
css-zero-1.0.5 lib/generators/css_zero/add/templates/app/javascript/controllers/sortable_controller.js
css-zero-1.0.4 lib/generators/css_zero/add/templates/app/javascript/controllers/sortable_controller.js
css-zero-1.0.3 lib/generators/css_zero/add/templates/app/javascript/controllers/sortable_controller.js
css-zero-1.0.2 lib/generators/css_zero/add/templates/app/javascript/controllers/sortable_controller.js
css-zero-1.0.1 lib/generators/css_zero/add/templates/app/javascript/controllers/sortable_controller.js
css-zero-1.0.0 lib/generators/css_zero/add/templates/app/javascript/controllers/sortable_controller.js