diff --git a/web/client-api/src/main/java/io/deephaven/ide/shared/IdeSession.java b/web/client-api/src/main/java/io/deephaven/ide/shared/IdeSession.java index 801efd44095..5650dc21a65 100644 --- a/web/client-api/src/main/java/io/deephaven/ide/shared/IdeSession.java +++ b/web/client-api/src/main/java/io/deephaven/ide/shared/IdeSession.java @@ -64,6 +64,8 @@ public Promise getTable(String name) { return table; } + // TODO: #37: Need SmartKey support for this functionality + @JsIgnore public Promise getTreeTable(String name) { return connection.getTreeTable(name, result); } diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/JsTable.java b/web/client-api/src/main/java/io/deephaven/web/client/api/JsTable.java index 1d7fda8a19b..7a22d6abdfd 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/JsTable.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/JsTable.java @@ -209,19 +209,6 @@ public boolean hasInputTable() { return hasInputTable; } - @JsProperty - public JsTotalsTableConfig getTotalsTableConfig() { - // we want to communicate to the JS dev that there is no default config, so we allow - // returning null here, rather than a default config. They can then easily build a - // default config, but without this ability, there is no way to indicate that the - // config omitted a totals table - String config = lastVisibleState().getTableDef().getAttributes().getTotalsTableConfig(); - if (config == null) { - return null; - } - return JsTotalsTableConfig.parse(config); - } - @JsMethod public Promise inputTable() { if (!hasInputTable) { @@ -572,15 +559,29 @@ public Promise copy(boolean resolved) { } return Promise.resolve(new JsTable(this)); } - - @JsMethod - public Promise getTotalsTable(@JsOptional Object config) { + // TODO: #37: Need SmartKey support for this functionality + // @JsMethod + public Promise getTotalsTable(/* @JsOptional */Object config) { // fetch the handle and wrap it in a new jstable. listen for changes // on the parent table, and re-fetch each time. return fetchTotals(config, this::lastVisibleState); } + // TODO: #37: Need SmartKey support for this functionality + // @JsMethod + public JsTotalsTableConfig getTotalsTableConfig() { + // we want to communicate to the JS dev that there is no default config, so we allow + // returning null here, rather than a default config. They can then easily build a + // default config, but without this ability, there is no way to indicate that the + // config omitted a totals table + String config = lastVisibleState().getTableDef().getAttributes().getTotalsTableConfig(); + if (config == null) { + return null; + } + return JsTotalsTableConfig.parse(config); + } + private Promise fetchTotals(Object config, JsProvider state) { JsTotalsTableConfig directive = getTotalsDirectiveFromOptionalConfig(config); @@ -688,8 +689,9 @@ private JsTotalsTableConfig getTotalsDirectiveFromOptionalConfig(Object config) } } - @JsMethod - public Promise getGrandTotalsTable(@JsOptional Object config) { + // TODO: #37: Need SmartKey support for this functionality + // @JsMethod + public Promise getGrandTotalsTable(/* @JsOptional */Object config) { // As in getTotalsTable, but this time we want to skip any filters - this could mean use the // most-derived table which has no filter, or the least-derived table which has all custom columns. // Currently, these two mean the same thing. @@ -703,7 +705,8 @@ public Promise getGrandTotalsTable(@JsOptional Object config) { }); } - @JsMethod + // TODO: #37: Need SmartKey support for this functionality + // @JsMethod public Promise rollup(Object configObject) { Objects.requireNonNull(configObject, "Table.rollup configuration"); final JsRollupConfig config; @@ -721,7 +724,8 @@ public Promise rollup(Object configObject) { }, "rollup " + Global.JSON.stringify(config)).refetch(this, workerConnection.metadata()).then(state -> new JsTreeTable(state, workerConnection).finishFetch()); } - @JsMethod + // TODO: #37: Need SmartKey support for this functionality + // @JsMethod public Promise treeTable(Object configObject) { Objects.requireNonNull(configObject, "Table.treeTable configuration"); final JsTreeTableConfig config; @@ -841,7 +845,8 @@ public Promise byExternal(Object keys, @JsOptional Boolean dropKeys) { }).refetch(); } - @JsMethod + // TODO: #697: Column statistic support + // @JsMethod public Promise getColumnStatistics(Column column) { return Callbacks.promise(null, c -> { // workerConnection.getServer().getColumnStatisticsForTable(state().getHandle(), column.getName(), c);