From 351033719ff34c919528f57f13680aaa830a4820 Mon Sep 17 00:00:00 2001 From: hunterckx <118154470+hunterckx@users.noreply.github.com> Date: Sat, 4 Jan 2025 13:55:44 -0800 Subject: [PATCH 1/4] chore: upgrade findable ui to latest (#203) --- .../TableCell/components/AnalyzeGenome/analyzeGenome.tsx | 2 +- package-lock.json | 8 ++++---- package.json | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/app/components/Table/components/TableCell/components/AnalyzeGenome/analyzeGenome.tsx b/app/components/Table/components/TableCell/components/AnalyzeGenome/analyzeGenome.tsx index 41def85..83f991f 100644 --- a/app/components/Table/components/TableCell/components/AnalyzeGenome/analyzeGenome.tsx +++ b/app/components/Table/components/TableCell/components/AnalyzeGenome/analyzeGenome.tsx @@ -24,7 +24,7 @@ export const AnalyzeGenome = ({ > {analyze.label} - + {({ closeMenu }): JSX.Element[] => views.map((view, i) => ( Date: Tue, 7 Jan 2025 15:45:50 -0800 Subject: [PATCH 2/4] chore: update to findable ui 21 (#203) --- package-lock.json | 155 +++++++++++++++++- package.json | 2 +- .../local/index/genomeEntityConfig.ts | 14 +- 3 files changed, 161 insertions(+), 10 deletions(-) diff --git a/package-lock.json b/package-lock.json index 39c4f2e..b37433d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,7 +8,7 @@ "name": "brc-analytics", "version": "0.0.0", "dependencies": { - "@databiosphere/findable-ui": "^19.0.0", + "@databiosphere/findable-ui": "^21.0.0", "@emotion/react": "^11.13.3", "@emotion/styled": "^11.13.0", "@mdx-js/loader": "^3.0.1", @@ -2233,9 +2233,9 @@ } }, "node_modules/@databiosphere/findable-ui": { - "version": "19.0.0", - "resolved": "https://registry.npmjs.org/@databiosphere/findable-ui/-/findable-ui-19.0.0.tgz", - "integrity": "sha512-mPapPHhB4lB/2ndA0xICQMqMATjLTmIO85scBr/MRxv3fZuLGUB6YRQzPNi0XGSBQArjvVWcrmDTMZczTY0sIQ==", + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@databiosphere/findable-ui/-/findable-ui-21.0.0.tgz", + "integrity": "sha512-uYDLbNEBWTkgW5bS7YsRRFKCJusGhaG0OosPHBL5ZEZwchsXPuVaV6himlnuHcsgVZmV4ur5lPA0pyjOWAIJ5g==", "engines": { "node": "20.10.0" }, @@ -2250,11 +2250,12 @@ "isomorphic-dompurify": "0.24.0", "ky": "^1.7.2", "next": "^14.1.0", + "next-auth": "^4.24.7", "react": "^18.3.1", "react-dom": "^18.3.1", "react-dropzone": "^14.2.3", "react-gtm-module": "2.0.11", - "react-idle-timer": "^5.6.2", + "react-idle-timer": "^5.7.2", "react-window": "1.8.9", "uuid": "8.3.2", "validate.js": "^0.13.1" @@ -4295,6 +4296,15 @@ "node": ">=12.4.0" } }, + "node_modules/@panva/hkdf": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@panva/hkdf/-/hkdf-1.2.1.tgz", + "integrity": "sha512-6oclG6Y3PiDFcoyk8srjLfVKyMfVCKJ27JwNPViuXziFpmdz+MZnZN/aKY0JGXgYuO/VghU0jcOAZgWXZ1Dmrw==", + "peer": true, + "funding": { + "url": "https://github.com/sponsors/panva" + } + }, "node_modules/@pkgr/core": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz", @@ -6913,6 +6923,15 @@ "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", "dev": true }, + "node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "peer": true, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/copy-to-clipboard": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.1.tgz", @@ -12027,6 +12046,15 @@ "jiti": "bin/jiti.js" } }, + "node_modules/jose": { + "version": "4.15.9", + "resolved": "https://registry.npmjs.org/jose/-/jose-4.15.9.tgz", + "integrity": "sha512-1vUQX+IdDMVPj4k8kOxgUqlcK518yluMuGZwqlr44FS1ppZB/5GWh4rZG89erpOBOJjU/OBsnCVFfapsRz6nEA==", + "peer": true, + "funding": { + "url": "https://github.com/sponsors/panva" + } + }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -13359,6 +13387,38 @@ } } }, + "node_modules/next-auth": { + "version": "4.24.11", + "resolved": "https://registry.npmjs.org/next-auth/-/next-auth-4.24.11.tgz", + "integrity": "sha512-pCFXzIDQX7xmHFs4KVH4luCjaCbuPRtZ9oBUjUhOk84mZ9WVPf94n87TxYI4rSRf9HmfHEF8Yep3JrYDVOo3Cw==", + "peer": true, + "dependencies": { + "@babel/runtime": "^7.20.13", + "@panva/hkdf": "^1.0.2", + "cookie": "^0.7.0", + "jose": "^4.15.5", + "oauth": "^0.9.15", + "openid-client": "^5.4.0", + "preact": "^10.6.3", + "preact-render-to-string": "^5.1.19", + "uuid": "^8.3.2" + }, + "peerDependencies": { + "@auth/core": "0.34.2", + "next": "^12.2.5 || ^13 || ^14 || ^15", + "nodemailer": "^6.6.5", + "react": "^17.0.2 || ^18 || ^19", + "react-dom": "^17.0.2 || ^18 || ^19" + }, + "peerDependenciesMeta": { + "@auth/core": { + "optional": true + }, + "nodemailer": { + "optional": true + } + } + }, "node_modules/next-compose-plugins": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/next-compose-plugins/-/next-compose-plugins-2.2.1.tgz", @@ -14604,6 +14664,12 @@ "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.7.tgz", "integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==" }, + "node_modules/oauth": { + "version": "0.9.15", + "resolved": "https://registry.npmjs.org/oauth/-/oauth-0.9.15.tgz", + "integrity": "sha512-a5ERWK1kh38ExDEfoO6qUHJb32rd7aYmPHuyCu3Fta/cnICvYmgd2uhuKXvPD+PXB+gCEYYEaQdIRAjCOwAKNA==", + "peer": true + }, "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -14612,6 +14678,15 @@ "node": ">=0.10.0" } }, + "node_modules/object-hash": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz", + "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==", + "peer": true, + "engines": { + "node": ">= 6" + } + }, "node_modules/object-inspect": { "version": "1.13.2", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", @@ -14730,6 +14805,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/oidc-token-hash": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/oidc-token-hash/-/oidc-token-hash-5.0.3.tgz", + "integrity": "sha512-IF4PcGgzAr6XXSff26Sk/+P4KZFJVuHAJZj3wgO3vX2bMdNVp/QXTP3P7CEm9V1IdG8lDLY3HhiqpsE/nOwpPw==", + "peer": true, + "engines": { + "node": "^10.13.0 || >=12.0.0" + } + }, "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -14754,6 +14838,39 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/openid-client": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/openid-client/-/openid-client-5.7.1.tgz", + "integrity": "sha512-jDBPgSVfTnkIh71Hg9pRvtJc6wTwqjRkN88+gCFtYWrlP4Yx2Dsrow8uPi3qLr/aeymPF3o2+dS+wOpglK04ew==", + "peer": true, + "dependencies": { + "jose": "^4.15.9", + "lru-cache": "^6.0.0", + "object-hash": "^2.2.0", + "oidc-token-hash": "^5.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/panva" + } + }, + "node_modules/openid-client/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "peer": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/openid-client/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "peer": true + }, "node_modules/optionator": { "version": "0.9.3", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", @@ -15112,6 +15229,34 @@ "node": ">= 0.4" } }, + "node_modules/preact": { + "version": "10.25.4", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.25.4.tgz", + "integrity": "sha512-jLdZDb+Q+odkHJ+MpW/9U5cODzqnB+fy2EiHSZES7ldV5LK7yjlVzTp7R8Xy6W6y75kfK8iWYtFVH7lvjwrCMA==", + "peer": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/preact" + } + }, + "node_modules/preact-render-to-string": { + "version": "5.2.6", + "resolved": "https://registry.npmjs.org/preact-render-to-string/-/preact-render-to-string-5.2.6.tgz", + "integrity": "sha512-JyhErpYOvBV1hEPwIxc/fHWXPfnEGdRKxc8gFdAZ7XV4tlzyzG847XAyEZqoDnynP88akM4eaHcSOzNcLWFguw==", + "peer": true, + "dependencies": { + "pretty-format": "^3.8.0" + }, + "peerDependencies": { + "preact": ">=10" + } + }, + "node_modules/preact-render-to-string/node_modules/pretty-format": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-3.8.0.tgz", + "integrity": "sha512-WuxUnVtlWL1OfZFQFuqvnvs6MiAGk9UNsBostyBOB0Is9wb5uRESevA6rnl/rkksXaGX3GzZhPup5d6Vp1nFew==", + "peer": true + }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", diff --git a/package.json b/package.json index b28341d..da242ab 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,7 @@ "build-brc-db": "esrun files/build-catalog.ts" }, "dependencies": { - "@databiosphere/findable-ui": "^19.0.0", + "@databiosphere/findable-ui": "^21.0.0", "@emotion/react": "^11.13.3", "@emotion/styled": "^11.13.0", "@mdx-js/loader": "^3.0.1", diff --git a/site-config/brc-analytics/local/index/genomeEntityConfig.ts b/site-config/brc-analytics/local/index/genomeEntityConfig.ts index 963e1cb..0c9c1e2 100644 --- a/site-config/brc-analytics/local/index/genomeEntityConfig.ts +++ b/site-config/brc-analytics/local/index/genomeEntityConfig.ts @@ -75,7 +75,7 @@ export const genomeEntityConfig: BRCEntityConfig = { component: C.AnalyzeGenome, viewBuilder: V.buildAnalyzeGenome, } as ComponentConfig, - disableSorting: true, + enableSorting: false, header: BRC_DATA_CATALOG_CATEGORY_LABEL.ANALYZE_GENOME, id: BRC_DATA_CATALOG_CATEGORY_KEY.ANALYZE_GENOME, width: "auto", @@ -145,9 +145,15 @@ export const genomeEntityConfig: BRCEntityConfig = { width: { max: "0.5fr", min: "142px" }, }, ], - defaultSort: { - desc: SORT_DIRECTION.ASCENDING, - id: BRC_DATA_CATALOG_CATEGORY_KEY.SPECIES, + tableOptions: { + initialState: { + sorting: [ + { + desc: SORT_DIRECTION.ASCENDING, + id: BRC_DATA_CATALOG_CATEGORY_KEY.SPECIES, + }, + ], + }, }, } as ListConfig, listView: { From b00d8e9ef975fbcba455136f44116d15f7ec0b29 Mon Sep 17 00:00:00 2001 From: hunterckx <118154470+hunterckx@users.noreply.github.com> Date: Thu, 9 Jan 2025 15:34:45 -0800 Subject: [PATCH 3/4] fix: add authentication provider to avoid entity list loading bug (#203) --- pages/_app.tsx | 61 ++++++++++++++++++++++++++------------------------ 1 file changed, 32 insertions(+), 29 deletions(-) diff --git a/pages/_app.tsx b/pages/_app.tsx index 3e99414..b22a50f 100644 --- a/pages/_app.tsx +++ b/pages/_app.tsx @@ -19,6 +19,7 @@ import type { AppProps } from "next/app"; import { StyledFooter } from "../app/components/Layout/components/Footer/footer.styles"; import { config } from "../app/config/config"; import { mergeAppTheme } from "../app/theme/theme"; +import { GoogleSignInAuthenticationProvider } from "@databiosphere/findable-ui/lib/providers/googleSignInAuthentication/provider"; const DEFAULT_ENTITY_LIST_TYPE = "organisms"; @@ -60,35 +61,37 @@ function MyApp({ Component, pageProps }: AppPropsWithComponent): JSX.Element { - - - - -
- void; - }): JSX.Element => ( - - )} - > - - - -
-
- -
-
+ + + + + +
+ void; + }): JSX.Element => ( + + )} + > + + + +
+
+ +
+
+
From 23863903fb9117718baef0da5e85200840e53ef4 Mon Sep 17 00:00:00 2001 From: hunterckx <118154470+hunterckx@users.noreply.github.com> Date: Thu, 9 Jan 2025 15:37:15 -0800 Subject: [PATCH 4/4] feat: allow toggling all columns (#204) --- site-config/brc-analytics/local/index/genomeEntityConfig.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/site-config/brc-analytics/local/index/genomeEntityConfig.ts b/site-config/brc-analytics/local/index/genomeEntityConfig.ts index 0c9c1e2..01e1d8d 100644 --- a/site-config/brc-analytics/local/index/genomeEntityConfig.ts +++ b/site-config/brc-analytics/local/index/genomeEntityConfig.ts @@ -147,6 +147,7 @@ export const genomeEntityConfig: BRCEntityConfig = { ], tableOptions: { initialState: { + columnVisibility: {}, sorting: [ { desc: SORT_DIRECTION.ASCENDING,