diff --git a/CHANGELOG.md b/CHANGELOG.md index a0cf1c14c..04c2c5b33 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,8 @@ +##### [Version 3.7.5](https://github.com/Codeinwp/visualizer/compare/v3.7.4...v3.7.5) (2022-03-17) + +- Fix display long hAxis text issue +- Improve features discoverability. + ##### [Version 3.7.4](https://github.com/Codeinwp/visualizer/compare/v3.7.3...v3.7.4) (2022-02-07) - Fix multiple lazy load charts issue diff --git a/classes/Visualizer/Module/Admin.php b/classes/Visualizer/Module/Admin.php index 49a89bd76..1e9a9e7a1 100644 --- a/classes/Visualizer/Module/Admin.php +++ b/classes/Visualizer/Module/Admin.php @@ -686,11 +686,53 @@ public function registerAdminMenu() { 'viz-support', array( $this, 'renderSupportPage' ) ); + + if ( ! Visualizer_Module::is_pro() ) { + add_submenu_page( + Visualizer_Plugin::NAME, + __( 'Get Visualizer Pro', 'visualizer' ), + __( 'Get Visualizer Pro', 'visualizer' ), + 'edit_posts', + 'viz-get-pro', + '__return_null' + ); + add_action( 'admin_footer', array( $this, 'handleGetProSubMenu' ) ); + } remove_submenu_page( Visualizer_Plugin::NAME, Visualizer_Plugin::NAME ); add_action( "load-{$this->_libraryPage}", array( $this, 'addScreenOptions' ) ); } + /** + * Handle get pro plugin submenu. + */ + public function handleGetProSubMenu() { + ?> + + + custom_css; echo '
'; + echo ''; $this->getDisplayForm(); echo '
'; echo '
'; @@ -230,10 +231,13 @@ private function _renderLibrary() { echo '
'; $count = 0; foreach ( $this->charts as $placeholder_id => $chart ) { - $this->_renderChartBox( $placeholder_id, $chart['id'] ); // show the sidebar after the first 3 charts. - if ( $count++ === 2 ) { + $count++; + if ( 3 === $count ) { $this->_renderSidebar(); + $this->_renderChartBox( $placeholder_id, $chart['id'] ); + } else { + $this->_renderChartBox( $placeholder_id, $chart['id'] ); } } // show the sidebar if there are less than 3 charts. @@ -243,7 +247,7 @@ private function _renderLibrary() { echo '
'; } else { echo '
'; - echo '
'; + echo '
'; echo '
'; echo '
', esc_html__( 'No charts found', 'visualizer' ), '

', esc_html__( 'Add New', 'visualizer' ), '

'; echo '
'; @@ -254,7 +258,7 @@ private function _renderLibrary() { echo ''; echo ''; echo '
'; - echo '
'; + echo '
'; $this->_renderSidebar(); echo '
'; } @@ -325,7 +329,7 @@ private function _renderChartBox( $placeholder_id, $chart_id ) { $chart_status['title'] = __( 'Click to view the error', 'visualizer' ); } $shortcode = sprintf( '[visualizer id="%s" lazy="no" class=""]', $chart_id ); - echo '
', esc_html( $title ), '
'; + echo '
', esc_html( $title ), '
'; echo '
'; echo ''; echo '
'; @@ -341,36 +345,38 @@ private function _renderChartBox( $placeholder_id, $chart_id ) { echo ' '; echo '
(' . $chart_id . '): ' . $chart_status['date'] . '
'; echo '
'; - echo '
'; + echo '
'; } /** - * Render sidebar. + * Render 2-col sidebar */ private function _renderSidebar() { if ( ! Visualizer_Module::is_pro() ) { - echo '
'; + echo '
'; + echo '
'; + echo '
'; echo '
'; echo '

' . __( 'Discover the power of PRO!', 'visualizer' ) . '

    '; - echo '
  • ' . __( 'Spreadsheet like editor', 'visualizer' ) . '
  • '; - echo '
  • ' . __( 'Import from other charts', 'visualizer' ) . '
  • '; - echo '
  • ' . __( 'Use database query to create charts', 'visualizer' ) . '
  • '; - echo '
  • ' . __( 'Create charts from WordPress tables', 'visualizer' ) . '
  • '; - echo '
  • ' . __( 'Frontend editor', 'visualizer' ) . '
  • '; - echo '
  • ' . __( 'Private charts', 'visualizer' ) . '
  • '; - echo '
  • ' . __( 'Auto-sync with online files', 'visualizer' ) . '
  • '; if ( Visualizer_Module_Admin::proFeaturesLocked() ) { - echo '
  • ' . __( '6 more chart types', 'visualizer' ) . '
'; + echo '
  • ' . __( '6 more chart types', 'visualizer' ) . ''; } else { - echo '
  • ' . __( '11 more chart types', 'visualizer' ) . '
  • '; - echo '
  • ' . __( 'Manual Data Editor', 'visualizer' ) . '
  • '; - echo '
  • ' . __( 'ChartJS Charts', 'visualizer' ) . '
  • '; - echo '
  • ' . __( 'Table Google chart', 'visualizer' ) . '
  • '; - echo '
  • ' . __( 'Frontend Actions(Print Chart, Export to CSV, Export to Excel, Copy, Download Chart Image)', 'visualizer' ) . '
  • '; + echo '
  • ' . __( '11 more chart types', 'visualizer' ) . '
  • '; + echo '
  • ' . __( 'Manual Data Editor', 'visualizer' ) . '
  • '; + echo '
  • ' . __( 'ChartJS Charts', 'visualizer' ) . '
  • '; + echo '
  • ' . __( 'Table Google chart', 'visualizer' ) . '
  • '; + echo '
  • ' . __( 'Frontend Actions(Print, Export, Copy, Download)', 'visualizer' ) . '
  • '; } - echo '

    ' . __( 'View more features', 'visualizer' ) . '

    '; - echo '

    ' . __( 'We offer a 30-day no-questions-asked money back guarantee!', 'visualizer' ) . '

    '; - echo '

    ' . __( 'Don\'t see the features you need? Help us improve!', 'visualizer' ) . '

    '; + echo '
  • ' . __( 'Spreadsheet like editor', 'visualizer' ) . '
  • '; + echo '
  • ' . __( 'Import from other charts', 'visualizer' ) . '
  • '; + echo '
  • ' . __( 'Use database query to create charts', 'visualizer' ) . '
  • '; + echo '
  • ' . __( 'Create charts from WordPress tables', 'visualizer' ) . '
  • '; + echo '
  • ' . __( 'Frontend editor', 'visualizer' ) . '
  • '; + echo '
  • ' . __( 'Private charts', 'visualizer' ) . '
  • '; + echo '
  • ' . __( 'Auto-sync with online files', 'visualizer' ) . '
  • '; + echo '

    ' . __( 'View more features', 'visualizer' ) . '

    '; + echo '
    '; + echo '
    '; echo '
    '; echo '
    '; } diff --git a/classes/Visualizer/Render/Sidebar/Graph.php b/classes/Visualizer/Render/Sidebar/Graph.php index 8f56c59b4..45e92a3f7 100644 --- a/classes/Visualizer/Render/Sidebar/Graph.php +++ b/classes/Visualizer/Render/Sidebar/Graph.php @@ -149,6 +149,31 @@ protected function _renderHorizontalAxisGeneralSettings() { esc_html__( 'The title of the horizontal axis.', 'visualizer' ) ); + self::_renderSelectItem( + esc_html__( 'Slanted Text', 'visualizer' ), + 'hAxis[slantedText]', + isset( $this->hAxis['slantedText'] ) ? $this->hAxis['slantedText'] : false, + array( + false => 'False', + true => 'True', + ), + '', + false + ); + + self::_renderTextItem( + esc_html__( 'Slanted Text Angle', 'visualizer' ), + 'hAxis[slantedTextAngle]', + isset( $this->hAxis['slantedTextAngle'] ) ? $this->hAxis['slantedTextAngle'] : 45, + '', + 45, + 'number', + array( + 'min' => 1, + 'step' => 15, + ) + ); + self::_renderSelectItem( esc_html__( 'Text Position', 'visualizer' ), 'hAxis[textPosition]', diff --git a/css/library.css b/css/library.css index fdd2d0f14..34d68308a 100644 --- a/css/library.css +++ b/css/library.css @@ -1,3 +1,10 @@ + +*, +*::before, +*::after { + box-sizing: border-box; +} + #visualizer-icon { background-image: url("../images/icon.png"); } @@ -24,11 +31,19 @@ .visualizer-list-item .visualizer-pro-only { text-decoration: line-through; } - +#visualizer-content-wrapper { + padding: 0; +} #visualizer-library { - display: table-cell; width: auto; - margin: 20px 0; + margin: 20px -10px; + display: flex; + flex-wrap: wrap; +} + +#visualizer-library.visualizer-clearfix:before, +#visualizer-library.visualizer-clearfix:after { + display: none; } #visualizer-content-wrapper { @@ -42,11 +57,13 @@ margin-top: -16px; margin-left: -16px; } +#visualizer-library .items { + padding: 0 10px; + width: 33.3333%; +} .visualizer-chart { - display: none; - float: left; - margin: 0 24px 24px 0; + margin: 0 0px 24px 0; padding: 5px; border: 1px solid #ddd; background-color: #efefef; @@ -131,6 +148,7 @@ .visualizer-chart-footer { margin-top: 4px; + width: 100%; } .visualizer-chart-shortcode { @@ -163,36 +181,86 @@ text-align: right; } -#visualizer-sidebar { - clear: both; - margin: 20px 0px; - width: 96%; +.visualizer-sidebar-box { + display: block; + padding: 30px 34px; + background: white; } -.visualizer-sidebar-box ul li { - margin: 4px 0; - color: #23282d; - float: left; - width: 25%; +.visualizer-sidebar-box h3{ + padding: 0; + margin: 0 0 20px; + display: block; + width: 100%; + font-size: 24px; + font-weight: 600; + line-height: 1.3; } .visualizer-sidebar-box ul { - margin-left: 40px; - text-align: left; - list-style-type: disc; + padding: 0; + margin: 0; + list-style: none; + display: flex; + flex-wrap: wrap; } -.visualizer-sidebar-box { - display: block; - padding-top: 10px; - padding-bottom: 15px; - border-top: 5px solid #0073aa; - border-bottom: 5px solid #0073aa; - color: #0073aa; - background: white; - text-align: center; +.visualizer-sidebar-box ul li { + color: #000; + list-style: none; + padding: 0; + margin: 0; + font-size: 16px; + line-height: 1.8; + position: relative; + padding-left: 26px; +} + +.visualizer-sidebar-box ul li .icon{ + color: #00AA63; + width: 16px; + height: 16px; + margin-top: 3px; + position: absolute; + left: 0; + top: 3px; +} +.visualizer-sidebar-box .button { + width: 155px; + height: 39px; + background: #007CBA; + border-radius: 4px; + display: flex; + align-items: center; + text-align: center; + color: #FFFFFF; + justify-content: center; +} +.visualizer-sidebar-box .we-offer{ + background-color: transparent; + color: #007CBA; + font-weight: 400; + padding: 0px; + font-size: 14px; + font-style: italic; + margin-bottom: 0; +} +.visualizer-sidebar-box .help-us-improve{ + display: none; +} +.visualizer-chart.viz-pro { + padding: 0; +} +.two-col .viz-pro .two-columns{ + padding: 0; + border: 1px solid #DDDDDD; + border: 5px solid #007CBA; +} +#visualizer-library .items.two-col { + width: 66.6666%; } + /* The switch - the box around the slider */ .visualizer-switch { display: inline-block; @@ -286,13 +354,20 @@ input:checked + .visualizer-slider:before { margin-top: 0; } +#visualizer-sidebar.two-columns .visualizer-sidebar-box ul li { + width: calc(50% - 26px) +} +#visualizer-sidebar.one-columns .visualizer-sidebar-box ul li { + width: 100%; +} +#visualizer-sidebar.one-columns .visualizer-sidebar-box p { + margin-top: 8px; +} #visualizer-sidebar .visualizer-sidebar-box p { margin-bottom: 0; } - -#visualizer-sidebar .visualizer-sidebar-box { - padding-top: 20px; - padding-bottom: 20px; +#visualizer-sidebar.one-columns { + border-top: 5px solid #007CBA; } .visualizer-chart-title { @@ -349,3 +424,29 @@ div#visualizer-types ul, div#visualizer-types form p { color: red; cursor: pointer; } +@media (-webkit-min-device-pixel-ratio: 2) and (min-width: 1000px) and (max-width: 1600px) { + #visualizer-sidebar.one-columns .visualizer-sidebar-box ul li:nth-child(+n+7) { + display: none; + } +} +@media (max-width: 1500px) { + #visualizer-library .items .viz-pro{ + height: 100%; + padding-bottom: 24px; + } + #visualizer-library .items .viz-pro .one-columns{ + height: 100%; + } + #visualizer-library .items .viz-pro .visualizer-sidebar-box{ + height: 100%; + } + #visualizer-library .items .viz-pro.two-columns{ + padding-bottom: 0; + } + #visualizer-sidebar.one-columns .visualizer-sidebar-box ul li:nth-child(+n+7) { + display: none; + } + .visualizer-chart{ + height: calc(100% - 24px); + } +} diff --git a/css/media.css b/css/media.css index 7e3b1d873..3dc23cc27 100644 --- a/css/media.css +++ b/css/media.css @@ -1,5 +1,5 @@ /* - Version: 3.7.4 + Version: 3.7.5 */ #visualizer-library-view { padding: 30px 10px 10px 30px; diff --git a/index.php b/index.php index 5b3d0488b..7021d1919 100644 --- a/index.php +++ b/index.php @@ -3,7 +3,7 @@ Plugin Name: Visualizer: Tables and Charts for WordPress Plugin URI: https://themeisle.com/plugins/visualizer-charts-and-graphs-lite/ 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. - Version: 3.7.4 + Version: 3.7.5 Author: Themeisle Author URI: http://themeisle.com Requires at least: 3.5 diff --git a/js/library.js b/js/library.js index ffd76f422..503fbc110 100644 --- a/js/library.js +++ b/js/library.js @@ -43,7 +43,14 @@ width *= 0.305; $(this).prev( '.visualizer-chart-title' ).width(width - 14); - $(this).width(width - 14).height(width * 0.75).parent().css('margin-right', margin + 'px').css('margin-bottom', margin + 'px'); + var ChartHeight = width * 0.93; + if ( $( '.visualizer-nochart-canvas' ).length === 0 ) { + ChartHeight = width * 0.78; + if ( $( '#visualizer-sidebar' ).hasClass('one-columns') ) { + ChartHeight = width * 0.92; + } + } + $(this).width(width).height( ChartHeight ); }); }; diff --git a/package.json b/package.json index 73d6d92af..8ee4e476b 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "visualizer", - "version": "3.7.4", + "version": "3.7.5", "description": "Visualizer Lite", "repository": { "type": "git", diff --git a/readme.txt b/readme.txt index d5355e4ce..7a3b7f11a 100755 --- a/readme.txt +++ b/readme.txt @@ -163,6 +163,14 @@ Pay attention that to turn your shortcodes into graphs, your theme has to have ` == Changelog == +##### [Version 3.7.5](https://github.com/Codeinwp/visualizer/compare/v3.7.4...v3.7.5) (2022-03-17) + +- Fix display long hAxis text issue +- Improve features discoverability. + + + + ##### [Version 3.7.4](https://github.com/Codeinwp/visualizer/compare/v3.7.3...v3.7.4) (2022-02-07) - Fix multiple lazy load charts issue