This Node-RED UI widget node, currently at version 0.4.5, displays dynamic data as an interactive table within the Node-RED Dashboard. It expects `msg.payload` to contain an array of objects, with each object representing a row and its keys defining the column names. The node is actively maintained as part of the `node-red-ui-nodes` collection and leverages the powerful Tabulator.js library for its core table functionality. It offers extensive configuration options for columns, including width, alignment, and various data formatting options such as plain text, raw HTML, links, images, progress bars, traffic lights, color fills, and star ratings. Advanced users can also send commands to the table via `msg.payload` to manipulate data, apply filters, and interact directly with the underlying Tabulator API. Its key differentiator lies in its seamless integration into the Node-RED flow paradigm, making it straightforward to visualize dynamic data streams from IoT devices, APIs, or other Node-RED sources directly within a web-based dashboard.
npm install node-red-node-ui-tableVerified import paths — ran on the pinned version, not inferred.
This Node-RED flow demonstrates basic installation via `npm` and how to populate the `ui-table` node with simple array data and send advanced commands to add rows dynamically. Import this JSON into Node-RED, ensure `node-red-dashboard` is installed, and deploy to see the table.
Only use the 'HTML' format with data from trusted sources. For untrusted input, implement a sanitization step in a preceding Node-RED function node using a library like `dompurify` before passing the data to `ui-table`.
Upgrade your Node.js runtime environment to version 16 or higher. Tools like `nvm` (Node Version Manager) can facilitate this upgrade process.
Ensure `node-red-dashboard` is installed in your Node-RED user directory (typically `~/.node-red`) by running `npm i node-red-dashboard`, or by installing it via the Node-RED Palette Manager, then restart Node-RED.
Ensure `msg.payload` is an array of uniform objects (e.g., `[{"col1": "value1"}, {"col2": "value2"}]`). Use the Node-RED debug tab to inspect the exact structure of the message entering the `ui-table` node.Run `npm i node-red-node-ui-table` (and `npm i node-red-dashboard` if missing) in your Node-RED user directory (typically `~/.node-red`), then restart Node-RED. Alternatively, use the 'Manage Palette' option within the Node-RED editor.
Verify that `msg.payload` adheres to the command structure: `{"command":"functionName", "arguments":[...], "returnPromise":true/false}`. Consult the Tabulator documentation (linked in the `ui-table` README) for valid commands and their required arguments.