first commit
This commit is contained in:
@@ -0,0 +1,113 @@
|
||||
/*globals jQuery, ajaxurl*/
|
||||
/*jshint browser:true, devel:true*/
|
||||
|
||||
var WPML_Package_Translation = WPML_Package_Translation || {};
|
||||
|
||||
(function () {
|
||||
"use strict";
|
||||
|
||||
WPML_Package_Translation.ManagementPage = function () {
|
||||
var self = this;
|
||||
|
||||
self.init = function () {
|
||||
jQuery('.js_package_all_cb').on('change', self.check_uncheck_all);
|
||||
jQuery('.js_package_row_cb').on('change', self.enable_disable_delete);
|
||||
jQuery('#delete_packages').on('click', self.delete_selected_packages);
|
||||
jQuery('#package_kind_filter').on('change', self.filter_by_kind);
|
||||
};
|
||||
|
||||
self.check_uncheck_all = function () {
|
||||
var package_all_cb = jQuery('.js_package_all_cb').first();
|
||||
|
||||
var checked = package_all_cb.prop('checked');
|
||||
jQuery('.js_package_row_cb').each(
|
||||
function () {
|
||||
if (!jQuery(this).is(':disabled')) {
|
||||
jQuery(this).prop('checked', checked);
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
self.enable_disable_delete();
|
||||
};
|
||||
|
||||
self.enable_disable_delete = function () {
|
||||
var enable = jQuery('.js_package_row_cb:checked:visible').length !== 0;
|
||||
|
||||
jQuery('#delete_packages').prop('disabled', !enable);
|
||||
};
|
||||
|
||||
self.delete_selected_packages = function () {
|
||||
|
||||
if (confirm(jQuery('.js-delete-confirm-message').html())) {
|
||||
jQuery('#delete_packages').prop('disabled', true);
|
||||
jQuery('.spinner').css( 'float', 'none' ).addClass( 'is-active' );
|
||||
|
||||
var selected = jQuery('.js_package_row_cb:checked:visible');
|
||||
|
||||
var packages = [];
|
||||
|
||||
selected.each(
|
||||
function () {
|
||||
packages.push(jQuery(this).val());
|
||||
}
|
||||
);
|
||||
|
||||
var data = {
|
||||
action: 'wpml_delete_packages',
|
||||
wpnonce: jQuery('#wpml_package_nonce').attr('value'),
|
||||
packages: packages
|
||||
};
|
||||
|
||||
jQuery.ajax(
|
||||
{
|
||||
url: ajaxurl,
|
||||
type: 'post',
|
||||
data: data,
|
||||
success: function () {
|
||||
selected.each(
|
||||
function () {
|
||||
var package_row = jQuery(this).closest('.js_package');
|
||||
package_row.fadeOut(
|
||||
1000, function () {
|
||||
jQuery(this).remove();
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
jQuery('.spinner').removeClass( 'is-active' );
|
||||
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
self.all_selected = function () {
|
||||
var kind_slug = jQuery('#package_kind_filter').val();
|
||||
return kind_slug === '-1';
|
||||
};
|
||||
|
||||
self.filter_by_kind = function () {
|
||||
var kind_slug = jQuery('#package_kind_filter').val();
|
||||
var icl_package_translations = jQuery('#icl_package_translations');
|
||||
var icl_package_translations_body = icl_package_translations.find('tbody');
|
||||
if (self.all_selected()) {
|
||||
icl_package_translations_body.find('tr').show();
|
||||
} else {
|
||||
icl_package_translations_body.find('tr').hide();
|
||||
icl_package_translations_body.find('tr.js_package.js_package_' + kind_slug).show();
|
||||
}
|
||||
self.enable_disable_delete();
|
||||
};
|
||||
|
||||
self.init();
|
||||
};
|
||||
|
||||
jQuery(
|
||||
function () {
|
||||
WPML_Package_Translation.management_page = new WPML_Package_Translation.ManagementPage();
|
||||
}
|
||||
);
|
||||
|
||||
}());
|
||||
Reference in New Issue
Block a user