Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Advanced search implementation #103

Open
EitanBlumin opened this issue Mar 29, 2019 · 0 comments
Open

Advanced search implementation #103

EitanBlumin opened this issue Mar 29, 2019 · 0 comments
Assignees
Labels
enhancement New feature or request

Comments

@EitanBlumin
Copy link
Owner

EitanBlumin commented Mar 29, 2019

Advanced search is the ability to specify an unlimited number of predicates using the collection of the relevant table columns, and an operator type based on the data type of each.

Other names for this could be dynamic search, dynamic filters, structured filters, etc.

Example implementations:

https://github.com/evoluteur/structured-filter

https://github.com/EitanBlumin/DynamicFilters

Our implementation would naturally make use of the columns collection defined for the datatable, in conjunction with a database table of operator types.

The filters interface should be displayed somewhere between the datatable toolbar buttons and the datatable itself, and therefore should be injected into a dedicated div element which would be added to the datatable Dom.

The filter usage should be using the ajax.data object of the datatable, by adding additional parameters to the server side call.

https://datatables.net/reference/option/ajax.data

The server side should know to identify these special parameters and add them accordingly to the columns XML parameter sent to the database procedure.

The procedure would make use of the operator types table to parse the XML parameter and generate the search predicates.

The advanced search should also support filtering from URL parameters
Possibly something similar to "fieldName[operator]=value" to keep close to native datatable conventions (column [search] and such)

@EitanBlumin EitanBlumin self-assigned this Mar 29, 2019
@EitanBlumin EitanBlumin added the enhancement New feature or request label Mar 29, 2019
@EitanBlumin EitanBlumin added this to the Alpha release 2 milestone Mar 29, 2019
EitanBlumin pushed a commit that referenced this issue Apr 7, 2019
There's still a bug where if client-state-save is enabled, the column searches received from url parameters are getting overridden by the saved client state. I couldn't find how to fix it yet.
EitanBlumin pushed a commit that referenced this issue Apr 7, 2019
… changed dropdown column filters to only display existing values

for task #103
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant