Metadata-Version: 2.1
Name: django-admin-inline-paginator-plus
Version: 0.1.0
Summary: The 'Django Admin Inline Paginator Plus' is simple way to paginate your inlines in Django admin
Author-email: Shinneider Libanio da Silva <shinneider-libanio@hotmail.com>, Dmytro Litvinov <me@dmytrolitvinov.com>
Maintainer-email: Dmytro Litvinov <me@dmytrolitvinov.com>
License: MIT license
Project-URL: Homepage, https://github.com/DmytroLitvinov/django-admin-inline-paginator-plus
Project-URL: Issues, https://github.com/DmytroLitvinov/django-admin-inline-paginator-plus/issues
Project-URL: Changelog, https://github.com/DmytroLitvinov/django-admin-inline-paginator-plus/CHANGELOG.md
Keywords: django,admin,paginator,inlines,pagination
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Web Environment
Classifier: Framework :: Django
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: django
Provides-Extra: dev
Requires-Dist: coverage; extra == "dev"
Requires-Dist: mypy; extra == "dev"
Requires-Dist: pytest; extra == "dev"
Requires-Dist: ruff; extra == "dev"

Django Admin Inline Paginator Plus ⏩
=====================================

**🍴 This is a forked and updated version based on original library [django-admin-inline-paginator](https://github.com/shinneider/django-admin-inline-paginator).**

> *As for 10.07.2024 nobody took responsibility, so I decided to take it since we need additional functionlity like AJAX for pagination.*

The **"Django Admin Inline Paginator Plus"** is simple way to paginate your inline in django admin

To keep Django ecosystem fresh and updated, please share your love and support, click `Star` 🫶

## Features
- **Easy Inline Pagination:** Quickly paginate inlines in the Django admin.
- **AJAX Support:** Smooth and dynamic pagination without page reloads with `htmx`.
- **Multiple Inline Pagination:** Manage multiple paginated inlines seamlessly.


Here's a screenshot of the paginated inlines in action:

![Django Admin Inline Paginator Plus screenshot](https://github.com/DmytroLitvinov/django-admin-inline-paginator-plus/tree/master/example/django-admin-inline-paginator-plus.png "Title")


# Install:

Install the package via pip:

```bash
pip install django-admin-inline-paginator-plus
```

# Usage:

1. Add to your INSTALLED_APPS, in settings.py:

   ```
   INSTALLED_APPS = [
       ...
       'django_admin_inline_paginator_plus',
       ...
   ]
   ```
2. Create your model inline:

   ```
   from django_admin_inline_paginator_plus.admin import TabularInlinePaginated

   class ModelWithFKAdminInline(TabularInlinePaginated):
       model = ModelWithFK
       fields = (...)
       per_page = 5
   ```
3. Create main model admin and use inline:

    ```
    @register(YourModel)
    class YourModelAdmin(ModelAdmin):
        model = YourModel
        fields = (...)
        inlines = (ModelWithFKAdminInline, )
    ```

# Advanced Usage:

1. Paginate multiples inlines:

    ```
    class ModelWithFKInline(TabularInlinePaginated):
       model = ModelWithFK
       fields = ('name', 'active')
       per_page = 2
       pagination_key = 'page-model'  # make sure it's unique for page inline

    class AnotherModelWithFKInline(TabularInlinePaginated):
       model = AnotherModelWithFK
       fields = ('name', 'active')
       per_page = 2
       pagination_key = 'page-another-model'  # make sure it's unique for page inline
    ```

2. Use inlines from step 1. and add to your main model admin:

    ```
    @register(YourModel)
    class YourModelAdmin(ModelAdmin):
        model = YourModel
        fields = (...)
        inlines = (ModelWithFKAdminInline, AnotherModelWithFKInline)
    ```
