$(document).ready(function() {
// editor save function
var saveEditedImage = function(item) {
// if still uploading
// pend and exit
if (item.upload && item.upload.status == 'loading')
return item.editor.isUploadPending = true;
// if not appended or not uploaded
if (!item.appended && !item.uploaded)
return;
// if no editor
if (!item.editor || !item.reader.width)
return;
// if uploaded
// resend upload
if (item.upload && item.upload.resend) {
item.editor._namee = item.name;
item.upload.resend();
}
};
// Enable fileuploader plugin
// Global settings for fileuploader plugin
var fileuploaderSettings = {
extensions: ['jpg', 'jpeg', 'png', 'gif', 'bmp'],
changeInput: ' ',
theme: 'thumbnails',
enableApi: true,
addMore: true,
fileMaxSize: 15,
thumbnails: {
box: '
',
item: '' +
'' +
'
${image}
' +
'
' +
'
${progressBar}
' +
'
' +
'',
item2: '' +
'' +
'',
startImageRenderer: true,
canvasImage: false,
_selectors: {
list: '.fileuploader-items-list',
item: '.fileuploader-item',
start: '.fileuploader-action-start',
retry: '.fileuploader-action-retry',
remove: '.fileuploader-action-remove',
sorter: '.fileuploader-action-sort'
},
onItemShow: function(item, listEl) {
var plusInput = listEl.find('.fileuploader-thumbnails-input');
plusInput.insertAfter(item.html);
if(item.format == 'image') {
item.html.find('.fileuploader-item-icon').hide();
}
}
},
afterRender: function(listEl, parentEl, newInputEl, inputEl) {
var plusInput = listEl.find('.fileuploader-thumbnails-input'),
api = $.fileuploader.getInstance(inputEl.get(0));
plusInput.on('click', function() {
api.open();
});
},
upload : {
// upload URL {String}
url: '/ajax/uploader-object-new.php',
data: null,
type: 'POST',
enctype: 'multipart/form-data',
start: true,
synchron: true,
chunk: false,
onSuccess: function(data, item, listEl, parentEl, newInputEl, inputEl, textStatus, jqXHR) {
//todo
setTimeout(function() {
item.html.find('.progress-holder').remove();
}, 400);
},
onComplete: function(listEl, parentEl, newInputEl, inputEl, jqXHR, textStatus) {
// callback will go here
}
},
dragDrop: {
container: '.main-photo'
},
onRemove: function(item, listEl, p, o, s) {
var id = $('#id_obj').val();
if (id) {
$.ajax({
url: '/ajax/markPhotoToDeleteFromSelectel.php',
method: "post",
data: {
"path": item.name,
"objId": id
},
success: function (data) {
}
});
}
},
editor: {
cropper: {
showGrid: true
},
onSave: function(dataURL, item) {
saveEditedImage(item);
}
},
captions: {
feedback: 'Drag and drop files here',
feedback2: 'Drag and drop files here',
drop: 'Drag and drop files here',
removeConfirmation: "Удалить выбранный файл?",
errors: {
filesLimit: 'Только ${limit} файлов можно загрузить.',
filesType: 'Только ${extensions} файлы можно загрузить.',
fileSize: 'Превышение допустимого размера файла. Выберите файл размером не более ${fileMaxSize}MB.',
fileName: 'Файл с именем ${name} уже выбран.'
}
},
sorter: {
selectorExclude: null,
placeholder: '',
scrollContainer: window,
onSort: function(list, listEl, parentEl, newInputEl, inputEl) {
var api = $.fileuploader.getInstance(inputEl.get(0)),
fileList = api.getFileList(),
_list = [];
$.each(fileList, function(i, item) {
_list.push({
name: item.name,
index: item.index
});
});
}
}
}
var photoSettings = {
thumbnails: {
box: '',
item: '' +
'' +
'
' +
'
' +
'
${progressBar}
' +
'
' +
'',
item2: '' +
'' +
'',
startImageRenderer: true,
canvasImage: false,
_selectors: {
list: '.fileuploader-items-list',
item: '.fileuploader-item',
start: '.fileuploader-action-start',
retry: '.fileuploader-action-retry',
remove: '.fileuploader-action-remove',
sorter: '.fileuploader-action-sort'
},
onItemShow: function(item, listEl) {
var plusInput = listEl.find('.fileuploader-thumbnails-input');
plusInput.insertAfter(item.html);
if(item.format == 'image') {
item.html.find('.fileuploader-item-icon').hide();
}
}
},
}
$('input#upload-object-edit').fileuploader(fileuploaderSettings);
$('input#upload-object-view').fileuploader({...fileuploaderSettings, ...photoSettings});
// Unique settings for plan uploader
var planSettings = {
dragDrop:{
container:'.plan-photo'
}
};
$('input[name="img_plan"]').fileuploader({...fileuploaderSettings, ...planSettings});
});