stwe / DatatablesBundle

This Bundle integrates the jQuery DataTables plugin into your Symfony application.
356 stars 236 forks source link

Bug on function getName() #976

Open Quovandius opened 2 years ago

Quovandius commented 2 years ago

Hello everyone,

I have found a very boring bug ... and after many hours to search why, I have found a solution, and may be the reason why.

When you declare a Datatable class on php, nyou can write a GetName function, as documentation said :

    /**
     * {@inheritdoc}
     */
    public function getName()
    {
        return 'post_datatable';
    }

But, one tips is very important : you cannot use the dot character on this name. If you use a syntax like this :

    /**
     * {@inheritdoc}
     */
    public function getName()
    {
        return 'post.datatable';
    }

The bug occurs, and absolutely no data has been loaded .... no error ... no xhr request.

I think its because this name is use as a jquery selector, and the dot character create a mismatch with class css. Am I wrong ?

If anyone can confirm this, I think its a good idea to add this tip on documentation :)

Eloar commented 2 years ago

Haven't you got exception with msg like?

AbstractDatatable::validateName(): The result of the getName method can only contain letters, numbers, underscore and dashes.

Thats from AbstractDatatable line 321 file

Quovandius commented 2 years ago

Oh ? no I don't see any error message. I have check my log file in var/log/dev.log and nothing appeared.

Eloar commented 2 years ago

@Quovandius this is valid issue. Apperently regex didn't match whole name and passed each time. Made change and opened PR. Maybe next version will contain fix for your issue.