Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
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
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import { Text } from "@/components/ui/typography";
import { usePipelineRename } from "@/routes/v2/pages/Editor/hooks/usePipelineRename";
import { useEditorSession } from "@/routes/v2/pages/Editor/store/EditorSessionContext";
import { AppMenuActions } from "@/routes/v2/shared/components/AppMenuActions";
import { WindowsMenu } from "@/routes/v2/shared/components/WindowsMenu";
import { useSharedStores } from "@/routes/v2/shared/store/SharedStoreContext";
import { TOP_NAV_HEIGHT } from "@/utils/constants";
import { tracking } from "@/utils/tracking";
Expand All @@ -22,7 +23,6 @@ import { NodeMenu } from "./components/NodeMenu";
import { QuickRunButton } from "./components/QuickRunButton";
import { RunsMenu } from "./components/RunsMenu";
import { ViewMenu } from "./components/ViewMenu";
import { WindowsMenu } from "./components/WindowsMenu";

export const EditorMenuBar = observer(function EditorMenuBar() {
const { navigation } = useSharedStores();
Expand Down Expand Up @@ -107,7 +107,7 @@ export const EditorMenuBar = observer(function EditorMenuBar() {
<ViewMenu />
<RunsMenu />
<ComponentsLibraryMenu />
<WindowsMenu />
<WindowsMenu trackingPrefix="v2.pipeline_editor.windows_menu" />
<NodeMenu />
</InlineStack>
</BlockStack>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import { BlockStack, InlineStack } from "@/components/ui/layout";
import { Link } from "@/components/ui/link";
import { Text } from "@/components/ui/typography";
import { AppMenuActions } from "@/routes/v2/shared/components/AppMenuActions";
import { WindowsMenu } from "@/routes/v2/shared/components/WindowsMenu";
import { useSharedStores } from "@/routes/v2/shared/store/SharedStoreContext";
import { TOP_NAV_HEIGHT } from "@/utils/constants";
import { tracking } from "@/utils/tracking";
Expand Down Expand Up @@ -62,6 +63,7 @@ export const RunViewMenuBar = observer(function RunViewMenuBar() {
<InlineStack wrap="nowrap" blockAlign="center">
<RunMenu />
<RunViewViewMenu />
<WindowsMenu trackingPrefix="v2.run_view.windows_menu" />
</InlineStack>
</BlockStack>
</InlineStack>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,15 +21,22 @@ import {
} from "@/routes/v2/shared/windows/viewPresets";
import { tracking } from "@/utils/tracking";

export const WindowsMenu = observer(function WindowsMenu() {
interface WindowsMenuProps {
/** Tracking id for the menu trigger; sub-events are derived from it. */
trackingPrefix: string;
}

export const WindowsMenu = observer(function WindowsMenu({
trackingPrefix,
}: WindowsMenuProps) {
const { track } = useAnalytics();
const { windows } = useSharedStores();
const sortedWindows = [...windows.getAllWindows()]
.filter((window) => window.persisted)
.sort((a, b) => a.title.localeCompare(b.title));

const applyPreset = (preset: ViewPreset) => {
track("v2.pipeline_editor.windows_menu.view_preset.click", {
track(`${trackingPrefix}.view_preset.click`, {
preset_label: preset.label,
});
windows.applyViewPreset(preset);
Expand All @@ -38,7 +45,7 @@ export const WindowsMenu = observer(function WindowsMenu() {
return (
<DropdownMenu>
<DropdownMenuTrigger asChild>
<MenuTriggerButton {...tracking("v2.pipeline_editor.windows_menu")}>
<MenuTriggerButton {...tracking(trackingPrefix)}>
Windows
</MenuTriggerButton>
</DropdownMenuTrigger>
Expand All @@ -49,13 +56,10 @@ export const WindowsMenu = observer(function WindowsMenu() {
checked={win.state !== "hidden"}
onSelect={(e) => e.preventDefault()}
onCheckedChange={(checked) => {
track(
"v2.pipeline_editor.windows_menu.window_visibility.toggle",
{
window_id: win.id,
visible: checked,
},
);
track(`${trackingPrefix}.window_visibility.toggle`, {
window_id: win.id,
visible: checked,
});
if (checked) {
win.restore();
} else {
Expand Down
Loading