Skip to content

Commit 73ed563

Browse files
authored
release: fixes
- Fix display long hAxis text issue - Improve features discoverability.
2 parents c65a94b + f65fc35 commit 73ed563

File tree

5 files changed

+237
-56
lines changed

5 files changed

+237
-56
lines changed

classes/Visualizer/Module/Admin.php

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -686,11 +686,53 @@ public function registerAdminMenu() {
686686
'viz-support',
687687
array( $this, 'renderSupportPage' )
688688
);
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+
}
689701
remove_submenu_page( Visualizer_Plugin::NAME, Visualizer_Plugin::NAME );
690702

691703
add_action( "load-{$this->_libraryPage}", array( $this, 'addScreenOptions' ) );
692704
}
693705

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+
694736
/**
695737
* Adds the screen options for pagination.
696738
*/

classes/Visualizer/Render/Library.php

Lines changed: 30 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -223,17 +223,21 @@ private function _renderLibrary() {
223223
// Added by Ash/Upwork
224224
echo $this->custom_css;
225225
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>';
226227
$this->getDisplayForm();
227228
echo '</div>';
228229
echo '<div id="visualizer-content-wrapper">';
229230
if ( ! empty( $this->charts ) ) {
230231
echo '<div id="visualizer-library" class="visualizer-clearfix">';
231232
$count = 0;
232233
foreach ( $this->charts as $placeholder_id => $chart ) {
233-
$this->_renderChartBox( $placeholder_id, $chart['id'] );
234234
// show the sidebar after the first 3 charts.
235-
if ( $count++ === 2 ) {
235+
$count++;
236+
if ( 3 === $count ) {
236237
$this->_renderSidebar();
238+
$this->_renderChartBox( $placeholder_id, $chart['id'] );
239+
} else {
240+
$this->_renderChartBox( $placeholder_id, $chart['id'] );
237241
}
238242
}
239243
// show the sidebar if there are less than 3 charts.
@@ -243,7 +247,7 @@ private function _renderLibrary() {
243247
echo '</div>';
244248
} else {
245249
echo '<div id="visualizer-library" class="visualizer-clearfix">';
246-
echo '<div class="visualizer-chart">';
250+
echo '<div class="items"><div class="visualizer-chart">';
247251
echo '<div class="visualizer-chart-canvas visualizer-nochart-canvas">';
248252
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>';
249253
echo '</div>';
@@ -254,7 +258,7 @@ private function _renderLibrary() {
254258
echo '<span class="visualizer-chart-action visualizer-nochart-export"></span>';
255259
echo '<span class="visualizer-chart-action visualizer-nochart-shortcode"></span>';
256260
echo '</div>';
257-
echo '</div>';
261+
echo '</div></div>';
258262
$this->_renderSidebar();
259263
echo '</div>';
260264
}
@@ -325,7 +329,7 @@ private function _renderChartBox( $placeholder_id, $chart_id ) {
325329
$chart_status['title'] = __( 'Click to view the error', 'visualizer' );
326330
}
327331
$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>';
332+
echo '<div class="items"><div class="visualizer-chart"><div class="visualizer-chart-title">', esc_html( $title ), '</div>';
329333
echo '<div id="', $placeholder_id, '" class="visualizer-chart-canvas">';
330334
echo '<img src="', VISUALIZER_ABSURL, 'images/ajax-loader.gif" class="loader">';
331335
echo '</div>';
@@ -341,36 +345,38 @@ private function _renderChartBox( $placeholder_id, $chart_id ) {
341345
echo '<span>&nbsp;</span>';
342346
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>';
343347
echo '</div>';
344-
echo '</div>';
348+
echo '</div></div>';
345349
}
346350

347351
/**
348-
* Render sidebar.
352+
* Render 2-col sidebar
349353
*/
350354
private function _renderSidebar() {
351355
if ( ! Visualizer_Module::is_pro() ) {
352-
echo '<div id="visualizer-sidebar">';
356+
echo '<div class="items">';
357+
echo '<div class="viz-pro">';
358+
echo '<div id="visualizer-sidebar" class="one-columns">';
353359
echo '<div class="visualizer-sidebar-box">';
354360
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>';
362361
if ( Visualizer_Module_Admin::proFeaturesLocked() ) {
363-
echo '<li>' . __( '6 more chart types', 'visualizer' ) . '</ul>';
362+
echo '<li><svg class="icon list-icon"><use xlink:href="#list-icon"></use></svg>' . __( '6 more chart types', 'visualizer' ) . '</ul>';
364363
} 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>';
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>';
370369
}
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>';
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>';
374380
echo '</div>';
375381
echo '</div>';
376382
}

classes/Visualizer/Render/Sidebar/Graph.php

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,31 @@ protected function _renderHorizontalAxisGeneralSettings() {
149149
esc_html__( 'The title of the horizontal axis.', 'visualizer' )
150150
);
151151

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+
152177
self::_renderSelectItem(
153178
esc_html__( 'Text Position', 'visualizer' ),
154179
'hAxis[textPosition]',

0 commit comments

Comments
 (0)