Skip to content

Commit

Permalink
Avoid using useMetricsView
Browse files Browse the repository at this point in the history
  • Loading branch information
AdityaHegde committed Sep 27, 2024
1 parent 161ca30 commit c80db41
Show file tree
Hide file tree
Showing 5 changed files with 20 additions and 28 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
V1ExportFormat,
createQueryServiceExport,
} from "../../../runtime-client";
import { useMetricsView } from "../selectors";
import { getStateManagers } from "../state-managers/state-managers";
import exportPivot, { getPivotExportArgs } from "./pivot-export";
Expand All @@ -17,18 +16,16 @@
let showScheduledReportDialog = false;
const ctx = getStateManagers();
const { runtime, metricsViewName, exploreName, dashboardStore } = ctx;
const { exploreName, dashboardStore, validSpecStore } = ctx;
$: metricsViewProto = $dashboardStore.proto;
const exportDash = createQueryServiceExport();
$: metricsView = useMetricsView($runtime.instanceId, $metricsViewName);
async function handleExportPivot(format: V1ExportFormat) {
await exportPivot({
ctx,
query: exportDash,
format,
timeDimension: $metricsView.data?.metricsView?.spec?.timeDimension,
timeDimension: $validSpecStore.data?.metricsView?.timeDimension,
});
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
} from "@rilldata/web-common/runtime-client";
import { onMount } from "svelte";
import CaretDownIcon from "../../../components/icons/CaretDownIcon.svelte";
import { useMetricsView } from "../selectors";
import exportTDD from "./export-tdd";
export let includeScheduledReport: boolean;
Expand All @@ -18,18 +17,16 @@
let showScheduledReportDialog = false;
const ctx = getStateManagers();
const { runtime, dashboardStore, metricsViewName, exploreName } = ctx;
const { dashboardStore, exploreName, validSpecStore } = ctx;
$: metricsViewProto = $dashboardStore.proto;
const metricsView = useMetricsView($runtime.instanceId, $metricsViewName);
const exportDash = createQueryServiceExport();
const handleExportTDD = async (format: V1ExportFormat) => {
await exportTDD({
ctx,
query: exportDash,
format,
timeDimension: $metricsView.data?.metricsView?.spec
?.timeDimension as string,
timeDimension: $validSpecStore.data?.metricsView?.timeDimension as string,
});
};
Expand Down
14 changes: 6 additions & 8 deletions web-common/src/features/dashboards/workspace/Dashboard.svelte
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
<script lang="ts">
import ErrorPage from "@rilldata/web-common/components/ErrorPage.svelte";
import PivotDisplay from "@rilldata/web-common/features/dashboards/pivot/PivotDisplay.svelte";
import {
useMetricsView,
useModelHasTimeSeries,
} from "@rilldata/web-common/features/dashboards/selectors";
import { useModelHasTimeSeries } from "@rilldata/web-common/features/dashboards/selectors";
import TabBar from "@rilldata/web-common/features/dashboards/tab-bar/TabBar.svelte";
import { useExploreValidSpec } from "@rilldata/web-common/features/explores/selectors";
import { featureFlags } from "@rilldata/web-common/features/feature-flags";
import { navigationOpen } from "@rilldata/web-common/layout/navigation/Navigation.svelte";
import { useExploreStore } from "web-common/src/features/dashboards/stores/dashboard-stores";
Expand Down Expand Up @@ -41,10 +39,10 @@
$: isRillDeveloper = $readOnly === false;
// Check if the mock user (if selected) has access to the dashboard
$: metricsView = useMetricsView($runtime.instanceId, metricsViewName);
// Check if the mock user (if selected) has access to the explore
$: explore = useExploreValidSpec($runtime.instanceId, exploreName);
$: mockUserHasNoAccess =
$selectedMockUserStore && $metricsView.error?.response?.status === 404;
$selectedMockUserStore && $explore.error?.response?.status === 404;
</script>

<article
Expand Down Expand Up @@ -73,7 +71,7 @@
{#if mockUserHasNoAccess}
<!-- Additional safeguard for mock users without dashboard access. -->
<ErrorPage
statusCode={$metricsView.error?.response?.status}
statusCode={$explore.error?.response?.status}
header="This user can't access this dashboard"
body="The security policy for this dashboard may make contents invisible to you. If you deploy this dashboard, {$selectedMockUserStore?.email} will see a 404."
/>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,23 +1,22 @@
<script lang="ts">
import InputArray from "@rilldata/web-common/components/forms/InputArray.svelte";
import TimePicker from "@rilldata/web-common/components/forms/TimePicker.svelte";
import { useExploreValidSpec } from "@rilldata/web-common/features/explores/selectors";
import { V1ExportFormat } from "@rilldata/web-common/runtime-client";
import Input from "../../components/forms/Input.svelte";
import Select from "../../components/forms/Select.svelte";
import { runtime } from "../../runtime-client/runtime-store";
import { useMetricsView } from "../dashboards/selectors";
import { makeTimeZoneOptions } from "./time-utils";
export let formId: string;
export let formState: any; // svelte-forms-lib's FormState
export let metricsViewName: string;
export let exploreName: string;
const { form, errors, handleSubmit } = formState;
// Pull the time zone options from the dashboard's spec
$: metricsView = useMetricsView($runtime.instanceId, metricsViewName);
$: availableTimeZones =
$metricsView.data?.metricsView?.spec?.availableTimeZones;
$: exploreSpec = useExploreValidSpec($runtime.instanceId, exploreName);
$: availableTimeZones = $exploreSpec.data?.explore?.timeZones;
$: timeZoneOptions = makeTimeZoneOptions(availableTimeZones);
</script>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
createAdminServiceGetCurrentUser,
createAdminServiceEditReport,
} from "@rilldata/web-admin/client";
import { getDashboardNameFromReport } from "@rilldata/web-common/features/scheduled-reports/utils";
import { createForm } from "svelte-forms-lib";
import * as yup from "yup";
import { Button } from "../../components/button";
Expand All @@ -30,8 +31,6 @@
} from "./time-utils";
import * as Dialog from "@rilldata/web-common/components/dialog-v2";
import { queryClient } from "@rilldata/web-common/lib/svelte-query/globalQueryClient";
import { getDashboardNameFromReport } from "@rilldata/web-common/features/scheduled-reports/utils";
import { ResourceKind } from "../entity-management/resource-selectors";
export let open: boolean;
Expand All @@ -42,8 +41,10 @@
const user = createAdminServiceGetCurrentUser();
$: metricsViewName =
getDashboardNameFromReport(reportSpec) ?? queryArgs.metricsViewName;
$: if (!exploreName) {
exploreName =
getDashboardNameFromReport(reportSpec) ?? queryArgs.metricsViewName;
}
$: ({ organization, project, report: reportName } = $page.params);
Expand Down Expand Up @@ -178,7 +179,7 @@
<BaseScheduledReportForm
formId="scheduled-report-form"
{formState}
{metricsViewName}
exploreName={exploreName ?? ""}
/>

<div class="flex items-center gap-x-2 mt-5">
Expand Down

0 comments on commit c80db41

Please sign in to comment.