mirror of
https://github.com/ArchiveBox/ArchiveBox
synced 2025-02-16 13:28:29 +00:00
fix tags editor in Snapshot list view
This commit is contained in:
parent
849b4963a1
commit
267964881c
3 changed files with 24 additions and 17 deletions
|
@ -155,25 +155,26 @@ class TagInline(admin.TabularInline):
|
|||
)
|
||||
|
||||
from django.contrib.admin.helpers import ActionForm
|
||||
from django.contrib.admin.widgets import AutocompleteSelectMultiple
|
||||
from django.contrib.admin.widgets import FilteredSelectMultiple
|
||||
|
||||
class AutocompleteTags:
|
||||
model = Tag
|
||||
search_fields = ['name']
|
||||
name = 'tags'
|
||||
remote_field = TagInline
|
||||
# class AutocompleteTags:
|
||||
# model = Tag
|
||||
# search_fields = ['name']
|
||||
# name = 'name'
|
||||
# # source_field = 'name'
|
||||
# remote_field = Tag._meta.get_field('name')
|
||||
|
||||
class AutocompleteTagsAdminStub:
|
||||
name = 'admin'
|
||||
# class AutocompleteTagsAdminStub:
|
||||
# name = 'admin'
|
||||
|
||||
|
||||
class SnapshotActionForm(ActionForm):
|
||||
tags = forms.ModelMultipleChoiceField(
|
||||
queryset=Tag.objects.all(),
|
||||
required=False,
|
||||
widget=AutocompleteSelectMultiple(
|
||||
AutocompleteTags(),
|
||||
AutocompleteTagsAdminStub(),
|
||||
widget=FilteredSelectMultiple(
|
||||
'core_tag__name',
|
||||
False,
|
||||
),
|
||||
)
|
||||
|
||||
|
@ -235,9 +236,8 @@ class SnapshotAdmin(SearchResultsAdminMixin, admin.ModelAdmin):
|
|||
fields = ('url', 'created_by', 'title', *readonly_fields)
|
||||
ordering = ['-added']
|
||||
actions = ['add_tags', 'remove_tags', 'update_titles', 'update_snapshots', 'resnapshot_snapshot', 'overwrite_snapshots', 'delete_snapshots']
|
||||
# autocomplete_fields = ['tags']
|
||||
autocomplete_fields = ['tags']
|
||||
inlines = [TagInline, ArchiveResultInline]
|
||||
# inlines = [ArchiveResultInline]
|
||||
list_per_page = SNAPSHOTS_PER_PAGE
|
||||
|
||||
action_form = SnapshotActionForm
|
||||
|
|
|
@ -45,6 +45,13 @@
|
|||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
<script
|
||||
src="https://code.jquery.com/jquery-3.7.1.slim.min.js"
|
||||
integrity="sha256-kmHvs0B+OpCW5GVHUNjv9rOmY0IvSIRcf7zGUDTDQM8="
|
||||
crossorigin="anonymous"></script>
|
||||
<link href="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/css/select2.min.css" rel="stylesheet" />
|
||||
<script src="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js"></script>
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="{% static "admin.css" %}">
|
||||
|
||||
<script>
|
||||
|
@ -264,6 +271,7 @@
|
|||
.appendTo(buttons)
|
||||
})
|
||||
console.log('Converted', buttons.children().length, 'admin actions from dropdown to buttons')
|
||||
jQuery('select[multiple]').select2();
|
||||
}
|
||||
function fixInlineAddRow() {
|
||||
$('#id_snapshottag-MAX_NUM_FORMS').val('1000')
|
||||
|
|
|
@ -116,7 +116,6 @@ body.model-snapshot.change-list #content .object-tools {
|
|||
margin-right: 0px;
|
||||
width: auto;
|
||||
max-height: 40px;
|
||||
overflow: hidden;
|
||||
display: block;
|
||||
}
|
||||
@media (max-width: 1000px) {
|
||||
|
@ -166,14 +165,14 @@ body.model-snapshot.change-list #content .object-tools {
|
|||
margin-right: 25px;
|
||||
}
|
||||
|
||||
#content #changelist .actions .select2-selection {
|
||||
#content #changelist .actions > label {
|
||||
max-height: 25px;
|
||||
}
|
||||
#content #changelist .actions .select2-container--admin-autocomplete.select2-container {
|
||||
#content #changelist .actions > label {
|
||||
width: auto !important;
|
||||
min-width: 90px;
|
||||
}
|
||||
#content #changelist .actions .select2-selection__rendered .select2-selection__choice {
|
||||
#content #changelist .actions > label > select {
|
||||
margin-top: 3px;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue