Skip to main content

My package description

Project description

Brython.Dragdrop

A library for your Brython apps to implement drag-and-drop UX (User Experience), without needing to deal with low level drag or drop event callbacks.

Usage

Here comes some high level description.

  1. You create a board game's board using html tags, such as TABLE's TD.

  2. You create individual pieces by using normal html tags, and then you combine them with brython_dragdrop.DraggableMixin. For example:

    class Card(brython_dragdrop.DraggableMixin, html.SPAN):
        pass
    

    Then create as many cards as you like, and make them visible in your UI.

  3. You declare some area to be droppable, by defining rules. For example:

    brython_dragdrop.make_droppable(BOARD, rules={
        (Card, Card): brython_dragdrop.swap,
        (Card, html.TD): brython_dragdrop.occupy,
    })
    

    Predefined rules include:

    • swap which will swap two draggable pieces
    • join which will append dragged piece into the landing area, so that the landing area may contain more and more dragged pieces.
    • occupy which will swap the existing piece (if any) with dragged piece, or place dragged piece into the empty landing area. So that the landing area will contain up to one draggable piece.

Sample: todo.

Roadmap

  • More sophisticated API to support on-the-spot logic calculation before drop.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

brython-dragdrop-0.1.0.tar.gz (4.8 kB view hashes)

Uploaded Source

Built Distribution

brython_dragdrop-0.1.0-py3-none-any.whl (5.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page