Sha256: 46068f6a5882c83797daa5811efcb1e476cd5f3c8380cafc8d903e6b6ca15a48

Contents?: true

Size: 715 Bytes

Versions: 16

Compression:

Stored size: 715 Bytes

Contents

import { Controller } from "@hotwired/stimulus"
import { put } from "https://cdn.skypack.dev/@rails/request.js@0.0.11?min"
import Sortable from "https://cdn.skypack.dev/sortablejs?min"

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

16 entries across 16 versions & 1 rubygems

Version Path
css-zero-0.0.86 lib/generators/css_zero/add/templates/app/javascript/controllers/sortable_controller.js
css-zero-0.0.85 lib/generators/css_zero/add/templates/app/javascript/controllers/sortable_controller.js
css-zero-0.0.84 lib/generators/css_zero/add/templates/app/javascript/controllers/sortable_controller.js
css-zero-0.0.83 lib/generators/css_zero/add/templates/app/javascript/controllers/sortable_controller.js
css-zero-0.0.82 lib/generators/css_zero/add/templates/app/javascript/controllers/sortable_controller.js
css-zero-0.0.81 lib/generators/css_zero/add/templates/app/javascript/controllers/sortable_controller.js
css-zero-0.0.80 lib/generators/css_zero/add/templates/app/javascript/controllers/sortable_controller.js
css-zero-0.0.79 lib/generators/css_zero/add/templates/app/javascript/controllers/sortable_controller.js
css-zero-0.0.78 lib/generators/css_zero/add/templates/app/javascript/controllers/sortable_controller.js
css-zero-0.0.77 lib/generators/css_zero/add/templates/app/javascript/controllers/sortable_controller.js
css-zero-0.0.76 lib/generators/css_zero/add/templates/app/javascript/controllers/sortable_controller.js
css-zero-0.0.75 lib/generators/css_zero/add/templates/app/javascript/controllers/sortable_controller.js
css-zero-0.0.74 lib/generators/css_zero/add/templates/app/javascript/controllers/sortable_controller.js
css-zero-0.0.73 lib/generators/css_zero/add/templates/app/javascript/controllers/sortable_controller.js
css-zero-0.0.72 lib/generators/css_zero/add/templates/app/javascript/controllers/sortable_controller.js
css-zero-0.0.71 lib/generators/css_zero/add/templates/app/javascript/controllers/sortable_controller.js