Remarkable KoolReport v1.61.2
September 22, 2017BIG PARTY AGAIN!! We've released KoolReport version 1.61.2. We must say this is the biggest update ever. Please do not let the below picture distract you from going to our website and grasping the new version. This release really contains a lot of enhancements and deserved to be the best version.
KoolReport
KoolReport is now able to render sub view, it means that in our report view we can render another view inside. This is important feature because it helps to divide a big and complex report into smaller and less complicated ones which you can handle easily.
We also update the event handler and add a new event called OnResourceInit
which happens when the resource is started and ready to receive registration. This is useful if you have intention to write extension for KoolReport. You may use this event to register resources such as js
or css
.
DataStore
DataStore
is equipped with number of new functions to access data. Now you can filter/sort data before sending them to widgets.
Table::create(array(
"dataStore"=>$this->dataStore("customers")->filter("age", ">", 35)->sort(array("name" => "desc")),
...
));
Also, you can easily get the top rows or bottom rows by those four new functions top()
,bottom()
, topByPercent()
and bottomByPercent()
.
Widget
Widget
now has a new static function called html()
. This function instead of rendering widget, will return the widget in form of html. It opens opportunity to render a widget inside another one. For example, it is possible now to list all products with BarCode
inside Table.
The most used widget, Table, now is able to set data directly without using dataStore
. You can do:
Table::create(array(
"data"=>array(
array("name"=>"Peter","age"=>30),
array("name"=>"Karl","age"=>29),
),
...
))
The footer
is able to show count
rows. Thanks Peter Gregory for his good suggestion.
Like Table widget, Google Chart widgets are able to set data
as well. There is no need for dataStore
property any more. By this way, you can create charts and graphs on the fly without preparing data through setup()
.
Bug fixes
- The
ProcessGroup
has a serious bug preventing it from receiving the starting input signal has been solved. - The problem of not detecting the end of input has been solved for all processes.
- The problem of
Group
process can not receive data from multiple sources is solved as well.
Summary
Above is the summary of enhancements and bug fixes for KoolReport in this version. In this short note, we are only able to highlight some of the key changes, there are many more small improvements that we do not list. Please take some time to go to our website and download new version. To upgrade, you just need to overwrite the whole old koolreport
folder with the new one. Simple as that.
Note: The KoolReport Pro is also updated with new core and all latest packages. Some new packages added are BarCode (generate barcode and qrcode), Cache (speed up your report), Statistics (calculate data statistics) and CleanData (solve missing data).
<3 koolreport team