Resolve "Add a "Replace current playlist" option"
This commit is contained in:
parent
a6a649d48f
commit
9771858729
|
@ -0,0 +1 @@
|
||||||
|
Added the option to replace the queue's current contents with a selected album or track (#761)
|
|
@ -19,7 +19,11 @@
|
||||||
<i class="step forward icon"></i>{{ labels.playNext }}
|
<i class="step forward icon"></i>{{ labels.playNext }}
|
||||||
</button>
|
</button>
|
||||||
<button class="item basic" ref="playNow" data-ref="playNow" :disabled="!playable" @click.stop.prevent="addNext(true)" :title="labels.playNow">
|
<button class="item basic" ref="playNow" data-ref="playNow" :disabled="!playable" @click.stop.prevent="addNext(true)" :title="labels.playNow">
|
||||||
<i class="play icon"></i>{{ labels.playNow }}</button>
|
<i class="play icon"></i>{{ labels.playNow }}
|
||||||
|
</button>
|
||||||
|
<button class="item basic" ref="replacePlay" data-ref="replacePlay" :disabled="!playable" @click.stop.prevent="replacePlay()" :title="labels.replacePlay">
|
||||||
|
<i class="list icon"></i>{{ labels.replacePlay }}
|
||||||
|
</button>
|
||||||
<button v-if="track" class="item basic" :disabled="!playable" @click.stop.prevent="$store.dispatch('radios/start', {type: 'similar', objectId: track.id})" :title="labels.startRadio">
|
<button v-if="track" class="item basic" :disabled="!playable" @click.stop.prevent="$store.dispatch('radios/start', {type: 'similar', objectId: track.id})" :title="labels.startRadio">
|
||||||
<i class="feed icon"></i><translate translate-context="*/Queue/Button.Label/Short, Verb">Start radio</translate>
|
<i class="feed icon"></i><translate translate-context="*/Queue/Button.Label/Short, Verb">Start radio</translate>
|
||||||
</button>
|
</button>
|
||||||
|
@ -74,7 +78,8 @@ export default {
|
||||||
playNow: this.$pgettext('*/Queue/Dropdown/Button/Title', 'Play now'),
|
playNow: this.$pgettext('*/Queue/Dropdown/Button/Title', 'Play now'),
|
||||||
addToQueue: this.$pgettext('*/Queue/Dropdown/Button/Title', 'Add to current queue'),
|
addToQueue: this.$pgettext('*/Queue/Dropdown/Button/Title', 'Add to current queue'),
|
||||||
playNext: this.$pgettext('*/Queue/Dropdown/Button/Title', 'Play next'),
|
playNext: this.$pgettext('*/Queue/Dropdown/Button/Title', 'Play next'),
|
||||||
startRadio: this.$pgettext('*/Queue/Dropdown/Button/Title', 'Play similar songs')
|
startRadio: this.$pgettext('*/Queue/Dropdown/Button/Title', 'Play similar songs'),
|
||||||
|
replacePlay: this.$pgettext('*/Queue/Dropdown/Button/Title', 'Replace current queue')
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
title () {
|
title () {
|
||||||
|
@ -201,6 +206,14 @@ export default {
|
||||||
})
|
})
|
||||||
jQuery(self.$el).find('.ui.dropdown').dropdown('hide')
|
jQuery(self.$el).find('.ui.dropdown').dropdown('hide')
|
||||||
},
|
},
|
||||||
|
replacePlay () {
|
||||||
|
let self = this
|
||||||
|
self.$store.dispatch('queue/clean')
|
||||||
|
this.getPlayableTracks().then((tracks) => {
|
||||||
|
self.$store.dispatch('queue/appendMany', {tracks: tracks}).then(() => self.addMessage(tracks))
|
||||||
|
})
|
||||||
|
jQuery(self.$el).find('.ui.dropdown').dropdown('hide')
|
||||||
|
},
|
||||||
addNext (next) {
|
addNext (next) {
|
||||||
let self = this
|
let self = this
|
||||||
let wasEmpty = this.$store.state.queue.tracks.length === 0
|
let wasEmpty = this.$store.state.queue.tracks.length === 0
|
||||||
|
|
Loading…
Reference in New Issue