Add record removing feature

This commit is contained in:
Gennady Grishkovtsov
2018-09-30 15:51:06 +03:00
parent 261d7a80ec
commit fc0c9c824a

View File

@@ -23,12 +23,14 @@
&__record { &__record {
width: 320px; width: 320px;
height: 45px;
padding: 0 10px; padding: 0 10px;
margin: 0 auto; margin: 0 auto;
line-height: 45px; line-height: 45px;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
border-bottom: 1px solid #E8E8E8; border-bottom: 1px solid #E8E8E8;
position: relative;
&--selected { &--selected {
border: 1px solid #E8E8E8; border: 1px solid #E8E8E8;
@@ -105,7 +107,7 @@
@keyframes blink { @keyframes blink {
0% { opacity: .2; } 0% { opacity: .2; }
20% { opacity: 1; } 20% { opacity: 1; }
100% { opacity: .2; } 100% { opacity: .2; }
} }
} }
@@ -144,6 +146,20 @@
color: red; color: red;
} }
} }
&__rm {
cursor: pointer;
position: absolute;
width: 6px;
height: 6px;
padding: 6px;
line-height: 6px;
margin: auto;
left: 10px;
bottom: 0;
top: 0;
color: rgb(244, 120, 90);
}
} }
@import '../scss/icons'; @import '../scss/icons';
@@ -182,10 +198,14 @@
<div class="ar-records"> <div class="ar-records">
<div <div
class="ar-records__record" class="ar-records__record"
:class="{'ar-records__record--selected': idx === selectedRecord.idx}" :class="{'ar-records__record--selected': record.id === selected.id}"
:key="idx" :key="record.id"
v-for="(record, idx) in recordList" v-for="(record, idx) in recordList"
@click="selectRecord(idx, record)"> @click="selected = record">
<div
class="ar__rm"
v-if="record.id === selected.id"
@click="removeRecord(idx)">&times;</div>
<div class="ar__text">Record {{idx + 1}}</div> <div class="ar__text">Record {{idx + 1}}</div>
<div class="ar__text">{{record.duration}}</div> <div class="ar__text">{{record.duration}}</div>
</div> </div>
@@ -193,7 +213,7 @@
<audio-player <audio-player
:compact="compact" :compact="compact"
:record="selectedRecord" :record="selected"
:upload-url="uploadUrl" :upload-url="uploadUrl"
:start-upload="startUpload" :start-upload="startUpload"
:successful-upload="successfulUpload" :successful-upload="successfulUpload"
@@ -245,7 +265,7 @@
time: this.time time: this.time
}), }),
recordList: [], recordList: [],
selectedRecord: {}, selected: {},
uploadStatus: null uploadStatus: null
} }
}, },
@@ -278,8 +298,9 @@
this.recorder.stop() this.recorder.stop()
}, },
selectRecord (idx, record) { removeRecord (idx) {
this.selectedRecord = { idx: idx, url: record.url, blob: record.blob } this.recordList.splice(idx, 1)
this.$set(this.selected, 'url', null)
}, },
onStartUpload () { onStartUpload () {
this.isUploading = true this.isUploading = true