Merge branch '92-import-default' into 'develop'
Import form improvements See merge request funkwhale/funkwhale!73
This commit is contained in:
commit
ffc77f9e89
|
@ -1,8 +1,8 @@
|
||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<div v-if="batch" class="ui two buttons">
|
<div v-if="batch" class="ui container">
|
||||||
<file-upload-widget
|
<file-upload-widget
|
||||||
class="ui icon button"
|
:class="['ui', 'icon', 'left', 'floated', 'button']"
|
||||||
:post-action="uploadUrl"
|
:post-action="uploadUrl"
|
||||||
:multiple="true"
|
:multiple="true"
|
||||||
:size="1024 * 1024 * 30"
|
:size="1024 * 1024 * 30"
|
||||||
|
@ -19,16 +19,18 @@
|
||||||
<i class="upload icon"></i>
|
<i class="upload icon"></i>
|
||||||
Select files to upload...
|
Select files to upload...
|
||||||
</file-upload-widget>
|
</file-upload-widget>
|
||||||
<button class="ui icon teal button" v-if="!$refs.upload || !$refs.upload.active" @click.prevent="$refs.upload.active = true">
|
<button
|
||||||
|
:class="['ui', 'right', 'floated', 'icon', {disabled: files.length === 0}, 'button']"
|
||||||
|
v-if="!$refs.upload || !$refs.upload.active" @click.prevent="$refs.upload.active = true">
|
||||||
<i class="play icon" aria-hidden="true"></i>
|
<i class="play icon" aria-hidden="true"></i>
|
||||||
Start Upload
|
Start Upload
|
||||||
</button>
|
</button>
|
||||||
<button type="button" class="ui icon yellow button" v-else @click.prevent="$refs.upload.active = false">
|
<button type="button" class="ui right floated icon yellow button" v-else @click.prevent="$refs.upload.active = false">
|
||||||
<i class="pause icon" aria-hidden="true"></i>
|
<i class="pause icon" aria-hidden="true"></i>
|
||||||
Stop Upload
|
Stop Upload
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="ui hidden divider"></div>
|
<div class="ui hidden clearing divider"></div>
|
||||||
<p v-if="batch">
|
<p v-if="batch">
|
||||||
Once all your files are uploaded, simply head over <router-link :to="{name: 'library.import.batches.detail', params: {id: batch.id }}">import detail page</router-link> to check the import status.
|
Once all your files are uploaded, simply head over <router-link :to="{name: 'library.import.batches.detail', params: {id: batch.id }}">import detail page</router-link> to check the import status.
|
||||||
</p>
|
</p>
|
||||||
|
|
|
@ -23,6 +23,18 @@
|
||||||
</div>
|
</div>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="ui hidden divider"></div>
|
||||||
|
<div class="ui centered buttons">
|
||||||
|
<button @click="currentStep -= 1" :disabled="currentStep === 0" class="ui icon button"><i class="left arrow icon"></i> Previous step</button>
|
||||||
|
<button @click="currentStep += 1" v-if="currentStep < 2" class="ui icon button">Next step <i class="right arrow icon"></i></button>
|
||||||
|
<button
|
||||||
|
@click="$refs.import.launchImport()"
|
||||||
|
v-if="currentStep === 2"
|
||||||
|
:class="['ui', 'positive', 'icon', {'loading': isImporting}, 'button']"
|
||||||
|
:disabled="isImporting || importData.count === 0"
|
||||||
|
>Import {{ importData.count }} tracks <i class="check icon"></i></button>
|
||||||
|
</div>
|
||||||
|
<div class="ui hidden divider"></div>
|
||||||
<div class="ui attached segment">
|
<div class="ui attached segment">
|
||||||
<template v-if="currentStep === 0">
|
<template v-if="currentStep === 0">
|
||||||
<p>First, choose where you want to import the music from :</p>
|
<p>First, choose where you want to import the music from :</p>
|
||||||
|
@ -101,17 +113,6 @@
|
||||||
@import-state-changed="updateImportState"
|
@import-state-changed="updateImportState"
|
||||||
></component>
|
></component>
|
||||||
</div>
|
</div>
|
||||||
<div class="ui hidden divider"></div>
|
|
||||||
<div class="ui buttons">
|
|
||||||
<button @click="currentStep -= 1" :disabled="currentStep === 0" class="ui icon button"><i class="left arrow icon"></i> Previous step</button>
|
|
||||||
<button @click="currentStep += 1" v-if="currentStep < 2" class="ui icon button">Next step <i class="right arrow icon"></i></button>
|
|
||||||
<button
|
|
||||||
@click="$refs.import.launchImport()"
|
|
||||||
v-if="currentStep === 2"
|
|
||||||
:class="['ui', 'positive', 'icon', {'loading': isImporting}, 'button']"
|
|
||||||
:disabled="isImporting || importData.count === 0"
|
|
||||||
>Import {{ importData.count }} tracks <i class="check icon"></i></button>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="ui vertical stripe segment" v-if="currentRequest">
|
<div class="ui vertical stripe segment" v-if="currentRequest">
|
||||||
|
|
|
@ -100,8 +100,10 @@ export default Vue.extend({
|
||||||
warnings: [
|
warnings: [
|
||||||
'live',
|
'live',
|
||||||
'full',
|
'full',
|
||||||
'cover'
|
'cover',
|
||||||
|
'mix'
|
||||||
],
|
],
|
||||||
|
customQuery: '',
|
||||||
time
|
time
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -114,7 +116,7 @@ export default Vue.extend({
|
||||||
$('.ui.checkbox').checkbox()
|
$('.ui.checkbox').checkbox()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
search () {
|
search: function () {
|
||||||
let self = this
|
let self = this
|
||||||
this.isLoading = true
|
this.isLoading = true
|
||||||
let url = 'providers/' + this.currentBackendId + '/search/'
|
let url = 'providers/' + this.currentBackendId + '/search/'
|
||||||
|
@ -144,17 +146,25 @@ export default Vue.extend({
|
||||||
source: this.importedUrl
|
source: this.importedUrl
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
query () {
|
query: {
|
||||||
let queryMapping = [
|
get: function () {
|
||||||
['artist', this.releaseMetadata['artist-credit'][0]['artist']['name']],
|
if (this.customQuery.length > 0) {
|
||||||
['album', this.releaseMetadata['title']],
|
return this.customQuery
|
||||||
['title', this.metadata['recording']['title']]
|
}
|
||||||
]
|
let queryMapping = [
|
||||||
let query = this.customQueryTemplate
|
['artist', this.releaseMetadata['artist-credit'][0]['artist']['name']],
|
||||||
queryMapping.forEach(e => {
|
['album', this.releaseMetadata['title']],
|
||||||
query = query.split('$' + e[0]).join(e[1])
|
['title', this.metadata['recording']['title']]
|
||||||
})
|
]
|
||||||
return query
|
let query = this.customQueryTemplate
|
||||||
|
queryMapping.forEach(e => {
|
||||||
|
query = query.split('$' + e[0]).join(e[1])
|
||||||
|
})
|
||||||
|
return query
|
||||||
|
},
|
||||||
|
set: function (newValue) {
|
||||||
|
this.customQuery = newValue
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
|
|
Loading…
Reference in New Issue