- Skip filter_queryset_by_date_range (that is: ignore date_from and date_to from requests params) when show_date_filters is disabled
- Remove pytz since it's deprecated in Django 4.0 and will be removed in Django 5.0
- few changes to allow the initialization of a DatatableView offline (for example, to export a filtered queryset from a background process)
- assign '__iexact', instead of '__icontains', as default 'lookup_field' value for columns with choices
- added toolbar_message(): same as footer_message(), but appends message to toolbar
- fix: searching on a date/datetime field: when the value entered is not a valid date, we clear the table content to give a feedback to the user
- fix: when STRIP_HTML_TAGS is active, None was rendered as 'None' instead of ''
- Prepare for Django 4.0
- Support choice lookup for m2m_foreign_field (many thanks to Martin Schwier and Etienne Pouliot)
- Fix Multiple search values when you set search_values_separator = '+' and try to search for term with + in it (many thanks to Petr Dlouhý)
- POSSIBLE INCOMPATIBLE CHANGE: for security reason, HTML tags are now stripped by default in the rendered table; you can disable this setting AJAX_DATATABLE_STRIP_HTML_TAGS = False (thus restoring the previous behaviour); many thanks to Mich "Mike3285"
- Add custom lookup field; thanks to Javier Clavero Álvarez <jclaveroalvarez@gmail.com>
- Add support for ManyToMany field (many thanks to Etienne Pouliot); REQUIRES PYTHON 3.6
- POSSIBLE INCOMPATIBLE CHANGE: PYTHON >= 3.6 REQUIRED
- Fix #35: prevent ZeroDivisionError
- Example project cleanup
- Added "side filters" sample
- Readme updated
- deliver extra_data to render_row_details()
- Allow to set detail callback, i.e. to display it in modal (thanks to PetrDlouhy)
- Fetch 'csrfmiddlewaretoken' when csrftoken cookie is set to HttpOnly (thanks to shuki25)
- Allow to set order field for column (thanks Petr Dlouhý)
- Unused template 'datatable.html' removed.
- Fix issues #2 and #8
- Fix issue #9
- Raise an exception when searching over a ManyToManyField (not supported yet)
- Edit button example
- Better row-tools style (fix for Firefox)
- foreign_fields: render with __str__() if no attribute has been specified by 'foreign_field'
- [fix] added missing csrftoken header in first POST call (initialize_table())
- selectively disable the only or select_related queryset optimization
- Filters: proper lookup choices for foreign columns
- search_in_choices(): match substring instead of startswith()
- Filter tracing: serialize with DjangoJSONEncoder
- pass "extra_data" during table initialization
- [fix] Restore capability to use both global and column filtering at the same time
- improved tracing (optionally uses sqlparse, termcolor and pygments)
- Avoid duplicate column names
- Add a border to "plus" and "minus" icons
- Readme: added an example on how to use extra_data for initial queryset filtering
- Improved layout of global date filters for easier style customization
- Explicitly check field existence when initial order is expressed with fieldnames
- Cleanup full_row_select option
- [fix] Treat DateTimeField properly in filter_queryset_by_date_range()
- App settings for debug tracing renamed
- Recover missing commits from develp
- [TODO] check for unwanted side-effects here: ...
- ... Prevent click to move the HTML page to the top
- Improved example project
- Accept the more generic "pk" column name instead of "id"; "id" still supported for backward compatibility
- In the example project: a new page has been added to play with a model with a custom PK column name
- classifiers added to setup.py
- fix Readme
- [fix] accept anonymous POSTs
- Another (this time really minimal) example working project
- overridable render_row_details_template_name attribute added
- support to search multiple values (see search_values_separator)
- A few typo fixes here and there
- package renamed from django-datatables-view to django-ajax-datatable
- published on PyPI
- example project added
- setup of demo site http://django-ajax-datatable-demo.brainstorm.it
- "data-parent-row-id" attribute added to details row
- accept positions expressed as column names in initial_order[]
- add className to filters
- improved filtering with choices by including foreign_fields
- optional "boolean" column attribute to treat calculated column as booleans on explicit request
- optional "max_length" column attribute to clip results
- Automatic addition of table row ID (see get_table_row_id())
- request parameter added to prepare_results() and get_response_dict()
- fix checkbox and radio buttons not working in a form embedded in the details row when full_row_select is active
- Better behaviour for full_row_select
- initialSearchValue can now be a value or a callable object
- Silly JS fix
- choices / autofilter support for column filters
- optional initialSearchValue for column filters
- Backward incompatible change: any unrecognized column_defs attribute will raises an exception
- Support length_menu = -1 (which means: "all")
- Use full_row_select=true to toggled row details by clicking anywhere in the row
- Sanity check for initial_order[]
- js fix (same as v2.3.5)
- Bump major version to welcome Django 3
- js fix
- Add support for Django 3.0, drop Python 2
- Some JS utilities added
- improved queryset optimization
- fix queryset optimization
- queryset optimization
- optional extra_data dictionary accepted by initialize_table()
- Remove table-layout: fixed; style from HTML table, as this causes problems in the columns' widths computation
- Explicitly set width of "row tools" column
- Localize "search" prompt in column filters
- Experimental: Optionally control the (minimum) width of each single column
- cleanup
- optionally specified extra options to initialize_table()
- accept language options
- fix default footer
- README revised
- Merge into master
- Remove initialize_datatable() from main project and replace with DatatablesViewUtils.initialize_table() to share common behaviour
- Notify Datatable subscribers with various events
- Cleanup global filtering on dates range
- Derived view class can now specify 'latest_by' when different from model.get_latest_by
- Documentation revised
- basic support for DateField and DateTimeField filtering (exact date match)
- choices lookup revised
- static/datatables_view/js/datatables_utils.js renamed as static/datatables_view/js/utils.js
- js helper encapsulated in DatatablesViewUtils module
- First "almost" working column filtering - good enought for text search
- Accept either GET or POST requests
- Global "get_latest_by" filtering improved
- Filter tracing (for debugging)
- DatatablesView refactoring: columns_specs[] used as a substitute for columns[],searchable_columns[] and foreign_fields[]
- recognize datatime.date column type
- render_row_details() passes model_admin to the context, to permit fieldsets navigation
- generic tables explained
- render_row_details customizable via templates
- merged PR #1 from Thierry BOULOGNE
- Incompatible change: postpone column initialization and pass the request to get_column_defs() for runtime table layout customization
- fix choices lookup
- fix search
- better distribution (make sure templates and statics are included)
- Package version added