API Samples changelog
v.next
-
GROK-20753: Added functions/eval-param-validators.js — named parameter validators run via
FuncCall.evalParamValidatorsagainst the call's current value -
GROK-20753: Added misc/utils/string-distances.js —
DG.StringUtils.levenshteinDistance/jaroWinklerDistance -
GROK-20753: Added ui/dialogs/pick-table.js —
ui.pickTableFromFiles/ui.pickTableFromQuerywith the null-on-cancel contract -
Functions: Added functions/script-sync-variables.js —
scriptSyncwith a variables map evaluated over a fresh context -
Functions: Added functions/eval-param-choices.js —
evalParamChoices/evalParamDefaultover a client-registered choices provider -
Functions: Added functions/property-options.js —
Property.optionsas the tags-and-options union with FuncParam write-through -
ProgressIndicator: Added functions/progress-log-updated.js —
onLogUpdatedduring a debug-mode call, where each event is a plain{level, message, flag, params, time}object -
Fixed statistics/pearson-correlation.js reading
c1twice, so it correlated a column with itself and always returned 1 -
Fixed functions/caching-results.js referencing an undefined
result(and dropped an unusedcounts) -
Fixed ui/widgets/widgets-tree.js throwing on a widget with no
children, and on the baseWidget, which has nogetFunctions/getProperties(only domain widgets do) -
Fixed dapi/projects.js saving an unnamed project ("Project name cannot be empty")
-
Gave the
sinput of PythonDup and RDup a default so they run without arguments -
GROK-20298: Added dapi/domains/platform-grid.js — the editable domain grid with NO package installed:
DG.DomainGrid.create, the frame's service columns, and the grid's machine surface -
GROK-20298: Added dapi/domains/relations.js — many-to-many relations end to end: insert with a link set, expand, the d42 chips + id companion, relation filter paths and facet counts, set-replace update, and the create-and-link transaction
-
GROK-20298: Added dapi/domains/extend-schema.js — extending a plugin's domain schema: the Extend grant, the extend apply, and using the new column by its logical name
-
GROK-20298: Added ui/handlers/render-input.js —
ObjectHandler.renderInput: the meta-provided user selector for a User -
GROK-20298: ui/handlers/handlers.js — added
renderListItemto the manual-rendering table -
GROK-20298: Added dapi/domains/facade-form.js — the domain form plain:
issues.form({values})mounted in a view with a Save button, everything else from the registry -
GROK-20298: Moved the domain samples into their own
dapi/domains/folder and dropped thedomains-prefix (dapi/domains-typed-client.js → dapi/domains/typed-client.js, dapi/domains.js → dapi/domains/crud.js, and so on) -
GROK-20298: Added the rest of the
domainsfacade catalog — dapi/domains/facade-app.js (the whole CRUD app in one body line), dapi/domains/facade-list-view.js (a query-scoped list page + the reference picker), dapi/domains/facade-grid.js (an editable grid over a filtered subset, plus a grid's machine surface) and dapi/domains/facade-composed.js (a master-detail page with one dirty state and one gate, then a domain grid live next to a bar chart) -
GROK-20298: Added the
domainsfacade samples — dapi/domains/facade-form-dialog.js (an insert/edit form in a dialog, 2 lines), dapi/domains/facade-form-view.js (a routed form page throughgrok.shell.preview, 2 lines), dapi/domains/facade-customization.js (replace one input, add one validator) and dapi/domains/facade-machine-surface.js (what an AI agent sees:DG.Widget.getAll()→getWidgetStatus()→props→getFunctions()) -
GROK-20298: Added dapi/domains/app-view.js — the domain app framework in two views: a one-expression DomainAppView list page and the DomainEntityAppView page of one row (rowFrom wrapping a row the query already returned)
-
GROK-20298: Added dapi/domains/query-state.js — DomainQuery as the one serializable view state: deep-link URL parameters (one key per filter element) round-tripped back, the silent REST spec, the recorded run, and the query behind a live Domain View
-
GROK-20298: Added dapi/domains/embedded-view.js and dapi/domains/row-editor.js — DG.DomainView created programmatically and embedded with a permanent filter, and the platform row dialogs as one-line openers (create/edit/picker/conflict/audit/grants); dapi/domains/async-form.js now opens the REAL lookup picker instead of routing to /domains
-
GROK-20298: Added dapi/domains/handler.js — DomainObjectHandler: a per-table handler that overrides only renderCard, plus the reflective members every domain table gets for free (properties, capabilities, row permissions, detail tabs, capability-gated actions, editor)
-
GROK-20298: Added dapi/domains/registry-reflection.js — registry reflection (rowProperties/tableInfo/resolveNames) and permission-driven table capabilities
-
GROK-20298: Added dapi/domains/render-grid.js — customizing every grid over a domain table's rows (the built-in Domain View grid included) via ObjectHandler.renderGrid
-
GROK-20298: Added dapi/domains/async-form.js — the "New Grit issue" async form: FK lookup via ui.typeAhead's callback source, server-provided choices, debounced server-side uniqueness validation, and per-field mapping of server rejections
-
GROK-20605: Rewrote the domains samples to the typed patterns — fluent builder + bound-condition helpers (apostrophe teaching), getByKey/first/count/exists, aggregateDf, typed tuple transactions with
opIndex, typed conflict errors +updateWithRetry, schema grants with the no-fan-out truth; NEW dapi/domains/typed-client.js (upsert, save/updateWithRetry, typed errors, bounded deleteWhere cleanup); every remaining per-row delete loop is gone -
GROK-20601: Replaced dapi/domains-dapi2.js (the generated dapi2 domains client is removed at typed-surface parity) with dapi/domains/schema.js — schema lifecycle handle: manifest export + whole-schema audit
-
GROK-20600: dapi/domains/batch.js cleanup now uses one
deleteWherefiltered bulk delete instead of the query + per-row delete loop -
GROK-20591: Added dapi/domains/filters.js — batched facets (filter-panel counts) and shareable saved filter presets on a domain table
-
GROK-20572: Added data-access/db/query_builder_domain.js — TableQueryBuilder over a domain schema's virtual connection
-
GROK-20316: Added dapi/domains-dapi2.js — querying domain-table rows via the generated grok.dapi2 REST client
-
GROK-20315: Added dapi/domains/batch.js, domains/transaction.js, domains/aggregate.js, domains/dataframe.js, domains/idempotency.js — batch upsert, multi-entity transactions, aggregation, queryDf → grid, idempotent retries + optimistic concurrency
-
GROK-20307: Added dapi/domains/crud.js — domain-table row CRUD via grok.dapi.domains
1.2.1 (2-24-11-24)
- New samples, version bump
1.0.12 (2024-10-17)
- Add samples before for scripts
- Sample fixes
1.0.11 (2024-07-09)
- Add samples for HelmInput
1.0.7 (2023-07-27)
- Dependency: datagarok-api >= 1.16.0*
Features
- All examples now have auto tests