210 lines
9.8 KiB
JavaScript
210 lines
9.8 KiB
JavaScript
/**
|
|
* Main WP Media Gallery addon script
|
|
*/
|
|
var wpmfGalleryModule;
|
|
(function ($) {
|
|
if (typeof ajaxurl === "undefined") {
|
|
ajaxurl = wpmf.vars.ajaxurl;
|
|
}
|
|
|
|
var this_url = new URL(location.href);
|
|
var get_wpmf_folder = this_url.searchParams.get("wpmf-folder");
|
|
|
|
wpmfGalleryModule = {
|
|
comment_parent: 0,
|
|
upload_from_pc: false,
|
|
wpmf_current_gallery: 0, // current gallery selected
|
|
target_gallery: 0,
|
|
is_gallery_loading: false,
|
|
is_perpage_change: false,
|
|
current_page_nav: 1, // current page for images gallery selection
|
|
gallery_details: {},
|
|
shouldconfirm: false,
|
|
custom_gird_gutter_change: false,
|
|
is_resizing: true,
|
|
current_tab: 'main-gallery',
|
|
events: [], // event handling
|
|
init: function () {
|
|
var folder_options_html = '';
|
|
var space = ' ';
|
|
var list_cloud_google = [];
|
|
var list_cloud_dropbox = [];
|
|
var list_cloud_odv = [];
|
|
var list_cloud_odvbs = [];
|
|
var list_cloud_nextcloud = [];
|
|
var list_local = [];
|
|
$('.form_edit_gallery input, .form_edit_gallery select').on('change', function () {
|
|
if ($(this).data('param') === 'gutterwidth') {
|
|
wpmfGalleryModule.custom_gird_gutter_change = true;
|
|
}
|
|
wpmfGalleryModule.shouldconfirm = true;
|
|
window.onbeforeunload = function() {
|
|
if (wpmfGalleryModule.shouldconfirm) {
|
|
return true;
|
|
}
|
|
};
|
|
});
|
|
|
|
$('.form_edit_gallery .edit-gallery-name').on('keyup', function () {
|
|
wpmfGalleryModule.shouldconfirm = true;
|
|
window.onbeforeunload = function() {
|
|
if (wpmfGalleryModule.shouldconfirm) {
|
|
return true;
|
|
}
|
|
};
|
|
});
|
|
|
|
wpmfFoldersTreeModule.importCategories();
|
|
$.each(wpmfFoldersTreeModule.categories, function (i, v) {
|
|
if (parseInt(v.id) !== 0) {
|
|
if (typeof v.drive_type !== 'undefined' && v.drive_type !== '' && v.drive_type === 'google_drive') {
|
|
list_cloud_google.push({id: v.id, label: v.label, depth: v.depth});
|
|
} else if(typeof v.drive_type !== 'undefined' && v.drive_type !== '' && v.drive_type === 'dropbox') {
|
|
list_cloud_dropbox.push({id: v.id, label: v.label, depth: v.depth});
|
|
} else if(typeof v.drive_type !== 'undefined' && v.drive_type !== '' && v.drive_type === 'onedrive') {
|
|
list_cloud_odv.push({id: v.id, label: v.label, depth: v.depth});
|
|
} else if (typeof v.drive_type !== 'undefined' && v.drive_type !== '' && v.drive_type === 'onedrive_business') {
|
|
list_cloud_odvbs.push({id: v.id, label: v.label, depth: v.depth});
|
|
} else if (typeof v.drive_type !== 'undefined' && v.drive_type !== '' && v.drive_type === 'nextcloud') {
|
|
list_cloud_nextcloud.push({id: v.id, label: v.label, depth: v.depth});
|
|
} else {
|
|
list_local.push({id: v.id, label: v.label, depth: v.depth});
|
|
}
|
|
} else {
|
|
list_local.push({id: 0, label: v.label, depth: 0});
|
|
}
|
|
});
|
|
|
|
$.each(list_local, function (i, v) {
|
|
if (typeof v.depth !== "undefined" && parseInt(v.depth) > 0) {
|
|
folder_options_html += '<option value="' + v.id + '"';
|
|
if (get_wpmf_folder !== 'undefined' && get_wpmf_folder == v.id){
|
|
folder_options_html += ' selected ';
|
|
}
|
|
folder_options_html += '>' + space.repeat(v.depth) + v.label + '</option>';
|
|
} else {
|
|
folder_options_html += '<option value="' + v.id + '"';
|
|
if (get_wpmf_folder !== 'undefined' && get_wpmf_folder == v.id){
|
|
folder_options_html += ' selected ';
|
|
}
|
|
folder_options_html += '>' + v.label + '</option>';
|
|
}
|
|
});
|
|
|
|
$.each(list_cloud_dropbox, function (i, v) {
|
|
if (typeof v.depth !== "undefined" && parseInt(v.depth) > 0) {
|
|
folder_options_html += '<option value="' + v.id + '"';
|
|
if (get_wpmf_folder !== 'undefined' && get_wpmf_folder == v.id){
|
|
folder_options_html += ' selected ';
|
|
}
|
|
folder_options_html += '>' + space.repeat(v.depth) + v.label + '</option>';
|
|
} else {
|
|
folder_options_html += '<option value="' + v.id + '"';
|
|
if (get_wpmf_folder !== 'undefined' && get_wpmf_folder == v.id){
|
|
folder_options_html += ' selected ';
|
|
}
|
|
folder_options_html += '>' + v.label + '</option>';
|
|
}
|
|
});
|
|
|
|
$.each(list_cloud_google, function (i, v) {
|
|
if (typeof v.depth !== "undefined" && parseInt(v.depth) > 0) {
|
|
folder_options_html += '<option value="' + v.id + '"';
|
|
if (get_wpmf_folder !== 'undefined' && get_wpmf_folder == v.id){
|
|
folder_options_html += ' selected ';
|
|
}
|
|
folder_options_html += '>' + space.repeat(v.depth) + v.label + '</option>';
|
|
} else {
|
|
folder_options_html += '<option value="' + v.id + '"';
|
|
if (get_wpmf_folder !== 'undefined' && get_wpmf_folder == v.id){
|
|
folder_options_html += ' selected ';
|
|
}
|
|
folder_options_html += '>' + v.label + '</option>';
|
|
}
|
|
});
|
|
|
|
$.each(list_cloud_odv, function (i, v) {
|
|
if (typeof v.depth !== "undefined" && parseInt(v.depth) > 0) {
|
|
folder_options_html += '<option value="' + v.id + '"';
|
|
if (get_wpmf_folder !== 'undefined' && get_wpmf_folder == v.id){
|
|
folder_options_html += ' selected ';
|
|
}
|
|
folder_options_html += '>' + space.repeat(v.depth) + v.label + '</option>';
|
|
} else {
|
|
folder_options_html += '<option value="' + v.id + '"';
|
|
if (get_wpmf_folder !== 'undefined' && get_wpmf_folder == v.id){
|
|
folder_options_html += ' selected ';
|
|
}
|
|
folder_options_html += '>' + v.label + '</option>';
|
|
}
|
|
});
|
|
|
|
$.each(list_cloud_odvbs, function (i, v) {
|
|
if (typeof v.depth !== "undefined" && parseInt(v.depth) > 0) {
|
|
folder_options_html += '<option value="' + v.id + '"';
|
|
if (get_wpmf_folder !== 'undefined' && get_wpmf_folder == v.id){
|
|
folder_options_html += ' selected ';
|
|
}
|
|
folder_options_html += '>' + space.repeat(v.depth) + v.label + '</option>';
|
|
} else {
|
|
folder_options_html += '<option value="' + v.id + '"';
|
|
if (get_wpmf_folder !== 'undefined' && get_wpmf_folder == v.id){
|
|
folder_options_html += ' selected ';
|
|
}
|
|
folder_options_html += '>' + v.label + '</option>';
|
|
}
|
|
});
|
|
|
|
$.each(list_cloud_nextcloud, function (i, v) {
|
|
if (typeof v.depth !== "undefined" && parseInt(v.depth) > 0) {
|
|
folder_options_html += '<option value="' + v.id + '"';
|
|
if (get_wpmf_folder !== 'undefined' && get_wpmf_folder == v.id){
|
|
folder_options_html += ' selected ';
|
|
}
|
|
folder_options_html += '>' + space.repeat(v.depth) + v.label + '</option>';
|
|
} else {
|
|
folder_options_html += '<option value="' + v.id + '"';
|
|
if (get_wpmf_folder !== 'undefined' && get_wpmf_folder == v.id){
|
|
folder_options_html += ' selected ';
|
|
}
|
|
folder_options_html += '>' + v.label + '</option>';
|
|
}
|
|
});
|
|
|
|
$('.wpmf-gallery-folder').html(folder_options_html);
|
|
|
|
}
|
|
};
|
|
|
|
$(document).on( 'wp-collapse-menu', function () {
|
|
wpmfGalleryModule.initPackery();
|
|
});
|
|
|
|
// initialize WPMF gallery features
|
|
$(document).ready(function () {
|
|
wpmfGalleryModule.init();
|
|
var wmpf_nonce = $('.wpmf-gallery-folder').attr('data-wmpf-nonce');
|
|
uploader.bind('BeforeUpload', function(up, file) {
|
|
var multipart_params = up.settings.multipart_params;
|
|
multipart_params['wpmf_folder'] = 0;
|
|
if (get_wpmf_folder !== 'undefined') {
|
|
multipart_params['id_category'] = get_wpmf_folder;
|
|
multipart_params['wpmf_folder'] = get_wpmf_folder;
|
|
multipart_params['wpmf_nonce'] = wmpf_nonce;
|
|
}
|
|
up.settings.multipart_params = multipart_params;
|
|
});
|
|
$('.wpmf-gallery-folder').on('change', function(){
|
|
var id_category = $(this).val();
|
|
uploader.bind('BeforeUpload', function(up, file) {
|
|
var multipart_params = up.settings.multipart_params;
|
|
multipart_params['id_category'] = id_category;
|
|
multipart_params['wpmf_folder'] = id_category;
|
|
multipart_params['wpmf_nonce'] = wmpf_nonce;
|
|
up.settings.multipart_params = multipart_params;
|
|
});
|
|
});
|
|
});
|
|
|
|
})(jQuery);
|