Table Builder

Hello Keegan,

Thanks so much for this component. The time has now come to activate it on my site and it works fantastic. :slightly_smiling_face: :heart:

I only notice one thing the context menu is not translatable but I think this is probably because it is imported from an external .js?


This us fantastic! Thsnk you very much for creating this. This will make life so much easier.

1 Like

Don do you install this along side this component?

1 Like

Yes, it is contains a few settings where you can change the contextmenu texts. :slightly_smiling_face:


Just to ensure I understand. Your component will allow the menu to be translated when a non english native uses there browser to translate the table editor context to there native tongue?

1 Like

If your users are not native speakers of English, you have the option of translating these menu items.

For example: My forum members are Hungarian so I translate these to Hungarian it makes easier to understand to them. :slightly_smiling_face: It does not depend on the browser language. If you change these texts, it will change for everyone.

That’s what this component is for. :slightly_smiling_face:

Screenshot 2023-01-16 at 11.42.43 Screenshot 2023-01-16 at 11.44.36


Thank you. I apologize as I had thought it might allow the web browser to translate the menu for those whom are visiting.

Still a great addon for non english sites. Great work!


Hey @Don,

Thanks for bringing this up and creating your component :slight_smile:

This got me curious though, and I did a little digging. Turns out the external JS library allows you to hook into the strings for translations. I mapped all those to theme translations in this commit:

So if you update the table builder component you can now add translations directly in the theme component settings. This can be helpful if your forum supports multiple translations.

@Heliosurge Hope this also helps your use case :slight_smile:


Wow, that’s impressive thank you so much. :slightly_smiling_face:


Food fir thought; This theme component could be a base to have thngs say fore:

  1. bbcode color a fork could be a color picker. Enter ‘text’ in a cell then one could use a menu to choose forground colour and/or background color.

  2. Upload pictures layout

  • Standard
  • mason
  • etc…

and so on.

1 Like

Thank you for the great theme component.

If I start an entry of a cell with = as soon as I press Enter to ‘save’ the entry to the cell, it becomes invisible.

To be clear, once the table is inserted in the markdown code, it is visible again, but any cell entry starting with = is made invisible in the table editor mode.


Separate to my above post, how can I move the table editor out from the cogwheel/gear :gear: onto the main editor bar?


6 posts were split to a new topic: How to change the default column names?

Interesting… I believe this is because spreadsheet formulas can be entered using =, though formulas are not supported in the theme component. I will look into this.

The theme component uses the pluginAPI to add the button to the cog wheel menu (see code).

You could similarly use the api to add it directly to the toolbar like so:

  api.onToolbarCreate((toolbar) => {
      id: "table-builder",
      group: "extras",
      icon: "table",
      action: "showTableBuilder",
      title: themePrefix("discourse_table_builder.composer.button"),

What do you mean by this? The spreadsheet editor functionality is being used already. It is shown in the modal when you create/edit tables.


Thank you for all the info.

What I mean is, I would be interested in having the full spreadsheet functionality, i.e. the functions that I insert would be evaluated.

Is there a way to modify this plugin to achieve this?

EDIT: to clarify, I would like the inputs of the spreadsheet editor not be be converted into markdown for insertion, but instead that the entire spreadsheet is inserted (and that functions work).


I’m not entirely sure and would need to look into the JSpreadsheet library a bit more, but briefly looking over, it seems that spreadsheet functions/formulas are a premium feature of the library:

You will likely need to purchase a premium license from JSpreadsheet and modifiy the theme component to use the pro version JS scripts for it to work.


Thank you. I didn’t realize it was a premium feature. That sounds like a good solution for me though.

Btw, did you look at x-spreadsheet, it looks pretty cool:



when I try to install this as a theme component with the given git repo link I encounter an error:

Error creating upload asset: jsuites. Original filename Sorry, the file you are trying to upload is not authorized (authorized extensions: jpg, jpeg, png, woff, woff2, svg, eot, ttf, otf, gif, mp4, webm).

Hi @Buntspecht :slight_smile:

It doesn’t look like you have .js in your authorised extensions:


5 posts were split to a new topic: Table builder not working after an update