* First grid support in notebooks
* still trying to get nteract ipynb to display grid correctly
* works opening with existing 'application/vnd.dataresource+json' table
* fixing merge issue due to core folder structure changing a bit
* PR feedback, fix for XSS
- Added `runCell` API. Updated runCell button to listen to events on the model so it'll reflect run cell when called from other sources
- Plumbed through kernelspec info to the extension side so when changed, it's updated
- Fixed bug in ConnectionProfile where it didn't copy from options but instead overrode with empty wrapper functions
Here's the rough test code (it's in the sql-vnext extension and will be out in a separate PR)
```ts
it('Should connect to local notebook server with result 2', async function() {
this.timeout(60000);
let pythonNotebook = Object.assign({}, expectedNotebookContent, { metadata: { kernelspec: { name: "python3", display_name: "Python 3" }}});
let uri = writeNotebookToFile(pythonNotebook);
await ensureJupyterInstalled();
let notebook = await sqlops.nb.showNotebookDocument(uri);
should(notebook.document.cells).have.length(1);
let ran = await notebook.runCell(notebook.document.cells[0]);
should(ran).be.true('Notebook runCell failed');
let cellOutputs = notebook.document.cells[0].contents.outputs;
should(cellOutputs).have.length(1);
let result = (<sqlops.nb.IExecuteResult>cellOutputs[0]).data['text/plain'];
should(result).equal('2');
try {
// TODO support closing the editor. Right now this prompts and there's no override for this. Need to fix in core
// Close the editor using the recommended vscode API
//await vscode.commands.executeCommand('workbench.action.closeActiveEditor');
}
catch (e) {}
});
it('Should connect to remote spark server with result 2', async function() {
this.timeout(240000);
let uri = writeNotebookToFile(expectedNotebookContent);
await ensureJupyterInstalled();
// Given a connection to a server exists
let connectionId = await connectToSparkIntegrationServer();
// When I open a Spark notebook and run the cell
let notebook = await sqlops.nb.showNotebookDocument(uri, {
connectionId: connectionId
});
should(notebook.document.cells).have.length(1);
let ran = await notebook.runCell(notebook.document.cells[0]);
should(ran).be.true('Notebook runCell failed');
// Then I expect to get the output result of 1+1, executed remotely against the Spark endpoint
let cellOutputs = notebook.document.cells[0].contents.outputs;
should(cellOutputs).have.length(4);
let sparkResult = (<sqlops.nb.IStreamResult>cellOutputs[3]).text;
should(sparkResult).equal('2');
try {
// TODO support closing the editor. Right now this prompts and there's no override for this. Need to fix in core
// Close the editor using the recommended vscode API
//await vscode.commands.executeCommand('workbench.action.closeActiveEditor');
}
catch (e) {}
});
});
```
* Added Unified connection support
* Use generic way to do expandNode.
Cleanup the ported code and removed unreference code. Added as needed later.
Resolved PR comments.
* Minor fixes and removed timer for all expanders for now. If any providers can't response, the tree node will spin and wait. We may improve later.
* Change handSessionClose to not thenable.
Added a node to OE to show error message instead of reject. So we could show partial expanded result if get any.
Resolve PR comments
* Minor fixes of PR comments
* Add generate script option to deploy scenario
* add action to summary page and fixed page adding/removing so that summary page will have the correct step number
* updating contract based on change in sqltoolsservice
* added enums to make index checks more clear
* cleaned up onPageChanged()
* bump sqltoolsservice version to 68
* Integrate first SQL Notebooks Bits into Master (#3679)
* First crack tsql notebook (no output rendered yet)
* getting messages back
* intellisense working first cell, no connection errors
* sql notebook cell output functioning
* Latest SQL noteobook changes
* Undo change to launch.json
* Plumbing providers through
* Kernels shown from multiple providers, can switch between them. No mementos yet
* Ensure we have a feature flag for SQL notebooks, ensure existing functionality still works
* Fix tslint duplicate imports issue
* Addressing PR comments
* second round of PR feedback to cleanup notebook service manager code
* merge latest from master
* Enable notebook toolbar actions to disable themselves on provider change
* Undo changes to taskbar/actionbar
* very minor change due to latest merge
* Scenarios work besides loading saved kernel
* Fix compilation issue
* Save and load functional
* Fix loading kernesl issue when sql kernel is not enabled
* Fix language mapping to not be hardcoded any longer
* Remove unnecessary comment
* PR Comments vol. 1
* Code cleanup, use ConnectionProfile instead of IConnectionProfile when accessing serverName
* PR changes vol. 2
* One final comment for PR
* Fix linting issue
* working on formatting
* fixed basic lint errors; starting moving things to their appropriate location
* formatting
* update tslint to match the version of vscode we have
* remove unused code
* work in progress fixing layering
* formatting
* moved connection management service to platform
* formatting
* add missing file
* moving more servies
* formatting
* moving more services
* formatting
* wip
* moving more services
* formatting
* revert back tslint rules
* move css file
* add missing svgs
* copy all messages when selecting all
* added functionality for keyboard shortcuts
* fixed bug when select all then selection made
* made output similar to debug console
* fixed scrollbar in jobs
* show steps tree when job history is opened
* cleaned and added edit job to job history
* scrollbars on step details
* steps scrolling done
* fixed styling
* fixed keyboard selection, navigation and UI
* fixed tabbing accessibility
* added refresh action to job history
* fixed focus on move step
* added remove schedule button
* fixed various bugs
* added errors for all actions
* review comments
* add an extension for integration tests
* setup ads before running test
* test setup
* test cases
* bash script
* shorter temp folder name
* code cleanup
* add commented out original code
* fix test error
* test result path
* rename results file
* change file path
* report smoke test results
* test stablize
* test stablization and configurable test servers
* fix smoke test error
* connection provider
* simplify the integration test script
* add comment
* fix tslint error
* address PR comments
* add temp log to check whether the environment variable is already set
* remove temp log
* move api definition to testapi typing file
* exclude integration tests extension
* address comments
* working on options dialog
* working through options dialog
* trying to work through modifying options dialog
* working on converting scrollablesplitview
* fixed options working through profiler
* fix profiler
* fix account dialog
* trying to fix problems with splitpanel
* fix insights dialog
* moving through
* fix last list, need to verify looks and functionality
* fix look of account dialog
* formatting
* formatting
* working through scrollable bugs
* working on problem with view size
* fix margin issues
* fix styler for dialogs
* add panel styles to insights
* create instantiation issues
* fix test
* fix test
* remove unused code
* formatting
* working through insight dialog issues
* fix table updating
* remove console logs
* Placeholder cell to add new real cells
* Fix links in notebooks to show correct color, rely on angular ngif for placeholder
* Fix failing test where one cell was expected by default
* Remove unnecessary TODO
* Added context menu for DBs in explorer view to backup & restore db.
Fixed bug where progress bar didn't complete on backup/restore menuclick
#2084
* Fix merge conflicts
* remove debouncing and echoing to fix rendering bug
* fix access of internal member
* fix issue with using splice rather than slice
* fix compile issues
* First crack tsql notebook (no output rendered yet)
* getting messages back
* intellisense working first cell, no connection errors
* sql notebook cell output functioning
* Latest SQL noteobook changes
* Undo change to launch.json
* Plumbing providers through
* Kernels shown from multiple providers, can switch between them. No mementos yet
* Ensure we have a feature flag for SQL notebooks, ensure existing functionality still works
* Fix tslint duplicate imports issue
* Addressing PR comments
* second round of PR feedback to cleanup notebook service manager code
* merge latest from master