PluginProbe ʕ •ᴥ•ʔ
WP-Sweep / trunk
WP-Sweep vtrunk
trunk 1.0.10 1.0.11 1.0.12 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9 1.1.0 1.1.1 1.1.2 1.1.3 1.1.5 1.1.6 1.1.7 1.1.8 1.1.9
wp-sweep / js / wp-sweep.js
wp-sweep / js Last commit date
wp-sweep.js 9 years ago wp-sweep.min.js 11 years ago
wp-sweep.js
96 lines
1 (function ($) {
2 'use strict';
3
4 $(function () {
5 var $body = $( 'body' ),
6 sweep = function($node) {
7 var $row = $node.parents( 'tr' );
8
9 // Add Active
10 $body.addClass( 'sweep-active' );
11 // Add Disabled
12 $node.prop( 'disabled', true ).text( wp_sweep.text_sweeping );
13
14 return $.get(ajaxurl, { action: $node.data( 'action' ), sweep_name: $node.data( 'sweep_name' ), sweep_type: $node.data( 'sweep_type' ), '_wpnonce': $node.data( 'nonce' ) }, function(data) {
15 if (data.success) {
16 var count = parseInt( data.data.count, 10 );
17 // Count Col
18 $( '.sweep-count', $row ).text( count.toLocaleString() );
19 // % Of Col
20 $( '.sweep-percentage', $row ).text( data.data.percentage );
21 // Action Col
22 if (count === 0) {
23 $node.parent( 'td' ).html( wp_sweep.text_na );
24 }
25 // Stats
26 $.each(data.data.stats, function(key, value) {
27 $( '.sweep-count-type-' + key ).text( parseInt( value, 10 ).toLocaleString() );
28 });
29 // Message
30 $row.parents( '.table-sweep' ).prev( '.sweep-message' ).html( '<div class="updated"><p>' + data.data.sweep + '</p></div>' );
31 // Hide Sweep Details
32 $( '.sweep-details', $row ).html( '' ).hide();
33 // Remove Active
34 $body.removeClass( 'sweep-active' );
35 // Remove Disabled
36 $node.prop( 'disabled', false ).text( wp_sweep.text_sweep );
37 }
38 });
39 };
40
41 $( '.btn-sweep' ).click(function(evt) {
42 evt.preventDefault();
43 sweep( $( this ) );
44 });
45
46 $( '.btn-sweep-details' ).click(function(evt) {
47 evt.preventDefault();
48 var $node = $( this );
49
50 $.get(ajaxurl, { action: $node.data( 'action' ), sweep_name: $node.data( 'sweep_name' ), sweep_type: $node.data( 'sweep_type' ), '_wpnonce': $node.data( 'nonce' ) }, function(data) {
51 if (data.success) {
52 if (data.data.length > 0) {
53 var html = '';
54 $.each(data.data, function(i, n) {
55 html += '<li>' + n + '</li>';
56 });
57 $( '.sweep-details', $node.parents( 'tr' ) ).html( '<ol>' + html + '</ol>' ).show();
58 }
59 }
60 });
61 });
62
63 $( '.btn-sweep-all' ).click(function(evt) {
64 evt.preventDefault();
65 var $node = $( this ), $btn_sweep = $( '.btn-sweep' ), sweep_all;
66
67 $node.prop( 'disabled', true ).text( wp_sweep.text_sweeping );
68
69 sweep_all = $btn_sweep.toArray().reduce(function(current, next) {
70 return current.then(function() {
71 return sweep( $( next ) );
72 });
73 }, $().promise());
74
75 sweep_all.done(function() {
76 // Remove Active
77 $body.removeClass( 'sweep-active' );
78 // Remove Disabled
79 $node.prop( 'disabled', false ).text( wp_sweep.text_sweep_all );
80 });
81 });
82
83 /*
84 Page closing confirmation
85 https://developer.mozilla.org/en-US/docs/DOM/Mozilla_event_reference/beforeunload
86 */
87 $( window ).on('beforeunload', function (e) {
88 if ($body.hasClass( 'sweep-active' )) {
89 (e || window.event).returnValue = wp_sweep.text_close_warning; // Gecko and Trident
90 return wp_sweep.text_close_warning; // Gecko and WebKit
91 }
92 });
93 });
94
95 })(jQuery);
96