You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In most cases, reloading the datasoure, when the selectors.CR.Workspaces.baseWorkspaceSelector(state),changes would be expected. As an integrator you can't even force a reload, because the arguments only support ClientEval, and in ClientEval only the node is available, and it's workspace is always the user workspace.
In the neosContextConnector add baseWorkspace: selectors.CR.Workspaces.baseWorkspaceSelector(state), and in componentDidUpdate reload if the workspace changes.
The text was updated successfully, but these errors were encountered:
And as the contextNodePath will only ever include user-marchenry and not the baseworkspace, which can be switched without reloading the neos ui, i added a dummy parameter __baseWorkspaceName, which i will not use on the server but only to influence the cache key.
constbaseWorkspaceName=useSelector(selectors.CR.Workspaces.baseWorkspaceSelector);constdataSourcesDataLoader=neos.globalRegistry.get("dataLoaders").get("DataSources");dataSourcesDataLoader.resolveValue({contextNodePath: documentNode.contextPath,dataSourceIdentifier: "vendor-site-data-source",// to invalidate datasource cache__baseWorkspaceName: baseWorkspaceName,}).then((result)=>{console.log(result)});
grebaldi
changed the title
View DataSource should Update on base workspace change
BUG: View DataSource should Update on base workspace change
Apr 18, 2024
Description
A Inspector View can use a datasource. Here's a very simple example of this: https://github.com/flownative/neos-workspace-preview/blob/main/Configuration/NodeTypes.yaml#L9-L11
Now when a user changes it's base workspace, the datasource is not reloaded: https://github.com/neos/neos-ui/blob/8.4/packages/neos-ui-views/src/Data/DataLoader/index.js#L53-L56
In most cases, reloading the datasoure, when the
selectors.CR.Workspaces.baseWorkspaceSelector(state),
changes would be expected. As an integrator you can't even force a reload, because the arguments only support ClientEval, and in ClientEval only the node is available, and it's workspace is always the user workspace.Steps to Reproduce
Expected behavior
Datasource is updated.
Actual behavior
Outdated data.
Affected Versions
Neos: *
UI: 5.0 - 9.0
Possible solution
In the
neosContextConnector
addbaseWorkspace: selectors.CR.Workspaces.baseWorkspaceSelector(state),
and incomponentDidUpdate
reload if the workspace changes.The text was updated successfully, but these errors were encountered: