KoolReport v.3.25.x

PSR Standard #

We have enforced the rule to our team to follow the PSR Code Standard. This will help our code cleaner and easier to read and learn. Furthermore, we provide full inline documentation for all classes, properties and methods. Following standard will also help to turn on the intellisense feature of PHP IDEs such as VSCode or PHP Storm. Developers will get started easier with our framework.

Continue to improve grouping feature of Table #

Since the grouping feature of Table was released in previous version, we have received many good feedbacks. We thank you very much for all of your good comments as well as suggestions to improve this feature. In this new version of KoolReport, we have added more flexibility to grouping feature by allowing top and bottom template to receive function() beside the old way of assigning a string. This will allow us to customize the template according to data. We also add the css and cssStyle properties to row group so that you can set your custom CSS or custom CSS Class.

Adding sorting to Table #

Although we always can sort dataStore before enter it into Table we add more flexibility to Table sorting by providing additional sorting properties. This sorting is very helpful when used with grouping features to sort items within group.

We fixed some of issues #

We have fixed the issue when Table use grouping but there is no data. In previous version, it will show the error but not anymore. The error of groupLevel() function redeclaration in Table is also fixed.

We have fixed the duplication of sending data when you use the requestDataSending() feature. Previously, although your data pipeline has been run by using requestDataSending(), it will be run again in the run() method of KoolReport. Now, run() method can detect whether the datapine has been run before and avoid duplication.

We have fixed the standardizeDataSource() error when widget's datasource is defined by function.

Clone DataStore #

A new method called clone() is added to DataStore so that you can easily duplicate a datastore.

As you may know, datastore can be shared among different widgets. In previous version, if a widget change data inside datastore, other widgets will be affected. Now, you may solved this issue with clone() methods to create duplicated datastore before enter it to widget's datasource.

Google Charts #

Due to the change in Google Charts loading, we have to update the library loading method as well. In previous version, you will get hard time to draw two charts coming from different charts package in Google Chart. For example, we need to draw BarChart and Gauge. Since BarChart comes from core package and Gauge comes from gauge package, only the first chart which initiate the loading will render successfully. We have fixed this issue in this version of KoolReport. Now you can load any mixed type of charts in your report.

Upgrade to 3.25.0 #

You will not have to change anything in your report when upgrade to KoolReport 3.25.0. All are backward compatible. The upgraded version will work seamlessly with all your built reports. In case something unexpectedly happens that your report does not work, you may back to current version and let us know the issue. Please contact us through our forum discussion or email us at support@koolreport.com.