WordPress Charts and Graphs Lite - Version 3.7.5

Version Description

Download this release

Release Info

Developer themeisle
Plugin Icon WordPress Charts and Graphs Lite
Version 3.7.5
Comparing to
See all releases

Code changes from version 3.7.4 to 3.7.5

CHANGELOG.md CHANGED
@@ -1,3 +1,8 @@
 
 
 
 
 
1
  ##### [Version 3.7.4](https://github.com/Codeinwp/visualizer/compare/v3.7.3...v3.7.4) (2022-02-07)
2
 
3
  - Fix multiple lazy load charts issue
1
+ ##### [Version 3.7.5](https://github.com/Codeinwp/visualizer/compare/v3.7.4...v3.7.5) (2022-03-17)
2
+
3
+ - Fix display long hAxis text issue
4
+ - Improve features discoverability.
5
+
6
  ##### [Version 3.7.4](https://github.com/Codeinwp/visualizer/compare/v3.7.3...v3.7.4) (2022-02-07)
7
 
8
  - Fix multiple lazy load charts issue
classes/Visualizer/Module/Admin.php CHANGED
@@ -686,11 +686,53 @@ class Visualizer_Module_Admin extends Visualizer_Module {
686
  'viz-support',
687
  array( $this, 'renderSupportPage' )
688
  );
 
 
 
 
 
 
 
 
 
 
 
 
689
  remove_submenu_page( Visualizer_Plugin::NAME, Visualizer_Plugin::NAME );
690
 
691
  add_action( "load-{$this->_libraryPage}", array( $this, 'addScreenOptions' ) );
692
  }
693
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
694
  /**
695
  * Adds the screen options for pagination.
696
  */
686
  'viz-support',
687
  array( $this, 'renderSupportPage' )
688
  );
689
+
690
+ if ( ! Visualizer_Module::is_pro() ) {
691
+ add_submenu_page(
692
+ Visualizer_Plugin::NAME,
693
+ __( 'Get Visualizer Pro', 'visualizer' ),
694
+ __( 'Get Visualizer Pro', 'visualizer' ),
695
+ 'edit_posts',
696
+ 'viz-get-pro',
697
+ '__return_null'
698
+ );
699
+ add_action( 'admin_footer', array( $this, 'handleGetProSubMenu' ) );
700
+ }
701
  remove_submenu_page( Visualizer_Plugin::NAME, Visualizer_Plugin::NAME );
702
 
703
  add_action( "load-{$this->_libraryPage}", array( $this, 'addScreenOptions' ) );
704
  }
705
 
706
+ /**
707
+ * Handle get pro plugin submenu.
708
+ */
709
+ public function handleGetProSubMenu() {
710
+ ?>
711
+ <style type="text/css">
712
+ #toplevel_page_visualizer ul.wp-submenu li.wp-first-item + li + li + li {
713
+ background: #FF7E65;
714
+ font-size: 14px;
715
+ font-weight: 600;
716
+ color: #fff;
717
+ }
718
+ #toplevel_page_visualizer ul.wp-submenu li.wp-first-item + li + li + li > a {
719
+ color: #fff !important;
720
+ }
721
+ #toplevel_page_visualizer ul.wp-submenu li.wp-first-item + li + li + li > a:hover {
722
+ box-shadow: inherit;
723
+ }
724
+ </style>
725
+ <script type="text/javascript">
726
+ jQuery( document ).ready( function() {
727
+ jQuery( '#toplevel_page_visualizer' ).on( 'click', 'li:not(.wp-submenu-head, .wp-first-item):eq(2)', function( e ) {
728
+ e.preventDefault();
729
+ window.open( 'https://themeisle.com/plugins/visualizer-charts-and-graphs/upgrade/#pricing', '_blank' );
730
+ } );
731
+ } );
732
+ </script>
733
+ <?php
734
+ }
735
+
736
  /**
737
  * Adds the screen options for pagination.
738
  */
classes/Visualizer/Plugin.php CHANGED
@@ -28,7 +28,7 @@
28
  class Visualizer_Plugin {
29
 
30
  const NAME = 'visualizer';
31
- const VERSION = '3.7.4';
32
 
33
  // custom post types
34
  const CPT_VISUALIZER = 'visualizer';
28
  class Visualizer_Plugin {
29
 
30
  const NAME = 'visualizer';
31
+ const VERSION = '3.7.5';
32
 
33
  // custom post types
34
  const CPT_VISUALIZER = 'visualizer';
classes/Visualizer/Render/Library.php CHANGED
@@ -223,6 +223,7 @@ class Visualizer_Render_Library extends Visualizer_Render {
223
  // Added by Ash/Upwork
224
  echo $this->custom_css;
225
  echo '<div id="visualizer-types" class="visualizer-clearfix">';
 
226
  $this->getDisplayForm();
227
  echo '</div>';
228
  echo '<div id="visualizer-content-wrapper">';
@@ -230,10 +231,13 @@ class Visualizer_Render_Library extends Visualizer_Render {
230
  echo '<div id="visualizer-library" class="visualizer-clearfix">';
231
  $count = 0;
232
  foreach ( $this->charts as $placeholder_id => $chart ) {
233
- $this->_renderChartBox( $placeholder_id, $chart['id'] );
234
  // show the sidebar after the first 3 charts.
235
- if ( $count++ === 2 ) {
 
236
  $this->_renderSidebar();
 
 
 
237
  }
238
  }
239
  // show the sidebar if there are less than 3 charts.
@@ -243,7 +247,7 @@ class Visualizer_Render_Library extends Visualizer_Render {
243
  echo '</div>';
244
  } else {
245
  echo '<div id="visualizer-library" class="visualizer-clearfix">';
246
- echo '<div class="visualizer-chart">';
247
  echo '<div class="visualizer-chart-canvas visualizer-nochart-canvas">';
248
  echo '<div class="visualizer-notfound">', esc_html__( 'No charts found', 'visualizer' ), '<p><h2><a href="javascript:;" class="add-new-h2 add-new-chart">', esc_html__( 'Add New', 'visualizer' ), '</a></h2></p></div>';
249
  echo '</div>';
@@ -254,7 +258,7 @@ class Visualizer_Render_Library extends Visualizer_Render {
254
  echo '<span class="visualizer-chart-action visualizer-nochart-export"></span>';
255
  echo '<span class="visualizer-chart-action visualizer-nochart-shortcode"></span>';
256
  echo '</div>';
257
- echo '</div>';
258
  $this->_renderSidebar();
259
  echo '</div>';
260
  }
@@ -325,7 +329,7 @@ class Visualizer_Render_Library extends Visualizer_Render {
325
  $chart_status['title'] = __( 'Click to view the error', 'visualizer' );
326
  }
327
  $shortcode = sprintf( '[visualizer id="%s" lazy="no" class=""]', $chart_id );
328
- echo '<div class="visualizer-chart"><div class="visualizer-chart-title">', esc_html( $title ), '</div>';
329
  echo '<div id="', $placeholder_id, '" class="visualizer-chart-canvas">';
330
  echo '<img src="', VISUALIZER_ABSURL, 'images/ajax-loader.gif" class="loader">';
331
  echo '</div>';
@@ -341,36 +345,38 @@ class Visualizer_Render_Library extends Visualizer_Render {
341
  echo '<span>&nbsp;</span>';
342
  echo '<hr><div class="visualizer-chart-status"><span title="' . __( 'Chart ID', 'visualizer' ) . '">(' . $chart_id . '):</span> <span class="visualizer-date" title="' . __( 'Last Updated', 'visualizer' ) . '">' . $chart_status['date'] . '</span><span class="visualizer-error"><i class="dashicons ' . $chart_status['icon'] . '" data-viz-error="' . esc_attr( str_replace( '"', "'", $chart_status['error'] ) ) . '" title="' . esc_attr( $chart_status['title'] ) . '"></i></span></div>';
343
  echo '</div>';
344
- echo '</div>';
345
  }
346
 
347
  /**
348
- * Render sidebar.
349
  */
350
  private function _renderSidebar() {
351
  if ( ! Visualizer_Module::is_pro() ) {
352
- echo '<div id="visualizer-sidebar">';
 
 
353
  echo '<div class="visualizer-sidebar-box">';
354
  echo '<h3>' . __( 'Discover the power of PRO!', 'visualizer' ) . '</h3><ul>';
355
- echo '<li>' . __( 'Spreadsheet like editor', 'visualizer' ) . '</li>';
356
- echo '<li>' . __( 'Import from other charts', 'visualizer' ) . '</li>';
357
- echo '<li>' . __( 'Use database query to create charts', 'visualizer' ) . '</li>';
358
- echo '<li>' . __( 'Create charts from WordPress tables', 'visualizer' ) . '</li>';
359
- echo '<li>' . __( 'Frontend editor', 'visualizer' ) . '</li>';
360
- echo '<li>' . __( 'Private charts', 'visualizer' ) . '</li>';
361
- echo '<li>' . __( 'Auto-sync with online files', 'visualizer' ) . '</li>';
362
  if ( Visualizer_Module_Admin::proFeaturesLocked() ) {
363
- echo '<li>' . __( '6 more chart types', 'visualizer' ) . '</ul>';
364
  } else {
365
- echo '<li>' . __( '11 more chart types', 'visualizer' ) . '</li>';
366
- echo '<li>' . __( 'Manual Data Editor', 'visualizer' ) . '</li>';
367
- echo '<li>' . __( 'ChartJS Charts', 'visualizer' ) . '</li>';
368
- echo '<li>' . __( 'Table Google chart', 'visualizer' ) . '</li>';
369
- echo '<li>' . __( 'Frontend Actions(Print Chart, Export to CSV, Export to Excel, Copy, Download Chart Image)', 'visualizer' ) . '</li></ul>';
370
  }
371
- echo '<p><a href="' . Visualizer_Plugin::PRO_TEASER_URL . '" target="_blank" class="button button-primary">' . __( 'View more features', 'visualizer' ) . '</a></p>';
372
- echo '<p style="background-color: #0073aac7; color: #ffffff; padding: 2px; font-weight: bold;">' . __( 'We offer a 30-day no-questions-asked money back guarantee!', 'visualizer' ) . '</p>';
373
- echo '<p><a href="' . VISUALIZER_SURVEY . '" target="_blank" class="">' . __( 'Don\'t see the features you need? Help us improve!', 'visualizer' ) . '</a></p>';
 
 
 
 
 
 
 
374
  echo '</div>';
375
  echo '</div>';
376
  }
223
  // Added by Ash/Upwork
224
  echo $this->custom_css;
225
  echo '<div id="visualizer-types" class="visualizer-clearfix">';
226
+ echo '<svg xmlns="http://www.w3.org/2000/svg" style="display: none;"><symbol id="list-icon" fill="currentColor"><path d="M8 0C3.58 0 0 3.58 0 8C0 12.42 3.58 16 8 16C12.42 16 16 12.42 16 8C16 3.58 12.42 0 8 0ZM7.385 12.66H6.045L2.805 8.12L4.146 6.87L6.715 9.27L11.856 3.339L13.196 4.279L7.385 12.66Z"/></symbol></svg>';
227
  $this->getDisplayForm();
228
  echo '</div>';
229
  echo '<div id="visualizer-content-wrapper">';
231
  echo '<div id="visualizer-library" class="visualizer-clearfix">';
232
  $count = 0;
233
  foreach ( $this->charts as $placeholder_id => $chart ) {
 
234
  // show the sidebar after the first 3 charts.
235
+ $count++;
236
+ if ( 3 === $count ) {
237
  $this->_renderSidebar();
238
+ $this->_renderChartBox( $placeholder_id, $chart['id'] );
239
+ } else {
240
+ $this->_renderChartBox( $placeholder_id, $chart['id'] );
241
  }
242
  }
243
  // show the sidebar if there are less than 3 charts.
247
  echo '</div>';
248
  } else {
249
  echo '<div id="visualizer-library" class="visualizer-clearfix">';
250
+ echo '<div class="items"><div class="visualizer-chart">';
251
  echo '<div class="visualizer-chart-canvas visualizer-nochart-canvas">';
252
  echo '<div class="visualizer-notfound">', esc_html__( 'No charts found', 'visualizer' ), '<p><h2><a href="javascript:;" class="add-new-h2 add-new-chart">', esc_html__( 'Add New', 'visualizer' ), '</a></h2></p></div>';
253
  echo '</div>';
258
  echo '<span class="visualizer-chart-action visualizer-nochart-export"></span>';
259
  echo '<span class="visualizer-chart-action visualizer-nochart-shortcode"></span>';
260
  echo '</div>';
261
+ echo '</div></div>';
262
  $this->_renderSidebar();
263
  echo '</div>';
264
  }
329
  $chart_status['title'] = __( 'Click to view the error', 'visualizer' );
330
  }
331
  $shortcode = sprintf( '[visualizer id="%s" lazy="no" class=""]', $chart_id );
332
+ echo '<div class="items"><div class="visualizer-chart"><div class="visualizer-chart-title">', esc_html( $title ), '</div>';
333
  echo '<div id="', $placeholder_id, '" class="visualizer-chart-canvas">';
334
  echo '<img src="', VISUALIZER_ABSURL, 'images/ajax-loader.gif" class="loader">';
335
  echo '</div>';
345
  echo '<span>&nbsp;</span>';
346
  echo '<hr><div class="visualizer-chart-status"><span title="' . __( 'Chart ID', 'visualizer' ) . '">(' . $chart_id . '):</span> <span class="visualizer-date" title="' . __( 'Last Updated', 'visualizer' ) . '">' . $chart_status['date'] . '</span><span class="visualizer-error"><i class="dashicons ' . $chart_status['icon'] . '" data-viz-error="' . esc_attr( str_replace( '"', "'", $chart_status['error'] ) ) . '" title="' . esc_attr( $chart_status['title'] ) . '"></i></span></div>';
347
  echo '</div>';
348
+ echo '</div></div>';
349
  }
350
 
351
  /**
352
+ * Render 2-col sidebar
353
  */
354
  private function _renderSidebar() {
355
  if ( ! Visualizer_Module::is_pro() ) {
356
+ echo '<div class="items">';
357
+ echo '<div class="viz-pro">';
358
+ echo '<div id="visualizer-sidebar" class="one-columns">';
359
  echo '<div class="visualizer-sidebar-box">';
360
  echo '<h3>' . __( 'Discover the power of PRO!', 'visualizer' ) . '</h3><ul>';
 
 
 
 
 
 
 
361
  if ( Visualizer_Module_Admin::proFeaturesLocked() ) {
362
+ echo '<li><svg class="icon list-icon"><use xlink:href="#list-icon"></use></svg>' . __( '6 more chart types', 'visualizer' ) . '</ul>';
363
  } else {
364
+ echo '<li><svg class="icon list-icon"><use xlink:href="#list-icon"></use></svg>' . __( '11 more chart types', 'visualizer' ) . '</li>';
365
+ echo '<li><svg class="icon list-icon"><use xlink:href="#list-icon"></use></svg>' . __( 'Manual Data Editor', 'visualizer' ) . '</li>';
366
+ echo '<li><svg class="icon list-icon"><use xlink:href="#list-icon"></use></svg>' . __( 'ChartJS Charts', 'visualizer' ) . '</li>';
367
+ echo '<li><svg class="icon list-icon"><use xlink:href="#list-icon"></use></svg>' . __( 'Table Google chart', 'visualizer' ) . '</li>';
368
+ echo '<li><svg class="icon list-icon"><use xlink:href="#list-icon"></use></svg>' . __( 'Frontend Actions(Print, Export, Copy, Download)', 'visualizer' ) . '</li>';
369
  }
370
+ echo '<li><svg class="icon list-icon"><use xlink:href="#list-icon"></use></svg>' . __( 'Spreadsheet like editor', 'visualizer' ) . '</li>';
371
+ echo '<li><svg class="icon list-icon"><use xlink:href="#list-icon"></use></svg>' . __( 'Import from other charts', 'visualizer' ) . '</li>';
372
+ echo '<li><svg class="icon list-icon"><use xlink:href="#list-icon"></use></svg>' . __( 'Use database query to create charts', 'visualizer' ) . '</li>';
373
+ echo '<li><svg class="icon list-icon"><use xlink:href="#list-icon"></use></svg>' . __( 'Create charts from WordPress tables', 'visualizer' ) . '</li>';
374
+ echo '<li><svg class="icon list-icon"><use xlink:href="#list-icon"></use></svg>' . __( 'Frontend editor', 'visualizer' ) . '</li>';
375
+ echo '<li><svg class="icon list-icon"><use xlink:href="#list-icon"></use></svg>' . __( 'Private charts', 'visualizer' ) . '</li>';
376
+ echo '<li><svg class="icon list-icon"><use xlink:href="#list-icon"></use></svg>' . __( 'Auto-sync with online files', 'visualizer' ) . '</li></ul>';
377
+ echo '<p><a href="' . str_replace( '#pricing', '#features', Visualizer_Plugin::PRO_TEASER_URL ) . '" target="_blank" class="button button-primary">' . __( 'View more features', 'visualizer' ) . '</a></p>';
378
+ echo '</div>';
379
+ echo '</div>';
380
  echo '</div>';
381
  echo '</div>';
382
  }
classes/Visualizer/Render/Sidebar/Graph.php CHANGED
@@ -149,6 +149,31 @@ abstract class Visualizer_Render_Sidebar_Graph extends Visualizer_Render_Sidebar
149
  esc_html__( 'The title of the horizontal axis.', 'visualizer' )
150
  );
151
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
152
  self::_renderSelectItem(
153
  esc_html__( 'Text Position', 'visualizer' ),
154
  'hAxis[textPosition]',
149
  esc_html__( 'The title of the horizontal axis.', 'visualizer' )
150
  );
151
 
152
+ self::_renderSelectItem(
153
+ esc_html__( 'Slanted Text', 'visualizer' ),
154
+ 'hAxis[slantedText]',
155
+ isset( $this->hAxis['slantedText'] ) ? $this->hAxis['slantedText'] : false,
156
+ array(
157
+ false => 'False',
158
+ true => 'True',
159
+ ),
160
+ '',
161
+ false
162
+ );
163
+
164
+ self::_renderTextItem(
165
+ esc_html__( 'Slanted Text Angle', 'visualizer' ),
166
+ 'hAxis[slantedTextAngle]',
167
+ isset( $this->hAxis['slantedTextAngle'] ) ? $this->hAxis['slantedTextAngle'] : 45,
168
+ '',
169
+ 45,
170
+ 'number',
171
+ array(
172
+ 'min' => 1,
173
+ 'step' => 15,
174
+ )
175
+ );
176
+
177
  self::_renderSelectItem(
178
  esc_html__( 'Text Position', 'visualizer' ),
179
  'hAxis[textPosition]',
css/library.css CHANGED
@@ -1,3 +1,10 @@
 
 
 
 
 
 
 
1
  #visualizer-icon {
2
  background-image: url("../images/icon.png");
3
  }
@@ -24,11 +31,19 @@
24
  .visualizer-list-item .visualizer-pro-only {
25
  text-decoration: line-through;
26
  }
27
-
 
 
28
  #visualizer-library {
29
- display: table-cell;
30
  width: auto;
31
- margin: 20px 0;
 
 
 
 
 
 
 
32
  }
33
 
34
  #visualizer-content-wrapper {
@@ -42,11 +57,13 @@
42
  margin-top: -16px;
43
  margin-left: -16px;
44
  }
 
 
 
 
45
 
46
  .visualizer-chart {
47
- display: none;
48
- float: left;
49
- margin: 0 24px 24px 0;
50
  padding: 5px;
51
  border: 1px solid #ddd;
52
  background-color: #efefef;
@@ -131,6 +148,7 @@
131
 
132
  .visualizer-chart-footer {
133
  margin-top: 4px;
 
134
  }
135
 
136
  .visualizer-chart-shortcode {
@@ -163,36 +181,86 @@
163
  text-align: right;
164
  }
165
 
166
- #visualizer-sidebar {
167
- clear: both;
168
- margin: 20px 0px;
169
- width: 96%;
170
  }
171
 
172
- .visualizer-sidebar-box ul li {
173
- margin: 4px 0;
174
- color: #23282d;
175
- float: left;
176
- width: 25%;
 
 
 
177
  }
178
 
179
  .visualizer-sidebar-box ul {
180
- margin-left: 40px;
181
- text-align: left;
182
- list-style-type: disc;
 
 
183
  }
184
 
185
- .visualizer-sidebar-box {
186
- display: block;
187
- padding-top: 10px;
188
- padding-bottom: 15px;
189
- border-top: 5px solid #0073aa;
190
- border-bottom: 5px solid #0073aa;
191
- color: #0073aa;
192
- background: white;
193
- text-align: center;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
194
  }
195
 
 
196
  /* The switch - the box around the slider */
197
  .visualizer-switch {
198
  display: inline-block;
@@ -286,13 +354,20 @@ input:checked + .visualizer-slider:before {
286
  margin-top: 0;
287
  }
288
 
 
 
 
 
 
 
 
 
 
289
  #visualizer-sidebar .visualizer-sidebar-box p {
290
  margin-bottom: 0;
291
  }
292
-
293
- #visualizer-sidebar .visualizer-sidebar-box {
294
- padding-top: 20px;
295
- padding-bottom: 20px;
296
  }
297
 
298
  .visualizer-chart-title {
@@ -349,3 +424,29 @@ div#visualizer-types ul, div#visualizer-types form p {
349
  color: red;
350
  cursor: pointer;
351
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ *,
3
+ *::before,
4
+ *::after {
5
+ box-sizing: border-box;
6
+ }
7
+
8
  #visualizer-icon {
9
  background-image: url("../images/icon.png");
10
  }
31
  .visualizer-list-item .visualizer-pro-only {
32
  text-decoration: line-through;
33
  }
34
+ #visualizer-content-wrapper {
35
+ padding: 0;
36
+ }
37
  #visualizer-library {
 
38
  width: auto;
39
+ margin: 20px -10px;
40
+ display: flex;
41
+ flex-wrap: wrap;
42
+ }
43
+
44
+ #visualizer-library.visualizer-clearfix:before,
45
+ #visualizer-library.visualizer-clearfix:after {
46
+ display: none;
47
  }
48
 
49
  #visualizer-content-wrapper {
57
  margin-top: -16px;
58
  margin-left: -16px;
59
  }
60
+ #visualizer-library .items {
61
+ padding: 0 10px;
62
+ width: 33.3333%;
63
+ }
64
 
65
  .visualizer-chart {
66
+ margin: 0 0px 24px 0;
 
 
67
  padding: 5px;
68
  border: 1px solid #ddd;
69
  background-color: #efefef;
148
 
149
  .visualizer-chart-footer {
150
  margin-top: 4px;
151
+ width: 100%;
152
  }
153
 
154
  .visualizer-chart-shortcode {
181
  text-align: right;
182
  }
183
 
184
+ .visualizer-sidebar-box {
185
+ display: block;
186
+ padding: 30px 34px;
187
+ background: white;
188
  }
189
 
190
+ .visualizer-sidebar-box h3{
191
+ padding: 0;
192
+ margin: 0 0 20px;
193
+ display: block;
194
+ width: 100%;
195
+ font-size: 24px;
196
+ font-weight: 600;
197
+ line-height: 1.3;
198
  }
199
 
200
  .visualizer-sidebar-box ul {
201
+ padding: 0;
202
+ margin: 0;
203
+ list-style: none;
204
+ display: flex;
205
+ flex-wrap: wrap;
206
  }
207
 
208
+ .visualizer-sidebar-box ul li {
209
+ color: #000;
210
+ list-style: none;
211
+ padding: 0;
212
+ margin: 0;
213
+ font-size: 16px;
214
+ line-height: 1.8;
215
+ position: relative;
216
+ padding-left: 26px;
217
+ }
218
+
219
+ .visualizer-sidebar-box ul li .icon{
220
+ color: #00AA63;
221
+ width: 16px;
222
+ height: 16px;
223
+ margin-top: 3px;
224
+ position: absolute;
225
+ left: 0;
226
+ top: 3px;
227
+ }
228
+ .visualizer-sidebar-box .button {
229
+ width: 155px;
230
+ height: 39px;
231
+ background: #007CBA;
232
+ border-radius: 4px;
233
+ display: flex;
234
+ align-items: center;
235
+ text-align: center;
236
+ color: #FFFFFF;
237
+ justify-content: center;
238
+ }
239
+ .visualizer-sidebar-box .we-offer{
240
+ background-color: transparent;
241
+ color: #007CBA;
242
+ font-weight: 400;
243
+ padding: 0px;
244
+ font-size: 14px;
245
+ font-style: italic;
246
+ margin-bottom: 0;
247
+ }
248
+ .visualizer-sidebar-box .help-us-improve{
249
+ display: none;
250
+ }
251
+ .visualizer-chart.viz-pro {
252
+ padding: 0;
253
+ }
254
+ .two-col .viz-pro .two-columns{
255
+ padding: 0;
256
+ border: 1px solid #DDDDDD;
257
+ border: 5px solid #007CBA;
258
+ }
259
+ #visualizer-library .items.two-col {
260
+ width: 66.6666%;
261
  }
262
 
263
+
264
  /* The switch - the box around the slider */
265
  .visualizer-switch {
266
  display: inline-block;
354
  margin-top: 0;
355
  }
356
 
357
+ #visualizer-sidebar.two-columns .visualizer-sidebar-box ul li {
358
+ width: calc(50% - 26px)
359
+ }
360
+ #visualizer-sidebar.one-columns .visualizer-sidebar-box ul li {
361
+ width: 100%;
362
+ }
363
+ #visualizer-sidebar.one-columns .visualizer-sidebar-box p {
364
+ margin-top: 8px;
365
+ }
366
  #visualizer-sidebar .visualizer-sidebar-box p {
367
  margin-bottom: 0;
368
  }
369
+ #visualizer-sidebar.one-columns {
370
+ border-top: 5px solid #007CBA;
 
 
371
  }
372
 
373
  .visualizer-chart-title {
424
  color: red;
425
  cursor: pointer;
426
  }
427
+ @media (-webkit-min-device-pixel-ratio: 2) and (min-width: 1000px) and (max-width: 1600px) {
428
+ #visualizer-sidebar.one-columns .visualizer-sidebar-box ul li:nth-child(+n+7) {
429
+ display: none;
430
+ }
431
+ }
432
+ @media (max-width: 1500px) {
433
+ #visualizer-library .items .viz-pro{
434
+ height: 100%;
435
+ padding-bottom: 24px;
436
+ }
437
+ #visualizer-library .items .viz-pro .one-columns{
438
+ height: 100%;
439
+ }
440
+ #visualizer-library .items .viz-pro .visualizer-sidebar-box{
441
+ height: 100%;
442
+ }
443
+ #visualizer-library .items .viz-pro.two-columns{
444
+ padding-bottom: 0;
445
+ }
446
+ #visualizer-sidebar.one-columns .visualizer-sidebar-box ul li:nth-child(+n+7) {
447
+ display: none;
448
+ }
449
+ .visualizer-chart{
450
+ height: calc(100% - 24px);
451
+ }
452
+ }
css/media.css CHANGED
@@ -1,5 +1,5 @@
1
  /*
2
- Version: 3.7.4
3
  */
4
  #visualizer-library-view {
5
  padding: 30px 10px 10px 30px;
1
  /*
2
+ Version: 3.7.5
3
  */
4
  #visualizer-library-view {
5
  padding: 30px 10px 10px 30px;
index.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: Visualizer: Tables and Charts for WordPress
4
  Plugin URI: https://themeisle.com/plugins/visualizer-charts-and-graphs-lite/
5
  Description: A simple, easy to use and quite powerful tool to create, manage and embed interactive charts into your WordPress posts and pages. The plugin uses Google Visualization API to render charts, which supports cross-browser compatibility (adopting VML for older IE versions) and cross-platform portability to iOS and new Android releases.
6
- Version: 3.7.4
7
  Author: Themeisle
8
  Author URI: http://themeisle.com
9
  Requires at least: 3.5
3
  Plugin Name: Visualizer: Tables and Charts for WordPress
4
  Plugin URI: https://themeisle.com/plugins/visualizer-charts-and-graphs-lite/
5
  Description: A simple, easy to use and quite powerful tool to create, manage and embed interactive charts into your WordPress posts and pages. The plugin uses Google Visualization API to render charts, which supports cross-browser compatibility (adopting VML for older IE versions) and cross-platform portability to iOS and new Android releases.
6
+ Version: 3.7.5
7
  Author: Themeisle
8
  Author URI: http://themeisle.com
9
  Requires at least: 3.5
js/library.js CHANGED
@@ -43,7 +43,14 @@
43
 
44
  width *= 0.305;
45
  $(this).prev( '.visualizer-chart-title' ).width(width - 14);
46
- $(this).width(width - 14).height(width * 0.75).parent().css('margin-right', margin + 'px').css('margin-bottom', margin + 'px');
 
 
 
 
 
 
 
47
  });
48
  };
49
 
43
 
44
  width *= 0.305;
45
  $(this).prev( '.visualizer-chart-title' ).width(width - 14);
46
+ var ChartHeight = width * 0.93;
47
+ if ( $( '.visualizer-nochart-canvas' ).length === 0 ) {
48
+ ChartHeight = width * 0.78;
49
+ if ( $( '#visualizer-sidebar' ).hasClass('one-columns') ) {
50
+ ChartHeight = width * 0.92;
51
+ }
52
+ }
53
+ $(this).width(width).height( ChartHeight );
54
  });
55
  };
56
 
readme.txt CHANGED
@@ -163,6 +163,14 @@ Pay attention that to turn your shortcodes into graphs, your theme has to have `
163
 
164
  == Changelog ==
165
 
 
 
 
 
 
 
 
 
166
  ##### [Version 3.7.4](https://github.com/Codeinwp/visualizer/compare/v3.7.3...v3.7.4) (2022-02-07)
167
 
168
  - Fix multiple lazy load charts issue
163
 
164
  == Changelog ==
165
 
166
+ ##### [Version 3.7.5](https://github.com/Codeinwp/visualizer/compare/v3.7.4...v3.7.5) (2022-03-17)
167
+
168
+ - Fix display long hAxis text issue
169
+ - Improve features discoverability.
170
+
171
+
172
+
173
+
174
  ##### [Version 3.7.4](https://github.com/Codeinwp/visualizer/compare/v3.7.3...v3.7.4) (2022-02-07)
175
 
176
  - Fix multiple lazy load charts issue
vendor/autoload.php CHANGED
@@ -4,4 +4,4 @@
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
- return ComposerAutoloaderInit568905d56b9550ce6d51b8c60685e6f0::getLoader();
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
+ return ComposerAutoloaderInita4a92ebc82606a2a9d7efec6bacd0e94::getLoader();
vendor/composer/autoload_real.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
- class ComposerAutoloaderInit568905d56b9550ce6d51b8c60685e6f0
6
  {
7
  private static $loader;
8
 
@@ -24,15 +24,15 @@ class ComposerAutoloaderInit568905d56b9550ce6d51b8c60685e6f0
24
 
25
  require __DIR__ . '/platform_check.php';
26
 
27
- spl_autoload_register(array('ComposerAutoloaderInit568905d56b9550ce6d51b8c60685e6f0', 'loadClassLoader'), true, true);
28
  self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(\dirname(__FILE__)));
29
- spl_autoload_unregister(array('ComposerAutoloaderInit568905d56b9550ce6d51b8c60685e6f0', 'loadClassLoader'));
30
 
31
  $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
32
  if ($useStaticLoader) {
33
  require __DIR__ . '/autoload_static.php';
34
 
35
- call_user_func(\Composer\Autoload\ComposerStaticInit568905d56b9550ce6d51b8c60685e6f0::getInitializer($loader));
36
  } else {
37
  $map = require __DIR__ . '/autoload_namespaces.php';
38
  foreach ($map as $namespace => $path) {
@@ -53,12 +53,12 @@ class ComposerAutoloaderInit568905d56b9550ce6d51b8c60685e6f0
53
  $loader->register(true);
54
 
55
  if ($useStaticLoader) {
56
- $includeFiles = Composer\Autoload\ComposerStaticInit568905d56b9550ce6d51b8c60685e6f0::$files;
57
  } else {
58
  $includeFiles = require __DIR__ . '/autoload_files.php';
59
  }
60
  foreach ($includeFiles as $fileIdentifier => $file) {
61
- composerRequire568905d56b9550ce6d51b8c60685e6f0($fileIdentifier, $file);
62
  }
63
 
64
  return $loader;
@@ -70,7 +70,7 @@ class ComposerAutoloaderInit568905d56b9550ce6d51b8c60685e6f0
70
  * @param string $file
71
  * @return void
72
  */
73
- function composerRequire568905d56b9550ce6d51b8c60685e6f0($fileIdentifier, $file)
74
  {
75
  if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
76
  $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
+ class ComposerAutoloaderInita4a92ebc82606a2a9d7efec6bacd0e94
6
  {
7
  private static $loader;
8
 
24
 
25
  require __DIR__ . '/platform_check.php';
26
 
27
+ spl_autoload_register(array('ComposerAutoloaderInita4a92ebc82606a2a9d7efec6bacd0e94', 'loadClassLoader'), true, true);
28
  self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(\dirname(__FILE__)));
29
+ spl_autoload_unregister(array('ComposerAutoloaderInita4a92ebc82606a2a9d7efec6bacd0e94', 'loadClassLoader'));
30
 
31
  $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
32
  if ($useStaticLoader) {
33
  require __DIR__ . '/autoload_static.php';
34
 
35
+ call_user_func(\Composer\Autoload\ComposerStaticInita4a92ebc82606a2a9d7efec6bacd0e94::getInitializer($loader));
36
  } else {
37
  $map = require __DIR__ . '/autoload_namespaces.php';
38
  foreach ($map as $namespace => $path) {
53
  $loader->register(true);
54
 
55
  if ($useStaticLoader) {
56
+ $includeFiles = Composer\Autoload\ComposerStaticInita4a92ebc82606a2a9d7efec6bacd0e94::$files;
57
  } else {
58
  $includeFiles = require __DIR__ . '/autoload_files.php';
59
  }
60
  foreach ($includeFiles as $fileIdentifier => $file) {
61
+ composerRequirea4a92ebc82606a2a9d7efec6bacd0e94($fileIdentifier, $file);
62
  }
63
 
64
  return $loader;
70
  * @param string $file
71
  * @return void
72
  */
73
+ function composerRequirea4a92ebc82606a2a9d7efec6bacd0e94($fileIdentifier, $file)
74
  {
75
  if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
76
  $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
vendor/composer/autoload_static.php CHANGED
@@ -4,7 +4,7 @@
4
 
5
  namespace Composer\Autoload;
6
 
7
- class ComposerStaticInit568905d56b9550ce6d51b8c60685e6f0
8
  {
9
  public static $files = array (
10
  '3af723442581d6c310bf44543f9f5c60' => __DIR__ . '/..' . '/markbaker/matrix/classes/src/Functions/adjoint.php',
@@ -356,10 +356,10 @@ class ComposerStaticInit568905d56b9550ce6d51b8c60685e6f0
356
  public static function getInitializer(ClassLoader $loader)
357
  {
358
  return \Closure::bind(function () use ($loader) {
359
- $loader->prefixLengthsPsr4 = ComposerStaticInit568905d56b9550ce6d51b8c60685e6f0::$prefixLengthsPsr4;
360
- $loader->prefixDirsPsr4 = ComposerStaticInit568905d56b9550ce6d51b8c60685e6f0::$prefixDirsPsr4;
361
- $loader->prefixesPsr0 = ComposerStaticInit568905d56b9550ce6d51b8c60685e6f0::$prefixesPsr0;
362
- $loader->classMap = ComposerStaticInit568905d56b9550ce6d51b8c60685e6f0::$classMap;
363
 
364
  }, null, ClassLoader::class);
365
  }
4
 
5
  namespace Composer\Autoload;
6
 
7
+ class ComposerStaticInita4a92ebc82606a2a9d7efec6bacd0e94
8
  {
9
  public static $files = array (
10
  '3af723442581d6c310bf44543f9f5c60' => __DIR__ . '/..' . '/markbaker/matrix/classes/src/Functions/adjoint.php',
356
  public static function getInitializer(ClassLoader $loader)
357
  {
358
  return \Closure::bind(function () use ($loader) {
359
+ $loader->prefixLengthsPsr4 = ComposerStaticInita4a92ebc82606a2a9d7efec6bacd0e94::$prefixLengthsPsr4;
360
+ $loader->prefixDirsPsr4 = ComposerStaticInita4a92ebc82606a2a9d7efec6bacd0e94::$prefixDirsPsr4;
361
+ $loader->prefixesPsr0 = ComposerStaticInita4a92ebc82606a2a9d7efec6bacd0e94::$prefixesPsr0;
362
+ $loader->classMap = ComposerStaticInita4a92ebc82606a2a9d7efec6bacd0e94::$classMap;
363
 
364
  }, null, ClassLoader::class);
365
  }
vendor/composer/installed.php CHANGED
@@ -1,11 +1,11 @@
1
  <?php return array(
2
  'root' => array(
3
- 'pretty_version' => 'v3.7.4',
4
- 'version' => '3.7.4.0',
5
  'type' => 'wordpress-plugin',
6
  'install_path' => __DIR__ . '/../../',
7
  'aliases' => array(),
8
- 'reference' => 'c65a94bdf7828b45ac6f45c7bf5d0df57cbc3436',
9
  'name' => 'codeinwp/visualizer',
10
  'dev' => false,
11
  ),
@@ -20,12 +20,12 @@
20
  'dev_requirement' => false,
21
  ),
22
  'codeinwp/visualizer' => array(
23
- 'pretty_version' => 'v3.7.4',
24
- 'version' => '3.7.4.0',
25
  'type' => 'wordpress-plugin',
26
  'install_path' => __DIR__ . '/../../',
27
  'aliases' => array(),
28
- 'reference' => 'c65a94bdf7828b45ac6f45c7bf5d0df57cbc3436',
29
  'dev_requirement' => false,
30
  ),
31
  'markbaker/complex' => array(
1
  <?php return array(
2
  'root' => array(
3
+ 'pretty_version' => 'v3.7.5',
4
+ 'version' => '3.7.5.0',
5
  'type' => 'wordpress-plugin',
6
  'install_path' => __DIR__ . '/../../',
7
  'aliases' => array(),
8
+ 'reference' => 'fcdaba613d1df8d5b13544c9fbbfb3abe175bd8c',
9
  'name' => 'codeinwp/visualizer',
10
  'dev' => false,
11
  ),
20
  'dev_requirement' => false,
21
  ),
22
  'codeinwp/visualizer' => array(
23
+ 'pretty_version' => 'v3.7.5',
24
+ 'version' => '3.7.5.0',
25
  'type' => 'wordpress-plugin',
26
  'install_path' => __DIR__ . '/../../',
27
  'aliases' => array(),
28
+ 'reference' => 'fcdaba613d1df8d5b13544c9fbbfb3abe175bd8c',
29
  'dev_requirement' => false,
30
  ),
31
  'markbaker/complex' => array(