Introduction
This section serves as a guide for developers who need to add a new Global Table Action within the application.
A Global Table Action represents an operation that affects the entire table — not just individual cells or columns —
and is accessible through the Toolbar of the Table Viewer interface.
The following instructions describe the required steps to integrate a new action in both the backend (logic and operation execution) and the frontend (UI integration, button definition, and event handling).
Definition of Global Table Action
Within the I2T framework, a Global Table Action is defined as a high-level operation that can be performed on the entire dataset currently loaded in the Table Viewer.
Existing global actions include:
- Automatic Annotation – Runs a full-table annotation process.
- Export Table – Allows exporting the current table in multiple formats (JSON, CSV, Python pipeline and Jupyter notebook pipeline).
- Save Changes – Persists all current modifications to the server.
Backend Integration
Backend folders and files to update and add
📦src
┗ 📂api
┣ 📂controllers
┃ ┗ 📜datasets.controller.js
┣ 📂routes
┃ ┗ 📜datasets.route.js
┗ 📂services
┗ 📂newGlobalAction
┗ 📜newGlobalAction.service.js
Frontend Integration
Frontend folders and files to update and add
📦src
┣ 📂pages
┃ ┣ 📂TableViewer
┃ ┃ ┗ 📂NewGlobalActionDialog
┃ ┃ ┗ 📜NewGlobalActionDialog.tsx
┃ ┗ 📂Viewer
┃ ┗ 📂Toolbar
┃ ┗ 📜Toolbar.tsx
┣ 📂store
┃ ┗ 📂slices
┃ ┗ 📂table
┃ ┣ 📂interfaces
┃ ┃ ┗ 📂table.ts
┃ ┣ 📜table.selectors.ts
┃ ┣ 📜table.slice.ts
┃ ┗ 📜table.thunk.ts
┗ 📜config.ts