Skip to content

Commit 2c54645

Browse files
Merge branch 'main' into main
2 parents 53e9327 + 88a29bf commit 2c54645

File tree

11 files changed

+382
-312
lines changed

11 files changed

+382
-312
lines changed

apps/builder/app/builder/features/address-bar.tsx

Lines changed: 2 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -27,34 +27,16 @@ import {
2727
MenuList,
2828
} from "@webstudio-is/design-system";
2929
import { CheckMarkIcon, CopyIcon, DynamicPageIcon } from "@webstudio-is/icons";
30-
import {
31-
findParentFolderByChildId,
32-
ROOT_FOLDER_ID,
33-
getPagePath,
34-
} from "@webstudio-is/sdk";
35-
import { $pages, $publishedOrigin } from "~/shared/nano-states";
30+
import { $publishedOrigin } from "~/shared/nano-states";
3631
import {
3732
compilePathnamePattern,
3833
isPathnamePattern,
3934
matchPathnamePattern,
4035
tokenizePathnamePattern,
4136
} from "~/builder/shared/url-pattern";
42-
import { $selectedPage } from "~/shared/awareness";
37+
import { $selectedPage, $selectedPagePath } from "~/shared/awareness";
4338
import { $currentSystem, updateCurrentSystem } from "~/shared/system";
4439

45-
const $selectedPagePath = computed([$selectedPage, $pages], (page, pages) => {
46-
if (pages === undefined || page === undefined) {
47-
return "/";
48-
}
49-
const parentFolder = findParentFolderByChildId(page.id, pages.folders);
50-
const parentFolderId = parentFolder?.id ?? ROOT_FOLDER_ID;
51-
const foldersPath = getPagePath(parentFolderId, pages);
52-
return [foldersPath, page?.path ?? ""]
53-
.filter(Boolean)
54-
.join("/")
55-
.replace(/\/+/g, "/");
56-
});
57-
5840
const $selectedPageHistory = computed(
5941
$selectedPage,
6042
(page) => page?.history ?? []

apps/builder/app/builder/features/settings-panel/controls/resource-control.tsx

Lines changed: 29 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,16 +25,25 @@ import {
2525
BindingPopover,
2626
type BindingVariant,
2727
} from "~/builder/shared/binding-popover";
28-
import { $props, $resources } from "~/shared/nano-states";
28+
import {
29+
$dataSources,
30+
$props,
31+
$resources,
32+
$variableValuesByInstanceSelector,
33+
} from "~/shared/nano-states";
2934
import { computeExpression } from "~/shared/data-variables";
3035
import { updateWebstudioData } from "~/shared/instance-utils";
31-
import { $selectedInstance } from "~/shared/awareness";
3236
import {
33-
$selectedInstanceResourceScope,
37+
$selectedInstance,
38+
$selectedInstanceKeyWithRoot,
39+
$selectedPage,
40+
} from "~/shared/awareness";
41+
import {
3442
UrlField,
3543
MethodField,
3644
Headers,
3745
parseResource,
46+
getResourceScopeForInstance,
3847
} from "../resource-panel";
3948
import { type ControlProps, useLocalValue, VerticalLayout } from "../shared";
4049
import { PropertyLabel } from "../property-label";
@@ -77,6 +86,23 @@ const ResourceButton = forwardRef<
7786
});
7887
ResourceButton.displayName = "ResourceButton";
7988

89+
const $selectedInstanceResourceScope = computed(
90+
[
91+
$selectedPage,
92+
$selectedInstanceKeyWithRoot,
93+
$variableValuesByInstanceSelector,
94+
$dataSources,
95+
],
96+
(page, instanceKey, variableValuesByInstanceSelector, dataSources) => {
97+
return getResourceScopeForInstance({
98+
page,
99+
instanceKey,
100+
dataSources,
101+
variableValuesByInstanceSelector,
102+
});
103+
}
104+
);
105+
80106
const ResourceForm = ({ resource }: { resource: Resource }) => {
81107
const { scope, aliases } = useStore($selectedInstanceResourceScope);
82108
const [url, setUrl] = useState(resource.url);

0 commit comments

Comments
 (0)