* Extend interpolate endpoint to support community dashboard json interpolation
Added unit tests
* Implement Frontend Side
- Show tabs
- Fetch Community dashboads
- basic cards for community
- Search bar for community
* Improve card community and show thumbnails
* quick poc with template dashboards
* better cards ui
* entry point conditional added. dashboard card improved
* dev dashboard for testing
* details removed in template dashboard modal
* improvement when loading the templates
* dashboard from template entry points
* interactions added
* tracking event improvements. card improvement
* unused import removed
* 90% Complete MVP community dashboards integraton
- Use DashboardCard component
- Search grafana dashboard in the community tab
- Make Tabs and pagination sticky
- Adjust titles to be scoped by datasource name/type
- Add skeleton loading for community tabs and pagination
- Add dashboard details tooltip
* Use DataSourcePicker for extra configuration page
* Fix suggested dashboard, don't use filter but slug and also add gcomURLink
* Implement badge, for now reuse Badge component
* translations added
* Refactor code, extract to utils function and clean up code
* refactor provisioned dashboards images
* add missing file
* Extract API functions
* standarize event handlers
* Auto select tab when provisioned or community are not present, also add empty state for provisioned tab
* use SecondaryAction iconButton for Details, and also use Tooltip
* For suggested dashboards change Grid for Stack to fix issue with less than 3 dashboards, also add the details next to
the main action
* Fix styling issue with description miss-aligment
* Change "use template" to use dashboard
* update i18n
* fix broken unit test
* FF added
* uid changed to make it work for both scenarios
* Apply PR feedback
- add eventLocation
- Fix description placeholder
- Fix issue with suggested dashboards card aligment, change to Grid
* use datasource type instead of name, extract i18n and fix linting
* Improve View on Grafana.com link
* remove console.log
* Fix issue with cards styling
* improvements
* Apply suggestion from @juanicabanas
Co-authored-by: Juan Cabanas <juan.cabanas@grafana.com>
* Use query params for modal state and reorder dashboard empty to keep suggestions in the middle
* extract common interpolate logic in new function
* fix linting
* rename loadTemplateDashboard function to loadSuggestedDashboard
* Improve automapping layout, add dashboard name to title and pipe the mappings
* Apply style guide for callback functions, and refactor constant inputs initialization wiht reduce
* Fix styling issues with focus border and pagination
* fix issue with card aligment
* use attach skeleton instead of custom css
* Adjust all i18n to use dashboard-library key
* Refactor mapping form to use one array to handle unmapped ds
* Update public/app/features/dashboard/dashgrid/DashboardLibrary/CommunityDashboardSection.tsx
Co-authored-by: Juan Cabanas <juan.cabanas@grafana.com>
* Refactor pagination, use api pagination data
* Remove unnecesary trim
* Fix issue with Stack height and justifyContent in modal
* Update public/app/features/dashboard/dashgrid/DashboardLibrary/SuggestedDashboards.tsx
Co-authored-by: Juan Cabanas <juan.cabanas@grafana.com>
* Add missing dependency
* Fix issue with mapping config form, make buttons to be aligned at the bottom
* Fix unit tests
* Add and refactor tracking interactions to support experiment KPIS
* rename unmappedInputs to unmappedDsInputs for clarity
* Update public/app/features/dashboard/dashgrid/DashboardLibrary/CommunityDashboardSection.tsx
Co-authored-by: Juan Cabanas <juan.cabanas@grafana.com>
* rename modal and move modal to section
* Simplify search params, extrack user selected dashboards to helper function, update pagination styles and use url based
pagination
* Move modal logic to the suggested dashboards component
* Fix tracking duplication on first load and revert change on pagination url persistence
* Extrac on preview community dashboard into utils
* Bring old datasource-provisioned box back and rely on new feature toggle for community dashboards
* change logic for showing suggested dashboards, we only need to enable that feature toggle
* update i18n
* Fix unit test for basic provisioned dashboard
* fix css
* Apply feedback
* Add suggested dashboards to endpoint
* Add missing feature toggle check in the backend to expose the interpolate api
* Add extra test case
* update swagger
* Update public/app/features/dashboard/dashgrid/DashboardEmpty/DashboardEmpty.tsx
Co-authored-by: Juan Cabanas <juan.cabanas@grafana.com>
* update swagger
* changes applied to retrieve templates dashboards from raintank
* translations
* Remove duplicated tracking and add gnet id to the save tracking action
* interactions
* improvements applied
* last improvements
* tracking events modified with merge. translations fixed
* tests fixed
* uid property removed from dto. new way of tracking the ds types added
* ds types from gnet dashboard removed
* fixes
* tracking changed
* tracking modified
---------
Co-authored-by: alexandra vargas <alexa1866@gmail.com>
Co-authored-by: Alexa Vargas <239999+axelavargas@users.noreply.github.com>
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
* Extend interpolate endpoint to support community dashboard json interpolation
Added unit tests
* Implement Frontend Side
- Show tabs
- Fetch Community dashboads
- Use DashboardCard component
- Search grafana dashboard in the community tab
- Make Tabs and pagination sticky
- Adjust titles to be scoped by datasource name/type
- Add skeleton loading for community tabs and pagination
- Add dashboard details tooltip
- Bring old datasource-provisioned box back and rely on new feature toggle for community dashboards
- update i18n
- update swagger
---------
Co-authored-by: Juan Cabanas <juan.cabanas@grafana.com>
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
* adjut quickRanges type in v2
* clean up unused time_options property
* remove deprecated time_options property on time picker
* add schema migration for time_options
* adjust test
* clean up error handling in postDashboard and remove UserDisplayDTO
* replace GetUserUID with GetUID and GetNamespacedUID, enforce namespace constant type
* lint fix
* lint fix
* more lint fixes
* Revert "Revert "Add FolderUID for library elements" (#83776)"
This reverts commit 0dfdb2ae47.
* Fix bug, dashboard id and library element fodler_id are the corresponding values
Dashboard table hold both dahboards and tables
* Add FolderUID in missing places for libraryelements
* Add migration for FolderUID in library elements table
* Add Folder UIDs tolibrary panels
* Adjust dashboard import with folder uid
* Fix lint
* Rename back FolderUID to UID
* Remove default
* Check if folderUID is nil
* Add unique indes on org_id,folder_uid,name and kind
* Update pkg/services/libraryelements/database.go
Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
* Fix folder integration test, with unique index on library elements
* Make folder uids nullable and rewrite migration query
* Use dashboard uid instead of folder_uid
* Adjust test
---------
Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
* Remove FolderID from service tests
* Add models
* Add folderID pack to publicdashboard tests
* Remove folderID from dashboard tests
* Remove folderID from folders
* Remove folderID from ngalert tests
* Remove nolint comment
* Add back some tests after rebase
* Make identity.Requester available at Context
* Clean pkg/services/guardian/guardian.go
* Clean guardian provider and guardian AC
* Clean pkg/api/team.go
* Clean ctxhandler, datasources, plugin and live
* Clean dashboards and guardian
* Implement NewUserDisplayDTOFromRequester
* Change status code numbers for http constants
* Upgrade signature of ngalert services
* log parsing errors instead of throwing error
* Make identity.Requester available at Context
* Clean pkg/services/guardian/guardian.go
* Clean guardian provider and guardian AC
* Clean pkg/api/team.go
* Clean ctxhandler, datasources, plugin and live
* Question: what to do with the UserDisplayDTO?
* Clean dashboards and guardian
* Remove identity.Requester from ReqContext
* Implement NewUserDisplayDTOFromRequester
* Fix tests
* Change status code numbers for http constants
* Upgrade signature of ngalert services
* log parsing errors instead of throwing error
* Fix tests and add logs
* linting
* Nested Folders: Support getting of nested folder in folder service when feature flag is set
* Fix lint
* Fix some tests
* Fix ngalert test
* ngalert fix
* Fix API tests
* Fix some tests and lint
* Fix lint 2
* Fix library elements and panels
* Add access control to get folder
* Cleanup and minor test change
* Chore: Add user service method SetUsingOrg
* Chore: Add user service method GetSignedInUserWithCacheCtx
* Use method GetSignedInUserWithCacheCtx from user service
* Fix lint after rebase
* Fix lint
* Fix lint error
* roll back some changes
* Roll back changes in api and middleware
* Add xorm tags to SignedInUser ID fields
* Move SignedInUser to user service and RoleType and Roles to org
* Use go naming convention for roles
* Fix some imports and leftovers
* Fix ldap debug test
* Fix lint
* Fix lint 2
* Fix lint 3
* Fix type and not needed conversion
* Clean up messages in api tests
* Clean up api tests 2
* Remove user from preferences, stars, orguser, team member
* Fix lint
* Add Delete user from org and dashboard acl
* Delete user from user auth
* Add DeleteUser to quota
* Add test files and adjust user auth store
* Rename package in wire for user auth
* Import Quota Service interface in other services
* do the same in tests
* fix lint tests
* Fix tests
* Add some tests
* Rename InsertUser and DeleteUser to InsertOrgUser and DeleteOrgUser
* Rename DeleteUser to DeleteByUser in quota
* changing a method name in few additional places
* Fix in other places
* Fix lint
* Fix tests
* Rename DeleteOrgUser to DeleteUserFromAll
* Update pkg/services/org/orgimpl/org_test.go
Co-authored-by: Emil Tullstedt <emil.tullstedt@grafana.com>
* Update pkg/services/preference/prefimpl/inmemory_test.go
Co-authored-by: Emil Tullstedt <emil.tullstedt@grafana.com>
* Rename Acl to ACL
* Fix wire after merge with main
* Move test to uni test
Co-authored-by: Emil Tullstedt <emil.tullstedt@grafana.com>