* Search: Toggle Search based on search query
* Search: Fix types and closed search param
* Search: Remove appEvents from SearchWrapper
* Search: Reset folder on close
Co-Authored-By: Alexander Zobnin <alexanderzobnin@gmail.com>
* Search: Disable reloadOnSearch for manage dashboards urls
Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>
* first things
* introduce headers and moving buttons
* adding reducer and action for gcom dashboard
* action working
* continue building on import form
* change dashboard title
* add prop to not render a label
* first things
* introduce headers and moving buttons
* adding reducer and action for gcom dashboard
* action working
* continue building on import form
* change dashboard title
* add prop to not render a label
* import form layout
* break out form to component
* add actions and reader for file upload
* fix upload issue
* modified data types to handle both gcom and file upload
* import dashboard json
* save dashboard
* start change uid
* change dashboard uid
* fix spacing and date format
* fix import from json
* handle uid and title change
* revert change in panelinspect
* redo fileupload component
* after review
* redo forms to use Forms functionality
* first attempt on async validation
* use ternary on uid input
* removed unused actions, fixed async validation on form
* post form if invalid, break out form to component
* sync file with master
* fix after merge
* nits
* export formapi type
* redo page to use forms validation
* fix inputs and validation
* readd post
* add guards on data source and constants
* type checks and strict nulls
* strict nulls
* validate onchange and fix import button when valid
* shorten validate call
* reexport OnSubmit type
* add comment for overwrite useEffect
* move validation functions to util
* fix button imports
* remove angular import
* move title and uid validation
* 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
* Start adding admin users list page to redux/react.
* removed unused code.
* added pagination.
* changed so we use the new form styles.
* added tooltip.
* using tagbadge for authlabels.
* remove unused code.
* removed old code.
* Fixed the last feedback on PR.
* Inital commit with new page
* Make routing work
* Correct field
* Move submit button and fix routing after signup
* Remove comments
* Fix feedback
* Undo mistake
* 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
* 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
* Footer: Single footer implementation for both react & angular pages
* Export type
* Updates
* Use footer links in help menu
* Updates & Fixes
* Updated snapshot
* updated snapshot
* SafeDynamicImport: Fixes so that it shows different messages depending on error
* Refactor: Fixes type error
* Refactor: Adds grafana constant to error message
* Refactor: Renames components and adds exports
* Refactor: Uses react-loader instead
* Refactor: Updates after PR comments
* Tests: Adds tests for loadComponentHandler
* Add items for navmodel and basic page
* add reducer and actions
* adding user mapping table component
* adding components for ldap tables
* add alert box on error
* close error alert box
* LDAP status page: connect APIs WIP
* LDAP debug: fetch connection status from API
* LDAP debug: fetch user info from API
* LDAP debug: improve connection error view
* LDAP debug: connection error tweaks
* LDAP debug: fix role mapping view
* LDAP debug: role mapping view tweaks
* LDAP debug: add bulk-sync button stub
* LDAP debug: minor refactor
* LDAP debug: show user teams
* LDAP debug: user info refactor
* LDAP debug: initial user page
* LDAP debug: minor refactor, remove unused angular wrapper
* LDAP debug: add sessions to user page
* LDAP debug: tweak user page
* LDAP debug: tweak view for disabled user
* LDAP debug: get sync info from API
* LDAP debug: user sync info
* LDAP debug: sync user button
* LDAP debug: clear error on page load
* LDAP debug: add user last sync info
* LDAP debug: actions refactor
* LDAP debug: roles and teams style tweaks
* Pass showAttributeMapping to LdapUserTeams
* LDAP debug: hide bulk sync button
* LDAP debug: refactor sessions component
* LDAP debug: fix loading user sessions
* LDAP debug: hide sync user button
* LDAP debug: fix fetching unavailable /ldap-sync-status endpoint
* LDAP debug: revert accidentally added fix
* LDAP debug: show error when LDAP is not enabled
* LDAP debug: refactor, move ldap components into ldap/ folder
* LDAP debug: styles refactoring
* LDAP debug: ldap reducer tests
* LDAP debug: ldap user reducer tests
* LDAP debug: fix connection error placement
* Text update
* LdapUser: Minor UI changes moving things around
* AlertBox: Removed icon-on-top as everywhere else it is centered, want to have it be consistent
* Performance/Webpack: Introduces more aggressive code-splitting and other perf improvements
- Introduces dynamic imports for built-in plugins
- Uses dynamic imports for various packages (rst2html, brace)
- Introduces route-based dynamic imports
- Splits angular and moment into separate bundles
* Migrating login services
* Add user signup
* Remove lodash
* Remove media query and extarct LoginServices
* Add React LoginCtrl
* Handle location with Redux and start form validation
* Fix proposal
* Add basic validation
* Fix validation
* Remove state from controller
* Extract login forms
* Fix things up
* Add change password and LoginPage
* Add React page and route to it
* Make redux connection work
* Add validation for password change
* Change pws request
* Fix feedback
* Fix feedback
* LoginPage to FC
* Move onSkip to a method
* Experimenting with animations
* Make animations work
* Add input focus
* Fix focus problem and clean animation
* Working change password request
* Add routing with window.location instead of Redux
* Fix a bit of feedback
* Move config to LoginCtrl
* Make buttons same size
* Change way of validating
* Update changePassword and remove angular controller
* Remove some console.logs
* Split onChange
* Remove className
* Fix animation, onChange and remove config.loginError code
* Add loginError appEvent
* Make flex and add previosuly removed media query
Allow non admins to see plugins list but only with readme. Any config tabs are hidden from the plugin page. Also plugin panel does not show action buttons (like Enable) for non admins.
* ChangePassword to React, created PasswordInput component, attempting UserProvider wrapper component, adding flex to btn row
* UserAPI interface, force classes on PasswordInput, remove api call from ChangePassword
* refactored out form
* clean up
* removed unnecessary bind, added loading state and loading component to change password form
* should be OR
* arrow funcs instead of binds, inline-block instead of flex, isSaving instead of isLoading, disabled button instead of spinner
* inline-flex on the react btn
* change state instatiatiation