PluginProbe
Visualizer – Tables & Charts Manager with Built-in AI Generator / 3.0.3
Visualizer – Tables & Charts Manager with Built-in AI Generator v3.0.3
4.0.8 4.0.7 4.0.6 4.0.5 4.0.4 4.0.3 3.0.5 3.0.6 3.0.7 3.0.8 3.0.9 3.1.0 3.1.1 3.1.2 3.1.3 3.10.0 3.10.1 3.10.10 3.10.11 3.10.12 3.10.13 3.10.14 3.10.15 3.10.2 3.10.3 All 149 releases
← All changes | js/frame.js +0 -147 3.1.13.0.3 View file →
@@ -1,44 +1,12 @@
1 1 /* global prompt */
2 2 /* global visualizer */
3 3 /* global alert */
4 -/* global ajaxurl */
5 -/* global CodeMirror */
6 4
7 5 (function ($) {
8 - $(window).load(function(){
9 - // scroll to the selected chart type.
10 - if($('label.type-label.type-label-selected').length > 0) {
11 - $('label.type-label.type-label-selected')[0].scrollIntoView();
12 - }
13 - });
14 -
15 6 $(document).ready(function () {
16 - // open the correct source tab.
17 - var source = $('#visualizer-chart-id').attr('data-chart-source');
18 - $('li.viz-group.' + source).addClass('open');
19 -
20 7 init_permissions();
21 8
22 - if(typeof visualizer !== 'undefined' && visualizer.is_pro) {
23 - init_db_import();
24 - }
25 -
26 - // update the manual configuation link to point to the correct chart type.
27 - var type = $('#visualizer-chart-id').attr('data-chart-type');
28 - var chart_type_in_api_link = type + 'chart';
29 - switch (type) {
30 - case "gauge":
31 - case "table":
32 - case "timeline":
33 - chart_type_in_api_link = type;
34 - break;
35 - }
36 -
37 - if($('span.viz-gvlink').length > 0) {
38 - $('span.viz-gvlink').html($('span.viz-gvlink').html().replace('?', chart_type_in_api_link));
39 - }
40 -
41 9 $('.type-radio').change(function () {
42 10 $('.type-label-selected').removeClass('type-label-selected');
43 11 $(this).parent().addClass('type-label-selected');
44 12 });
@@ -103,12 +71,8 @@
103 71 $(this).parent().find('.viz-section-description:first').toggle();
104 72 return false;
105 73 });
106 74
107 - $('#cancel-button').click(function () {
108 - $('#cancel-form').submit();
109 - });
110 -
111 75 });
112 76
113 77 function init_permissions(){
114 78 $('#vz-chart-permissions h2').click(function () {
@@ -184,119 +148,8 @@
184 148 }
185 149 });
186 150 });
187 151 }
188 -
189 - // https://codemirror.net/
190 - function init_db_import_component(){
191 - var table_columns = visualizer.db_query.tables;
192 - var code_mirror = wp.CodeMirror || CodeMirror;
193 - var cm = code_mirror.fromTextArea($('.visualizer-db-query').get(0), {
194 - value: $('.visualizer-db-query').val(),
195 - autofocus: true,
196 - mode: 'text/x-mysql',
197 - lineWrapping: true,
198 - dragDrop: false,
199 - matchBrackets: true,
200 - autoCloseBrackets: true,
201 - extraKeys: {"Ctrl-Space": "autocomplete"},
202 - hintOptions: { tables: table_columns }
203 - });
204 -
205 - // force refresh so that the query shows on first time load. Otherwise you have to click on the editor for it to show.
206 - $('body').on('visualizer:db:query:focus', function(event, data){
207 - cm.refresh();
208 - });
209 -
210 - cm.focus();
211 -
212 - // update text area.
213 - cm.on('inputRead', function(x, y){
214 - cm.save();
215 - });
216 -
217 - // backspace and delete do not register so the text box does not get empty if the entire query is deleted
218 - // from the editor. Let's force this.
219 - $('body').on('visualizer:db:query:update', function(event, data){
220 - cm.save();
221 - });
222 - }
223 -
224 - function init_db_import(){
225 - $( '#visualizer-db-query' ).css("z-index", "-1").hide();
226 -
227 - init_db_import_component();
228 -
229 - $('#visualizer-query-fetch').on('click', function(e){
230 -
231 - $('body').trigger('visualizer:db:query:update', {});
232 - if($('.visualizer-db-query').val() === ''){
233 - return;
234 - }
235 -
236 - start_ajax($('#visualizer-db-query'));
237 - $('.db-wizard-results').empty();
238 - $('.db-wizard-error').empty();
239 - $.ajax({
240 - url : ajaxurl,
241 - method : 'post',
242 - data : {
243 - 'action' : visualizer.ajax['actions']['db_get_data'],
244 - 'security' : visualizer.ajax['nonces']['db_get_data'],
245 - 'params' : $('#db-query-form').serialize()
246 - },
247 - success : function(data){
248 - if(data.success){
249 - $('.db-wizard-results').html(data.data.table);
250 - $('#results').DataTable({
251 - "paging": false
252 - });
253 - }else{
254 - $('.db-wizard-error').html(data.data.msg);
255 - }
256 - },
257 - complete: function(){
258 - end_ajax($('#visualizer-db-query'));
259 - }
260 - });
261 - });
262 -
263 - $( '#db-chart-button' ).on( 'click', function(){
264 - $('#content').css('width', 'calc(100% - 300px)');
265 - if( $(this).attr( 'data-current' ) === 'chart'){
266 - $(this).val( $(this).attr( 'data-t-filter' ) );
267 - $(this).html( $(this).attr( 'data-t-filter' ) );
268 - $(this).attr( 'data-current', 'filter' );
269 - $( '.visualizer-editor-lhs' ).hide();
270 - $( '#visualizer-db-query' ).css("z-index", "9999").show();
271 - $('body').trigger('visualizer:db:query:focus', {});
272 - $( '#canvas' ).hide();
273 - }else{
274 - var filter_button = $(this);
275 - $( '#visualizer-db-query' ).css("z-index", "-1").hide();
276 - $('#canvas').lock();
277 - filter_button.val( filter_button.attr( 'data-t-chart' ) );
278 - filter_button.html( filter_button.attr( 'data-t-chart' ) );
279 - filter_button.attr( 'data-current', 'chart' );
280 - $( '#canvas' ).css("z-index", "1").show();
281 - $( '#db-chart-save-button' ).trigger('click');
282 - }
283 - } );
284 -
285 - $( '#db-chart-save-button' ).on( 'click', function(){
286 - $('#viz-db-wizard-params').val($('#db-query-form').serialize());
287 - $('#vz-db-wizard').submit();
288 - });
289 - }
290 -
291 - function start_ajax(element){
292 - element.lock();
293 - }
294 -
295 - function end_ajax(element){
296 - element.unlock();
297 - }
298 -
299 152 })(jQuery);
300 153
301 154 (function ($) {
302 155 $.fn.lock = function () {