@dxos/plugin-space 0.8.4-main.a4bbb77 → 0.8.4-main.ae835ea
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/browser/{CollectionMain-AX7KKXWP.mjs → CollectionMain-HTKSZCRR.mjs} +2 -2
- package/dist/lib/browser/ObjectDetailsPanel-5B45G744.mjs +145 -0
- package/dist/lib/browser/ObjectDetailsPanel-5B45G744.mjs.map +7 -0
- package/dist/lib/browser/ObjectSettings-UFTKBP7B.mjs +146 -0
- package/dist/lib/browser/ObjectSettings-UFTKBP7B.mjs.map +7 -0
- package/dist/lib/browser/RecordMain-BCSXTSEB.mjs +99 -0
- package/dist/lib/browser/RecordMain-BCSXTSEB.mjs.map +7 -0
- package/dist/lib/browser/{app-graph-builder-W7RVDAUA.mjs → app-graph-builder-QJFO4ANM.mjs} +37 -34
- package/dist/lib/browser/app-graph-builder-QJFO4ANM.mjs.map +7 -0
- package/dist/lib/browser/{app-graph-serializer-VLHVTDX4.mjs → app-graph-serializer-3R5NVV7U.mjs} +5 -5
- package/dist/lib/browser/{chunk-E2I747A7.mjs → chunk-2NS3VPSY.mjs} +2 -2
- package/dist/lib/browser/chunk-2NS3VPSY.mjs.map +7 -0
- package/dist/lib/browser/{chunk-ZIZ2JLW6.mjs → chunk-4V4JNJ33.mjs} +12 -4
- package/dist/lib/browser/chunk-4V4JNJ33.mjs.map +7 -0
- package/dist/lib/browser/{chunk-2BFVC5K6.mjs → chunk-ENBBJSNE.mjs} +230 -254
- package/dist/lib/browser/chunk-ENBBJSNE.mjs.map +7 -0
- package/dist/lib/browser/chunk-HS2VD6DN.mjs +166 -0
- package/dist/lib/browser/chunk-HS2VD6DN.mjs.map +7 -0
- package/dist/lib/browser/{chunk-PN27K4I7.mjs → chunk-OWNBEI5J.mjs} +23 -14
- package/dist/lib/browser/chunk-OWNBEI5J.mjs.map +7 -0
- package/dist/lib/browser/{chunk-JCHSUOPF.mjs → chunk-SLDQWMQ2.mjs} +12 -7
- package/dist/lib/browser/chunk-SLDQWMQ2.mjs.map +7 -0
- package/dist/lib/browser/chunk-VZBIIYFM.mjs +16 -0
- package/dist/lib/browser/chunk-VZBIIYFM.mjs.map +7 -0
- package/dist/lib/browser/{chunk-EIXZABXD.mjs → chunk-WJXU4GKV.mjs} +2 -2
- package/dist/lib/browser/index.mjs +31 -31
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/{intent-resolver-HA7DPAUE.mjs → intent-resolver-MBVOLXFQ.mjs} +30 -23
- package/dist/lib/browser/intent-resolver-MBVOLXFQ.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-root-YQUJU64P.mjs → react-root-NKEKCEYM.mjs} +7 -7
- package/dist/lib/browser/{react-surface-HTXYMRSW.mjs → react-surface-PYSN2MBY.mjs} +15 -46
- package/dist/lib/browser/react-surface-PYSN2MBY.mjs.map +7 -0
- package/dist/lib/browser/{schema-defs-R56ZDBZ7.mjs → schema-defs-DWYK7TYW.mjs} +3 -3
- package/dist/lib/browser/{settings-5XPQMSPO.mjs → settings-ZUCC3ZLB.mjs} +3 -3
- package/dist/lib/browser/{spaces-ready-YY77ANIF.mjs → spaces-ready-HTWWJHLR.mjs} +6 -6
- package/dist/lib/browser/spaces-ready-HTWWJHLR.mjs.map +7 -0
- package/dist/lib/browser/{state-Y4RVCG4A.mjs → state-ISVAKMO7.mjs} +3 -3
- package/dist/lib/browser/types/index.mjs +2 -2
- package/dist/lib/node-esm/{CollectionMain-EU57SRYK.mjs → CollectionMain-OUHGG6OC.mjs} +2 -2
- package/dist/lib/node-esm/ObjectDetailsPanel-4SDHQVQU.mjs +146 -0
- package/dist/lib/node-esm/ObjectDetailsPanel-4SDHQVQU.mjs.map +7 -0
- package/dist/lib/node-esm/ObjectSettings-EU6F43RP.mjs +147 -0
- package/dist/lib/node-esm/ObjectSettings-EU6F43RP.mjs.map +7 -0
- package/dist/lib/node-esm/RecordMain-SD76DGOR.mjs +100 -0
- package/dist/lib/node-esm/RecordMain-SD76DGOR.mjs.map +7 -0
- package/dist/lib/node-esm/{app-graph-builder-5ZJJUMQI.mjs → app-graph-builder-B23W62HY.mjs} +37 -34
- package/dist/lib/node-esm/app-graph-builder-B23W62HY.mjs.map +7 -0
- package/dist/lib/node-esm/{app-graph-serializer-EZJSGJUT.mjs → app-graph-serializer-3Z3EXEEF.mjs} +5 -5
- package/dist/lib/node-esm/chunk-BDEFTL6K.mjs +18 -0
- package/dist/lib/node-esm/chunk-BDEFTL6K.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-5XRYHWL7.mjs → chunk-G4PDWB7G.mjs} +12 -4
- package/dist/lib/node-esm/chunk-G4PDWB7G.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-SVFKU7EW.mjs → chunk-H4JILUJK.mjs} +2 -2
- package/dist/lib/node-esm/{chunk-BLPXWPLB.mjs → chunk-KKPCCA5O.mjs} +230 -254
- package/dist/lib/node-esm/chunk-KKPCCA5O.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-PM4ZIGKC.mjs +167 -0
- package/dist/lib/node-esm/chunk-PM4ZIGKC.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-XDQXUZMK.mjs → chunk-XEVIWD3O.mjs} +23 -14
- package/dist/lib/node-esm/chunk-XEVIWD3O.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-6WNZW6KT.mjs → chunk-YFQXFQGT.mjs} +12 -7
- package/dist/lib/node-esm/chunk-YFQXFQGT.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-IJVBBVCL.mjs → chunk-ZLMFLI7G.mjs} +2 -2
- package/dist/lib/node-esm/chunk-ZLMFLI7G.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +31 -31
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/{intent-resolver-LQNHMPIX.mjs → intent-resolver-IWI47NTW.mjs} +30 -23
- package/dist/lib/node-esm/intent-resolver-IWI47NTW.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{react-root-UTLJEIKE.mjs → react-root-LX7SIG6M.mjs} +7 -7
- package/dist/lib/node-esm/{react-surface-LYDYON3U.mjs → react-surface-6SVGOZNJ.mjs} +15 -46
- package/dist/lib/node-esm/react-surface-6SVGOZNJ.mjs.map +7 -0
- package/dist/lib/node-esm/{schema-defs-7IMJPIWS.mjs → schema-defs-EOG2UPJU.mjs} +3 -3
- package/dist/lib/node-esm/{settings-XBSK5KHH.mjs → settings-ZDJNLFGW.mjs} +3 -3
- package/dist/lib/node-esm/{spaces-ready-YX4IHT4P.mjs → spaces-ready-VUGYPF4L.mjs} +6 -6
- package/dist/lib/node-esm/spaces-ready-VUGYPF4L.mjs.map +7 -0
- package/dist/lib/node-esm/{state-HOHAVPUO.mjs → state-QZ4Q6ZRL.mjs} +3 -3
- package/dist/lib/node-esm/types/index.mjs +2 -2
- package/dist/types/src/SpacePlugin.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
- package/dist/types/src/capabilities/capabilities.d.ts +2 -1
- package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +1 -1
- package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts +80 -0
- package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts.map +1 -1
- package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +1 -1
- package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
- package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts.map +1 -1
- package/dist/types/src/components/MembersContainer.stories.d.ts +80 -0
- package/dist/types/src/components/MembersContainer.stories.d.ts.map +1 -1
- package/dist/types/src/components/ObjectDetailsPanel/ObjectDetailsPanel.d.ts +9 -0
- package/dist/types/src/components/ObjectDetailsPanel/ObjectDetailsPanel.d.ts.map +1 -0
- package/dist/types/src/components/ObjectDetailsPanel/ObjectForm.d.ts +10 -0
- package/dist/types/src/components/ObjectDetailsPanel/ObjectForm.d.ts.map +1 -0
- package/dist/types/src/components/ObjectDetailsPanel/index.d.ts +3 -0
- package/dist/types/src/components/ObjectDetailsPanel/index.d.ts.map +1 -0
- package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts +2 -2
- package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts.map +1 -1
- package/dist/types/src/components/ObjectSettings/BaseObjectSettings.stories.d.ts +1500 -0
- package/dist/types/src/components/ObjectSettings/BaseObjectSettings.stories.d.ts.map +1 -0
- package/dist/types/src/components/ObjectSettings/ForeignKeys.d.ts +1 -1
- package/dist/types/src/components/ObjectSettings/ForeignKeys.d.ts.map +1 -1
- package/dist/types/src/components/ObjectSettings/index.d.ts +2 -1
- package/dist/types/src/components/ObjectSettings/index.d.ts.map +1 -1
- package/dist/types/src/components/RecordMain.d.ts +4 -3
- package/dist/types/src/components/RecordMain.d.ts.map +1 -1
- package/dist/types/src/components/RecordMain.stories.d.ts +1667 -0
- package/dist/types/src/components/RecordMain.stories.d.ts.map +1 -0
- package/dist/types/src/components/SpacePresence.stories.d.ts +80 -0
- package/dist/types/src/components/SpacePresence.stories.d.ts.map +1 -1
- package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts.map +1 -1
- package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts +80 -0
- package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts.map +1 -1
- package/dist/types/src/components/SyncStatus/SyncStatus.d.ts.map +1 -1
- package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts +81 -1
- package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts.map +1 -1
- package/dist/types/src/components/ViewEditor.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +4 -6
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/hooks/index.d.ts +1 -0
- package/dist/types/src/hooks/index.d.ts.map +1 -1
- package/dist/types/src/hooks/useInputSurfaceLookup.d.ts +1 -1
- package/dist/types/src/hooks/useInputSurfaceLookup.d.ts.map +1 -1
- package/dist/types/src/hooks/usePath.d.ts +1 -1
- package/dist/types/src/hooks/usePath.d.ts.map +1 -1
- package/dist/types/src/hooks/useTypeOptions.d.ts +10 -0
- package/dist/types/src/hooks/useTypeOptions.d.ts.map +1 -0
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +80 -0
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts +6 -4
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/dist/types/src/util.d.ts +4 -1
- package/dist/types/src/util.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +50 -48
- package/src/SpacePlugin.ts +7 -13
- package/src/capabilities/app-graph-builder.ts +29 -24
- package/src/capabilities/capabilities.ts +7 -2
- package/src/capabilities/intent-resolver.ts +13 -8
- package/src/capabilities/react-surface.tsx +6 -77
- package/src/capabilities/spaces-ready.ts +1 -1
- package/src/components/CreateDialog/CreateObjectDialog.tsx +5 -4
- package/src/components/CreateDialog/CreateObjectPanel.tsx +2 -2
- package/src/components/CreateDialog/CreateSpaceDialog.tsx +2 -1
- package/src/components/MembersContainer.tsx +1 -1
- package/src/components/{ObjectDetailsPanel.tsx → ObjectDetailsPanel/ObjectDetailsPanel.tsx} +8 -35
- package/src/components/ObjectDetailsPanel/ObjectForm.tsx +75 -0
- package/src/components/ObjectDetailsPanel/index.ts +7 -0
- package/src/components/ObjectSettings/AdvancedObjectSettings.tsx +1 -1
- package/src/components/ObjectSettings/BaseObjectSettings.stories.tsx +63 -0
- package/src/components/ObjectSettings/BaseObjectSettings.tsx +86 -26
- package/src/components/ObjectSettings/ForeignKeys.tsx +1 -1
- package/src/components/ObjectSettings/index.ts +3 -1
- package/src/components/RecordMain.stories.tsx +116 -0
- package/src/components/RecordMain.tsx +69 -29
- package/src/components/SchemaContainer.tsx +1 -1
- package/src/components/SpacePresence.tsx +1 -1
- package/src/components/SpaceSettings/SpaceSettingsContainer.tsx +4 -3
- package/src/components/SyncStatus/InlineSyncStatus.tsx +5 -5
- package/src/components/SyncStatus/SyncStatus.stories.tsx +3 -2
- package/src/components/SyncStatus/SyncStatus.tsx +93 -3
- package/src/components/ViewEditor.tsx +6 -7
- package/src/components/index.ts +1 -1
- package/src/hooks/index.ts +1 -0
- package/src/hooks/useInputSurfaceLookup.tsx +1 -1
- package/src/hooks/usePath.ts +1 -1
- package/src/hooks/useTypeOptions.ts +59 -0
- package/src/meta.ts +5 -0
- package/src/translations.ts +10 -1
- package/src/types/types.ts +9 -5
- package/src/util.tsx +22 -8
- package/dist/lib/browser/ObjectDetailsPanel-ETI5YBTH.mjs +0 -90
- package/dist/lib/browser/ObjectDetailsPanel-ETI5YBTH.mjs.map +0 -7
- package/dist/lib/browser/RecordMain-TEBGAVSL.mjs +0 -68
- package/dist/lib/browser/RecordMain-TEBGAVSL.mjs.map +0 -7
- package/dist/lib/browser/app-graph-builder-W7RVDAUA.mjs.map +0 -7
- package/dist/lib/browser/chunk-2BFVC5K6.mjs.map +0 -7
- package/dist/lib/browser/chunk-E2I747A7.mjs.map +0 -7
- package/dist/lib/browser/chunk-ELJDGQTO.mjs +0 -94
- package/dist/lib/browser/chunk-ELJDGQTO.mjs.map +0 -7
- package/dist/lib/browser/chunk-IRKDREHY.mjs +0 -11
- package/dist/lib/browser/chunk-IRKDREHY.mjs.map +0 -7
- package/dist/lib/browser/chunk-JCHSUOPF.mjs.map +0 -7
- package/dist/lib/browser/chunk-PN27K4I7.mjs.map +0 -7
- package/dist/lib/browser/chunk-ZIZ2JLW6.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-HA7DPAUE.mjs.map +0 -7
- package/dist/lib/browser/react-surface-HTXYMRSW.mjs.map +0 -7
- package/dist/lib/browser/spaces-ready-YY77ANIF.mjs.map +0 -7
- package/dist/lib/node-esm/ObjectDetailsPanel-TQ5GN4QJ.mjs +0 -91
- package/dist/lib/node-esm/ObjectDetailsPanel-TQ5GN4QJ.mjs.map +0 -7
- package/dist/lib/node-esm/RecordMain-WLYJMYER.mjs +0 -70
- package/dist/lib/node-esm/RecordMain-WLYJMYER.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-builder-5ZJJUMQI.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-5XRYHWL7.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-6WNZW6KT.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-BLPXWPLB.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-IJVBBVCL.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-MWNATOXL.mjs +0 -13
- package/dist/lib/node-esm/chunk-MWNATOXL.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-Q6AAQLQG.mjs +0 -96
- package/dist/lib/node-esm/chunk-Q6AAQLQG.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-XDQXUZMK.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-LQNHMPIX.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-LYDYON3U.mjs.map +0 -7
- package/dist/lib/node-esm/spaces-ready-YX4IHT4P.mjs.map +0 -7
- package/dist/types/src/components/ObjectDetailsPanel.d.ts +0 -9
- package/dist/types/src/components/ObjectDetailsPanel.d.ts.map +0 -1
- /package/dist/lib/browser/{CollectionMain-AX7KKXWP.mjs.map → CollectionMain-HTKSZCRR.mjs.map} +0 -0
- /package/dist/lib/browser/{app-graph-serializer-VLHVTDX4.mjs.map → app-graph-serializer-3R5NVV7U.mjs.map} +0 -0
- /package/dist/lib/browser/{chunk-EIXZABXD.mjs.map → chunk-WJXU4GKV.mjs.map} +0 -0
- /package/dist/lib/browser/{react-root-YQUJU64P.mjs.map → react-root-NKEKCEYM.mjs.map} +0 -0
- /package/dist/lib/browser/{schema-defs-R56ZDBZ7.mjs.map → schema-defs-DWYK7TYW.mjs.map} +0 -0
- /package/dist/lib/browser/{settings-5XPQMSPO.mjs.map → settings-ZUCC3ZLB.mjs.map} +0 -0
- /package/dist/lib/browser/{state-Y4RVCG4A.mjs.map → state-ISVAKMO7.mjs.map} +0 -0
- /package/dist/lib/node-esm/{CollectionMain-EU57SRYK.mjs.map → CollectionMain-OUHGG6OC.mjs.map} +0 -0
- /package/dist/lib/node-esm/{app-graph-serializer-EZJSGJUT.mjs.map → app-graph-serializer-3Z3EXEEF.mjs.map} +0 -0
- /package/dist/lib/node-esm/{chunk-SVFKU7EW.mjs.map → chunk-H4JILUJK.mjs.map} +0 -0
- /package/dist/lib/node-esm/{react-root-UTLJEIKE.mjs.map → react-root-LX7SIG6M.mjs.map} +0 -0
- /package/dist/lib/node-esm/{schema-defs-7IMJPIWS.mjs.map → schema-defs-EOG2UPJU.mjs.map} +0 -0
- /package/dist/lib/node-esm/{settings-XBSK5KHH.mjs.map → settings-ZDJNLFGW.mjs.map} +0 -0
- /package/dist/lib/node-esm/{state-HOHAVPUO.mjs.map → state-QZ4Q6ZRL.mjs.map} +0 -0
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
meta
|
|
4
|
+
} from "./chunk-BDEFTL6K.mjs";
|
|
5
|
+
|
|
6
|
+
// src/components/ObjectSettings/ObjectSettingsContainer.tsx
|
|
7
|
+
import { useSignals as _useSignals2 } from "@preact-signals/safe-react/tracking";
|
|
8
|
+
import React2, { useMemo as useMemo2 } from "react";
|
|
9
|
+
import { Surface } from "@dxos/app-framework";
|
|
10
|
+
import { Clipboard, Toolbar } from "@dxos/react-ui";
|
|
11
|
+
import { StackItem } from "@dxos/react-ui-stack";
|
|
12
|
+
|
|
13
|
+
// src/components/ObjectSettings/BaseObjectSettings.tsx
|
|
14
|
+
import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
|
|
15
|
+
import { batch } from "@preact/signals-core";
|
|
16
|
+
import * as Function from "effect/Function";
|
|
17
|
+
import * as Option from "effect/Option";
|
|
18
|
+
import * as Schema from "effect/Schema";
|
|
19
|
+
import React, { useCallback, useMemo } from "react";
|
|
20
|
+
import { DXN, Obj, Tag, Type } from "@dxos/echo";
|
|
21
|
+
import { invariant } from "@dxos/invariant";
|
|
22
|
+
import { getSpace } from "@dxos/react-client/echo";
|
|
23
|
+
import { Form, useRefQueryLookupHandler } from "@dxos/react-ui-form";
|
|
24
|
+
var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-space/src/components/ObjectSettings/BaseObjectSettings.tsx";
|
|
25
|
+
var BaseSchema = Schema.Struct({
|
|
26
|
+
// TODO(wittjosiah): Support multiple tags.
|
|
27
|
+
tag: Type.Ref(Tag.Tag).pipe(Schema.optional)
|
|
28
|
+
});
|
|
29
|
+
var TagSchema = Tag.Tag.pipe(Schema.omit("id"));
|
|
30
|
+
var BaseObjectSettings = ({ classNames, children, object }) => {
|
|
31
|
+
var _effect = _useSignals();
|
|
32
|
+
try {
|
|
33
|
+
const space = getSpace(object);
|
|
34
|
+
const handleRefQueryLookup = useRefQueryLookupHandler({
|
|
35
|
+
space
|
|
36
|
+
});
|
|
37
|
+
const formSchema = useMemo(() => {
|
|
38
|
+
return Function.pipe(Obj.getSchema(object), Option.fromNullable, Option.map((schema) => BaseSchema.pipe(Schema.extend(schema))), Option.getOrUndefined);
|
|
39
|
+
}, [
|
|
40
|
+
object
|
|
41
|
+
]);
|
|
42
|
+
const meta2 = Obj.getMeta(object);
|
|
43
|
+
const tag = meta2.tags?.[0] ? space?.db.ref(DXN.parse(meta2.tags?.[0])) : void 0;
|
|
44
|
+
const values = useMemo(() => ({
|
|
45
|
+
tag,
|
|
46
|
+
...object
|
|
47
|
+
}), [
|
|
48
|
+
object,
|
|
49
|
+
tag
|
|
50
|
+
]);
|
|
51
|
+
const handleCreateTag = useCallback((values2) => {
|
|
52
|
+
invariant(space, void 0, {
|
|
53
|
+
F: __dxlog_file,
|
|
54
|
+
L: 59,
|
|
55
|
+
S: void 0,
|
|
56
|
+
A: [
|
|
57
|
+
"space",
|
|
58
|
+
""
|
|
59
|
+
]
|
|
60
|
+
});
|
|
61
|
+
const tag2 = space.db.add(Tag.make(values2));
|
|
62
|
+
const meta3 = Obj.getMeta(object);
|
|
63
|
+
meta3.tags = [
|
|
64
|
+
Obj.getDXN(tag2).toString()
|
|
65
|
+
];
|
|
66
|
+
}, []);
|
|
67
|
+
const handleSave = useCallback(({ tag: tag2, ...values2 }) => {
|
|
68
|
+
batch(() => {
|
|
69
|
+
const meta3 = Obj.getMeta(object);
|
|
70
|
+
const currentTag = meta3.tags?.[0];
|
|
71
|
+
if (tag2 !== void 0 && currentTag !== tag2?.dxn.toString()) {
|
|
72
|
+
meta3.tags = [
|
|
73
|
+
tag2.dxn.toString()
|
|
74
|
+
];
|
|
75
|
+
}
|
|
76
|
+
Object.entries(values2).forEach(([key, value]) => {
|
|
77
|
+
if (value !== void 0 && value !== object[key]) {
|
|
78
|
+
Object.defineProperty(object, key, {
|
|
79
|
+
value
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
}, [
|
|
85
|
+
object
|
|
86
|
+
]);
|
|
87
|
+
if (!formSchema) {
|
|
88
|
+
return null;
|
|
89
|
+
}
|
|
90
|
+
return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(Form, {
|
|
91
|
+
classNames,
|
|
92
|
+
outerSpacing: false,
|
|
93
|
+
autoSave: true,
|
|
94
|
+
schema: formSchema,
|
|
95
|
+
values,
|
|
96
|
+
createSchema: TagSchema,
|
|
97
|
+
createOptionIcon: "ph--plus--regular",
|
|
98
|
+
createOptionLabel: [
|
|
99
|
+
"add tag label",
|
|
100
|
+
{
|
|
101
|
+
ns: meta.id
|
|
102
|
+
}
|
|
103
|
+
],
|
|
104
|
+
createInitialValuePath: "label",
|
|
105
|
+
onCreate: handleCreateTag,
|
|
106
|
+
onSave: handleSave,
|
|
107
|
+
onQueryRefOptions: handleRefQueryLookup
|
|
108
|
+
}), children);
|
|
109
|
+
} finally {
|
|
110
|
+
_effect.f();
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
// src/components/ObjectSettings/ObjectSettingsContainer.tsx
|
|
115
|
+
var ObjectSettingsContainer = ({ object, role }) => {
|
|
116
|
+
var _effect = _useSignals2();
|
|
117
|
+
try {
|
|
118
|
+
const data = useMemo2(() => ({
|
|
119
|
+
subject: object
|
|
120
|
+
}), [
|
|
121
|
+
object
|
|
122
|
+
]);
|
|
123
|
+
return /* @__PURE__ */ React2.createElement(Clipboard.Provider, null, /* @__PURE__ */ React2.createElement(StackItem.Content, {
|
|
124
|
+
toolbar: true
|
|
125
|
+
}, /* @__PURE__ */ React2.createElement(Toolbar.Root, null), /* @__PURE__ */ React2.createElement("div", {
|
|
126
|
+
role: "none",
|
|
127
|
+
className: "overflow-y-auto pli-cardSpacingInline plb-cardSpacingBlock"
|
|
128
|
+
}, /* @__PURE__ */ React2.createElement(BaseObjectSettings, {
|
|
129
|
+
object
|
|
130
|
+
}, /* @__PURE__ */ React2.createElement(Surface, {
|
|
131
|
+
role: "base-object-settings",
|
|
132
|
+
data
|
|
133
|
+
})), /* @__PURE__ */ React2.createElement(Surface, {
|
|
134
|
+
role: "object-settings",
|
|
135
|
+
data
|
|
136
|
+
}))));
|
|
137
|
+
} finally {
|
|
138
|
+
_effect.f();
|
|
139
|
+
}
|
|
140
|
+
};
|
|
141
|
+
|
|
142
|
+
// src/components/ObjectSettings/index.ts
|
|
143
|
+
var ObjectSettings_default = ObjectSettingsContainer;
|
|
144
|
+
export {
|
|
145
|
+
ObjectSettings_default as default
|
|
146
|
+
};
|
|
147
|
+
//# sourceMappingURL=ObjectSettings-EU6F43RP.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/components/ObjectSettings/ObjectSettingsContainer.tsx", "../../../src/components/ObjectSettings/BaseObjectSettings.tsx", "../../../src/components/ObjectSettings/index.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useMemo } from 'react';\n\nimport { Surface } from '@dxos/app-framework';\nimport { type Obj } from '@dxos/echo';\nimport { Clipboard, Toolbar } from '@dxos/react-ui';\nimport { StackItem } from '@dxos/react-ui-stack';\n\nimport { BaseObjectSettings } from './BaseObjectSettings';\n\nexport type ObjectSettingsContainerProps = {\n object: Obj.Any;\n role: string;\n};\n\nexport const ObjectSettingsContainer = ({ object, role }: ObjectSettingsContainerProps) => {\n const data = useMemo(() => ({ subject: object }), [object]);\n\n return (\n <Clipboard.Provider>\n <StackItem.Content toolbar>\n <Toolbar.Root></Toolbar.Root>\n <div role='none' className='overflow-y-auto pli-cardSpacingInline plb-cardSpacingBlock'>\n <BaseObjectSettings object={object}>\n <Surface role='base-object-settings' data={data} />\n </BaseObjectSettings>\n <Surface role='object-settings' data={data} />\n {/* TODO(wittjosiah): Remove? */}\n {/* <AdvancedObjectSettings object={object} /> */}\n </div>\n </StackItem.Content>\n </Clipboard.Provider>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { batch } from '@preact/signals-core';\nimport * as Function from 'effect/Function';\nimport * as Option from 'effect/Option';\nimport * as Schema from 'effect/Schema';\nimport React, { type PropsWithChildren, useCallback, useMemo } from 'react';\n\nimport { DXN, Obj, Tag, Type } from '@dxos/echo';\nimport { invariant } from '@dxos/invariant';\nimport { getSpace } from '@dxos/react-client/echo';\nimport { type ThemedClassName } from '@dxos/react-ui';\nimport { Form, useRefQueryLookupHandler } from '@dxos/react-ui-form';\n\nimport { meta as pluginMeta } from '../../meta';\n\n// TODO(wittjosiah): Would be nice to control order when extending so this isn't always first/last.\nconst BaseSchema = Schema.Struct({\n // TODO(wittjosiah): Support multiple tags.\n tag: Type.Ref(Tag.Tag).pipe(Schema.optional),\n});\n\n// TODO(wittjosiah): Better way to support validation of object schemas?\nconst TagSchema = Tag.Tag.pipe(Schema.omit('id'));\n\nexport type BaseObjectSettingsProps = ThemedClassName<\n PropsWithChildren<{\n object: Obj.Any;\n }>\n>;\n\n// TODO(wittjosiah): Reconcile w/ ObjectDetailsPanel.\nexport const BaseObjectSettings = ({ classNames, children, object }: BaseObjectSettingsProps) => {\n const space = getSpace(object);\n const handleRefQueryLookup = useRefQueryLookupHandler({ space });\n\n const formSchema = useMemo(() => {\n return Function.pipe(\n Obj.getSchema(object),\n Option.fromNullable,\n Option.map((schema) => BaseSchema.pipe(Schema.extend(schema))),\n Option.getOrUndefined,\n );\n }, [object]);\n\n const meta = Obj.getMeta(object);\n const tag = meta.tags?.[0] ? space?.db.ref(DXN.parse(meta.tags?.[0])) : undefined;\n const values = useMemo(\n () => ({\n tag,\n ...object,\n }),\n [object, tag],\n );\n\n const handleCreateTag = useCallback((values: Schema.Schema.Type<typeof TagSchema>) => {\n invariant(space);\n const tag = space.db.add(Tag.make(values));\n const meta = Obj.getMeta(object);\n meta.tags = [Obj.getDXN(tag).toString()];\n }, []);\n\n const handleSave = useCallback(\n ({ tag, ...values }: Schema.Schema.Type<typeof formSchema>) => {\n batch(() => {\n const meta = Obj.getMeta(object);\n const currentTag = meta.tags?.[0];\n if (tag !== undefined && currentTag !== tag?.dxn.toString()) {\n meta.tags = [tag.dxn.toString()];\n }\n\n Object.entries(values).forEach(([key, value]) => {\n if (value !== undefined && value !== object[key as keyof Obj.Any]) {\n Object.defineProperty(object, key, { value });\n }\n });\n });\n },\n [object],\n );\n\n if (!formSchema) {\n return null;\n }\n\n return (\n <>\n <Form\n classNames={classNames}\n outerSpacing={false}\n autoSave\n schema={formSchema}\n values={values}\n createSchema={TagSchema}\n createOptionIcon='ph--plus--regular'\n createOptionLabel={['add tag label', { ns: pluginMeta.id }]}\n createInitialValuePath='label'\n onCreate={handleCreateTag}\n onSave={handleSave}\n onQueryRefOptions={handleRefQueryLookup}\n />\n {children}\n </>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { ObjectSettingsContainer } from './ObjectSettingsContainer';\n\nexport default ObjectSettingsContainer;\n"],
|
|
5
|
+
"mappings": ";;;;;;;AAIA,OAAOA,UAASC,WAAAA,gBAAe;AAE/B,SAASC,eAAe;AAExB,SAASC,WAAWC,eAAe;AACnC,SAASC,iBAAiB;;;;ACL1B,SAASC,aAAa;AACtB,YAAYC,cAAc;AAC1B,YAAYC,YAAY;AACxB,YAAYC,YAAY;AACxB,OAAOC,SAAiCC,aAAaC,eAAe;AAEpE,SAASC,KAAKC,KAAKC,KAAKC,YAAY;AACpC,SAASC,iBAAiB;AAC1B,SAASC,gBAAgB;AAEzB,SAASC,MAAMC,gCAAgC;;AAK/C,IAAMC,aAAoBC,cAAO;;EAE/BC,KAAKC,KAAKC,IAAIC,IAAIA,GAAG,EAAEC,KAAYC,eAAQ;AAC7C,CAAA;AAGA,IAAMC,YAAYH,IAAIA,IAAIC,KAAYG,YAAK,IAAA,CAAA;AASpC,IAAMC,qBAAqB,CAAC,EAAEC,YAAYC,UAAUC,OAAM,MAA2B;;;AAC1F,UAAMC,QAAQC,SAASF,MAAAA;AACvB,UAAMG,uBAAuBC,yBAAyB;MAAEH;IAAM,CAAA;AAE9D,UAAMI,aAAaC,QAAQ,MAAA;AACzB,aAAgBb,cACdc,IAAIC,UAAUR,MAAAA,GACPS,qBACAC,WAAI,CAACC,WAAWxB,WAAWM,KAAYmB,cAAOD,MAAAA,CAAAA,CAAAA,GAC9CE,qBAAc;IAEzB,GAAG;MAACb;KAAO;AAEX,UAAMc,QAAOP,IAAIQ,QAAQf,MAAAA;AACzB,UAAMX,MAAMyB,MAAKE,OAAO,CAAA,IAAKf,OAAOgB,GAAGC,IAAIC,IAAIC,MAAMN,MAAKE,OAAO,CAAA,CAAE,CAAA,IAAKK;AACxE,UAAMC,SAAShB,QACb,OAAO;MACLjB;MACA,GAAGW;IACL,IACA;MAACA;MAAQX;KAAI;AAGf,UAAMkC,kBAAkBC,YAAY,CAACF,YAAAA;AACnCG,gBAAUxB,OAAAA,QAAAA;;;;;;;;;AACV,YAAMZ,OAAMY,MAAMgB,GAAGS,IAAIlC,IAAImC,KAAKL,OAAAA,CAAAA;AAClC,YAAMR,QAAOP,IAAIQ,QAAQf,MAAAA;AACzBc,MAAAA,MAAKE,OAAO;QAACT,IAAIqB,OAAOvC,IAAAA,EAAKwC,SAAQ;;IACvC,GAAG,CAAA,CAAE;AAEL,UAAMC,aAAaN,YACjB,CAAC,EAAEnC,KAAAA,MAAK,GAAGiC,QAAAA,MAA+C;AACxDS,YAAM,MAAA;AACJ,cAAMjB,QAAOP,IAAIQ,QAAQf,MAAAA;AACzB,cAAMgC,aAAalB,MAAKE,OAAO,CAAA;AAC/B,YAAI3B,SAAQgC,UAAaW,eAAe3C,MAAK4C,IAAIJ,SAAAA,GAAY;AAC3Df,UAAAA,MAAKE,OAAO;YAAC3B,KAAI4C,IAAIJ,SAAQ;;QAC/B;AAEAK,eAAOC,QAAQb,OAAAA,EAAQc,QAAQ,CAAC,CAACC,KAAKC,KAAAA,MAAM;AAC1C,cAAIA,UAAUjB,UAAaiB,UAAUtC,OAAOqC,GAAAA,GAAuB;AACjEH,mBAAOK,eAAevC,QAAQqC,KAAK;cAAEC;YAAM,CAAA;UAC7C;QACF,CAAA;MACF,CAAA;IACF,GACA;MAACtC;KAAO;AAGV,QAAI,CAACK,YAAY;AACf,aAAO;IACT;AAEA,WACE,sBAAA,cAAA,MAAA,UAAA,MACE,sBAAA,cAACmC,MAAAA;MACC1C;MACA2C,cAAc;MACdC,UAAAA;MACA/B,QAAQN;MACRiB;MACAqB,cAAchD;MACdiD,kBAAiB;MACjBC,mBAAmB;QAAC;QAAiB;UAAEC,IAAIC,KAAWC;QAAG;;MACzDC,wBAAuB;MACvBC,UAAU3B;MACV4B,QAAQrB;MACRsB,mBAAmBjD;QAEpBJ,QAAAA;;;;AAGP;;;ADxFO,IAAMsD,0BAA0B,CAAC,EAAEC,QAAQC,KAAI,MAAgC;;;AACpF,UAAMC,OAAOC,SAAQ,OAAO;MAAEC,SAASJ;IAAO,IAAI;MAACA;KAAO;AAE1D,WACE,gBAAAK,OAAA,cAACC,UAAUC,UAAQ,MACjB,gBAAAF,OAAA,cAACG,UAAUC,SAAO;MAACC,SAAAA;OACjB,gBAAAL,OAAA,cAACM,QAAQC,MAAI,IAAA,GACb,gBAAAP,OAAA,cAACQ,OAAAA;MAAIZ,MAAK;MAAOa,WAAU;OACzB,gBAAAT,OAAA,cAACU,oBAAAA;MAAmBf;OAClB,gBAAAK,OAAA,cAACW,SAAAA;MAAQf,MAAK;MAAuBC;SAEvC,gBAAAG,OAAA,cAACW,SAAAA;MAAQf,MAAK;MAAkBC;;;;;AAO1C;;;AE9BA,IAAA,yBAAee;",
|
|
6
|
+
"names": ["React", "useMemo", "Surface", "Clipboard", "Toolbar", "StackItem", "batch", "Function", "Option", "Schema", "React", "useCallback", "useMemo", "DXN", "Obj", "Tag", "Type", "invariant", "getSpace", "Form", "useRefQueryLookupHandler", "BaseSchema", "Struct", "tag", "Type", "Ref", "Tag", "pipe", "optional", "TagSchema", "omit", "BaseObjectSettings", "classNames", "children", "object", "space", "getSpace", "handleRefQueryLookup", "useRefQueryLookupHandler", "formSchema", "useMemo", "Obj", "getSchema", "fromNullable", "map", "schema", "extend", "getOrUndefined", "meta", "getMeta", "tags", "db", "ref", "DXN", "parse", "undefined", "values", "handleCreateTag", "useCallback", "invariant", "add", "make", "getDXN", "toString", "handleSave", "batch", "currentTag", "dxn", "Object", "entries", "forEach", "key", "value", "defineProperty", "Form", "outerSpacing", "autoSave", "createSchema", "createOptionIcon", "createOptionLabel", "ns", "pluginMeta", "id", "createInitialValuePath", "onCreate", "onSave", "onQueryRefOptions", "ObjectSettingsContainer", "object", "role", "data", "useMemo", "subject", "React", "Clipboard", "Provider", "StackItem", "Content", "toolbar", "Toolbar", "Root", "div", "className", "BaseObjectSettings", "Surface", "ObjectSettingsContainer"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
meta
|
|
4
|
+
} from "./chunk-BDEFTL6K.mjs";
|
|
5
|
+
|
|
6
|
+
// src/components/RecordMain.tsx
|
|
7
|
+
import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
|
|
8
|
+
import React, { useMemo } from "react";
|
|
9
|
+
import { Surface } from "@dxos/app-framework";
|
|
10
|
+
import { Filter, Ref, Relation } from "@dxos/echo";
|
|
11
|
+
import { getSpace, useQuery } from "@dxos/react-client/echo";
|
|
12
|
+
import { useTranslation } from "@dxos/react-ui";
|
|
13
|
+
import { Masonry } from "@dxos/react-ui-masonry";
|
|
14
|
+
import { StackItem } from "@dxos/react-ui-stack";
|
|
15
|
+
import { mx } from "@dxos/react-ui-theme";
|
|
16
|
+
import { isNonNullable } from "@dxos/util";
|
|
17
|
+
var RecordMain = ({ record }) => {
|
|
18
|
+
var _effect = _useSignals();
|
|
19
|
+
try {
|
|
20
|
+
const { t } = useTranslation(meta.id);
|
|
21
|
+
const space = getSpace(record);
|
|
22
|
+
const data = useMemo(() => ({
|
|
23
|
+
subject: record
|
|
24
|
+
}), [
|
|
25
|
+
record
|
|
26
|
+
]);
|
|
27
|
+
const objects = useQuery(space, Filter.everything());
|
|
28
|
+
const related = useMemo(() => {
|
|
29
|
+
const relations = objects.filter((obj) => Relation.isRelation(obj));
|
|
30
|
+
const targetObjects = relations.filter((relation) => Relation.getSource(relation) === record).map((relation) => Relation.getTarget(relation));
|
|
31
|
+
const sourceObjects = relations.filter((relation) => Relation.getTarget(relation) === record).map((relation) => Relation.getSource(relation));
|
|
32
|
+
const references = getReferencesFromObject(record);
|
|
33
|
+
const referencedObjects = references.map((ref) => ref.target).filter(isNonNullable);
|
|
34
|
+
const referencingObjects = objects.filter((obj) => {
|
|
35
|
+
const refs = getReferencesFromObject(obj);
|
|
36
|
+
return refs.some((ref) => ref.target === record);
|
|
37
|
+
});
|
|
38
|
+
return [
|
|
39
|
+
...referencedObjects,
|
|
40
|
+
...referencingObjects,
|
|
41
|
+
...targetObjects,
|
|
42
|
+
...sourceObjects
|
|
43
|
+
];
|
|
44
|
+
}, [
|
|
45
|
+
record,
|
|
46
|
+
objects
|
|
47
|
+
]);
|
|
48
|
+
return /* @__PURE__ */ React.createElement(StackItem.Content, {
|
|
49
|
+
classNames: "flex flex-col items-center"
|
|
50
|
+
}, /* @__PURE__ */ React.createElement("div", {
|
|
51
|
+
role: "none",
|
|
52
|
+
className: mx("flex flex-col gap-4 p-6 is-full overflow-y-auto")
|
|
53
|
+
}, /* @__PURE__ */ React.createElement("div", {
|
|
54
|
+
role: "none",
|
|
55
|
+
className: mx("flex flex-col gap-1 card-min-width card-max-width")
|
|
56
|
+
}, /* @__PURE__ */ React.createElement(Surface, {
|
|
57
|
+
role: "section",
|
|
58
|
+
data,
|
|
59
|
+
limit: 1
|
|
60
|
+
})), related.length > 0 && /* @__PURE__ */ React.createElement("div", {
|
|
61
|
+
role: "none",
|
|
62
|
+
className: mx("flex flex-col gap-1", related.length === 1 ? "card-max-width" : "is-full")
|
|
63
|
+
}, /* @__PURE__ */ React.createElement("label", {
|
|
64
|
+
className: "text-description text-sm mbs-2"
|
|
65
|
+
}, t("related objects label")), /* @__PURE__ */ React.createElement(Masonry.Root, {
|
|
66
|
+
items: related,
|
|
67
|
+
render: Card,
|
|
68
|
+
intrinsicHeight: true,
|
|
69
|
+
columnCount: related.length === 1 ? 1 : void 0
|
|
70
|
+
}))));
|
|
71
|
+
} finally {
|
|
72
|
+
_effect.f();
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
var Card = ({ data: subject }) => {
|
|
76
|
+
var _effect = _useSignals();
|
|
77
|
+
try {
|
|
78
|
+
const data = useMemo(() => ({
|
|
79
|
+
subject
|
|
80
|
+
}), [
|
|
81
|
+
subject
|
|
82
|
+
]);
|
|
83
|
+
return /* @__PURE__ */ React.createElement(Surface, {
|
|
84
|
+
role: "card",
|
|
85
|
+
data,
|
|
86
|
+
limit: 1
|
|
87
|
+
});
|
|
88
|
+
} finally {
|
|
89
|
+
_effect.f();
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
var getReferencesFromObject = (obj) => {
|
|
93
|
+
return Object.getOwnPropertyNames(obj).map((name) => obj[name]).filter((value) => Ref.isRef(value));
|
|
94
|
+
};
|
|
95
|
+
var RecordMain_default = RecordMain;
|
|
96
|
+
export {
|
|
97
|
+
RecordMain,
|
|
98
|
+
RecordMain_default as default
|
|
99
|
+
};
|
|
100
|
+
//# sourceMappingURL=RecordMain-SD76DGOR.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/components/RecordMain.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { useMemo } from 'react';\n\nimport { Surface } from '@dxos/app-framework';\nimport { Filter, type Obj, Ref, Relation } from '@dxos/echo';\nimport { getSpace, useQuery } from '@dxos/react-client/echo';\nimport { useTranslation } from '@dxos/react-ui';\nimport { Masonry } from '@dxos/react-ui-masonry';\nimport { StackItem } from '@dxos/react-ui-stack';\nimport { mx } from '@dxos/react-ui-theme';\nimport { isNonNullable } from '@dxos/util';\n\nimport { meta } from '../meta';\n\nexport type RecordMainProps = {\n record: Obj.Any;\n};\n\nexport const RecordMain = ({ record }: RecordMainProps) => {\n const { t } = useTranslation(meta.id);\n const space = getSpace(record);\n const data = useMemo(() => ({ subject: record }), [record]);\n\n // TODO(wittjosiah): This is a hack. ECHO needs to have a back reference index to easily query for related objects.\n const objects = useQuery(space, Filter.everything());\n const related = useMemo(() => {\n const relations = objects.filter((obj) => Relation.isRelation(obj));\n const targetObjects = relations\n .filter((relation) => Relation.getSource(relation) === record)\n .map((relation) => Relation.getTarget(relation));\n const sourceObjects = relations\n .filter((relation) => Relation.getTarget(relation) === record)\n .map((relation) => Relation.getSource(relation));\n\n const references = getReferencesFromObject(record);\n const referencedObjects = references.map((ref) => ref.target).filter(isNonNullable);\n const referencingObjects = objects.filter((obj) => {\n const refs = getReferencesFromObject(obj);\n return refs.some((ref) => ref.target === record);\n });\n\n return [...referencedObjects, ...referencingObjects, ...targetObjects, ...sourceObjects];\n }, [record, objects]);\n\n return (\n <StackItem.Content classNames='flex flex-col items-center'>\n <div role='none' className={mx('flex flex-col gap-4 p-6 is-full overflow-y-auto')}>\n <div role='none' className={mx('flex flex-col gap-1 card-min-width card-max-width')}>\n <Surface role='section' data={data} limit={1} />\n </div>\n\n {/* TODO(wittjosiah): This should maybe be in a separate stack item. */}\n {related.length > 0 && (\n <div role='none' className={mx('flex flex-col gap-1', related.length === 1 ? 'card-max-width' : 'is-full')}>\n <label className='text-description text-sm mbs-2'>{t('related objects label')}</label>\n <Masonry.Root<Obj.Any>\n items={related}\n render={Card}\n intrinsicHeight\n columnCount={related.length === 1 ? 1 : undefined}\n />\n </div>\n )}\n </div>\n </StackItem.Content>\n );\n};\n\nconst Card = ({ data: subject }: { data: Obj.Any }) => {\n const data = useMemo(() => ({ subject }), [subject]);\n return <Surface role='card' data={data} limit={1} />;\n};\n\nconst getReferencesFromObject = (obj: Obj.Any): Ref.Any[] => {\n return Object.getOwnPropertyNames(obj)\n .map((name) => obj[name as keyof Obj.Any])\n .filter((value) => Ref.isRef(value)) as Ref.Any[];\n};\n\nexport default RecordMain;\n"],
|
|
5
|
+
"mappings": ";;;;;;;AAIA,OAAOA,SAASC,eAAe;AAE/B,SAASC,eAAe;AACxB,SAASC,QAAkBC,KAAKC,gBAAgB;AAChD,SAASC,UAAUC,gBAAgB;AACnC,SAASC,sBAAsB;AAC/B,SAASC,eAAe;AACxB,SAASC,iBAAiB;AAC1B,SAASC,UAAU;AACnB,SAASC,qBAAqB;AAQvB,IAAMC,aAAa,CAAC,EAAEC,OAAM,MAAmB;;;AACpD,UAAM,EAAEC,EAAC,IAAKC,eAAeC,KAAKC,EAAE;AACpC,UAAMC,QAAQC,SAASN,MAAAA;AACvB,UAAMO,OAAOC,QAAQ,OAAO;MAAEC,SAAST;IAAO,IAAI;MAACA;KAAO;AAG1D,UAAMU,UAAUC,SAASN,OAAOO,OAAOC,WAAU,CAAA;AACjD,UAAMC,UAAUN,QAAQ,MAAA;AACtB,YAAMO,YAAYL,QAAQM,OAAO,CAACC,QAAQC,SAASC,WAAWF,GAAAA,CAAAA;AAC9D,YAAMG,gBAAgBL,UACnBC,OAAO,CAACK,aAAaH,SAASI,UAAUD,QAAAA,MAAcrB,MAAAA,EACtDuB,IAAI,CAACF,aAAaH,SAASM,UAAUH,QAAAA,CAAAA;AACxC,YAAMI,gBAAgBV,UACnBC,OAAO,CAACK,aAAaH,SAASM,UAAUH,QAAAA,MAAcrB,MAAAA,EACtDuB,IAAI,CAACF,aAAaH,SAASI,UAAUD,QAAAA,CAAAA;AAExC,YAAMK,aAAaC,wBAAwB3B,MAAAA;AAC3C,YAAM4B,oBAAoBF,WAAWH,IAAI,CAACM,QAAQA,IAAIC,MAAM,EAAEd,OAAOe,aAAAA;AACrE,YAAMC,qBAAqBtB,QAAQM,OAAO,CAACC,QAAAA;AACzC,cAAMgB,OAAON,wBAAwBV,GAAAA;AACrC,eAAOgB,KAAKC,KAAK,CAACL,QAAQA,IAAIC,WAAW9B,MAAAA;MAC3C,CAAA;AAEA,aAAO;WAAI4B;WAAsBI;WAAuBZ;WAAkBK;;IAC5E,GAAG;MAACzB;MAAQU;KAAQ;AAEpB,WACE,sBAAA,cAACyB,UAAUC,SAAO;MAACC,YAAW;OAC5B,sBAAA,cAACC,OAAAA;MAAIC,MAAK;MAAOC,WAAWC,GAAG,iDAAA;OAC7B,sBAAA,cAACH,OAAAA;MAAIC,MAAK;MAAOC,WAAWC,GAAG,mDAAA;OAC7B,sBAAA,cAACC,SAAAA;MAAQH,MAAK;MAAUhC;MAAYoC,OAAO;SAI5C7B,QAAQ8B,SAAS,KAChB,sBAAA,cAACN,OAAAA;MAAIC,MAAK;MAAOC,WAAWC,GAAG,uBAAuB3B,QAAQ8B,WAAW,IAAI,mBAAmB,SAAA;OAC9F,sBAAA,cAACC,SAAAA;MAAML,WAAU;OAAkCvC,EAAE,uBAAA,CAAA,GACrD,sBAAA,cAAC6C,QAAQC,MAAI;MACXC,OAAOlC;MACPmC,QAAQC;MACRC,iBAAAA;MACAC,aAAatC,QAAQ8B,WAAW,IAAI,IAAIS;;;;;AAOtD;AAEA,IAAMH,OAAO,CAAC,EAAE3C,MAAME,QAAO,MAAqB;;;AAChD,UAAMF,OAAOC,QAAQ,OAAO;MAAEC;IAAQ,IAAI;MAACA;KAAQ;AACnD,WAAO,sBAAA,cAACiC,SAAAA;MAAQH,MAAK;MAAOhC;MAAYoC,OAAO;;;;;AACjD;AAEA,IAAMhB,0BAA0B,CAACV,QAAAA;AAC/B,SAAOqC,OAAOC,oBAAoBtC,GAAAA,EAC/BM,IAAI,CAACiC,SAASvC,IAAIuC,IAAAA,CAAsB,EACxCxC,OAAO,CAACyC,UAAUC,IAAIC,MAAMF,KAAAA,CAAAA;AACjC;AAEA,IAAA,qBAAe1D;",
|
|
6
|
+
"names": ["React", "useMemo", "Surface", "Filter", "Ref", "Relation", "getSpace", "useQuery", "useTranslation", "Masonry", "StackItem", "mx", "isNonNullable", "RecordMain", "record", "t", "useTranslation", "meta", "id", "space", "getSpace", "data", "useMemo", "subject", "objects", "useQuery", "Filter", "everything", "related", "relations", "filter", "obj", "Relation", "isRelation", "targetObjects", "relation", "getSource", "map", "getTarget", "sourceObjects", "references", "getReferencesFromObject", "referencedObjects", "ref", "target", "isNonNullable", "referencingObjects", "refs", "some", "StackItem", "Content", "classNames", "div", "role", "className", "mx", "Surface", "limit", "length", "label", "Masonry", "Root", "items", "render", "Card", "intrinsicHeight", "columnCount", "undefined", "Object", "getOwnPropertyNames", "name", "value", "Ref", "isRef"]
|
|
7
|
+
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
getActiveSpace
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-PM4ZIGKC.mjs";
|
|
5
5
|
import {
|
|
6
6
|
SpaceCapabilities
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-ZLMFLI7G.mjs";
|
|
8
8
|
import {
|
|
9
9
|
SHARED,
|
|
10
10
|
SPACES,
|
|
@@ -15,18 +15,21 @@ import {
|
|
|
15
15
|
createStaticSchemaActions,
|
|
16
16
|
createStaticSchemaNode,
|
|
17
17
|
rxFromQuery
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-XEVIWD3O.mjs";
|
|
19
19
|
import {
|
|
20
20
|
SPACE_TYPE,
|
|
21
21
|
SpaceAction
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-YFQXFQGT.mjs";
|
|
23
23
|
import {
|
|
24
24
|
meta
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-BDEFTL6K.mjs";
|
|
26
26
|
|
|
27
27
|
// src/capabilities/app-graph-builder.ts
|
|
28
28
|
import { Rx } from "@effect-rx/rx-react";
|
|
29
|
-
import
|
|
29
|
+
import * as Array from "effect/Array";
|
|
30
|
+
import * as Function from "effect/Function";
|
|
31
|
+
import * as Option from "effect/Option";
|
|
32
|
+
import * as Schema from "effect/Schema";
|
|
30
33
|
import { Capabilities, contributes, createIntent } from "@dxos/app-framework";
|
|
31
34
|
import { SpaceState, getSpace, isSpace, parseId } from "@dxos/client/echo";
|
|
32
35
|
import { Filter, Obj, Query, Type } from "@dxos/echo";
|
|
@@ -34,7 +37,7 @@ import { log } from "@dxos/log";
|
|
|
34
37
|
import { ClientCapabilities } from "@dxos/plugin-client";
|
|
35
38
|
import { ATTENDABLE_PATH_SEPARATOR, PLANK_COMPANION_TYPE } from "@dxos/plugin-deck/types";
|
|
36
39
|
import { ROOT_ID, createExtension, rxFromObservable, rxFromSignal } from "@dxos/plugin-graph";
|
|
37
|
-
import { DataType,
|
|
40
|
+
import { DataType, getTypenameFromQuery } from "@dxos/schema";
|
|
38
41
|
import { isNonNullable } from "@dxos/util";
|
|
39
42
|
var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-space/src/capabilities/app-graph-builder.ts";
|
|
40
43
|
var app_graph_builder_default = ((context) => {
|
|
@@ -71,7 +74,7 @@ var app_graph_builder_default = ((context) => {
|
|
|
71
74
|
} else {
|
|
72
75
|
log.warn("spaces order object not found", void 0, {
|
|
73
76
|
F: __dxlog_file,
|
|
74
|
-
L:
|
|
77
|
+
L: 74,
|
|
75
78
|
S: void 0,
|
|
76
79
|
C: (f, a) => f(...a)
|
|
77
80
|
});
|
|
@@ -84,7 +87,7 @@ var app_graph_builder_default = ((context) => {
|
|
|
84
87
|
createExtension({
|
|
85
88
|
id: `${meta.id}/primary-actions`,
|
|
86
89
|
position: "hoist",
|
|
87
|
-
actions: (node) => Rx.make((get) => pipe(get(node), Option.flatMap((node2) => node2.id === ROOT_ID ? Option.some(node2) : Option.none()), Option.map(() => [
|
|
90
|
+
actions: (node) => Rx.make((get) => Function.pipe(get(node), Option.flatMap((node2) => node2.id === ROOT_ID ? Option.some(node2) : Option.none()), Option.map(() => [
|
|
88
91
|
{
|
|
89
92
|
id: SpaceAction.OpenCreateSpace._tag,
|
|
90
93
|
data: async () => {
|
|
@@ -176,7 +179,7 @@ var app_graph_builder_default = ((context) => {
|
|
|
176
179
|
createExtension({
|
|
177
180
|
id: `${meta.id}/root`,
|
|
178
181
|
position: "hoist",
|
|
179
|
-
connector: (node) => Rx.make((get) => pipe(get(node), Option.flatMap((node2) => node2.id === ROOT_ID ? Option.some(node2) : Option.none()), Option.map(() => [
|
|
182
|
+
connector: (node) => Rx.make((get) => Function.pipe(get(node), Option.flatMap((node2) => node2.id === ROOT_ID ? Option.some(node2) : Option.none()), Option.map(() => [
|
|
180
183
|
spacesNode
|
|
181
184
|
]), Option.getOrElse(() => [])))
|
|
182
185
|
}),
|
|
@@ -185,7 +188,7 @@ var app_graph_builder_default = ((context) => {
|
|
|
185
188
|
id: SPACES,
|
|
186
189
|
connector: (node) => {
|
|
187
190
|
let query;
|
|
188
|
-
return Rx.make((get) => pipe(get(node), Option.flatMap((node2) => node2.id === SPACES ? Option.some(node2) : Option.none()), Option.map(() => {
|
|
191
|
+
return Rx.make((get) => Function.pipe(get(node), Option.flatMap((node2) => node2.id === SPACES ? Option.some(node2) : Option.none()), Option.map(() => {
|
|
189
192
|
const state = context.getCapability(SpaceCapabilities.State);
|
|
190
193
|
const client = context.getCapability(ClientCapabilities.Client);
|
|
191
194
|
const spacesRx = rxFromObservable(client.spaces);
|
|
@@ -229,7 +232,7 @@ var app_graph_builder_default = ((context) => {
|
|
|
229
232
|
// Create space actions.
|
|
230
233
|
createExtension({
|
|
231
234
|
id: `${meta.id}/actions`,
|
|
232
|
-
actions: (node) => Rx.make((get) => pipe(get(node), Option.flatMap((node2) => node2.type === SPACE_TYPE && isSpace(node2.data) ? Option.some(node2.data) : Option.none()), Option.flatMap((space) => {
|
|
235
|
+
actions: (node) => Rx.make((get) => Function.pipe(get(node), Option.flatMap((node2) => node2.type === SPACE_TYPE && isSpace(node2.data) ? Option.some(node2.data) : Option.none()), Option.flatMap((space) => {
|
|
233
236
|
const [dispatcher] = get(context.capabilities(Capabilities.IntentDispatcher));
|
|
234
237
|
const [client] = get(context.capabilities(ClientCapabilities.Client));
|
|
235
238
|
const [state] = get(context.capabilities(SpaceCapabilities.State));
|
|
@@ -248,7 +251,7 @@ var app_graph_builder_default = ((context) => {
|
|
|
248
251
|
// Create nodes for objects in the root collection of a space.
|
|
249
252
|
createExtension({
|
|
250
253
|
id: `${meta.id}/root-collection`,
|
|
251
|
-
connector: (node) => Rx.make((get) => pipe(get(node), Option.flatMap((node2) => node2.type === SPACE_TYPE && isSpace(node2.data) ? Option.some(node2.data) : Option.none()), Option.map((space) => {
|
|
254
|
+
connector: (node) => Rx.make((get) => Function.pipe(get(node), Option.flatMap((node2) => node2.type === SPACE_TYPE && isSpace(node2.data) ? Option.some(node2.data) : Option.none()), Option.map((space) => {
|
|
252
255
|
const state = context.getCapability(SpaceCapabilities.State);
|
|
253
256
|
const spaceState = get(rxFromObservable(space.state));
|
|
254
257
|
if (spaceState !== SpaceState.SPACE_READY) {
|
|
@@ -258,7 +261,7 @@ var app_graph_builder_default = ((context) => {
|
|
|
258
261
|
if (!collection) {
|
|
259
262
|
return [];
|
|
260
263
|
}
|
|
261
|
-
return get(rxFromSignal(() => pipe(collection.objects, Array.map((object) => object.target), Array.filter(isNonNullable), Array.map((object) => createObjectNode({
|
|
264
|
+
return get(rxFromSignal(() => Function.pipe(collection.objects, Array.map((object) => object.target), Array.filter(isNonNullable), Array.map((object) => createObjectNode({
|
|
262
265
|
space,
|
|
263
266
|
object,
|
|
264
267
|
resolve,
|
|
@@ -269,10 +272,10 @@ var app_graph_builder_default = ((context) => {
|
|
|
269
272
|
// Create nodes for objects in a collection or by its fully qualified id.
|
|
270
273
|
createExtension({
|
|
271
274
|
id: `${meta.id}/objects`,
|
|
272
|
-
connector: (node) => Rx.make((get) => pipe(get(node), Option.flatMap((node2) => Obj.instanceOf(DataType.Collection, node2.data) ? Option.some(node2.data) : Option.none()), Option.map((collection) => {
|
|
275
|
+
connector: (node) => Rx.make((get) => Function.pipe(get(node), Option.flatMap((node2) => Obj.instanceOf(DataType.Collection, node2.data) ? Option.some(node2.data) : Option.none()), Option.map((collection) => {
|
|
273
276
|
const state = context.getCapability(SpaceCapabilities.State);
|
|
274
277
|
const space = getSpace(collection);
|
|
275
|
-
return get(rxFromSignal(() => pipe(collection.objects, Array.map((object) => object.target), Array.filter(isNonNullable), Array.map((object) => space && createObjectNode({
|
|
278
|
+
return get(rxFromSignal(() => Function.pipe(collection.objects, Array.map((object) => object.target), Array.filter(isNonNullable), Array.map((object) => space && createObjectNode({
|
|
276
279
|
object,
|
|
277
280
|
space,
|
|
278
281
|
resolve,
|
|
@@ -285,9 +288,9 @@ var app_graph_builder_default = ((context) => {
|
|
|
285
288
|
id: `${meta.id}/query-collection-objects`,
|
|
286
289
|
connector: (node) => {
|
|
287
290
|
let query;
|
|
288
|
-
return Rx.make((get) => pipe(get(node), Option.flatMap((node2) => Obj.instanceOf(DataType.QueryCollection, node2.data) ? Option.some(node2.data) : Option.none()), Option.flatMap((collection) => {
|
|
291
|
+
return Rx.make((get) => Function.pipe(get(node), Option.flatMap((node2) => Obj.instanceOf(DataType.QueryCollection, node2.data) ? Option.some(node2.data) : Option.none()), Option.flatMap((collection) => {
|
|
289
292
|
const space = getSpace(collection);
|
|
290
|
-
const typename =
|
|
293
|
+
const typename = getTypenameFromQuery(collection.query);
|
|
291
294
|
return typename && space ? Option.some({
|
|
292
295
|
typename,
|
|
293
296
|
space
|
|
@@ -318,7 +321,7 @@ var app_graph_builder_default = ((context) => {
|
|
|
318
321
|
id: `${meta.id}/static-schemas`,
|
|
319
322
|
connector: (node) => {
|
|
320
323
|
const client = context.getCapability(ClientCapabilities.Client);
|
|
321
|
-
return Rx.make((get) => pipe(get(node), Option.flatMap((node2) => Obj.instanceOf(DataType.QueryCollection, node2.data) &&
|
|
324
|
+
return Rx.make((get) => Function.pipe(get(node), Option.flatMap((node2) => Obj.instanceOf(DataType.QueryCollection, node2.data) && getTypenameFromQuery(node2.data.query) === DataType.StoredSchema.typename ? Option.some(node2.data) : Option.none()), Option.flatMap((collection) => {
|
|
322
325
|
const space = getSpace(collection);
|
|
323
326
|
return space?.properties.staticRecords ? Option.some(space) : Option.none();
|
|
324
327
|
}), Option.map((space) => {
|
|
@@ -334,7 +337,7 @@ var app_graph_builder_default = ((context) => {
|
|
|
334
337
|
id: `${meta.id}/static-schema-actions`,
|
|
335
338
|
actions: (node) => {
|
|
336
339
|
let query;
|
|
337
|
-
return Rx.make((get) => pipe(get(node), Option.flatMap((node2) => {
|
|
340
|
+
return Rx.make((get) => Function.pipe(get(node), Option.flatMap((node2) => {
|
|
338
341
|
const space = isSpace(node2.properties.space) ? node2.properties.space : void 0;
|
|
339
342
|
return space && Schema.isSchema(node2.data) ? Option.some({
|
|
340
343
|
space,
|
|
@@ -347,7 +350,7 @@ var app_graph_builder_default = ((context) => {
|
|
|
347
350
|
const views = get(rxFromQuery(query));
|
|
348
351
|
const filteredViews = get(rxFromSignal(() => (
|
|
349
352
|
// TODO(wittjosiah): Remove cast.
|
|
350
|
-
views.filter((view) =>
|
|
353
|
+
views.filter((view) => getTypenameFromQuery(view.query.ast) === Type.getTypename(schema))
|
|
351
354
|
)));
|
|
352
355
|
const deletable = filteredViews.length === 0;
|
|
353
356
|
const [dispatcher] = get(context.capabilities(Capabilities.IntentDispatcher));
|
|
@@ -368,7 +371,7 @@ var app_graph_builder_default = ((context) => {
|
|
|
368
371
|
id: `${meta.id}/schema-views`,
|
|
369
372
|
connector: (node) => {
|
|
370
373
|
let query;
|
|
371
|
-
return Rx.make((get) => pipe(get(node), Option.flatMap((node2) => {
|
|
374
|
+
return Rx.make((get) => Function.pipe(get(node), Option.flatMap((node2) => {
|
|
372
375
|
const space = getSpace(node2.data) ?? (isSpace(node2.properties.space) ? node2.properties.space : void 0);
|
|
373
376
|
return space && (Obj.instanceOf(DataType.StoredSchema, node2.data) || Schema.isSchema(node2.data)) ? Option.some({
|
|
374
377
|
space,
|
|
@@ -379,7 +382,7 @@ var app_graph_builder_default = ((context) => {
|
|
|
379
382
|
query = space.db.query(Filter.type(DataType.View));
|
|
380
383
|
}
|
|
381
384
|
const typename = Schema.isSchema(schema) ? Type.getTypename(schema) : schema.typename;
|
|
382
|
-
return get(rxFromQuery(query)).filter((view) =>
|
|
385
|
+
return get(rxFromQuery(query)).filter((view) => getTypenameFromQuery(view.query.ast) === typename).map((view) => get(rxFromSignal(() => createObjectNode({
|
|
383
386
|
object: view,
|
|
384
387
|
space,
|
|
385
388
|
resolve,
|
|
@@ -424,22 +427,22 @@ var app_graph_builder_default = ((context) => {
|
|
|
424
427
|
id: `${meta.id}/object-actions`,
|
|
425
428
|
actions: (node) => {
|
|
426
429
|
let query;
|
|
427
|
-
return Rx.make((get) => pipe(get(node), Option.flatMap((node2) => {
|
|
430
|
+
return Rx.make((get) => Function.pipe(get(node), Option.flatMap((node2) => {
|
|
428
431
|
const space = getSpace(node2.data);
|
|
429
|
-
return space && Obj.isObject(node2.data) ? Option.some({
|
|
432
|
+
return space && Obj.isObject(node2.data) && Obj.getTypename(node2.data) === node2.type ? Option.some({
|
|
430
433
|
space,
|
|
431
434
|
object: node2.data
|
|
432
435
|
}) : Option.none();
|
|
433
436
|
}), Option.flatMap(({ space, object }) => {
|
|
434
|
-
const
|
|
435
|
-
if (!query &&
|
|
437
|
+
const isSchema2 = Obj.instanceOf(DataType.StoredSchema, object);
|
|
438
|
+
if (!query && isSchema2) {
|
|
436
439
|
query = space.db.query(Filter.type(DataType.View));
|
|
437
440
|
}
|
|
438
|
-
let deletable = !
|
|
439
|
-
!(Obj.instanceOf(DataType.QueryCollection, object) &&
|
|
440
|
-
if (
|
|
441
|
+
let deletable = !isSchema2 && // Don't allow the Records smart collection to be deleted.
|
|
442
|
+
!(Obj.instanceOf(DataType.QueryCollection, object) && getTypenameFromQuery(object.query) === DataType.StoredSchema.typename);
|
|
443
|
+
if (isSchema2 && query) {
|
|
441
444
|
const views = get(rxFromQuery(query));
|
|
442
|
-
const filteredViews = get(rxFromSignal(() => views.filter((view) =>
|
|
445
|
+
const filteredViews = get(rxFromSignal(() => views.filter((view) => getTypenameFromQuery(view.query.ast) === object.typename)));
|
|
443
446
|
deletable = filteredViews.length === 0;
|
|
444
447
|
}
|
|
445
448
|
const [dispatcher] = get(context.capabilities(Capabilities.IntentDispatcher));
|
|
@@ -464,7 +467,7 @@ var app_graph_builder_default = ((context) => {
|
|
|
464
467
|
// View selected objects.
|
|
465
468
|
createExtension({
|
|
466
469
|
id: `${meta.id}/selected-objects`,
|
|
467
|
-
connector: (node) => Rx.make((get) => pipe(get(node), Option.flatMap((node2) => Obj.instanceOf(DataType.View, node2.data) ? Option.some(node2) : Option.none()), Option.map((node2) => [
|
|
470
|
+
connector: (node) => Rx.make((get) => Function.pipe(get(node), Option.flatMap((node2) => Obj.instanceOf(DataType.View, node2.data) ? Option.some(node2) : Option.none()), Option.map((node2) => [
|
|
468
471
|
{
|
|
469
472
|
id: [
|
|
470
473
|
node2.id,
|
|
@@ -488,7 +491,7 @@ var app_graph_builder_default = ((context) => {
|
|
|
488
491
|
// Object settings plank companion.
|
|
489
492
|
createExtension({
|
|
490
493
|
id: `${meta.id}/settings`,
|
|
491
|
-
connector: (node) => Rx.make((get) => pipe(get(node), Option.flatMap((node2) => Obj.isObject(node2.data) ? Option.some(node2) : Option.none()), Option.map((node2) => [
|
|
494
|
+
connector: (node) => Rx.make((get) => Function.pipe(get(node), Option.flatMap((node2) => Obj.isObject(node2.data) ? Option.some(node2) : Option.none()), Option.map((node2) => [
|
|
492
495
|
{
|
|
493
496
|
id: [
|
|
494
497
|
node2.id,
|
|
@@ -515,4 +518,4 @@ var app_graph_builder_default = ((context) => {
|
|
|
515
518
|
export {
|
|
516
519
|
app_graph_builder_default as default
|
|
517
520
|
};
|
|
518
|
-
//# sourceMappingURL=app-graph-builder-
|
|
521
|
+
//# sourceMappingURL=app-graph-builder-B23W62HY.mjs.map
|