wpDataTables Lite - Version 2.1.32

Version Description

  • BugFix: Fixed issue with showing tables insert from Divi integration.
  • Compatibility with WordPress 6.0 approved. Other small bug fixes and stability improvements.
Download this release

Release Info

Developer wpDataTables
Plugin Icon 128x128 wpDataTables Lite
Version 2.1.32
Comparing to
See all releases

Code changes from version 2.1.31 to 2.1.32

config/config.inc.php CHANGED
@@ -9,7 +9,7 @@ defined('ABSPATH') or die("Cannot access pages directly.");
9
 
10
  // Current version
11
 
12
- define('WDT_CURRENT_VERSION', '2.1.31');
13
 
14
  /**
15
  * Regular Expressions
9
 
10
  // Current version
11
 
12
+ define('WDT_CURRENT_VERSION', '2.1.32');
13
 
14
  /**
15
  * Regular Expressions
integrations/page_builders/divi-wpdt/includes/modules/WpDataChart/WpDataChart.jsx CHANGED
@@ -23,6 +23,11 @@ class WpDataChart extends Component {
23
  let chartId = this.props.id;
24
  let chartsCount = parseInt(this.props.chart_array_length);
25
 
 
 
 
 
 
26
  if (chartsCount === 1) {
27
  return "Please create a wpDataChart first. You can check out how on this <a target='_blank' href='https://wpdatatables.com/documentation/wpdatacharts/creating-charts-wordpress-wpdatachart-wizard/'>link</a>.";
28
  }
@@ -67,4 +72,9 @@ class WpDataChart extends Component {
67
 
68
  }
69
 
 
 
 
 
 
70
  export default WpDataChart;
23
  let chartId = this.props.id;
24
  let chartsCount = parseInt(this.props.chart_array_length);
25
 
26
+ if (!isNumeric(chartId)) {
27
+ chartId = chartId.substring(chartId.lastIndexOf('(id: ') + 4);
28
+ chartId = chartId.substring(0, chartId.lastIndexOf(')'));
29
+ }
30
+
31
  if (chartsCount === 1) {
32
  return "Please create a wpDataChart first. You can check out how on this <a target='_blank' href='https://wpdatatables.com/documentation/wpdatacharts/creating-charts-wordpress-wpdatachart-wizard/'>link</a>.";
33
  }
72
 
73
  }
74
 
75
+ function isNumeric(str) {
76
+ if (typeof str != "string") return false
77
+ return !isNaN(str) && !isNaN(parseFloat(str))
78
+ }
79
+
80
  export default WpDataChart;
integrations/page_builders/divi-wpdt/includes/modules/WpDataChart/WpDataChart.php CHANGED
@@ -76,6 +76,13 @@ class DIVI_wpDataChart extends ET_Builder_Module
76
  $shortcode = '[wpdatachart ';
77
  $chartId = $this->props['id'];
78
 
 
 
 
 
 
 
 
79
  if(count($this->getAllCharts()) == 1) {
80
  return __(WDTConfigController::wdt_create_chart_notice());
81
  }
76
  $shortcode = '[wpdatachart ';
77
  $chartId = $this->props['id'];
78
 
79
+ //Fix for Divi not recognizing chart ID as an int when only one chart is created
80
+ if (!is_numeric($chartId)) {
81
+ $chartId = substr($chartId, strrpos($chartId, "(id:") + 4);
82
+ $chartId = substr($chartId, 0,strrpos($chartId, ')') );
83
+ $chartId = (int)$chartId;
84
+ }
85
+
86
  if(count($this->getAllCharts()) == 1) {
87
  return __(WDTConfigController::wdt_create_chart_notice());
88
  }
integrations/page_builders/divi-wpdt/includes/modules/WpDataTable/WpDataTable.jsx CHANGED
@@ -14,7 +14,7 @@ class WpDataTable extends Component {
14
  constructor(props) {
15
  super(props);
16
  this.state = {
17
- shortcode: this.shortcode
18
  };
19
  }
20
 
@@ -28,6 +28,11 @@ class WpDataTable extends Component {
28
  return "Please create a wpDataTable first. You can find detailed instructions in our docs on this <a target='_blank' href='https://wpdatatables.com/documentation/general/features-overview/'>link</a>.";
29
  }
30
 
 
 
 
 
 
31
  if (!parseInt(tableId)) {
32
  return 'Please select a wpDataTable.';
33
  }
@@ -72,5 +77,9 @@ class WpDataTable extends Component {
72
  }
73
 
74
  }
 
 
 
 
75
 
76
  export default WpDataTable;
14
  constructor(props) {
15
  super(props);
16
  this.state = {
17
+ shortcode: this.shortcode
18
  };
19
  }
20
 
28
  return "Please create a wpDataTable first. You can find detailed instructions in our docs on this <a target='_blank' href='https://wpdatatables.com/documentation/general/features-overview/'>link</a>.";
29
  }
30
 
31
+ if (!isNumeric(tableId)) {
32
+ tableId = tableId.substring(tableId.lastIndexOf('(id: ') + 4);
33
+ tableId = tableId.substring(0, tableId.lastIndexOf(')'));
34
+ }
35
+
36
  if (!parseInt(tableId)) {
37
  return 'Please select a wpDataTable.';
38
  }
77
  }
78
 
79
  }
80
+ function isNumeric(str) {
81
+ if (typeof str != "string") return false
82
+ return !isNaN(str) && !isNaN(parseFloat(str))
83
+ }
84
 
85
  export default WpDataTable;
integrations/page_builders/divi-wpdt/includes/modules/WpDataTable/WpDataTable.php CHANGED
@@ -69,7 +69,7 @@ class DIVI_wpDataTable extends ET_Builder_Module
69
  'default_on_front' => count($this->getAllTables()),
70
  'show_if' => array(
71
  'id' => -1
72
- )
73
  )
74
  );
75
  }
@@ -80,6 +80,13 @@ class DIVI_wpDataTable extends ET_Builder_Module
80
  $tableId = $this->props['id'];
81
  $export_file_name = $this->props['export_file_name'];
82
 
 
 
 
 
 
 
 
83
  if (count($this->getAllTables()) == 1) {
84
  return __(WDTConfigController::wdt_create_table_notice());
85
  }
69
  'default_on_front' => count($this->getAllTables()),
70
  'show_if' => array(
71
  'id' => -1
72
+ )
73
  )
74
  );
75
  }
80
  $tableId = $this->props['id'];
81
  $export_file_name = $this->props['export_file_name'];
82
 
83
+ //Fix for Divi not recognizing table ID as an int when only one table is created
84
+ if (!is_numeric($tableId)) {
85
+ $tableId = substr($tableId, strrpos($tableId, "(id:") + 4);
86
+ $tableId = substr($tableId, 0,strrpos($tableId, ')') );
87
+ $tableId = (int)$tableId;
88
+ }
89
+
90
  if (count($this->getAllTables()) == 1) {
91
  return __(WDTConfigController::wdt_create_table_notice());
92
  }
integrations/page_builders/divi-wpdt/scripts/builder-bundle.min.js CHANGED
@@ -1 +1 @@
1
- !function(e){var t={};function o(n){if(t[n])return t[n].exports;var r=t[n]={i:n,l:!1,exports:{}};return e[n].call(r.exports,r,r.exports,o),r.l=!0,r.exports}o.m=e,o.c=t,o.d=function(e,t,n){o.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="/",o(o.s=4)}([function(e,t){e.exports=React},function(e,t){},function(e,t){},function(e,t){},function(e,t,o){o(5),e.exports=o(6)},function(e,t,o){"use strict"},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=o(7),r=o.n(n),a=o(8),i=o(11);r()(window).on("et_builder_api_ready",function(e,t){t.registerModules(a.a),t.registerModalFields(i.a)})},function(e,t){e.exports=jQuery},function(e,t,o){"use strict";var n=o(9),r=o(10);t.a=[n.a,r.a]},function(e,t,o){"use strict";var n=o(0),r=o.n(n),a=o(1);o.n(a);function i(e){return(i="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function u(e,t){for(var o=0;o<t.length;o++){var n=t[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function c(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}var s=function(e){function t(e){var o,n,r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),n=this,o=!(r=(t.__proto__||Object.getPrototypeOf(t)).call(this,e))||"object"!==i(r)&&"function"!==typeof r?c(n):r,Object.defineProperty(c(o),"mounted",{configurable:!0,enumerable:!0,writable:!0,value:!1}),Object.defineProperty(c(o),"shortcode",{configurable:!0,enumerable:!0,writable:!0,value:"[wpdatatable]"}),o.state={shortcode:o.shortcode},o}var o,a,s;return function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,n["Component"]),o=t,(a=[{key:"createShortCode",value:function(){var e="[wpdatatable",t=this.props.id,o=this.props.export_file_name;return 1===parseInt(this.props.table_array_length)?"Please create a wpDataTable first. You can find detailed instructions in our docs on this <a target='_blank' href='https://wpdatatables.com/documentation/general/features-overview/'>link</a>.":parseInt(t)?(e+=" id="+t,o&&(e+=" export_file_name="+o),e+="]"):"Please select a wpDataTable."}},{key:"componentDidMount",value:function(){this.mounted=!0,this.mounted&&(this.shortcode=this.createShortCode(),this.setState({shortcode:this.shortcode}))}},{key:"componentDidUpdate",value:function(e,t,o){this.mounted&&(this.shortcode=this.createShortCode(),t.shortcode!==this.shortcode&&this.setState({shortcode:this.shortcode}))}},{key:"componentWillUnmount",value:function(){this.mounted=!1}},{key:"render",value:function(){return r.a.createElement("div",{dangerouslySetInnerHTML:{__html:this.shortcode}})}}])&&u(o.prototype,a),s&&u(o,s),t}();Object.defineProperty(s,"slug",{configurable:!0,enumerable:!0,writable:!0,value:"DIVI_wpDataTable"}),t.a=s},function(e,t,o){"use strict";var n=o(0),r=o.n(n),a=o(2);o.n(a);function i(e){return(i="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function u(e,t){for(var o=0;o<t.length;o++){var n=t[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function c(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}var s=function(e){function t(e){var o,n,r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),n=this,o=!(r=(t.__proto__||Object.getPrototypeOf(t)).call(this,e))||"object"!==i(r)&&"function"!==typeof r?c(n):r,Object.defineProperty(c(o),"mounted",{configurable:!0,enumerable:!0,writable:!0,value:!1}),Object.defineProperty(c(o),"shortcode",{configurable:!0,enumerable:!0,writable:!0,value:"[wpdatachart]"}),o.state={shortcode:o.shortcode},o}var o,a,s;return function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,n["Component"]),o=t,(a=[{key:"createShortCode",value:function(){var e="[wpdatachart",t=this.props.id;return 1===parseInt(this.props.chart_array_length)?"Please create a wpDataChart first. You can check out how on this <a target='_blank' href='https://wpdatatables.com/documentation/wpdatacharts/creating-charts-wordpress-wpdatachart-wizard/'>link</a>.":parseInt(t)?(e+=" id="+t,e+="]"):"Please select a wpDataChart."}},{key:"componentDidMount",value:function(){this.mounted=!0,this.mounted&&(this.shortcode=this.createShortCode(),this.setState({shortcode:this.shortcode}))}},{key:"componentDidUpdate",value:function(e,t,o){this.mounted&&(this.shortcode=this.createShortCode(),t.shortcode!==this.shortcode&&this.setState({shortcode:this.shortcode}))}},{key:"componentWillUnmount",value:function(){this.mounted=!1}},{key:"render",value:function(){return r.a.createElement("div",{dangerouslySetInnerHTML:{__html:this.shortcode}})}}])&&u(o.prototype,a),s&&u(o,s),t}();Object.defineProperty(s,"slug",{configurable:!0,enumerable:!0,writable:!0,value:"DIVI_wpDataChart"}),t.a=s},function(e,t,o){"use strict";var n=o(12);t.a=[n.a]},function(e,t,o){"use strict";var n=o(0),r=o.n(n),a=o(3);o.n(a);function i(e){return(i="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function u(e,t){for(var o=0;o<t.length;o++){var n=t[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function c(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}var s=function(e){function t(e){var o,n,r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),n=this,r=(t.__proto__||Object.getPrototypeOf(t)).call(this,e),o=!r||"object"!==i(r)&&"function"!==typeof r?c(n):r,Object.defineProperty(c(o),"mount",{configurable:!0,enumerable:!0,writable:!0,value:!1}),Object.defineProperty(c(o),"_onChange",{configurable:!0,enumerable:!0,writable:!0,value:function(e){o.props._onChange(o.props.name,e.target.value)}}),o.mount&&(o.state={}),o}var o,a,s;return function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,n["Component"]),o=t,(a=[{key:"componentDidMount",value:function(){this.mount=!0,this.props.name}},{key:"componentWillUnmount",value:function(){this.mount=!1}},{key:"render",value:function(){return r.a.createElement("div",null)}}])&&u(o.prototype,a),s&&u(o,s),t}();Object.defineProperty(s,"slug",{configurable:!0,enumerable:!0,writable:!0,value:"divi_input"}),t.a=s}]);
1
+ !function(e){var t={};function o(r){if(t[r])return t[r].exports;var n=t[r]={i:r,l:!1,exports:{}};return e[r].call(n.exports,n,n.exports,o),n.l=!0,n.exports}o.m=e,o.c=t,o.d=function(e,t,r){o.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:r})},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="/",o(o.s=4)}([function(e,t){e.exports=React},function(e,t){},function(e,t){},function(e,t){},function(e,t,o){o(5),e.exports=o(6)},function(e,t,o){"use strict"},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=o(7),n=o.n(r),a=o(8),i=o(11);n()(window).on("et_builder_api_ready",function(e,t){t.registerModules(a.a),t.registerModalFields(i.a)})},function(e,t){e.exports=jQuery},function(e,t,o){"use strict";var r=o(9),n=o(10);t.a=[r.a,n.a]},function(e,t,o){"use strict";var r=o(0),n=o.n(r),a=o(1);o.n(a);function i(e){return(i="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function u(e,t){for(var o=0;o<t.length;o++){var r=t[o];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function s(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}var c=function(e){function t(e){var o,r,n;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),r=this,o=!(n=(t.__proto__||Object.getPrototypeOf(t)).call(this,e))||"object"!==i(n)&&"function"!==typeof n?s(r):n,Object.defineProperty(s(o),"mounted",{configurable:!0,enumerable:!0,writable:!0,value:!1}),Object.defineProperty(s(o),"shortcode",{configurable:!0,enumerable:!0,writable:!0,value:"[wpdatatable]"}),o.state={shortcode:o.shortcode},o}var o,a,c;return function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,r["Component"]),o=t,(a=[{key:"createShortCode",value:function(){var e,t="[wpdatatable",o=this.props.id,r=this.props.view,n=this.props.var1,a=this.props.var2,i=this.props.var3,u=this.props.var4,s=this.props.var5,c=this.props.var6,l=this.props.var7,p=this.props.var8,f=this.props.var9,h=this.props.export_file_name;return 1===parseInt(this.props.table_array_length)?"Please create a wpDataTable first. You can find detailed instructions in our docs on this <a target='_blank' href='https://wpdatatables.com/documentation/general/features-overview/'>link</a>.":(("string"!=typeof(e=o)||isNaN(e)||isNaN(parseFloat(e)))&&(o=(o=o.substring(o.lastIndexOf("(id: ")+4)).substring(0,o.lastIndexOf(")"))),parseInt(o)?(t+=" id="+o,r&&(t+="excel-like"===r?" table_view=excel":" table_view=regular"),n&&(t+=" var1="+n),a&&(t+=" var2="+a),i&&(t+=" var3="+i),u&&(t+=" var4="+u),s&&(t+=" var5="+s),c&&(t+=" var6="+c),l&&(t+=" var7="+l),p&&(t+=" var8="+p),f&&(t+=" var9="+f),h&&(t+=" export_file_name="+h),t+="]"):"Please select a wpDataTable.")}},{key:"componentDidMount",value:function(){this.mounted=!0,this.mounted&&(this.shortcode=this.createShortCode(),this.setState({shortcode:this.shortcode}))}},{key:"componentDidUpdate",value:function(e,t,o){this.mounted&&(this.shortcode=this.createShortCode(),t.shortcode!==this.shortcode&&this.setState({shortcode:this.shortcode}))}},{key:"componentWillUnmount",value:function(){this.mounted=!1}},{key:"render",value:function(){return n.a.createElement("div",{dangerouslySetInnerHTML:{__html:this.shortcode}})}}])&&u(o.prototype,a),c&&u(o,c),t}();Object.defineProperty(c,"slug",{configurable:!0,enumerable:!0,writable:!0,value:"DIVI_wpDataTable"}),t.a=c},function(e,t,o){"use strict";var r=o(0),n=o.n(r),a=o(2);o.n(a);function i(e){return(i="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function u(e,t){for(var o=0;o<t.length;o++){var r=t[o];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function s(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}var c=function(e){function t(e){var o,r,n;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),r=this,o=!(n=(t.__proto__||Object.getPrototypeOf(t)).call(this,e))||"object"!==i(n)&&"function"!==typeof n?s(r):n,Object.defineProperty(s(o),"mounted",{configurable:!0,enumerable:!0,writable:!0,value:!1}),Object.defineProperty(s(o),"shortcode",{configurable:!0,enumerable:!0,writable:!0,value:"[wpdatachart]"}),o.state={shortcode:o.shortcode},o}var o,a,c;return function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,r["Component"]),o=t,(a=[{key:"createShortCode",value:function(){var e,t="[wpdatachart",o=this.props.id,r=parseInt(this.props.chart_array_length);return("string"!=typeof(e=o)||isNaN(e)||isNaN(parseFloat(e)))&&(o=(o=o.substring(o.lastIndexOf("(id: ")+4)).substring(0,o.lastIndexOf(")"))),1===r?"Please create a wpDataChart first. You can check out how on this <a target='_blank' href='https://wpdatatables.com/documentation/wpdatacharts/creating-charts-wordpress-wpdatachart-wizard/'>link</a>.":parseInt(o)?(t+=" id="+o,t+="]"):"Please select a wpDataChart."}},{key:"componentDidMount",value:function(){this.mounted=!0,this.mounted&&(this.shortcode=this.createShortCode(),this.setState({shortcode:this.shortcode}))}},{key:"componentDidUpdate",value:function(e,t,o){this.mounted&&(this.shortcode=this.createShortCode(),t.shortcode!==this.shortcode&&this.setState({shortcode:this.shortcode}))}},{key:"componentWillUnmount",value:function(){this.mounted=!1}},{key:"render",value:function(){return n.a.createElement("div",{dangerouslySetInnerHTML:{__html:this.shortcode}})}}])&&u(o.prototype,a),c&&u(o,c),t}();Object.defineProperty(c,"slug",{configurable:!0,enumerable:!0,writable:!0,value:"DIVI_wpDataChart"}),t.a=c},function(e,t,o){"use strict";var r=o(12);t.a=[r.a]},function(e,t,o){"use strict";var r=o(0),n=o.n(r),a=o(3);o.n(a);function i(e){return(i="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function u(e,t){for(var o=0;o<t.length;o++){var r=t[o];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function s(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}var c=function(e){function t(e){var o,r,n;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),r=this,n=(t.__proto__||Object.getPrototypeOf(t)).call(this,e),o=!n||"object"!==i(n)&&"function"!==typeof n?s(r):n,Object.defineProperty(s(o),"mount",{configurable:!0,enumerable:!0,writable:!0,value:!1}),Object.defineProperty(s(o),"_onChange",{configurable:!0,enumerable:!0,writable:!0,value:function(e){o.props._onChange(o.props.name,e.target.value)}}),o.mount&&(o.state={}),o}var o,a,c;return function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,r["Component"]),o=t,(a=[{key:"componentDidMount",value:function(){this.mount=!0,this.props.name}},{key:"componentWillUnmount",value:function(){this.mount=!1}},{key:"render",value:function(){return n.a.createElement("div",null)}}])&&u(o.prototype,a),c&&u(o,c),t}();Object.defineProperty(c,"slug",{configurable:!0,enumerable:!0,writable:!0,value:"divi_input"}),t.a=c}]);
integrations/page_builders/elementor/widgets/class.wpDataChartsElementorWidget.php CHANGED
@@ -40,7 +40,7 @@ class WPDataCharts_Elementor_Widget extends Widget_Base {
40
  $this->_allCharts = $allCharts;
41
  }
42
 
43
- protected function _register_controls() {
44
 
45
  $this->start_controls_section(
46
  'wpdatacharts_section',
40
  $this->_allCharts = $allCharts;
41
  }
42
 
43
+ protected function register_controls() {
44
 
45
  $this->start_controls_section(
46
  'wpdatacharts_section',
readme.txt CHANGED
@@ -1,22 +1,26 @@
1
- === wpDataTables - Tables & Table Charts ===
2
  Contributors: wpDataTables
3
  Author URI: https://tms-outsource.com
4
  Plugin URI: https://wpdatatables.com/
5
- Tags: table, table builder, data tables, tables, charts, datatables, simple table, tables from csv, tables from excel, responsive tables, charting, pie charts, mysql tables, table plugin, wp table, WordPress table Plugin, Google Charts, Chartjs, Excel, JSON, XML, PHP array, line chart, donut, bar chart, histogram, area chart, bubble chart, gauge chart, scatter chart, candlestick, waterfall, polar, radar
6
  Requires at least: 4.0
7
- Tested up to: 5.9.3
8
  Requires PHP: 5.6
9
- Stable tag: 2.1.31
10
  License: GPLv2 or later
11
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
12
 
13
- Create responsive, sortable tables & charts from Excel (.xlsx, .xls or .ods), CSV, JSON & PHP. Add tables & charts to posts in minutes with DataTables. Best WP table plugin.
14
 
15
  == Description ==
16
 
17
- wpDataTables is a popular WordPress table plugin used to **quickly create tables & table charts** from Excel, CSV, JSON, PHP and other data sources. Use our WP table plugin to represent vast amounts of complicated data in concise, user-friendly way using tables or charts.
18
 
19
- **NEW!** New table builder is introduced in wpDataTables [creating simple tables from scratch](https://wpdatatables.com/documentation/creating-new-wpdatatables-with-table-constructor/creating-a-simple-table-with-wpdatatables/). These tables can be anything but simple, though, as you can now merge cells, style each cell differently, add star ratings to cells, and so much more.
 
 
 
 
20
 
21
  Here is the list of the new functionality in those simple tables:
22
 
@@ -31,18 +35,32 @@ Here is the list of the new functionality in those simple tables:
31
  * Add star rating
32
  * Custom links
33
  * Add media
34
- * Custom HTML
35
  * Shortcode in cells
36
  * NEW Border options
37
 
38
  [youtube https://www.youtube.com/watch?v=06QF0wNEf94]
39
 
40
- * **NEW!** Simple table - [Text documentation](https://wpdatatables.com/documentation/creating-new-wpdatatables-with-table-constructor/creating-a-simple-table-with-wpdatatables/)
41
- * Excel - [Text and video documentation](https://wpdatatables.com/documentation/creating-wpdatatables/creating-wpdatatables-from-excel/)
42
- * CSV - [Text and video documentation](https://wpdatatables.com/documentation/creating-wpdatatables/creating-wpdatatables-from-csv/)
43
- * JSON - [Text and video documentation](https://wpdatatables.com/documentation/creating-wpdatatables/creating-wpdatatables-from-json-input/)
44
- * XML - [Text and video documentation](https://wpdatatables.com/documentation/creating-wpdatatables/creating-wpdatatables-from-xml/)
45
- * Serialized PHP array - [Text and video documentation](https://wpdatatables.com/documentation/creating-wpdatatables/creating-wpdatatables-from-serialized-php-array/)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
46
 
47
  wpDataTables allows creating 14 different chart types using the Google Charts rendering engine:
48
 
@@ -61,7 +79,7 @@ wpDataTables allows creating 14 different chart types using the Google Charts re
61
  * Google Candlestick Chart - [Live example](https://wpdatatables.com/documentation/wpdatacharts/google-charts/#google-candlestick-chart)
62
  * Google Waterfall Chart - [Live example](https://wpdatatables.com/documentation/wpdatacharts/google-charts/#google-waterfall-chart)
63
 
64
- **NEW!** And now 9 more chart types with Chart.js engine, that renders simple and flexible charts with a lot of customization options:
65
 
66
  * Chart.js Line Chart - [Live example](https://wpdatatables.com/documentation/wpdatacharts/chartjs/#chart-js-line-chart)
67
  * Chart.js Column Chart - [Live example](https://wpdatatables.com/documentation/wpdatacharts/chartjs/#chart-js-column-chart)
@@ -77,17 +95,32 @@ Creating tables and charts with a WordPress tables plugin has never been easier.
77
 
78
  **Step 1 - Provide table data**
79
 
80
- You can provide table data for WordPress tables by uploading Excel, CSV , JSON, XML or Serialized PHP array or you will create simple table from scratch with new table builder.
81
 
82
  **Step 2 - Customization**
83
 
84
- You can customize and configure the columns of your WordPress table (rename, reorder, add CSS classes, hide, change colors) and also you can customize and configure table Color and Font settings( Font, Header, Table border, Row , Cell and Pagination) in any way you see fit.
85
 
86
  **Step 3 - Publish in a post or page**
87
 
88
- Once you are happy with the design of your WordPress table, you can easily insert it on any post or page through [Gutenberg](https://wpdatatables.com/documentation/general/gutenberg-editor/), [standard WP Editor and shortcode](https://wpdatatables.com/documentation/general/wpdatatables-shortcodes/), or through page builders like [Avada Page Builder](https://wpdatatables.com/documentation/general/avada-builder-integration/), [Divi Page Builder](https://wpdatatables.com/documentation/general/divi-builder-integration/), [WPBakery Page Builder](https://wpdatatables.com/documentation/table-features/visual-composer-integration/) or [Elementor](https://wpdatatables.com/documentation/general/elementor-integration/). All tables (except simple table) will become sortable and will have pagination by default.
 
 
 
 
 
 
 
 
 
 
89
 
90
- Additionally, each table (except simple table) can have a search bar and can have the following functions: “Copy to Clipboard”, “Export to CSV”, “Export to PDF”, “Export to XLS”. All these functionalities are configurable and it is your decision whether to toggle these on or off.
 
 
 
 
 
91
 
92
  Following column data types are supported in data tables (Data tables created from Excel, CSV, JSON, XML or Serialized PHP array). Most column types, except the images, have their own sorting rules:
93
 
@@ -101,6 +134,11 @@ Following column data types are supported in data tables (Data tables created fr
101
  * URL link - [Text and video documentation](https://wpdatatables.com/documentation/column-features/url-link-columns/)
102
  * E-mail link - [Text and video documentation](https://wpdatatables.com/documentation/column-features/e-mail-link-columns/)
103
 
 
 
 
 
 
104
  Please note some limitations compared to the Premium version of the wpDataTables plugin:
105
 
106
  1. MySQL-query based tables support is not included.
@@ -135,7 +173,8 @@ However, the thing that really sets it apart is the possibility to manage any am
135
 
136
  **Do I Need wpDataTables?**
137
 
138
- Well, the short answer is – yes. If you want to create fully functional and great looking WordPress tables, you need wpDataTables. The number of the users currently taking advantage of this plugin is 30,000 and counting.
 
139
  The major features of wpDataTables include but are not limited to:
140
 
141
  * Building WordPress tables quickly and easily – no complicated configuration; just simple clicking;
@@ -144,21 +183,44 @@ The major features of wpDataTables include but are not limited to:
144
  * A WordPress table plugin that works like a spreadsheet app – with all the advanced features and tools, wpDataTables truly stands out from the competition;
145
  * 1 year of updates and support
146
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
147
  Additional useful features include:
148
 
149
- * [NEW! Customize options for each table](https://wpdatatables.com/documentation/table-features/customize-table/) – Now you can customize each table with different skin, font, background , colors and lot more.
150
  * [NEW! Create Tables via Google Spreadsheet API](https://wpdatatables.com/documentation/connect-wordpress-tables-with-google-sheets-api/) – Instant synchronization in wpDataTables after changes in Google sheets. Create tables from Private Google Spreadsheets.
151
  * [Multiple databases support](https://wpdatatables.com/documentation/general/configuration/#separate-connection) - wpDataTables is the only WordPress table plugin that can display the data from MySQL, MS SQL or PostgreSQL databases.
152
  * [Responsive Tables](https://wpdatatables.com/documentation/table-features/responsiveness/) – your WordPress tables will be 100% functional and they will look great on all screen and devices
153
- * [Huge Amount of Data](https://wpdatatables.com/documentation/creating-wpdatatables/creating-mysql-based-wpdatatables-with-server-side-processing/) – wpDataTables Premium can create huge tables in a matter of minutes. All the operations will be handled by the MySQL server.
154
  * [Editable Tables](https://wpdatatables.com/documentation/front-end-editing/creating-editable-tables/) – you or any other WordPress user with access will be able to edit and/or adjust the published tables at any point
155
  * [Advanced Filters and Search](https://wpdatatables.com/documentation/table-features/advanced-filtering/)– you will be able to create individual filters that will help you narrow the search results in the table quickly and easily. You can also configure a cascade filter with the [Powerful Filters addon](https://wpdatatables.com/powerful-filtering/).
156
  * [Highlighting](https://wpdatatables.com/documentation/table-features/conditional-formatting/) – highlighting the rows, columns, cells of your WordPress tables etc. has never been easier with this plugin’s conditional formatting feature
157
  * [Charts](https://wpdatatables.com/documentation/wpdatacharts/creating-charts-wordpress-wpdatachart-wizard/) – you can easily turn every WordPress table into a beautiful chart. Charts are rendered by 4 powerful engines ([Google](https://wpdatatables.com/documentation/wpdatacharts/google-charts/), [Highcharts](https://wpdatatables.com/documentation/wpdatacharts/highcharts/), [Chart.js](https://wpdatatables.com/documentation/wpdatacharts/chartjs/) and **NEW** [ApexCharts](https://wpdatatables.com/documentation/wpdatacharts/apexcharts/)) and can change in real-time.
158
  * [Calculating Tools](https://wpdatatables.com/documentation/table-features/calculation-functions/) – calculating a sum, average, minimum and maximum of all the values for a given column is easier than ever with the wpDataTables advanced calculating tools
159
- * [Placeholders](https://wpdatatables.com/documentation/table-features/using-placeholders/) - make dynamic SQL Queries and use it through the shortcodes and as predefined values in filters and editing.
160
 
161
- **Extend wpDataTables functionality with add-ons**
162
 
163
  wpDataTable Lite and Premium users have the option to extend wpDataTables functionality with **FREE** add-ons such as:
164
  1. [Forminator Forms Integration](https://wordpress.org/plugins/wpdatatables-forminator/) - that allows you to create wpDataTables from Forminator Forms submissions.
@@ -166,12 +228,20 @@ wpDataTable Lite and Premium users have the option to extend wpDataTables functi
166
  wpDataTable Premium users have the option to extend wpDataTables functionality with premium add-ons such as:
167
  1. [Master-detail tables](https://wpdatatables.com/documentation/addons/master-detail-tables/)** - which allows you and your site visitors to see details for each row with a simple click (view on popup or custom page/post)
168
  1. [Powerful Filters](https://wpdatatables.com/documentation/addons/powerful-filtering/)** - to filter table data in the WordPress Tables frontend with Cascade filters; it also allows you to hide the table before the filter is applied; show search button;
169
- 1. [Report Builder](https://wpreportbuilder.com/)** - Generate Word or Excel reports from tables in your WP in 1 click
170
  1. [Gravity Forms integration](https://wpdatatables.com/documentation/addons/gravity-forms-integration/)** - allows you to create editable wpDataTables from Gravity Forms entries data.
171
  1. [Formidable Forms Integration](https://wpdatatables.com/documentation/addons/formidable-forms-integration/)** - that allows you to create wpDataTables from Formidable Forms entries data.
172
 
173
  **Those add-ons are not included in the premium plugin. They have to be purchased separately.
174
 
 
 
 
 
 
 
 
 
175
  **What do people say about wpDataTables?**
176
 
177
  ★★★★★
@@ -189,6 +259,16 @@ wpDataTable Premium users have the option to extend wpDataTables functionality w
189
  ★★★★★
190
  >I am impressed. I thought this would be a basic plugin, but it is a very powerful and versatile plugin that offers many tools and settings. And if you need a hand using the plugin, their support is ready to help. Very professional. - [mycamgirl](https://wordpress.org/support/topic/very-powerful-and-versatile-plugin/)
191
 
 
 
 
 
 
 
 
 
 
 
192
  == Installation ==
193
 
194
  Installation of the plugin is really simple.
@@ -250,6 +330,11 @@ This can be changed from the “Number format” drop-down menu in the wpDataTab
250
 
251
  == Changelog ==
252
 
 
 
 
 
 
253
  = 2.1.31 =
254
  * Improvement: Remove unnecessary files from Divi integration.
255
  Other small bug fixes and stability improvements.
1
+ === wpDataTables - WordPress Tables & Table Charts Plugin ===
2
  Contributors: wpDataTables
3
  Author URI: https://tms-outsource.com
4
  Plugin URI: https://wpdatatables.com/
5
+ Tags: table, table builder, data tables, tables, charts, datatables, simple table, tables from csv, tables from excel, dynamic tables, responsive tables, csv, chart, pie charts, mysql tables, table plugin, wp table, wordpress table plugin, wordpress tables, google charts, chartjs, excel, json, xml, php array, line chart, donut, bar chart, histogram, area chart, bubble chart, gauge chart, scatter chart, candlestick, waterfall, polar, radar
6
  Requires at least: 4.0
7
+ Tested up to: 6.0
8
  Requires PHP: 5.6
9
+ Stable tag: 2.1.32
10
  License: GPLv2 or later
11
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
12
 
13
+ The best WordPress table plugin. Create responsive, searchable, sortable tables and charts from Excel (.xlsx, .xls or .ods), CSV, XML, JSON and PHP.
14
 
15
  == Description ==
16
 
17
+ wpDataTables is a popular WordPress table plugin used to **quickly create tables & table charts** from Excel, CSV, XML, JSON, PHP and other data sources. Use our WP table plugin to represent vast amounts of complicated data in concise, user-friendly way using tables or charts.
18
 
19
+ The main benefits wpDataTables provides to its users are **saved time** (as it automates displaying data in website and allows to do so without investing time in coding) and **no need to learn coding** (creating a WordPress table like in wpDataTable would require development without it).
20
+
21
+ == Amazing WordPress Table Builder ==
22
+
23
+ New table builder is introduced in wpDataTables – [Creating simple WordPress tables from scratch](https://wpdatatables.com/documentation/creating-new-wpdatatables-with-table-constructor/creating-a-simple-table-with-wpdatatables/). These tables can be anything but simple, though, as you can now merge cells, style each cell differently, add star ratings to cells, media and so much more.
24
 
25
  Here is the list of the new functionality in those simple tables:
26
 
35
  * Add star rating
36
  * Custom links
37
  * Add media
38
+ * Custom HTML editor
39
  * Shortcode in cells
40
  * NEW Border options
41
 
42
  [youtube https://www.youtube.com/watch?v=06QF0wNEf94]
43
 
44
+ == Create WordPress table from Excel ==
45
+
46
+ Microsoft Excel is a very powerful tool and one of the most efficient software for graphic-analytical and tabular data processing. It speeds up and make work in the workplace tables easier, easy to learn, easy to use and fast in displaying work results. It is awesome analysis spreadsheet for many business users. With wpDataTables, it’s even more powerful in WordPress environment. *.XLS* and *.XLSX* formats are also so common for storing data simpler, faster and more intuitive. wpDataTables is deeply integrated with Excel. In just a few clicks you can create awesome WordPress tables with search, sort, pagination, custom skins and lot more. Checkout more details in our documentation about [How to create WordPress tables from Excel files](https://wpdatatables.com/documentation/creating-wpdatatables/creating-wpdatatables-from-excel/) where you can find and video tutorials as well.
47
+
48
+ == Make WordPress table from CSV ==
49
+
50
+ The CSV, or *“comma-separated-values”* is a widely used format; It is lightweight, simple, can be generated by almost any software, and created manually by users. Beside 'comma', wpDataTables support 'colon', 'semicolon', 'vertical bar (pipe) and 'TAB' as CSV delimiter. You can create responsive, searchable and sortable WordPress tables quite easy. You can find detail instructions on the link [How to create WordPress tables from CSV files](https://wpdatatables.com/documentation/creating-wpdatatables/creating-wpdatatables-from-csv/).
51
+
52
+ == Generate WordPress table from XML ==
53
+
54
+ XML - *(Extensible Markup Language)* is a universal standard for presenting data. It is one of the most widely used standards for data transfer between the server and the client. It is increasingly used as a standard in which documents are saved (Libre Office and Microsoft Office). Finally, the HTML standard for creating web pages is derived from the SGML or XML standard. A lot of web services “run” on XML, and wpDataTables supports XML as an input data source as well. Find in our docs [How to create WordPress tables with XML](https://wpdatatables.com/documentation/creating-wpdatatables/creating-wpdatatables-from-xml/).
55
+
56
+ == Build WordPress table from JSON ==
57
+
58
+ JSON *(JavaScript Object Notation)* is a popular interlingual data exchange format. Many server applications provide public data in JSON format. JSON is based on the syntax of Javascript objects. Since most web applications use client-side JavaScript, JSON has become the 'de facto' standard for packing data on the web and wpDataTables also supports the JSON format as an input data source.
59
+ Learn [How to create WordPress tables from JSON](https://wpdatatables.com/documentation/creating-wpdatatables/creating-wpdatatables-from-json-input/) in our documentation.
60
+
61
+ == Develop dynamic WordPress table from Serialized PHP array ==
62
+
63
+ For developer users, or users who are at least somewhat familiar with PHP language, that previous input data sources (Excel, CSV, XML of JSON) are not flexible enough for dynamic data presentation. We didn't want to limit your freedom in wpDataTables, so we implemented serialized PHP arrays as one of data sources. You can prepare data from some private or public API, or use WP Query to get data from your posts, get data by depending on some variables in the URL, or use some other complex logic. Learn how you can prepare a PHP file and [How to create WordPress tables based on serialized PHP arrays](https://wpdatatables.com/documentation/creating-wpdatatables/creating-wpdatatables-from-serialized-php-array/) in our docs.
64
 
65
  wpDataTables allows creating 14 different chart types using the Google Charts rendering engine:
66
 
79
  * Google Candlestick Chart - [Live example](https://wpdatatables.com/documentation/wpdatacharts/google-charts/#google-candlestick-chart)
80
  * Google Waterfall Chart - [Live example](https://wpdatatables.com/documentation/wpdatacharts/google-charts/#google-waterfall-chart)
81
 
82
+ **NEW!** And now 9 more awesome chart types with Chart.js engine, that renders simple and flexible WordPress charts with a lot of customization options:
83
 
84
  * Chart.js Line Chart - [Live example](https://wpdatatables.com/documentation/wpdatacharts/chartjs/#chart-js-line-chart)
85
  * Chart.js Column Chart - [Live example](https://wpdatatables.com/documentation/wpdatacharts/chartjs/#chart-js-column-chart)
95
 
96
  **Step 1 - Provide table data**
97
 
98
+ You can provide table data for WordPress tables by uploading Excel, CSV , JSON, XML or Serialized PHP array, or you will create simple table from scratch with new WordPress table builder.
99
 
100
  **Step 2 - Customization**
101
 
102
+ You can customize and configure the columns of your WordPress table (rename, reorder, add CSS classes, add prefix or suffix, hide, change colors) and also you can customize and configure table Color and Font settings( Font, Header, Table border, Row , Cell and Pagination) in any way you see fit.
103
 
104
  **Step 3 - Publish in a post or page**
105
 
106
+ All tables (except simple table) will become sortable and will have pagination, global search, display length and export table buttons by default. Once you are happy with the design of your WordPress table, you can easily insert it on any post or page through [Gutenberg](https://wpdatatables.com/documentation/general/gutenberg-editor/), [standard WP Editor and shortcode](https://wpdatatables.com/documentation/general/wpdatatables-shortcodes/), or through page builders like:
107
+ * [Avada Page Builder](https://wpdatatables.com/documentation/general/avada-builder-integration/),
108
+ * [Divi Page Builder](https://wpdatatables.com/documentation/general/divi-builder-integration/),
109
+ * [WPBakery Page Builder](https://wpdatatables.com/documentation/table-features/visual-composer-integration/) or
110
+ * [Elementor](https://wpdatatables.com/documentation/general/elementor-integration/).
111
+
112
+
113
+ == Export table data and column visibility (Table tools) ==
114
+
115
+ Additionally, each table (except simple table) can have a search bar, display length, table info, pagination and can have the following export functions: “Copy to Clipboard”, “Export to CSV”, “Export to PDF”, “Export to XLS”, “Print“. Beside those export buttons, it is available column visibility button as well, with which you are able easily to control the visibility of columns in a WordPress table on back-end and front-end as well.
116
+ All these functionalities are configurable, and it is your decision whether to toggle these on or off. More info in our docs about [Table tools in wpDataTables](https://wpdatatables.com/documentation/table-features/table-tools/) and [Table and column settings](https://wpdatatables.com/documentation/general/table-configuration-page-overview/) (simple table has own customization panel).
117
 
118
+ == Global, individual and multiple columns sorting ==
119
+
120
+ wpDataTables can act as a sortable table plugin by supporting sorting for all the data types. Tables rendered by the wpDataTables plugin are sortable by default (except simple tables). It means that the content of the table can be ordered by the values of one of its columns. When the sorting is enabled, each column header will become “interactive”. If you need to sort by multiple columns, it is possible with “Shift” button on the keyboard. While holding it you are able to click on other columns' header(initially, the ordering will be done based on the first column, and after that, based on the second column).
121
+ Detail explanation you can find in our documentation about [Creating a sortable table in WordPress](https://wpdatatables.com/documentation/table-features/sorting/).
122
+
123
+ == Column types and features ==
124
 
125
  Following column data types are supported in data tables (Data tables created from Excel, CSV, JSON, XML or Serialized PHP array). Most column types, except the images, have their own sorting rules:
126
 
134
  * URL link - [Text and video documentation](https://wpdatatables.com/documentation/column-features/url-link-columns/)
135
  * E-mail link - [Text and video documentation](https://wpdatatables.com/documentation/column-features/e-mail-link-columns/)
136
 
137
+ == Row grouping ==
138
+
139
+ If one column of your table contains similar values for many rows, it often makes sense to use it as a “group column”.This means it will not be displayed as a column, but its values will be used to group the rows.
140
+ For detail explanation check out [How to set up row grouping in WordPress tables](https://wpdatatables.com/documentation/column-features/row-grouping/).
141
+
142
  Please note some limitations compared to the Premium version of the wpDataTables plugin:
143
 
144
  1. MySQL-query based tables support is not included.
173
 
174
  **Do I Need wpDataTables?**
175
 
176
+ Well, the short answer is – yes. If you want to create fully functional and great looking WordPress tables, you need wpDataTables. The number of the users currently taking advantage of this plugin is 60,000 and counting.
177
+
178
  The major features of wpDataTables include but are not limited to:
179
 
180
  * Building WordPress tables quickly and easily – no complicated configuration; just simple clicking;
183
  * A WordPress table plugin that works like a spreadsheet app – with all the advanced features and tools, wpDataTables truly stands out from the competition;
184
  * 1 year of updates and support
185
 
186
+ == Showcases how it is commonly applied ==
187
+
188
+ * Pricing tables
189
+ * Amazon product comparison table
190
+ * Searchable catalogs of car parts, books, etc.
191
+ * Currency and crypto rates
192
+ * Financial and investment rates
193
+ * Customer lists
194
+ * Statistics data (weather for example)
195
+ * Scientific data
196
+ * Monitoring of data
197
+ * Tourist agency - rating hotels and trips
198
+ * Game popularity comparison
199
+ * Gamers statistics
200
+ * Monthly employee statistics
201
+ * Product lists
202
+ * Product lists with links to online stores
203
+ * Pedigree tables
204
+ * Historical data
205
+ * Country population statistics
206
+ * and all other cases or industries where data need to be shown as tabular or chart format.
207
+
208
+
209
  Additional useful features include:
210
 
211
+ * [NEW! Customize options for each table](https://wpdatatables.com/documentation/table-features/customize-table/) – Now you can customize each table with different skin, font, background, colors and lot more.
212
  * [NEW! Create Tables via Google Spreadsheet API](https://wpdatatables.com/documentation/connect-wordpress-tables-with-google-sheets-api/) – Instant synchronization in wpDataTables after changes in Google sheets. Create tables from Private Google Spreadsheets.
213
  * [Multiple databases support](https://wpdatatables.com/documentation/general/configuration/#separate-connection) - wpDataTables is the only WordPress table plugin that can display the data from MySQL, MS SQL or PostgreSQL databases.
214
  * [Responsive Tables](https://wpdatatables.com/documentation/table-features/responsiveness/) – your WordPress tables will be 100% functional and they will look great on all screen and devices
215
+ * [Huge Amount of Data](https://wpdatatables.com/documentation/creating-wpdatatables/creating-mysql-based-wpdatatables-with-server-side-processing/) – wpDataTables Premium can create huge tables (millions of rows) in a matter of minutes. All the operations will be handled by the MySQL server.
216
  * [Editable Tables](https://wpdatatables.com/documentation/front-end-editing/creating-editable-tables/) – you or any other WordPress user with access will be able to edit and/or adjust the published tables at any point
217
  * [Advanced Filters and Search](https://wpdatatables.com/documentation/table-features/advanced-filtering/)– you will be able to create individual filters that will help you narrow the search results in the table quickly and easily. You can also configure a cascade filter with the [Powerful Filters addon](https://wpdatatables.com/powerful-filtering/).
218
  * [Highlighting](https://wpdatatables.com/documentation/table-features/conditional-formatting/) – highlighting the rows, columns, cells of your WordPress tables etc. has never been easier with this plugin’s conditional formatting feature
219
  * [Charts](https://wpdatatables.com/documentation/wpdatacharts/creating-charts-wordpress-wpdatachart-wizard/) – you can easily turn every WordPress table into a beautiful chart. Charts are rendered by 4 powerful engines ([Google](https://wpdatatables.com/documentation/wpdatacharts/google-charts/), [Highcharts](https://wpdatatables.com/documentation/wpdatacharts/highcharts/), [Chart.js](https://wpdatatables.com/documentation/wpdatacharts/chartjs/) and **NEW** [ApexCharts](https://wpdatatables.com/documentation/wpdatacharts/apexcharts/)) and can change in real-time.
220
  * [Calculating Tools](https://wpdatatables.com/documentation/table-features/calculation-functions/) – calculating a sum, average, minimum and maximum of all the values for a given column is easier than ever with the wpDataTables advanced calculating tools
221
+ * [Placeholders](https://wpdatatables.com/documentation/table-features/using-placeholders/) - make dynamic tables from SQL Queries and use it through the shortcodes and as predefined values in filters and editing.
222
 
223
+ == Extend wpDataTables functionality with add-ons ==
224
 
225
  wpDataTable Lite and Premium users have the option to extend wpDataTables functionality with **FREE** add-ons such as:
226
  1. [Forminator Forms Integration](https://wordpress.org/plugins/wpdatatables-forminator/) - that allows you to create wpDataTables from Forminator Forms submissions.
228
  wpDataTable Premium users have the option to extend wpDataTables functionality with premium add-ons such as:
229
  1. [Master-detail tables](https://wpdatatables.com/documentation/addons/master-detail-tables/)** - which allows you and your site visitors to see details for each row with a simple click (view on popup or custom page/post)
230
  1. [Powerful Filters](https://wpdatatables.com/documentation/addons/powerful-filtering/)** - to filter table data in the WordPress Tables frontend with Cascade filters; it also allows you to hide the table before the filter is applied; show search button;
231
+ 1. [Report Builder](https://wpreportbuilder.com/)** - The Best WordPress report builder plugin that generate Word or Excel reports from your WP in 1 click.
232
  1. [Gravity Forms integration](https://wpdatatables.com/documentation/addons/gravity-forms-integration/)** - allows you to create editable wpDataTables from Gravity Forms entries data.
233
  1. [Formidable Forms Integration](https://wpdatatables.com/documentation/addons/formidable-forms-integration/)** - that allows you to create wpDataTables from Formidable Forms entries data.
234
 
235
  **Those add-ons are not included in the premium plugin. They have to be purchased separately.
236
 
237
+ == For Developers ==
238
+
239
+ This section is intended for advanced users to extend or change wpDataTables functionality. At least a basic understanding of coding in PHP and JavaScript is required.
240
+ * [wpDataTables Actions](https://wpdatatables.com/documentation/information-for-developers/hooks/)
241
+ * [wpDataTables Filters](https://wpdatatables.com/documentation/information-for-developers/filters/)
242
+ * [Front-end Table callbacks](https://wpdatatables.com/documentation/information-for-developers/front-end-callbacks/)
243
+ * [Front-end Chart callbacks](https://wpdatatables.com/documentation/information-for-developers/wpdatacharts-callbacks/)
244
+
245
  **What do people say about wpDataTables?**
246
 
247
  ★★★★★
259
  ★★★★★
260
  >I am impressed. I thought this would be a basic plugin, but it is a very powerful and versatile plugin that offers many tools and settings. And if you need a hand using the plugin, their support is ready to help. Very professional. - [mycamgirl](https://wordpress.org/support/topic/very-powerful-and-versatile-plugin/)
261
 
262
+ = Useful links =
263
+
264
+ - Official Page - [wpDataTables - WordPress Table Plugin](https://wpdatatables.com/)
265
+ - Documentation - [How to use wpDataTables?](https://wpdatatables.com/documentation/general/features-overview/)
266
+ - Learn from our tutorials on [Youtube channel](https://www.youtube.com/c/wpDataTables)
267
+ - [Showcases for every industry](https://wpdatatables.com/showcase/)
268
+ - [Facebook Page](https://www.facebook.com/wpdatatables)
269
+ - [Instagram Feed](https://www.instagram.com/wpdatatables/)
270
+ - [Twitter Profile](https://twitter.com/wpdatatables)
271
+
272
  == Installation ==
273
 
274
  Installation of the plugin is really simple.
330
 
331
  == Changelog ==
332
 
333
+ = 2.1.32 =
334
+ * BugFix: Fixed issue with showing tables insert from Divi integration.
335
+ * Compatibility with WordPress 6.0 approved.
336
+ Other small bug fixes and stability improvements.
337
+
338
  = 2.1.31 =
339
  * Improvement: Remove unnecessary files from Divi integration.
340
  Other small bug fixes and stability improvements.
templates/admin/dashboard/dashboard.inc.php CHANGED
@@ -342,7 +342,8 @@ $tableChartsCount = (int)WDTTools::getTablesCount('chart');
342
  <div class="alert alert-info m-b-0" role="alert">
343
  <i class="wpdt-icon-info-circle-full"></i>
344
  <ul>
345
- <li><strong>Improvement:</strong> Remove unnecessary files from Divi integration.</li>
 
346
  <li>Other small bug fixes and stability improvements.</li>
347
  </ul>
348
  </div>
342
  <div class="alert alert-info m-b-0" role="alert">
343
  <i class="wpdt-icon-info-circle-full"></i>
344
  <ul>
345
+ <li><strong>BugFix:</strong> Fixed issue with showing tables insert from Divi integration.</li>
346
+ <li>Compatibility with WordPress 6.0 approved.</li>
347
  <li>Other small bug fixes and stability improvements.</li>
348
  </ul>
349
  </div>
templates/admin/table-settings/table_settings_block.inc.php CHANGED
@@ -1197,6 +1197,108 @@
1197
  </div>
1198
  <!-- /.row -->
1199
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1200
  <!-- .row -->
1201
  <div class="row">
1202
 
1197
  </div>
1198
  <!-- /.row -->
1199
 
1200
+ <!-- .row -->
1201
+ <div class="row">
1202
+
1203
+ <div class="col-sm-4 m-b-16">
1204
+
1205
+ <h4 class="c-title-color m-b-2">
1206
+ %VAR4%
1207
+ <i class=" wpdt-icon-info-circle-thin" data-toggle="tooltip" data-placement="right"
1208
+ title="<?php esc_attr_e('This placeholder will be replaced with any value that you will provide in a shortcode. Provide a default value here that will be used for table generation and when a different one is not defined in the shortcode.', 'wpdatatables'); ?>"></i>
1209
+ </h4>
1210
+
1211
+ <div class="fg-line form-group m-b-0">
1212
+ <input id="wdt-var4-placeholder" type="text" class="form-control input-sm" disabled
1213
+ placeholder="<?php esc_attr_e('Default for table generation', 'wpdatatables'); ?>">
1214
+ </div>
1215
+
1216
+ </div>
1217
+
1218
+ <div class="col-sm-4 m-b-16">
1219
+
1220
+ <h4 class="c-title-color m-b-2">
1221
+ %VAR5%
1222
+ <i class="wpdt-icon-info-circle-thin" data-toggle="tooltip" data-placement="right"
1223
+ title="<?php esc_attr_e('This placeholder will be replaced with any value that you will provide in a shortcode. Provide a default value here that will be used for table generation and when a different one is not defined in the shortcode.', 'wpdatatables'); ?>"></i>
1224
+ </h4>
1225
+
1226
+ <div class="fg-line form-group m-b-0">
1227
+ <input id="wdt-var5-placeholder" type="text" class="form-control input-sm" disabled
1228
+ placeholder="<?php esc_attr_e('Default for table generation', 'wpdatatables'); ?>">
1229
+ </div>
1230
+
1231
+ </div>
1232
+
1233
+ <div class="col-sm-4 m-b-16">
1234
+
1235
+ <h4 class="c-title-color m-b-2">
1236
+ %VAR6%
1237
+ <i class="wpdt-icon-info-circle-thin" data-toggle="tooltip" data-placement="right"
1238
+ title="<?php esc_attr_e('This placeholder will be replaced with any value that you will provide in a shortcode. Provide a default value here that will be used for table generation and when a different one is not defined in the shortcode.', 'wpdatatables'); ?>"></i>
1239
+ </h4>
1240
+
1241
+ <div class="fg-line form-group m-b-0">
1242
+ <input id="wdt-var6-placeholder" type="text" class="form-control input-sm" disabled
1243
+ placeholder="<?php esc_attr_e('Default for table generation', 'wpdatatables'); ?>">
1244
+ </div>
1245
+
1246
+ </div>
1247
+
1248
+ </div>
1249
+ <!-- /.row -->
1250
+
1251
+ <!-- .row -->
1252
+ <div class="row">
1253
+
1254
+ <div class="col-sm-4 m-b-16">
1255
+
1256
+ <h4 class="c-title-color m-b-2">
1257
+ %VAR7%
1258
+ <i class=" wpdt-icon-info-circle-thin" data-toggle="tooltip" data-placement="right"
1259
+ title="<?php esc_attr_e('This placeholder will be replaced with any value that you will provide in a shortcode. Provide a default value here that will be used for table generation and when a different one is not defined in the shortcode.', 'wpdatatables'); ?>"></i>
1260
+ </h4>
1261
+
1262
+ <div class="fg-line form-group m-b-0">
1263
+ <input id="wdt-var7-placeholder" type="text" class="form-control input-sm" disabled
1264
+ placeholder="<?php esc_attr_e('Default for table generation', 'wpdatatables'); ?>">
1265
+ </div>
1266
+
1267
+ </div>
1268
+
1269
+ <div class="col-sm-4 m-b-16">
1270
+
1271
+ <h4 class="c-title-color m-b-2">
1272
+ %VAR8%
1273
+ <i class="wpdt-icon-info-circle-thin" data-toggle="tooltip" data-placement="right"
1274
+ title="<?php esc_attr_e('This placeholder will be replaced with any value that you will provide in a shortcode. Provide a default value here that will be used for table generation and when a different one is not defined in the shortcode.', 'wpdatatables'); ?>"></i>
1275
+ </h4>
1276
+
1277
+ <div class="fg-line form-group m-b-0">
1278
+ <input id="wdt-var8-placeholder" type="text" class="form-control input-sm" disabled
1279
+ placeholder="<?php esc_attr_e('Default for table generation', 'wpdatatables'); ?>">
1280
+ </div>
1281
+
1282
+ </div>
1283
+
1284
+ <div class="col-sm-4 m-b-16">
1285
+
1286
+ <h4 class="c-title-color m-b-2">
1287
+ %VAR9%
1288
+ <i class="wpdt-icon-info-circle-thin" data-toggle="tooltip" data-placement="right"
1289
+ title="<?php esc_attr_e('This placeholder will be replaced with any value that you will provide in a shortcode. Provide a default value here that will be used for table generation and when a different one is not defined in the shortcode.', 'wpdatatables'); ?>"></i>
1290
+ </h4>
1291
+
1292
+ <div class="fg-line form-group m-b-0">
1293
+ <input id="wdt-var9-placeholder" type="text" class="form-control input-sm" disabled
1294
+ placeholder="<?php esc_attr_e('Default for table generation', 'wpdatatables'); ?>">
1295
+ </div>
1296
+
1297
+ </div>
1298
+
1299
+ </div>
1300
+ <!-- /.row -->
1301
+
1302
  <!-- .row -->
1303
  <div class="row">
1304
 
wpdatatables.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: wpDataTables - Tables & Table Charts
4
  Plugin URI: https://wpdatatables.com
5
  Description: Create responsive, sortable tables & charts from Excel, CSV or PHP. Add tables & charts to any post in minutes with DataTables.
6
- Version: 2.1.31
7
  Author: TMS-Plugins
8
  Author URI: https://tms-outsource.com
9
  Text Domain: wpdatatables
3
  Plugin Name: wpDataTables - Tables & Table Charts
4
  Plugin URI: https://wpdatatables.com
5
  Description: Create responsive, sortable tables & charts from Excel, CSV or PHP. Add tables & charts to any post in minutes with DataTables.
6
+ Version: 2.1.32
7
  Author: TMS-Plugins
8
  Author URI: https://tms-outsource.com
9
  Text Domain: wpdatatables