* Document page now loads list of docs and displays selection
* DocumentsTabV2 now properly loads documents, show partition keys and display first doc with proper selection behavior. Move it to its own folder.
* Extract table in a separate component
* Resizable columns on the document table
* Fix selection behavior and some layout issue
* Adding table scrolling
* Fix NaN height issue
* Fix NaN height issue
* Fix column sizing + cell selection
* Improvement in width size. Add Load More
* Add react editor and pass column headers
* Dynamic columns for pk
* Fix initial columns size
* Add nav buttons
* Editing content updates buttons state
* Discard and save buttons working
* Fix save new document. Implement delete.
* Remove debug display
* Fix unexpand filter and reformat
* Fix compil issues
* Add refresh button
* Update column header placeholder style
* Implement delete multiple docs
* Fix multi delete
* Fix show/hide delete button
* Fix selection behavior
* Fix UX with buttons behavior and editor display
* Fix UX issue with not discarding edit changes
* Add some TODO's
* Remove debugging info and reformat
* Add mongo support
* Fix build issues
* Fix table header. Remove debug statement
* Restore broken nosql
* Fix mongo save new document/update document
* Fix bugs with clicking on newly created documents
* Fix comment
* Fix double fetch issue when clicking on an item
* Auto-select last document when saving new document
* Fix resourceTokenPartitionKey code
* Fix format
* Fix isQueryCopilotSampleContainer flag
* Fix unused code
* Call tab when updating error flag
* Destructure props to make useEffect dependencies work
* Fix loadStartKey
* minor update
* Fix format
* Add title to table
* Fix table coming off its container with unwanted horizontal scrollbar
* Increase table width. Fix eslint issue.
* Move refresh documents button from table back to DocumentsTabV2
* Fix load more text centering
* Don't show Load More if nothing to show
* Fix columns min width
* Add keyboard shortcuts
* Add keyboard handlers to load more and refresh button
* Add keyboard support to select table row
* Disable eslint issue from fluent library
* Connect cancel query button
* Add Fluent V9 theme for Fabric (#1821)
* Clean up dependencies and memoize internal functions and object. Move methods and object that don't depend on state outside of component.
* Fix filter disappearing when clicking Apply Filter
* Fix typo and format
* Implement bulk delete for nosql
* Replace filter ui components with fluent ui
* Remove jquery calls
* Migrate unit test to DocumentsTabV2
* Remove DocumentsTab and MongoDocumentsTab. Fix build issues.
* Properly handle activetab
* Remove comments and unused code
* Port keyboard shortcuts from commitId 1f4d0f2
* Port item editor shortcuts to improved Items tab branch (#1831)
* set filter focus on Ctrl+Shift+F
* implement filter enter/esc keybinds
* remove debugging
* Collapse filter when query is executed
* Fix monaco editor not happy when parent is null
* Fix how bulk delete operation gets called when no partition key
* Fix update id list after delete
* Fix deleteDocuments
* Fix build issue
* Fix bug in mongo delete
* Fix mongo delete flow
* Proper error handling in mongo
* Handle >100 bulk delete operations
* Add unit tests for DocumentsTableComponent
* More improvements to table unit tests
* Fix import. Disable selection test for now
* Add more DocumentsTab unit react tests
* Remove selection test
* Add more unit tests. Add lcov coverage report to display in vscode
* Move unit tests to correct file
* Add unit test on command bar
* Fix build issues
* Add more unit tests
* Remove unneeded call
* Add DocumentsTab for Mongo API
* Fix linting errors
* Update fluent ui v9 dependency. Color columns separation. Fix refresh button placement to not interfere with header cell width.
* Revert @fluentui/react-components to a safe version that compiles
* Add confirmation window when documents have been deleted
* Fix mongo unit tests
* Fix format
* Update src/Common/dataAccess/deleteDocument.ts
Co-authored-by: Ashley Stanton-Nurse <ashleyst@microsoft.com>
* Update src/Common/dataAccess/deleteDocument.ts
Co-authored-by: Ashley Stanton-Nurse <ashleyst@microsoft.com>
* Update src/Common/dataAccess/deleteDocument.ts
Co-authored-by: Ashley Stanton-Nurse <ashleyst@microsoft.com>
* Fix bug with markup. Simplify code.
* Protect against creating React editor without parent node
* Replace rendering tests with snapshot match
* Add test screenshot to troubleshoot e2e test
* Revert "Add test screenshot to troubleshoot e2e test"
This reverts commit 1b8138ade00571972c0e9bce77846e8fe4a3446a.
* Attempt 2 at troubleshooting failing test
* Revert "Attempt 2 at troubleshooting failing test"
This reverts commit 3e51a593bf2001d44b6e5316d4865e6e861c21c3.
* Delete button now shows if one or more rows are selected
---------
Co-authored-by: Vsevolod Kukol <sevoku@microsoft.com>
Co-authored-by: Ashley Stanton-Nurse <ashleyst@microsoft.com>
* initial commit
* Add change partition key logic
* Update snapshot
* Update snapshot
* Update snapshot
* Update snapshot
* Cleanup code
* Disable Change on progress job
* add the database information in the panel
* add the database information in the panel
* clear in progress message and remove large partition key row
* hide from national cloud
* hide from national cloud
* Add check for public cloud
* Use Promise for allResourceToken fabric message. Cleanup token message handling and add debounce.
* Improve rpc and update initalization flow
* Fix format
* Rev up message names for new version
* Refactor RPC with Fabric
* Build fix
* Fix build
* Fix format
* Update Message types
* Fix format
* Fix comments
* Fabric toolbar style and support to show/hide it (#1720)
* Add Fabric specific Toolbar design
* Add Fabric message to show/hide the Toolbar
* Fix CommandBarUtil formatting
* Update zustand state on setToolbarStatus to trigger a redraw of the command bar with updated visibility
---------
Co-authored-by: Laurent Nguyen <laurent.nguyen@microsoft.com>
* Fix format
---------
Co-authored-by: Vsevolod Kukol <sevoku@microsoft.com>
* Added query retry settings
* prettier run
* Fixed tests and queryDocuments
* Fixed tests
* corrected logic
* Updated tests and logic
* Removed optional flag
* Added default value text
* Reworded text
* moved retry options to CosmosClient
* removed unused references to retryOptions
* Reverting formatting
* reverting
* revert
* prettier run
* Correct default and added options directly to the client
* Prettier run and unit test update
* Corrected tooltip and constant name
* Added inSeconds to WaitTime
* Update contracts for new all resource messages
* Add timestamp to token message signature
* Reconstruct resource tree with databases and collections parsed from token dictionary keys
* Create FabricDatabase and FabricCollection to turn off interaction
* Remove unnecessary FabricCollection derived class
* Handle resource tokens
* Bug fix
* Fix linting issues
* Fix update document
* Fix partitition keys
* Remove special case for FabricDatabase tree node
* Modify readCollections to follow normal flow with Fabric
* Move fabric databases refresh to data access and remove special case in Explorer
* Revert Explorer.tsx changes
* Disable database context menu and delete container context menu
* Remove create database/container button for Fabric
* Fix format
* Renew token logic
* Parallelize read collections calls to speed up
* Disable readDatabaseOffer, because it is too slow for now
* Reduce TOKEN_VALIDITY_MS a bit to make sure renewal happens before expiration. Receving new tokens new refreshes databases
* Add container element for Main app in HTML
* Do not handle "openTab" message anymore
* Fix style of main div
* Simplify conditional load of the fabric .css
* Fix format
* Fix tsc can't find dynamic less import
---------
Co-authored-by: Armando Trejo Oliver <artrejo@microsoft.com>
* Add Sample Data to Resource Tree
* Format
* Fix strict build
* Fix lint
* Fixed implementation to show Sample data container
* Udated logic based on TokenCollection
* Re-configure copilot flag
---------
Co-authored-by: Predrag Klepic <v-prklepic@microsoft.com>
* Adding RU thermometer to settings throughput tab
* Finalizing RU thermometer on throughput settings
* Updated snapshot
* Fixing formatting
* Fixing lint errors
* Rerun prettier
* Fixing Offer properties
* Fixing Types
* Updating ARM clients, and enabling new elasticity properties
* Updating snapshots
* Updating an issue caused by updating ARM client
* Latest changes based on feedback
* Fixing lint and unit tests
* Minor fix
* Minor text change
* Changed some formatting
* Fixes issue where empty partition key is treated like nonexistent key for Tables API
* Updated format
* Refactor fix
* Prettier
* Fixes issue when CRUD with no parition key for all APIs
* Format fix
* Refactor to explicitly check for Tables
- Removed `readCollectionQuotaInfo` call. The only data we need is the usage size which we can get via the ARM metrics call instead.
- Added `getCollectionUsageSize` which fetches the `DataUsage` and `IndexUsage` metrics, converts them to KB, and returns the sum as the total usage size
* Index refresh component introduced
- Made all notifications in Mongo Index editor have 12 font size
- Added indexing policy refresh to sql indexing policy editor
- Added "you have unsaved changes" message, replace old message for lazy indexing policy changes
* formatting changes
* addressed PR comments
- created `getErrorMessage` function which takes in an error string or any type of error object and returns the correct error message
- replaced `error.message` with `getErrorMessage` since `error` could be a string in some cases
- merged sendNotificationForError.ts with ErrorHandlingUtils.ts
- some minor refactoring
In part 2, I will make the following changes:
- Make `Logger.logError` function take an error message string instead of an error object. This will reduce some redundancy where the `getErrorMessage` function is being called twice (the error object passed by the caller is already an error message).
- Update every `TelemetryProcessor.traceFailure` call to make sure we pass in an error message instead of an error object since we stringify the data we send.
* added SettingsV2 Tab
* lint changes
* foxed failing test
* Addressed PR comments
- removed dangerouslySetInnerHtml
- removed underscore dependency
- added AccessibleElement
- removed unnecesary exceptions to linting
* split render into separate functions
- removed sinon in test
- Added some enums to replace constant strings
- removed dangerously set inner html
- made autopilot input as StatefulValue
* add settingscomponent snapshot
* fixed linting errors
* fixed errors
* addressed PR comments
- Moved StatefulValue to new class
- Split render to more functions for throughputInputComponents
* Added sub components
- Added tests for SettingsRenderUtls
- Added empty test files for adding tests later
* Moved all inputs to fluent UI
- removed rupm
- added reusable styles
* Added Tabs
- Added ToolTipLabel component
- Removed toggleables for individual components
- Removed accessible elements
- Added IndexingPolicyComponent
* Added more tests
* Addressed PR comments
* Moved Label radio buttons to choicegroup
* fixed lint errors
* Removed StatefulValue
- Moved conflict res tab to the end
- Added styling for autpilot radiobuttons
* fixed linting errors
* fix bugs from merge to master
* fixed formatting issue
* Addressed PR comments
- Added unit tests for smaller methods within each component
* fixed linting errors
* removed redundant snapshots
* removed empty line
* made separate props objects for subcomponents
* Moved dirty checks to sub components
* Made indesing policy component height = 80% of view port
- modified auto pilot v3 messages
- Added Fluent UI tolltip
-
* Moved warning messages inline
* moved conflict res helpers out
* fixed bugs
* added stack style for message
* fixed tests
* Added tests
* fixed linting and format errors
* undid changes
* more edits
* fixed compile errors
* fixed compile errors
* fixed errors
* fixed bug with save and discard buttons
* fixed compile errors
* added MongoIndexingPolicy component
* addressed PR comments
* moved read indexes to scale context
* added add index feature
* added AddMongoIndexComponent
* Added collapsible portions and focus changes
* removed unnecessary imports
* finetuned UI
* more edits
* Added mongoindexeditor flight
- Moved add index UI to within current index pane
* minro edits
* Added separate warning messages for index refresh
* aligned items
* Fixed tests
* minor edits
* resolved PR comments
* modified refs usage
* compile errors fixed
* moved fetch of notifications and offer to within the tab activation
* fixed PR comments
* added error handling
* added AAD verification
* removed l empty line
* added back line
* deleted file
* added file
* addressed PR comments
* addressed PR comments
* fixed format error
* updated package.json
* updated package-lock.json
1. After moving read databases call to RP for Tables API, we lose the `_rid` property. Since we are reading Table's database offer with SDK, we need the `_rid` of the database to find its offer. Without `_rid`, we won't be able to find the database offer and the Scale tab would disappear again. The fix is to use SDK to read databases for Table API so we have `_rid`.
2. There's a bug in the non-aad code path for updating offers which prevents users from switching from manual to autoscale and vice versa. The fix is to properly set the option headers.
Since I've cleaned up all the places that use `_rid` and `_self` of a database in my previous commit (d525afa142), we are safe to use RP to read databases for all APIs except Tables.
For Tables API, since RP doesn't support any database level operations, I have to hardcode the read database response. The only property we need in the Tables database is the id which is the string that we display in the resource tree.