From 8d5bed4381eb9bea60a507fd85105297633e1c5a Mon Sep 17 00:00:00 2001 From: heswell Date: Fri, 16 Feb 2024 08:55:17 +0000 Subject: [PATCH 1/2] reset datasource range on ui remount (#1199) --- .../src/datasource-stats/DatasourceStats.tsx | 5 ++++- vuu-ui/packages/vuu-table/src/useDataSource.ts | 2 +- .../feature-filter-table/src/useFilterTable.tsx | 2 +- .../feature-filter-table/src/useSessionDataSource.ts | 12 ++++++++---- 4 files changed, 14 insertions(+), 7 deletions(-) diff --git a/vuu-ui/packages/vuu-table-extras/src/datasource-stats/DatasourceStats.tsx b/vuu-ui/packages/vuu-table-extras/src/datasource-stats/DatasourceStats.tsx index 8580ba340..dab5de4c9 100644 --- a/vuu-ui/packages/vuu-table-extras/src/datasource-stats/DatasourceStats.tsx +++ b/vuu-ui/packages/vuu-table-extras/src/datasource-stats/DatasourceStats.tsx @@ -21,9 +21,12 @@ export const DataSourceStats = ({ const [size, setSize] = useState(dataSource.size); useEffect(() => { setSize(dataSource.size); - dataSource.on("resize", setSize); dataSource.on("range", setRange); + return () => { + dataSource.removeListener("resize", setSize); + dataSource.removeListener("range", setRange); + }; }, [dataSource]); const className = cx(classBase, classNameProp); diff --git a/vuu-ui/packages/vuu-table/src/useDataSource.ts b/vuu-ui/packages/vuu-table/src/useDataSource.ts index 290199626..ad8fce8d0 100644 --- a/vuu-ui/packages/vuu-table/src/useDataSource.ts +++ b/vuu-ui/packages/vuu-table/src/useDataSource.ts @@ -55,7 +55,7 @@ export const useDataSource = ({ // TODO do we ever need to worry about missing updates here ? forceUpdate({}); } else { - console.log(`ignore update as we're not mounted`); + // do nothing } }, [dataWindow] diff --git a/vuu-ui/sample-apps/feature-filter-table/src/useFilterTable.tsx b/vuu-ui/sample-apps/feature-filter-table/src/useFilterTable.tsx index 76ebbd684..446fafc1b 100644 --- a/vuu-ui/sample-apps/feature-filter-table/src/useFilterTable.tsx +++ b/vuu-ui/sample-apps/feature-filter-table/src/useFilterTable.tsx @@ -272,7 +272,7 @@ export const useFilterTable = ({ tableSchema }: FilterTableFeatureProps) => { onAvailableColumnsChange: handleAvailableColumnsChange, onConfigChange: handleTableConfigChange, onFeatureInvocation: handleVuuFeatureInvoked, - renderBufferSize: 10, + renderBufferSize: 20, }; // It is important that these values are not assigned in advance. They diff --git a/vuu-ui/sample-apps/feature-filter-table/src/useSessionDataSource.ts b/vuu-ui/sample-apps/feature-filter-table/src/useSessionDataSource.ts index 6466b3f29..be6f1d41e 100644 --- a/vuu-ui/sample-apps/feature-filter-table/src/useSessionDataSource.ts +++ b/vuu-ui/sample-apps/feature-filter-table/src/useSessionDataSource.ts @@ -4,7 +4,7 @@ import { DataSourceConfig, TableSchema, } from "@finos/vuu-data-types"; -import { configChanged } from "@finos/vuu-utils"; +import { configChanged, resetRange } from "@finos/vuu-utils"; import { useViewContext } from "@finos/vuu-layout"; import { useCallback, useMemo } from "react"; @@ -43,7 +43,7 @@ export const useSessionDataSource = ({ let ds = loadSession?.(dataSourceSessionKey) as VuuDataSource; if (ds) { console.log( - "%useSessionDataSource DATA SOURCE IN SESSION STATE", + "%cuseSessionDataSource DATA SOURCE IN SESSION STATE", "color:red;font-weight:bold;" ); @@ -60,6 +60,11 @@ export const useSessionDataSource = ({ ds.applyConfig(dataSourceConfigFromState); } + if (ds.range.from > 0) { + // UI does not currently restore scroll position, so always reset to top of dataset + ds.range = resetRange(ds.range); + } + return ds; } @@ -68,8 +73,7 @@ export const useSessionDataSource = ({ tableSchema.columns.map((col) => col.name); ds = new VuuDataSource({ - bufferSize: 0, - // bufferSize: 200, + // bufferSize: 0, viewport: id, table: tableSchema.table, ...dataSourceConfigFromState, From 4825379dbdd5fbac044bf0b52395680ef7e44023 Mon Sep 17 00:00:00 2001 From: Tomasz Rumak Date: Fri, 16 Feb 2024 09:54:16 +0100 Subject: [PATCH 2/2] Maven builf update. --- example/apache-ignite/pom.xml | 230 +++++++++++++++++++++++++++++++++- 1 file changed, 227 insertions(+), 3 deletions(-) diff --git a/example/apache-ignite/pom.xml b/example/apache-ignite/pom.xml index 130bc64d2..7a5f2053f 100644 --- a/example/apache-ignite/pom.xml +++ b/example/apache-ignite/pom.xml @@ -10,6 +10,9 @@ apache-ignite + + 2.16.0 + @@ -39,17 +42,22 @@ org.apache.ignite ignite-core - 2.16.0 + ${ignite.version} org.apache.ignite ignite-calcite - 2.16.0 + ${ignite.version} org.apache.ignite ignite-slf4j - 2.16.0 + ${ignite.version} + + + org.apache.ignite + ignite-kubernetes + ${ignite.version} org.scala-lang @@ -112,6 +120,222 @@ + + + org.codehaus.mojo + exec-maven-plugin + 3.1.0 + + + ignite + + exec + + + + -Xmx4G + -classpath + + --add-opens=java.base/java.nio=ALL-UNNAMED + --add-opens=java.base/jdk.internal.access=ALL-UNNAMED + --add-opens=java.base/jdk.internal.misc=ALL-UNNAMED + --add-opens=java.base/sun.nio.ch=ALL-UNNAMED + --add-opens=java.base/sun.util.calendar=ALL-UNNAMED + --add-opens=java.management/com.sun.jmx.mbeanserver=ALL-UNNAMED + --add-opens=jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED + --add-opens=java.base/sun.reflect.generics.reflectiveObjects=ALL-UNNAMED + --add-opens=jdk.management/com.sun.management.internal=ALL-UNNAMED + --add-opens=java.base/java.io=ALL-UNNAMED + --add-opens=java.base/java.nio=ALL-UNNAMED + --add-opens=java.base/java.net=ALL-UNNAMED + --add-opens=java.base/java.util=ALL-UNNAMED + --add-opens=java.base/java.util.concurrent=ALL-UNNAMED + --add-opens=java.base/java.util.concurrent.locks=ALL-UNNAMED + --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED + --add-opens=java.base/java.lang=ALL-UNNAMED + --add-opens=java.base/java.lang.invoke=ALL-UNNAMED + --add-opens=java.base/java.math=ALL-UNNAMED + --add-opens=java.sql/java.sql=ALL-UNNAMED + --add-opens=java.base/java.lang.reflect=ALL-UNNAMED + --add-opens=java.base/java.time=ALL-UNNAMED + --add-opens=java.base/java.text=ALL-UNNAMED + --add-opens=java.management/sun.management=ALL-UNNAMED + --add-opens=java.desktop/java.awt.font=ALL-UNNAMED + -Djava.net.preferIPv4Stack=true + org.finos.vuu.example.ignite.StartIgniteMain + + + + + loader + + exec + + + + -Xmx1G + -classpath + + --add-opens=java.base/java.nio=ALL-UNNAMED + --add-opens=java.base/jdk.internal.access=ALL-UNNAMED + --add-opens=java.base/jdk.internal.misc=ALL-UNNAMED + --add-opens=java.base/sun.nio.ch=ALL-UNNAMED + --add-opens=java.base/sun.util.calendar=ALL-UNNAMED + --add-opens=java.management/com.sun.jmx.mbeanserver=ALL-UNNAMED + --add-opens=jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED + --add-opens=java.base/sun.reflect.generics.reflectiveObjects=ALL-UNNAMED + --add-opens=jdk.management/com.sun.management.internal=ALL-UNNAMED + --add-opens=java.base/java.io=ALL-UNNAMED + --add-opens=java.base/java.nio=ALL-UNNAMED + --add-opens=java.base/java.net=ALL-UNNAMED + --add-opens=java.base/java.util=ALL-UNNAMED + --add-opens=java.base/java.util.concurrent=ALL-UNNAMED + --add-opens=java.base/java.util.concurrent.locks=ALL-UNNAMED + --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED + --add-opens=java.base/java.lang=ALL-UNNAMED + --add-opens=java.base/java.lang.invoke=ALL-UNNAMED + --add-opens=java.base/java.math=ALL-UNNAMED + --add-opens=java.sql/java.sql=ALL-UNNAMED + --add-opens=java.base/java.lang.reflect=ALL-UNNAMED + --add-opens=java.base/java.time=ALL-UNNAMED + --add-opens=java.base/java.text=ALL-UNNAMED + --add-opens=java.management/sun.management=ALL-UNNAMED + --add-opens=java.desktop/java.awt.font=ALL-UNNAMED + -Djava.net.preferIPv4Stack=true + org.finos.vuu.example.ignite.loader.IgniteOrderLoaderMain + + + + + vuu + + exec + + + + -Xmx4G + -classpath + + --add-opens=java.base/java.nio=ALL-UNNAMED + --add-opens=java.base/jdk.internal.access=ALL-UNNAMED + --add-opens=java.base/jdk.internal.misc=ALL-UNNAMED + --add-opens=java.base/sun.nio.ch=ALL-UNNAMED + --add-opens=java.base/sun.util.calendar=ALL-UNNAMED + --add-opens=java.management/com.sun.jmx.mbeanserver=ALL-UNNAMED + --add-opens=jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED + --add-opens=java.base/sun.reflect.generics.reflectiveObjects=ALL-UNNAMED + --add-opens=jdk.management/com.sun.management.internal=ALL-UNNAMED + --add-opens=java.base/java.io=ALL-UNNAMED + --add-opens=java.base/java.nio=ALL-UNNAMED + --add-opens=java.base/java.net=ALL-UNNAMED + --add-opens=java.base/java.util=ALL-UNNAMED + --add-opens=java.base/java.util.concurrent=ALL-UNNAMED + --add-opens=java.base/java.util.concurrent.locks=ALL-UNNAMED + --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED + --add-opens=java.base/java.lang=ALL-UNNAMED + --add-opens=java.base/java.lang.invoke=ALL-UNNAMED + --add-opens=java.base/java.math=ALL-UNNAMED + --add-opens=java.sql/java.sql=ALL-UNNAMED + --add-opens=java.base/java.lang.reflect=ALL-UNNAMED + --add-opens=java.base/java.time=ALL-UNNAMED + --add-opens=java.base/java.text=ALL-UNNAMED + --add-opens=java.management/sun.management=ALL-UNNAMED + --add-opens=java.desktop/java.awt.font=ALL-UNNAMED + -Dvuu.webroot=../../vuu-ui/deployed_apps/app-vuu-example + -Dvuu.keyPath=src/main/resources/certs/key.pem + -Dvuu.certPath=src/main/resources/certs/cert.pem + -Dlogback.configurationFile=logback-netty.xml + -Djava.net.preferIPv4Stack=true + org.finos.vuu.example.ignite.IgniteVuuMain + + + + + + java + + + + + org.apache.maven.plugins + maven-jar-plugin + 3.3.0 + + + vuu-app + package + + jar + + + app + + + true + lib/ + + org.finos.vuu.example.ignite.IgniteVuuMain + + + + + + + vuu-ignite-node + package + + jar + + + node + + + true + lib/ + + org.finos.vuu.example.ignite.StartIgniteMain + + + + + + + vuu-ignite-loader + package + + jar + + + loader + + + true + lib/ + + org.finos.vuu.example.ignite.loader.IgniteOrderLoaderMain + + + + + + + + + org.apache.maven.plugins + maven-dependency-plugin + 3.6.1 + + + package + + copy-dependencies + + + ${project.build.directory}/lib + + + + \ No newline at end of file