Skip to content

Commit

Permalink
create poc for menu extension for Archive model
Browse files Browse the repository at this point in the history
  • Loading branch information
jrief committed Sep 28, 2024
1 parent 4d9ef5d commit 5236b11
Show file tree
Hide file tree
Showing 7 changed files with 49 additions and 9 deletions.
11 changes: 11 additions & 0 deletions client/components/editor/Archive.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
import React from 'react';
import {FileDetails} from 'finder/FileDetails';


export default function Archive(props) {
return (
<FileDetails {...props}>
<img src={props.settings.thumbnail_url} />
</FileDetails>
);
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,7 @@ import React from 'react';
import ArchiveIcon from 'icons/archive.svg';


export default function Audio(props) {
console.log(props);

export default function Archive(props) {
function archiveSelectedIcons() {
console.log("archiveSelectedIcons", props);
}
Expand Down
2 changes: 1 addition & 1 deletion client/esbuild.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ await build({
'client/file-admin.tsx',
'client/components/editor/*.tsx',
'client/components/folderitem/*.tsx',
'client/components/menu/*.tsx',
'client/components/menuextension/*.tsx',
],
bundle: true,
minify: buildOptions.minify,
Expand Down
Empty file.
24 changes: 24 additions & 0 deletions finder/contrib/archive/admin.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
from django.contrib import admin

from finder.admin.file import FileAdmin
from finder.contrib.archive.models import ArchiveModel


class ArchiveAdmin(FileAdmin):
"""
Admin class for archived file types like ZIP, tar and tar.gz.
"""

def get_editor_settings(self, request, inode):
settings = super().get_editor_settings(request, inode)
settings.update(
react_component='Archive',
download_file=True,
)
return settings

def get_menu_extension_settings(self, request):
return {'component': 'Archive'}


admin.site.register(ArchiveModel, ArchiveAdmin)
12 changes: 12 additions & 0 deletions finder/contrib/archive/models.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
from django.contrib.staticfiles.storage import staticfiles_storage

from finder.models.file import FileModel


class ArchiveModel(FileModel):
accept_mime_types = ['application/zip', 'application/x-tar', 'application/x-gzip']
fallback_thumbnail_url = staticfiles_storage.url('filer/icons/file-zip.svg')

class Meta:
proxy = True
app_label = 'finder'
5 changes: 0 additions & 5 deletions finder/contrib/audio/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,3 @@ def get_folderitem_settings(self, request, inode):
sample_url=inode.get_sample_url(),
)
return settings

def get_menu_extension_settings(self, request):
# TODO: move this to ZIPFileModel
return {'component': 'Audio'}

0 comments on commit 5236b11

Please sign in to comment.