* Use fork of @codemirror/autocomplete
* Handle multiple selection ranges when applying snippets
GitOrigin-RevId: 04afc087ac127206463ea3d4950284a50308364a
* Implement history view paywall
* Add tests and some CSS fallbacks
* Make additional faded version above paywall non-clickable
* Change isFaded to faded for consistency
* Remove unused import
* Add missing attribute
* SHow all labels in free tier
* Address review comments
* Change Boolean conversion
Co-authored-by: ilkin-overleaf <100852799+ilkin-overleaf@users.noreply.github.com>
* Make adding or deleting a label show up in version list again
* Refactor to use visibleUpdateCount rather than maintaining two separate update arrays
* Removed unused import
* Use data-testid instead on class
* Round gradient values
* Correct test selector
---------
Co-authored-by: ilkin-overleaf <100852799+ilkin-overleaf@users.noreply.github.com>
GitOrigin-RevId: a2b021f3f4d3b9eb1358edb2ee4aa7db1bc7240e
* Use forked @codemirror/search
* Use getPanel to get the search panel
* Remove layer-based highlightSelectionMatches
* Add "within selection" option to the search form
* Add test for "replace all within selection"
* Fix tests
GitOrigin-RevId: 95ce76fd017f96278b04c16a1fd34f785f7504a3
* Add strikethrough to deleted file tree item in history file tree
* Add "restore file" button on toolbar if the selected file have a `removed` operation.
* Implement "restore file" functionality on removed file:
- Refactor the `Selection` object in history context value since we need the `deletedAtV` data which currently is not passed through the state.
- Refactor and clean up file tree type system to support passing through the whole `FileDiff` object for getting the `deletedAtV` data which only appear on `removed` operation
- Implement `postJSON` with file restoration API and pass it on restore file onClick handler at toolbar
* Implement loading behaviour while restoring file is inflight:
- Add `loadingRestoreFile` to `LoadingState`
- Change restore file button to `Restoring...` when in loading state.
* Refactor:
- Rename `DiffOperation` to `FileOperation`
- Extract `isFileRemoved` and `isFileRenamed` to its own file
- Extract `Toolbar` components into small files
GitOrigin-RevId: 2e32ebd2165f73fc6533ff282a9c084162efd682
* [cm6] Show Regex errors in find & replace
* cleanup, isInvalidRegExp function
* no state variable, less color var
* use @brand-dager
* using var(--ol-cm-search-form-focus-shadow)
* using state-danger-border
GitOrigin-RevId: 844c9dfee5a56d2a7494cd86c266acbe9eacd033
* Use a block widget for top padding
* Update review panel positions when the editor geometry changes
* Remove editorPaddingTop from position calculations
* Recalculate review panel on start adding comment
* Assert on line content rather than index
* Use broadcastChange
* Keep focus in the editor when opening the review panel
* debounce broadcastChange
* Set CULL_AFTER to Infinity
GitOrigin-RevId: a8d7b8967736a9164b5264eeaadf334c15ec95ce
There are two different UI in this PR: `comparing` and `viewing` mode.
- For `comparing`, the user would be shown two separate date. It uses the `UpdateRange` object and this PR adds a timestamp to both `fromV` and `toV` of the object type.
- For `viewing`, the user would only be shown one date since `viewing` mode means viewing a specific update version.
Some other notable changes:
- Move `diff` state to `diff-view.tsx`, which contains `main.tsx` (main editor history view) and `toolbar.tsx` as its children
- refactor `autoSelectFile` by passing `updateRange.toV` directly
- refactor `updateIsSelected` by passing an object that contains `fromV` and `toV` instead of passing `update
There's also a cypress test for both the `viewing` mode and `comparing` mode in this PR.
GitOrigin-RevId: ba54f073f3479c55a39eb6b2932ea7faff78dddc
- Extract/duplicate the style from editor file tree (only extract styling that's being used in history file tree)
- Change some of the class name to avoid duplicated class name from the editor file tree
- Revert change to editor file tree since it has been moved to history file tree
GitOrigin-RevId: 6c3b20080c9b428363024db622f60e3540d919e6
* Prevent the duplicated message IDs by filtering them out
* fix: Prevent the duplicated message IDs by filtering them out
GitOrigin-RevId: 6d6c2821e6e29c9949fd323fa3a507016b51aff4
* [cm6] Only swallow text in autocomplete insertion if node is well-formed
* [cm6] Use longest common prefix heuristic for autocompletion in ill-formed nodes
GitOrigin-RevId: 5adf3dc0314d86b267e2142a1250dece3ab29ef8
* [cm6] Change Emacs commands to visual-line-mode
* [cm6] Change line deletion commands to visual line mode
GitOrigin-RevId: 7a4f3d66bec611de410b6c1fbafbfe33b974e37b
* Avoid setting style on the editor view whenever overflowPaddingState changes
* Round values in recalculateScreenPositions
* Refactor ignoreGeometryChangesUntil slightly
* Restore the original value
GitOrigin-RevId: 75c57be21dd16a748c0d9b14058386849a80b831
* Update Copybara options in preparation for open-sourcing the source editor
* Move files
* Update paths
* Remove source-editor module and checks for its existence
* Explicitly mention CM6 license in files that contain code adapted from CM6
GitOrigin-RevId: 89b7cc2b409db01ad103198ccbd1b126ab56349b
* Change wording of tags header and hide uncategorized when tags list is empty
* Add a tooltip on the colour picker more button
* Fix linting
GitOrigin-RevId: 07e1c411c2c9f6f66e0a00c1610af662b829c4e4
* Base for color picker
* React color picker and updated modals
* Add tag color picker to mobile dashboard
* Update existing tests and fix disable save button condition
* CSS adaptations for desktop modal streched into mobile display
* Update TagsController tests
* Add aria-hidden label on color pickers
* Fix linting
* Fix project list test
* Select random color when creating tag
* Cleanup leftovers in project list context
* Test cleanup
* Pre-select custom color and store local color while picking
* Add type to preset colors
* Add css fix to override disabled button opacity
* Skip redundant check
* Fix linting
* Add back btn-secondary on manage tag modal after rebase
GitOrigin-RevId: a4cf24e85cc0ca01466f4bf9c77482be8360e68e
On history react, when the initial screen has been loaded, no default pathname is selected. This PR adds logic for selecting default pathname and getting the diff for that pathname.
Also, add some other small changes, the notable ones are:
- Refactor some type naming and file structure related to the history file tree
- Refactor file tree selectable hooks (merge selectable context provider into the main provider)
- prevent clicking on the same file tree item by checking the current pathname before invoking the handler function
GitOrigin-RevId: 73c36e9ed918ae3d92dd47108fbe8542a7571bdd
This new history file tree is mostly copied from the editor file tree, with some of the features stripped away:
1. Remove multiple selections
2. Remove drag and drop ability
3. Remove the ability to rename files & folders
4. No more right-click hijacking (context menu)
5. No more triple dots menu on a file tree item shown
6. No file references, since history doesn't have the data to differentiate between real files and linked file
7. etc (some other small changes that are not too important to be listed)
Other notable changes:
1. Simplify the selectable provider (the only context provider being copied from react file tree)
2. Convert to typescript
GitOrigin-RevId: 1017e545b2bd99775e01307a9b7eac2daf454014
* Add react file tree UI to history view
* Use history data from API to render react file tree in history view
GitOrigin-RevId: 2b1eb5422f0c91fdf5e87e21d1e5d06defd45e98