delete sound in list

This commit is contained in:
bkfox 2024-03-26 00:36:51 +01:00
parent 3fb9e0d62a
commit c3c748eebb
5 changed files with 23 additions and 8 deletions

File diff suppressed because one or more lines are too long

View File

@ -38,5 +38,8 @@ sound-upload-url="{% url "api:sound-list" %}"
{% endwith %} {% endwith %}
{% endfor %} {% endfor %}
</template> </template>
<template #row-delete="{cell}">
<input type="checkbox" :name="'{{ formset.prefix }}-' + cell.row + '-DELETE'">
</template>
{% endblock %} {% endblock %}

View File

@ -66,6 +66,7 @@ inline_labels_ = {
"discard_changes": _("Discard changes"), "discard_changes": _("Discard changes"),
"select_file": _("Select a file"), "select_file": _("Select a file"),
"submit": _("Submit"), "submit": _("Submit"),
"delete": _("Delete"),
# track list # track list
"columns": _("Columns"), "columns": _("Columns"),
"timestamp": _("Timestamp"), "timestamp": _("Timestamp"),

View File

@ -55,9 +55,6 @@ class EpisodeUpdateView(UserPassesTestMixin, BaseProgramMixin, PageUpdateView):
program = self.get_object().program program = self.get_object().program
return self.request.user.has_perm("aircox.%s" % program.change_permission_codename) return self.request.user.has_perm("aircox.%s" % program.change_permission_codename)
def get_success_url(self):
return reverse("episode-detail", kwargs={"slug": self.get_object().slug})
def get_tracklist_queryset(self, episode): def get_tracklist_queryset(self, episode):
return Track.objects.filter(episode=episode).order_by("position") return Track.objects.filter(episode=episode).order_by("position")

View File

@ -24,8 +24,8 @@
</a-modal> </a-modal>
<slot name="top" :set="set" :items="set.items"></slot> <slot name="top" :set="set" :items="set.items"></slot>
<a-rows :set="set" :columns="columns" <a-rows :set="set" :columns="allColumns"
:labels="initData.fields" :allow-create="true" :orderable="true" :labels="allColumnsLabels" :allow-create="true" :orderable="true"
@move="listItemMove"> @move="listItemMove">
<template v-for="[name,slot] of rowsSlots" :key="slot" <template v-for="[name,slot] of rowsSlots" :key="slot"
v-slot:[slot]="data"> v-slot:[slot]="data">
@ -49,7 +49,8 @@
:title="labels.add_sound" :title="labels.add_sound"
:aria-label="labels.add_sound" :aria-label="labels.add_sound"
> >
<span class="icon"><i class="fa fa-plus"/></span> <span class="icon">
<i class="fa fa-plus"/></span>
</button> </button>
</div> </div>
</div> </div>
@ -75,6 +76,7 @@ export default {
settingsUrl: String, settingsUrl: String,
soundListUrl: String, soundListUrl: String,
soundUploadUrl: String, soundUploadUrl: String,
player: Object,
columns: { columns: {
type: Array, type: Array,
default: () => ['name', "type", 'is_public', 'is_downloadable'] default: () => ['name', "type", 'is_public', 'is_downloadable']
@ -88,6 +90,18 @@ export default {
}, },
computed: { computed: {
player_() {
return this.player || window.aircox.player
},
allColumns() {
return [...this.columns, "delete"]
},
allColumnsLabels() {
return {...this.labels, ...this.initData.fields}
},
items() { items() {
return this.set.items return this.set.items
}, },