![]() |
VOOZH | about |
Plug-ins are a very important part of the DataTables eco-system. They expand DataTables' capabilities, wrap common actions into simple functions and provide a way for code to be shared in the community. We store plug-ins developed by ourselves and also those submitted from the community in our plug-ins repo and document them on this site. However, to date, there hasn't been much consistency in how the plug-ins are written. With the release of DataTables 1.13.3 today, and the plug-ins repo alongside it, that has now changed.
All plug-ins now:
Note that there are two exceptions to these rules:
The documentation for each plug-in type has been updated so you aren't left wondering how you can actually make used of a plug-in. If we take the average() API plug-in as an example, you will be able to see that it has instructions for:
datatables.net-plugins NPM package and then:
If you've been following along with DataTables development, you'll be aware that development of all new DataTables software has been in Typescript (e.g. Editor 2, SearchPanes, SearchBuilder, etc), and while I don't propose to move the entire code base to Typescript exclusively, I am committed to fully supporting Typescript with type definitions for any of our vanilla Javascript libraries. If you import the plug-ins, you'll now see automatic hinting through the plug-in type definitions. As an example, this is the definition for the AlphabetSearch feature plug-in.
DataTables is also moving with the rest of the Javascript ecosystem towards ES modules. DataTables core, Editor and the extensions all support ESM loaders, as well as continuing support for the existing CommonJS, AMD and browser loaders. This update of the plug-ins completes our supported software's ability to be used via any of these loaders. When using a modern bundler such as Vite, the ESM loader will be selected automatically and optimised as such.
Got an idea of a plug-in? Head on over to the plug-ins repo and submit a pull request with your plug-in there (with the exception of translations, which should be submitted on this site). The directory organisation for the plug-in categories is self explanatory, and each contains a src directory where the Typescript file is hosted. These then get compiled down to Javascript and wrapped in suitable loaders automatically.
If you have any questions about contributed, feel free to open a discussion in the forum.
DataTables designed and created by SpryMedia Ltd.
© 2007-2026 MIT licensed. Privacy policy. Supporters.
SpryMedia Ltd is registered in Scotland, company no. SC456502.