DataStore
: Changeclone()
function name tomakeCopy()
to avoid reserved keywordsclone
in PHP 5.xTable
: Avoid duplication ofgroupLevel()
function
Table
: Fix Table warning in PHP 7.2+ when grouping is not setGoogleCharts
: Remove auto change pointer on select event
Utility
: Fix the symbolic path
Table
: Addingcss
andcssStyle
options for group row.Table
:"top"
and"bottom"
template of row group now supports functionWidget
: Fix thestandardizeDataSource()
issue when receiving data source by functionKoolReport
: Convert code base to comply with PSR-2 standardDataStore
: Change output oftoJson()
method to return both data and meta dataGoogleChart
: Fix the issue of inability to load multiple charts from different google chart package.KoolReport
: Avoid duplicate data sending when requestDataSending() and run() are both called.DataStore
: Adding methodclone()
to get a datastore cloned.Table
: Adding new propertysorting
to facilitate sorting on Table.
ResourceManager
: Fix issue with publishing resourcesWidget
: Fix the PHP5.4 incompatibility
DateTimeFormat
: Deal with null value or wrong format of datetimeUtility
: Deal with null value of datetimeTimeBucket
: Avoid null date valueDateTimeFormat
: Check null date value and do not convert if the datetime is in good shapeWidget
: New loading method for Widget which will allow widget is able to load resource and initiate itself on-demandKoolReport
: Able to create event handler function in the report instead of using registerEvent() function.Widget
: RemoveregisterResources()
andrenderResources()
Table
: Enhance the removeDuplicate feature, supporting paging and remove duplicate cell at the same time. 9.Node
: Add function setEnded() in case we want to define a datastore with existed data and does not need data is piped to it.Widget
: Allow widget to initiate without creating a report to hold it, meaning you can freely create widget in your own applicationKoolReport
: Update the new way to calculate document rootDataStore
: Allow DataStore to be used like an array, working with foreach.DataStore
: Add list of essential methods for array manipulationDataSource
: Adding static functioncreate()
to create a source without setting up a full report.CSVDataSource
: Allow datasource to convert string data to UTF8ResourceManager
: Enhance the way to public report assets folderWidget
: AddingonReady
state to let user write custom function when widget is ready.KoolReport
: Adding client-side onDone() event to callback a function on all widgets are initiated.Gauge
: Update library library locationComboChart
: AddingchartType
property for columns inComboChart
for setting the chart to displayWidget
: AddingthemeBase
property to let theme define how widget to be renderedWidget
: AddingwithoutLoader
property to set where widget should render with or without KoolReport loader.Table
: Make pagination compatible with Bootstrap4Widget
: AddingthemeCssClass
property to let theme controls appearance of widgetWidget
: Cover widgets in custom tag to increase client-side accessibility.Table
: Add new featureRow Grouping
which allows multi-levels row group in Table.
- Utility: Fix jsonEncode() to work with array contains javascript function
- DataSource: Improve the parameter escape string
- DataSource: Make
MySQLDataSource
,PostgreSQLDateaSource
,SQLSRVDataSource
,OracleDataSource
share database connection to reduce response time and memory. - GoogleChart: When you user select item on chart, the selectedRow now can contain associate value beside the array of values.
- Table: Return both array and associate rowData on the rowClick event.
- Table: Add
responsive
property to Table widget - GoogleChart: Add
formatValue
to column so that user can do custom value format. - GoogleChart: Make width of GoogleChart default 100%
- SubReport: Enhance the partial render
- PdoDataSource: Fix issue with Oracle
- KoolReport: Reduce reload settings() by saving to $reportSettings
- KoolReport: src() will take the first datasource if name is not specify
- Utility: Add advanced jsonEncode() function to enable js function definition inside php array.
- Adding version factor to KoolReport as well as its widget so that everytime we upgrade core library as well as package, the widget is able to create new assets folder with updated resource
- Fix several minor bug
- Adding
DifferenceColumn
process to calculate the difference between row and the previous one. - Adding
AppendRow
process to add custom row to data flow.
- Google Chart:Fix issue with GoogleChart when working with numeric column but in string form.
- Change namespace
::class
to use classname in string so thatKoolReport
is compatible with PHP 5.4 PdoDataSource
: Fixcharset
issue withPostgreSQL
- Adding
AccumulativeColumn
to generate accumulative column. - Fix Group process for not counting records correctly.
- Enhance the
autoload
of KoolReport - A bundle of small fixes
- Revert back to previous param binding of PDODataSource
- Fix the bug of incorrect active report when subReport is used.
- Widget: Adding default
dataSource
and backwarddataStore
property. - Widget: Able to set dataStore object, array data and even the adhoc process.
- Table: Remove the
data
property and start using thedataSource
- GoogleCharts: Remove
data
property and start usingdataSource
instead - DataStore: Adding
requestDataSending()
to manually request data piping from source. - Adding events
OnBeforeResourceAttached
andOnResourceAttached
- Table: Add ability to set multilevel group headers.
- PdoDataSource: Adding SQL Query error handling
- CopyColumn: Change input format from
"orginal"=>"copy"
to"copy"=>"orginal"
- DataStore: Function process() can accept a series of piping processes.
- GoogleCharts: Add property
pointerOnHover
to set whether pointer will be used when user holds mouse over the item of chart. 13: GoogleCharts: Automatic setpointerOnHover=>true
if there is"itemSelect"
event is registered. - Table: Change "goPage" event to "pageChanged" event
- Added
ColumnRename
process to rename column - Process: Adding static function
process()
- DataStore: Add process() function to further process data
- PdoDataSource: Update the bindParams() function.
- Table: Handle the case when there is no data
- Table: Show custom messages
- Widget: Able to load language/localization
- PdoDataSource, MySQLDataSource, SQLSRVDataSource: Update parameter binding.
- Add ability to contain sub report, supporting partial report rendering.
- Widget: Enhance the template() function
- Google Charts: Rewrite library to support ajax loading and work well with SubReport
- Table: Support ajax loading.
- Table: Adding client event handler capability.
- DataStore: Fix the
get()
function - TimeBucket: Change month bucket format from
Y-n
toY-m
to support sorting. - DataStore: Add $offset parameter to the top() function.
- DataStore: Add function min(), max(), sum(), avg()
- Make KoolReport run debug() if could not find the view file.
- Filter: Add
"in"
and"notIn"
operator - DataStore::filter() Add "startWith","notStartWith", "endWith" and "notEndWith"
- CalculatedColumn: Add row number column with key
{#}
- Table: New feature of pagination
- Fix parameters bug in PDODataSource
- Fix parameters bug in MySQLDataSource
- Fix parameters bug in SQLSRVDataSource
- Add html() method to Widget to allow return html of widget
- Add $return to create() method of Widget to return html instead of echo html.
- Add innerView() to KoolReport to allow rendering sub view
- Add function get() to DataStore to get any value in table
- Make Transpose process take the label as data if the label of column is available.
- Fix the isEnd() function of Node
- Fix Group to allow multiple sources to pipe to group process.
- Return content on event
"OnRenderEnd"
- Allow cancel rendering using
"OnBeforeRender"
event - Add previous() function to Node for navigation
- Fix the ProcessGroup to enable transferring data smoothly.
- ResourceManager now will fire the OnResourceInit event
- Table has
data
property to input data on fly. - Google chart has
data
property to input data on fly. - Add
filter()
function to DataStore to filter data base on condition. - Add
top()
andtopByPercent()
function to DataStore to get the top rows - Add
bottom()
andbottomByPercent()
function to DataStore to get the bottom rows - Add
sort()
function to DataStore to get data sorted. - Add
"footer"=>"count"
toTable
column settings.
- New
AggregatedColumn
process - Table is now able to show footer
- Make footer show on top with
showFooter
property - Add
footerText
property - Add
showHeader
toTable
widget - Ability to set
cssStyle
for each columns.cssStyle
can be string or array containing componentstd
,th
andtf
. - Improve
DataSource
class - New process
Transpose
to tranpose column and row of data flow - Fix double quote issue of
PDODataSource
- The Node now has getReport() function which return the report. 11.Fix the Timeline google charts
- Fix the Group process by removing the space in column name
- Add params() function to MySQLDataSource and MSSQLDataSource
- Fixed Fix Google Chart due to change in core library.
- Add load() function for ArrayDataSource.
- Add
formatValue
column settings in\koolreport\widgets\koolphp\Table
.
- Enhancment Table has align property for columns
- Enhancment Adding event OnInit and OnInitDone to KoolReport
- Enhancment Adding event OnBeforeSetup and OnSetup to KoolReport
- Enhancment Adding function params() in PDODataSource to set params for SQL statement.
- Enhancment Adding process Map which is versatile way to transform data.
- Fixed Solve issue of empty data source given to table.
- Fixed Solve the bug of missing row in ColumnsSort process.
- Enhancment Move the ExcelDataSource from the core to separate package to reduce the size of core.
- Enhancment Move MongoDataSource to separate package as well.
- Enhancment Add namespace 'clients' to contain most common used clients library such as jQuery, Bootstrap
- Enhancment Adding the colorScheme to Koolreport to manane color of charts and others.
- Enhancment We now can create theme for KoolReport
- Enhancment Enhance the Widget Asset Manager
- Enhancment Add functionpublishAssetFolder() to KoolReport.
- Enhancment Add the MySQLDataSource
- Enhancment Add the SQLSRVDataSource
- Enhancment Add ColumnsSort process to sort columns by name of label.
- Enhancment The Sort process now can sort by custom comparison function.
- Enhancment Add function debug() in KoolReport, this function will display all available data stores.
- Fixed Fix Google Chart initiation bug,this bug is actually due to the change from Google library.
- Enhancment Add ResourceManager to manage report's resources such as js, css and any others.
- Enhancment Improve the loading of Google Charts library with new ResourceManager to avoid loading redundancy.
- Enhancment Add event register and event handling mechanism.
- Enhancment Add OnBeforeRun,OnRunEnd,OnBeforeRender,OnRenderEnd event.
- Enhancment Allow to set full path for report's assets folder settings
- Enhancment Add ReportDataSource to pull data from another report
- Enhancment Allow to set "role" to columns for google chart
- Enhancment Filter process is now allowed or operator
- Enhancment Allow ValueMap to set custom function
- Enhancment Make Google Charts responsive to the change of screen size
- Enhancment Add saveTo() function to Node class
- Enhancment Enhance the mechanism of google chart library loader
- Enhancment Koolphp Table can remove duplicated value
- Enhancment Add popStart() and pop() function to DataStore class which helps to reduce memory usage
- Enhancment Enhance CSVDataSource and ExcelDataSource to reduce memory usage
- Enhancment Allow CalculatedColumn to add custom function and set meta data on the fly.
- Enhancment Make removeDuplicate of koolphp\Table be list of columns you want to remove duplicated data.
- Fixed Fix autoload.php bug in loading packages
- Fixed Fix OnlyColumn bug
- Fixed Fix koolphp's Table bug when column header is number
- Fixed Fix google charts duplicated chart id problem
- Establish middle-ware structure of KoolReport
- Build the most common datasource connectors
- Build the most common data processes
- Create PHP wrapper for Googe Charts library
- It was a nice day!
- Paper and pencil
- Two guys
- In a garden