@plurid/plurid-react 0.0.0-27 → 0.0.0-28
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/distribution/components/structural/Space/index.d.ts +2 -1
- package/distribution/containers/Application/View/index.d.ts +2 -1
- package/distribution/containers/Application/index.d.ts +2 -0
- package/distribution/index.d.ts +1 -1
- package/distribution/index.es.js +61 -72
- package/distribution/index.es.js.map +1 -1
- package/distribution/index.js +61 -72
- package/distribution/index.js.map +1 -1
- package/distribution/index.min.js +70 -73
- package/distribution/index.min.js.map +1 -1
- package/distribution/services/logic/computing/index.d.ts +1 -1
- package/distribution/services/logic/server/index.d.ts +1 -1
- package/distribution/services/state/actions/index.d.ts +1 -0
- package/distribution/services/state/modules/space/index.d.ts +2 -0
- package/distribution/services/state/modules/space/selectors.d.ts +1 -0
- package/package.json +12 -12
|
@@ -6,9 +6,10 @@ export interface PluridSpaceOwnProperties {
|
|
|
6
6
|
export interface PluridSpaceStateProperties {
|
|
7
7
|
stateConfiguration: PluridConfiguration;
|
|
8
8
|
stateGeneralTheme: Theme;
|
|
9
|
+
stateResolvedLayout: boolean;
|
|
9
10
|
}
|
|
10
11
|
export interface PluridSpaceDispatchProperties {
|
|
11
12
|
}
|
|
12
13
|
export declare type PluridSpaceProperties = PluridSpaceOwnProperties & PluridSpaceStateProperties & PluridSpaceDispatchProperties;
|
|
13
|
-
declare const ConnectedPluridSpace: import("react-redux").ConnectedComponent<React.FC<PluridSpaceProperties>, Omit<PluridSpaceProperties, "stateGeneralTheme" | "stateConfiguration"> & import("react-redux").ConnectProps>;
|
|
14
|
+
declare const ConnectedPluridSpace: import("react-redux").ConnectedComponent<React.FC<PluridSpaceProperties>, Omit<PluridSpaceProperties, "stateGeneralTheme" | "stateConfiguration" | "stateResolvedLayout"> & import("react-redux").ConnectProps>;
|
|
14
15
|
export default ConnectedPluridSpace;
|
|
@@ -14,6 +14,7 @@ export interface PluridViewStateProperties {
|
|
|
14
14
|
state: AppState;
|
|
15
15
|
stateConfiguration: PluridAppConfiguration;
|
|
16
16
|
stateSpaceLoading: boolean;
|
|
17
|
+
stateResolvedLayout: boolean;
|
|
17
18
|
stateTransform: SpaceTransform;
|
|
18
19
|
stateTree: TreePlane[];
|
|
19
20
|
stateSpaceView: PluridApplicationView;
|
|
@@ -44,5 +45,5 @@ export interface PluridViewDispatchProperties {
|
|
|
44
45
|
dispatchSpaceSetView: DispatchAction<typeof actions.space.spaceSetView>;
|
|
45
46
|
}
|
|
46
47
|
export declare type PluridViewProperties = PluridViewOwnProperties & PluridViewStateProperties & PluridViewDispatchProperties;
|
|
47
|
-
declare const ConnectedPluridView: import("react-redux").ConnectedComponent<React.FC<PluridViewProperties>, Omit<PluridViewProperties, "dispatch" | "stateGeneralTheme" | "stateConfiguration" | "stateTree" | "dispatchSetSpaceField" | "dispatchSetGeneralTheme" | "dispatchSetInteractionTheme" | "dispatchRotateX" | "dispatchRotateY" | "dispatchSetAnimatedTransform" | "dispatchRotateXWith" | "dispatchRotateYWith" | "state" | "stateSpaceLoading" | "stateTransform" | "stateSpaceView" | "dispatchSetConfiguration" | "dispatchSetConfigurationMicro" | "dispatchSetSpaceLoading" | "dispatchSetTransformTime" | "dispatchSetSpaceLocation" | "dispatchSetTree" | "dispatchTranslateXWith" | "dispatchTranslateYWith" | "dispatchTranslateZWith" | "dispatchScaleUpWith" | "dispatchScaleDownWith" | "dispatchSpaceSetViewSize" | "dispatchSpaceSetView"> & import("react-redux").ConnectProps>;
|
|
48
|
+
declare const ConnectedPluridView: import("react-redux").ConnectedComponent<React.FC<PluridViewProperties>, Omit<PluridViewProperties, "dispatch" | "stateGeneralTheme" | "stateConfiguration" | "stateTree" | "dispatchSetSpaceField" | "stateResolvedLayout" | "dispatchSetGeneralTheme" | "dispatchSetInteractionTheme" | "dispatchRotateX" | "dispatchRotateY" | "dispatchSetAnimatedTransform" | "dispatchRotateXWith" | "dispatchRotateYWith" | "state" | "stateSpaceLoading" | "stateTransform" | "stateSpaceView" | "dispatchSetConfiguration" | "dispatchSetConfigurationMicro" | "dispatchSetSpaceLoading" | "dispatchSetTransformTime" | "dispatchSetSpaceLocation" | "dispatchSetTree" | "dispatchTranslateXWith" | "dispatchTranslateYWith" | "dispatchTranslateZWith" | "dispatchScaleUpWith" | "dispatchScaleDownWith" | "dispatchSpaceSetViewSize" | "dispatchSpaceSetView"> & import("react-redux").ConnectProps>;
|
|
48
49
|
export default ConnectedPluridView;
|
|
@@ -8,10 +8,12 @@ declare class PluridApplication extends Component<PluridApplicationProperties<Pl
|
|
|
8
8
|
private store;
|
|
9
9
|
private storeUnubscriber;
|
|
10
10
|
private storeID;
|
|
11
|
+
private planesRegistrar;
|
|
11
12
|
constructor(properties: PluridApplicationProperties<PluridReactComponent>, context: React.ContextType<typeof PluridProviderContext>);
|
|
12
13
|
componentDidUpdate(): void;
|
|
13
14
|
componentWillUnmount(): void;
|
|
14
15
|
render(): JSX.Element;
|
|
16
|
+
private prepare;
|
|
15
17
|
private computeStore;
|
|
16
18
|
private subscribeStore;
|
|
17
19
|
}
|
package/distribution/index.d.ts
CHANGED
|
@@ -87,7 +87,7 @@ declare const Plurid: {
|
|
|
87
87
|
readonly NAVIGATE_TO_ROOT: "space.navigateToRoot";
|
|
88
88
|
};
|
|
89
89
|
/** Server */
|
|
90
|
-
serverComputeMetastate: (isoMatch: PluridRouteMatch, paths: PluridRoute<PluridReactComponent<any, PluridPlaneComponentProperty | PluridRouteComponentProperty>, any>[], globals: Record<string, string> | undefined) => Promise<import("@plurid/plurid-data").PluridMetastate>;
|
|
90
|
+
serverComputeMetastate: (isoMatch: PluridRouteMatch, paths: PluridRoute<PluridReactComponent<any, PluridPlaneComponentProperty | PluridRouteComponentProperty>, any>[], globals: Record<string, string> | undefined, hostname?: string) => Promise<import("@plurid/plurid-data").PluridMetastate>;
|
|
91
91
|
/** Router */
|
|
92
92
|
IsoMatcher: typeof routing.IsoMatcher;
|
|
93
93
|
routerNavigate: (path: string) => void;
|
package/distribution/index.es.js
CHANGED
|
@@ -272,6 +272,8 @@ const getSpace = state => state.space;
|
|
|
272
272
|
|
|
273
273
|
const getLoading = state => state.space.loading;
|
|
274
274
|
|
|
275
|
+
const getResolvedLayout = state => state.space.resolvedLayout;
|
|
276
|
+
|
|
275
277
|
const getTransformMatrix = state => state.space.transform;
|
|
276
278
|
|
|
277
279
|
const getAnimatedTransform = state => state.space.animatedTransform;
|
|
@@ -319,6 +321,7 @@ var selectors$3 = Object.freeze({
|
|
|
319
321
|
__proto__: null,
|
|
320
322
|
getSpace: getSpace,
|
|
321
323
|
getLoading: getLoading,
|
|
324
|
+
getResolvedLayout: getResolvedLayout,
|
|
322
325
|
getTransformMatrix: getTransformMatrix,
|
|
323
326
|
getAnimatedTransform: getAnimatedTransform,
|
|
324
327
|
getTransformTime: getTransformTime,
|
|
@@ -343,6 +346,7 @@ const {toRadians: toRadians} = mathematics.geometry;
|
|
|
343
346
|
|
|
344
347
|
const initialState$2 = {
|
|
345
348
|
loading: true,
|
|
349
|
+
resolvedLayout: false,
|
|
346
350
|
transform: "matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)",
|
|
347
351
|
animatedTransform: false,
|
|
348
352
|
transformTime: 450,
|
|
@@ -717,20 +721,6 @@ const store = store$1;
|
|
|
717
721
|
|
|
718
722
|
const StateContext = React.createContext({});
|
|
719
723
|
|
|
720
|
-
const loadStateFromContext = (context, space) => {
|
|
721
|
-
if (!context) {
|
|
722
|
-
return;
|
|
723
|
-
}
|
|
724
|
-
if (!space) {
|
|
725
|
-
if (typeof window === "undefined") {
|
|
726
|
-
return;
|
|
727
|
-
}
|
|
728
|
-
const defaultContext = context.states[window.location.pathname];
|
|
729
|
-
return defaultContext;
|
|
730
|
-
}
|
|
731
|
-
return context.states[space];
|
|
732
|
-
};
|
|
733
|
-
|
|
734
724
|
function __awaiter(thisArg, _arguments, P, generator) {
|
|
735
725
|
function adopt(value) {
|
|
736
726
|
return value instanceof P ? value : new P((function(resolve) {
|
|
@@ -780,17 +770,8 @@ const {getTransformRotate: getTransformRotate, getTransformTranslate: getTransfo
|
|
|
780
770
|
|
|
781
771
|
const {rotateMatrix: rotateMatrix$1, translateMatrix: translateMatrixArray, scaleMatrix: scaleMatrix$1, multiplyArrayOfMatrices: multiplyArrayOfMatrices$1} = matrix;
|
|
782
772
|
|
|
783
|
-
const computeApplication = (planes, configuration, view) => {
|
|
773
|
+
const computeApplication = (planes, configuration, view, origin = "origin") => {
|
|
784
774
|
const appConfiguration = general$2.configuration.merge(configuration);
|
|
785
|
-
if (planes) {
|
|
786
|
-
for (const plane of planes) {
|
|
787
|
-
const planeData = resolvePluridPlaneData(plane);
|
|
788
|
-
const linkPath = routing.resolveRoute(planeData.route);
|
|
789
|
-
if (!linkPath) {
|
|
790
|
-
continue;
|
|
791
|
-
}
|
|
792
|
-
}
|
|
793
|
-
}
|
|
794
775
|
const currentView = view || [];
|
|
795
776
|
const absoluteView = [];
|
|
796
777
|
for (const viewItem of currentView) {
|
|
@@ -802,7 +783,6 @@ const computeApplication = (planes, configuration, view) => {
|
|
|
802
783
|
absoluteView.push(viewPath.route);
|
|
803
784
|
}
|
|
804
785
|
}
|
|
805
|
-
const origin = "localhost:63000";
|
|
806
786
|
const registrar = new PluridPlanesRegistrar(planes, origin);
|
|
807
787
|
const registrarPlanes = registrar.getAll();
|
|
808
788
|
const spaceTree = new space$2.tree.Tree({
|
|
@@ -1056,8 +1036,6 @@ const closeActivePlane = (state, pubsub) => {
|
|
|
1056
1036
|
});
|
|
1057
1037
|
};
|
|
1058
1038
|
|
|
1059
|
-
const {direction: directionLogic} = interaction;
|
|
1060
|
-
|
|
1061
1039
|
const handleGlobalShortcuts = (dispatch, state, pubsub, event, firstPerson, locks) => {
|
|
1062
1040
|
if (event.defaultPrevented) {
|
|
1063
1041
|
return;
|
|
@@ -1251,7 +1229,7 @@ const handleGlobalWheel = (dispatch, event, modes, locks) => {
|
|
|
1251
1229
|
deltaY: event.deltaY
|
|
1252
1230
|
};
|
|
1253
1231
|
const absoluteThreshold = 100;
|
|
1254
|
-
const direction =
|
|
1232
|
+
const direction = interaction.direction.getWheelDirection(deltas, absoluteThreshold);
|
|
1255
1233
|
if (modes.rotation) {
|
|
1256
1234
|
if (direction === directions.left && locks.rotationY) {
|
|
1257
1235
|
return dispatch(actions.space.rotateLeft());
|
|
@@ -2113,24 +2091,13 @@ const ConnectedPluridRoots = connect(mapStateToProperties$g, mapDispatchToProper
|
|
|
2113
2091
|
context: StateContext
|
|
2114
2092
|
})(PluridRoots);
|
|
2115
2093
|
|
|
2116
|
-
const fadeIn = keyframes`
|
|
2117
|
-
from {
|
|
2118
|
-
opacity: 0%;
|
|
2119
|
-
}
|
|
2120
|
-
|
|
2121
|
-
to {
|
|
2122
|
-
opacity: 100%;
|
|
2123
|
-
}
|
|
2124
|
-
`;
|
|
2125
|
-
|
|
2126
|
-
const fadeInAnimation = fadeInTime => css`${fadeIn} ${fadeInTime}ms linear 100ms forwards`;
|
|
2127
|
-
|
|
2128
2094
|
const StyledPluridSpace = styled.div`
|
|
2129
2095
|
position: relative;
|
|
2130
2096
|
height: 100%;
|
|
2131
2097
|
overflow: hidden;
|
|
2132
2098
|
perspective: 2000px;
|
|
2133
2099
|
outline: none;
|
|
2100
|
+
transition: opacity ${({fadeInTime: fadeInTime}) => fadeInTime}ms linear;
|
|
2134
2101
|
|
|
2135
2102
|
background: ${({opaque: opaque, theme: theme}) => {
|
|
2136
2103
|
if (opaque) {
|
|
@@ -2140,24 +2107,10 @@ const StyledPluridSpace = styled.div`
|
|
|
2140
2107
|
}
|
|
2141
2108
|
return "transparent";
|
|
2142
2109
|
}};
|
|
2143
|
-
|
|
2144
|
-
/* TOFIX */
|
|
2145
|
-
/* opacity: ${({fadeInTime: fadeInTime}) => {
|
|
2146
|
-
if (fadeInTime) {
|
|
2147
|
-
return "0";
|
|
2148
|
-
}
|
|
2149
|
-
return "1";
|
|
2150
|
-
}};
|
|
2151
|
-
animation: ${({isMounted: isMounted, fadeInTime: fadeInTime}) => {
|
|
2152
|
-
if (isMounted && fadeInTime) {
|
|
2153
|
-
return fadeInAnimation(fadeInTime);
|
|
2154
|
-
}
|
|
2155
|
-
return "";
|
|
2156
|
-
}}; */
|
|
2157
2110
|
`;
|
|
2158
2111
|
|
|
2159
2112
|
const PluridSpace = properties => {
|
|
2160
|
-
const {stateConfiguration: stateConfiguration, stateGeneralTheme: stateGeneralTheme} = properties;
|
|
2113
|
+
const {stateConfiguration: stateConfiguration, stateGeneralTheme: stateGeneralTheme, stateResolvedLayout: stateResolvedLayout} = properties;
|
|
2161
2114
|
const {space: space} = stateConfiguration;
|
|
2162
2115
|
const {opaque: opaque, fadeInTime: fadeInTime} = space;
|
|
2163
2116
|
const [isMounted, setIsMounted] = useState(false);
|
|
@@ -2169,13 +2122,17 @@ const PluridSpace = properties => {
|
|
|
2169
2122
|
opaque: opaque,
|
|
2170
2123
|
isMounted: isMounted,
|
|
2171
2124
|
fadeInTime: fadeInTime,
|
|
2172
|
-
"data-plurid-entity": PLURID_ENTITY_SPACE
|
|
2125
|
+
"data-plurid-entity": PLURID_ENTITY_SPACE,
|
|
2126
|
+
style: {
|
|
2127
|
+
opacity: stateResolvedLayout ? 1 : 0
|
|
2128
|
+
}
|
|
2173
2129
|
}, React.createElement(ConnectedPluridRoots, null));
|
|
2174
2130
|
};
|
|
2175
2131
|
|
|
2176
2132
|
const mapStateToProperties$f = state => ({
|
|
2177
2133
|
stateConfiguration: selectors.configuration.getConfiguration(state),
|
|
2178
|
-
stateGeneralTheme: selectors.themes.getGeneralTheme(state)
|
|
2134
|
+
stateGeneralTheme: selectors.themes.getGeneralTheme(state),
|
|
2135
|
+
stateResolvedLayout: selectors.space.getResolvedLayout(state)
|
|
2179
2136
|
});
|
|
2180
2137
|
|
|
2181
2138
|
const mapDispatchToProperties$f = dispatch => ({});
|
|
@@ -2243,6 +2200,18 @@ const ConnectedOrigin = connect(mapStateToProperties$e, mapDispatchToProperties$
|
|
|
2243
2200
|
context: StateContext
|
|
2244
2201
|
})(Origin);
|
|
2245
2202
|
|
|
2203
|
+
const fadeIn = keyframes`
|
|
2204
|
+
from {
|
|
2205
|
+
opacity: 0%;
|
|
2206
|
+
}
|
|
2207
|
+
|
|
2208
|
+
to {
|
|
2209
|
+
opacity: 100%;
|
|
2210
|
+
}
|
|
2211
|
+
`;
|
|
2212
|
+
|
|
2213
|
+
const fadeInAnimation = fadeInTime => css`${fadeIn} ${fadeInTime}ms linear 100ms forwards`;
|
|
2214
|
+
|
|
2246
2215
|
var MENUS;
|
|
2247
2216
|
|
|
2248
2217
|
(function(MENUS) {
|
|
@@ -4319,7 +4288,7 @@ const ConnectedPluridViewcube = connect(mapStateToProperties$8, mapDispatchToPro
|
|
|
4319
4288
|
const PluridViewContainer = _properties => React.createElement(React.Fragment, null, React.createElement(ConnectedPluridSpace, null), React.createElement(ConnectedOrigin, null), React.createElement(ConnectedPluridToolbar, null), React.createElement(ConnectedPluridViewcube, null));
|
|
4320
4289
|
|
|
4321
4290
|
const PluridView = properties => {
|
|
4322
|
-
const {planesRegistrar: planesRegistrar, customPlane: customPlane, planeContext: planeContext, planeContextValue: planeContextValue, pubsub: pubsub, planeNotFound: planeNotFound, planeRenderError: planeRenderError, matchedRoute: matchedRoute, hostname: hostname, state: state, stateConfiguration: stateConfiguration, stateTransform: stateTransform, stateSpaceView: stateSpaceView, stateTree: stateTree, stateGeneralTheme: stateGeneralTheme, dispatch: dispatch, dispatchSetConfiguration: dispatchSetConfiguration, dispatchSetGeneralTheme: dispatchSetGeneralTheme, dispatchSetInteractionTheme: dispatchSetInteractionTheme, dispatchSetSpaceField: dispatchSetSpaceField, dispatchSetSpaceLocation: dispatchSetSpaceLocation, dispatchSetAnimatedTransform: dispatchSetAnimatedTransform, dispatchSetTransformTime: dispatchSetTransformTime, dispatchSetTree: dispatchSetTree, dispatchRotateXWith: dispatchRotateXWith, dispatchRotateX: dispatchRotateX, dispatchRotateYWith: dispatchRotateYWith, dispatchRotateY: dispatchRotateY, dispatchTranslateXWith: dispatchTranslateXWith, dispatchTranslateYWith: dispatchTranslateYWith, dispatchTranslateZWith: dispatchTranslateZWith, dispatchScaleUpWith: dispatchScaleUpWith, dispatchScaleDownWith: dispatchScaleDownWith, dispatchSpaceSetViewSize: dispatchSpaceSetViewSize, dispatchSpaceSetView: dispatchSpaceSetView} = properties;
|
|
4291
|
+
const {planesRegistrar: planesRegistrar, customPlane: customPlane, planeContext: planeContext, planeContextValue: planeContextValue, pubsub: pubsub, planeNotFound: planeNotFound, planeRenderError: planeRenderError, matchedRoute: matchedRoute, hostname: hostname, state: state, stateConfiguration: stateConfiguration, stateResolvedLayout: stateResolvedLayout, stateTransform: stateTransform, stateSpaceView: stateSpaceView, stateTree: stateTree, stateGeneralTheme: stateGeneralTheme, dispatch: dispatch, dispatchSetConfiguration: dispatchSetConfiguration, dispatchSetGeneralTheme: dispatchSetGeneralTheme, dispatchSetInteractionTheme: dispatchSetInteractionTheme, dispatchSetSpaceField: dispatchSetSpaceField, dispatchSetSpaceLocation: dispatchSetSpaceLocation, dispatchSetAnimatedTransform: dispatchSetAnimatedTransform, dispatchSetTransformTime: dispatchSetTransformTime, dispatchSetTree: dispatchSetTree, dispatchRotateXWith: dispatchRotateXWith, dispatchRotateX: dispatchRotateX, dispatchRotateYWith: dispatchRotateYWith, dispatchRotateY: dispatchRotateY, dispatchTranslateXWith: dispatchTranslateXWith, dispatchTranslateYWith: dispatchTranslateYWith, dispatchTranslateZWith: dispatchTranslateZWith, dispatchScaleUpWith: dispatchScaleUpWith, dispatchScaleDownWith: dispatchScaleDownWith, dispatchSpaceSetViewSize: dispatchSpaceSetViewSize, dispatchSpaceSetView: dispatchSpaceSetView} = properties;
|
|
4323
4292
|
const viewElement = useRef(null);
|
|
4324
4293
|
const scrollTimeout = useRef();
|
|
4325
4294
|
const [pluridPubSub, setPluridPubSub] = useState(pubsub ? [ pubsub ] : [ new PluridPubSub ]);
|
|
@@ -4333,6 +4302,10 @@ const PluridView = properties => {
|
|
|
4333
4302
|
setPreventOverscroll(false);
|
|
4334
4303
|
}), PLURID_DEFAULT_PREVENT_OVERSCROLL_TIMEOUT);
|
|
4335
4304
|
};
|
|
4305
|
+
const resolveLayout = () => {
|
|
4306
|
+
const layout = true;
|
|
4307
|
+
treeUpdate(stateSpaceView, stateConfiguration, layout);
|
|
4308
|
+
};
|
|
4336
4309
|
const shortcutsCallback = useCallback((event => {
|
|
4337
4310
|
const {transformLocks: transformLocks} = stateConfiguration.space;
|
|
4338
4311
|
handleGlobalShortcuts(dispatch, state, pluridPubSub[0], event, stateConfiguration.space.firstPerson, transformLocks);
|
|
@@ -4347,12 +4320,13 @@ const PluridView = properties => {
|
|
|
4347
4320
|
};
|
|
4348
4321
|
handleGlobalWheel(dispatch, event, transformModes, transformLocks);
|
|
4349
4322
|
}), [ dispatch, stateConfiguration.space.transformMode, stateConfiguration.space.transformLocks ]);
|
|
4350
|
-
const treeUpdate = (view, configuration = stateConfiguration) => {
|
|
4323
|
+
const treeUpdate = (view, configuration = stateConfiguration, layout) => {
|
|
4351
4324
|
const planes = getRegisteredPlanes(planesRegistrar);
|
|
4352
4325
|
const spaceTree = new space$2.tree.Tree({
|
|
4353
4326
|
planes: planes,
|
|
4354
4327
|
configuration: configuration,
|
|
4355
|
-
view: view
|
|
4328
|
+
view: view,
|
|
4329
|
+
layout: layout
|
|
4356
4330
|
}, hostname);
|
|
4357
4331
|
const computedTree = spaceTree.compute();
|
|
4358
4332
|
for (const statePlane of stateTree) {
|
|
@@ -4368,7 +4342,7 @@ const PluridView = properties => {
|
|
|
4368
4342
|
dispatchSetTree(computedTree);
|
|
4369
4343
|
};
|
|
4370
4344
|
const treeUpdateCallback = useCallback((() => {
|
|
4371
|
-
treeUpdate(stateSpaceView);
|
|
4345
|
+
treeUpdate(stateSpaceView, stateConfiguration);
|
|
4372
4346
|
}), [ hostname, stateSpaceView, stateConfiguration, JSON.stringify(stateTree) ]);
|
|
4373
4347
|
const handlePubSubSubscribe = pubsub => {
|
|
4374
4348
|
const subscriptions = [ {
|
|
@@ -4869,6 +4843,15 @@ const PluridView = properties => {
|
|
|
4869
4843
|
useEffect((() => {
|
|
4870
4844
|
treeUpdateCallback();
|
|
4871
4845
|
}), []);
|
|
4846
|
+
useEffect((() => {
|
|
4847
|
+
if (!stateResolvedLayout) {
|
|
4848
|
+
resolveLayout();
|
|
4849
|
+
dispatchSetSpaceField({
|
|
4850
|
+
field: "resolvedLayout",
|
|
4851
|
+
value: true
|
|
4852
|
+
});
|
|
4853
|
+
}
|
|
4854
|
+
}), [ stateResolvedLayout ]);
|
|
4872
4855
|
const pluridContext = {
|
|
4873
4856
|
planesRegistrar: planesRegistrar,
|
|
4874
4857
|
planeContext: planeContext,
|
|
@@ -4898,6 +4881,7 @@ const mapStateToProperties$7 = state => ({
|
|
|
4898
4881
|
state: state,
|
|
4899
4882
|
stateConfiguration: selectors.configuration.getConfiguration(state),
|
|
4900
4883
|
stateTransform: selectors.space.getTransform(state),
|
|
4884
|
+
stateResolvedLayout: selectors.space.getResolvedLayout(state),
|
|
4901
4885
|
stateTree: selectors.space.getTree(state),
|
|
4902
4886
|
stateSpaceLoading: selectors.space.getLoading(state),
|
|
4903
4887
|
stateSpaceView: selectors.space.getView(state),
|
|
@@ -4938,8 +4922,8 @@ class PluridApplication extends Component {
|
|
|
4938
4922
|
super(properties);
|
|
4939
4923
|
this.storeID = properties.id || "default";
|
|
4940
4924
|
this.context = context;
|
|
4941
|
-
|
|
4942
|
-
this.store = store(
|
|
4925
|
+
this.prepare();
|
|
4926
|
+
this.store = store(this.computeStore());
|
|
4943
4927
|
this.subscribeStore();
|
|
4944
4928
|
}
|
|
4945
4929
|
componentDidUpdate() {
|
|
@@ -4958,15 +4942,20 @@ class PluridApplication extends Component {
|
|
|
4958
4942
|
return React.createElement(Provider, {
|
|
4959
4943
|
store: this.store,
|
|
4960
4944
|
context: StateContext
|
|
4961
|
-
}, React.createElement(ConnectedPluridView, Object.assign({}, this.props
|
|
4945
|
+
}, React.createElement(ConnectedPluridView, Object.assign({}, this.props, {
|
|
4946
|
+
planesRegistrar: this.planesRegistrar
|
|
4947
|
+
})));
|
|
4948
|
+
}
|
|
4949
|
+
prepare() {
|
|
4950
|
+
this.planesRegistrar = typeof window === "undefined" && !this.props.planesRegistrar ? new PluridPlanesRegistrar(this.props.planes, this.props.hostname) : this.props.planesRegistrar;
|
|
4962
4951
|
}
|
|
4963
4952
|
computeStore() {
|
|
4964
|
-
const {view: view, planes: planes, configuration: configuration, precomputedState: precomputedState,
|
|
4965
|
-
registerPlanes(planes, planesRegistrar, hostname);
|
|
4953
|
+
const {view: view, planes: planes, configuration: configuration, precomputedState: precomputedState, useLocalStorage: useLocalStorage, hostname: hostname, space: space} = this.props;
|
|
4954
|
+
registerPlanes(planes, this.planesRegistrar, hostname);
|
|
4966
4955
|
const currentState = this.store ? this.store.getState() : undefined;
|
|
4967
4956
|
const localState = state.local.load(this.storeID, useLocalStorage);
|
|
4968
|
-
const contextState =
|
|
4969
|
-
const store = state.compute(view, configuration, planesRegistrar, currentState, localState, precomputedState, contextState, hostname);
|
|
4957
|
+
const contextState = undefined;
|
|
4958
|
+
const store = state.compute(view, configuration, this.planesRegistrar, currentState, localState, precomputedState, contextState, hostname);
|
|
4970
4959
|
return store;
|
|
4971
4960
|
}
|
|
4972
4961
|
subscribeStore() {
|
|
@@ -6355,14 +6344,13 @@ const ConnectedPluridSpaceDebugger = connect(mapStateToProperties, mapDispatchTo
|
|
|
6355
6344
|
context: StateContext
|
|
6356
6345
|
})(PluridSpaceDebugger);
|
|
6357
6346
|
|
|
6358
|
-
const serverComputeMetastate = (isoMatch, paths, globals) => __awaiter(void 0, void 0, void 0, (function*() {
|
|
6347
|
+
const serverComputeMetastate = (isoMatch, paths, globals, hostname = "origin") => __awaiter(void 0, void 0, void 0, (function*() {
|
|
6359
6348
|
const protocol = "http";
|
|
6360
|
-
const
|
|
6361
|
-
const pluridApplications = yield collectApplicationsFromPath(isoMatch, protocol, host, globals);
|
|
6349
|
+
const pluridApplications = yield collectApplicationsFromPath(isoMatch, protocol, hostname, globals);
|
|
6362
6350
|
const states = {};
|
|
6363
6351
|
for (const application of pluridApplications) {
|
|
6364
6352
|
const {planes: planes, view: view, configuration: configuration} = application;
|
|
6365
|
-
const {computedTree: computedTree, appConfiguration: appConfiguration} = computeApplication(planes, isoMatch.data.defaultConfiguration, view);
|
|
6353
|
+
const {computedTree: computedTree, appConfiguration: appConfiguration} = computeApplication(planes, isoMatch.data.defaultConfiguration, view, hostname);
|
|
6366
6354
|
const state = {
|
|
6367
6355
|
configuration: Object.assign({}, appConfiguration),
|
|
6368
6356
|
shortcuts: {
|
|
@@ -6377,6 +6365,7 @@ const serverComputeMetastate = (isoMatch, paths, globals) => __awaiter(void 0, v
|
|
|
6377
6365
|
},
|
|
6378
6366
|
space: {
|
|
6379
6367
|
loading: false,
|
|
6368
|
+
resolvedLayout: false,
|
|
6380
6369
|
animatedTransform: false,
|
|
6381
6370
|
transform: "matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)",
|
|
6382
6371
|
scale: 1,
|