Skip to content

Commit

Permalink
Release 16.0.0 (#778)
Browse files Browse the repository at this point in the history
* adding custom data to basic bar charts

* fixing context selection bug

* more bug fixes

* Refactor multi selection adapter

- Add optional `diffSubtypes` to `IMultiSelectionAdapter`
- Remove `ReprovisynMultiSelectionAdapter`
- Add generics to `MultiSelectionAdapter`
- Comment functions of `MultiSelectionAdapter`

* Replace `PromiseLike` with `Promise` + async/await

See also https://masteringjs.io/tutorials/fundamentals/promise-resolve

* Replace `() => IContext` with `IContext`

Unecessary convoluted call

* Remove `waitForIt` promise from selection adapter

- Add and refactor return types `Promise<any>` to `Promise<void>`
- Switch to async/await where possible
- await `removeDynamicColumns` before `addDynamicColumns` -> previously it was not waited for the removal

* Add unit tests for SelectionAdapter

* adding parameters check on use effect

* removing outdated todo

* Update context inside selection adapter

* fixing default params value

* builds

* fixing bar selection

* making bar click removal work

* code improvements

* fixing uncontrolled error

* removing zooming on bar charts

* adding promise to fix typing

* pr suggestions/cleanup

* prepare next development version 15.0.1-SNAPSHOT

* Added build-storybook to build script (#733)

* Added build-storybook to build script

* Add tdp_core/dist alias to the storybook webpack config

* updated version of storybook (#736)

Co-authored-by: Moritz Heckmann <[email protected]>

Co-authored-by: dvmoritzschoefl <[email protected]>
Co-authored-by: Moritz Heckmann <[email protected]>

* Fix eslint for AggregateTypeSelected

Probably a missing type cast in PR #729

* Remove await `this.built` in `withoutTracking()`

Waiting for `this.built` will never resolve/terminate and show an infite loading icon.

Reason: `this.built` is created with `build()` in line 355 and it is only resolved after the `build()` call is complete.

With the changes to the selection adapter the `this.selectionAdapter.selectionChanged` now returns a valid promise. Previously, `context.add()` did not return it's promise (see 919cfb2#diff-f0f07e4a6ac30a813315b152545245d4cf26830e01b701f3e82ff7b5c22363a7R18). Now, we are waiting until all dynamic columns are added. The circle closes when we add the columns which calls `withoutTracking()` which in-turn is waiting for the resolved `this.built` promise.

As far as I can see, we always call `withoutTracking` on a built/resolved ranking view. In the other places (line 377 and 400) we have a dedicated `await this.built;` before triggering changes to dynamic columns.

In my tests adding and removing columns via score and selection adapter worked as before. I also tested reloading the page and checked the result of the session. In all cases it looks the same as before.

* use `useRef` instead of `useSyncedRef`

* Add Storybook stories for custom buttons (#708)

* create first storybook for button styles

* add story for single button

* change background

* linting

* fix background

* add additional kind of buttons

* typing

* add functions for buttons into stories

* started chaning source of button

* finish Button storybook docu

* linting problems

* linting

* styling of code

* change style to UI

* add comments

* Added build-storybook to build script

* Add tdp_core/dist alias to the storybook webpack config

* added outline buttons, adjusted layout to not contain margin inside a story, added link to styleguide

Co-authored-by: Michael Puehringer <[email protected]>
Co-authored-by: Moritz Heckmann <[email protected]>

* added cypress run script to package json (#738)

Co-authored-by: Moritz Heckmann <[email protected]>

* Add exception handler middleware (#723)

* Add exception handler middleware

* Extract default logging config and set it on server startup

Co-authored-by: dvtschachinger <[email protected]>

* address PR comments

* Initial visyn_scripts integration

* Update storybook script to storybook:build

* adding description to axis labels (#744)

* Add NODE_OPTIONS=--max_old_space_size=4096  to storybook scripts (#746)

* Add NODE_OPTIONS=--max_old_space_size=4096  to storybook scripts

* Update build script to include storybook:build

* Update cache key

* Fix `ARankingView` typings of `rebuild` and `reloadData` (#749)

* prepare next dev version

* Fixed return value of logout of ALB security store (#751)

* Fix incorrect route for server buildInfo.json (#752)

* Export initialize.ts for external Storybook instance (#753)

* Migrated to new webpack5 visyn_scripts

* Updated npm scripts

* Moved entries from yo-rc to package.json

* Fix SCSS warning for divide numbers using `/` (#758)

Fix SCSS warning for divide numbers using /

* Show selection indicator next to scroll bar in rankings (#756)

Show LineUp selection indicator next to scroll bar

* Prepare github changes

* Update CODEOWNERS

* Prepare github changes

* Prepare github changes

* Prepare github changes

* Prepare github changes

* Remove circleci

* prepare next dev version

* Set modal focus based on tour visiblity and replace Bootstrap jQuery modal with plain JS modal (#754)

* Replace BS jQuery modal with plain JS modal

Caleydo/tdp_bi_bioinfodb#1371

* Refactor modal options

* Replace deprecated `evt.keyCode` with `evt.key`

* Set modal focus flag based on tour's visibility

Also revert dialog constructor parameter to `backdrop` only again.

* Resolve some dependency cycles

* Upgrade to Font Awesome v6 (#732)

* update to fontawesome v6

* added fontawesome scss file

* add dist files

* Fix icon position in sidepanel tab

* Update dependency [email protected]

Co-authored-by: Moritz Heckmann <[email protected]>
Co-authored-by: Holger Stitz <[email protected]>

* Updated modal typings in dialogs.ts to return HTMLDivElement for body (#765)

* Added tsconfig.json to package.json files to allow the prepack script to build via tsc

* Moved phovea_registry to src/phovea_registry.ts

* Removed phovea_registry.js from package.json files

* Add package-lock.json

* Update build.yml

* Fix Error Where FormDialog Fails to Be Instantiated (#766)

check if `.tdp-tour-step-count` exists

* refactor: Avoid general aside styles caused by CLUE (#763)

Refactor CLUE aside styles

* Avoid general `<aside>` styles
* Copy general aside styles into nested panels

* refactor: Improve Cypress setup and use Cypress commands.js (#757)

Co-authored-by: Holger Stitz <[email protected]>

* feat: CLUE support for URL query parameter + rewrite hash parameters (#762)

* Replace deprecated `substr` with `substring`

* Move PropertyHandler and HashProperties

* Add CommonPropertyHandler + QueryPropertyHandler

- Move some static functions back to the CLUEGraphManager

* Add property handler options to ATDPApplication

* Add destroy hook to remove event listener

* Add URL property rewrite to CLUEGraphManager

* Extract rewrite URL function to unit test

* Add unit test for rewrite URL function

* Refactor graph URL after persisting session

* Fix typings in interface

* Avoid property symbol only in URL string

* Amend last commit to avoid empty hash only

Co-authored-by: Michael Pühringer <[email protected]>

* Update package.json

* Update package.json

* Update package.json

* fix: Font Awesome import in storybook.scss (#767)

* Added d3v4 alias for datavisyn-scatterplot

* Switch back to prepare script as otherwise install fails with jest not found error

* Removed tdp_scatterplot and old d3v4 versions (#768)

* Delete dist directory

* Update package.json

* Update engine and prepare script

* Add react resolutions and overrides

* Add @types to deps instead of devDeps

* Added resolutions like overrides

* Fix wrongly formatted visyn_scripts git ssh link

* Remove webpack as forced resolution

* Move lineupjs $engine_assets variable to _variables.scss

* Add yarn-3.2.2

* Change prepare to prepack

* Remove yarn again

* Update visyn_scripts import

* Add .yarnrc.yml

* Add yarn-3.2.2

* Add yarn-3.2.2

* Add webpack to overides

* Replace npm run with yarn run

* Switch to visyn_scripts clean

* Correctly pin papaparse types

* Pin core-js to 2.6.5

* Add dist/

* Added d3v3 alias for d3

* Switch from node16 to main workflows

* Added d3v7 alias (#769)

* Added standalone tdp_core and updated README

* Override form_check to write print-color-adjust instead of color-adjust (#770)

* Update README.md

* fix: Prevent submit of FormDialog with `evt.preventDefault()` (#772)

* Bump pyjwt from 2.1.0 to 2.4.0 (#728)

Bumps [pyjwt](https://github.com/jpadilla/pyjwt) from 2.1.0 to 2.4.0.
- [Release notes](https://github.com/jpadilla/pyjwt/releases)
- [Changelog](https://github.com/jpadilla/pyjwt/blob/master/CHANGELOG.rst)
- [Commits](jpadilla/pyjwt@2.1.0...2.4.0)

---
updated-dependencies:
- dependency-name: pyjwt
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Michael Pühringer <[email protected]>

* Rdkit images API (#748)

* Add rdkit image to router (not working? ignoring prefix/namespace?)
Add api to make rdkit produce SVGs
Add optional extra flavor for rdkit in setup.py
Add tests (working in a standalone project)
Add models for molecule parsing
Add utils for rdkit-stuff

* Reformat + fix imports (via make format)
Add prefix/namespace-functionality to visyn_server in the same way, flask has it
Cleanup tests

* Make tests not run if you don't have rdkit

* Fix linter errors

* Change tag from default (none) to images and change docstring (from "todo move" to actual)

* Make rdkit mandatory

* Remove router namespace support for fastapi and add warning if it's used
Remove murcko wrapper
Remove unneccesary fastapi object creation
Remove create_api in img_api
Add app via init_app instead of via registry

* Changed path form /image/ to /rdkit/
Changed kind of parameters from url params to query params, i.e. /rdkit/C -> /rdkit/?structure=C due to slashes
Adapted tests
Better / more correct type hints

* Change to return no content (+ proper no content response code)

* Fix imports

* Add structured image column, renderer, and filter dialog for SMILES strings to ranking (#755)

* Add molecule column + renderer for LineUp

#741

* Implement fetch structured image

#741

* Add SMILES renderer and column to Ranking.tsx

#741

* Adapt to latest rdkit API changes

* Add custom structure image filter dialog (wip)

* Add loading icon + error msg to filter dialog

* Remove orphan import

* Fix linter warnings and improve code

* Deny to set string filter

* Fix lint

* Fix `filter = null` case

* Rename folder to `structureImage` and add index.ts

* Update dist files

* Add empty summary renderer

Otherwise an error is thrown when switching visualizations for the smiles column

* Fix lint

* Nest structured image i18n strings

* Set default column width for smiles column

* Set row height based on smiles column width

* Set min/max domain for number col domain

Related to #718

The parameter default, i.e. `min = Number.NaN`, is only used if the parameter is `undefined`. However, when the parameter is `null` it does not assign `Number.NaN`.

With this commit `null` and `undefined` result in `Number.NaN`.

* Set default summary renderer for smiles col

* StructuredImageColumn extends ValueColumn

- Removes all string related dialogs and functionality (e.g., group, sort, ...)
- Add rename dialog
- Remove `order` to default -> in menu: rename then filter

Co-authored-by: Michael Puehringer <[email protected]>
Co-authored-by: Michael Pühringer <[email protected]>

* Minor improvements and feedback incorporation

Co-authored-by: Holger Stitz <[email protected]>
Co-authored-by: Michael Puehringer <[email protected]>
Co-authored-by: Michael Pühringer <[email protected]>

* Pin plotly.js-dist-min to 2.12 to avoid selection error (#773)

* Add test db setup fixture (#771)

* Add test_db fixture

* Reformatting

* Simplify + fail better + test fixture

* Fix weird import corner case

* Fixed import order

* Move test dev dependencies from requirements_dev to main, so things depending on core also have it.
Also, mark both db-tests as xfail.

Co-authored-by: Michael Puehringer <[email protected]>
Co-authored-by: Michael Pühringer <[email protected]>

* Rename test_db to postgres_db (#774)

* Added no security store for static logins (#775)

* Bump rdkit to 2022.3.5 (#776)

* prepare release 16.0.0

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dvzacharycutler <[email protected]>
Co-authored-by: Holger Stitz <[email protected]>
Co-authored-by: oltionchampari <[email protected]>
Co-authored-by: Michael Pühringer <[email protected]>
Co-authored-by: dvmoritzschoefl <[email protected]>
Co-authored-by: Moritz Heckmann <[email protected]>
Co-authored-by: Christian Bors <[email protected]>
Co-authored-by: dvflorianengertsberger <[email protected]>
Co-authored-by: Michael Puehringer <[email protected]>
Co-authored-by: dvtschachinger <[email protected]>
Co-authored-by: Zach Cutler <[email protected]>
Co-authored-by: anita-steiner <>
Co-authored-by: Anita Steiner <[email protected]>
Co-authored-by: dvdanielamoitzi <[email protected]>
Co-authored-by: Christian Bors <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Markus Vogl <[email protected]>
  • Loading branch information
17 people authored Sep 8, 2022
1 parent 9d01e42 commit 62f7768
Show file tree
Hide file tree
Showing 536 changed files with 4,574 additions and 7,684 deletions.
73 changes: 1 addition & 72 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -1,72 +1 @@
module.exports = {
root: true,
extends: [
"airbnb",
"airbnb-typescript",
"airbnb/hooks",
"eslint:recommended",
"plugin:import/recommended",
"plugin:react/recommended",
"plugin:@typescript-eslint/recommended",
"plugin:jest/recommended",
"plugin:prettier/recommended",
"plugin:storybook/recommended",
],
plugins: ["react", "@typescript-eslint", "jest"],
ignorePatterns: ["*.js"],
env: {
browser: true,
es6: true,
jest: true
},
globals: {
Atomics: "readonly",
SharedArrayBuffer: "readonly",
},
parser: "@typescript-eslint/parser",
parserOptions: {
// Make sure eslint and VS Code use the same path for the tsconfig.json:
// https://github.com/typescript-eslint/typescript-eslint/issues/251
tsconfigRootDir: __dirname,
project: "./tsconfig.eslint.json"
},
rules: {
// Disables jsx-a11y https://github.com/import-js/eslint-plugin-import/blob/v2.25.4/docs/rules/no-webpack-loader-syntax.md
...Object.keys(require('eslint-plugin-jsx-a11y').rules).reduce((acc, rule) => { acc[`jsx-a11y/${rule}`] = 'off'; return acc }, {}),
"class-methods-use-this":"off",
"linebreak-style": "off",
"no-continue": "off",
"no-multi-assign": "warn",
"no-nested-ternary": "off",
"no-param-reassign": ["error", { "props": false }],
"no-return-assign": "warn",
"no-restricted-syntax": "off",
"no-plusplus": "off",
"no-prototype-builtins": "warn",
"no-minusminus": "off",
"no-underscore-dangle": "off",
"max-classes-per-file": "off",
"no-param-reassign": "warn",
"import/no-extraneous-dependencies": "off",
// Disable the following 2 lines because to allow webpack file-loaders syntax
"import/no-webpack-loader-syntax": "off",
"import/no-unresolved": "off",
"import/prefer-default-export": "off",
"import/order": "error",
"prefer-destructuring": ["warn", {"object": true, "array": false}],
"prefer-promise-reject-errors": "warn",
"prefer-spread": "warn",
"@typescript-eslint/ban-ts-comment": "warn",
"react/destructuring-assignment": "warn",
"react/jsx-props-no-spreading": "off",
"react/no-unused-class-component-methods": "warn",
"react/prop-types": "off",
"react/require-default-props": "off",
"react/static-property-placement": ["warn", "property assignment", {
childContextTypes: "static getter",
contextTypes: "static public field",
contextType: "static public field",
displayName: "static public field",
}]
}
};
module.exports = require('visyn_scripts/config/eslintrc.template')({ tsconfigRootDir: __dirname });
18 changes: 16 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,10 @@
/.tscache
/.eslintcache
/.idea
/bundles/
/build/
/storybook-static/
/dist/tsBuildInfoFile
/dist/tsconfig.tsbuildinfo
/dist_python/
/lib/
*.egg-info/
Expand All @@ -27,4 +28,17 @@ node_modules/
/src/**/*.map
/tests/**/*.map
*.css
package-lock.json
/package-lock.json
/yarn.lock

# yarn
.pnp.*
.yarn/*
!.yarn/patches
!.yarn/plugins
!.yarn/releases
!.yarn/sdks
!.yarn/versions

# env
/env/
7 changes: 1 addition & 6 deletions .prettierrc.js
Original file line number Diff line number Diff line change
@@ -1,6 +1 @@
module.exports = {
"endOfLine": "auto",
"singleQuote": true,
"trailingComma": "all",
"printWidth": 160
};
module.exports = require('visyn_scripts/config/prettierrc.template')
783 changes: 783 additions & 0 deletions .yarn/releases/yarn-3.2.2.cjs

Large diffs are not rendered by default.

2 changes: 2 additions & 0 deletions .yarnrc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
yarnPath: .yarn/releases/yarn-3.2.2.cjs
nodeLinker: node-modules
3 changes: 0 additions & 3 deletions .yo-rc.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,6 @@
"redhatPackages": []
},
"app": "",
"entries": {
"app": "./src/index.ts"
},
"libraryAliases": {
"d3": "d3/d3"
},
Expand Down
34 changes: 28 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,24 +8,46 @@ Target discovery platform for exploring rankings of genes, disease models, and o
Installation
------------

```
git clone https://github.com/datavisyn/tdp_core.git
```bash
git clone -b develop https://github.com/datavisyn/tdp_core.git # or any other branch you want to develop in
cd tdp_core
npm install

# Frontend
yarn install

# Backend
python3 -m venv env # create a new virutal environment
source env/bin/activate # active it
make develop # install all dependencies
```

Local development
------------

```bash
# Frontend
yarn start

# Backend
python tdp_core
```

Testing
-------

```
npm test
```bash
# Frontend
yarn run test

# Backend
make test
```

Building
--------

```
npm run build
yarn run build
```


Expand Down
5 changes: 5 additions & 0 deletions cypress/fixtures/example.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"name": "Using fixtures to represent data",
"email": "[email protected]",
"body": "Fixtures are a great way to mock data for responses to routes"
}
22 changes: 22 additions & 0 deletions cypress/plugins/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
/// <reference types="cypress" />
// ***********************************************************
// This example plugins/index.js can be used to load plugins
//
// You can change the location of this file or turn off loading
// the plugins file with the 'pluginsFile' configuration option.
//
// You can read more here:
// https://on.cypress.io/plugins-guide
// ***********************************************************

// This function is called when a project is opened or re-opened (e.g. due to
// the project's config changing)

/**
* @type {Cypress.PluginConfig}
*/
// eslint-disable-next-line no-unused-vars
module.exports = (on, config) => {
// `on` is used to hook into various events Cypress emits
// `config` is the resolved Cypress config
}
Loading

0 comments on commit 62f7768

Please sign in to comment.