Adding Table Customizer to non-Table Component

I have a component that extends AbstractVisionComponent but has a PMITable inside of it. I would like a table customizer to point at the table inside my component. Right-clicking on my component and clicking on the table customizer brings up a prompt that says something like “This component is not a table.” This got me wondering what criteria it uses to determine if a component is a table.

Maybe, for example, if I give my component a few methods like setColumnAttributes() or some others in order to make the table customizer work with my component as if it were a table.

What is it that the Table Customizer is looking for when it determines a component isn’t a table?

Well, the TableCustomizer class isn’t written to work with anything but the classic table. So you won’t be able to fool it into thinking your component is a table.

However, the TableCustomizer uses a class which conveniently is written in a more abstract manner - the panel. That class will work with any component which implements com.inductiveautomation.factorypmi.application.components.table.CustomizableTable

So, you’ll need to make your own customizer, but it could be pretty simple as it just creates and uses a ColumnCustomizer inside if itself.