Add slugs to URLs to make them friendlier (#15989)
* Install slugify * Add utils to slugify and parse entity URLs * Add `<Entity.Link />` component Basically just a `<Entity.Name />`, but wrapped inside `<Link />` * Add slugs to `/browse/:databaseId` URLs * Use constant for "Saved Questions" database ID * Fix "Saved Questions" not displayed in breadcrumbs * Fix opening browse page for "Saved Questions" * Add slugs to `/collection/:id` URLs * Fix personal collection page slug * Remove `describe.only` * Remove unnecessary type coercion * Fix typo * Fix collections not highlighted in the sidebar * Add slug to collection `/archive` URL * Add slug to collection `/edit` URL * Add slug to collection `/permissions` URL * Use slug in `getInitialCollectionId` selector * Explicitly pass root ID to `Urls.collection` * Pass prop to EntityLink's Link component * Fix DashboardMoveToast collection link * Allow overwriting EntityLink's Link component * Fix links in QueryBuilder's search * Fix collection link in search results * Fix navigating to collection after question archived * Fix navigating to collection from pulse edit * Slugify users' personal collection URLs * Test slugified collection URLs are opened correctly * Add slugs to `/dashboard/:id` URLs * Fix dashboard URLs at admin public sharing page * Fix opening dashboards from main page * Fix navigation to saved automatic dashboard * Fix dashboard moving * Fix dashboard history * Fix closing dashboard editing modal * Fix dashboard details form is empty Reproduced if opening the form via URL (`/dashboard/:id/details`) Works correctly if the details modal is opened from a dropdown menu * Fix dashboard copy form crash Reproduced if opening the form via URL (`/dashboard/:id/copy`) * Fix copying dashboard * Fix closing dashboard copy modal * Fix navigation once dashboard is created * Replace hardcoded "root" id with a constant * Assert pathnames instead of URLs * Fix duplicate modal not closing automatically * Fix URLs on Activity page * Fix navigating to dashboard question is added to * Fix archiving dashboard * `dashboardId` —> `slug` * Add slugs to `/question/:id` URLs * Fix links to questions on Activity page * Switch questions to slugified URLs * Remove not used import * Update pathname assertion * Fix collection URL builder fails receiving `null` * Ensure question URL builder returns valid URL * Update pathname assertions * Update pathname assertions * Update pathname assertions * Update pathname assertion * Update pathname assertion * Add question URL builder unit tests * Fix collection URL builder * Fix `null` collection ID when building URL * Fix repro test issue reference * Move URLs tests into onboarding folder * Enable #15256 repro test * Fix slugs for edge cases
Showing
- frontend/src/metabase-lib/lib/Question.js 1 addition, 1 deletionfrontend/src/metabase-lib/lib/Question.js
- frontend/src/metabase/admin/permissions/containers/CollectionPermissionsModal.jsx 2 additions, 1 deletion...min/permissions/containers/CollectionPermissionsModal.jsx
- frontend/src/metabase/admin/settings/components/widgets/PublicLinksListing.jsx 4 additions, 4 deletions.../admin/settings/components/widgets/PublicLinksListing.jsx
- frontend/src/metabase/browse/containers/DatabaseBrowser.jsx 2 additions, 1 deletionfrontend/src/metabase/browse/containers/DatabaseBrowser.jsx
- frontend/src/metabase/browse/containers/SchemaBrowser.jsx 8 additions, 3 deletionsfrontend/src/metabase/browse/containers/SchemaBrowser.jsx
- frontend/src/metabase/browse/containers/TableBrowser.jsx 17 additions, 6 deletionsfrontend/src/metabase/browse/containers/TableBrowser.jsx
- frontend/src/metabase/collections/components/BulkActions.jsx 1 addition, 2 deletionsfrontend/src/metabase/collections/components/BulkActions.jsx
- frontend/src/metabase/collections/components/CollectionCopyEntityModal.jsx 5 additions, 4 deletions...base/collections/components/CollectionCopyEntityModal.jsx
- frontend/src/metabase/collections/components/CollectionEditMenu.jsx 6 additions, 5 deletions...rc/metabase/collections/components/CollectionEditMenu.jsx
- frontend/src/metabase/collections/components/CollectionsList.jsx 3 additions, 4 deletions...d/src/metabase/collections/components/CollectionsList.jsx
- frontend/src/metabase/collections/components/Header.jsx 2 additions, 2 deletionsfrontend/src/metabase/collections/components/Header.jsx
- frontend/src/metabase/collections/containers/CollectionEdit.jsx 9 additions, 2 deletions...nd/src/metabase/collections/containers/CollectionEdit.jsx
- frontend/src/metabase/collections/containers/CollectionSidebar.jsx 3 additions, 3 deletions...src/metabase/collections/containers/CollectionSidebar.jsx
- frontend/src/metabase/components/ArchiveCollectionModal.jsx 8 additions, 7 deletionsfrontend/src/metabase/components/ArchiveCollectionModal.jsx
- frontend/src/metabase/components/CollectionItem.jsx 10 additions, 14 deletionsfrontend/src/metabase/components/CollectionItem.jsx
- frontend/src/metabase/components/CollectionLanding.jsx 4 additions, 1 deletionfrontend/src/metabase/components/CollectionLanding.jsx
- frontend/src/metabase/components/CreateDashboardModal.jsx 1 addition, 1 deletionfrontend/src/metabase/components/CreateDashboardModal.jsx
- frontend/src/metabase/components/form/widgets/FormSnippetCollectionWidget.jsx 2 additions, 1 deletion...e/components/form/widgets/FormSnippetCollectionWidget.jsx
- frontend/src/metabase/containers/AddToDashSelectDashModal.jsx 19 additions, 10 deletions...tend/src/metabase/containers/AddToDashSelectDashModal.jsx
- frontend/src/metabase/containers/ErrorPages.jsx 0 additions, 2 deletionsfrontend/src/metabase/containers/ErrorPages.jsx
Loading
Please register or sign in to comment