DatatablesBundle icon indicating copy to clipboard operation
DatatablesBundle copied to clipboard

Bug on function getName()

Open Quovandius opened this issue 3 years ago • 3 comments

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 :)

Quovandius avatar Dec 16 '21 16:12 Quovandius

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

Eloar avatar Dec 17 '21 09:12 Eloar

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

Quovandius avatar Dec 17 '21 09:12 Quovandius

@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.

Eloar avatar Dec 17 '21 10:12 Eloar