Server IP : 66.29.132.124 / Your IP : 3.129.25.13 Web Server : LiteSpeed System : Linux business141.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64 User : wavevlvu ( 1524) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/wavevlvu/book24.ng/resources/module/media/admin/js/ |
Upload File : |
import Vue from 'vue'; export default function(){ window.mediaManagement = new Vue({ el: '#media-management', data:{ files:[], viewType:'grid', total:0, totalPage:0, fileTypes:[], selected:[], selectedLists:[], showUploader:false, apiFinished:false, modalEl:false, multiple:true, isLoading:false, filter:{ page:1 }, onSelect:function () { }, uploadConfigs:{ } }, mounted(){ let me = this; me.reloadLists(); this.$nextTick(function () { $(this.$refs.files).change(function () { me.upload(this.files) }) }) }, watch:{ uploadConfigs(val){ this.multiple = val.multiple; this.onSelect = val.onSelect; } }, methods:{ show(configs){ this.files = []; this.resetSelected(); this.uploadConfigs = configs; this.modalEl.modal('show'); }, hide(){ this.modalEl.modal('hide'); }, changePage(p,e){ e.preventDefault(); this.filter.page = p; this.reloadLists(); }, selectFile(file){ var index = this.selected.indexOf(file.id); if (index > -1) { this.selected.splice(index, 1); this.selectedLists.splice(index,1); }else{ if(!this.multiple){ this.selected = []; this.selectedLists = []; } this.selected.push(file.id); this.selectedLists.push(file); } }, removeFiles() { var me = this; bookingCoreApp.showConfirm({ message: i18n.confirm_delete, callback: function(result){ if(result){ me.isLoading = true; $.ajax({ url:bookingCore.admin_url+'/module/media/removeFiles', type:'POST', data:{ file_ids : me.selected }, dataType:'json', success:function (data) { if(data.status === 1){ //bookingCoreApp.showSuccess(data); } if(data.status === 0){ bookingCoreApp.showError(data); } me.isLoading = false; me.reloadLists(); }, error:function (e) { me.isLoading = false; bookingCoreApp.showAjaxError(e); me.resetSelected(); } }); } } }) }, sendFiles(){ if(typeof this.onSelect == 'function'){ let f = this.onSelect; f(this.selectedLists) } this.hide(); }, init(){ var me = this; this.reloadLists(); }, reloadLists(){ var me = this; $("#cdn-browser .icon-loading").addClass("active"); me.isLoading = true; $.ajax({ url:bookingCore.admin_url+'/module/media/getLists', type:'POST', data:{ file_type:this.uploadConfigs.file_type, page:this.filter.page, s:this.filter.s }, dataType:'json', success:function (json) { me.resetSelected(); me.files = json.data; me.total = json.total; me.totalPage = json.totalPage; me.isLoading = false; me.apiFinished = true; } }); }, upload(files){ var me = this; if(!files.length) return ; console.log(files); for(var i = 0; i < files.length ; i++){ var d = new FormData(); d.append('file',files[i]); d.append('type',this.uploadConfigs.file_type); me.isLoading = true; $.ajax({ url:bookingCore.admin_url+'/module/media/store', data:d, dataType:'json', type:'post', contentType: false, processData: false, success:function (res) { me.isLoading = false; if(res.status) { me.reloadLists(); } if(res.status === 0){ bookingCoreApp.showError(res); } $(me.$refs.files).val(''); }, error:function(e){ bookingCoreApp.showAjaxError(e); $(me.$refs.files).val(''); me.isLoading = false; } }) } }, initUploader(){ }, resetSelected(){ this.selectedLists = []; this.selected = []; this.total = 0; this.totalPage = 0; this.apiFinished = false; } } }); }