summaryrefslogtreecommitdiff
path: root/opendc-web/opendc-web-ui/src/components/app/map
AgeCommit message (Collapse)Author
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-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-08ui: Simplify normalization of topologyFabian Mastenbroek
This change updates the OpenDC frontend to use the normalizr library for normalizing the user topology.
2021-07-08ui: Use React Query defaults to reduce duplicationFabian Mastenbroek
2021-07-07ui: Split App container into separate componentsFabian Mastenbroek
This change splits the App container into separate pages, as a starting point for removing much of the unnecessary state from Redux.
2021-07-05ui: Fix linting errorsFabian Mastenbroek
2021-05-18ui: Migrate to FontAwesome 5 React libraryFabian Mastenbroek
This change updates the frontend to use the FontAwesome 5 React library that renders SVG icons as opposed to CSS icon fonts. This migration resolves a couple of issues we had with server-side rendering of the previous FontAwesome icons.
2021-05-17ui: Restructure OpenDC frontendFabian Mastenbroek
This change updates the structure of the OpenDC frontend in order to improve the maintainability of the frontend.
2021-05-17ui: Address technical dept in frontendFabian Mastenbroek
2021-05-17ui: Migrate from CRA to Next.jsFabian Mastenbroek
This change updates the web frontend to use Next.js instead of Create React App (CRA). Next.js enables the possibility of rendering pages on the server side (which reduces the time to first frame) and overall provides a better development experience. Future commits will try to futher optimize the implementation for Next.js.
2021-05-12ui: Move component styling into CSS modulesFabian Mastenbroek
This change updates the frontend codebase by moving the component styling into CSS module files as opposed to the global styles which we used before. In addition, I have changed the syntax to the newer SCSS syntax, which is more similar to CSS. These changes reduces the styling conflicts that can occur between components and allows us to migrate to systems that do not support importing global styles in components. Moreover, we can benefit from treeshaking using CSS modules.
2021-05-10ui: Do not prevent default on mouse scrollFabian Mastenbroek
This change removes the prevent default from the mouse scroll since Chrome does not allow it anymore.
2021-05-10ui: Do not clutter component tree with Redux connectsFabian Mastenbroek
This change refactors the frontend to use hooks for obtaining state within the Redux store as opposed to using Higher-Order Components (HOCs). This eliminates a lot of clutter in the components.
2021-04-25build: Migrate to flat project structureFabian Mastenbroek
This change updates the project structure to become flattened. Previously, the simulator, frontend and API each lived into their own directory. With this change, all modules of the project live in the top-level directory of the repository. This should improve discoverability of modules of the project.