Git Product home page Git Product logo

tablebundle's People

Contributors

bcastellano avatar jmuehlig avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

tablebundle's Issues

Pagination rows_per_page

When I go to a page and then change the rows per page selection so that the current page is not needed anymore, the following exception is thrown:
404 Not Found - NotFoundHttpException
jgm/tablebundle/JGM/TableBundle/Table/Table.php at line 687

I think in this case the first page should be displayed instead.

Support for Symfony3

There is a bug, which breaks the support for Symfony3: The service jgm.table_factory depends on the @request, which is not available in Symfony3. Use @request_stack to fix it.

Date Filter

The usage of date filters causes the exception:
Warning: strlen() expects parameter 1 to be string, object given

In:

jgm/tablebundle/JGM/TableBundle/Table/Filter/AbstractFilter.php at line 375

Code:

return isset($this->value) && strlen($this->value) > 0;

If $this->value is an instance of DateTime, the strlen Method throws the exception.
An alternative IF could be a solution.

Documentation website?

Hey, I noticed that the website with the documentation is offline. Any ideas on when we'll be able to access it?

Thank you!

Add support for aggregation

It should be possible to add columns to any column type, implementing the following aggregate methods:

  • avg
  • max
  • min
  • sum
  • count

Boolean Filter false option is not working.

I've used a boolean filter on the attribute "foo":
->add('boolean', 'foo', array(
'label' => 'Foo',
'true' => 'Present',
'false' => 'Not Present',
'reset_label' => 'All',
'widget' => 'select',
'attr' => array('class' => 'form-control'),
'operator' => FilterOperator::EQ
))

But when the option "Not Present" is selected, the results contain all entries including true and false foo attributes.

Set filter options in twig

The twig method for rendering filters should accept an array of options as second parameter. These are the same options, which can be set at the filter builder.

Create an interface for table types

At the moment, there is no interface for the table type, just an abstract implementation. This is bad design, so we have to create an interface for the table type, which is named "TableTypeInterface".

Persist user order

The user input of lines per page (established at version 1.3) is will be saved at cookies. Adapt this for the users choosen order (column and direction), but make this configurable through the configureOrder method.

Use columns class name as identifier

All columns have an alias, defined hat the configuration class. This alias should be removed and replaced by the full class name, which can be produced by the php class constant. As first step, allow the alias beside the class name and remove the alias at the next release.

Add Selection Component

Add a new component, called Selection, which allows the developer to add a checkbox or radio button to each row. Further it should be possible to add submit or normal buttons. If any submit button is clicked, it should be possible to ask the table for selected rows and the clicked button (like the form component of symfony does).

It is important to create any possibility to restrict the visibility of each button by roles. If no button is visible for the user, the selection should be hidden.

Sortable Table as Interface

For sortable tables, there must be an interface like "SortableInterface", which provide the method "setSortableDefaultOptions".

New order options 'html_asc' and 'html_desc'

The order component has options 'class_asc' and 'class_desc' which will set to a <span> object at the column header, if the column is sorted ('class_asc' if the column is ordered on direction asc, 'class_desc' otherwise).

This 'class_*' options should be replaced by 'html_asc' and 'html_desc', which allows more control to the developer. It is more comfortable to set an image directly.

The class options are deprecated since version 1.3 (to be removed in 1.4) and should be empty by default. If they are set, they should be used instead of the 'html_*' options.

Persist user input of filters

The user input of lines per page (established at version 1.3) is will be saved at cookies. Adapt this for the user input of filters, but make this configurable through the configureFilter method.

Paginatable Table as Interface

For paginatable tables, there must be an interface like "PaginatableInterface", which provide the method "setPaginatableDefaultOptions".

Time-Out in SimpleLimitStrategy

The initial load of a Table causes a Timeout in the Browser.

In class:
jgm/tablebundle/JGM/TableBundle/Table/Pagination/Strategy/SimpleLimitStrategy.php at line 45

It seems that the iterative use of the in_array method causes this time consumtion.

Postgres filter query issues

When you use a Postgres database, filtering generates invalid queries when trying to filter against fields that don't support the LOWER function, like boolean, etc.

Is there any hope for a fast fix?

An exception occurred while executing 'SELECT count(t0_.id) AS sclr_0 FROM tl_user t0_ WHERE (LOWER(t0_.enabled) LIKE ?)' with params ["%1%"]:

SQLSTATE[42883]: Undefined function: 7 ERROR: function lower(boolean) does not exist
LINE 1: ...T count(t0_.id) AS sclr_0 FROM tl_user t0_ WHERE (LOWER(t0_....
^
HINT: No function matches the given name and argument types. You might need to add explicit type casts.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.