* Fix Data Explorer context menu items visibility
The when clause was making the menu items show up for all nodes in the Data Explorer - even ones that didn't make sense such as the Databases folders. This change makes it only appear for the Database and Server nodes (which is how the OE tree is set up)
* Fix 2 notebook issues
- Do not create notebook model twice on start
- Do not cause disposed warnings due to markdown cell deserialization
* Fix notebook dirty on open issue
Before model is resolved we weren't getting dirty events.
Solution is to use backing text model until it's ready.
Must hook to the dirty event & notify to get the dot to appear
* Basic touchbar support
* Touchbar support for Run Cell, Run Query, Add Cell
- Add top 3 notebook commands
- Add top query command
Actions only appear on having active editor of expected type.
In order to make Notebook work as expected, added tabindex to support focusing
and hide outline to ensure it doesn't get weird blue outline on click
Note: does not have icons yet, which would be nice.
However can add in subsequent PR once this comes from UX.
This is a partial fix that lays groundwork for full "Prompt to connect" if a kernel needs a connection.
I am waiting on Yurong's refactoring of connection handling before doing any of the prompt work.
- Adds kernel metadata about whether a connection is required.
- For Jupyter, only Spark kernels are listed as requiring a connection
- If this is true and there's no active connection, will show notification and not call execute
In the future, this path will still be used if user is prompted to connect and cancels out.
The future change will be to inject a "connect" handler from notebook.component to the cell callback and use to set connection context
* intial code for diff view inside model view
* Adding basic Split View Container depending on Flex Layout
* Enabled resizing between top and bottom view
* cleaning up some of the sqlops references
* Adding height as per CR comment
* Fixed#4800 need to use ConnectionProfile in order to get the correct connection
* Go back to create connect in run cell to avoid to fail to run cell or close the connection used by other.
* runAllCells API
* add comment
* more run cells fixes
* Add integration test
* Add multiple cell SQL notebook test
* Comment out python tests as they fail in the lab
* remove unused imports
* PR comments
* Remove localize
* Return true instead of promise.resolve(true)
* add cluster name to page
* implement profile page -1
* fix compilation error due to new method
* profile page 0328
* summary page
* make divcontainer accessible
* handle disposable
* add support for "coming soon" cards
* Fix workspaceRoot macro for insights
The workspaceRoot macro wasn't working correctly for finding the queryFile. There were a couple of issues :
1. The path separators were hardcoded as / which wasn't xplat-compatible
2. They required the first section of the path was one of the folders in the workspace - e.g. if the workspace contained a folder named foo you'd have to specify ${workspaceRoot}\foo\myfile.sql. This is inconsistent with the folder logich was just appends the path after ${workspaceRoot} to the folder that's currently open
I changed the logic to just append the relative part of the path to every folder currently open in the workspace and choose the first one that it found that contained the file we were told to look for - which follows the convention the folder logic uses. If the file doesn't exist it'll just fall back to using the path without the macro (which is likely to not resolve and thus will display an error, but there's nothing we can do at that point anyways)
* Switch to using VS Code resolver (support for more than just workspaceRoot) and move resolution code into helper method so it can be used by the multiple places it's called. Added tests for the methods.
* Add test for invalid param
* Change resolveQueryFilePath to be a standalone exported function. Change it to throw if the file can't be resolved/found so callers can display error correctly. Added more tests to covery new scenarios. Switch to using pfs instead of fs for file existance checks.
* Add extra param to InsightsDialogController construction in test
* Fix formatting and test errors.
* Change to suiteSetup and suiteTeardown so the setup/teardown is only ran once instead of once per test - we don't need unique files and this stops a race condition error with deleting the test folder.
* spaces -> tabs