Licensed advanced features
Advanced code ships inside wts-data-table under normal feature names. There is no separate Pro package and no premium import namespace.
Verify before construction
#connectDataTableLicense verifies a deployment key with the backend and returns a renewable session. Service denial, expiry, origin mismatch, or denied package-wide Premium access fail before the advanced controller is created.
Subscription-based access, not version coverage
#Premium access follows the paid subscription period, not a package release or maintenance window. The SDK sends its installed version as diagnostic metadata required by the shared service, but does not validate versionAllowed or compare response package versions. The backend must apply subscription policy independently of release registration. An explicit service denial is never bypassed.
Card-view migration
#From version 1.1.0, createDataTableCardView and DataTableCardViewController require a verified card-view entitlement. Pass license and origin: window.location.origin. The controller also validates the real host document origin; a copied demo key cannot unlock another site. Standard tables need no key, and published 1.0.x behavior is unchanged.
Renewal and recovery
#Premium access ends at subscription or short-lease expiry. Observe status.renewalDue, save drafts with subscribeBeforeAccessLoss, and refresh after renewal. Recreate disposed controllers from saved state. Destroy the session on teardown. Signed keys are unsupported.
Verify and use a licensed feature
#This recipe focuses on the integration pattern. Replace application-specific values and callbacks with your own data and services.
import { connectDataTableLicense } from 'wts-data-table/license';
import { createRemoteRowModel } from 'wts-data-table/remote';
const license = await connectDataTableLicense({ licenseKey: deploymentKey });
const rows = createRemoteRowModel({
license,
origin: window.location.origin,
...remoteOptions
});The framework quick start includes install commands, a typed data file, and the component that renders it.
Go to the quick start →Ready to try it with real data?
Explore configurable examples ↗