Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Web: Migrate metrics_view to explore resources #5724

Open
wants to merge 53 commits into
base: begelundmuller/explore-resources-breaking
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
818ad9a
Refactor StateManagers to use explore
AdityaHegde Sep 18, 2024
8734756
Merge branch 'begelundmuller/explore-resources-breaking' into adityah…
AdityaHegde Sep 18, 2024
27499d2
Replace useMetricsView - Pass 1
AdityaHegde Sep 18, 2024
c75681c
Use explore in state defaults
AdityaHegde Sep 18, 2024
c3b5102
Add basic explore editor
AdityaHegde Sep 19, 2024
fb83005
Replace metricViewName with exploreName where applicable in rill dev
AdityaHegde Sep 19, 2024
6012960
Update bookmarks
AdityaHegde Sep 19, 2024
b35a9e9
Fix navigation on cloud
AdityaHegde Sep 20, 2024
01944a0
Fix alerts and reports
AdityaHegde Sep 23, 2024
6fbe74f
Merge branch 'begelundmuller/explore-resources-breaking' into adityah…
AdityaHegde Sep 23, 2024
ca7aa52
Migrate Public URLs
ericpgreen2 Sep 23, 2024
b15e819
Redirect old Explore URLs to `.../explore/[name]`
ericpgreen2 Sep 23, 2024
5147c0b
Migrate embeds
ericpgreen2 Sep 23, 2024
66a636f
Merge branch 'begelundmuller/explore-resources-breaking' into adityah…
AdityaHegde Sep 24, 2024
94fc01a
Fix syncDimensions
AdityaHegde Sep 24, 2024
8c44b6d
Fix eslint
ericpgreen2 Sep 24, 2024
1920057
Fix `svelte-check`
ericpgreen2 Sep 24, 2024
8e5f8d3
`metricViewName` -> `metricsViewName`
ericpgreen2 Sep 24, 2024
f7125e5
`useMetricsView` -> `useMetricsViewValidSpec`
ericpgreen2 Sep 24, 2024
18d3337
`useDashboard` -> `useMetricsView`
ericpgreen2 Sep 25, 2024
91ade53
`useDashboardStore` -> `useExploreStore`
ericpgreen2 Sep 25, 2024
8bc1a7b
`useMetaMeasure` -> `useMetricsViewSpecMeasure`
ericpgreen2 Sep 25, 2024
41b6906
Add two `+page.ts` files to `tsc` whitelist
ericpgreen2 Sep 25, 2024
dd971fe
Fix "Function called outside component initialization"
ericpgreen2 Sep 25, 2024
996577c
Add Metrics View icon
ericpgreen2 Sep 25, 2024
554657c
`MetricsExplorerIcon` -> `ExploreIcon`
ericpgreen2 Sep 25, 2024
63a47c2
Fix unit tests - Pass 1
AdityaHegde Sep 25, 2024
aa1870c
Fix unit tests - Pass 2
AdityaHegde Sep 25, 2024
81d593c
Fix unit tests - Pass 3
AdityaHegde Sep 25, 2024
75d878b
Fix tsc
AdityaHegde Sep 25, 2024
1f075d3
Revise new files from "Add" button
ericpgreen2 Sep 25, 2024
e0ece0c
Better organization of `features/explores`, `features/metrics-views`
ericpgreen2 Sep 25, 2024
0a1319f
Refactor `new-files.ts` to account for files bootstrapped from anothe…
ericpgreen2 Sep 25, 2024
ea15758
Add "Create Explore dashboard" button to Metrics Workspace
ericpgreen2 Sep 25, 2024
2d4a241
Nits
ericpgreen2 Sep 25, 2024
5ee51b0
"Generate dashboard" -> "Generate metrics"
ericpgreen2 Sep 25, 2024
ab94c79
"DashboardMenuItems" -> "MetricsViewMenuItems"
ericpgreen2 Sep 25, 2024
2e63352
`useValidExplore` -> `useExploreValidSpec`
ericpgreen2 Sep 26, 2024
c2f8c0c
`useValidDashboards` -> `useValidExplores`
ericpgreen2 Sep 26, 2024
a4286f5
Add YAML syntax highlighting to `ExploreEditor`
ericpgreen2 Sep 26, 2024
7f51d3d
Partially fix Preview mode's Explore CTAs
ericpgreen2 Sep 26, 2024
611836e
Explore E2E pass 1 - Fix model and explore editing
AdityaHegde Sep 26, 2024
5d80175
Explore E2E pass 2 - Fix metrics editing in tests
AdityaHegde Sep 26, 2024
c83bc01
Explore E2E pass 3 - Fix metrics editor experience
AdityaHegde Sep 26, 2024
094cadd
Merge branch 'begelundmuller/explore-resources-breaking' into HEAD
ericpgreen2 Sep 26, 2024
a02193a
Fix eslint
ericpgreen2 Sep 26, 2024
161ca30
Explore E2E pass 3 - Fix incorrect test migration
AdityaHegde Sep 27, 2024
c80db41
Avoid using useMetricsView
AdityaHegde Sep 27, 2024
ac37d3c
Fix resource->resource navigation buttons
ericpgreen2 Sep 27, 2024
b87dba1
Use the right icons
ericpgreen2 Sep 27, 2024
6181602
Update e2e tests
ericpgreen2 Sep 27, 2024
2be5044
Fix missing icon
ericpgreen2 Sep 27, 2024
cc2442e
Merge branch 'begelundmuller/explore-resources-breaking' into adityah…
ericpgreen2 Sep 27, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 0 additions & 12 deletions admin/database/postgres/migrations/0045.sql

This file was deleted.

2 changes: 1 addition & 1 deletion admin/database/postgres/migrations/0046.sql
Original file line number Diff line number Diff line change
@@ -1 +1 @@
ALTER TABLE magic_auth_tokens ADD COLUMN title TEXT NOT NULL DEFAULT '';
ALTER TABLE magic_auth_tokens ADD COLUMN title TEXT NOT NULL DEFAULT '';
12 changes: 6 additions & 6 deletions admin/database/postgres/postgres.go
Original file line number Diff line number Diff line change
Expand Up @@ -2163,16 +2163,16 @@ func (c *connection) decryptMap(m map[string]string, encKeyID string) (map[strin
// magicAuthTokenDTO wraps database.MagicAuthToken, using the pgtype package to handly types that pgx can't read directly into their native Go types.
type magicAuthTokenDTO struct {
*database.MagicAuthToken
Attributes pgtype.JSON `db:"attributes"`
MetricsViewFields pgtype.TextArray `db:"metrics_view_fields"`
Attributes pgtype.JSON `db:"attributes"`
Fields pgtype.TextArray `db:"fields"`
}

func (c *connection) magicAuthTokenFromDTO(dto *magicAuthTokenDTO, fetchSecret bool) (*database.MagicAuthToken, error) {
err := dto.Attributes.AssignTo(&dto.MagicAuthToken.Attributes)
if err != nil {
return nil, err
}
err = dto.MetricsViewFields.AssignTo(&dto.MagicAuthToken.Fields)
err = dto.Fields.AssignTo(&dto.MagicAuthToken.Fields)
if err != nil {
return nil, err
}
Expand All @@ -2193,16 +2193,16 @@ func (c *connection) magicAuthTokenFromDTO(dto *magicAuthTokenDTO, fetchSecret b
// magicAuthTokenWithUserDTO wraps database.MagicAuthTokenWithUser, using the pgtype package to handly types that pgx can't read directly into their native Go types.
type magicAuthTokenWithUserDTO struct {
*database.MagicAuthTokenWithUser
Attributes pgtype.JSON `db:"attributes"`
MetricsViewFields pgtype.TextArray `db:"metrics_view_fields"`
Attributes pgtype.JSON `db:"attributes"`
Fields pgtype.TextArray `db:"fields"`
}

func (c *connection) magicAuthTokenWithUserFromDTO(dto *magicAuthTokenWithUserDTO) (*database.MagicAuthTokenWithUser, error) {
err := dto.Attributes.AssignTo(&dto.MagicAuthTokenWithUser.Attributes)
if err != nil {
return nil, err
}
err = dto.MetricsViewFields.AssignTo(&dto.MagicAuthToken.Fields)
err = dto.Fields.AssignTo(&dto.MagicAuthToken.Fields)
if err != nil {
return nil, err
}
Expand Down
6 changes: 4 additions & 2 deletions scripts/tsc-with-whitelist.sh
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,9 @@ web-admin/src/features/scheduled-reports/selectors.ts: error TS2345
web-admin/src/features/view-as-user/clearViewedAsUser.ts: error TS18047
web-admin/src/features/view-as-user/clearViewedAsUser.ts: error TS2322
web-admin/src/features/view-as-user/setViewedAsUser.ts: error TS2322
web-admin/src/routes/[organization]/[project]/-/dashboards/+page.ts: error TS2307
web-admin/src/features/projects/github/GithubData.ts: error TS2769
web-admin/src/routes/[organization]/[project]/[dashboard]/+page.ts: error TS2307
web-admin/src/routes/[organization]/[project]/-/dashboards/+page.ts: error TS2307
web-common/src/components/button-group/ButtonGroup.spec.ts: error TS2345
web-common/src/components/data-graphic/actions/mouse-position-to-domain-action-factory.ts: error TS2322
web-common/src/components/data-graphic/actions/outline.ts: error TS18047
Expand Down Expand Up @@ -97,7 +98,7 @@ web-common/src/features/metrics-views/errors.ts: error TS2322
web-common/src/features/metrics-views/errors.ts: error TS2345
web-common/src/features/metrics-views/metrics-internal-store.ts: error TS18048
web-common/src/features/metrics-views/metrics-internal-store.ts: error TS2345
web-common/src/features/metrics-views/workspace/editor/create-placeholder.ts: error TS2322
web-common/src/features/metrics-views/editor/create-placeholder.ts: error TS2322
web-common/src/features/models/selectors.ts: error TS18048
web-common/src/features/models/selectors.ts: error TS2345
web-common/src/features/models/utils/embedded.ts: error TS18048
Expand Down Expand Up @@ -142,6 +143,7 @@ web-common/src/runtime-client/invalidation.ts: error TS18048
web-common/src/runtime-client/invalidation.ts: error TS2345
web-common/src/runtime-client/watch-request-client.ts: error TS2322
web-common/vite.config.ts: error TS2339
web-local/src/routes//dashboard/[name]/+page.ts: error TS2307
"

# Run TypeScript compiler and find all distinct error per file
Expand Down
19 changes: 11 additions & 8 deletions web-admin/src/features/alerts/CreateAlert.svelte
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
<script lang="ts">
import Tooltip from "@rilldata/web-common/components/tooltip/Tooltip.svelte";
import TooltipContent from "@rilldata/web-common/components/tooltip/TooltipContent.svelte";
import { useMetricsView } from "@rilldata/web-common/features/dashboards/selectors";
import { getStateManagers } from "@rilldata/web-common/features/dashboards/state-managers/state-managers";
import { Button } from "@rilldata/web-common/components/button";
import { BellPlusIcon } from "lucide-svelte";
import CreateAlertForm from "@rilldata/web-common/features/alerts/CreateAlertForm.svelte";
import GuardedDialog from "@rilldata/web-common/components/dialog-v2/GuardedDialog.svelte";
import {
DialogContent,
DialogTrigger,
} from "@rilldata/web-common/components/dialog-v2/index";
import GuardedDialog from "@rilldata/web-common/components/dialog-v2/GuardedDialog.svelte";
import Tooltip from "@rilldata/web-common/components/tooltip/Tooltip.svelte";
import TooltipContent from "@rilldata/web-common/components/tooltip/TooltipContent.svelte";
import CreateAlertForm from "@rilldata/web-common/features/alerts/CreateAlertForm.svelte";
import { useMetricsViewValidSpec } from "@rilldata/web-common/features/dashboards/selectors";
import { getStateManagers } from "@rilldata/web-common/features/dashboards/state-managers/state-managers";
import { BellPlusIcon } from "lucide-svelte";

const {
selectors: {
Expand All @@ -20,7 +20,10 @@
metricsViewName,
} = getStateManagers();

$: metricsView = useMetricsView($runtime?.instanceId, $metricsViewName);
$: metricsView = useMetricsViewValidSpec(
$runtime?.instanceId,
$metricsViewName,
);
$: hasTimeDimension = !!$metricsView?.data?.timeDimension;

let open = false;
Expand Down
12 changes: 6 additions & 6 deletions web-admin/src/features/alerts/metadata/AlertFilters.svelte
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
<script lang="ts">
import MetadataLabel from "@rilldata/web-admin/features/scheduled-reports/metadata/MetadataLabel.svelte";
import TimeRangeReadOnly from "@rilldata/web-common/features/dashboards/filters/TimeRangeReadOnly.svelte";
import DimensionFilterReadOnlyChip from "@rilldata/web-common/features/dashboards/filters/dimension-filters/DimensionFilterReadOnlyChip.svelte";
import MeasureFilterReadOnlyChip from "@rilldata/web-common/features/dashboards/filters/measure-filters/MeasureFilterReadOnlyChip.svelte";
import { splitWhereFilter } from "@rilldata/web-common/features/dashboards/filters/measure-filters/measure-filter-utils";
import { useDashboard } from "@rilldata/web-common/features/dashboards/selectors";
import { useMetricsView } from "@rilldata/web-common/features/dashboards/selectors";
import { getDimensionFilters } from "@rilldata/web-common/features/dashboards/state-managers/selectors/dimension-filters";
import { getMeasureFilters } from "@rilldata/web-common/features/dashboards/state-managers/selectors/measure-filters";
import type { DimensionThresholdFilter } from "@rilldata/web-common/features/dashboards/stores/metrics-explorer-entity";
Expand All @@ -14,8 +16,6 @@
import { runtime } from "@rilldata/web-common/runtime-client/runtime-store";
import { flip } from "svelte/animate";
import { fly } from "svelte/transition";
import TimeRangeReadOnly from "@rilldata/web-common/features/dashboards/filters/TimeRangeReadOnly.svelte";
import MeasureFilterReadOnlyChip from "@rilldata/web-common/features/dashboards/filters/measure-filters/MeasureFilterReadOnlyChip.svelte";

export let metricsViewName: string;
export let filters: V1Expression | undefined;
Expand All @@ -36,13 +36,13 @@
havingFilter = dimensionThresholdFilters;
}

$: dashboard = useDashboard($runtime.instanceId, metricsViewName);
$: metricsView = useMetricsView($runtime.instanceId, metricsViewName);
$: dimensionIdMap = getMapFromArray(
$dashboard.data?.metricsView?.state?.validSpec?.dimensions ?? [],
$metricsView.data?.metricsView?.state?.validSpec?.dimensions ?? [],
(dimension) => dimension.name,
);
$: measureIdMap = getMapFromArray(
$dashboard.data?.metricsView?.state?.validSpec?.measures ?? [],
$metricsView.data?.metricsView?.state?.validSpec?.measures ?? [],
(measure) => measure.name,
);

Expand Down
16 changes: 9 additions & 7 deletions web-admin/src/features/alerts/metadata/AlertMetadata.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
import ThreeDot from "@rilldata/web-common/components/icons/ThreeDot.svelte";
import Tooltip from "@rilldata/web-common/components/tooltip/Tooltip.svelte";
import TooltipContent from "@rilldata/web-common/components/tooltip/TooltipContent.svelte";
import { useDashboard } from "@rilldata/web-common/features/dashboards/selectors";
import { useExploreValidSpec } from "@rilldata/web-common/features/explores/selectors";
import {
getRuntimeServiceListResourcesQueryKey,
type V1MetricsViewAggregationRequest,
Expand All @@ -39,9 +39,9 @@

// Get dashboard
$: dashboardName = useAlertDashboardName($runtime.instanceId, alert);
$: dashboard = useDashboard($runtime.instanceId, $dashboardName.data);
$: dashboardTitle =
$dashboard.data?.metricsView.spec.title || $dashboardName.data;
$: dashboard = useExploreValidSpec($runtime.instanceId, $dashboardName.data);
$: metricsViewName = $dashboard.data?.explore?.metricsView;
$: dashboardTitle = $dashboard.data?.explore?.title || $dashboardName.data;
$: dashboardDoesNotExist = $dashboard.error?.response?.status === 404;

$: alertSpec = $alertQuery.data?.resource?.alert?.spec;
Expand Down Expand Up @@ -99,7 +99,7 @@
</h1>
<div class="grow" />
{#if !$isAlertCreatedByCode.data}
<EditAlert {alertSpec} metricsViewName={$dashboardName.data} />
<EditAlert {alertSpec} {metricsViewName} />
<DropdownMenu.Root>
<DropdownMenu.Trigger>
<IconButton>
Expand Down Expand Up @@ -134,7 +134,9 @@
</Tooltip>
</div>
{:else}
<a href={`/${organization}/${project}/${$dashboardName.data}`}>
<a
href={`/${organization}/${project}/explore/${$dashboardName.data}`}
>
{dashboardTitle}
</a>
{/if}
Expand Down Expand Up @@ -170,7 +172,7 @@

<!-- Filters -->
<AlertFilters
metricsViewName={$dashboardName.data}
{metricsViewName}
filters={metricsViewAggregationRequest?.where}
timeRange={metricsViewAggregationRequest?.timeRange}
comparisonTimeRange={metricsViewAggregationRequest?.comparisonTimeRange}
Expand Down
11 changes: 9 additions & 2 deletions web-admin/src/features/alerts/selectors.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import { createAdminServiceSearchProjectUsers } from "@rilldata/web-admin/client";
import { getExploreName } from "@rilldata/web-admin/features/dashboards/query-mappers/utils";
import { ResourceKind } from "@rilldata/web-common/features/entity-management/resource-selectors";
import {
createRuntimeServiceGetResource,
Expand Down Expand Up @@ -36,9 +37,15 @@ export function useAlertDashboardName(instanceId: string, name: string) {
{
query: {
select: (data) => {
const alertSpec = data.resource?.alert?.spec;
if (!alertSpec) return "";

if (alertSpec.annotations.web_open_path)
return getExploreName(alertSpec.annotations.web_open_path);

const queryArgsJson = JSON.parse(
data.resource.alert.spec.resolverProperties.query_args_json ||
data.resource.alert.spec.queryArgsJson ||
alertSpec.resolverProperties.query_args_json ||
alertSpec.queryArgsJson ||
"{}",
);

Expand Down
26 changes: 14 additions & 12 deletions web-admin/src/features/bookmarks/BaseBookmarkForm.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -3,36 +3,38 @@
import type { BookmarkFormValues } from "@rilldata/web-admin/features/bookmarks/form-utils";
import { getPrettySelectedTimeRange } from "@rilldata/web-admin/features/bookmarks/selectors";
import ProjectAccessControls from "@rilldata/web-admin/features/projects/ProjectAccessControls.svelte";
import Select from "@rilldata/web-common/components/forms/Select.svelte";
import Input from "@rilldata/web-common/components/forms/Input.svelte";
import Label from "@rilldata/web-common/components/forms/Label.svelte";
import Select from "@rilldata/web-common/components/forms/Select.svelte";
import Switch from "@rilldata/web-common/components/forms/Switch.svelte";
import Input from "@rilldata/web-common/components/forms/Input.svelte";
import Tooltip from "@rilldata/web-common/components/tooltip/Tooltip.svelte";
import TooltipContent from "@rilldata/web-common/components/tooltip/TooltipContent.svelte";
import FilterChipsReadOnly from "@rilldata/web-common/features/dashboards/filters/FilterChipsReadOnly.svelte";
import { useDashboardStore } from "@rilldata/web-common/features/dashboards/stores/dashboard-stores";
import { useExploreStore } from "@rilldata/web-common/features/dashboards/stores/dashboard-stores";
import { queryClient } from "@rilldata/web-common/lib/svelte-query/globalQueryClient";
import type { V1TimeRange } from "@rilldata/web-common/runtime-client";
import { runtime } from "@rilldata/web-common/runtime-client/runtime-store";
import type { createForm } from "svelte-forms-lib";
import { InfoIcon } from "lucide-svelte";
import { queryClient } from "@rilldata/web-common/lib/svelte-query/globalQueryClient";
import type { createForm } from "svelte-forms-lib";

export let metricsViewName: string;
export let exploreName: string;
export let formState: ReturnType<typeof createForm<BookmarkFormValues>>;

$: dashboardStore = useDashboardStore(metricsViewName);
$: exploreStore = useExploreStore(exploreName);

let timeRange: V1TimeRange;
$: timeRange = {
isoDuration: $dashboardStore.selectedTimeRange?.name,
start: $dashboardStore.selectedTimeRange?.start?.toISOString() ?? "",
end: $dashboardStore.selectedTimeRange?.end?.toISOString() ?? "",
isoDuration: $exploreStore.selectedTimeRange?.name,
start: $exploreStore.selectedTimeRange?.start?.toISOString() ?? "",
end: $exploreStore.selectedTimeRange?.end?.toISOString() ?? "",
};

$: selectedTimeRange = getPrettySelectedTimeRange(
queryClient,
$runtime?.instanceId,
metricsViewName,
exploreName,
);

const { form, errors } = formState;
Expand Down Expand Up @@ -68,9 +70,9 @@ Managed bookmarks will be available to all viewers of this dashboard.`;
<div class="text-gray-500">Inherited from underlying dashboard view.</div>
</Label>
<FilterChipsReadOnly
dimensionThresholdFilters={$dashboardStore.dimensionThresholdFilters}
filters={$dashboardStore.whereFilter}
{metricsViewName}
dimensionThresholdFilters={$exploreStore.dimensionThresholdFilters}
filters={$exploreStore.whereFilter}
{exploreName}
{timeRange}
/>
</div>
Expand Down
39 changes: 20 additions & 19 deletions web-admin/src/features/bookmarks/BookmarkDialog.svelte
Original file line number Diff line number Diff line change
@@ -1,27 +1,28 @@
<script lang="ts">
import { page } from "$app/stores";
import BaseBookmarkForm from "@rilldata/web-admin/features/bookmarks/BaseBookmarkForm.svelte";
import type { BookmarkFormValues } from "@rilldata/web-admin/features/bookmarks/form-utils";
import { useProjectId } from "@rilldata/web-admin/features/projects/selectors";
import * as Dialog from "@rilldata/web-common/components/dialog-v2";
import {
createAdminServiceCreateBookmark,
createAdminServiceUpdateBookmark,
getAdminServiceListBookmarksQueryKey,
} from "@rilldata/web-admin/client";
import { Button } from "@rilldata/web-common/components/button";
import BaseBookmarkForm from "@rilldata/web-admin/features/bookmarks/BaseBookmarkForm.svelte";
import type { BookmarkFormValues } from "@rilldata/web-admin/features/bookmarks/form-utils";
import { getBookmarkDataForDashboard } from "@rilldata/web-admin/features/bookmarks/getBookmarkDataForDashboard";
import { eventBus } from "@rilldata/web-common/lib/event-bus/event-bus";
import { useDashboardStore } from "@rilldata/web-common/features/dashboards/stores/dashboard-stores";
import { ResourceKind } from "@rilldata/web-common/features/entity-management/resource-selectors";
import type { BookmarkEntry } from "@rilldata/web-admin/features/bookmarks/selectors";
import { useProjectId } from "@rilldata/web-admin/features/projects/selectors";
import { Button } from "@rilldata/web-common/components/button";
import * as Dialog from "@rilldata/web-common/components/dialog-v2";
import { getStateManagers } from "@rilldata/web-common/features/dashboards/state-managers/state-managers";
import { useExploreStore } from "@rilldata/web-common/features/dashboards/stores/dashboard-stores";
import { useTimeControlStore } from "@rilldata/web-common/features/dashboards/time-controls/time-control-store";
import { ResourceKind } from "@rilldata/web-common/features/entity-management/resource-selectors";
import { eventBus } from "@rilldata/web-common/lib/event-bus/event-bus";
import { queryClient } from "@rilldata/web-common/lib/svelte-query/globalQueryClient";
import { createForm } from "svelte-forms-lib";
import * as yup from "yup";
import { queryClient } from "@rilldata/web-common/lib/svelte-query/globalQueryClient";
import { useTimeControlStore } from "@rilldata/web-common/features/dashboards/time-controls/time-control-store";
import { getStateManagers } from "@rilldata/web-common/features/dashboards/state-managers/state-managers";

export let metricsViewName: string;
export let exploreName: string;
export let bookmark: BookmarkEntry | null = null;
export let onClose = () => {};

Expand Down Expand Up @@ -52,7 +53,7 @@
description: values.description,
shared: values.shared === "true",
data: getBookmarkDataForDashboard(
$dashboardStore,
$exploreStore,
values.filtersOnly,
values.absoluteTimeRange,
$timeControlsStore,
Expand All @@ -65,11 +66,11 @@
displayName: values.displayName,
description: values.description,
projectId: $projectId.data ?? "",
resourceKind: ResourceKind.MetricsView,
resourceName: metricsViewName,
resourceKind: ResourceKind.Explore,
resourceName: exploreName,
shared: values.shared === "true",
data: getBookmarkDataForDashboard(
$dashboardStore,
$exploreStore,
values.filtersOnly,
values.absoluteTimeRange,
$timeControlsStore,
Expand All @@ -83,8 +84,8 @@
await queryClient.refetchQueries(
getAdminServiceListBookmarksQueryKey({
projectId: $projectId.data ?? "",
resourceKind: ResourceKind.MetricsView,
resourceName: metricsViewName,
resourceKind: ResourceKind.Explore,
resourceName: exploreName,
}),
);
eventBus.emit("notification", {
Expand All @@ -96,7 +97,7 @@
const { handleSubmit, handleReset } = formState;

$: ({ params } = $page);
$: dashboardStore = useDashboardStore(metricsViewName);
$: exploreStore = useExploreStore(exploreName);
$: projectId = useProjectId(params.organization, params.project);
</script>

Expand All @@ -113,7 +114,7 @@
</Dialog.Title>
</Dialog.Header>

<BaseBookmarkForm {formState} {metricsViewName} />
<BaseBookmarkForm {formState} {metricsViewName} {exploreName} />

<div class="flex flex-row mt-4 gap-2">
<div class="grow" />
Expand Down
Loading
Loading