summaryrefslogtreecommitdiff
path: root/opendc-web/opendc-web-ui/src
AgeCommit message (Collapse)Author
2024-10-25Rewrote the FlowEngine (#256)Dante Niewenhuis
* Removed unused components. Updated tests. Improved checkpointing model Improved model, started with SimPowerSource implemented FailureModels and Checkpointing First working version midway commit first update All simulation are now run with a single CPU and single MemoryUnit. multi CPUs are combined into one. This is for performance and explainability. * fixed merge conflicts * Updated M3SA paths. * Fixed small typo
2023-03-27bug(web): Fix rack deletionFabian Mastenbroek
This change fixes #139 which reports that racks cannot be deleted. This was due to the tileId property being dropped in the backend for racks. Instead, we use the tileId passed in the action directly.
2023-03-27bug(web): Do not allow selection of empty unitFabian Mastenbroek
This change fixes #138 which reports that when adding a unit to a machine, if the user does not select a unit and presses add, the UI will crash. We now disable the add button until the user has selected a unit.
2023-03-27bug(web): Fix access to machines on lower shelvesFabian Mastenbroek
This change addresses #137 which reports that machines on shelves lower than the top shelve cannot be accessed and doing so will cause the UI to disappear and an error message to be generated. The issue was caused by using the incorrect logic for selecting the machine at a certain rack position. Fixes #137
2023-03-27bug(web): Do not offset hover layer after draggingFabian Mastenbroek
This change fixes #136 which reported that the grid and cursor will fall out of sync when dragging or moving the grid when placing rooms or objects. Fixes #136
2023-03-26bug(web): Inform user when deleted topology is still usedFabian Mastenbroek
This change fixes #135 which showed that trying to delete a topology used by a scenario would result in nothing happening in the UI and a 500 error being returned by the server. We check whether a scenario still references the topology and show an error to the user if that happens. Fixes #135
2023-02-02refactor(web/server): Remove unnecessary service indirectionsFabian Mastenbroek
This change removes the unnecessary service classes where they are only used to forward data from the resource to the entities. Furthermore, DTOs are now moved from the service layer to the resources.
2022-11-13refactor(web/ui): Drop dependency on SassFabian Mastenbroek
This change updates the OpenDC web UI to not rely on Sass for stylesheets. CSS in combination with PostCSS has become powerful enough for our use-cases as indicated by the small differences between the CSS and SCSS versions of our files. By switching to CSS, we can make use of Turbopack to build the project, which is a re-implementation of Webppack in Rust and is able to build projects much faster.
2022-10-27fix(web/ui): Default to anonymous auth domainFabian Mastenbroek
This change updates the auth code in the OpenDC web UI to default to the anonymous auth domain if no configuration is provided.
2022-10-27fix(web/ui): Drop dependency on Roboto fontFabian Mastenbroek
This change removes the dependency on the Roboto font which was downloaded for every page of OpenDC. Since we do not actually use this font in any of our page, we can safely drop the dependency.
2022-10-27build(web/ui): Update to Next 13 and React 18Fabian Mastenbroek
This change updates the web interface to use Next 13 and React 18. This release has a couple breaking changes (related to links) which we have fixed accordingly.
2022-10-27refactor(web/ui): Drop dependency on FontAwesomeFabian Mastenbroek
This change removes the explicit dependency on FontAwesome. PatternFly also ships with the FontAwesome icons, so use these icons instead to reduce the footprint of the application.
2022-10-10fix(web/ui): Fix UnitInfo popoverFabian Mastenbroek
This change addresses an issue with the topology sidebar where hovering a CPU or GPU would not present the correct information due to bug.
2022-10-10fix(web/runner): Fix service metric reportingFabian Mastenbroek
This change resolves an issue in the web runner where the finished VMs would always be reported as zero.
2022-10-10feat(web/ui): Show monthly simulation budget in UIFabian Mastenbroek
This change updates the OpenDC web UI to show the monthly simulation budget of the user in the user dropdown. This provides the user with a progress bar of the used simulation minutes.
2022-09-20refactor(web/ui): Migrate to composable tableFabian Mastenbroek
This change updates the web interface to use the composable table API offered by PatternFly 4. This has replaced the legacy table API which will be removed in the next major version of PatternFly.
2022-09-20fix(web/ui): Fix overflow of topology sidebarFabian Mastenbroek
This change fixes an issue with the web interface where the sidebar would overflow due to the large number of rack slots that are displayed in the sidebar.
2022-09-20fix(web/ui): Do not fail on stale Redux stateFabian Mastenbroek
This change fixes an issue where switching between different topologies would fail due to stale Redux state. We have updated the components to take into account that ids may not exist in the Redux store.
2022-09-20refactor(web/ui): Use PatternFly Charts for plotsFabian Mastenbroek
This change updates the OpenDC web interface to use the PatternFly Charts package to render the results of a portfolio. Previously, we used Recharts, but this package does not support SSR, whereas the PatternFly Charts package matches our design framework.
2022-09-20feat(web/ui): Redesign projects pageFabian Mastenbroek
This change updates the design of the projects page to use a gallery overview.
2022-09-20feat(web/ui): Reduce height of application headerFabian Mastenbroek
This change reduces the height of the application header to 3.5rem to increase the screen real-estate that we can use for the application content.
2022-09-20refactor(web/ui): Move project selector into mastheadFabian Mastenbroek
This change moves the project selector into the masthead since it affects the whole application. This follows the PatternFly guidelines.
2022-09-20fix(web/ui): Fix z-index of context selector componentFabian Mastenbroek
This change addresses an issue with the context selector component where the dropdown would fall behind a sticky tab bar in the main content.
2022-09-20fix(web/ui): Only display selected metricsFabian Mastenbroek
This change fixes an issue with the web interface where all available metrics were shown to the user, instead of the metrics belonging to the portfolio.
2022-09-20fix(web/ui): Fix duplication of topologyFabian Mastenbroek
This change addresses an issue where a new topology did not correctly clone an existing topology.
2022-09-20fix(web/ui): Fix deletion of topologyFabian Mastenbroek
This change fixes an issue with the OpenDC web interface where the user cannot remove an existing topology from the topology table due to a programming mistake.
2022-09-20build(web/ui): Update dependenciesFabian Mastenbroek
This change updates the dependencies of the OpenDC web interface were possible. We remain on React 17 until PatternFly adds support for the new React version.
2022-05-16build(web/ui): Update dependencies of web UIFabian Mastenbroek
This change updates the dependencies of the Next.js-based web UI to their latest available versions where possible.
2022-05-16fix(web/ui): Fix hotkeys support in React 18Fabian Mastenbroek
This change fixes an issue where the library for hotkeys that we previously used does not (yet) support React 18. Instead, we switch to a simpler solution based on React Hooks which is compatible with React 18.
2022-04-06feat(web/ui): Add support for unauthenticated user accessFabian Mastenbroek
This change updates the web UI and API to support unauthenticated user access. Such functionality is helpful when there is just a single user that wants to try OpenDC.
2022-04-05fix(web/ui): Do not use next/imageFabian Mastenbroek
This change removes the use of next/image from the project. Although it is recommended by the Next.js project to use this component, it is not compatible currently with static export.
2022-04-04refactor(web/ui): Fix compatibility with new APIFabian Mastenbroek
This change updates the web interface in React to be compatible with the new API written in Kotlin. Several changes have been made in the new API to ensure consistency.
2022-02-17fix(web/ui): Fix creation of topologiesFabian Mastenbroek
This change fixes an issue with the creation of topologies in the frontend. Previously, the frontend relied on Redux to update the state. However, since we removed the reliance on Redux, we also need to create a new topology using the functions from React Query to actually send a request to the API server.
2021-08-17feat(ui): Add context selectorsFabian Mastenbroek
This change adds context selectors for the OpenDC frontend where the user can select different projects, portfolios or topologies from the context selection bar.
2021-07-22feat(ui): Toggle to Floor Plan on room selectFabian Mastenbroek
2021-07-22feat(ui): Extract topology construction out of SagasFabian Mastenbroek
This change updates the OpenDC frontend to perform the construction of the topology directly in the reducers instead of performing the mutations in Redux Sagas as side effects. This allows us to nicely map actions to mutations in the reducers.
2021-07-22feat(ui): Add table view for topology roomsFabian Mastenbroek
2021-07-22fix(ui): Load correct topology viewFabian Mastenbroek
This change fixes an issue where the only the default topology view would be shown to the user.
2021-07-20refactor(ui): Perform Saga mutations through React QueryFabian Mastenbroek
This change updates the OpenDC frontend to perform mutations of the topology done in Sagas through the React Query cache, so that non-Saga parts of the application also have their topology queries updated.
2021-07-20refactor(ui): Move page components in separate filesFabian Mastenbroek
2021-07-19refactor(ui): Restructure components per pageFabian Mastenbroek
This change updates the source structure of the OpenDC frontend to follow the page structure.
2021-07-19refactor(ui): Encode state in topology actionsFabian Mastenbroek
This change updates the OpenDC frontend to reduce its reliance of global state during the execution of actions. Actions that modify the topology now require parameters to be passed via the action constructor instead of relying on the global interactionLevel state.
2021-07-16refactor(ui): Isolate world coordinate spaceFabian Mastenbroek
This change updates the topology view in the OpenDC frontend to isolate the world coordinate space. This means that zooming and panning should not affect the coordinates in world space (but only in camera space). In turn, this allows us to remove the dependency on Redux for the camera controls.
2021-07-16feat(ui): Support panning of the datacenter topologyFabian Mastenbroek
This change enables support for panning the visualized datacenter topology by using the mouse or holding shortcuts. Previously, this could only be done through repeated key presses.
2021-07-15feat(ui): Migrate to PatternFly 4 design frameworkFabian Mastenbroek
This change is a rewrite of the existing OpenDC frontend in order to migrate to the PatternFly 4 design framework. PatternFly is used by Red Hat for various computing related services such as OpenShift, Red Hat Virtualization and Cockpit. Since their design requirements are very similar to those of OpenDC (modeling computing services), migrating to PatternFly 4 allows us to re-use design choices from these services. See https://www.patternfly.org/v4/ for more information about PatternFly.
2021-07-15fix(ui): Relax topology schema requirementsFabian Mastenbroek
This change fixes an issue where the topology generated by the frontend was not accepted by the API server.
2021-07-15feat(ui): Add initial support for PatternFly 4 frameworkFabian Mastenbroek
This change adds support in our Next.js application for the PatternFly 4 design framework. This framework is built by RedHat and provides several components that are useful for the space in which OpenDC operates.
2021-07-15refactor(ui): Extract OpenDC landing page from web interfaceFabian Mastenbroek
This change extracts the landing page from the web interface in order to separate the development of the two. This allows the landing page to be developed independently of the actual OpenDC web application.
2021-07-08ui: Combine fetching of project relationsFabian Mastenbroek
This change updates the OpenDC frontend to combine the fetching of project relations. This means that for a single project, we make only one additional request to retrieve all its topologies.
2021-07-08ui: Simplify normalization of topologyFabian Mastenbroek
This change updates the OpenDC frontend to use the normalizr library for normalizing the user topology.