PluginProbe
FV Player 8 / trunk
FV Player 8 vtrunk
trunk 8.0.18 8.0.19 8.0.20 8.0.21 8.0.25 8.0.27 8.1 8.1.3
fv-player / js / admin-convertor.js

admin-convertor.js in FV Player 8 trunk, at js/admin-convertor.js

132 lines 3.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 (function($){
2 $.fn.Progressor = function(args) {
3 args = args || {};
4
5 return this.each(function() {
6 function timer() {
7 if (running) {
8 $('.conversion-done').hide();
9
10 $.ajax({
11 url: opts.url,
12 cache: false,
13 data: ({
14 action: opts.action,
15 offset: offset,
16 limit: opts.limit,
17 _ajax_nonce: opts.nonce,
18 offset2: $('[name=offset]').val(),
19 verbose: $('[name=verbose]').is(':checked'),
20 'make-changes': jQuery('#make-changes').prop('checked')
21 }),
22 type: 'POST',
23 error: showAlert ,
24 success: function(data) {
25 try {
26 var response = JSON.parse(data);
27 } catch(e) {
28 alert('Error in conversion Ajax, please check the PHP error log');
29 $(button).val('Start');
30 $('#loading').hide();
31 running = false;
32 return;
33 }
34
35 var percent = response.percent_done,
36 table_rows = response.table_rows,
37 left = response.left,
38 convert_error = false;
39
40 if( response.convert_error ) {
41 convert_error = true;
42 }
43
44 $('#progress').css('width', percent+'%');
45
46 if( table_rows) {
47 $("#output").append(table_rows);
48 } else {
49 console.log('No table rows');
50 }
51
52 if (left > 0) {
53 // More to come
54 offset = parseInt(offset) + parseInt(opts.limit);
55 setTimeout(timer, 0);
56 } else {
57 // Finished
58 $('.conversion-done').show();
59
60 $('#progress').css('width', '100%');
61
62 $('#loading').hide();
63 running = false;
64 }
65
66 if( !running ) {
67 $(opts.start).val(original);
68
69 if( convert_error ) {
70 $('#export').show();
71 }
72 }
73 }
74 });
75 }
76 }
77
78 // Load values from args and merge with defaults
79 var opts = $.extend({
80 action: 'Action',
81 cancel: 'Cancel',
82 limit: 1, // limit jobs count, TODO: increase to 10
83 nonce: '',
84 }, args);
85
86 var offset = 0;
87 var running = false;
88 var convert_error = false; // track if some job failed
89 var wrapper = this;
90 var messages = $('#messages');
91 var original = $(opts.start).val();
92 var button;
93
94 $(opts.start).click(function() {
95 button = this;
96
97 if (running) {
98 // Cancel
99 running = false;
100 $(button).val('Stopping');
101 $('#loading').hide();
102 if( convert_error ) {
103 $('#export').show();
104 }
105 }
106 else {
107 $("#output").html('');
108
109 offset = 0;
110 running = true;
111
112 $(button).val(opts.cancel);
113
114 $('#export').hide();
115 $('#loading').show();
116 $(wrapper).fadeIn();
117 $('#progress').css('width', '0px');
118
119 // Now kick-start a timer to perform the progressor
120 setTimeout(timer, 0);
121 }
122
123 return false;
124 });
125 });
126 };
127 })(jQuery);
128
129 function showAlert() {
130 alert('There is an error')
131 }
132