Stop rebuilding the same enterprise LWC components on every project.
A generic server-side datatable, a modal framework, error/state handling, and the debounce/deep-clone/permission-check utilities every Salesforce project eventually writes from scratch — built once, tested, and documented.
Why this exists
Every Salesforce project eventually builds some variation of a server-side, sortable, filterable, editable datatable
with bulk actions — and re-derives the same Apex error parsing, the same modal boilerplate, the same
loading/empty/error branch. This is not a lightning-button wrapper library: everything here either does
something non-trivial (server-side pagination with partial-error reporting) or removes genuine, repeated boilerplate.
The flagship: c-enterprise-datatable
Point it at an object and a column array. It handles the rest of this pipeline server-side:
<c-enterprise-datatable
object-api-name="Account"
title="Accounts"
columns={columns}
page-size="25"
pagination-mode="pages"
search-fields={searchFields}
bulk-actions={bulkActions}
enable-row-selection
enable-bulk-delete
default-sort-field="Name"
onbulkaction={handleBulkAction}
></c-enterprise-datatable>
Backed by four generic Apex services — GenericQueryService, GenericDmlService,
PermissionService, CustomMetadataService — instead of a bespoke controller per object.
Identifiers (object/field names) are validated against the running user's schema describe; values are always bound
via Database.queryWithBinds, never concatenated. See the
usage guide for the full column/API reference.
Try it: a live mock of the pipeline
Fake data, runs entirely in your browser — no org required. This mirrors what
c-enterprise-datatable + GenericDmlService do server-side: click a column to sort, search,
select rows for a bulk delete, or double-click a cell to edit (the "Globex Industries" row is wired to
always fail on save, so you can see the partial-error path).
Explore every piece
Search or filter, then click any card for the full usage: imports, props, events, and methods.
No matches. Try a different search term.
Getting started
Full detail, every property, every method: see the usage guide. The short version:
sf org create scratch -f config/project-scratch-def.json -a lwc-toolkit -d 7
sf project deploy start -o lwc-toolkit
sf org assign permset -o lwc-toolkit -n LWCToolkitAdmin
sf org open -o lwc-toolkit
Then drop Enterprise Datatable Demo (Accounts) onto any App/Record/Home page from Lightning App Builder.