select fix, image remove

remotes/origin/hasaccess
Sanasol 8 years ago
parent 70c2787228
commit b0e7491ff4
  1. 15
      web/src/components/blocks/BlockImages.vue
  2. 4
      web/src/components/inputs/LilSelect.vue
  3. 7
      web/src/js/modules/api.js
  4. 2
      web/src/sass/_common.sass

@ -25,8 +25,13 @@
</div> </div>
</div> </div>
<div class="kit__gallery"> <div class="kit__gallery">
<div class="kit__preview" v-for="image in images" v-bind:class="{ 'kit__preview--loading': image.loading }"> <div class="kit__preview" v-for="(image, index) in images" v-bind:class="{ 'kit__preview--loading': image.loading }">
<img :src="image.src" class="kit__pic"> <img :src="image.src" class="kit__pic">
<button type="button" @click="onRemoveImage(index)">
<svg class="icon icon-delete">
<use xlink:href="/static/img/sprite.svg#icon-delete"></use>
</svg>
</button>
</div> </div>
<div class="kit__photo"> <div class="kit__photo">
<svg class="icon icon-add-plus"> <svg class="icon icon-add-plus">
@ -85,6 +90,14 @@
}, },
onRemove() { onRemove() {
this.$emit('remove', this.index); this.$emit('remove', this.index);
},
onRemoveImage(index) {
let images = this.images;
let id = images[index].img;
images.splice(index, 1);
this.$emit('update:images', images);
api.removeImage(id, this.accessToken);
} }
} }
} }

@ -4,8 +4,8 @@
{{ selectedTitle }} {{ selectedTitle }}
</div> </div>
<div class="select__drop"> <div class="select__drop">
<div class="select__option" v-for="option in options"> <div class="select__option" v-for="option in options" @click.stop.prevent="selectOption(option)">
<div class="select__title" @click.stop.prevent="selectOption(option)">{{ option.title }}</div> <div class="select__title">{{ option.title }}</div>
</div> </div>
</div> </div>
</div> </div>

@ -21,6 +21,13 @@ export const api = {
} }
}); });
}, },
removeImage: (imageId, accessToken) => {
return axios.delete(`/api/v1/image-objects/${imageId}/`, {
headers: {
'Authorization': `Token ${accessToken}`,
}
});
},
loadCourse: (courseId, accessToken) => { loadCourse: (courseId, accessToken) => {
return axios.get(`/api/v1/courses/${courseId}/`, { return axios.get(`/api/v1/courses/${courseId}/`, {
headers: { headers: {

@ -1872,7 +1872,7 @@ a.grey-link
.info__field--light .info__field--light
.select .select
.select__head .select__head
color: #777 color: #fff
font-size: 15px font-size: 15px
&:after &:after
border-color: #fff transparent transparent transparent border-color: #fff transparent transparent transparent

Loading…
Cancel
Save