* Styles: Refactoring and tweaks to inline form styles
* Minor change
* Minor fix
* Updated snapshot
* tweaks
* minor tweak
* Updated modal style
* Updated snapshot
* Updated more snapshots
* IconButton: New component to share pointer, size & hover style for icon buttons
* Progress
* IconButton: new component
* Think I am done
* Updated snapshots
* Do not like the black button reverting that, and not the plus-circle changed to plus
* fixed test
* fixed e2e test
* Fixed ts issue
* Use single registry for transformations
* Fix transformations tests
* Added documentation comments and minor refactor
* Added documentation comments and minor refactor
Minor misunderstanding between me and Typescript. We should be good friends back now.
* Fix registry import
* Do not use pointer cursor on icon by default
* Allow items alignment in the HorizontalGroup layout
* Add util for rendering components based on their type (element or function)
* Components for rendering query and transformation rows in a unified way
* Apply new UI fo query and transformation rows
* Add some tests
* Minor fix for scroll area
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
* First bar gauge panel option
* Update doc comments
* Minor changes
* progress
* Minor type updates
* Fixing typing errors
* Fix that TS!
* Bring satisfaction to that beast called typescript
* Prototype
* Remove import
* Experimenting with different named categories
* Experimenting with category naming
* Naming is very hard
* merge master
* Remove commented code
* Fix merge
* Categorise panel options into collapsible sections
* Remove categories from table panel
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
* Remove deprecated setDefault usages
* Add simple support for conditinal field config properties
* Use new API in NewsPanel
* Update tests
* Fix check
* Part1: Unicons implementation (#23197)
* Create a new Icon component
* Update icons in main sidebar
* Update icons in Useful links and in react components on main site
* Update icons in Useful links and in main top navigation
* Adjust sizing
* Update panel navigation and timepicker
* Update icons in Panel menu
* NewPanelEditor: Fixed so that test alert rule works in new edit mode (#23179)
* Update icons in add panel widget
* Resolve merge conflict
* Fix part of the test errors and type errors
* Fix storybook errors
* Update getAvailableIcons import in storybook knobs
* Fix import path
* Fix SyntaxError: Cannot use import statement outside a module in test environment error
* Remove dynamic imports
* Remove types as using @ts-ignore
* Update snapshot test
* Add @iconscout/react-unicons to the shouldExclude list as it is blundled with es2015 syntax
* Remove color prop from icon, remove color implemetation in mono icons
* Update navbar styling
* Move toPascalCase to utils/string
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
* Resolve type errors resulted from merge
* Part2: Unicons implementation (#23266)
* Create a new Icon component
* Update icons in main sidebar
* Update icons in Useful links and in react components on main site
* Update icons in Useful links and in main top navigation
* Adjust sizing
* Update panel navigation and timepicker
* Update icons in Panel menu
* Update icons in add panel widget
* Resolve merge conflict
* Fix part of the test errors and type errors
* Fix storybook errors
* Update getAvailableIcons import in storybook knobs
* Fix import path
* Fix SyntaxError: Cannot use import statement outside a module in test environment error
* Remove dynamic imports
* Remove types as using @ts-ignore
* Update snapshot test
* Add @iconscout/react-unicons to the shouldExclude list as it is blundled with es2015 syntax
* Implment icons in Tabs
* Implement icons in search items and empty list
* Update buttons
* Update button-related snapshot tests
* Update icons in modals and page headers
* Create anfular wrapper and update all icons on search screen
* Update sizing, remove colors, update snapshot tests
* Remove color prop from icon, remove color implemetation in mono icons
* Remove color props from monochrome icons
* Complete update of icons for search screen
* Update icons for infor tooltips, playlist, permissions
* Support temporarly font awesome icons used in enterprise grafana
* Part1: Unicons implementation (#23197)
* Create a new Icon component
* Update icons in main sidebar
* Update icons in Useful links and in react components on main site
* Update icons in Useful links and in main top navigation
* Adjust sizing
* Update panel navigation and timepicker
* Update icons in Panel menu
* NewPanelEditor: Fixed so that test alert rule works in new edit mode (#23179)
* Update icons in add panel widget
* Resolve merge conflict
* Fix part of the test errors and type errors
* Fix storybook errors
* Update getAvailableIcons import in storybook knobs
* Fix import path
* Fix SyntaxError: Cannot use import statement outside a module in test environment error
* Remove dynamic imports
* Remove types as using @ts-ignore
* Update snapshot test
* Add @iconscout/react-unicons to the shouldExclude list as it is blundled with es2015 syntax
* Remove color prop from icon, remove color implemetation in mono icons
* Update navbar styling
* Move toPascalCase to utils/string
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
* Icons update
* Add optional chaining to for isFontAwesome variable
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
* Part3: Unicons implementation (#23356)
* Create a new Icon component
* Update icons in main sidebar
* Update icons in Useful links and in react components on main site
* Update icons in Useful links and in main top navigation
* Adjust sizing
* Update panel navigation and timepicker
* Update icons in Panel menu
* Update icons in add panel widget
* Resolve merge conflict
* Fix part of the test errors and type errors
* Fix storybook errors
* Update getAvailableIcons import in storybook knobs
* Fix import path
* Fix SyntaxError: Cannot use import statement outside a module in test environment error
* Remove dynamic imports
* Remove types as using @ts-ignore
* Update snapshot test
* Add @iconscout/react-unicons to the shouldExclude list as it is blundled with es2015 syntax
* Implment icons in Tabs
* Implement icons in search items and empty list
* Update buttons
* Update button-related snapshot tests
* Update icons in modals and page headers
* Create anfular wrapper and update all icons on search screen
* Update sizing, remove colors, update snapshot tests
* Remove color prop from icon, remove color implemetation in mono icons
* Remove color props from monochrome icons
* Complete update of icons for search screen
* Update icons for infor tooltips, playlist, permissions
* Support temporarly font awesome icons used in enterprise grafana
* Part1: Unicons implementation (#23197)
* Create a new Icon component
* Update icons in main sidebar
* Update icons in Useful links and in react components on main site
* Update icons in Useful links and in main top navigation
* Adjust sizing
* Update panel navigation and timepicker
* Update icons in Panel menu
* NewPanelEditor: Fixed so that test alert rule works in new edit mode (#23179)
* Update icons in add panel widget
* Resolve merge conflict
* Fix part of the test errors and type errors
* Fix storybook errors
* Update getAvailableIcons import in storybook knobs
* Fix import path
* Fix SyntaxError: Cannot use import statement outside a module in test environment error
* Remove dynamic imports
* Remove types as using @ts-ignore
* Update snapshot test
* Add @iconscout/react-unicons to the shouldExclude list as it is blundled with es2015 syntax
* Remove color prop from icon, remove color implemetation in mono icons
* Update navbar styling
* Move toPascalCase to utils/string
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
* Update icons in Explore
* Update icons in alerting
* Update + and x buttons
* Update icons in configurations and settings
* Update close icons
* Update icons in rich history
* Update alert messages
* Add optional chaining to for isFontAwesome variable
* Remove icon mock, set up jest.config
* Fix navbar plus icon
* Fir enable-bacground to enableBackgournd
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
* Merge remote branch origin master to icons-unicons
* Revert "Merge remote branch origin master to icons-unicons"
This reverts commit 3f25d50a39.
* Size-up dashnav icons
* Fix alerting icons, panel headers, update tests
* Fix typecheck error
* Adjustments - add panel icon, spacing
* Set TerserPlugin sourceMap to false to prevent running out of memory when publishing storybook
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
* Set field config defaults based on config registry
* Rename FIeldPropertyEditorItem to FieldConfigPopertyItem
* Remove console.log
* Simplify overrides persistence model and add support for nested properties in overrides
* Review updates
* Added draft on transformers to sort and hide fields.
* added structure for the UI.
* draft on sorting/filtering UI.
* simplified the datastructure a bit.
* added draft on drag and drop support.
* added some super simple styling. Nothing final still waiting for a proper design on this.
* updated lockfile after merge.
* changed so we use the new path for button.
* added one more test.
* Ignore feature toggle
* Moved editor to app
* Added top description
* Minor update
* Did some renaming and simplified the code a bit.
* fixed so we dont use capital naming on the transformer.
* changed to an vertical drag and drop design.
* added support to rename fields.
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
* FieldConfig: Unifying standard and custom registry
* Adding path to option items to make id be prefixed for custom options
* Code updates progress
* Add docs back
* Fix TS
* ld overrides tests from ui to data
* Refactor - rename
* Gauge and table cleanup
* F-I-X e2e
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
* Theme: Updates old gf-form-styles
* Removed margin buttom
* updated
* updated
* This will take some time
* More style tweaks to both light and dark theme
* Minor change
* Tweaked table styles
* use dropdown
* keep padding the same
* keep padding the same
* Refactoring and moving to components
* Updated
* Alt names
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
* Variables: turns on newVariables as default
* Chore: adds default templating state
* Some small refactorings to get the template_srv tests to get green when toggle is enabled by default.
* Refactor: adds getVariables dependency to DashboardModel
* Tests: fixes StackDriver tests
* Tests: updates snapshots
* Tests: updates snapshot for DashboardGrid.test.tsx
* Tests: fixes DashboardModel.test.ts
* fixed initDashboard tests.
* renamed variable.
* changed so we use the templating.list when running the migration work.
* changed so we always returns the variables in sorted order.
* Tests: fixed cloudwatch tests
* added so we set the global template variable props.
* Fixed tests and added moved logic to complete templateSrv variables.
* removed unneccesary updateIndex.
Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
* Export other components as Legacy
* More Select Legacy
* Add namespacing to more files
* Export new elements
* Move Legacy Select folder
* Let's not forget the scss file
* Move new Select folder
* Move new Select from Forms namespace
* Little oopsie
* Fix errors
* Fix merge issues
* Fixed issue with multi value.
* Made some refactorings after feedback from Torkel and Hugo.
* minor refactorings.
* changed so we don't make the current value to array if multi is false.
* added snapshot to contain v23.
* Fixed so we always use the correct type when setting value for multi/non-multi.
* added some more tests.
* added tests.
* some small adjustments after feedback
* Add "some" typesafety to panel options/field config APIs
* Allow selected common field config properties config, allow option defaults config via fluent API
* Update packages/grafana-data/src/panel/PanelPlugin.ts
Co-Authored-By: Ryan McKinley <ryantxu@gmail.com>
* Add defaults support for custom field config
* Enable defaults setting for standard and custom field configs
* Remove setFieldConfigDefaults from PanelPlugin API and replace it with useStandardFieldConfig
* Update API for standard field config defaults
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
* StatPanels: Refactoring DisplayValueOptions and renaming
* added return
* Progress
* Updated
* Made radio groups full width by default in panel options
* Fixed ts issue
* Updated
* Added remaining options
* Removed unused type
* Updated snapshot
* Renamed to ReduceDataOptions
* First bar gauge panel option
* Update doc comments
* Minor changes
* progress
* Fixing typing errors
* Minor type updates
* Fix that TS!
* Bring satisfaction to that beast called typescript
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
* Registry of standard option editors
* Move override processors to grafana data
* API for declaratively creating field config/panel options
* Enable declarative API in PanelPlugin for options and field config
* Use new api in react table panel
* Add color and unit picker to option registries
* Add some docs and tests
* Fix tests
* BackendSrv: Added config to response
* QueryInspector: Removing config from showing up
* Replace config with request and make it be the unmodified params sent in
* Theme: Updates the theme to align panel & page background colors
* Updated dashboard settings view to be similar to new panel edit
* Updated themes
* Added shadow
* Updates generated files
* Minor fix to inspect drawer
* Clean up old dashboard setttings stuff
* Polish to search
* Updated truth image
* Minor tweaks to dropdown menu
* Updates and alignments between inspect drawer and explore rich history
* removed unused variables
* Minor tweak to light page header bg
* Refactor value mappings UI to work better with new panel edit
* TS fix
* Experimenting with tabs in the sidebar
* Small refactor and added Panel general settings
* Merge fixes
* fix fieldOptions being used instead of fieldConfig
* Added icons to tabs (testing)
* Only 3 tabs i think, panel specific options need ot exist in first tab, some style tweaks
* Moved title and no value up
* Updated
* Render panel options in Options tab and add old options styles hack to display those vertically
* Basic settings to Panel settings
* Make nullcheck pass
* Snaps bump
* Fix standard configs not update
* Organise sidebar better, add tmp NewPanelEditorContext to hide duplicate legacy options
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
* Apply field overrides in PanelChrome
* Move applyFieldOverrides to panel query runner
* Review updates
* Make sure overrides are applied back on souce panel when exiting the new edit mode
* TS ignores in est
* Make field display work in viz repeater
* Review updates
* Review and test updates
* Change the way overrides and trransformations are retrieved in PQR
* Add fieldConfig property to PanelModel
* Dashboard migration v1
* Use field config when exiting new panel edit mode
* Gauge - use fieldConfig from panel model
* FieldDisplayOptions - don's extend FieldConfigSource
* Fix fieldDisplay ts
* StatPanel updated
* Stat panel defaults applied
* Table2 panel options update
* React graph updates
* BarGauge updated
* PieChart, Gauge, BarGauge and Stat updates
* PieChart - remove field config defaults from options
* FieldDisplayEditor - remove unused methos
* PanelModel - remove debugger
* Remove fieldConfig from field options when migrating dashboard
* Update data links migrations
* Update fieldDisaplay tests to respect new fieldConfig
* Update dashboard schema version in snapshots
* Fix BarGaugePanel test
* Rebase fixes
* Add onFieldConfigChange to PanelProps type
* Update shared single stat migration
* Pass PanelModel instead of options only for panel type change handler [breaking]
* Renames
* Don't mutate panel options
* Migrations update
* Remove obsolete snap
* Minor updates after review
* Fix null checks
* Temporarily (until we decide to switch to new pane edit) bring back old aditors
* Temporarily rename ValueMappingEditor and MappingRow to Legacy*
* Migrations update
* Updae setFieldConfigDefaults API
* Update the way field config defaults are applied
* Use standard field config for gauge, bar gauge and stat panels
* refactoring
* Revert dashboard fieldOptions migrations as those are handled by single stat migrator
* Fix ts in tests
* Strict null fix and some minor fixes
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
* WIP: Rollup indiator progress
* Progress
* Progress, can now open inspector with right tab
* changed type and made inspect
* Showing stats
* Progress
* Progress
* Getting ready for v1
* Added option and fixed some strict nulls
* Updated
* Fixed test
* Feature: adds onTimeRangeUpdated to newVariables
* Refactor: removes VariableWithRefresh and unused func
* Refactor: adds console output when something throws as well
* Apply field overrides in PanelChrome
* Move applyFieldOverrides to panel query runner
* Review updates
* Make sure overrides are applied back on souce panel when exiting the new edit mode
* TS ignores in est
* Make field display work in viz repeater
* Review updates
* Review and test updates
* Change the way overrides and trransformations are retrieved in PQR
* Minor updates after review
* Fix null checks
* Refactor: moves all the newVariables part to features/variables directory
* Feature: adds datasource type
* Tests: adds reducer tests
* Tests: covers data source actions with tests
* Chore: reduces strict null errors
* Refactor: Adds variables in state to TemplateSrv
* Refactor: Introduces some typings and structures
* Refactor: Introduces picker to adapter
* Refactor: Removes useState and introduces contains instead
* Refactor: Introduces Variable Editor
* Refactor: Adds uuid and simplifies state
* Refactor: Consolidates to VariableRenderer
* Refactor: Adds name change capability
* Refactor: Adds variableMiddleware
* Refactor: Adds ability to change Angular type to type in State
* Fix: Fixes so we check for duplicate names
* Refactor: Adds ability to change State type to type in Angular
* Refactor: Updates name in dashboard templating list
* Refactor: Adds label change to VariableEditor
* Refactor: Adds hide change to VariableEditor
* Refactor: Adds update ability
* Refactor: Adds tooltip
* Refactor: Adds SelectionOptionsEditor
* Refactor: Adds query editor and validation
* Refactor: Adds regex and sort to editor
* Refactor: Adds Selection options
* Refactor: Adds Varible Values Previewer
* Refactor: Changes from array in state to Record
* Refactor: Removes getVariableAtIndex from templateSrv
* Tests: Fixs broken tests
* Chore: Fixes duplicate merge import
* Refactor: Removes strict null errors
* Refactor: Adds duplicate variable
* Refactor: Adds remove variable
* Refactor: Adds change order of variables
* Refactor: Adds add new variable
* Chore: Fixes Prettier formatting
* Refactor: Adds VariablePicker
* Fixed so sub menu is displayed when we only have redux template variables.
* removed unused variable.
* tags will be visibile in the new react picker.
* added some nice colors to the tags.
* Added thunk for selecting a tag.
* Refactor: Cleans up templating state when dashboard unloads
* Refactor: Adds save capabilities for variables in state
* added possibility to select tag.
* Added so you can deselect a tag.
* Fixed issue with coloring on top.
* minor refactoring to make the code more slim.
* Refactor: Fixes dispatch return and copy of variable
* selecting options when tag i selected
* small refactoring.
* fixed so we use options.
* Refactor: Adds getValueForUrl capabilities
* first implementation of keyboard navigation on picker.
* removed comment.
* fixed so you can toggle all options.
* Refactor: Simplified state handling using Redux Toolkit and flat reducer structure
* Refactor: Adds sharedTemplatingReducer and queryVariableReducer
* Tests: Fixs broken tests
* Chore: Removes some strict null errors
* Tests: Fix broken tests
* Refactor: Splitted QueryVariablePicker into smaller components
* Refactor: Moves linktext and selected tags to component instead
* Fix: Fixes the ability to have multiple dropdowns opened at same time
* Fix: Fixes onKeyDown from prev refactor
* Refactor: Adds searchfilter searching
* Tests: Fixes after running e2e tests
* Refactor: Adds an attempt to solve dependencies at startup
* Refactor: Adds feature toggle
* Refactor: Resets all angular files to master
* Refactor: Move stuff to query folder
* Refactor: Initial commit for SubMenu component
* Refactor: Updated DashboardModel with new list
* Refactor: Adds feature toggle to dashboard model and friends
* Refactor: Adds picker to SubMenu
* Refactor: Fixes styling on SubMenu
* Refactor: Fixes processvariables
* Refactor: Initial EditorList skeleton
* Refactor: Refactors out VariableEditorList and VariableEditorContainer
* Refactor: Adds New variable functionality
* Refactor: Adds registred types
* Refactor: Adds edit existing variable functionality
* Refactor: Changes params to thunks
* Refactor: Small fix for cleaning up state when clicking update/add
* Refactor: Better typings for outer containers
* Refactor: Adds change order functionality
* Refactor: Removed notify angular args
* Change so the url is in sync with the redux template variables.
* Adding support for saving proper values and checking changes.
* Refactor: Adds duplicate variable functionality
* Feature: Adds remove variable functionality
* Refactor: Small refactor so e2e tests work as before
* Refactor: Returns null if no visible variables
* Refactor: Adds annotations to SubMenu
* Refactor: Fixes toggling of annotations in SubMenu
* added dashboard links to new submehu.
* Refactor: Small refactor breaking up into smaller components
* Fix: Fixes infinite recursive loop when changing varible name
* Templating: Do not mutate location query state
* Refactor: Fixes minor timing issue when adding new variable
* Refactor: removes initialization in variable_srv constructor
* Refactor: Suggestion on how to handle templating.list in DashboardExporter
* Refactor: Adds getVariables typings and changes ChangeTracker and ShareSnapshotCtrl
* Refactor: Adds getVariable on DashboardModel and changes DashboardMigrator
* Fix: Fixes repeated panels
* wip: starting to add custom variable type.
* Refactor: Merging two different toVariablePayload functions
* Tests: Fixes broken tests
* Fix: Reduces strict null errors
* Tests: Initial commit and fixes strange dependency order
* Tests: Covers sharedTemplatingReducer with tests
* Refactor: Rename state/index.ts => state/reducers.ts as every where else
* Refactor: Renames and moves adapters.ts
* Tests: Adds tests for templatingReducer
* Tests: Adds intitial tests for queryVariableReducer
* starting to ad custom variable.
* Tests: Adds more queryVariableReducer tests
* Added support for custom variable. Next up applying some DRY principles and refactoring.
* fixed compile issue.
* added todo.
* Tests: Fixes broken test
* Tests: Covers queryVariableReducer with tests and fixed a couple of bugs
* Fix: Fixes broken test
* Fix: Reduces strict null errors
* change so custom won't be depending on anything elese.
* fixed descriptions.
* removed unused dependency.
* Fixed issue when adding a new variable and editor is being unmount twice.
* fixed issue with select option loop.
* changed so we update query on typing in editor and removed it from component state.
* Moved runQuery up one level in the component tree.
* renamed action and moved it to custom actions.
* moved applyStateChanges to shared code.
* removed todo comment.
* first stab on moving picker to more general.
* Refactor: Changes so we always show variables type
* removed duplicate code regarding picker.
* Did some renamings.
* Feature: Adds text box variable type
* moved tests from query reducer to picker reducer.
* Removed picker from VariableState.
* removed reference to picker.
* Some more refactorings of the picker reducer + actions.
* Chore: Refactors away editor state to its own state slice (#22515)
* Refactor: Inital move, tests not working
* Tests: Adds editorReducer tests
* Refactor: Cleaning up
* Refactor: Moves logic to thunk instead
* Refactor: Initial commit
* Refactor: Combines reducers to one state
* Refactor: Adds combine reducers
* moved navigation logic flow to a thunk instead of in the component.
* fixed issue with rendering picker link.
* Refactor: Removes variable prop from templating.variables
* refactored and removed some more code.
* Feature: adds Constant variable type
* fixed so tags can be selected.
* Fix: fixes default hide for constant and enum order
* fixed so tags works again.
* Fix: fixes so we use Angular editor when newVariables is not defined
* Fix: fixes wrong hide default for Constant variable
* Fix: fixes bug when using duplicate button
* Fix: changes action id
* Tests: prepares for newVariables
* Chore: reduces strict null errors
* Refactor: removes uuidInEditorReducer for simplification
* Chore: changes after PR comments
* Chore: uses getConfig instead of config
* Tests: fixes so e2e tests check for feature toggle and fixed initLock bug
* Refactor: changes so sharedReducer uses createSlice instead
* Refactor: changes textBoxVariableReducer to use creactSlice instead
* Refactor: changes queryBoxVariableReducer to use creactSlice instead
* Refactor: changes customVariableReducer to use creactSlice instead
* Refactor: changes constantVariableReducer to use creactSlice instead
* Refactor: moves types to specific types.ts files instead
* changed so we use queryValue stored on the variable to populate options input when opening picker.
* Feature: adds the ability to test templating thunks using real store and middleware
* Chore: cleans up unused import
* excluded queryValue from the getSaveModel
* Refactor: adds whenAsyncActionIsDispatched to reduxTester
* Tests: adds initial tests for processVariables
* Added reducer tests for constant variable.
* added tests for custom reducer.
* added tets for texbox reducer.
* Tests: adds more tests for ProcessVariable
* Refactor: fixes processVariable flow so we do notrun updateOptions twice
* Tests: finishes tests for processVariables and removed skip test
* added actions tests for custom and constant.
* Tests: adds tests for setOptionFromUrl
* Tests: adds a naive variable mock builder
* Tests: adds tests for validateVariableSelectionState
* added tests for query variable actions.
* added last test for query actions.
* added more tests.
* some more tests.
* fixed typing errors.
* Fixed issues with variable tags.
Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
* ShareModal: use generic tab type
* ShareModal: able to extend with custom tabs
* ShareModal: able to extend dash/panel tabs separately
* grafana-ui: ModalTabContent component
* Add mechanism for imperatively showing modals
* Migration work in progress
* Reorganise save modal components
* use app events emmiter instead of root scope one
* Add center alignment to layoout component
* Make save buttons wotk
* Prettier
* Remove save dashboard logic from dashboard srv
* Remove unused code
* Dont show error notifications
* Save modal when dashboard is overwritten
* For tweaks
* Folder picker tweaks
* Save dashboard tweaks
* Copy provisioned dashboard to clipboard
* Enable saving dashboard json to file
* Use SaveDashboardAsButton
* Review
* Align buttons in dashboard settings
* Migrate SaveDashboardAs tests
* TS fixes
* SaveDashboardForm tests migrated
* Fixe some failing tests
* Fix folder picker tests
* Fix HistoryListCtrl tests
* Remove old import
* Enable fixed positioning for folder picker select menu
* Modal: show react modals with appEvents
* Open react modals using event
* Move save dashboard modals to dashboard feature
* Make e2e pass
* Update public/app/features/dashboard/components/SaveDashboard/SaveDashboardButton.tsx
* Hacking old vs new buttons to make all the things look like it's old good Grafana ;)
Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>
This feature would provide a way for administrators to limit the minimum
dashboard refresh interval globally.
Filters out the refresh intervals available in the time picker that are lower
than the set minimum refresh interval in the configuration .ini file
Adds the minimum refresh interval as available in the time picker.
If the user tries to enter a refresh interval that is lower than the minimum
in the URL, defaults to the minimum interval.
When trying to update the JSON via the API, rejects the update if the
dashboard's refresh interval is lower than the minimum.
When trying to update a dashboard via provisioning having a lower
refresh interval than the minimum, defaults to the minimum interval
and logs a warning.
Fixes#3356
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
* NewPanelEdit: Added angular options to new panel editor and started looking and angular component state
* Moved angular component state to redux
* Close to working 100%
* Think everything is working
* AlertTab: Alert tab now gets angularComponent from redux
* Fixed panel menu access to angular panel component
* Added new tests
* Fixed unit test
* Fixed strict null errors
* Fixed typescript issues
* fixed issues
* Adding new svg for back arrow button
* Created new back button component
* same stroke width
* minor fix
* Style changes
* hover animation
* Minor tweak
* 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>
* 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
* 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
* 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
* 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.
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.
* 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>
* 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: 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
* 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