@dxos/plugin-space 0.8.3 → 0.8.4-main.f9ba587

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.
Files changed (174) hide show
  1. package/dist/lib/browser/{app-graph-builder-M2RH72VL.mjs → app-graph-builder-PMDF6PJV.mjs} +9 -9
  2. package/dist/lib/browser/{app-graph-builder-M2RH72VL.mjs.map → app-graph-builder-PMDF6PJV.mjs.map} +3 -3
  3. package/dist/lib/browser/{app-graph-serializer-F7ISRRBV.mjs → app-graph-serializer-UKYMBX4O.mjs} +13 -13
  4. package/dist/lib/browser/app-graph-serializer-UKYMBX4O.mjs.map +7 -0
  5. package/dist/lib/browser/{chunk-4ZKSFDXM.mjs → chunk-6VLSHG4A.mjs} +10 -10
  6. package/dist/lib/browser/chunk-6VLSHG4A.mjs.map +7 -0
  7. package/dist/lib/browser/{chunk-YMCZR6EZ.mjs → chunk-C7KGJTAL.mjs} +3 -3
  8. package/dist/lib/browser/{chunk-PTKYMZWO.mjs → chunk-FBCGT5YY.mjs} +2 -2
  9. package/dist/lib/browser/{chunk-NFUKCRGE.mjs → chunk-GVTXQCIW.mjs} +53 -54
  10. package/dist/lib/browser/chunk-GVTXQCIW.mjs.map +7 -0
  11. package/dist/lib/browser/{chunk-TW7O2EPP.mjs → chunk-S6NY637J.mjs} +3 -3
  12. package/dist/lib/browser/{chunk-7Y4M7GXO.mjs → chunk-VLBRSGJ2.mjs} +4 -4
  13. package/dist/lib/browser/{chunk-V24VASAJ.mjs → chunk-WBSEOLEM.mjs} +6 -6
  14. package/dist/lib/browser/chunk-WBSEOLEM.mjs.map +7 -0
  15. package/dist/lib/browser/{chunk-BXNL6SDI.mjs → chunk-XXIPJLJF.mjs} +3 -3
  16. package/dist/lib/browser/{identity-created-PI7TKANR.mjs → identity-created-23XJJV2N.mjs} +4 -4
  17. package/dist/lib/browser/identity-created-23XJJV2N.mjs.map +7 -0
  18. package/dist/lib/browser/index.mjs +13 -13
  19. package/dist/lib/browser/index.mjs.map +3 -3
  20. package/dist/lib/browser/{intent-resolver-RWU6ZE4H.mjs → intent-resolver-WK5WYFH3.mjs} +15 -15
  21. package/dist/lib/browser/intent-resolver-WK5WYFH3.mjs.map +7 -0
  22. package/dist/lib/browser/meta.json +1 -1
  23. package/dist/lib/browser/{react-root-QIKHSNT2.mjs → react-root-7S6FIC5G.mjs} +8 -8
  24. package/dist/lib/browser/{react-surface-W56UD53I.mjs → react-surface-6C3YJNDK.mjs} +12 -12
  25. package/dist/lib/browser/react-surface-6C3YJNDK.mjs.map +7 -0
  26. package/dist/lib/browser/{schema-defs-WREJNMIC.mjs → schema-defs-K3B3OAH4.mjs} +4 -4
  27. package/dist/lib/browser/{schema-tools-ILTVSSS3.mjs → schema-tools-BNP4JTD7.mjs} +3 -3
  28. package/dist/lib/browser/{settings-K54STC5A.mjs → settings-XNWYRWNM.mjs} +4 -4
  29. package/dist/lib/browser/{spaces-ready-3PDRDHPC.mjs → spaces-ready-K7NSNBHM.mjs} +7 -7
  30. package/dist/lib/browser/{state-HRZ4VRXU.mjs → state-522XTUR4.mjs} +4 -4
  31. package/dist/lib/browser/types/index.mjs +2 -2
  32. package/dist/lib/node-esm/{app-graph-builder-BCHVZ4OM.mjs → app-graph-builder-TO72W6MI.mjs} +9 -9
  33. package/dist/lib/node-esm/{app-graph-builder-BCHVZ4OM.mjs.map → app-graph-builder-TO72W6MI.mjs.map} +3 -3
  34. package/dist/lib/node-esm/{app-graph-serializer-TXRGGNP2.mjs → app-graph-serializer-LA3IZDXJ.mjs} +13 -13
  35. package/dist/lib/node-esm/app-graph-serializer-LA3IZDXJ.mjs.map +7 -0
  36. package/dist/lib/node-esm/{chunk-D4QMPPS7.mjs → chunk-2THX6G4C.mjs} +3 -3
  37. package/dist/lib/node-esm/{chunk-3CP67AYY.mjs → chunk-72QMMRKC.mjs} +3 -3
  38. package/dist/lib/node-esm/{chunk-BSLREHIX.mjs → chunk-AT7LGFER.mjs} +3 -3
  39. package/dist/lib/node-esm/{chunk-HO7AIKQS.mjs → chunk-HJJHLWKY.mjs} +6 -6
  40. package/dist/lib/node-esm/chunk-HJJHLWKY.mjs.map +7 -0
  41. package/dist/lib/node-esm/{chunk-MSWEFAPD.mjs → chunk-HWNG4MEU.mjs} +2 -2
  42. package/dist/lib/node-esm/{chunk-LA6AVVH6.mjs → chunk-OUBADVJE.mjs} +53 -54
  43. package/dist/lib/node-esm/chunk-OUBADVJE.mjs.map +7 -0
  44. package/dist/lib/node-esm/{chunk-GH2FGJXH.mjs → chunk-SSLBYZEY.mjs} +4 -4
  45. package/dist/lib/node-esm/{chunk-JBQKU4K5.mjs → chunk-SXD6T2N4.mjs} +10 -10
  46. package/dist/lib/node-esm/chunk-SXD6T2N4.mjs.map +7 -0
  47. package/dist/lib/node-esm/{identity-created-35CTAQWI.mjs → identity-created-IJQO6GCR.mjs} +4 -4
  48. package/dist/lib/node-esm/identity-created-IJQO6GCR.mjs.map +7 -0
  49. package/dist/lib/node-esm/index.mjs +13 -13
  50. package/dist/lib/node-esm/index.mjs.map +3 -3
  51. package/dist/lib/node-esm/{intent-resolver-JO6L2VXC.mjs → intent-resolver-HSR27ME4.mjs} +15 -15
  52. package/dist/lib/node-esm/intent-resolver-HSR27ME4.mjs.map +7 -0
  53. package/dist/lib/node-esm/meta.json +1 -1
  54. package/dist/lib/node-esm/{react-root-YFGL3B4J.mjs → react-root-HUK3ANLV.mjs} +8 -8
  55. package/dist/lib/node-esm/{react-surface-CVAPDLEZ.mjs → react-surface-AGAWX7DD.mjs} +12 -12
  56. package/dist/lib/node-esm/react-surface-AGAWX7DD.mjs.map +7 -0
  57. package/dist/lib/node-esm/{schema-defs-4MEJETVX.mjs → schema-defs-4MCDG4DV.mjs} +4 -4
  58. package/dist/lib/node-esm/{schema-tools-SRLCRZ3B.mjs → schema-tools-KWW5PTML.mjs} +3 -3
  59. package/dist/lib/node-esm/{settings-TD76LTQS.mjs → settings-YGKHGFPH.mjs} +4 -4
  60. package/dist/lib/node-esm/{spaces-ready-FJMGPAVV.mjs → spaces-ready-UM2P3DCR.mjs} +7 -7
  61. package/dist/lib/node-esm/{state-XQNDCN37.mjs → state-C4IOXPZP.mjs} +4 -4
  62. package/dist/lib/node-esm/types/index.mjs +2 -2
  63. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  64. package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +1 -1
  65. package/dist/types/src/capabilities/identity-created.d.ts.map +1 -1
  66. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts +1 -1
  67. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts.map +1 -1
  68. package/dist/types/src/components/MembersContainer.d.ts.map +1 -1
  69. package/dist/types/src/components/MembersContainer.stories.d.ts +1 -1
  70. package/dist/types/src/components/MembersContainer.stories.d.ts.map +1 -1
  71. package/dist/types/src/components/SpacePresence.stories.d.ts +1 -1
  72. package/dist/types/src/components/SpacePresence.stories.d.ts.map +1 -1
  73. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts +1 -1
  74. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts.map +1 -1
  75. package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts +1 -1
  76. package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts.map +1 -1
  77. package/dist/types/src/translations.d.ts +151 -410
  78. package/dist/types/src/translations.d.ts.map +1 -1
  79. package/dist/types/tsconfig.tsbuildinfo +1 -1
  80. package/package.json +50 -50
  81. package/src/SpacePlugin.ts +3 -3
  82. package/src/capabilities/app-graph-builder.ts +1 -2
  83. package/src/capabilities/app-graph-serializer.ts +6 -6
  84. package/src/capabilities/identity-created.ts +2 -4
  85. package/src/capabilities/intent-resolver.ts +5 -5
  86. package/src/capabilities/react-surface.tsx +3 -3
  87. package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +4 -4
  88. package/src/components/MembersContainer.stories.tsx +4 -4
  89. package/src/components/MembersContainer.tsx +1 -2
  90. package/src/components/SpacePresence.stories.tsx +2 -2
  91. package/src/components/SpaceSettings/SpaceSettingsContainer.stories.tsx +2 -2
  92. package/src/components/SyncStatus/SyncStatus.stories.tsx +8 -15
  93. package/src/components/SyncStatus/save-tracker.ts +3 -3
  94. package/src/translations.ts +9 -7
  95. package/src/util.tsx +1 -1
  96. package/dist/lib/browser/app-graph-serializer-F7ISRRBV.mjs.map +0 -7
  97. package/dist/lib/browser/chunk-4ZKSFDXM.mjs.map +0 -7
  98. package/dist/lib/browser/chunk-NFUKCRGE.mjs.map +0 -7
  99. package/dist/lib/browser/chunk-V24VASAJ.mjs.map +0 -7
  100. package/dist/lib/browser/identity-created-PI7TKANR.mjs.map +0 -7
  101. package/dist/lib/browser/intent-resolver-RWU6ZE4H.mjs.map +0 -7
  102. package/dist/lib/browser/react-surface-W56UD53I.mjs.map +0 -7
  103. package/dist/lib/node/app-graph-builder-6LK5HLLE.cjs +0 -364
  104. package/dist/lib/node/app-graph-builder-6LK5HLLE.cjs.map +0 -7
  105. package/dist/lib/node/app-graph-serializer-HKHBNHA3.cjs +0 -89
  106. package/dist/lib/node/app-graph-serializer-HKHBNHA3.cjs.map +0 -7
  107. package/dist/lib/node/chunk-3X4EA4XL.cjs +0 -37
  108. package/dist/lib/node/chunk-3X4EA4XL.cjs.map +0 -7
  109. package/dist/lib/node/chunk-5WLAXYE3.cjs +0 -125
  110. package/dist/lib/node/chunk-5WLAXYE3.cjs.map +0 -7
  111. package/dist/lib/node/chunk-6P2DB4QQ.cjs +0 -36
  112. package/dist/lib/node/chunk-6P2DB4QQ.cjs.map +0 -7
  113. package/dist/lib/node/chunk-DOC5XEZ4.cjs +0 -184
  114. package/dist/lib/node/chunk-DOC5XEZ4.cjs.map +0 -7
  115. package/dist/lib/node/chunk-NCHF433F.cjs +0 -1921
  116. package/dist/lib/node/chunk-NCHF433F.cjs.map +0 -7
  117. package/dist/lib/node/chunk-NL5Y4EDX.cjs +0 -38
  118. package/dist/lib/node/chunk-NL5Y4EDX.cjs.map +0 -7
  119. package/dist/lib/node/chunk-ULJZPATP.cjs +0 -312
  120. package/dist/lib/node/chunk-ULJZPATP.cjs.map +0 -7
  121. package/dist/lib/node/chunk-XHWVT7LW.cjs +0 -572
  122. package/dist/lib/node/chunk-XHWVT7LW.cjs.map +0 -7
  123. package/dist/lib/node/identity-created-FF4WZ2WY.cjs +0 -42
  124. package/dist/lib/node/identity-created-FF4WZ2WY.cjs.map +0 -7
  125. package/dist/lib/node/index.cjs +0 -278
  126. package/dist/lib/node/index.cjs.map +0 -7
  127. package/dist/lib/node/intent-resolver-AV4CMM3Z.cjs +0 -609
  128. package/dist/lib/node/intent-resolver-AV4CMM3Z.cjs.map +0 -7
  129. package/dist/lib/node/meta.json +0 -1
  130. package/dist/lib/node/react-root-RQUU3A45.cjs +0 -51
  131. package/dist/lib/node/react-root-RQUU3A45.cjs.map +0 -7
  132. package/dist/lib/node/react-surface-AZFJLE72.cjs +0 -351
  133. package/dist/lib/node/react-surface-AZFJLE72.cjs.map +0 -7
  134. package/dist/lib/node/schema-defs-OB2X2HBH.cjs +0 -42
  135. package/dist/lib/node/schema-defs-OB2X2HBH.cjs.map +0 -7
  136. package/dist/lib/node/schema-tools-IYREN4IH.cjs +0 -147
  137. package/dist/lib/node/schema-tools-IYREN4IH.cjs.map +0 -7
  138. package/dist/lib/node/settings-P2EQ7VKQ.cjs +0 -38
  139. package/dist/lib/node/settings-P2EQ7VKQ.cjs.map +0 -7
  140. package/dist/lib/node/spaces-ready-DXPOHYV7.cjs +0 -210
  141. package/dist/lib/node/spaces-ready-DXPOHYV7.cjs.map +0 -7
  142. package/dist/lib/node/state-M35DK75Z.cjs +0 -61
  143. package/dist/lib/node/state-M35DK75Z.cjs.map +0 -7
  144. package/dist/lib/node/types/index.cjs +0 -48
  145. package/dist/lib/node/types/index.cjs.map +0 -7
  146. package/dist/lib/node-esm/app-graph-serializer-TXRGGNP2.mjs.map +0 -7
  147. package/dist/lib/node-esm/chunk-HO7AIKQS.mjs.map +0 -7
  148. package/dist/lib/node-esm/chunk-JBQKU4K5.mjs.map +0 -7
  149. package/dist/lib/node-esm/chunk-LA6AVVH6.mjs.map +0 -7
  150. package/dist/lib/node-esm/identity-created-35CTAQWI.mjs.map +0 -7
  151. package/dist/lib/node-esm/intent-resolver-JO6L2VXC.mjs.map +0 -7
  152. package/dist/lib/node-esm/react-surface-CVAPDLEZ.mjs.map +0 -7
  153. /package/dist/lib/browser/{chunk-YMCZR6EZ.mjs.map → chunk-C7KGJTAL.mjs.map} +0 -0
  154. /package/dist/lib/browser/{chunk-PTKYMZWO.mjs.map → chunk-FBCGT5YY.mjs.map} +0 -0
  155. /package/dist/lib/browser/{chunk-TW7O2EPP.mjs.map → chunk-S6NY637J.mjs.map} +0 -0
  156. /package/dist/lib/browser/{chunk-7Y4M7GXO.mjs.map → chunk-VLBRSGJ2.mjs.map} +0 -0
  157. /package/dist/lib/browser/{chunk-BXNL6SDI.mjs.map → chunk-XXIPJLJF.mjs.map} +0 -0
  158. /package/dist/lib/browser/{react-root-QIKHSNT2.mjs.map → react-root-7S6FIC5G.mjs.map} +0 -0
  159. /package/dist/lib/browser/{schema-defs-WREJNMIC.mjs.map → schema-defs-K3B3OAH4.mjs.map} +0 -0
  160. /package/dist/lib/browser/{schema-tools-ILTVSSS3.mjs.map → schema-tools-BNP4JTD7.mjs.map} +0 -0
  161. /package/dist/lib/browser/{settings-K54STC5A.mjs.map → settings-XNWYRWNM.mjs.map} +0 -0
  162. /package/dist/lib/browser/{spaces-ready-3PDRDHPC.mjs.map → spaces-ready-K7NSNBHM.mjs.map} +0 -0
  163. /package/dist/lib/browser/{state-HRZ4VRXU.mjs.map → state-522XTUR4.mjs.map} +0 -0
  164. /package/dist/lib/node-esm/{chunk-D4QMPPS7.mjs.map → chunk-2THX6G4C.mjs.map} +0 -0
  165. /package/dist/lib/node-esm/{chunk-3CP67AYY.mjs.map → chunk-72QMMRKC.mjs.map} +0 -0
  166. /package/dist/lib/node-esm/{chunk-BSLREHIX.mjs.map → chunk-AT7LGFER.mjs.map} +0 -0
  167. /package/dist/lib/node-esm/{chunk-MSWEFAPD.mjs.map → chunk-HWNG4MEU.mjs.map} +0 -0
  168. /package/dist/lib/node-esm/{chunk-GH2FGJXH.mjs.map → chunk-SSLBYZEY.mjs.map} +0 -0
  169. /package/dist/lib/node-esm/{react-root-YFGL3B4J.mjs.map → react-root-HUK3ANLV.mjs.map} +0 -0
  170. /package/dist/lib/node-esm/{schema-defs-4MEJETVX.mjs.map → schema-defs-4MCDG4DV.mjs.map} +0 -0
  171. /package/dist/lib/node-esm/{schema-tools-SRLCRZ3B.mjs.map → schema-tools-KWW5PTML.mjs.map} +0 -0
  172. /package/dist/lib/node-esm/{settings-TD76LTQS.mjs.map → settings-YGKHGFPH.mjs.map} +0 -0
  173. /package/dist/lib/node-esm/{spaces-ready-FJMGPAVV.mjs.map → spaces-ready-UM2P3DCR.mjs.map} +0 -0
  174. /package/dist/lib/node-esm/{state-XQNDCN37.mjs.map → state-C4IOXPZP.mjs.map} +0 -0
@@ -1,572 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var chunk_XHWVT7LW_exports = {};
20
- __export(chunk_XHWVT7LW_exports, {
21
- COMPOSER_SPACE_LOCK: () => COMPOSER_SPACE_LOCK,
22
- SHARED: () => SHARED,
23
- SPACES: () => SPACES,
24
- cloneObject: () => cloneObject,
25
- constructObjectActions: () => constructObjectActions,
26
- constructSpaceActions: () => constructSpaceActions,
27
- constructSpaceNode: () => constructSpaceNode,
28
- createObjectNode: () => createObjectNode,
29
- getNestedObjects: () => getNestedObjects,
30
- getSpaceDisplayName: () => getSpaceDisplayName,
31
- rxFromQuery: () => rxFromQuery
32
- });
33
- module.exports = __toCommonJS(chunk_XHWVT7LW_exports);
34
- var import_chunk_ULJZPATP = require("./chunk-ULJZPATP.cjs");
35
- var import_chunk_6P2DB4QQ = require("./chunk-6P2DB4QQ.cjs");
36
- var import_rx_react = require("@effect-rx/rx-react");
37
- var import_effect = require("effect");
38
- var import_app_framework = require("@dxos/app-framework");
39
- var import_echo = require("@dxos/echo");
40
- var import_echo_schema = require("@dxos/echo-schema");
41
- var import_invariant = require("@dxos/invariant");
42
- var import_migrations = require("@dxos/migrations");
43
- var import_plugin_graph = require("@dxos/plugin-graph");
44
- var import_echo2 = require("@dxos/react-client/echo");
45
- var import_react_ui_attention = require("@dxos/react-ui-attention");
46
- var import_schema = require("@dxos/schema");
47
- var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/util.tsx";
48
- var SPACES = `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}-spaces`;
49
- var COMPOSER_SPACE_LOCK = "dxos.org/plugin/space/lock";
50
- var SHARED = "shared-spaces";
51
- var rxFromQuery = (query) => {
52
- return import_rx_react.Rx.make((get) => {
53
- const unsubscribe = query.subscribe((result) => {
54
- get.setSelf(result.objects);
55
- });
56
- get.addFinalizer(() => unsubscribe());
57
- return query.objects;
58
- });
59
- };
60
- var getSpaceDisplayName = (space, { personal, namesCache = {} } = {}) => {
61
- return space.state.get() === import_echo2.SpaceState.SPACE_READY && (space.properties.name?.length ?? 0) > 0 ? space.properties.name : namesCache[space.id] ? namesCache[space.id] : personal ? [
62
- "personal space label",
63
- {
64
- ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
65
- }
66
- ] : [
67
- "unnamed space label",
68
- {
69
- ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
70
- }
71
- ];
72
- };
73
- var getCollectionGraphNodePartials = ({ collection, space, resolve }) => {
74
- return {
75
- acceptPersistenceClass: /* @__PURE__ */ new Set([
76
- "echo"
77
- ]),
78
- acceptPersistenceKey: /* @__PURE__ */ new Set([
79
- space.id
80
- ]),
81
- role: "branch",
82
- onRearrangeChildren: (nextOrder) => {
83
- collection.objects = nextOrder.filter(import_echo.Obj.isObject).map(import_echo.Ref.make);
84
- },
85
- onTransferStart: (child, index) => {
86
- if (!collection.objects.find((object) => object.target === child.data)) {
87
- if (typeof index !== "undefined") {
88
- collection.objects.splice(index, 0, import_echo.Ref.make(child.data));
89
- } else {
90
- collection.objects.push(import_echo.Ref.make(child.data));
91
- }
92
- }
93
- },
94
- onTransferEnd: (child, destination) => {
95
- const index = collection.objects.findIndex((object) => object.target === child.data);
96
- if (index > -1) {
97
- collection.objects.splice(index, 1);
98
- }
99
- },
100
- onCopy: async (child, index) => {
101
- const newObject = await cloneObject(child.data, resolve, space);
102
- space.db.add(newObject);
103
- if (typeof index !== "undefined") {
104
- collection.objects.splice(index, 0, import_echo.Ref.make(newObject));
105
- } else {
106
- collection.objects.push(import_echo.Ref.make(newObject));
107
- }
108
- }
109
- };
110
- };
111
- var getQueryCollectionNodePartials = ({ collection, space, resolve }) => {
112
- return {
113
- icon: collection.query.typename && resolve(collection.query.typename)?.icon,
114
- acceptPersistenceClass: /* @__PURE__ */ new Set([
115
- "echo"
116
- ]),
117
- acceptPersistenceKey: /* @__PURE__ */ new Set([
118
- space.id
119
- ]),
120
- role: "branch",
121
- canDrop: (source) => {
122
- return (0, import_plugin_graph.isGraphNode)(source.item) && import_echo.Obj.isObject(source.item.data) && import_echo.Obj.getTypename(source.item.data) === collection.query.typename;
123
- },
124
- onTransferStart: (child, index) => {
125
- },
126
- onTransferEnd: (child, destination) => {
127
- }
128
- };
129
- };
130
- var checkPendingMigration = (space) => {
131
- return space.state.get() === import_echo2.SpaceState.SPACE_REQUIRES_MIGRATION || space.state.get() === import_echo2.SpaceState.SPACE_READY && !!import_migrations.Migrations.versionProperty && space.properties[import_migrations.Migrations.versionProperty] !== import_migrations.Migrations.targetVersion;
132
- };
133
- var constructSpaceNode = ({ space, navigable = false, personal, namesCache, resolve }) => {
134
- const hasPendingMigration = checkPendingMigration(space);
135
- const collection = space.state.get() === import_echo2.SpaceState.SPACE_READY && space.properties[import_echo.Type.getTypename(import_schema.DataType.Collection)]?.target;
136
- const partials = space.state.get() === import_echo2.SpaceState.SPACE_READY && import_echo.Obj.instanceOf(import_schema.DataType.Collection, collection) ? getCollectionGraphNodePartials({
137
- collection,
138
- space,
139
- resolve
140
- }) : {};
141
- return {
142
- id: space.id,
143
- type: import_chunk_ULJZPATP.SPACE_TYPE,
144
- cacheable: [
145
- "label",
146
- "icon",
147
- "role"
148
- ],
149
- data: space,
150
- properties: {
151
- ...partials,
152
- label: getSpaceDisplayName(space, {
153
- personal,
154
- namesCache
155
- }),
156
- description: space.state.get() === import_echo2.SpaceState.SPACE_READY && space.properties.description,
157
- hue: space.state.get() === import_echo2.SpaceState.SPACE_READY && space.properties.hue,
158
- icon: space.state.get() === import_echo2.SpaceState.SPACE_READY && space.properties.icon ? `ph--${space.properties.icon}--regular` : void 0,
159
- disabled: !navigable || space.state.get() !== import_echo2.SpaceState.SPACE_READY || hasPendingMigration,
160
- testId: "spacePlugin.space",
161
- canDrop: (source) => {
162
- return import_echo.Obj.isObject(source.item.data) || (0, import_echo2.isSpace)(source.item.data);
163
- }
164
- },
165
- nodes: [
166
- {
167
- id: `settings${import_react_ui_attention.ATTENDABLE_PATH_SEPARATOR}${space.id}`,
168
- type: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/settings`,
169
- data: null,
170
- properties: {
171
- label: [
172
- "settings panel label",
173
- {
174
- ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
175
- }
176
- ],
177
- icon: "ph--faders--regular",
178
- disposition: "alternate-tree"
179
- },
180
- nodes: [
181
- {
182
- id: `properties-settings${import_react_ui_attention.ATTENDABLE_PATH_SEPARATOR}${space.id}`,
183
- type: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/properties`,
184
- data: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/properties`,
185
- properties: {
186
- label: [
187
- "space settings properties label",
188
- {
189
- ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
190
- }
191
- ],
192
- icon: "ph--sliders--regular",
193
- position: "hoist"
194
- }
195
- },
196
- {
197
- id: `members-settings${import_react_ui_attention.ATTENDABLE_PATH_SEPARATOR}${space.id}`,
198
- type: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/members`,
199
- data: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/members`,
200
- properties: {
201
- label: [
202
- "members panel label",
203
- {
204
- ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
205
- }
206
- ],
207
- icon: "ph--users--regular",
208
- position: "hoist"
209
- }
210
- },
211
- {
212
- id: `schema-settings${import_react_ui_attention.ATTENDABLE_PATH_SEPARATOR}${space.id}`,
213
- type: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/schema`,
214
- data: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/schema`,
215
- properties: {
216
- label: [
217
- "space settings schema label",
218
- {
219
- ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
220
- }
221
- ],
222
- icon: "ph--shapes--regular"
223
- }
224
- }
225
- ]
226
- }
227
- ]
228
- };
229
- };
230
- var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
231
- const state = space.state.get();
232
- const hasPendingMigration = checkPendingMigration(space);
233
- const getId = (id) => `${id}/${space.id}`;
234
- const actions = [];
235
- if (hasPendingMigration) {
236
- actions.push({
237
- id: getId(import_chunk_ULJZPATP.SpaceAction.Migrate._tag),
238
- type: import_plugin_graph.ACTION_GROUP_TYPE,
239
- data: async () => {
240
- await dispatch((0, import_app_framework.createIntent)(import_chunk_ULJZPATP.SpaceAction.Migrate, {
241
- space
242
- }));
243
- },
244
- properties: {
245
- label: [
246
- "migrate space label",
247
- {
248
- ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
249
- }
250
- ],
251
- icon: "ph--database--regular",
252
- disposition: "list-item-primary",
253
- disabled: migrating || import_migrations.Migrations.running(space)
254
- }
255
- });
256
- }
257
- if (state === import_echo2.SpaceState.SPACE_READY && !hasPendingMigration) {
258
- actions.push({
259
- id: getId(import_chunk_ULJZPATP.SpaceAction.OpenCreateObject._tag),
260
- type: import_plugin_graph.ACTION_TYPE,
261
- data: async () => {
262
- await dispatch((0, import_app_framework.createIntent)(import_chunk_ULJZPATP.SpaceAction.OpenCreateObject, {
263
- target: space
264
- }));
265
- },
266
- properties: {
267
- label: [
268
- "create object in space label",
269
- {
270
- ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
271
- }
272
- ],
273
- icon: "ph--plus--regular",
274
- disposition: "item",
275
- testId: "spacePlugin.createObject"
276
- }
277
- }, {
278
- id: getId(import_chunk_ULJZPATP.SpaceAction.Rename._tag),
279
- type: import_plugin_graph.ACTION_TYPE,
280
- data: async (params) => {
281
- await dispatch((0, import_app_framework.createIntent)(import_chunk_ULJZPATP.SpaceAction.Rename, {
282
- space,
283
- caller: params?.caller
284
- }));
285
- },
286
- properties: {
287
- label: [
288
- "rename space label",
289
- {
290
- ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
291
- }
292
- ],
293
- icon: "ph--pencil-simple-line--regular",
294
- keyBinding: {
295
- macos: "shift+F6",
296
- windows: "shift+F6"
297
- }
298
- }
299
- });
300
- }
301
- return actions;
302
- };
303
- var createObjectNode = ({ space, object, droppable = true, navigable = false, resolve }) => {
304
- const type = import_echo.Obj.getTypename(object);
305
- if (!type) {
306
- return void 0;
307
- }
308
- const metadata = resolve(type);
309
- if (Object.keys(metadata).length === 0) {
310
- return void 0;
311
- }
312
- const partials = import_echo.Obj.instanceOf(import_schema.DataType.Collection, object) ? getCollectionGraphNodePartials({
313
- collection: object,
314
- space,
315
- resolve
316
- }) : import_echo.Obj.instanceOf(import_schema.DataType.QueryCollection, object) ? getQueryCollectionNodePartials({
317
- collection: object,
318
- space,
319
- resolve
320
- }) : metadata.graphProps;
321
- return {
322
- id: (0, import_echo2.fullyQualifiedId)(object),
323
- type,
324
- cacheable: [
325
- "label",
326
- "icon",
327
- "role"
328
- ],
329
- data: object,
330
- properties: {
331
- // TODO(burdon): Use annotation to get the name field.
332
- label: metadata.label?.(object) || object.name || [
333
- "object name placeholder",
334
- {
335
- ns: type,
336
- default: "New object"
337
- }
338
- ],
339
- icon: metadata.icon ?? "ph--placeholder--regular",
340
- testId: "spacePlugin.object",
341
- persistenceClass: "echo",
342
- persistenceKey: space?.id,
343
- canDrop: (source) => {
344
- return droppable && (0, import_plugin_graph.isGraphNode)(source.item) && import_echo.Obj.isObject(source.item.data);
345
- },
346
- ...partials
347
- }
348
- };
349
- };
350
- var constructObjectActions = ({ object, graph, dispatch, objectForms, navigable = false }) => {
351
- const space = (0, import_echo2.getSpace)(object);
352
- (0, import_invariant.invariant)(space, "Space not found", {
353
- F: __dxlog_file,
354
- L: 398,
355
- S: void 0,
356
- A: [
357
- "space",
358
- "'Space not found'"
359
- ]
360
- });
361
- const getId = (id) => `${id}/${(0, import_echo2.fullyQualifiedId)(object)}`;
362
- const queryCollection = import_echo.Obj.instanceOf(import_schema.DataType.QueryCollection, object) ? object : void 0;
363
- const matchingObjectForm = queryCollection ? objectForms.find((form) => import_echo.Type.getTypename(form.objectSchema) === queryCollection.query.typename) : void 0;
364
- const actions = [
365
- ...import_echo.Obj.instanceOf(import_schema.DataType.Collection, object) ? [
366
- {
367
- id: getId(import_chunk_ULJZPATP.SpaceAction.OpenCreateObject._tag),
368
- type: import_plugin_graph.ACTION_TYPE,
369
- data: async () => {
370
- await dispatch((0, import_app_framework.createIntent)(import_chunk_ULJZPATP.SpaceAction.OpenCreateObject, {
371
- target: object
372
- }));
373
- },
374
- properties: {
375
- label: [
376
- "create object in collection label",
377
- {
378
- ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
379
- }
380
- ],
381
- icon: "ph--plus--regular",
382
- disposition: "list-item-primary",
383
- testId: "spacePlugin.createObject"
384
- }
385
- }
386
- ] : [],
387
- ...matchingObjectForm ? [
388
- {
389
- id: getId(import_chunk_ULJZPATP.SpaceAction.OpenCreateObject._tag),
390
- type: import_plugin_graph.ACTION_TYPE,
391
- data: async () => {
392
- if (matchingObjectForm.formSchema) {
393
- await dispatch((0, import_app_framework.createIntent)(import_chunk_ULJZPATP.SpaceAction.OpenCreateObject, {
394
- target: space,
395
- typename: queryCollection?.query.typename
396
- }));
397
- } else {
398
- await dispatch((0, import_effect.pipe)(matchingObjectForm.getIntent({}, {
399
- space
400
- }), (0, import_app_framework.chain)(import_chunk_ULJZPATP.SpaceAction.AddObject, {
401
- target: space,
402
- hidden: true
403
- }), (0, import_app_framework.chain)(import_app_framework.LayoutAction.Open, {
404
- part: "main"
405
- })));
406
- }
407
- },
408
- properties: {
409
- label: [
410
- "create object in smart collection label",
411
- {
412
- ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
413
- }
414
- ],
415
- icon: "ph--plus--regular",
416
- disposition: "list-item-primary",
417
- testId: "spacePlugin.createObject"
418
- }
419
- }
420
- ] : [],
421
- {
422
- id: getId(import_chunk_ULJZPATP.SpaceAction.RenameObject._tag),
423
- type: import_plugin_graph.ACTION_TYPE,
424
- data: async (params) => {
425
- await dispatch((0, import_app_framework.createIntent)(import_chunk_ULJZPATP.SpaceAction.RenameObject, {
426
- object,
427
- caller: params?.caller
428
- }));
429
- },
430
- properties: {
431
- label: [
432
- import_echo.Obj.instanceOf(import_schema.DataType.Collection, object) ? "rename collection label" : "rename object label",
433
- {
434
- ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
435
- }
436
- ],
437
- icon: "ph--pencil-simple-line--regular",
438
- disposition: "list-item",
439
- // TODO(wittjosiah): Not working.
440
- // keyBinding: {
441
- // macos: 'shift+F6',
442
- // },
443
- testId: "spacePlugin.renameObject"
444
- }
445
- },
446
- {
447
- id: getId(import_chunk_ULJZPATP.SpaceAction.RemoveObjects._tag),
448
- type: import_plugin_graph.ACTION_TYPE,
449
- data: async () => {
450
- const collection = graph.getConnections((0, import_echo2.fullyQualifiedId)(object), "inbound").find(({ data }) => import_echo.Obj.instanceOf(import_schema.DataType.Collection, data))?.data;
451
- await dispatch((0, import_app_framework.createIntent)(import_chunk_ULJZPATP.SpaceAction.RemoveObjects, {
452
- objects: [
453
- object
454
- ],
455
- target: collection
456
- }));
457
- },
458
- properties: {
459
- label: [
460
- import_echo.Obj.instanceOf(import_schema.DataType.Collection, object) ? "delete collection label" : "delete object label",
461
- {
462
- ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
463
- }
464
- ],
465
- icon: "ph--trash--regular",
466
- disposition: "list-item",
467
- // TODO(wittjosiah): This is a browser shortcut.
468
- // keyBinding: object instanceof CollectionType ? undefined : 'shift+meta+Backspace',
469
- testId: "spacePlugin.deleteObject"
470
- }
471
- },
472
- ...navigable || !import_echo.Obj.instanceOf(import_schema.DataType.Collection, object) && !import_echo.Obj.instanceOf(import_schema.DataType.QueryCollection, object) ? [
473
- {
474
- id: getId("copy-link"),
475
- type: import_plugin_graph.ACTION_TYPE,
476
- data: async () => {
477
- const url = `${window.location.origin}/${space.id}/${(0, import_echo2.fullyQualifiedId)(object)}`;
478
- await navigator.clipboard.writeText(url);
479
- },
480
- properties: {
481
- label: [
482
- "copy link label",
483
- {
484
- ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
485
- }
486
- ],
487
- icon: "ph--link--regular",
488
- disposition: "list-item",
489
- testId: "spacePlugin.copyLink"
490
- }
491
- }
492
- ] : [],
493
- // TODO(wittjosiah): Factor out and apply to all nodes.
494
- {
495
- id: getId(import_app_framework.LayoutAction.Expose._tag),
496
- type: import_plugin_graph.ACTION_TYPE,
497
- data: async () => {
498
- await dispatch((0, import_app_framework.createIntent)(import_app_framework.LayoutAction.Expose, {
499
- part: "navigation",
500
- subject: (0, import_echo2.fullyQualifiedId)(object)
501
- }));
502
- },
503
- properties: {
504
- label: [
505
- "expose object label",
506
- {
507
- ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
508
- }
509
- ],
510
- icon: "ph--eye--regular",
511
- disposition: "heading-list-item",
512
- testId: "spacePlugin.exposeObject"
513
- }
514
- }
515
- ];
516
- return actions;
517
- };
518
- var getNestedObjects = async (object, resolve) => {
519
- const type = import_echo.Obj.getTypename(object);
520
- if (!type) {
521
- return [];
522
- }
523
- const metadata = resolve(type);
524
- const loadReferences = metadata?.loadReferences;
525
- if (typeof loadReferences !== "function") {
526
- return [];
527
- }
528
- const objects = await loadReferences(object);
529
- const nested = await Promise.all(objects.map((object2) => getNestedObjects(object2, resolve)));
530
- return [
531
- ...objects,
532
- ...nested.flat()
533
- ];
534
- };
535
- var cloneObject = async (object, resolve, newSpace) => {
536
- const schema = import_echo.Obj.getSchema(object);
537
- const typename = schema ? import_echo.Type.getTypename(schema) ?? import_echo_schema.EXPANDO_TYPENAME : import_echo_schema.EXPANDO_TYPENAME;
538
- const metadata = resolve(typename);
539
- const serializer = metadata.serializer;
540
- (0, import_invariant.invariant)(serializer, `No serializer for type: ${typename}`, {
541
- F: __dxlog_file,
542
- L: 570,
543
- S: void 0,
544
- A: [
545
- "serializer",
546
- "`No serializer for type: ${typename}`"
547
- ]
548
- });
549
- const content = await serializer.serialize({
550
- object
551
- });
552
- return serializer.deserialize({
553
- content,
554
- space: newSpace,
555
- newId: true
556
- });
557
- };
558
- // Annotate the CommonJS export names for ESM import in node:
559
- 0 && (module.exports = {
560
- COMPOSER_SPACE_LOCK,
561
- SHARED,
562
- SPACES,
563
- cloneObject,
564
- constructObjectActions,
565
- constructSpaceActions,
566
- constructSpaceNode,
567
- createObjectNode,
568
- getNestedObjects,
569
- getSpaceDisplayName,
570
- rxFromQuery
571
- });
572
- //# sourceMappingURL=chunk-XHWVT7LW.cjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/util.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Rx } from '@effect-rx/rx-react';\nimport { pipe } from 'effect';\n\nimport { chain, createIntent, LayoutAction, type PromiseIntentDispatcher } from '@dxos/app-framework';\nimport { Obj, Ref, Type } from '@dxos/echo';\nimport { EXPANDO_TYPENAME } from '@dxos/echo-schema';\nimport { invariant } from '@dxos/invariant';\nimport { Migrations } from '@dxos/migrations';\nimport {\n ACTION_GROUP_TYPE,\n ACTION_TYPE,\n type ReadableGraph,\n type ActionData,\n type InvokeParams,\n type Node,\n type NodeArg,\n isGraphNode,\n} from '@dxos/plugin-graph';\nimport { fullyQualifiedId, getSpace, type QueryResult, SpaceState, type Space, isSpace } from '@dxos/react-client/echo';\nimport { ATTENDABLE_PATH_SEPARATOR } from '@dxos/react-ui-attention';\nimport { type TreeData } from '@dxos/react-ui-list';\nimport { DataType } from '@dxos/schema';\n\nimport { SPACE_PLUGIN } from './meta';\nimport { SpaceAction, SPACE_TYPE, type ObjectForm } from './types';\n\nexport const SPACES = `${SPACE_PLUGIN}-spaces`;\nexport const COMPOSER_SPACE_LOCK = 'dxos.org/plugin/space/lock';\n// TODO(wittjosiah): Remove.\nexport const SHARED = 'shared-spaces';\n\n/**\n * Convert a query result to an Rx value of the objects.\n */\nexport const rxFromQuery = <T extends Obj.Any>(query: QueryResult<T>): Rx.Rx<T[]> => {\n return Rx.make((get) => {\n const unsubscribe = query.subscribe((result) => {\n get.setSelf(result.objects);\n });\n\n get.addFinalizer(() => unsubscribe());\n return query.objects;\n });\n};\n\n// TODO(wittjosiah): Factor out? Expose via capability?\nexport const getSpaceDisplayName = (\n space: Space,\n { personal, namesCache = {} }: { personal?: boolean; namesCache?: Record<string, string> } = {},\n): string | [string, { ns: string }] => {\n return space.state.get() === SpaceState.SPACE_READY && (space.properties.name?.length ?? 0) > 0\n ? space.properties.name\n : namesCache[space.id]\n ? namesCache[space.id]\n : personal\n ? ['personal space label', { ns: SPACE_PLUGIN }]\n : ['unnamed space label', { ns: SPACE_PLUGIN }];\n};\n\nconst getCollectionGraphNodePartials = ({\n collection,\n space,\n resolve,\n}: {\n collection: DataType.Collection;\n space: Space;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n return {\n acceptPersistenceClass: new Set(['echo']),\n acceptPersistenceKey: new Set([space.id]),\n role: 'branch',\n onRearrangeChildren: (nextOrder: unknown[]) => {\n // Change on disk.\n collection.objects = nextOrder.filter(Obj.isObject).map(Ref.make);\n },\n onTransferStart: (child: Node<Obj.Any>, index?: number) => {\n // TODO(wittjosiah): Support transfer between spaces.\n // const childSpace = getSpace(child.data);\n // if (space && childSpace && !childSpace.key.equals(space.key)) {\n // // Create clone of child and add to destination space.\n // const newObject = clone(child.data, {\n // // TODO(wittjosiah): This needs to be generalized and not hardcoded here.\n // additional: [\n // child.data.content,\n // ...(child.data.objects ?? []),\n // ...(child.data.objects ?? []).map((object: TypedObject) => object.content),\n // ],\n // });\n // space.db.add(newObject);\n // collection.objects.push(newObject);\n // } else {\n\n // Add child to destination collection.\n // TODO(dmaretskyi): Compare by id.\n if (!collection.objects.find((object) => object.target === child.data)) {\n if (typeof index !== 'undefined') {\n collection.objects.splice(index, 0, Ref.make(child.data));\n } else {\n collection.objects.push(Ref.make(child.data));\n }\n }\n\n // }\n },\n onTransferEnd: (child: Node<Obj.Any>, destination: Node) => {\n // Remove child from origin collection.\n const index = collection.objects.findIndex((object) => object.target === child.data);\n if (index > -1) {\n collection.objects.splice(index, 1);\n }\n\n // TODO(wittjosiah): Support transfer between spaces.\n // const childSpace = getSpace(child.data);\n // const destinationSpace =\n // destination.data instanceof SpaceProxy ? destination.data : getSpace(destination.data);\n // if (destinationSpace && childSpace && !childSpace.key.equals(destinationSpace.key)) {\n // // Mark child as deleted in origin space.\n // childSpace.db.remove(child.data);\n // }\n },\n onCopy: async (child: Node<Obj.Any>, index?: number) => {\n // Create clone of child and add to destination space.\n const newObject = await cloneObject(child.data, resolve, space);\n space.db.add(newObject);\n if (typeof index !== 'undefined') {\n collection.objects.splice(index, 0, Ref.make(newObject));\n } else {\n collection.objects.push(Ref.make(newObject));\n }\n },\n };\n};\n\nconst getQueryCollectionNodePartials = ({\n collection,\n space,\n resolve,\n}: {\n collection: DataType.QueryCollection;\n space: Space;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n return {\n icon: collection.query.typename && resolve(collection.query.typename)?.icon,\n acceptPersistenceClass: new Set(['echo']),\n acceptPersistenceKey: new Set([space.id]),\n role: 'branch',\n canDrop: (source: TreeData) => {\n return (\n isGraphNode(source.item) &&\n Obj.isObject(source.item.data) &&\n Obj.getTypename(source.item.data) === collection.query.typename\n );\n },\n onTransferStart: (child: Node<Obj.Any>, index?: number) => {\n // No-op. Objects are moved into query collections by being removed from their original collection.\n },\n onTransferEnd: (child: Node<Obj.Any>, destination: Node) => {\n // No-op. Objects are moved out of query collections by being added to another collection.\n },\n };\n};\n\nconst checkPendingMigration = (space: Space) => {\n return (\n space.state.get() === SpaceState.SPACE_REQUIRES_MIGRATION ||\n (space.state.get() === SpaceState.SPACE_READY &&\n !!Migrations.versionProperty &&\n space.properties[Migrations.versionProperty] !== Migrations.targetVersion)\n );\n};\n\nexport const constructSpaceNode = ({\n space,\n navigable = false,\n personal,\n namesCache,\n resolve,\n}: {\n space: Space;\n navigable?: boolean;\n personal?: boolean;\n namesCache?: Record<string, string>;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n const hasPendingMigration = checkPendingMigration(space);\n const collection =\n space.state.get() === SpaceState.SPACE_READY && space.properties[Type.getTypename(DataType.Collection)]?.target;\n const partials =\n space.state.get() === SpaceState.SPACE_READY && Obj.instanceOf(DataType.Collection, collection)\n ? getCollectionGraphNodePartials({ collection, space, resolve })\n : {};\n\n return {\n id: space.id,\n type: SPACE_TYPE,\n cacheable: ['label', 'icon', 'role'],\n data: space,\n properties: {\n ...partials,\n label: getSpaceDisplayName(space, { personal, namesCache }),\n description: space.state.get() === SpaceState.SPACE_READY && space.properties.description,\n hue: space.state.get() === SpaceState.SPACE_READY && space.properties.hue,\n icon:\n space.state.get() === SpaceState.SPACE_READY && space.properties.icon\n ? `ph--${space.properties.icon}--regular`\n : undefined,\n disabled: !navigable || space.state.get() !== SpaceState.SPACE_READY || hasPendingMigration,\n testId: 'spacePlugin.space',\n canDrop: (source: TreeData) => {\n // TODO(wittjosiah): Find a way to only allow space as source for rearranging.\n return Obj.isObject(source.item.data) || isSpace(source.item.data);\n },\n },\n nodes: [\n {\n id: `settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,\n type: `${SPACE_PLUGIN}/settings`,\n data: null,\n properties: {\n label: ['settings panel label', { ns: SPACE_PLUGIN }],\n icon: 'ph--faders--regular',\n disposition: 'alternate-tree',\n },\n nodes: [\n {\n id: `properties-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,\n type: `${SPACE_PLUGIN}/properties`,\n data: `${SPACE_PLUGIN}/properties`,\n properties: {\n label: ['space settings properties label', { ns: SPACE_PLUGIN }],\n icon: 'ph--sliders--regular',\n position: 'hoist',\n },\n },\n {\n id: `members-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,\n type: `${SPACE_PLUGIN}/members`,\n data: `${SPACE_PLUGIN}/members`,\n properties: {\n label: ['members panel label', { ns: SPACE_PLUGIN }],\n icon: 'ph--users--regular',\n position: 'hoist',\n },\n },\n {\n id: `schema-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,\n type: `${SPACE_PLUGIN}/schema`,\n data: `${SPACE_PLUGIN}/schema`,\n properties: {\n label: ['space settings schema label', { ns: SPACE_PLUGIN }],\n icon: 'ph--shapes--regular',\n },\n },\n ],\n },\n ],\n };\n};\n\nexport const constructSpaceActions = ({\n space,\n dispatch,\n personal,\n migrating,\n}: {\n space: Space;\n dispatch: PromiseIntentDispatcher;\n personal?: boolean;\n migrating?: boolean;\n}) => {\n const state = space.state.get();\n const hasPendingMigration = checkPendingMigration(space);\n const getId = (id: string) => `${id}/${space.id}`;\n const actions: NodeArg<ActionData>[] = [];\n\n if (hasPendingMigration) {\n actions.push({\n id: getId(SpaceAction.Migrate._tag),\n type: ACTION_GROUP_TYPE,\n data: async () => {\n await dispatch(createIntent(SpaceAction.Migrate, { space }));\n },\n properties: {\n label: ['migrate space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--database--regular',\n disposition: 'list-item-primary',\n disabled: migrating || Migrations.running(space),\n },\n });\n }\n\n if (state === SpaceState.SPACE_READY && !hasPendingMigration) {\n actions.push(\n {\n id: getId(SpaceAction.OpenCreateObject._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(createIntent(SpaceAction.OpenCreateObject, { target: space }));\n },\n properties: {\n label: ['create object in space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--plus--regular',\n disposition: 'item',\n testId: 'spacePlugin.createObject',\n },\n },\n {\n id: getId(SpaceAction.Rename._tag),\n type: ACTION_TYPE,\n data: async (params?: InvokeParams) => {\n await dispatch(createIntent(SpaceAction.Rename, { space, caller: params?.caller }));\n },\n properties: {\n label: ['rename space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--pencil-simple-line--regular',\n keyBinding: {\n macos: 'shift+F6',\n windows: 'shift+F6',\n },\n },\n },\n );\n }\n\n return actions;\n};\n\nexport const createObjectNode = ({\n space,\n object,\n droppable = true,\n navigable = false,\n resolve,\n}: {\n space: Space;\n object: Obj.Any;\n droppable?: boolean;\n navigable?: boolean;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n const type = Obj.getTypename(object);\n if (!type) {\n return undefined;\n }\n\n const metadata = resolve(type);\n if (Object.keys(metadata).length === 0) {\n return undefined;\n }\n\n const partials = Obj.instanceOf(DataType.Collection, object)\n ? getCollectionGraphNodePartials({ collection: object, space, resolve })\n : Obj.instanceOf(DataType.QueryCollection, object)\n ? getQueryCollectionNodePartials({ collection: object, space, resolve })\n : metadata.graphProps;\n\n return {\n id: fullyQualifiedId(object),\n type,\n cacheable: ['label', 'icon', 'role'],\n data: object,\n properties: {\n // TODO(burdon): Use annotation to get the name field.\n label: metadata.label?.(object) ||\n (object as any).name || ['object name placeholder', { ns: type, default: 'New object' }],\n icon: metadata.icon ?? 'ph--placeholder--regular',\n testId: 'spacePlugin.object',\n persistenceClass: 'echo',\n persistenceKey: space?.id,\n canDrop: (source: TreeData) => {\n return droppable && isGraphNode(source.item) && Obj.isObject(source.item.data);\n },\n ...partials,\n },\n };\n};\n\nexport const constructObjectActions = ({\n object,\n graph,\n dispatch,\n objectForms,\n navigable = false,\n}: {\n object: Obj.Any;\n graph: ReadableGraph;\n dispatch: PromiseIntentDispatcher;\n objectForms: ObjectForm<any>[];\n navigable?: boolean;\n}) => {\n const space = getSpace(object);\n invariant(space, 'Space not found');\n const getId = (id: string) => `${id}/${fullyQualifiedId(object)}`;\n\n const queryCollection = Obj.instanceOf(DataType.QueryCollection, object) ? object : undefined;\n const matchingObjectForm = queryCollection\n ? objectForms.find((form) => Type.getTypename(form.objectSchema) === queryCollection.query.typename)\n : undefined;\n\n const actions: NodeArg<ActionData>[] = [\n ...(Obj.instanceOf(DataType.Collection, object)\n ? [\n {\n id: getId(SpaceAction.OpenCreateObject._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(createIntent(SpaceAction.OpenCreateObject, { target: object }));\n },\n properties: {\n label: ['create object in collection label', { ns: SPACE_PLUGIN }],\n icon: 'ph--plus--regular',\n disposition: 'list-item-primary',\n testId: 'spacePlugin.createObject',\n },\n },\n ]\n : []),\n ...(matchingObjectForm\n ? [\n {\n id: getId(SpaceAction.OpenCreateObject._tag),\n type: ACTION_TYPE,\n data: async () => {\n if (matchingObjectForm.formSchema) {\n await dispatch(\n createIntent(SpaceAction.OpenCreateObject, {\n target: space,\n typename: queryCollection?.query.typename,\n }),\n );\n } else {\n await dispatch(\n pipe(\n matchingObjectForm.getIntent({}, { space }),\n chain(SpaceAction.AddObject, { target: space, hidden: true }),\n chain(LayoutAction.Open, { part: 'main' }),\n ),\n );\n }\n },\n properties: {\n label: ['create object in smart collection label', { ns: SPACE_PLUGIN }],\n icon: 'ph--plus--regular',\n disposition: 'list-item-primary',\n testId: 'spacePlugin.createObject',\n },\n },\n ]\n : []),\n {\n id: getId(SpaceAction.RenameObject._tag),\n type: ACTION_TYPE,\n data: async (params?: InvokeParams) => {\n await dispatch(createIntent(SpaceAction.RenameObject, { object, caller: params?.caller }));\n },\n properties: {\n label: [\n Obj.instanceOf(DataType.Collection, object) ? 'rename collection label' : 'rename object label',\n { ns: SPACE_PLUGIN },\n ],\n icon: 'ph--pencil-simple-line--regular',\n disposition: 'list-item',\n // TODO(wittjosiah): Not working.\n // keyBinding: {\n // macos: 'shift+F6',\n // },\n testId: 'spacePlugin.renameObject',\n },\n },\n {\n id: getId(SpaceAction.RemoveObjects._tag),\n type: ACTION_TYPE,\n data: async () => {\n const collection = graph\n .getConnections(fullyQualifiedId(object), 'inbound')\n .find(({ data }) => Obj.instanceOf(DataType.Collection, data))?.data;\n await dispatch(createIntent(SpaceAction.RemoveObjects, { objects: [object], target: collection }));\n },\n properties: {\n label: [\n Obj.instanceOf(DataType.Collection, object) ? 'delete collection label' : 'delete object label',\n { ns: SPACE_PLUGIN },\n ],\n icon: 'ph--trash--regular',\n disposition: 'list-item',\n // TODO(wittjosiah): This is a browser shortcut.\n // keyBinding: object instanceof CollectionType ? undefined : 'shift+meta+Backspace',\n testId: 'spacePlugin.deleteObject',\n },\n },\n ...(navigable || (!Obj.instanceOf(DataType.Collection, object) && !Obj.instanceOf(DataType.QueryCollection, object))\n ? [\n {\n id: getId('copy-link'),\n type: ACTION_TYPE,\n data: async () => {\n const url = `${window.location.origin}/${space.id}/${fullyQualifiedId(object)}`;\n await navigator.clipboard.writeText(url);\n },\n properties: {\n label: ['copy link label', { ns: SPACE_PLUGIN }],\n icon: 'ph--link--regular',\n disposition: 'list-item',\n testId: 'spacePlugin.copyLink',\n },\n },\n ]\n : []),\n // TODO(wittjosiah): Factor out and apply to all nodes.\n {\n id: getId(LayoutAction.Expose._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(createIntent(LayoutAction.Expose, { part: 'navigation', subject: fullyQualifiedId(object) }));\n },\n properties: {\n label: ['expose object label', { ns: SPACE_PLUGIN }],\n icon: 'ph--eye--regular',\n disposition: 'heading-list-item',\n testId: 'spacePlugin.exposeObject',\n },\n },\n ];\n\n return actions;\n};\n\n/**\n * @deprecated This is a temporary solution.\n */\nexport const getNestedObjects = async (\n object: Obj.Any,\n resolve: (typename: string) => Record<string, any>,\n): Promise<Obj.Any[]> => {\n const type = Obj.getTypename(object);\n if (!type) {\n return [];\n }\n\n const metadata = resolve(type);\n const loadReferences = metadata?.loadReferences;\n if (typeof loadReferences !== 'function') {\n return [];\n }\n\n const objects: Obj.Any[] = await loadReferences(object);\n const nested = await Promise.all(objects.map((object) => getNestedObjects(object, resolve)));\n return [...objects, ...nested.flat()];\n};\n\n/**\n * @deprecated Workaround for ECHO not supporting clone.\n */\n// TODO(burdon): Remove.\nexport const cloneObject = async (\n object: Type.Expando,\n resolve: (typename: string) => Record<string, any>,\n newSpace: Space,\n): Promise<Type.Expando> => {\n const schema = Obj.getSchema(object);\n const typename = schema ? Type.getTypename(schema) ?? EXPANDO_TYPENAME : EXPANDO_TYPENAME;\n const metadata = resolve(typename);\n const serializer = metadata.serializer;\n invariant(serializer, `No serializer for type: ${typename}`);\n const content = await serializer.serialize({ object });\n return serializer.deserialize({ content, space: newSpace, newId: true });\n};\n"],
5
- "mappings": "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",
6
- "names": ["import_echo", "SPACES", "SPACE_PLUGIN", "COMPOSER_SPACE_LOCK", "SHARED", "rxFromQuery", "query", "Rx", "make", "get", "unsubscribe", "subscribe", "result", "setSelf", "objects", "addFinalizer", "getSpaceDisplayName", "space", "personal", "namesCache", "state", "SpaceState", "SPACE_READY", "properties", "name", "length", "id", "ns", "getCollectionGraphNodePartials", "collection", "resolve", "acceptPersistenceClass", "Set", "acceptPersistenceKey", "role", "onRearrangeChildren", "nextOrder", "filter", "Obj", "isObject", "map", "Ref", "onTransferStart", "child", "index", "find", "object", "target", "data", "splice", "push", "onTransferEnd", "destination", "findIndex", "onCopy", "newObject", "cloneObject", "db", "add", "getQueryCollectionNodePartials", "icon", "typename", "canDrop", "source", "isGraphNode", "item", "getTypename", "checkPendingMigration", "SPACE_REQUIRES_MIGRATION", "Migrations", "versionProperty", "targetVersion", "constructSpaceNode", "navigable", "hasPendingMigration", "Type", "DataType", "Collection", "partials", "instanceOf", "type", "SPACE_TYPE", "cacheable", "label", "description", "hue", "undefined", "disabled", "testId", "isSpace", "nodes", "ATTENDABLE_PATH_SEPARATOR", "disposition", "position", "constructSpaceActions", "dispatch", "migrating", "getId", "actions", "SpaceAction", "Migrate", "_tag", "ACTION_GROUP_TYPE", "createIntent", "running", "OpenCreateObject", "ACTION_TYPE", "Rename", "params", "caller", "keyBinding", "macos", "windows", "createObjectNode", "droppable", "metadata", "Object", "keys", "QueryCollection", "graphProps", "fullyQualifiedId", "default", "persistenceClass", "persistenceKey", "constructObjectActions", "graph", "objectForms", "getSpace", "invariant", "queryCollection", "matchingObjectForm", "form", "objectSchema", "formSchema", "pipe", "getIntent", "chain", "AddObject", "hidden", "LayoutAction", "Open", "part", "RenameObject", "RemoveObjects", "getConnections", "url", "window", "location", "origin", "navigator", "clipboard", "writeText", "Expose", "subject", "getNestedObjects", "loadReferences", "nested", "Promise", "all", "flat", "newSpace", "schema", "getSchema", "EXPANDO_TYPENAME", "serializer", "content", "serialize", "deserialize", "newId"]
7
- }