Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(storybook): upgrade to webpack5 #810

Merged
merged 9 commits into from
Jan 17, 2023

Conversation

dvdanielamoitzi
Copy link
Contributor

@dvdanielamoitzi dvdanielamoitzi commented Dec 2, 2022

Closes #809

Developer Checklist (Definition of Done)

Issue

  • All acceptance criteria from the issue are met
  • Tested in latest Chrome/Firefox

UI/UX/Vis

  • Requires UI/UX/Vis review
    • Reviewer(s) are notified (tag assignees)
    • Review has occurred (link to notes)
    • Feedback is included in this PR
    • Reviewer(s) approve of concept and design

Code

  • Branch is up-to-date with the branch to be merged with, i.e., develop
  • Code is cleaned up and formatted
  • Unit tests are written (frontend/backend if applicable)
  • Integration tests are written (if applicable)

PR

  • Descriptive title for this pull request is provided (will be used for release notes later)
  • Reviewer and assignees are defined
  • Add type label (e.g., bug, feature) to this pull request
  • Add release label (e.g., release: minor) to this PR following semver
  • The PR is connected to the corresponding issue (via Closes #...)
  • Summary of changes is written

Summary of changes

  • upgraded to webpack5 for storybook
  • using our custom webpack config from visyn_scripts

Screenshots

image

Additional notes for the reviewer(s)

  • I'm now using the whole webpack.config from visyn_scripts. I'm not sure if that's an overkill 🤔

Thanks for creating this pull request 🤗

@dvdanielamoitzi dvdanielamoitzi requested a review from a team as a code owner December 2, 2022 15:35
@dvdanielamoitzi dvdanielamoitzi changed the title upgrade webpack for storybook storybook: upgrade to webpack5 Dec 2, 2022
@puehringer
Copy link
Contributor

puehringer commented Jan 11, 2023

Fixed storybook by adding proper aliases and swc-plugin:

image

@dvdanielamoitzi Please review and merge if everything works as expected.

@thinkh thinkh changed the title storybook: upgrade to webpack5 fix(storybook): upgrade to webpack5 Jan 17, 2023
@dvdanielamoitzi dvdanielamoitzi merged commit 9d92de2 into develop Jan 17, 2023
@dvdanielamoitzi dvdanielamoitzi deleted the dmoitzi/809_fix-storybook branch January 17, 2023 12:47
@dvvanessastoiber dvvanessastoiber mentioned this pull request Feb 7, 2023
2 tasks
dvvanessastoiber added a commit that referenced this pull request Feb 9, 2023
* 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]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants