* Upgrade bootstrap and reactstrap to the latest version
Signed-off-by: Łukasz Mierzwa <[email protected]>
* Add SASS support
node-sass is needed for cra to handle SCSS files instead of pure CSS.
Signed-off-by: Łukasz Mierzwa <[email protected]>
* Add a dark theme
This adds a dark theme and UI controls to switch between themes.
Dark theme will require some CSS changes that will follow in future commits.
Signed-off-by: Łukasz Mierzwa <[email protected]>
* Add a margin to Prometheus brand
There is no space between 'Prometheus' brand text and the toggle button when using mobile device.
This adds a margin to the button that's only rendered on mobile
Signed-off-by: Łukasz Mierzwa <[email protected]>
* Add a dark theme for CollapsibleAlertPanel
Signed-off-by: Łukasz Mierzwa <[email protected]>
* Add a dark theme for RulesContent
Signed-off-by: Łukasz Mierzwa <[email protected]>
* Add a dark theme for Config
Signed-off-by: Łukasz Mierzwa <[email protected]>
* Use bootstrap classes for margins
We can override margins via bootstrap css classes instead of loading custom css module.
Signed-off-by: Łukasz Mierzwa <[email protected]>
* Add a dark theme for QueryStatsView
Signed-off-by: Łukasz Mierzwa <[email protected]>
* Add a dark theme for MetricsExplorer
Signed-off-by: Łukasz Mierzwa <[email protected]>
* Add a dark theme for 'Clear time' button
This button had some custom css based on light bootstrap theme so it needs to be adjusted for dark theme.
This change re-uses bootstrap styles used for input components instead of copying color values
Signed-off-by: Łukasz Mierzwa <[email protected]>
* Add dark theme for Graph panel input
This makes the whole input group look consistent in dark mode as the old styles were made to blend it with the default bootstrap theme.
Signed-off-by: Łukasz Mierzwa <[email protected]>
* Add a dark theme for CME expression input
This change splits current CME theme into 3:
1 - base theme used for both light and dark mode
2 - light mode specific theme that overrides base
3 - dark mode specific theme that overrides base
To make it all work we also need to move theme to dynamic config, so when theme value
in ThemeContext changes CME input will apply a new theme.
Signed-off-by: Łukasz Mierzwa <[email protected]>
* Add a dark theme for /graph page tabs
Signed-off-by: Łukasz Mierzwa <[email protected]>
* Fix metrics explorer modal scroll
bootstrap-dark breaks scrolling on the metrics modal, so we need an extra rule to fix that.
Signed-off-by: Łukasz Mierzwa <[email protected]>
* Move App.css rules to themes/_shared.scss
This completes splitting styles into light and dark theme.
It also fixes some small issues with themes as now all styles from App.css are applied correctly.
Signed-off-by: Łukasz Mierzwa <[email protected]>
* Move html{} styles to a dedicated file
html block is root document so styles for it cannot be nested under theme classes.
Move it out and add a bit of documentation to explain what which file does.
Signed-off-by: Łukasz Mierzwa <[email protected]>
* Fix reboot styles overriding other FontAwesome classes
Both bootstrap themes we use import reboot classes (https://getbootstrap.com/docs/4.6/content/reboot/) which has the side effect of overriding other classes. We need reboot to be applied as defaults for the browser, so it needs to be moved out of theme class selectors. But because reboot requires scss variables we need to feed it something, for that we use the default light theme, so it gets imported there and browser will use style of the default theme to reset default (unthemed) styles.
Signed-off-by: Łukasz Mierzwa <[email protected]>
* Move codicon font to app.scss
This needs to be applied globally, not per theme.
Signed-off-by: Łukasz Mierzwa <[email protected]>
* React UI: Improve styling of autocomplete sections
I removed the Card-related components and went back to normal <ul>/<li>,
since the style that Cards added just got in the way (like adding extra
borders and rounding, etc.), and from the examples at
https://getbootstrap.com/docs/4.3/components/card/, it doesn't seem like
multiple Cards are meant to be used as part of a larger list
(style-wise).
Signed-off-by: Julius Volz <[email protected]>
* Address review feedback
Signed-off-by: Julius Volz <[email protected]>
* make expression input controlled
Signed-off-by: blalov <[email protected]>
* close menu explicitly when autosuggestion dropdown is hidden
Signed-off-by: blalov <[email protected]>
* Initial commit from Create React App
Signed-off-by: Julius Volz <[email protected]>
* Initial Prometheus expression browser code
Signed-off-by: Julius Volz <[email protected]>
* Grpahing, try out echarts
Signed-off-by: Julius Volz <[email protected]>
* Switch to flot
Signed-off-by: Julius Volz <[email protected]>
* Add metrics fetching and stuff
Signed-off-by: Julius Volz <[email protected]>
* Autosuggest and graph improvements
Signed-off-by: Julius Volz <[email protected]>
* Start implementing graph controls, add loading spinner
Signed-off-by: Julius Volz <[email protected]>
* So many new features and fixes
Signed-off-by: Julius Volz <[email protected]>
* Fixed and built more features
Signed-off-by: Julius Volz <[email protected]>
* Make datetimepicker clear work
Signed-off-by: Julius Volz <[email protected]>
* Don't abort when executing empty expression
Signed-off-by: Julius Volz <[email protected]>
* Remove TabPaneAlert
Signed-off-by: Julius Volz <[email protected]>
* Split components into separate files
Signed-off-by: Julius Volz <[email protected]>
* Add table time input
Signed-off-by: Julius Volz <[email protected]>
* Move first files to TypeScript!
Signed-off-by: Julius Volz <[email protected]>
* More TypeScript conversions
Signed-off-by: Julius Volz <[email protected]>
* More TS conversions
Signed-off-by: Julius Volz <[email protected]>
* More TS conversions
Signed-off-by: Julius Volz <[email protected]>
* More TS conversions
Signed-off-by: Julius Volz <[email protected]>
* More TS conversions
Signed-off-by: Julius Volz <[email protected]>
* More TS fixes
Signed-off-by: Julius Volz <[email protected]>
* Convert Graph to TS
Signed-off-by: Julius Volz <[email protected]>
* Changes
Signed-off-by: Julius Volz <[email protected]>
* Resize detector, start building legend, axis font colors
Signed-off-by: Julius Volz <[email protected]>
* Make graph legend work
Signed-off-by: Julius Volz <[email protected]>
* Add URL params support and much more
Signed-off-by: Julius Volz <[email protected]>
* Put panel state into panel list, write URL options
Signed-off-by: Julius Volz <[email protected]>
* Change order of Graph and Table tabs
Signed-off-by: Julius Volz <[email protected]>
* Generalize time input naming more
Signed-off-by: Julius Volz <[email protected]>
* Work on history functionality
Signed-off-by: Julius Volz <[email protected]>
* npm updates
Signed-off-by: Julius Volz <[email protected]>
* Move loading indicator into "Execute" button
Signed-off-by: Julius Volz <[email protected]>
* Fix typo
Signed-off-by: Julius Volz <[email protected]>
* Revert "Move loading indicator into "Execute" button"
This reverts commit ce7daee1f1af35da6c0d8b5517272839285ccfec.
Signed-off-by: Julius Volz <[email protected]>
* Improve error message when failing to fetch server time
Signed-off-by: Julius Volz <[email protected]>
* Move all code to Prometheus repo target dir
Signed-off-by: Julius Volz <[email protected]>
* Add react-app Makefile step and check in generated assets
Signed-off-by: Julius Volz <[email protected]>
* Add preliminary npm packages notice to NOTICE file
Signed-off-by: Julius Volz <[email protected]>
* Update React app's favicon and metadata
Signed-off-by: Julius Volz <[email protected]>
* Remove RP server refs, cleanups
Signed-off-by: Julius Volz <[email protected]>
* Use CircleCI image that includes NodeJS
Signed-off-by: Julius Volz <[email protected]>
* Add some missing React output assets
Signed-off-by: Julius Volz <[email protected]>
* Preserve CRLF in generated React files
Signed-off-by: Julius Volz <[email protected]>
* Switch from npm to yarn for React UI
Signed-off-by: Julius Volz <[email protected]>
* Save npm licenses and include them in release tarball
Signed-off-by: Julius Volz <[email protected]>
* Install npm on Travis
Signed-off-by: Julius Volz <[email protected]>
* Remove npm license tarball from source
Signed-off-by: Julius Volz <[email protected]>
* Remove React graph bundle from source
Signed-off-by: Julius Volz <[email protected]>
* Don't check in any compiled web assets
Signed-off-by: Julius Volz <[email protected]>
* Update README.md with node/yarn/React UI info
Signed-off-by: Julius Volz <[email protected]>
* Fix asset build step on CircleCI promu crossbuild
Signed-off-by: Julius Volz <[email protected]>
* Try to fix multi-arch go generate
Signed-off-by: Julius Volz <[email protected]>
* Remove check_assets from Travis CI build
Signed-off-by: Julius Volz <[email protected]>
* Prevent rebuilding of unchanged React app parts
Signed-off-by: Julius Volz <[email protected]>
* Fix npm license tarball path for promu
Signed-off-by: Julius Volz <[email protected]>
* Simplify Makefile
Signed-off-by: Julius Volz <[email protected]>
* Clarify build instructions in README.md
Signed-off-by: Julius Volz <[email protected]>
* Make minimal JS test pass
Signed-off-by: Julius Volz <[email protected]>
* Integrate React app tests into Makefile
Signed-off-by: Julius Volz <[email protected]>
* Separate react-app-tests target, but run it from CI
Signed-off-by: Julius Volz <[email protected]>
* Fix working directory for React app tests
Signed-off-by: Julius Volz <[email protected]>
* Remove local modifications to Makefile.common
This means that CircleCI will not run the React app tests, but at least
Travis still will...
Signed-off-by: Julius Volz <[email protected]>
* Depend on node_modules path for npm_licenses target
Signed-off-by: Julius Volz <[email protected]>
* Simplify tarball/docker/build Makefile targets
Signed-off-by: Julius Volz <[email protected]>
* Include React tests in "test" target
Signed-off-by: Julius Volz <[email protected]>
* Remove reference to removed "check_assets" target
Signed-off-by: Julius Volz <[email protected]>
* Do initial resize of expression input field
Signed-off-by: Julius Volz <[email protected]>
* Add React app proxying to local Prometheus in dev mode
Signed-off-by: Julius Volz <[email protected]>