Add support for a new curve data format in the Curves package converter system
日本語の概要は準備中です。原文の説明を表示しています。
UI building guidelines for Datagrok TypeScript components, viewers, and drag-and-drop
インストール方法を見るインストールする前に、エージェントに与えられる指示の中身を確認できます。
Rules and patterns for building UI in TypeScript packages and libraries. These are authoritative — follow them unless the user explicitly overrides.
addPane with a lazy getContent callback — never pass pre-built elements// Good
const tabs = ui.tabControl();
tabs.addPane('Sheet 1', () => {
const df = buildDataFrame();
const grid = DG.Viewer.grid(df);
return grid.root;
});
// Bad — all tabs built eagerly
const tabs = ui.tabControl({
'Sheet 1': buildExpensiveGrid(),
'Sheet 2': buildExpensiveGrid(),
});
DG.Viewer.grid(df) for embedding a grid inside a composite layoutDG.TableView.create(df, false) when the grid IS the entire viewfalse) prevents the table from being added to the workspaceui.splitH / ui.splitV for resizable split panelsui.divV / ui.divH for simple stacking without resize handlesflex: 1 on the element that should fill remaining spaceui.splitH([tree.root, contentPanel])ui.dialog() for modal interactionsui.input.choice(), ui.input.int(), ui.input.bool(), etc. for typed inputs - full set of input functions is in js-api/ui.ts.
Prefer onValueChanged in the options object over .onChanged.subscribe(): ui.input.bool('Debug', {value: DG.Test.isInDebug, onValueChanged: (v) => DG.Test.isInDebug = v});
Use ui.form([...inputs]) to render a labeled list of inputs inside a dialog
DG.JsViewer properties (this.string(...), this.int(...))
which automatically appear in the context panelFor toggleable settings in a DG.Menu.popup(), use menu.items() with isChecked — never use text-prefix hacks like `${flag ? '✓ ' : ''}Label`:
const toggles = [
{label: 'Debug', get: () => DG.Test.isInDebug, set: (v: boolean) => { DG.Test.isInDebug = v; }},
{label: 'Benchmark', get: () => DG.Test.isInBenchmark, set: (v: boolean) => { DG.Test.isInBenchmark = v; }},
];
const menu = DG.Menu.popup();
menu.closeOnClick = false;
const refresh = () => {
menu.clear();
menu.items(toggles, (t) => { t.set(!t.get()); refresh(); }, {isChecked: (t) => t.get()});
};
refresh();
menu.show();
DG.debounce(observable, 50)ui.accordion() with lazy getContent callbacks (same principle as tab controls)const acc = ui.accordion();
acc.addPane('Details', () => buildDetailsPanel());
acc.addPane('Statistics', () => buildStatsPanel());
ui.makeDroppable(el, IDragAndDropOptions<T>) — receive entities dragged from the browse tree, grid, or other sources.
acceptDrop(obj) — fast predicate for showing the zone.doDrop(args) — handle the drop. args is a DragDropArgs<T> with dragObject, dragSource, dragObjectType, copying (Ctrl/Cmd), link (Alt), handled.acceptDrag, onBeginDrag, onEndDrag, onMouseEnter/Over/Leave/Out, dropSuggestion, makeDropZone, dropZoneRectTransformation, dropIndication.ui.makeDraggable(el, {getDragObject, getDragCaption}) — make your own UI a drag source.ApiSamples/scripts/ui/interactivity/drag-and-drop.js.document.createElement when ui.* helpers existinnerHTML with user data — use ui.divText() or textContentstyle.width = '100%' on tables — let them size to contentまだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Add support for a new curve data format in the Curves package converter system
日本語の概要は準備中です。原文の説明を表示しています。
Create info panels that appear in the context panel based on semantic types
日本語の概要は準備中です。原文の説明を表示しています。
Add a new single-objective optimization algorithm to the sci-comp library. Use when the user asks to implement a new optimizer (e.g. gradient descent, BFGS, simulated annealing, differential evolution).
日本語の概要は準備中です。原文の説明を表示しています。
Add unit tests to a Datagrok package
日本語の概要は準備中です。原文の説明を表示しています。
Answer a "how do I …" question about the platform with a Gherkin scenario on @datagrok-libraries/bdd that is filmed into a how-to video (grok-bdd guide), so the answer is demonstrated, sent as a video plus numbered steps, and kept as a regression test
日本語の概要は準備中です。原文の説明を表示しています。
Translate hand-written Playwright specs (or any existing UI tests) into Gherkin features on @datagrok-libraries/bdd, then prove the features test what they claim by backward-matching them against the originals with independent reviewers, and fix the gaps in the core, the library and the features
日本語の概要は準備中です。原文の説明を表示しています。