Commit graph

28 commits

Author SHA1 Message Date
M Fahru
0648b8aa6c Implement deleted file restore for history react (#12753)
* 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
2023-04-28 08:04:59 +00:00
ilkin-overleaf
0895e33235 Merge pull request #12773 from overleaf/ii-history-react-changes-list-dropdown
[web] Actions dropdown history migration

GitOrigin-RevId: 6b7055501c5eb1529b1794db92bb9f5f3faa6648
2023-04-26 08:05:24 +00:00
Tim Down
afd1195902 Add infinite scrolling to history versions list (#12752)
* Add infinite scrolling to change list, add spinner while doing initial updates load, refactor updates state

* Update type in tests

* Update types

* Using LoadingSpinner component

* Remove redundant imports

GitOrigin-RevId: 98c7eae8edbc4d10d7107d825045edfc4159494f
2023-04-25 08:06:22 +00:00
Tim Down
bf076a8c97 Merge pull request #12721 from overleaf/td-history-improve-diff-highlight
Add markers for addition and deletion on empty lines in history diff

GitOrigin-RevId: 62e329da8bc055ee922854b837fe9465d724402e
2023-04-25 08:06:14 +00:00
M Fahru
4dec157e08 Implement history react toolbar UI (#12530)
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
2023-04-21 08:03:39 +00:00
M Fahru
08d2eea47a Decouple history-file-tree styling out of editor file tree:
- 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
2023-04-21 08:03:36 +00:00
Ilkin Ismailov
dd5509b16f add sm size to badge
GitOrigin-RevId: 4e69d582ce770abcff10f3a6b34662f4873fc224
2023-04-21 08:03:33 +00:00
M Fahru
8212b686c6 Implement new style for history file tree badge
GitOrigin-RevId: 6221bc00e5aecf49fd3f2657128d1e9a2d4e648b
2023-04-21 08:03:30 +00:00
Tim Down
5f5e07a334 Merge pull request #12668 from overleaf/td-history-scroll-to-first-change
Scroll to first change in history document diff viewer

GitOrigin-RevId: e135877ca440c5eb2732890e8723d9098444727f
2023-04-19 08:03:28 +00:00
Tim Down
99e1ff0804 Merge pull request #12644 from overleaf/td-history-compare
Initial implementation of comparing history versions

GitOrigin-RevId: 890e270d6e41856a79689ab41ccfbde25c4703ba
2023-04-19 08:03:25 +00:00
Alf Eaton
f205d1f31d Merge pull request #12621 from overleaf/ii-history-react-delete-labels
[web] Delete history tags

GitOrigin-RevId: 0a2846bbb3e99ef632b9192a9f8c04f702645506
2023-04-19 08:02:47 +00:00
Tim Down
38998afa8e Implement history diff viewer buttons (#12439)
GitOrigin-RevId: 0ed8eb8568783b4938188a86c4ee75c767e6d713
2023-04-17 08:05:41 +00:00
M Fahru
3f992f9453 Ensure new data are fetched properly whenever history is opened (#12577)
GitOrigin-RevId: e0ae14cdc90c95dbd44b12bd8332bc982ea34a10
2023-04-13 08:04:45 +00:00
Alexandre Bourdin
481cd14cb1 Merge pull request #12557 from overleaf/ii-history-react-labels-only
[web] History labels only list

GitOrigin-RevId: 58b8e5a5af0754e32841223f9c478c25900df526
2023-04-13 08:04:12 +00:00
M Fahru
fb6746a887 Add default pathname logic on history react file tree (#12505)
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
2023-04-12 08:04:58 +00:00
ilkin-overleaf
8e0aa685ce Merge pull request #12549 from overleaf/ii-history-react-list-of-all-versions
[web] All versions of history entries

GitOrigin-RevId: 7365ac4913c115b3b2872a3713d893463719c15e
2023-04-12 08:03:47 +00:00
M Fahru
17a98d756e Add badges UI to history react file tree (#12479)
GitOrigin-RevId: 52c45b72110e01bb193139654fa9385cb9b9e489
2023-04-05 08:03:05 +00:00
Eric Mc Sween
6b110cf4d0 Merge pull request #12481 from overleaf/td-history-remove-source-editor-imports
Remove accidental imports from source-editor module in history

GitOrigin-RevId: 808597e113c3b1e74cacc712313af0e20b0e1786
2023-04-04 12:22:25 +00:00
M Fahru
9a55bbf325 Port editor react file tree to history file tree (#12453)
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
2023-04-04 08:05:30 +00:00
ilkin-overleaf
dfda9d0677 Merge pull request #12434 from overleaf/ii-history-react-feature-flag
[web] Fix history view feature flag

GitOrigin-RevId: af2e76074ed43ec1ed1b877a6ffd403abab48ec8
2023-04-04 08:03:50 +00:00
Tim Down
11f8905be4 Connect up document diff viewer to history state
GitOrigin-RevId: 610a254ea77c194969033d0791ecf1129e02c4bf
2023-03-31 08:03:47 +00:00
ilkin-overleaf
867b37b76f Merge pull request #12417 from overleaf/ii-history-react-toggle-switch
[web] Toggle switch history migration

GitOrigin-RevId: c0812d03d576bc66dd8878fa80d4ac18dd8576d0
2023-03-30 08:04:22 +00:00
M Fahru
568092e16b Add react file tree UI to history view (#12357)
* Add react file tree UI to history view

* Use history data from API to render react file tree in history view

GitOrigin-RevId: 2b1eb5422f0c91fdf5e87e21d1e5d06defd45e98
2023-03-30 08:04:17 +00:00
ilkin-overleaf
8ee8f2ded3 Merge pull request #12370 from overleaf/td-history-basic-editor
Basic document diff viewer for history view

GitOrigin-RevId: a6919cc003f8f7fad24126e407313013cf489b63
2023-03-30 08:03:48 +00:00
ilkin-overleaf
95c8a1aeea Merge pull request #12366 from overleaf/ii-react-history-context
[web] Add context to history

GitOrigin-RevId: bc504994c50c0e7abe8181a671357d5db59a3343
2023-03-30 08:03:43 +00:00
Tim Down
397fbd47c2 Merge pull request #12363 from overleaf/td-history-main-area-shell
Add CSS for main history view shell

GitOrigin-RevId: 9c455007bf8b177d59ea97cd73b608d48aba3907
2023-03-30 08:02:54 +00:00
ilkin-overleaf
d1d47b2767 Merge pull request #12339 from overleaf/ii-react-history-editor-and-change-list-init
[web] History editor and change list initialisation

GitOrigin-RevId: bb7800301d28c296bd524212cd27ddcd8defd149
2023-03-23 09:06:24 +00:00
Tim Down
e76bcbec8d Merge pull request #12316 from overleaf/td-history-view-shell-and-split-test
Add empty shell for React history view, viewable based on split test

GitOrigin-RevId: 97241d56a052648c7a0d293d323dad4b00ad4159
2023-03-23 09:04:38 +00:00