Skip to content

Commit

Permalink
Release 17.0.0 (#831)
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 next dev version

* Update publish.yml

* Fixing Ranking.tsx bug (#777)

* adding wrapper div around ranking.tsx

* moving around styles from RankingViewComponent -> Ranking

* adding back tdp-busy

* Fixed filtering of structure image column (#784)

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

* Remove modal element when hiding a dialog (#783)

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

* Improve typings for CLUE and refactor async functions (#785)

* Improve typings for CLUE `graph.persist()`

datavisyn/ordino_eins#525

* Fix typing of MemoryGraph.restore()

* feat: Add datavisyn logo which adapts to the system scheme (#782)

* types: Add `ICategory[]` to `categories` in `IServerColumn` (#794)

* Add missing dist files

* fix: don't initialize general vis in `ARankingView` when disabled (#796)

Previously the general vis was intialized and running the background, even though it was disabled; only the button was hidden. Now the general vis not even initialized.

* prepare next dev version

* feat: adding Mantine `VisynApp` (#787)

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

* Add missing dist files.

* deps: Update dependency [email protected] (#793)

chore: Update dependency [email protected]

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

* feat: Added engine parameter to onBuiltLineUp in Ranking.tsx (#788)

* feat: Add `removePlugins` method to plugin registry (#799)

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

* prepare next dev version

* fix: Avoid `AttachmentUtils` calls when Reprovisyn feature flag is enabled (#801)

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

* Add caching of users in the current request (#803)

* fix: Plotly type error with `violingap` (#807)

* fix: increase LineUp side panel width (#805)

Closes #804

* add: missing dist files

* prepare next dev version

* fix: Hide login dialog after animation if logged in (#812)

* fix: remove range id mapping in `rangeOf` in DB view filter (#813)

* fix: remove range id mapping in DB view filter

Closes Caleydo/tdp_bi_bioinfodb#1416

* fix lint

* prepare next dev version

* Fix missing lineup color mappings by adjusting styles (#802)

Adjusted color mapping styles

* Cypress and CI integration (#811)

* Cypress 11 and CI integration

* Enable cypress in build.yml

* Delete build_nightly.yml

* Add make start

* Improve performance, upgrade deps and logging, remove numpy, numba, pandas (#816)

* Upgrade deps and remove numpy, numba, pandas

* Replace BaseHTTPMiddleware with much faster ASGI equalivalent

* Increase anyio threads to 100

* Remove broken etag support

* Improved logging

* Switch to a2wsgi

* Remove a2wsgi again

* Remove greenifier extension

* Bump FastAPI to 0.89.0

* Add pytest in settings.json

* Set SQLAlchemy version to >= 1.4.40 and <= 1.4.46 to allow SQLModel > 0.0.6 (#819)

* Loosen Flask and marshmallow-sqlalchemy versions for superset

* Removed flake8, isort, pep8 in favor of ruff

* Exclude /health from uvicorn access log

* fix(storybook): upgrade to webpack5 (#810)

* upgrade webpack for storybook

* use webpack.config from storybook and override rules

* add HtmlWebpackPlugin

* Fix storybook path aliases

* use latest version of storybook

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

* Enable Custom Vis in LineUp (#820)

* enabled custom vis in lineup

* Made idField optional

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

* Enable selection in ranking vis (#821)

* Add substructure filter label to dialog (#822)

* Add idField to LineUpSelectionHelper

* fix: show notification when score loading fails (#823)

* feat: converting general vis to Mantine and add hexbin visualization (#786)

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

* fix(vis): zoom stutter in scatter plot (#826)

* fix: change vis type name to sentence case (#827)

changing name

* fix(cypress): health check component test (#829)

fix(cypress): health check

* prepare next dev version

* feat: Improve visyn app with context, store awareness, ... (#824)

* Improve visyn app with context, store awareness, ...

* Make DummyStore a proper security store

* Make Vis/Plotly lazy to strip off 10 MB of bundle size

* Separate store id and ui id

* Further improve header by removing unused props

* Add back deprecated features like alwaysAppendDummyStore

* Move plotly to own package

* Added login popup to avoid losing site state

* feat(vis): allow column domains to be set (#825)

* converting vis component to mantine

* moving sidebar into a drawer

* finishing mantine conversion

* bug fixing and cleanup

* opening settings bar by default

* adding hexbin back

* adding clipping path to hexbins

* fixing legend

* importing vis in place in ARankingView

* fixing small multiples hexbin

* improving sorting speed

* memoizing selection

* moving packages to dev deps

* adding visynApp components to core

* adding dependencies

* removing duplicate deps

* fixing errors

* removing duplicate import

* debouncing slider callback

* removing speed improvements (for future pr)

* removing console logs

* switch to debounced callback for hex slider

* removing console logs

* adding back scatter vis speed improvements

* adding i18n

* updating mantine -> peer dependencies

* fixing colors bug

* Remove mantine from peerDependencies

* Add missing dist files

* Add missing dist file

* addressing pr feedback

* small code fixes

* added i18n for the button string

* typing to any to fix plotly problem

* fixing plotly type error

* typing all of the layouts to any

* fixing small bugs

* cleaning up a lot of bad logic in hexbin

* removing unnecessary logic

* changed selection to be more consistent with scatterplot

* improving selection consistency

* more selection improvements

* make categories scrollable

* adding i18n

* fixing error message

* Fix sentence case in vis

* bug fixing

* moving x

* fixing bugs

* fixing typings, hexbin bug

* linting

* updating stories

* small code changes

* fixing pan reset problem

* adding layout changes everywhere

* solving bugs

* fixing hexbin sidebar problem

* Run `yarn run all`

* bug fixing

* linting

* bug fixing

* testing

* bug fixing

* removing prints

* switching back to horizontal

* making scroll zooming work

* removing strip plots

* removing prints

* linting

* Remove commented out code and console log

* Add missing dist files

* hiding setting button when sidebar disabled

* moving gear icon to front

* allowing domains to be set for numerical columns

* cleaning up

* linting

* allowing undefined in domain

* cleaning

* fixing bug

* bug

* fixed axis domain bug

---------

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

* prepare release 17.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]>
Co-authored-by: Champari Oltion <[email protected]>
  • Loading branch information
18 people authored Feb 9, 2023
1 parent 20de9d1 commit 2452a70
Show file tree
Hide file tree
Showing 235 changed files with 1,692 additions and 823 deletions.
11 changes: 9 additions & 2 deletions cypress/component/component-health-check.cy.tsx
Original file line number Diff line number Diff line change
@@ -1,10 +1,17 @@
import * as React from 'react';
import { mount } from 'cypress/react';
import { MainApp } from '../../src/demo/MainApp';
import { VisynAppProvider } from '../../src/visynApp';
// Load the phovea_registry to ensure all extension points (like locales) are loaded.
import '../../src/phovea_registry';

describe('Health check for Cypress component test', () => {
it('should mount MainApp', () => {
mount(<MainApp />);
cy.get('body').should('include.text', 'Visualization type');
mount(
<VisynAppProvider appName="Demo App">
<MainApp />
</VisynAppProvider>,
);
cy.get('body').should('include.text', 'Demo App');
});
});
12 changes: 12 additions & 0 deletions cypress/e2e/health-check.cy.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,18 @@
describe('Health check for Cypress e2e test', () => {
it('should visit the home page', () => {
cy.visit('/');
// Login first using the new modal
cy.get('[data-testid="visyn-login-modal"]').should('include.text', 'Demo App');
cy.get('input[name="username"]').type('admin');
cy.get('input[name="password"]').type('admin');
cy.get('button[type="submit"]').click();
// Assert the content is now visible
cy.get('body').should('include.text', 'Visualization type');
// Check the user avatar, and then log out again
cy.get('[data-testid="visyn-user-avatar"]').should('include.text', 'A').click().parent().contains('Logout').click();
// Assert the login modal to be shown again
cy.get('[data-testid="visyn-login-modal"]').should('be.visible');
// Assert the content to be invisible again
cy.get('body').should('not.include.text', 'Visualization type');
});
});
22 changes: 1 addition & 21 deletions dist/ATDPApplication.d.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion dist/ATDPApplication.d.ts.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

13 changes: 2 additions & 11 deletions dist/ATDPApplication.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion dist/ATDPApplication.js.map

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions dist/assets/datavisyn_black.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 3 additions & 2 deletions dist/base/LoginUtils.d.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion dist/base/LoginUtils.d.ts.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 4 additions & 1 deletion dist/base/LoginUtils.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 2452a70

Please sign in to comment.