Tabulator 3.0.0 breaks my app

@stucork ,

My Tabulator tables stopped working in the last hour and I looked on github and noticed you pushed v3.0.0 in the last couple of hours.

At first, I couldn’t select rows in the table. Then, the tables stopped initializing. I got these errors:

Error output:

ExternalError: SyntaxError: Unexpected token '{'
at app/tabulator/Tabulator/_module_helpers.py, line 23
called from app/tabulator/Tabulator/_custom_modules.py, line 10
called from app/tabulator/Tabulator/__init__.py, line 10
called from forms.pipeline.Loader.AssetPanel, line 9
AttributeError: (most likely due to a circular import) partially initialized module 'tabulator.Tabulator' has no attribute '_datetime_overrides'
at app/tabulator/Tabulator/__init__.py, line 8
called from forms.pipeline.Loader.AssetPanel, line 9
AttributeError: (most likely due to a circular import) partially initialized module 'tabulator.Tabulator' has no attribute '_datetime_overrides'
at app/tabulator/Tabulator/__init__.py, line 8
called from forms.pipeline.Loader.AssetPanel, line 9
AttributeError: (most likely due to a circular import) partially initialized module 'tabulator.Tabulator' has no attribute '_datetime_overrides'
at app/tabulator/Tabulator/__init__.py, line 8
called from forms.pipeline.Loader.AssetPanel, line 9
AttributeError: (most likely due to a circular import) partially initialized module 'tabulator.Tabulator' has no attribute '_datetime_overrides'
at app/tabulator/Tabulator/__init__.py, line 8
called from forms.pipeline.Loader.AssetPanel, line 9
AttributeError: (most likely due to a circular import) partially initialized module 'tabulator.Tabulator' has no attribute '_datetime_overrides'
at app/tabulator/Tabulator/__init__.py, line 8
called from forms.pipeline.Loader.AssetPanel, line 9
AttributeError: (most likely due to a circular import) partially initialized module 'tabulator.Tabulator' has no attribute '_datetime_overrides'
at app/tabulator/Tabulator/__init__.py, line 8
called from forms.pipeline.Loader.AssetPanel, line 9
AttributeError: (most likely due to a circular import) partially initialized module 'tabulator.Tabulator' has no attribute '_datetime_overrides'
at app/tabulator/Tabulator/__init__.py, line 8
called from forms.pipeline.Loader.AssetPanel, line 9

Workaround:
I reverted back to v2.22.2 and now the tables are working.

It looks like v3.0.0 supports a newer version of the Tabulator JS library?

Anyways, just giving a heads up to others using the library.

It’s a fantastic port…we rely on it heavily!

1 Like

Thanks for raising.

This is likely an issue with some syntax that might be a bit too new for certain browsers. Do you know which browser is throwing the error?

I’ve pushed a possible fix to v3.0.1.

Note since it’s a major version bump there may be some breaking changes.
The version updates the underlying javascript library to v6.2 (previously v5.4)

The best place to raise tabulator issues is probably here:

1 Like

@stucork ,

I think the v3.0.2 update fixed the initialization problem (the syntax error), but I this breaks row selection for me, but I do have a custom row selection callback. Maybe the new version of Tabulator expects a new return value…but for now I’m happy to stick with v2.22.2.

I’ll check out the diff between Tabulator v6 vs v5 later. Also going foward, I’ll post issues to the git hub.

1 Like

Thanks. This part of the docs should be useful. Let us know what you find and I’ll update the changelog accordingly.

I believe, in general, selectable, and words like it, were changed to selectableRows.

So you may need to change the names of certain options/callbacks