Skip to main content

No project description provided

Project description

PeasyWidgets

PyPI - Version PyPI - Python Version


Table of Contents

Installation

pip install peasywidgets
  1. Add peasywidgets to Django INSTALLED_APPS
  2. Import the desired widgets
from peasywidgets.datalist_widgets import DatalistMultiple, DatalistSingle
from peasywidgets.filter_widgets import ChoiceFilterMultiple, ChoiceFilterSingle
  1. Run collectstatic and include the JavaScript in templates {% static 'peasywidgets.js' %} and optionally the CSS {% static peasywidgets.css %}

Styling

The following default CSS is available to use with Django's static template tag, otherwise use these selectors to write custom CSS/Tailwind directives.

/* peasywidgets.css */

p.choice-filter-errors {
    color: red;
}

.choice-filter-multi-container {
    border: 1px solid #ced4da;
    border-radius: .25rem;
    padding: 0.5rem;
}

.choice-filter-flex-row {
    display: flex;
    flex-direction: row;
    max-width: 100%;
}
.choice-filter-flex-col {
    display: flex;
    flex-direction: column;
}

.choice-filter-red {
    color: #fff;
    background-color: #dc3545;
    border-color: #dc3545;
}

.choice-filter-red:hover {
    color: #fff;
    background-color: #c82333;
    border-color: #bd2130;
}
input.choice-filter-multi-selected {
    flex-grow: 1;
    display: block;
    padding: 0;
    padding-top: 0.25rem;
    padding-left: 0.5rem;
    margin-left: 0.5rem;
    font-size: 0.8rem;
    line-height: 1.5;
    color: #495057;
    background-color: rgb(237, 237, 255);
    background-clip: padding-box;
    border: 1px solid #ced4da;
    border-radius: .25rem;
}

.choice-filter-selected-box {
    overflow-y: auto;
    margin-top: 0;
    max-height: 12rem;
    padding-right: 0.5rem;
}
button.choice-filter-rm-btn {
    height: 1.5rem;
    width: 1.5rem;
    padding: 0;
    border-radius: 100%;
    cursor: pointer;
    margin-top: auto;
    margin-bottom: auto;
    margin-left: 0.5rem;
    text-align: center;
}
button>svg {
    display: block;
    margin: auto;
}
.choice-filter-multi-input {
    border: none;
    background-color: transparent;
    flex-grow: 1;
    cursor: default;
}

input.choice-filter {
    border: 1px solid #ced4da;
    border-radius: .25rem;
    padding: .375rem .75rem;
    font-size: 1rem;
    line-height: 1.5;
    width: 100%;
    margin-bottom: 0.5rem;
    cursor: pointer;
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="black" viewBox="0 0 32 32"><path d="M16 22L6 10h20l-10 12z"/></svg>') no-repeat right .75rem center;
}

input.choice-filter.choice-filter-multi {
    margin-top: 0;
}

input.choice-filter.valid {
    background-color: rgb(237, 237, 255);
}

ul.choice-filter {
    list-style-type: none;
    margin-bottom: 0.5rem;
    max-height: 200px; 
    overflow-y: auto;
    overflow-x: hidden;
    position: absolute;
    background-color: white;
    border: 1px solid rgb(207, 207, 207);
    border-radius: 0.25rem;
    max-width: 90%;
    box-shadow: 0.4rem 0.6rem 1rem 0 rgb(153, 153, 153);
}

button.choice-filter {
    text-align: left;
    margin-bottom: 0.2rem;
    margin-top: 0.2rem;
    padding: 0 0.75rem;
    background-color: #fff;
    background-clip: padding-box;
    width: 100%;
}

button.choice-filter:focus, button.choice-filter:hover {
    background-color: blue;
    color: white;
}

License

peasywidgets is distributed under the terms of the MIT license.

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

peasywidgets-0.0.2.tar.gz (8.3 kB view details)

Uploaded Source

Built Distribution

peasywidgets-0.0.2-py3-none-any.whl (11.6 kB view details)

Uploaded Python 3

File details

Details for the file peasywidgets-0.0.2.tar.gz.

File metadata

  • Download URL: peasywidgets-0.0.2.tar.gz
  • Upload date:
  • Size: 8.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.24.1

File hashes

Hashes for peasywidgets-0.0.2.tar.gz
Algorithm Hash digest
SHA256 8a48e155e4fe2f0b47e143d318c658240529208f73f0ff9cb64e0c0ad18ad593
MD5 081da37894f72a93eb25b53f26ba02b3
BLAKE2b-256 6960fc20f78ce8854b07cb54b1fa25d3263a8e9bd8bf70f59d988bdbb82c532c

See more details on using hashes here.

Provenance

File details

Details for the file peasywidgets-0.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for peasywidgets-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 5940ff64866820631370a9aa6e8ddaac283eefef7ed65e263da947fb496c13dc
MD5 c2669115a30b9139a5d705a8ff64328b
BLAKE2b-256 d07b64a49f14a0234d8c1333392f655a8ac75243fbc720e81b9ed6224c0568de

See more details on using hashes here.

Provenance

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