appsmith icon indicating copy to clipboard operation
appsmith copied to clipboard

feat: Command click navigation via code

Open hetunandu opened this issue 3 years ago • 39 comments

Description

Navigate to different entities in Appsmith with CMD + Click just like a text editor.

Resolves #15652 Resolves #18663

https://www.loom.com/share/0a286a0a945146cbbf6727ae2268d483

Type of change

  • New Feature

How Has This Been Tested?

  • Manual
  • Jest
  • Cypress

Test Plan

https://github.com/appsmithorg/TestSmith/issues/2092

Issues raised during DP testing

  • [ ] https://github.com/appsmithorg/appsmith/pull/18326#issuecomment-1323433183
  • [ ] Blocker issue: https://github.com/appsmithorg/appsmith/pull/18326#issuecomment-1334963239
  • [ ] https://github.com/appsmithorg/appsmith/pull/18326#issuecomment-1335157455

Checklist:

Dev activity

  • [x] My code follows the style guidelines of this project
  • [x] I have performed a self-review of my own code
  • [x] I have commented my code, particularly in hard-to-understand areas
  • [ ] I have made corresponding changes to the documentation
  • [x] My changes generate no new warnings
  • [x] I have added tests that prove my fix is effective or that my feature works
  • [x] New and existing unit tests pass locally with my changes
  • [ ] PR is being merged under a feature flag

QA activity:

  • [x] Test plan has been approved by relevant developers
  • [ ] Test plan has been peer reviewed by QA
  • [ ] Cypress test cases have been added and approved by either SDET or manual QA
  • [ ] Organized project review call with relevant stakeholders after Round 1/2 of QA
  • [ ] Added Test Plan Approved label after reveiwing all Cypress test

hetunandu avatar Nov 21 '22 12:11 hetunandu

Unable to find test scripts. Please add necessary tests to the PR.

github-actions[bot] avatar Nov 21 '22 12:11 github-actions[bot]

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Updated
appsmith ✅ Ready (Inspect) Visit Preview Dec 8, 2022 at 9:58AM (UTC)

vercel[bot] avatar Nov 21 '22 12:11 vercel[bot]

/ok-to-test

hetunandu avatar Nov 22 '22 04:11 hetunandu

Tests running at: https://github.com/appsmithorg/appsmith/actions/runs/3520503778. Workflow: Appsmith External Integration Test Workflow. Commit: ``. PR: 18326. Perf tests will be available at https://app.appsmith.com/app/performance-infra-dashboard/pr-details-63465d4789020c7ac296d08d?pr=18326&runId=3520503778_1

github-actions[bot] avatar Nov 22 '22 04:11 github-actions[bot]

  • [x] Reword text since it's a bit ambigious now. Something like "Press down on Ctrl/Cmd keys to navigate on click" image
  • [ ] Navigation shows up only for JS object name, not function name
  • [x] Navigation does not show up for Appsmith framework functions, like for example, inside a showModal("modalName"), closeModal("modalName"), resetWidget('WidgetName')
  • [x] Navigation does not show up when using this.functionName on a JS object (tracked as part of phase 2 #18585)
  • [x] Dynamic binding of a widget in an API URL param is not recognized for click navigation image
  • [ ] If there's a reference with the same name, for example a store value as helloWorld and a widget called helloWorld then appsmith.store.helloWorld navigates to the widget. removeValue('helloWorld') and setInterval, clearInterval and setTimeout all have this problem
  • [x] References such as the one seen below does not show navigation (removing single quotes fixes the issue) image
  • [x] Query reference stays even after deletion but widget reference is removed so cursor turns into a click icon when hovered over such a binding - this behaviour is normalized as with widget reference once page is refreshed (cannot reproduce anymore)
  • [x] If a modal is open and a widget reference is clicked, then control navigates to the clicked widget but modal does not close
  • [x] Contrary of the above scenario is also true, modals don't open on navigation

ramsaptami avatar Nov 22 '22 10:11 ramsaptami

Unable to find test scripts. Please add necessary tests to the PR.

github-actions[bot] avatar Nov 22 '22 10:11 github-actions[bot]

Unable to find test scripts. Please add necessary tests to the PR.

github-actions[bot] avatar Nov 22 '22 12:11 github-actions[bot]

/ok-to-test

hetunandu avatar Nov 22 '22 16:11 hetunandu

Tests running at: https://github.com/appsmithorg/appsmith/actions/runs/3525243126. Workflow: Appsmith External Integration Test Workflow. Commit: ``. PR: 18326. Perf tests will be available at https://app.appsmith.com/app/performance-infra-dashboard/pr-details-63465d4789020c7ac296d08d?pr=18326&runId=3525243126_1

github-actions[bot] avatar Nov 22 '22 16:11 github-actions[bot]

Unable to find test scripts. Please add necessary tests to the PR.

github-actions[bot] avatar Nov 23 '22 03:11 github-actions[bot]

Unable to find test scripts. Please add necessary tests to the PR.

github-actions[bot] avatar Nov 23 '22 08:11 github-actions[bot]

/ok-to-test sha=6cda633

hetunandu avatar Nov 30 '22 11:11 hetunandu

Tests running at: https://github.com/appsmithorg/appsmith/actions/runs/3583303002. Workflow: Appsmith External Integration Test Workflow. Commit: 6cda633. PR: 18326. Perf tests will be available at https://app.appsmith.com/app/performance-infra-dashboard/pr-details-63465d4789020c7ac296d08d?pr=18326&runId=3583303002_1

github-actions[bot] avatar Nov 30 '22 12:11 github-actions[bot]

Also think we could avoid/remove/modify some code here handling the modal widget since widget selection can take care of it in the middle ware. https://github.com/appsmithorg/appsmith/blob/release/app/client/src/pages/Editor/Explorer/Widgets/useNavigateToWidget.ts

marks0351 avatar Dec 01 '22 06:12 marks0351

/ok-to-test sha=8565f75

hetunandu avatar Dec 01 '22 15:12 hetunandu

Tests running at: https://github.com/appsmithorg/appsmith/actions/runs/3594413605. Workflow: Appsmith External Integration Test Workflow. Commit: 8565f75. PR: 18326. Perf tests will be available at https://app.appsmith.com/app/performance-infra-dashboard/pr-details-63465d4789020c7ac296d08d?pr=18326&runId=3594413605_1

github-actions[bot] avatar Dec 01 '22 16:12 github-actions[bot]

Unable to find test scripts. Please add necessary tests to the PR.

github-actions[bot] avatar Dec 01 '22 16:12 github-actions[bot]

are tests being added?

marks0351 avatar Dec 02 '22 05:12 marks0351

  • [x] Blocker issue: object body is replaced when going back on the browser https://www.loom.com/share/de4865bb8dea47ef9c144716610fcf31 Steps:
  1. Navigate from JSObj1 to JSObj2 and back
  2. Use browser or mousepad shortcut to go back to JSObj1 from JSObj2
  3. Observe the object body of JSObj1 is replaced with JSObj2
  4. Refreshing the page reverts the temporary object body replacement - BUT, interacting with the object replaces the text and user looses their code

Can be tracked at #18663

ramsaptami avatar Dec 02 '22 09:12 ramsaptami

Unable to find test scripts. Please add necessary tests to the PR.

github-actions[bot] avatar Dec 02 '22 10:12 github-actions[bot]

Unable to find test scripts. Please add necessary tests to the PR.

github-actions[bot] avatar Dec 02 '22 10:12 github-actions[bot]

/ok-to-test sha=14ff4ce

hetunandu avatar Dec 02 '22 12:12 hetunandu

  • [x] Object reference is retained even after modification https://www.loom.com/share/443cc3b0f84f41739ee2d2ba3865ce43

ramsaptami avatar Dec 02 '22 12:12 ramsaptami

Tests running at: https://github.com/appsmithorg/appsmith/actions/runs/3601937492. Workflow: Appsmith External Integration Test Workflow. Commit: 14ff4ce. PR: 18326. Perf tests will be available at https://app.appsmith.com/app/performance-infra-dashboard/pr-details-63465d4789020c7ac296d08d?pr=18326&runId=3601937492_1

github-actions[bot] avatar Dec 02 '22 14:12 github-actions[bot]

/ok-to-test sha=3bd89a6

hetunandu avatar Dec 05 '22 13:12 hetunandu

Tests running at: https://github.com/appsmithorg/appsmith/actions/runs/3620619131. Workflow: Appsmith External Integration Test Workflow. Commit: 3bd89a6. PR: 18326. Perf tests will be available at https://app.appsmith.com/app/performance-infra-dashboard/pr-details-63465d4789020c7ac296d08d?pr=18326&runId=3620619131_1

github-actions[bot] avatar Dec 05 '22 13:12 github-actions[bot]

/ok-to-test sha=4374258

hetunandu avatar Dec 05 '22 15:12 hetunandu

Tests running at: https://github.com/appsmithorg/appsmith/actions/runs/3621647443. Workflow: Appsmith External Integration Test Workflow. Commit: 4374258. PR: 18326. Perf tests will be available at https://app.appsmith.com/app/performance-infra-dashboard/pr-details-63465d4789020c7ac296d08d?pr=18326&runId=3621647443_1

github-actions[bot] avatar Dec 05 '22 15:12 github-actions[bot]

/ok-to-test sha=11f0d7b

hetunandu avatar Dec 06 '22 07:12 hetunandu

Tests running at: https://github.com/appsmithorg/appsmith/actions/runs/3627348401. Workflow: Appsmith External Integration Test Workflow. Commit: 11f0d7b. PR: 18326. Perf tests will be available at https://app.appsmith.com/app/performance-infra-dashboard/pr-details-638dd7cd2913ba43778b915e?pr=18326&runId=3627348401_1

github-actions[bot] avatar Dec 06 '22 07:12 github-actions[bot]