Commit graph

31 commits

Author SHA1 Message Date
Roland
8044fd1240
File Browser: add filter input and collapse-all button
Some checks are pending
CodeQL / Analyze (push) Waiting to run
Controller Tests / controller-tests (push) Waiting to run
Jest Tests / jest-tests (push) Waiting to run
Add a client-side filter above the File Browser table. Typing reduces
the visible rows to files/directories whose name matches, plus their
parent folders. A folder whose own name matches keeps its entire
subtree, and opening a matching folder shows its contents unfiltered.

* 'f' focuses the filter input, like the search inputs on other pages.
* An attached X button clears the filter; disabled while empty.
* A collapse-all (angle double up) button closes all open folders,
  clearing the ?folders= query param and deselecting hidden children.
* The filter row is right-aligned and double-width on desktop, and
  fills a single row on mobile.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 11:31:41 -06:00
Roland
2acdc2e16d
Expanding FileBrowser button widths when page is wide enough.
Some checks are pending
CodeQL / Analyze (push) Waiting to run
Controller Tests / controller-tests (push) Waiting to run
Jest Tests / jest-tests (push) Waiting to run
2026-07-01 19:52:15 -06:00
Roland
09a967535b Models like Archive/Video/Doc can be deleted, even if they are tagged. User is shown a warning and must confirm deletion of tagged files. 2026-05-03 19:14:15 -06:00
Roland
8fb9e35aef
Displaying confirmation modal when deleting tagged files, rather than just refusing to delete them. 2026-04-14 11:46:50 -06:00
Roland
98ea05b689
Reworking FileBrowser selection using context to reduce prop drilling. 2026-02-03 16:36:44 -07:00
Roland
bdaccdeca1
Enhancing file browser with drag-to-select. 2025-12-26 11:28:10 -07:00
Roland
6facb0856f
Children are selected/unselected when parent directories are selected and then expanded. 2025-12-25 10:05:00 -07:00
Roland
4693686f4f
Clearing deleted directories from file browser params. 2025-12-25 09:44:11 -07:00
Roland
5c8f164c1a
Adding Upload button to the FileBrowser. Adding ErrorBoundaries to prevent entire app from crashing. 2025-12-25 09:14:00 -07:00
Roland
a92104728d Converting Theme.js to typescript so we can use shorthands like Card.Icon.
Some checks are pending
CodeQL / Analyze (push) Waiting to run
Jest Tests / jest-tests (push) Waiting to run
2025-12-07 12:41:10 -07:00
Roland
626458313a
Making file browser buttons stick to the bottom of the screen. 2025-12-07 09:17:30 -07:00
Roland
c6df730dcc
Adding bulk tag button to the file browser. User can add tags to many files, but can only remove tags if all files share the tags to be removed. 2025-12-06 19:06:33 -07:00
Roland
9bd8f114a9
Handling submitting file browser forms. 2024-05-19 16:04:45 -06:00
Roland
ae5d47fc21
Shortening refresh button for mobile. 2024-03-11 17:47:27 -06:00
Roland
6d5a56cacc
A user can ignore a directory by selecting it and ignoring it in the FileBrowser. 2024-02-19 14:44:20 -07:00
Roland
47b9d6618c
Removing directory size because it is too slow. 2024-02-13 16:15:23 -07:00
Roland
6ecc7aac42
Displaying directory size in file browser. 2024-02-12 14:06:18 -07:00
Roland
619a88c429
Reworking default/empty/error states for all pages. Null is pending, undefined is error. 2023-09-07 20:13:36 -06:00
Roland
6959c7a3b4
HTML and JSON files are reformatted when downloaded. 2023-08-26 21:49:24 -06:00
Roland
59c4ab2502
Replacing icon property when icon has been requested.
Creating <APIButton/> which handles success/failure/pending during API calls.
2023-07-21 16:52:15 -06:00
Roland
03a2df217d
Zim/Kiwix (Wikipedia) feature
* A new zim module has been added, this module allows several things to interact with Zim files.
  * Allow searching of Zim files using libzim.
  * Allow downloading of Kiwix projects (wikipedia, wikibooks, etc) on a schedule which replaces the outdated files.
  * Creation of a new zim docker container which allows viewing of the Zim file contents.

* This commit also adds move/rename/mkdir features in the File Browser.
  * File tags are preserved when moving/renaming.
2023-07-10 21:30:40 -06:00
Roland
4e85e2f3d7
Storing opened folders in URL to preserve opened folders after tagging. 2023-04-10 12:27:55 -06:00
Roland
0b0e6346a7
Fixing bug where file search would issue twice on load. 2023-04-09 14:34:33 -06:00
Roland
ae2b6daa33
FileBrowser files can be tagged. A Tag icon is displayed on each file row in the browser. 2023-04-01 11:52:41 -06:00
Roland
87b179eeb9
Renaming previewPath to previewFile to match existing path/file style. 2023-02-15 21:05:34 -07:00
Roland
a82917fdf7
Creating global FilePreview. 2023-02-15 20:58:07 -07:00
Roland
a2e1cfb0eb
Creating FilePreview for FileBrowser. 2023-02-15 17:40:57 -07:00
Roland
71654841bd
YAML files will have code icon. 2023-02-14 08:11:01 -07:00
Roland
f1f1f42a1c
Using folder outline for empty folders. 2023-02-14 08:08:04 -07:00
Roland
6f67fc38b2
Displaying child count for directories in FileBrowser size column. 2023-02-09 16:42:35 -07:00
Roland
81d80238be
Fixing changes before merge.
Moving FilesRefreshButton and DirectoryRefreshButton out of browser file.

Moving file fetching tino FileBrowser.

Removing sub-folders from Files display when any parent folder is clicked.

Using closed captioning for vtt/srt file icon.

Using my own react-semantic-toasts-2 to use toasts in Node 18.

Fixing bug where more than the last page was displayed.

Upgrading yt-dlp.

Fixing sub-folder file selection.

Adding rowKey to SortableTable to give React a key for each row.

Renaming key to path.

Removing duplicate urls.

Unifying file modals.

Displaying modals for image and text files.

Handling refresh loading in FileBrowser.  Creating refreshing_directory flag.

Removing accidental commit.

Sorting by url_count.

Using SortableTable on Domains page.

Using SortableTable for Channels page.

Created new FileBrowser which allows browsing of files in the media directory.

Using Node 18 in pi-gen.

Creating new FileBrowser to replace outdated react-keyed-file-browser.

Returning mimetype with file list.

Do not display 'Do not download' on Channel download in Dashboard.

Allowing null channel download frequency so user can stop downloading a channel.

Bumping version for Node 18.

Using my own semantic-ui-offline to avoid pulling Google fonts.

Upgrading app docker container to use Node 18.  This requires the removal of several npm packages.  File browser will require re-write.  It now pulls fonts from Google, this will need to be fixed.

Testing DownloadsToggle click.

Testing trinary states of DownloadsToggle.

Installing @testing-library/user-event for testing App.
2023-02-08 21:18:51 -07:00