Use the file uploads API for file listing tables, adds gallery view for file uploads#17493
Use the file uploads API for file listing tables, adds gallery view for file uploads#17493
Conversation
Signed-off-by: snipe <snipe@snipe.net>
Signed-off-by: snipe <snipe@snipe.net>
Signed-off-by: snipe <snipe@snipe.net>
Signed-off-by: snipe <snipe@snipe.net>
Signed-off-by: snipe <snipe@snipe.net>
Signed-off-by: snipe <snipe@snipe.net>
Signed-off-by: snipe <snipe@snipe.net>
Signed-off-by: snipe <snipe@snipe.net>
Signed-off-by: snipe <snipe@snipe.net>
Signed-off-by: snipe <snipe@snipe.net>
…ve it Signed-off-by: snipe <snipe@snipe.net>
Signed-off-by: snipe <snipe@snipe.net>
Signed-off-by: snipe <snipe@snipe.net>
Signed-off-by: snipe <snipe@snipe.net>
Signed-off-by: snipe <snipe@snipe.net>
Signed-off-by: snipe <snipe@snipe.net>
Signed-off-by: snipe <snipe@snipe.net>
Signed-off-by: snipe <snipe@snipe.net>
Signed-off-by: snipe <snipe@snipe.net>
Signed-off-by: snipe <snipe@snipe.net>
Signed-off-by: snipe <snipe@snipe.net>
Signed-off-by: snipe <snipe@snipe.net>
Signed-off-by: snipe <snipe@snipe.net>
Signed-off-by: snipe <snipe@snipe.net>
Signed-off-by: snipe <snipe@snipe.net>
Signed-off-by: snipe <snipe@snipe.net>
Signed-off-by: snipe <snipe@snipe.net>
Signed-off-by: snipe <snipe@snipe.net>
Signed-off-by: snipe <snipe@snipe.net>
|
Still having a problem getting the delete modal to work within the template. It looks like we have two different behaviors:
Both of these are triggered via the Outside of the BS tables, we use that same confirmation on regular pages like this: snipe-it/resources/assets/js/snipeit.js Lines 138 to 154 in 7c95f03 <a href="#" class="btn-block delete-asset btn btn-sm btn-danger btn-social hidden-print" data-toggle="modal" data-title="{{ trans('general.delete') }}" data-content="{{ trans('general.sure_to_delete_var', ['item' => $user->present()->fullName]) }}" data-target="#dataConfirmModal">
<x-icon type="delete" />
{{ trans('button.delete')}}
</a>which makes sense, since we don't need to rewrite the form action if you're on the page of the thing you're trying to delete. |
Signed-off-by: snipe <snipe@snipe.net>
Signed-off-by: snipe <snipe@snipe.net>
Signed-off-by: snipe <snipe@snipe.net>
Signed-off-by: snipe <snipe@snipe.net>
Signed-off-by: snipe <snipe@snipe.net>
Signed-off-by: snipe <snipe@snipe.net>
Signed-off-by: snipe <snipe@snipe.net>
Signed-off-by: snipe <snipe@snipe.net>
Signed-off-by: snipe <snipe@snipe.net>
Signed-off-by: snipe <snipe@snipe.net>
Signed-off-by: snipe <snipe@snipe.net>
Signed-off-by: snipe <snipe@snipe.net>
Signed-off-by: snipe <snipe@snipe.net>
Signed-off-by: snipe <snipe@snipe.net>
|
The last remaining piece here - which is for another PR - will be to switch to the API for GUI uploads and remove those files controllers altogether. |
This finally gets us to the point where we're consuming the newly improved file uploads API in our UI - and it also introduces a gallery view option:
Viewing files
Screen.Recording.2025-07-31.at.1.23.20.PM.mov
Non-image media
Screen.Recording.2025-07-31.at.1.30.42.PM.mov
If file does not exist on disk
Screen.Recording.2025-07-31.at.1.24.22.PM.mov
I've also been able to remove/consolidate a few of the BS table formatters to make them more flexible.
Additionally, I reworked the delete modals so that they use the same code all across the boards. Previously, they behaved slightly differently when they were in a listing table versus on the object details page.
To-Do
pageSizetopageLimitin the bootstrap-tables partial was needed. WTF.This should get closer to not having any sections of the list views where we're not using our own API, which I'm pretty excited about.
A few tweaks that might be nice for the future: