Change Log

Version 3.3.1 #

  1. Added: Click on Table header to sort
  2. Fixed: Very rare case that echo method does not work with static function of a class
  3. Fixed: Terminate widget autoupdate when moving to another dashboard

Version 3.3.0 #

  1. Fixed: Change group by alias to group by expression in SQLHandler
  2. Fixed: Change 12h format to 24h format in SQLServer
  3. Added: Add shouldUpdate to set anonymous function to determine whether a field should be updated.
  4. Added: Add processValueToDatabase property to field to alternate value saved to database.
  5. Added: Add Password field
  6. Added: Add static updateAction(), detailAction(), deleteAction() to return corresponding default actions for resources.
  7. Added: Add dateFormat() for Sqlite
  8. Added: Add translation for new terms

Version 3.2.4 #

  1. Fixed: Adding CSRF to file uploader widget to avoid issue with Laravel security
  2. Fixed: Not set the field original value to default value of input as it will be null
  3. Fixed: Make the onConFirm and onCancel text be run separately from text
  4. Added: Ability to validate inputs inside the action modal form.

Version 3.2.0 #

  1. Fixed: SQL Handle for SQL Server, PostgreSQL, Oracle date format
  2. Fixed: Missing onConfirm on Action
  3. Added: Add bottom property to DetailScreen, UpdateScreen and CreateScreen so that we can set bottom widgets display
  4. Added: Ability to fall back on nested query on performing aggregations.

Version 3.1.1 #

  1. Fixed: Not able to get enabled dashboards

Version 3.1.0 #

  1. Added: Adding bottom() to facilitate bottom widgets display.

Version 3.0.0 #

  1. Added: Ability to set disabled menu items for Dropdown, Panel menu and account menu
  2. Added: Provided Dropdown::menuItem() to create MenuItem object
  3. Added: Provided Panel::menuItem() to create MenuItem object
  4. Added: Tab has icon property
  5. Added: Property disabled to MenuItem
  6. Added: Provided TWidgetState to Dropdown
  7. Added: Provide error message to actionLost in Dashboard
  8. Improved: Add static tab() function to Tabs container
  9. Added: Add onShow, onShown, onHide and onHidden to Tab
  10. Added: Provide cssClass and cssStyle property to Tabs
  11. Fixed: Use nested query to calculate the total rows correctly in SQLHandler
  12. Fixed: Make Row's cssClass property working
  13. Added: Provide PropSet event for TProps
  14. Added: Request params is able to get/set by keys
  15. Added: Add property nullDisplay to Field
  16. Added: Panel header and footer is able to receive both text and widgets
  17. Added: Adding hidePagingOnSinglePage property for Table widget
  18. Added: Adding TextArea input
  19. Fixed: Able to set global property of in settings for `DrillDown
  20. Added: Adding input field validator
  21. Added: TextBox is able to pre-process value with processValue() method
  22. Added: TextArea is able to pre-process value with processValue() method
  23. Added: TextBox and TextArea has new property trimValue to indicate value will be trimmed off space
  24. Added: Provide disabled property to input widgets
  25. Added: Adding list of common filters to admin
  26. Added: Adding FileUploader to input
  27. Added: Adding hidden property to Field
  28. Added: Adding customRender to Field to alternate display of field
  29. Added: Provide property disableRangeSelect to Trend and Value metrics
  30. Added: Provide show() method to Response to open modal
  31. Added: Add secret Tunnel ajax panel to Dashboard
  32. Added: Adding Alert notification
  33. Added: Panel has short-handed static method to create Panel with type
  34. Fixed: Remove monolog requirement, developer can add when needed.
  35. Added: General error message in non-debug mode.
  36. Added: Provide cssClass and cssStyle for Button inputs
  37. Added: Provide formatError to DateTime field
  38. Fixed: Ability to handle nullValue for Field in common
  39. Added: Add emptyValue property for Field to handle both null and empty value
  40. Added: Add Boolean field to handle Boolean column
  41. Added: Bring back SimpleCard in widgets
  42. Added: Special Admin Panel with full CRUD capability to manage database.
  43. Added: Provide list of validators
  44. Added: Provide Confirm notification
  45. Added: Provide Note notification
  46. Added: New html property for Text field to control whether value is rendered in html
  47. Added: Able to show notification or run script by return INofitication object or script in action
  48. Added: Provide short-handed static function to create Button with type and text

Version 2.0.0 #

  1. Added: Make Application assets become property so that we are able to set assets() from outside
  2. Added: Able to connect to Oracle
  3. Added: Able to connect to SQLite
  4. Fixed: Widgets able to update inside Modal
  5. Added: Show error when debugMode is on
  6. Added: Ability to show unexpected response when debugMode is on
  7. Fixed: Better exception message for Application, Dashboard and Widget
  8. Added: Able to provide items to top menu
  9. Added: Able to provide items inside account menu
  10. Added: CustomBoard use method="ajax" to enable form performing data post back via ajax
  11. Added: Adding Logging feature with monolog
  12. Added: Fire event Error when something wrong happens
  13. Added: Add errorBubble to App to control whether error event is bubbled to parent
  14. Added: Make registerEvent and fireEvent public so that they can be called from outside of object
  15. Added: Add showRawValue property for count field of Category metric.
  16. Added: Allow dataSource() function receive parameters
  17. Added: Properties of fields now is able to receive function with standardized parameters $value and $row.
  18. Fixed: Remove extractProps() from TProps trait
  19. Added: TProps has ability to get property value by function simply by prefixing underscore(_) to the property name.
  20. Added: Ability to set property by anonymous function for all inputs
  21. Added: Ability to set property by anonymous function for all widgets
  22. Added: Ability to set property by anonymous function for all metrics
  23. Added: DataReady event for widgets, fired when data is queried and be available
  24. Added: hidden property for widgets
  25. Added: hasWidget() method to Dashboard to check if a widget is available
  26. Added: hasSibling() method to Widget to check if a sibling widget is available
  27. Added: Ability to perform search on table
  28. Added: Ability to perform search for file sources
  29. Added: Ability for Trend and Value metrics to work with array or file sources
  30. Added: Provide menu capability for Panel
  31. Added: Able to export widget or dashboard to pdf, png and jpg
  32. Added: Provide ChromeHeadlessio and LocalExport engine
  33. Added: Ability to get data view of an widget
  34. Added: Ability to show modal detail for widget
  35. Added: Ability to show table containing detail data for Google Charts
  36. Fixed: Change "after{Event}" to "beforeOn{Event}"
  37. Added: Add event handler "afterOn{Event}"
  38. Added: Widget is able to function inside detail modal
  39. Added: Ability to navigate to a dashboard by url
  40. Added: Add Dropdown inputs
  41. Added: Provide D3 chart library to widgets
  42. Added: Provide ChartJs library to widgets
  43. Added: Bring drilldown widget to dashboard
  44. Added: Ability to provide custom data process to handle data post-processing
  45. Added: Ability to call SQL procedure with parameters
  46. Added: CustomBoard is able to host multiple actions and views
  47. Added: Provide ajax method to the form inside CustomBoard
  48. Added: Modal now has 4 client events "onShow", "onShown", "onHide", "onHidden"
  49. Added: Add Toggle into input widget list
  50. Fixed: Encode request parameters and state to ensure value remain intact during transmission.
  51. Added: Provide TParamsPersisted trait that allows parameters of display widgets and metrics be persisted
  52. Added: Adding Html container to facilitate Html elements inside dashboard.
  53. Added: Provide exportedView() function to allow view customization for exporting.
  54. Added: Detail modal is able to set via property

Version 1.3.5 #

  1. Added: Ability to set CSRF token on each request
  2. Fixed: Able to work with CSRF rules from Laravel

Version 1.3.1 #

  1. Fixed: Disable code-cleaning before output as it causes trouble to textarea or pre element and potentially break html attributes.

Version 1.3.0 #

  1. Added: Control the responsive of table
  2. Fixed: Button onClick event is not working
  3. Added: Able to set widget's name by anonymous function
  4. Fixed: ClientDashboard javascript is not able to execute
  5. Fixed: ClientWidget javascript is not able to execute

Version 1.2.6 #

  1. Fixed: Not being responsive in Mobile
  2. Added: New property favicon to Application to show favicon
  3. Fixed: Not able to set title for Section and Group in menu
  4. Fixed: ClientDashboard command is not working with Button onClick
  5. Fixed: Not able to set number of second to cache() function
  6. Fixed: TField can auto generate fields for Table
  7. Added: Ability to set badge to Dashboard and Group menu
  8. Fixed: Ability to close the menu on mobile when click to menu item

Version 1.0.1 #

  1. Fixed: Showing deprecated (real) error in PHP7.4

Version 1.0.0 #

  1. The beginning, nothing to say!

Get started with KoolReport

KoolReport will help you to construct good php data report by gathering your data from multiple sources, transforming them into valuable insights, and finally visualizing them in stunning charts and graphs.