Skip to content
Drag and drop task list items.
TypeScript JavaScript
Branch: master
Clone or download

Latest commit

Latest commit 9344569 Jun 5, 2020

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/workflows Simplify workflows Jun 4, 2020
examples Convert to TypeScript May 21, 2020
src Add return type for eslint Jun 4, 2020
test Upgrade eslint-config-github May 26, 2020
.eslintrc.json Use readonly, readble is deprecated Jun 4, 2020
.gitignore Initial <task-lists> element Apr 25, 2018
CODEOWNERS Create CODEOWNERS May 21, 2020
LICENSE Initial <task-lists> element Apr 25, 2018
README.md Fix typo Jun 4, 2020
package-lock.json 1.0.8 Jun 4, 2020
package.json 1.0.8 Jun 4, 2020
rollup.config.js Convert to TypeScript May 21, 2020
tsconfig.json Convert to TypeScript May 21, 2020

README.md

<task-lists> element

Drag and drop task list items.

Installation

$ npm install --save @github/task-lists-element

Usage

Script

Import as a module:

import '@github/task-lists-element'

With a script tag:

<script type="module" src="./node_modules/@github/task-lists-element/dist/index.js">

Markup

<task-lists sortable>
  <ul class="contains-task-list">
    <li class="task-list-item">
      <input type="checkbox" class="task-list-item-checkbox">
      Hubot
    </li>
    <li class="task-list-item">
      <input type="checkbox" class="task-list-item-checkbox">
      Bender
    </li>
  </ul>

  <ul class="contains-task-list">
    <li class="task-list-item">
      <input type="checkbox" class="task-list-item-checkbox">
      BB-8
    </li>
    <li class="task-list-item">
      <input type="checkbox" class="task-list-item-checkbox">
      WALL-E
    </li>
  </ul>
</task-lists>

Events

const list = document.querySelector('task-lists')

list.addEventListener('task-lists-check', function(event) {
  const {position, checked} = event.detail
  console.log(position, checked)
})

list.addEventListener('task-lists-move', function(event) {
  const {src, dst} = event.detail
  console.log(src, dst)
})

Browser support

Browsers without native custom element support require a polyfill.

  • Chrome
  • Firefox
  • Safari
  • Microsoft Edge

Development

npm install
npm test

License

Distributed under the MIT license. See LICENSE for details.

You can’t perform that action at this time.