<template>
	<div class="container-fluid">
		<div class="row">
			<admin-title-bar :title="title">
				<nuxt-link :to="{name: 'admin-slider-new'}">
					<el-button type="success">جدید</el-button>
				</nuxt-link>
			</admin-title-bar>
			<div class="col-12">
				<admin-panel>
					
					<el-table
						v-if="slides"
						:data="slides"
						style="width: 100%">
						<el-table-column
							type="index"
							label="#">
						</el-table-column>
						
						<el-table-column
							prop="image"
							label="تصویر"
							width="230">
							<template slot-scope="scope">
								<el-image
									style="width: 100%; height: 100%"
									:src="scope.row.image"
									fit="fit">
								</el-image>
							</template>
						</el-table-column>
						
						<el-table-column
							prop="slider_details.fa.title"
							label="عنوان"
							width="">
						</el-table-column>
						
						<el-table-column
							label="ویرایش"
							width="150"
							align="left">
							<template slot-scope="scope">
								<el-button type="warning" plain icon="el-icon-edit" @click="edit(scope.row._id)"></el-button>
								<el-button type="danger" plain icon="el-icon-delete" @click="del(scope.row._id)"></el-button>
							</template>
						</el-table-column>
					
					</el-table>
				</admin-panel>
			</div>
		</div>
	</div>
</template>


<script>
   export default {
      data() {
         return {
            title: 'اسلایدر',
            slides: null,
         }
      },
      head() {
         return {
            title: this.title,
         }
      },
      methods: {
         edit(id) {
            this.$router.push(`/admin/slider/${id}`)

         },
         del(id) {
            this.$confirm('این تصویر حذف شود؟', 'هشدار', {
               confirmButtonText: 'بله',
               cancelButtonText: 'لغو',
               type: 'warning'
            }).then(() => {
               this.$axios.delete(`/api/private/slider/${id}`).then(response => {
                  this.slides = this.slides.filter(item => {
                     return item._id !== id
                  })
                  this.$message({
                     type: 'success',
                     message: 'تصویر حذف شد'
                  });
               })
            }).catch(() => {
               this.$message({
                  type: 'warning',
                  message: 'عملیات لغو شد'
               });
            });
         }
      },
      layout: 'admin',
      async asyncData({$axios, store}) {
         let slides = await $axios.get(`/api/public/slider`)
         return {
            slides: slides.data
         }
      }
   }
</script>


<style>
	.el-table .el-table__body-wrapper .el-table__row .is-left{
		text-align: left !important;
	}
</style>
