Table example is a more advanced Fluid Framework app that demonstrates real-time collaboration on a structured table. It uses React for rendering and showcases dynamic row and column management, type-specific cell rendering (e.g., checkbox, date, text), and drag-and-drop reordering.
You can run this example using the following steps:
- Enable corepack by running
corepack enable. - Run
pnpm installandpnpm run build:fast --nolintfrom theFluidFrameworkroot directory.- For an even faster build, you can add the package name to the build command, like this:
pnpm run build:fast --nolint @fluid-example/table-tree
- For an even faster build, you can add the package name to the build command, like this:
- Run
pnpm startfrom this directory and open http://localhost:8080 in a web browser to see the app running. - If you want to run the app against SharePoint, follow the instructions in webpack-fluid-loader to get auth credentials. Then run
pnpm start:spoorpnpm start:spo-dfand open http://localhost:8080 like above.
There is a single Fluid object that make up the Table application:
A TableDataObject is the top level Fluid object. It can create, remove, move rows and columns into the table.
The default view is a TableView mapping to a TableDataObject. It uses the Fluent UI library to display its contents, and imports the TableRowView to get the contents of the table. It also provides buttons to add a new row.
The TableRowView uses the Fluent UI library to display its contents, and gets refers to the table's column ids to get the correct cell data. It renders different types of cells depending on the column type, and also provides a button to delete the row.
The TableHeaderView uses the Fluent UI library to display its contents. It provides the header of the table.
The container code includes a request handler that provides views to the data stored within. For a default (empty) request, it provides a TodoView in response. The container code's request handler can also provide back a TodoItemView directly when a direct link is used.
There are many ways to contribute to Fluid.
- Participate in Q&A in our GitHub Discussions.
- Submit bugs and help us verify fixes as they are checked in.
- Review the source code changes.
- Contribute bug fixes.
Detailed instructions for working in the repo can be found in the Wiki.
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.
This project may contain Microsoft trademarks or logos for Microsoft projects, products, or services. Use of these trademarks or logos must follow Microsoft’s Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.
Not finding what you're looking for in this README? Check out fluidframework.com.
Still not finding what you're looking for? Please file an issue.
Thank you!
This project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.
Use of these trademarks or logos must follow Microsoft's Trademark & Brand Guidelines.
Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.