* Adding new svg for back arrow button
* Created new back button component
* same stroke width
* minor fix
* Style changes
* hover animation
* Minor tweak
* Add new form and functionality
* Add new files
* Connect to Redux and add navigation stuff
* Add required login/name
* Remove import
* Fix feedback
* Replace direct button spacing with HorizontalGroup
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
* Start Angular migration
* Add SignupCtrl
* Change name signup
* Add backend call
* Put form in separate file
* Add form model
* Start using react-hook-forms
* Add FormModel to state
* Reduxify
* Connect nav with Redux
* Fix routing and navModel
* Fetch state options on mount
* Add default values and add button margin
* Add errror messages
* Fix title
* Remove files and cleanup
* Add Signup tests
* Add boot config assingnAutoOrg and verifyEmailEnabled
* Remove onmount call
* Remove ctrl and move everything to SignupForm
* Make routeParams optional for testing
* Remove name if it is empty
* Set username
* Make function component
* Fix subpath issues and add link button
* Move redux to SignupPage
* initial wip
* Progress on new threshold design
* Testing radio button group for mode option
* Starting to come together
* Fixed percent mode
* Full width radio groups
* Minor tweaks, cursor to trash icon and hover state
* fixed unit tests
* Fixed storybook
* re-ordering fields
* Updated snapshot
* Make it consistent, add vs create
* first things
* rename
* add stats, remove table related changes
* header size and expand icon
* add case for nan request time
* fixing null checks
* reverting changes to table
* fix background on header
* Some small fixes after review
* do not use formInputBg
* test apply
* test apply
* Move standard field config editor registry to grafana-data
* merge master
* Apply field config defaults
* Make field and dataFrameIndex optional on on FieldOverrideContext
* Apply custom field config overrides
* Gauge - make sure thresholds are set
* Move series and field scoped vars calculation
* Enable template variables interpolation in title fields
* Expose standars field configs from grafana ui via function
* Add missing option to the config for the min value to be derived from field values
* Fix ts issue
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
* PanelEdit: Fixed timing and state related issues
* Added unit test and changed some logic
* Fixed id logic
* Updated snapshots
* Update public/app/features/dashboard/state/PanelModel.ts
Co-Authored-By: Dominik Prokop <dominik.prokop@grafana.com>
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
* Angular/React: Migrates FolderPicker from angular to react
* move to core
* snap
* minor changes
* more removes
* Managing creating new and saving in movetofolderctrl
* Do not use new forms.field, fix select menu
* FolderPicker responsible to creating new folder
* create new as prop
* snap
* remove unnecessary things
* remove console log
* snap
* fix null checks
* add search debouncing
* set folder to state, null check
* typing folder
* adding case for loadOptions
* snap
Co-authored-by: Peter Holmberg <peterholmberg@users.noreply.github.com>
* Annotations: Makes various annotation and alert calls cancelable
Fixes#21943
* Refactor: Uses backendSrv.get method with requestId instead
* Update public/app/features/annotations/annotations_srv.ts
Co-Authored-By: Marcus Efraimsson <marcus.efraimsson@gmail.com>
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
* Move data links suggestions to grafana-data
* Data links - field config and overrides
* Lint
* Fix test
* Add variable suggestions to field override context
* Revert "Move data links suggestions to grafana-data"
This reverts commit 5d8d01a65e.
* Move FieldConfigEditor to core
* Assure base url when single stat, panel and data links are built
* Update public/app/features/dashboard/dashgrid/PanelHeader/PanelHeaderCorner.tsx
* Update public/app/features/panel/panellinks/link_srv.ts
* Update public/app/features/panel/panellinks/link_srv.ts
* Update public/app/features/panel/panellinks/link_srv.ts
* Update public/app/features/panel/panellinks/link_srv.ts
* Review updates
* Remove unnecessary code
* Add title editor
* Wip
* FIeld config overrides UI (v1)
* Basic property override editors
* name to prop
* use prop not path
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
* WIP: Angular panel chrome, this is going to be tricky
* AngularPanelChrome: initial render works
* Options are showing up
* viz options working
* Fixed singlestat background
* AngularPanels: Fixed alert tab
* Removed anuglar loading spinner
* Dashboard: Refactor dashboard reducer & actions
* Dashboard: minor refactoring
* PanelChrome: loading state moved to header
* Subscribe to render events to solve title update issue
* Time info and query errors now works
* PanelHeader: unifying angular and react behavior
* added getPanelMenu test
* Scrollable now works again
* Various fixes
* Making stuff work
* seperate event emitter for angular
* Fixed issue sending updated dimensions to angular panel
* Minor tweaks
* Fixed tests
* Alerting: alert state now works
* Fixed unit tests
* Fixed a few null check errors
* Simplified events handling
* Fixed strict null checks
* initial POC
* fix import
* field config editor in the sidebar
* field config editor in the sidebar
* field config editor in the sidebar
* sidebar
* include threshold in sidebar
* include threshold in sidebar
* include threshold in sidebar
* init to empty threshold
* merge
* Make sure editor is fully rendered when page is refreshed
* use scrollbars
* add matcher UI folder
* remove
* Field options basic editors
* Removed deebugger
* Make number field editor controlled
* Update public/app/features/dashboard/state/PanelModel.ts
* Update public/app/plugins/panel/gauge/GaugePanel.tsx
* Ready for production
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
* Alphabetized tslint and tsconfig files
* Optimized tsconfig files
* Optimized editorconfig & prettier config files
… to reduce redundancy
* Switched to @grafana/tsconfig
… and:
* de-duped options
* removed options with default values
* Fixed nasty issue with types for nested slate-react
* Replaced TSLint with ESLint
* TSLint disables → ESLint disables
… also JSHint removals, which haven’t had an affect since it was replaced with TSLint.
* Compliances for ESLint, Prettier and TypeScript
* Updated lockfile
* First attempt
* Save confirmation with discard option, reusing queriess a little bit differently
* simplify cloning panels and restoring last results in panel query runner
* Remove save button
* Update public/app/features/dashboard/components/PanelEditor/PanelEditor.tsx
* Exit/discard buttons
* Update snaps
* Review comments
* Fix lint
* Explore: updates grafana-data explore query field props with explore mode
* Explore: updates query row to pass down explore mode to query fields
* Explore: adds LokiExploreQueryEditor
* Explore: updates loki query field form to render children
* Explore: adds loki explore extra field component
* Explore: adds extra field element to loki query field form
* Explore: updates loki explore query editor to use extra field element
* Explore: moves ExploreMode to grafana-data
* Explore: updates query row limit string
* Explore: adds maxLines to DataQuery
* Explore: adds maxLines to loki datasource runRangeQueryWithFallback
* Explore: adds onChangeQueryLimit to LokiExploreQueryEditor
* Explore: updates loki explore query editor to render extra field only in logs mode
* Explore: fixes query limits for live and legacy queries
* Explore: fixes result processor max lines limit in get logs result
* Explore: fixes Loki datasource limit test
* Explore: removes unnecessary ExploreMode from Loki language provider
* Explore: fixes formatting
* Explore: updates grafana-data datasource types - replaces strings with explore mode enum
* Explore: updates loki explore query field props to take ReactNode
* Explore: updates the way we calculate loki query lines limit to fall back to 0 lines on negative or invalid input instead of datasource maxLines
* Explore: updates result processor get logs result method to avoid counting invalid/negative line limits
* Explore: updates loki result transformer to process only an appropriate slice of a result instead of an entire one
* Explore: adds a method for query limit preprocessing/mapping
* Explore: updates loki datasource run range query with fallback method to use options.maxDataPoints in dashboards
* Explore: removes unnecessary maxlineslimt from getLogsResult in resultProcessor
* Explore: moves line limit to metadata
* Explore: adds an ability to specify input type of extra field
* Explore: updates LokiExploreQueryEditor - adds an input type
* Explore: updates LokiExploreQueryEditor to run queries when maxLines is positive
* Explore: fixes failing import of ExploreMode
* Explore: fixes reducers test imports formatting
* Explore: updates Loki extra field with min value set to 0
* Explore: exports LokiExploreExtraFieldProps
* Explore: adds render test of LokiExploreQueryEditor
* Explore: adds LokiExploreQueryEditor snapshot
* Explore: updates LokiExploreQueryEditor onChangeQueryLimit method to prevent it from running when query input is empty - fixes cheatsheet display issue
* Explore: updates Loki editor snapshots
* Explore: fixes typo in test set name in LokiExploreQueryEditor
* Explore: adds a render test of LokiExploreExtraField
* Explore: fixes typo in LokiExploreQueryEditor
* Explore: updates LokiExploreQueryEditor snapshot due to timezone issues
* Explore: updates LokiExploreExtraField to export both functional component and a version using memo
* Explore: updates LokiExploreQueryEditor to export both functional component and memoized function
* Explore: updates LokiExploreQueryEditor - removes unnecessary react fragment
* Explore: updates LokiExploreQueryEditor snapshot
* Explore: adds LokiExploreQueryEditor tests for different explore mode cases
* Explore: fixes Loki datasource and result transformer
* Explore: updates LokiExploreQueryEditor snapshot
* Explore: updates LokiExploreQueryEditor tests and test setup
* Explore: updates LokiExploreQueryEditor - refactors component
* Explore: updates LokiExploreQueryEditor to use default import from LokiExploreExtraField
* Explore: updates LokiExploreQueryEditor snapshot
* Explore: fixes formatting
* Explore: updates LokiExploreQueryEditor max lines change
* Explore: updates LokiExploreQueryEditor tests checking ExtraFieldElement
* Explore: adds mock loki datasource to LokiExploreQueryEditor
* Explore: updates LokiExploreQueryEditor test mock - adds language provider
* Explore: updates LokiExploreQueryEditor snapshot
* Explore: updates Loki ResultTransformer to filter out rows on limit - logic to be moved into a component with new form styles
* Explore: updates LokiExploreQueryEditor tests
* DatasourceEditor: Add UI to edit custom HTTP headers
Support for custom headers was added in #11643 but was missing in the UI.
Fixes#12779
* Review
* Layout updates
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
* Add new global built-in variables #20523
new branch from master
* #20523 Revert change on __from and __to like requested
* #20523 simplify contextSrv access
* #20523 simplify contextSrv access
* #20523 repair jest tests
* add error tab
* conditional tabs
* feedback from review
* expose lastResult via function
* remove todo and weird char
* fixing overflow states and height of tabcontent
* style fixes
* more changes to scroll handling
* fixing null checks
* Change drawer content padding
* Add scroll in the story
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
* BackendSrv: Adds status, headers, statusText, redirect, type and url back to response
Fixes#21662
* BackendSrv: Adds request object back to datasourceRequest response
Fixes#21662
* Create basic react page for AdminUserCreate
* Forms.Field - render asterisk when field is marked as required
* Add validation to user create form wih react-hook-form
* Remove Angular code for UserCreatePage
* Remove commented route for admin settings
* Remove unused import
* Hide react-hooks-form behind Form component
* Fix webkit autofill
* Webkit autofill on inpiuts - bring back focus shadow
* Temporarily fix story (before 21635 is merged)
* Form: docs and minor updates to new form elements (#21635)
* Allow Switch, checkbox to be uncontrolled, forward refs, styles update
* Add Form docs
* User create page update
* Remove unused import
* Apply review notes
* Chore: Remove angular dependency from backendSrv
* Refactor: Naive soultion for logging out unauthorized users
* Refactor: Restructures to different streams
* Refactor: Restructures datasourceRequest
* Refactor: Flipped back if statement
* Refactor: Extracted getFromFetchStream
* Refactor: Extracts toFailureStream operation
* Refactor: Fixes issue when options.params contains arrays
* Refactor: Fixes broken test (but we need a lot more)
* Refactor: Adds explaining comments
* Refactor: Adds latest RxJs version so cancellations work
* Refactor: Cleans up the takeUntil code
* Refactor: Adds tests for request function
* Refactor: Separates into smaller functions
* Refactor: Adds last error tests
* Started to changed so we require getBackendSrv from the @grafana-runtime when applicable.
* Using the getBackendSrv from @grafana/runtime.
* Changed so we use the getBackendSrv from the @grafana-runtime when possible.
* Fixed so Server Admin -> Orgs works again.
* Removed unused dependency.
* Fixed digest issues on the Server Admin -> Users page.
* Fix: Fixes digest problems in Playlists
* Fix: Fixes digest issues in VersionHistory
* Tests: Fixes broken tests
* Fix: Fixes digest issues in Alerting => Notification channels
* Fixed digest issues on the Intive page.
* Fixed so we run digest after password reset email sent.
* Fixed digest issue when trying to sign up account.
* Fixed so the Server Admin -> Edit Org works with backendSrv
* Fixed so Server Admin -> Users works with backend srv.
* Fixed digest issues in Server Admin -> Orgs
* Fix: Fixes digest issues in DashList plugin
* Fixed digest issues on Server Admin -> users.
* Fix: Fixes digest issues with Snapshots
* Fixed digest issue when deleting a user.
* Fix: Fixes digest issues with dashLink
* Chore: Changes RxJs version to 6.5.4 which includes the same cancellation fix
* Fix: Fixes digest issue when toggling folder in manage dashboards
* Fix: Fixes bug in executeInOrder
* Fix: Fixes digest issue with CreateFolderCtrl and FolderDashboardsCtrl
* Fix: Fixes tslint error in test
* Refactor: Changes default behaviour for emitted messages as before migration
* Fix: Fixes various digest issues when saving, starring or deleting dashboards
* Fix: Fixes digest issues with FolderPickerCtrl
* Fixed digest issue.
* Fixed digest issues.
* Fixed issues with angular digest.
* Removed the this.digest pattern.
Co-authored-by: Hugo Häggmark <hugo.haggmark@gmail.com>
Co-authored-by: Marcus Andersson <systemvetaren@gmail.com>
* wrap content in autosizer
* replace lib
* removing react-virtualized, correct type in editor.ts
* remove caret
* remove dep from grafana/ui and remove story util
* add common backend
* use const for range
* likely not differnt
* send the right orgId
* Add DataSourceWithBackend to @grafana/runtime mock in root reducer test
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
* add min_interval_seconds setting to alerting config
It will let operator enforce a minimum time for the scheduler to enqueue evaluations
* Introduce UI modifications
* Update docs
Co-authored-by: Martin <uepoch@users.noreply.github.com>
* create tabs component
* replace tabs in pageheader
* splitting two different types of tabitems
* fix index and conditionals in tabs
* redo tabs to not render anchor links
* rename to className and use cx to combine classes
* reverting back to a simpler use case
* moving type to types file
* fix import
* redoing Tabs to simpler composition components
* pr feedback
* update snapshot
* use icon component, added knob for storybook
* Added text align option to column styles, tests
* table panel migrations
* added tests
* default column style is now auto
* tests and fixtures...
* wrong comments need removing
* xss guard
* test
* Some test for invalid options, formatting.
* Remote branch tracking.
* Footer: Single footer implementation for both react & angular pages
* Export type
* Updates
* Use footer links in help menu
* Updates & Fixes
* Updated snapshot
* updated snapshot
* Loki: fix filter expression suggestions
- dont suggest term completion items in filter expression
- allow at least one character before suggesting term items
- keep logql expression when switching between Metrics/Logs mode
- show only history by default in completion items
* Clear results when changing mode
Closes#19598
Fixes bug introduced recently where the new PromQueryEditor did not preserve
the PromContext.Explore set on the query model by PromQueryField which caused
the table to be empty for Prometheus in explore.
* Pagerduty notifier: configurable severity
Instead of hardcoding `critical` make it configurable per notification channel instance.
* fix html
* Add a test to ensure default severity is correct
* Notifications doc
* Add a non-default test
* Add err check on NewJson (all tests)
* Add default severity (critical) to AlertNotificationEditCtrl class
* Table: Set & use field display processor
* Use applyFieldOverrides outside in story instead
* Change types a bit
* Table: Move to flexible layout
* Simplest possible custom field option
* Skip default column
* Added textAlign
* Explore: Set display processor for table data frame
* Fixed storybook
* Refactoring
* Progress on cell display mode
* Major progress
* Progress & refactoring
* Fixes
* Updated tests
* Added more tests
* Table: Progress on cell style customization
* Restored testdata random walk table scenario
* put back unrelated change
* remove unused things
* Updated table story
* Renamed property
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
* Dashboard: started to implement new time picker.
* TimePicker: working in full screen (except calendar).
* TimePicker: first draft on narrow screen variant.
* TimePicker: small adjustments to the narrow design.
* TimePicker: enabled range selection and started to style calendar.
* TimePicker: applied some more styling.
* Calendar: added so the calendar range selection is styled properly.
* Calendar: added styling for timepicker calendar in narrow screen.
* TimePicker: made it possible to select range from calendar.
* TimePicker: made the calendar have previous selected value.
* TimePicker: moved calendar to be able to update form state.
* TimePicker: calendar is now displayed onFocus or onClick.
* TimePicker: calendar will be closed if click outside input.
* Calendar: fixed the styling of the calendar in narrow screen.
* Calendar: made it work properly with narrow screen.
* TimePicker: connected recent to absolute time range.
* TimePicker: changed the label on recent ranges.
* TimePicker: cleaned up the range list and options.
* TimePicker: some more cleaning up.
* TimePicker: cleaned up the calendar a bit.
* TimePicker: some more refactorings.
* TimePicker: refactorings.
* TimePicker: styled modal properly.
* TimePicker: empty recent list.
* TimePicker: width when calendar in full screen.
* TimePicker: will validate input value.
* TimePicker: removed unused code.
* TimePicker: positioning with emotion instead of sass.
* Calendar: Made sure we send the dates in the correct order to the calendar.
* TimePicker: fixed theme.
* TimePicker: fixed positioning of the content.
* TimePicker: positioning of narrow.
* TimePicker: added some simple tets.
* TimePicker: fixed issue with invalid and added error message.
* TimePicker: added history.
* TimePicker: cleaned up snapshot data.
* TimePicker: fixed so we keep the quick values in the input.
* TimePicker: fixed the missing styling on UTC.
* TimePicker: added missing caret icon.
* TimePicker: fixed formatting on recent time ranges.
* TimePicker: added missing -.
* TimePicker: refactorings after feedback.
* TimePicker: renamed reserved prop name.
* TimePicker: added missing onChange call.
* TimePicker: removed alternative return type.
* TimePicker: fixed the sorting order on the recent list.
* TimePicker: added useCallback for the onEvent functions.
* TimePicker: moving away from default export.
* TimePicker: used the isMathString instead of private function.
* TimePicker: minor refactoring simplify the code.
* TimePicker: Added empty container that will expand when less then 4 recent searches.
* TimePicker: changed the top to be absolute relative to the container.
* TimePicker: updated snapshots for failing tests.
* Fixed shadow
* Move it down a bit
* added some more tests.
* Fixed so we change the anchor point of the time picker in really small screens.
* removed memo.
* fixed snapshot.
* Make sure that we always use the correct timeZone when formatting output.
* Fixed form background.
* Some minor fixes after demo.
* Making sure that empty info box is centered.
* updated snapshots for timepicker after css changes.
* fixed so we don't overflow when input validation error.
* adjusted final things on the time picker.
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
* first working example
* Support sorting, adding types while waiting for official ones
* using react-window for windowing
* styles via emotion
* sizing
* set an offset for the table
* change table export
* fixing table cell widths
* Explore: Use new table component in explore (#21031)
* Explore: Use new table component in explore
* enable oncellclick
* only let filterable columns be clickable, refactor renderrow
* remove explore table
* Keep using old merge tables logic
* prettier
* remove unused typings file
* fixing tests
* Fixed explore table issue
* NewTable: Updated styles
* Fixed unit test
* Updated TableModel
* Minor update to explore table height
* typing
* Refactor: Adds params to visit
* Refactor: Restructures exported Pages somewhat
* Refactor: Moves more into new framework but holdup because of bugs in digest
* Refactor: Finish migrating templating e2e tests to new framework
* Refactor: Changes after merge with master
* Refactor: Removes weird change
* Refactor: Adds duplication test
* Refactor: Adds move down and move up variable asserts
* Refactor: Adds some test to value select dropdown
* UI: ConfirmButton component
* UI: add link button variant
* UI: add ConfirmButton story with delete option
* Chore: use ConfirmButton instead of DeleteButton
* UI: remove DeleteButton
* UI: rename confirmButtonVariant to confirmVariant
* UI: use Form.Button in ConfirmButton
* Chore: use sm ConfirmButton size after changing defaults
* Revert "UI: add link button variant"
This reverts commit 4372350daa.
* Chore: add 'link' variant type to the Button
* UI: DeleteButton component on top of ConfirmButton
* Chore: use DeleteButton instead of ConfirmButton
* Chore: DeleteButton, use md size by default
* Chore: update test snapshots
* Logs: Optional logs label column
- reintroduces label column that was removed when log details were
introduced
- added to explore and also as a new option to logs panel
- explore column settings now stored in localstorage
- labels are rendered with font size xs
- labels that start with `_` or are called `level` or `filename` are not
displayed
- removed click handlers and moved remaining `LogLabel` logic into `LogLabels`
* Added prop to satisfy interface
* Review feedback
* removed comment
* Changed label of label column switch
* UI: ConfirmModal component based on Modal
* UI: refactor ConfirmModal after Modal changes
* UI: use Icon component for Modal
* UI: ConfirmModal tests
* UI: ConfirmModal story
* Chore/Tech debt: Remove (most) instances of $q angular service use
Removes instances where the angular $q service is used and replaces
it with native Promises.
* Panels: Added support to set panel padding to zero
* WIP: fullChromeControl work
* Tweaks to header position
* Reverted some overlay mechanic and now back to no title only
* Fixed test
* Fixed transparent flag
* Added show title
* Added font weight to value
* Reverted back to no padding option
* Fixed issue with border and width and height
* refactor to multiple rows
* added name for org user struct
* added name getorgusers
* added user name to tableview
* made test pass
* updated userMocks to user name field
* added missing UsersTable snapshot
* added name on teammembers page, be able to search query for name, login and email
* added the updated snapshots
* conform to same sorting as output form
* conform to previous way of using it
* sort first by login and after by email, as it was before
* Grafana/Loki: Adds support for new Loki endpoints and metrics
* Adds `/loki/` prefix to new loki endpoints and updates response interfaces
* Improved legacy support
* Removed changes related to plugin.json and added Loki-specific hacks
* Fixes live streaming for legacy loki datasources
* Panel: fix the default value of thresholds cannot be modified in Gauge panel
* Panel: fix the default value of thresholds cannot be modified in Gauge panel
The arching goal of this commit is to enable single user
synchronisation with LDAP. Also, it included minor fixes of style,
error messages and minor bug fixing.
The changes are:
- bug: The `multildap` package has its own errors when the user is
not found. We fixed the conditional branch on this error by asserting
on the `multildap` errors as opposed to the `ldap` one
- bug: The previous interface usage of `RevokeAllUserTokens` did not
work as expected. This replaces the manual injection of the service by
leveraging the service injected as part of the `server` struct.
- chore: Better error messages around not finding the user in LDAP.
- fix: Enable the single sync button and disable it when we receive an
error from LDAP. Please note, that you can enable it by dispatching
the error. This allows you to try again without having to reload the
page.
- fix: Move the sync info to the top, then move the sync button above
that information and clearfix to have more harmony with the UI.