Commit Graph
100 Commits
Author SHA1 Message Date
Chris LaFreniere 54cf062737 Fix Notebook Connection Issues (#6831) 2019-08-20 13:40:15 -07:00
Chris LaFreniere 62d2fb534d Merge from vscode 709a07d51919d3266ca71699c6ddfb2d3547c0e1 (#6575) 2019-08-02 21:06:44 -07:00
Chris LaFreniere 402b50c03b Notebooks: Use much faster json parser when loading notebook initially (#6552)
* Use much faster json parser

* fallback to old json parser
2019-08-02 17:23:49 -07:00
Chris LaFreniere 720a7fbfa2 Multiline cell execution fix (#6522) 2019-07-29 11:19:57 -07:00
Chris LaFreniere d51bdbd094 Save multiline source in notebooks (#6445)
* Save multiline source in notebooks

* Stop demultiline localContentManager unnecessarily
2019-07-26 10:30:52 -07:00
Chris LaFreniere 5225b5dc55 Use in proc markdown by default (#6315) 2019-07-09 15:23:47 -07:00
Chris LaFreniere 708461eab5 Remove 'isMenu=true' from notebook toggle more (#6253) 2019-07-02 17:22:17 -07:00
Chris LaFreniere c4bf1b4180 Notebooks: Run all after/before (#6239)
* Run all above/below

* PR comments pre tests

* Added integration test
2019-07-02 16:49:12 -07:00
Chris LaFreniere e8d4fba3c0 Support non-default font sizes in notebooks (#6222)
* Support non-default font sizes notebooks

* pr comments
2019-07-01 16:10:20 -07:00
Chris LaFreniere e5858dee52 Make sure we sanitize the same way (#6233) 2019-07-01 14:05:50 -07:00
Chris LaFreniere bae573453a Accessibility: Screen Reader Thinks SelectBox is a Button on Mac (#6216)
* Stop reading dropdowns as buttons for mac

* Remove role of combobox for sql selectbox
2019-07-01 13:46:06 -07:00
Chris LaFreniere 8cf4120c27 Notebooks: Support for In-Proc Markdown Renderer (#6164)
* NB improve startup using built-in markdown render

This is a sample branch showing perf improvements if we load content using built-in markdown rendering
- Has issues where images aren't correctly rendered due to sanitization, need to copy renderer code and update settings
- Moves content load up before anythign to do with providers since we can render without knowing about these things

# Conflicts:
#	src/sql/workbench/parts/notebook/cellViews/textCell.component.ts

* Re-enable logging of each cell's rendering time

* Fix test issue

* Kernel loading working with new markdown renderer

# Conflicts:
#	src/sql/workbench/parts/notebook/cellViews/textCell.component.ts

* Fixed tests, cleaned up code

* markdownOutput component integration

* PR Comments

* PR feedback 2

* PR feedback again
2019-06-27 20:55:50 -07:00
Chris LaFreniere a2c9a0a1ae Addaria label to kernel and attach to dropdowns (#6181) 2019-06-27 10:19:22 -07:00
Chris LaFreniere 77fb060fde Notebooks: Add Command + Keyboard Shortcut to Clear Outputs of Active Cell (#6169)
* Add command to clear cell output with test

* Fix typo

* PR Comments
2019-06-26 15:19:12 -07:00
Chris LaFreniere 4fe81d8449 Only set notebookEditor <a> color in scrollable portion (#6140) 2019-06-24 10:46:38 -07:00
Chris LaFreniere 453caa92d4 Fix for standard in hovering in code cell (#6107) 2019-06-19 15:02:03 -07:00
Chris LaFreniere 86a3217e98 Notebooks: Log telemetry when all markdown cells rendered (#5862)
* Log telemetry when all markdown cells rendered

* Enable referencing previous telemetry timestamps

* Fix broken unit test to do a null check

* Undo loading icon changes in textcelll

* Addressing PR comments

* PR comments II
2019-06-10 21:55:49 -07:00
Chris LaFreniere d15a3fcc98 Merge from vscode 81d7885dc2e9dc617e1522697a2966bc4025a45d (#5949)
* Merge from vscode 81d7885dc2e9dc617e1522697a2966bc4025a45d

* Fix vs unit tests and hygiene issue

* Fix strict null check issue
2019-06-10 18:27:09 -07:00
Chris LaFreniere da164cec0a remove tabindex=0 for notebook component (#5851) 2019-06-05 08:28:00 -07:00
Chris LaFreniere 8d70544374 Notebooks: Adding Change Kernel API, 3 Integration Tests (#5287)
* Notebook change kernel

* Fix notifying of k change too many times add tests

* Fix broken unit test

* Deal with comment
2019-06-03 14:49:40 -07:00
Chris LaFreniere 34bc0efc1c Check if sessionManager exists (#5811) 2019-05-31 17:42:12 -07:00
Chris LaFreniere 7da0dddaa9 Notebooks: Prevent Outputs from Rendering Too Many Times on Layout Change Events (#5366)
* Prevent output rendering too many times

* went from 250ms to 50ms without any perf penalties
2019-05-13 13:41:23 -07:00
Chris LaFreniere 1cc3cb5408 Notebook Port Test Fix (#5433)
* Test fixes to not rely on 7100

* PR comments
2019-05-08 13:16:09 -07:00
Chris LaFreniere 0a67488447 Don't scroll when running code cell if in view (#5365) 2019-05-06 11:36:06 -07:00
Chris LaFreniere 8a68f0aaf9 Improvements to notebook editor code auto height (#5291) 2019-05-02 10:23:26 -07:00
Chris LaFreniere e72d0d03ed Notebooks: More Jupyter Server Hardening (#5264)
* Do not rely on same starting port every time, misc

* put back to 5 seconds for process kill timeout

* extHostNotebook shutdown manager handle
2019-04-30 14:13:04 -07:00
Chris LaFreniere bb9c85cd8f Improve Cleanup of Jupyter processes on Notebook and/or ADS Close (#5142)
* Close jupyter and python

* Ensure we stop jupyter correctly on process end

* dont stopServer from clientSession shutdown

* PR comments

* close notebook after each test
2019-04-26 15:28:26 -07:00
Chris LaFreniere 46b85ebc6b Fix casing on welcome page to be consistent (#5169) 2019-04-24 11:18:33 -07:00
Chris LaFreniere 7d46e77922 Notebooks: Show keyboard shortcut for run cell (#5097)
* Show keyboard shortcut for run cell

* PR comment
2019-04-23 17:33:15 -07:00
Chris LaFreniere 33aacc1798 Improve Notebook Context Menu Casing (#5145) 2019-04-23 11:35:46 -07:00
Chris LaFreniere 432034d2cb Notebooks: Pressing Escape key in markdown cell exits edit mode (#5094)
* Pressing Escape key in markdown exits edit mode

* text + code cells inactive when pressing escape
2019-04-19 16:19:16 -07:00
Chris LaFreniere 3372a5ad4b Fix hygiene issues in textCell.css (#5116) 2019-04-18 15:58:27 -07:00
Chris LaFreniere 7ce921d449 Improve tabe markdown css (#5093) 2019-04-18 14:57:26 -07:00
Chris LaFreniere 31f7364f08 Only show nb loading spinner when no cells shown (#5095) 2019-04-18 14:57:11 -07:00
Chris LaFreniere 910e4815fa Enable Python Integration Tests For Notebooks (#5090)
* Enable python notebook tests

* change run_python3_test to be string

* Add explicit pyspark check
2019-04-17 16:46:10 -07:00
Chris LaFreniere 2beedb10d4 Add run cells as a command (#5080) 2019-04-17 14:26:31 -07:00
Chris LaFreniere ac3b6aef27 ADS Welcome Page (#5043)
* ADS Welcome Page

* sample notebook section

* Opens in browser :(

* Remove sample notebooks section

* fix open file in windows

* Change az_data_welcome_page to be under sql/

* fix tslint issue

* Scope table css down
2019-04-17 10:50:43 -07:00
Chris LaFreniere 442adfbbc3 Add New Notebook from Server Dashboard (#4971) 2019-04-11 10:15:45 -07:00
Chris LaFreniere 88712f46bf Fix for relative markdown image paths (#4889)
* Fix for relative markdown image paths

* PR comments
2019-04-10 11:35:06 -07:00
Chris LaFreniere d6df20b0e8 Notebooks: Potential Fix for "Notebook Provider does not Exist" Error (#4848)
* Fallback to SQL

* Fix providers not found issue

* await whenInstalledExtensionsRegistered

* PR comments
2019-04-10 11:34:46 -07:00
Chris LaFreniere 5dc37f7557 improve assert message (#4968) 2019-04-10 10:14:44 -07:00
Chris LaFreniere d332ae1132 Fix to ensure that we rewrite spark ui links correctly (#4962) 2019-04-09 18:23:21 -07:00
Chris LaFreniere 6a06a99e46 Change pfs.rimraf call in insightsutils test (#4921) 2019-04-09 13:05:36 -07:00
Chris LaFreniere 657adafb7d always serialize execution count (#4864) 2019-04-05 11:34:10 -07:00
Chris LaFreniere a34692b6f2 Fix for dispose method of undefined (#4843) 2019-04-03 18:08:42 -07:00
Chris LaFreniere 76fe0fef49 Fix broken test merge conflicts (#4823) 2019-04-03 10:44:01 -07:00
Chris LaFreniere 07166fb3cd Run All Cells Notebook Implementation (#4713)
* 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)
2019-04-02 16:47:00 -07:00
Chris LaFreniere 414c736655 Allow output area to be selectable again (#4714) 2019-04-01 23:09:00 -07:00
Chris LaFreniere ee413f3b24 Ensure only one cell shows as running at a time (#4715) 2019-03-27 19:04:07 -07:00
Chris LaFreniere eac3420583 Minimum grid height set when grid returns 0 rows (#4716) 2019-03-27 10:57:48 -07:00
Chris LaFreniere e1e9c08242 Disable Python 3 notebook integration test due to timeout (#4726)
* Disable Python 3 notebook integration test due to timeout

* Remove unused imports
2019-03-27 10:18:42 -07:00
Chris LaFreniere 5ac6cf3b74 Ensure SQL is the first kernel in the kernels dropdown (#4692)
* Ensure SQL is the first kernel shown in the dropdown

* cleanup to prevent sql from registering twice
2019-03-26 19:39:28 -07:00
Chris LaFreniere 1bac929ab3 Fix for SQL Kernel only showing up (#4691)
* Ensure that notebook providers that are registered "early" are shown in kernels dropdown

* cleanup
2019-03-25 15:24:57 -07:00
Chris LaFreniere b00352570b Fix the "Failed to show notebook document" errors (#4649) 2019-03-21 16:06:17 -07:00
Chris LaFreniere 82da64d66d Handle future done in SQL for multiple batches (#4654) 2019-03-21 13:47:01 -07:00
Chris LaFreniere 5b0e86b179 Have notebook grids respond to theme change events (#4624) 2019-03-20 18:47:57 -07:00
Chris LaFreniere 9313140c59 Fix install packages not always showing on startup (#4566) 2019-03-18 10:18:03 -07:00
Chris LaFreniere b9d0602f55 Only show filename for notebook titlebar when opening from Open Notebook (#4556) 2019-03-15 17:45:06 -07:00
Chris LaFreniere 11f0ca371b Show running state in cell toolbar immediately when cell is run (#4484) 2019-03-13 20:04:46 -07:00
Chris LaFreniere 5774b1f69a remove ugly border around text cells (#4481) 2019-03-13 19:24:39 -07:00
Chris LaFreniere cca84e6455 Fix disappearing notebook table (#4466) 2019-03-13 18:32:31 -07:00
Chris LaFreniere 17901fbf3d Fix Issue when OE connection Disconnects on Notebook Close (#4425)
* Fix OE connection closing when notebook closes

* handle connections created through Add new connection
2019-03-13 11:32:12 -07:00
Chris LaFreniere b2b7d18802 Change Kernels Dropdown to show Switching instead of Loading On Kernel Change (#4426)
Change Kernels Dropdown to show Changing instead of Loading On Kernel Change
2019-03-13 09:59:19 -07:00
Chris LaFreniere 9867d88067 check for changeRef not destroyed before detecting changes (#4385) 2019-03-11 14:23:37 -07:00
Chris LaFreniere 037c49e2c6 Warning for table max rows displayed (#4357)
* Warning for top rows

* change single to double quotes when calling localize method
2019-03-08 19:01:21 -08:00
Chris LaFreniere 1e989060f9 Rewrite Spark UI link when using unified connection (#4362)
* Rewrite Spark UI link when using unified connection

* Add more robust error checking
2019-03-08 17:34:47 -08:00
Chris LaFreniere e3709533b4 Add New Notebook to File Menu (#4287) 2019-03-05 17:42:35 -08:00
Chris LaFreniere 4da322a03f Stop cell content from moving around on hover (#4202) 2019-02-26 17:01:20 -08:00
Chris LaFreniere 1e915aad20 Make "Double-click to edit" in empty md cell a bit nicer looking (#4102) 2019-02-22 16:00:35 -08:00
Chris LaFreniere a764a481f3 Ensure that we preserve rest of PATH when starting Jupyter (#4109) 2019-02-21 11:54:08 -10:00
Chris LaFreniere 2dd71cbe26 Change SQL kernel to check queryManagementService instead of hardcoding (#4098)
* Change SQL kernel to check queryManagementService instead of hardcoding

* addressing PR comments
2019-02-19 15:55:11 -10:00
Chris LaFreniere 32c013a72c Add total execution time message for SQL notebooks (#4093)
* Display total execution time for sql notebooks

* remove handlebatchstart since it was unnecessary
2019-02-19 15:43:16 -10:00
Chris LaFreniere 0205d0afb5 Change default max table rows returned in notebook to 5000, make it user configurable (#4084) 2019-02-19 15:01:47 -10:00
Chris LaFreniere 4a82abc19b Notebooks: Greatly Reduce Time to Generate HTML Table String (#4086)
* Greatly reduce time to generate html table string

* change outer tag to table instead of html

* address PR feedback for more descriptive variable name
2019-02-19 09:03:58 -10:00
Chris LaFreniere 3ae32ab0a0 Fix the Attempt to use a destroyed view Errors (#4087) 2019-02-19 08:28:55 -10:00
Chris LaFreniere d4ffe53dbd Add database name to attach to (if not connected to master) (#4076) 2019-02-15 16:50:14 -10:00
Chris LaFreniere ea0c326d3d Allow code coverage command to succeed again (#4054) 2019-02-15 12:07:52 -10:00
Chris LaFreniere 930e14e258 Add bottom margin to notebook table, fix python highlighting (#4055) 2019-02-15 08:32:27 -10:00
Chris LaFreniere db1f412dae show errors and messages in output (#4031) 2019-02-13 14:54:51 -10:00
Chris LaFreniere 9ebf1436d2 Ensure we always switch to a kernel that exists in the session manager (#4015)
* Ensure we always switch to a kernel that exists in the session manager

* PR feedback, create new helper method
2019-02-12 12:46:58 -10:00
Chris LaFreniere 27370c655d fix left table border to be dotted, no longer have table border on div (#4010) 2019-02-12 08:49:44 -10:00
Chris LaFreniere 0b6aedfc93 Address notebook margin and border CSS issues (#3977) 2019-02-08 10:01:09 -10:00
Chris LaFreniere b692088c94 Stop map column names for notebook grid, instead use field with unique values (#3975) 2019-02-08 09:59:36 -10:00
Chris LaFreniere 9ce9a1598f Improve notebook editor height calculations (#3966)
* Improve notebook editor height calculations

* PR comments, hook up to onDidChangeConfiguration
2019-02-07 14:09:09 -10:00
Chris LaFreniere 90d8c37f91 Fix a not implemented issue when we were not sanitizing kernel display name (#3869)
Fixing an issue where we got a 501 Not Implemented because kernel display name sanitization was not occurring with the _defaultKernel case.

In addition, changed a method name to make it more clear, and removed an erroneous error that would occur every time you opened a notebook without any existing connections. I'm just removing this, as it adds no value.
2019-01-31 09:50:27 -08:00
Chris LaFreniere c43085beab Fix weird exception when no connection is present for SQL kernel, Limit Max Rows to 2000 (#3870)
Fixes #3856. Matches the Jupyter behavior that we have, where we don't show any message when a connection is required. We no longer will throw a bizarre exception about getOptionsKey being undefined.

Also sets max rows returned to 2000.
2019-01-31 09:38:59 -08:00
Chris LaFreniere 83a6ee0a22 Change feature flag for SQL kernel to be user preference (#3838)
* Change feature flag for SQL kernel to be user preference

* fix test that was broken

* Tweak package.nls.json to show "(Preview)"
2019-01-30 17:29:08 -08:00
Chris LaFreniere 0dab7f02ed Notebooks: Grid Support (#3832)
* 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
2019-01-30 16:56:14 -08:00
Chris LaFreniere 0e6f2eb1cd Only show placeholder when notebook isn't loading (#3863) 2019-01-30 16:22:24 -08:00
Chris LaFreniere 9a371f8998 Fix for Select Connection not showing up in Attach To (#3860) 2019-01-30 16:22:01 -08:00
Chris LaFreniere e8eb7bec1b Fix notebook selection issues including from placeholder (#3836) 2019-01-28 14:02:23 -08:00
Chris LaFreniere 9cffe4d476 Allow for "when" clause filtering for Notebook Toolbar Given ProviderId Changes (#3712)
* 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
2019-01-26 11:01:40 -08:00
Chris LaFreniere 43be88a37c SQL Kernel Improvements/Removing Spark Code from Core/Attach to Changes (#3790)
* 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
2019-01-25 18:54:04 -08:00
Chris LaFreniere e0ceddce09 Notebooks: Add Placeholder Cell, Fix Link Styling (#3728)
* 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
2019-01-14 17:29:06 -08:00
Chris LaFreniere 6dc4096299 Editor focus based on activeCell, create text in edit, scroll to active (#3725) 2019-01-14 16:39:36 -08:00
Chris LaFreniere 1fa03b5c74 Ensure we always get all providers (#3724) 2019-01-14 16:38:57 -08:00
Chris LaFreniere 17ed57836f Fix focus issue when opening notebooks (#3711) 2019-01-11 11:37:49 -08:00
Chris LaFreniere d0acb51fd7 Fix contentManager undefined when builtin manager used (#3710)
* Fix for contentManager undefined for builtin manager

* Clean up code some more
2019-01-11 10:36:36 -08:00
Chris LaFreniere 42afcf9322 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
2019-01-09 14:58:57 -08:00
Chris LaFreniere c96118d2b5 Fix activeCell nullref issue (#3689) 2019-01-09 11:45:05 -08:00