Skip to content

Conversation

@CustomBuildingConfigurators-Balaji
Copy link
Contributor

@CustomBuildingConfigurators-Balaji CustomBuildingConfigurators-Balaji commented Jan 20, 2026

Purpose

DYN-9600

  1. Automatically synchronize the Documentation Browser to the currently selected node.
    Implementation Scope (When the Node Help Documentation Browser is open and visible):
    - When Single node selected: Change and display that new selected node’s help content automatically.
    - When Multiple nodes or a group selected: Do not change content; retain the last viewed help.
    - If a selected node is deleted or becomes invalid, retain last help and clear pause state if needed.
    - Switching workspaces or graphs preserves the last help state per workspace session.
    - Debounce the selection listener (used 300ms) to avoid flicker during rapid selection.
  2. Add a toggle preference: Preferences >Features> Documentation Browser > Auto‑sync with node selection (default: On). Ensure the value is retained for next session.

Declarations

Check these if you believe they are true

  • The code base is in a better state after this PR
  • Is documented according to the standards
  • The level of testing this PR includes is appropriate
  • User facing strings, if any, are extracted into *.resx files
  • Snapshot of UI changes, if any.
image

Reviewers

@reddyashish, @QilongTang

FYIs

@stevecbc

…selected node.

Add a toggle preference: Preferences >Features> Documentation Browser > Auto‑sync with node selection (default: On)
Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See the ticket for this pull request: https://jira.autodesk.com/browse/DYN-9600

@zeusongit
Copy link
Contributor

zeusongit commented Jan 20, 2026

Build currently fails, please declare public APIs in PublicAPI.UnShipped.txt

Comment on lines 69 to 71
private Wpf.Utilities.ActionDebouncer delayDocumentBrowserRefresh
= new Wpf.Utilities.ActionDebouncer(null);
private int delayDocumentBrowserTime = 300;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

curious to know why this was added? Did you see any side-effects/flickering/lag that was resolved by this?

Copy link
Contributor Author

@CustomBuildingConfigurators-Balaji CustomBuildingConfigurators-Balaji Jan 21, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It was mentioned in the task description to add a debouncer to avoid flickering during rapid selection of nodes.
image

After removing Debouncer, I do not find any issues with manual testing. I have used the same delay time value used for DelayNodePreviewControl.
@zeusongit Let me know if you want me to remove that.

/// - When Multiple nodes or a group selected: Do not change content; retain the last viewed help
/// - No selection: Retain the last viewed help.
/// - If a selected node is deleted or becomes invalid, retain last help and clear pause state if needed.
/// - Switching workspaces or graphs preserves the last help state per workspace session.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does that mean it will update when switching to custom node workspace?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, we do not preserve the last selected node for each workspace. So DocumentExtensionBrowser content will not update.
This functionality works only when a node is selected in Workspace.

Renamed delayDocumentBrowserTime variable to delayDocumentBrowserRefreshTime
@CustomBuildingConfigurators-Balaji
Copy link
Contributor Author

CustomBuildingConfigurators-Balaji commented Jan 21, 2026

Build currently fails, please declare public APIs in PublicAPI.UnShipped.txt

Added public properties and methods to PublicAPI.Unshipped.txt file.

@zeusongit
Copy link
Contributor

@CustomBuildingConfigurators-Balaji The selfserve job still fails because one of the test: TestImportCopySettings is failing
You will probably have to update that test with the new preference setting you have added.

@CustomBuildingConfigurators-Balaji
Copy link
Contributor Author

@CustomBuildingConfigurators-Balaji The selfserve job still fails because one of the test: TestImportCopySettings is failing You will probably have to update that test with the new preference setting you have added.

@zeusongit, Modified TestSettingsSerialization and TestImportCopySettings unit test methods with the newly added IsAutoSyncDocumentBrowser setting.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants