diff --git a/CHANGE.md b/CHANGE.md index ffbcc63c..37a26aea 100755 --- a/CHANGE.md +++ b/CHANGE.md @@ -3,342 +3,347 @@ Change Log: `yii2-grid` ## Version 3.1.4 -**Date:** 11-Mar-2017 - -1. (enh #542): More correct group summation. -2. (enh #586, #587): Fix for expanding row on init. -3. (enh #588): Update Hungarian Translations. -4. (enh #592): Convert encoding for non UTF-8 content in CSV and Text exports. -5. (enh #572, #601): Silently disable PDF when dependency is not available. -6. (enh #600): Enhance security for ExportController actions using a stateless signature to prevent data tampering: +**Date:** 08-Jun-2017 + +- Updates to copyright year. +- (enh #626): Correct expand row jquery events to start with `kvexprow:` instead of `kvexprow.`. +- (bug #624): Call floatThead('reflow') after resizing columns so that the floating head is also resized. +- (enh #619): Correct nested expanded rows using `GridView::ROW_EXPANDED`. +- (enh #604): Fix PDF class name check error. +- (enh #601, #572): Silently disable PDF when dependency is not available. +- (enh #600): Enhance security for ExportController actions using a stateless signature to prevent data tampering: - New property `Module::exportEncryptSalt` available to generate a stateless hashed signature. - If `exportEncryptSalt` is not set, it will be randomly generated and stored in a session variable. - Export settings will be signed and the same data via POST will be cross checked using `yii\base\Security::hashData` and `yii\base\Security::validateData`. -7. (enh #604): Fix PDF class name check error. -8. Code enhancements for grid group. -9. (enh #619): Correct nested expanded rows using `GridView::ROW_EXPANDED`. -10. (bug #624): Call floatThead('reflow') after resizing columns so that the floating head is also resized. -11. (enh #626): Correct expand row jquery events to start with `kvexprow:` instead of `kvexprow.`. -12. Updates to copyright year. +- Code enhancements for grid group. +- (enh #592): Convert encoding for non UTF-8 content in CSV and Text exports. +- (enh #588): Update Hungarian Translations. +- (enh #587, #586): Fix for expanding row on init. +- (enh #542): More correct group summation. ## Version 3.1.3 **Date:** 22-Oct-2016 -1. (enh #554): Add ability to configure delete confirmation message within `ActionColumn::deleteOptions`. -2. (bug #556): Correct expandRow behavior when using with `detailUrl` pjax form. -3. (bug #557): Update Ukranian Translations. -4. (enh #561): Enhance `ExpandRowColumn` to better support nested grid views and nested tree expansion. -5. (enh #562): Enhance `EditableColumnAction` to support model scenario as a parameter. -6. (enh #564): Enhance page summary to render within table body and add new property`GridView::pageSummaryContainer`. -7. Enhance PHP Documentation for all classes and methods in the extension. -8. (enh #565): Better exported content parsing for header, footer, and page summary. -9. (enh #578): Update Italian Translations. -10. (enh #542, #579): Allow `thousandSep` config for grid group summary. -11. (enh #580): Update Dutch Translations. -12. (enh #581): Update Chinese Translations. -13. (enh #583): Add Gujarati and Hindi Translations. -14. (enh #584): Update Vietnamese Translations. -15. Update message config to include all default standard translation files. +- Update message config to include all default standard translation files. +- (enh #584): Update Vietnamese Translations. +- (enh #583): Add Gujarati and Hindi Translations. +- (enh #581): Update Chinese Translations. +- (enh #580): Update Dutch Translations. +- (enh #579, #542): Allow `thousandSep` config for grid group summary. +- (enh #578): Update Italian Translations. +- (enh #565): Better exported content parsing for header, footer, and page summary. +- Enhance PHP Documentation for all classes and methods in the extension. +- (enh #564): Enhance page summary to render within table body and add new property`GridView::pageSummaryContainer`. +- (enh #562): Enhance `EditableColumnAction` to support model scenario as a parameter. +- (enh #561): Enhance `ExpandRowColumn` to better support nested grid views and nested tree expansion. +- (bug #557): Update Ukranian Translations. +- (bug #556): Correct expandRow behavior when using with `detailUrl` pjax form. +- (enh #554): Add ability to configure delete confirmation message within `ActionColumn::deleteOptions`. ## Version 3.1.2 **Date:** 17-Aug-2016 -1. (enh #472): Having different editable models in one gridview column. -2. (enh #472): Update Spanish translations. -3. (enh #475): Correct grid grouping `formatNumber` JS method. -4. (enh #476): Improve responsiveness and control resizable columns for smaller devices. -5. (enh #479): Update default bootstrap css for HTML export of grid. -6. (enh #480): Enhance `EditableColumnAction` to find model better. -7. (enh #481): Add Ukranian translations. -8. (enh #485): Add Estonian translations. -9. (enh #490): Update Russian translations. -10. (enh #494): Add Latvian translations. -11. (enh #496): Add BOM to UTF-8 encoded text/CSV exports. -12. (enh #498): Option to set the checkbox attribute of checkboxColumn. -13. (enh #499): Option to set the value of the checkbox. -14. (enh #500): Raw data value attribute for grid columns grouping. -15. (bug #504): Fix toggle data minCount validation. -16. (enh #505, #508): Replaced `ExportController::getPostData` by native `Yii::$app->request->post()`. -17. (enh #506): Correct toggle data confirmation. -18. (enh #507): Purify HTML content for GridView HTML export. -19. (enh #510): Update French translations. -20. (enh #511): Select all option in grid view. -21. (enh #513): Fix `renderColumnGroup` for `DataColumn` with options and groupedRow. -22. (enh #514): Implement Krajee Dialog for all alerts and confirmation. -23. (enh #515): Implement ajax delete with pjax refresh for default delete action in `ActionColumn`. -24. (enh #517): Allow nested grids as part of `ExpandRowColumn`. -25. (enh #519): Toggle all data correction for non pjax grids. -26. (kartik-v/yii2-editable#124): Set output value after model save in `EditableColumnAction`. -27. (bug #532): Correct export download when using without confirm alert. -28. Add github contribution and issue/PR logging templates. -29. (bug #537): Correct export arg validation -30. (bug #538): Correct export callback validation -31. (enh #541, #543): Update French translations. +- (enh #541, #543): Update French translations. +- (bug #538): Correct export callback validation +- (bug #537): Correct export arg validation +- Add github contribution and issue/PR logging templates. +- (bug #532): Correct export download when using without confirm alert. +- (kartik-v/yii2-editable#124): Set output value after model save in `EditableColumnAction`. +- (enh #519): Toggle all data correction for non pjax grids. +- (enh #517): Allow nested grids as part of `ExpandRowColumn`. +- (enh #515): Implement ajax delete with pjax refresh for default delete action in `ActionColumn`. +- (enh #514): Implement Krajee Dialog for all alerts and confirmation. +- (enh #513): Fix `renderColumnGroup` for `DataColumn` with options and groupedRow. +- (enh #511): Select all option in grid view. +- (enh #510): Update French translations. +- (enh #507): Purify HTML content for GridView HTML export. +- (enh #506): Correct toggle data confirmation. +- (enh #508, #505): Replaced `ExportController::getPostData` by native `Yii::$app->request->post()`. +- (bug #504): Fix toggle data minCount validation. +- (enh #500): Raw data value attribute for grid columns grouping. +- (enh #499): Option to set the value of the checkbox. +- (enh #498): Option to set the checkbox attribute of checkboxColumn. +- (enh #496): Add BOM to UTF-8 encoded text/CSV exports. +- (enh #494): Add Latvian translations. +- (enh #490): Update Russian translations. +- (enh #485): Add Estonian translations. +- (enh #481): Add Ukranian translations. +- (enh #480): Enhance `EditableColumnAction` to find model better. +- (enh #479): Update default bootstrap css for HTML export of grid. +- (enh #476): Improve responsiveness and control resizable columns for smaller devices. +- (enh #475): Correct grid grouping `formatNumber` JS method. +- (enh #472): Update Spanish translations. +- (enh #470): Having different editable models in one gridview column. ## Version 3.1.1 **Date:** 10-Apr-2016 -1. (enh #443): Enhance to show header in exported content when setting `floatHeader`. -2. (enh #444): Set default PDF export encoding to utf8. -3. (enh #445): Set default pjaxSettings `enablePushState` to match yii pjax defaults. -4. (enh #450): Update Hungarian Translations. -5. (enh #455): Update German Translations. -6. (enh #457): Implement `array_replace_recursive` instead of `ArrayHelper::merge` for overriding defaults. -7. (enh #458): Add Slovak Translations. -8. (enh #461): Export configuration font awesome enhancements. -9. (enh #462): Fix responsiveness for smaller devices (resizableColumns overflow). +- (enh #462): Fix responsiveness for smaller devices (resizableColumns overflow). +- (enh #461): Export configuration font awesome enhancements. +- (enh #458): Add Slovak Translations. +- (enh #457): Implement `array_replace_recursive` instead of `ArrayHelper::merge` for overriding defaults. +- (enh #455): Update German Translations. +- (enh #450): Update Hungarian Translations. +- (enh #445): Set default pjaxSettings `enablePushState` to match yii pjax defaults. +- (enh #444): Set default PDF export encoding to utf8. +- (enh #443): Enhance to show header in exported content when setting `floatHeader`. ## Version 3.1.0 **Date:** 13-Jan-2016 -1. (enh #402): Correct casting of primary key in EditableColumn for composite and MongoId scenario. -2. (enh #407): Correct casting of primary key in ExpandRowColumn for composite and MongoId scenario. -3. (bug #434): Correct pjax validation for DataColumn. -4. (enh #436): Add branch alias for dev-master latest release. -5. (enh #437): Update Brazilian Portuguese Translations -6. (bug #438): Correct pjax validation for DataColumn. +- (bug #438): Correct pjax validation for DataColumn. +- (enh #437): Update Brazilian Portuguese Translations +- (enh #436): Add branch alias for dev-master latest release. +- (bug #434): Correct pjax validation for DataColumn. +- (enh #407): Correct casting of primary key in ExpandRowColumn for composite and MongoId scenario. +- (enh #402): Correct casting of primary key in EditableColumn for composite and MongoId scenario. ## Version 3.0.9 **Date:** 10-Jan-2016 -1. (enh #410, #413): Add Thai translations. -2. (bug #415): Fix double quote replace in csv export. -3. (enh #419): Create new `EditableColumnAction` class. -4. (enh #420): Enhance EditableColumn to pass current model `attribute` as ajax posted data. -5. Sort entries in message files. -6. (enh #431): Disable PJAX pushState by default to avoid plugin conflict on browser back forward. -7. (enh #432): Enhancements for PJAX reinitialization. +- (enh #432): Enhancements for PJAX reinitialization. +- (enh #431): Disable PJAX pushState by default to avoid plugin conflict on browser back forward. +- (enh #420): Enhance EditableColumn to pass current model `attribute` as ajax posted data. +- Sort entries in message files. +- (enh #419): Create new `EditableColumnAction` class. +- (bug #415): Fix double quote replace in csv export. +- (enh #413, #410): Add Thai translations. ## Version 3.0.8 **Date:** 05-Dec-2015 -1. (enh #303): Correct Safari specific limitation for jQuery slideDown animation in ExpandRowColumn. -2. (enh #347): New `defaultPagination` property to allow setting default to 'page' or 'all'. -3. (bug #370): Enhance `EditableColumn::refreshGrid` validation. -4. (bug #371): Allow `tag` to be set for rendering `beforeHeader`. -5. (enh #380): Allow toolbar and panel classes/layouts to be overridden. -6. (bug #387): Rename Czech translation message folder from `cz` to `cs`. -7. (enh #389): Various enhancements to table float header. -8. (enh #390): Perfect scroll bars plugin enhancement. -9. Various coding style enhancements, optimizations, and fixes. -10. (enh #391): Toggle data enhancement with confirmation dialog for show all and hide maxCount. -11. Regenerate and update message translations. -12. (enh #397): Updated Dutch Translations. -13. (enh #399): Correct resizableColumns initialization for PJAX. -14. (enh #410): Updated Czech Translations. -15. Update to release v1.3.2 of the `mkoryak/floatThead` plugin. +- Update to release v1.3.2 of the `mkoryak/floatThead` plugin. +- (enh #410): Updated Czech Translations. +- (enh #399): Correct resizableColumns initialization for PJAX. +- (enh #397): Updated Dutch Translations. +- Regenerate and update message translations. +- (enh #391): Toggle data enhancement with confirmation dialog for show all and hide maxCount. +- (enh #390): Perfect scroll bars plugin enhancement. +- Various coding style enhancements, optimizations, and fixes. +- (enh #389): Various enhancements to table float header. +- (bug #387): Rename Czech translation message folder from `cz` to `cs`. +- (enh #380): Allow toolbar and panel classes/layouts to be overridden. +- (bug #371): Allow `tag` to be set for rendering `beforeHeader`. +- (bug #370): Enhance `EditableColumn::refreshGrid` validation. +- (enh #347): New `defaultPagination` property to allow setting default to 'page' or 'all'. +- (enh #303): Correct Safari specific limitation for jQuery slideDown animation in ExpandRowColumn. ## Version 3.0.7 **Date:** 13-Sep-2015 -1. (enh #336): Add `enableCache` property in `ExpandRowColumn`. -2. (enh #352): Display expanded ajax content in ExpandRowColumn when initial value = ROW_EXPANDED. -3. (enh #354): Add options to set resizableColumns plugin options. -4. Better styling for revamped Select2 widget. -5. (enh #365): Validate disabled checkbox rows for highlight in CheckboxColumn. +- (enh #365): Validate disabled checkbox rows for highlight in CheckboxColumn. +- Better styling for revamped Select2 widget. +- (enh #354): Add options to set resizableColumns plugin options. +- (enh #352): Display expanded ajax content in ExpandRowColumn when initial value = ROW_EXPANDED. +- (enh #336): Add `enableCache` property in `ExpandRowColumn`. ## Version 3.0.6 **Date:** 15-Jul-2015 -1. (enh #338): Various enhancements for grid excel export formatting. +- (enh #338): Various enhancements for grid excel export formatting. ## Version 3.0.5 **Date:** 07-Jul-2015 -1. (enh #322): Send serialized `data-key` when ExpandRowColumn has a composite key. -2. (enh #323): Prevent `pjax:complete` init script being called multiple times. -3. (enh #325): Various enhancements to client script registrations. -4. (enh #326): Zero width joiner for excel exports. -5. (enh #328): Add Turkish translations. -6. (enh #334): Add grid grouping functionalities. +- (enh #334): Add grid grouping functionalities. +- (enh #328): Add Turkish translations. +- (enh #326): Zero width joiner for excel exports. +- (enh #325): Various enhancements to client script registrations. +- (enh #323): Prevent `pjax:complete` init script being called multiple times. +- (enh #322): Send serialized `data-key` when ExpandRowColumn has a composite key. ## Version 3.0.4 **Date:** 24-Jun-2015 -1. (enh #320): Trim trailing whitespaces from text/csv exports. -2. (enh #321): Add Indonesian translations. +- (enh #321): Add Indonesian translations. +- (enh #320): Trim trailing whitespaces from text/csv exports. ## Version 3.0.3 **Date:** 15-Jun-2015 -1. (enh #300): Add Lithuanian Translations. -2. (enh #301): Add Greek Translations. -3. (enh #310): Updated German Translations. -4. (enh #311): Better defaulting of Select2 `pluginOptions['width']`. -5. (enh #313): Add Czech translations. -6. (enh #317): Add missing spanish translations. -7. (enh #318): Fix post pjax `setTimeout` JS function. +- (enh #318): Fix post pjax `setTimeout` JS function. +- (enh #317): Add missing spanish translations. +- (enh #313): Add Czech translations. +- (enh #311): Better defaulting of Select2 `pluginOptions['width']`. +- (enh #310): Updated German Translations. +- (enh #301): Add Greek Translations. +- (enh #300): Add Lithuanian Translations. ## Version 3.0.2 **Date:** 11-May-2015 -1. (enh #261): Allow initialization of ExpandRowColumn cells even if they are hidden. -2. (enh #263): Added fa-IR (Farsi) translations. -3. (enh #268): Fix `BooleanColumn::falseIcon` default. -4. (enh #271): Better parsing of hidden columns to calculate ExpandRowColumn rowspan. -5. (enh #272): New property `ExpandRowColumn::expandOneOnly` to allow only one row to expand at a time. -6. (enh #282, #284): Allow disabling click behavior for specific elements when ExpandRowColumn::enableRowClick is `true`. -7. (enh #287): Allow columns to be highlighted on initialization of `CheckboxColumn`. -8. (enh #288): Enhance grid export plugin to clean up hyperlink tags within table header. -9. (enh #290): Allow `expandOneOnly` property behavior even if `allowBatchToggle` is set to `false`. -10. (enh #291): ExpandRowColumn styling enhancements. -11. (enh #296): Responsively wrap table columns for smaller screen devices. +- (enh #296): Responsively wrap table columns for smaller screen devices. +- (enh #291): ExpandRowColumn styling enhancements. +- (enh #290): Allow `expandOneOnly` property behavior even if `allowBatchToggle` is set to `false`. +- (enh #288): Enhance grid export plugin to clean up hyperlink tags within table header. +- (enh #287): Allow columns to be highlighted on initialization of `CheckboxColumn`. +- (enh #284, #282): Allow disabling click behavior for specific elements when ExpandRowColumn::enableRowClick is `true`. +- (enh #272): New property `ExpandRowColumn::expandOneOnly` to allow only one row to expand at a time. +- (enh #268): Fix `BooleanColumn::falseIcon` default. +- (enh #263): Added fa-IR (Farsi) translations. +- (enh #261): Allow initialization of ExpandRowColumn cells even if they are hidden. ## Version 3.0.1 **Date:** 14-Mar-2015 -1. (enh #176): Allow displayValue to be overridden for editable column. -2. (enh kartik-v/yii2-dynagrid#47): Set a timeout for plugin reinitialization on pjax complete. -3. (enh #229): Ability to set readonly rows in EditableColumn. -4. (enh #237): Parse valueIfNull correctly within EditableColumn editableOptions. -5. (enh #239): Updated Russian translations. -6. (enh #245): Various enhancements to grid pagination toggle. -7. (enh #247): Add ability to set `dropdownOptions` for `ActionColumn` dropdown. -8. (enh #249): Add new properties `toggleDataContainer` and `exportDataContainer` for controlling button group options. -9. (enh #250): Parse pjax setting in `toggleData` button to enable toggling pagination via pjax. -10. (bug #251): Fix ExpandRowColumn bug with disabled closure and unnecessary check for title. -11. (bug #252): Fix undefined `$filterInputOptions` in DataColumn. -12. (enh #253): Enhance EditableColumn `refreshGrid` behavior for multiple editable columns on the grid. -13. (enh #255): Enhance ExpandRowColumn to allow expand/collapse on row click. -14. (enh #256): New property `extraData` for sending extra data to ExpandRowColumn via ajax load call. -15. (enh #257): Fix for `detailOptions` to be set as Closure in ExpandRowColumn. +- (enh #257): Fix for `detailOptions` to be set as Closure in ExpandRowColumn. +- (enh #256): New property `extraData` for sending extra data to ExpandRowColumn via ajax load call. +- (enh #255): Enhance ExpandRowColumn to allow expand/collapse on row click. +- (enh #253): Enhance EditableColumn `refreshGrid` behavior for multiple editable columns on the grid. +- (bug #252): Fix undefined `$filterInputOptions` in DataColumn. +- (bug #251): Fix ExpandRowColumn bug with disabled closure and unnecessary check for title. +- (enh #250): Parse pjax setting in `toggleData` button to enable toggling pagination via pjax. +- (enh #249): Add new properties `toggleDataContainer` and `exportDataContainer` for controlling button group options. +- (enh #247): Add ability to set `dropdownOptions` for `ActionColumn` dropdown. +- (enh #245): Various enhancements to grid pagination toggle. +- (enh #239): Updated Russian translations. +- (enh #237): Parse valueIfNull correctly within EditableColumn editableOptions. +- (enh #229): Ability to set readonly rows in EditableColumn. +- (enh kartik-v/yii2-dynagrid#47): Set a timeout for plugin reinitialization on pjax complete. +- (enh #176): Allow displayValue to be overridden for editable column. ## Version 3.0.0 **Date:** 13-Feb-2015 -1. (bug #178): Enhance CheckboxColumn to allow contentOptions to be set as Closure. -2. (enh #178): New validation of contentOptions for all the extended grid Columns. -3. Code formatting updates as per Yii2 coding style. -4. (bug #180): Fix namespaces of classes. -5. Revamp to use new Krajee base Module and TranslationTrait. -6. (bug #183): Implement alignment validation for content within ActionColumn. -7. (bug #184): Correct the dependency on kartik\mpdf\Pdf for export. -8. (bug #185): Set right jQuery selector for grid table export. -9. (enh #186): New feature - Allow resizing of columns like a spreadsheet. -10. (enh #188): Eliminate filter row and all form inputs from export. -11. (enh #189): Various performance enhancements to client script and plugin registrations. -12. (bug #190): Allow editable beforeInput in EditableColumn to be passed as Closure. -13. (bug #191): Correct Closure namespace for `value` validation in GridView. -14. (bug #192): Correct value callback in `FormulaColumn`. -15. (enh #198): Better container for initializing `resizableColumns`. -16. (enh #200): Expand row loading indicator reset for ajax load. -17. (enh #202, #203): Fix grid container overflow and responsive property. -18. (enh #207): Fix EditableColumn to have absolute reference to Closure. -19. (enh #209): Code cleanup and restructure for various JS lint changes (using JSHint Code cleanup library). -20. (enh #213): Default `persistResize` to false to prevent client caching of column widths. -21. (bug #214): Fix EditableColumn Closure use bug. -22. (bug #215): Add Simplified Chinese message translations. -23. (bug #216): Fix resizable columns container identifier. -24. (enh #218): Allow gridview to be used as a sub-module. -25. (enh #221): Trim json exported fields by default. -26. (enh #226): Updated Russian Translations. -27. (enh #227): New grid column extension RadioColumn. -28. Set copyright year to current. +- (enh #227): New grid column extension RadioColumn. +- (enh #226): Updated Russian Translations. +- (enh #221): Trim json exported fields by default. +- (enh #218): Allow gridview to be used as a sub-module. +- (bug #216): Fix resizable columns container identifier. +- (bug #215): Add Simplified Chinese message translations. +- Set copyright year to current. +- (bug #214): Fix EditableColumn Closure use bug. +- (enh #213): Default `persistResize` to false to prevent client caching of column widths. +- (enh #209): Code cleanup and restructure for various JS lint changes (using JSHint Code cleanup library). +- (enh #207): Fix EditableColumn to have absolute reference to Closure. +- (enh #202, #203): Fix grid container overflow and responsive property. +- (enh #200): Expand row loading indicator reset for ajax load. +- (enh #198): Better container for initializing `resizableColumns`. +- (bug #192): Correct value callback in `FormulaColumn`. +- (bug #191): Correct Closure namespace for `value` validation in GridView. +- (bug #190): Allow editable beforeInput in EditableColumn to be passed as Closure. +- (enh #189): Various performance enhancements to client script and plugin registrations. +- (enh #188): Eliminate filter row and all form inputs from export. +- (enh #186): New feature - Allow resizing of columns like a spreadsheet. +- (bug #185): Set right jQuery selector for grid table export. +- (bug #184): Correct the dependency on kartik\mpdf\Pdf for export. +- (bug #183): Implement alignment validation for content within ActionColumn. +- Revamp to use new Krajee base Module and TranslationTrait. +- (bug #180): Fix namespaces of classes. +- Code formatting updates as per Yii2 coding style. +- (bug #178): Enhance CheckboxColumn to allow contentOptions to be set as Closure. +- (enh #178): New validation of contentOptions for all the extended grid Columns. ## Version 2.9.0 **Date:** 26-Dec-2014 -1. (bug #172): Ability to configure export form submission target. -2. (bug #173): Ability to configure display of confirmation alert dialog before export. +- (bug #173): Ability to configure display of confirmation alert dialog before export. +- (bug #172): Ability to configure export form submission target. ## Version 2.8.0 **Date:** 16-Dec-2014 -1. (bug #167): Fix Yii message parsing for Html5Input '$this->noSupport'. -2. (enh #168): Prevent user to rapidly toggle and break the expand row before expansion or collapse. -3. (enh #169): Enable itemsBefore and itemsAfter to be added for export dropdown menu. +- (enh #169): Enable itemsBefore and itemsAfter to be added for export dropdown menu. +- (enh #168): Prevent user to rapidly toggle and break the expand row before expansion or collapse. +- (bug #167): Fix Yii message parsing for Html5Input '$this->noSupport'. ## Version 2.7.0 **Date:** 02-Dec-2014 -1. (enh #150): New `ExpandRowColumn` added - allows to expand grid rows, show details, and load content via ajax. -2. (enh #152): Included `prepend` and `append` settings within `pageSummaryOptions` to prepend/append content to page summary. -3. (enh #154): Trap alert confirm dialog to allow export even after being hidden by browser **do not show** option. -4. (enh #156): Separate all JS / CSS assets and load only if the relevant functionality is needed. -5. (enh #157): Recursively replace/merge PDF export configuration correctly. -6. (enh #158): Include demo messages for auto generating via config. +- (enh #158): Include demo messages for auto generating via config. +- (enh #157): Recursively replace/merge PDF export configuration correctly. +- (enh #156): Separate all JS / CSS assets and load only if the relevant functionality is needed. +- (enh #154): Trap alert confirm dialog to allow export even after being hidden by browser **do not show** option. +- (enh #152): Included `prepend` and `append` settings within `pageSummaryOptions` to prepend/append content to page summary. +- (enh #150): New `ExpandRowColumn` added - allows to expand grid rows, show details, and load content via ajax. ## Version 2.6.0 **Date:** 19-Nov-2014 -1. (enh #139): German translations updated. -2. (enh #140): French translations added. -3. (bug #141): Enhance EditableColumn to have unique attribute input ids yet the same name. -4. (bug #142): Fix missing headers in export, due to improper floatThead settings. -5. (bug #143): Ability to disable / hide GridView panel footer. -6. (enh #144): Revamp templates to easily configure different parts of the grid panel layout. (_BC breaking change_). -7. (enh #145): Enhance style to enable floated header wrapper tables to autofit/expand inside panel. +- (enh #145): Enhance style to enable floated header wrapper tables to autofit/expand inside panel. +- (enh #144): Revamp templates to easily configure different parts of the grid panel layout. (_BC breaking change_). +- (bug #143): Ability to disable / hide GridView panel footer. +- (bug #142): Fix missing headers in export, due to improper floatThead settings. +- (bug #141): Enhance EditableColumn to have unique attribute input ids yet the same name. +- (enh #140): French translations added. +- (enh #139): German translations updated. #### BC Breaking Changes -1. Removed `showFooter` from `panel` array configuration. This can be now configured with `footer` option within the `panel`. -2. Removed `layout` from `panel` array configuration. This can be now configured with `panelTemplate` at the GridView level. -3. Renamed `beforeTemplate` property to `panelBeforeTemplate`. -4. Renamed `afterTemplate` property to `panelAfterTemplate`. -5. Renamed `beforeContent` tag used in `panelBeforeTemplate` to `before`. -6. Renamed `afterContent` tag to `panelAfterTemplate` to `after`. -7. EditableColumn attribute naming convention has changed. Developers do not need to use `Model::loadMultiple` method anymore and have the ability to directly use the `$model->load` method. +- Removed `showFooter` from `panel` array configuration. This can be now configured with `footer` option within the `panel`. +- Removed `layout` from `panel` array configuration. This can be now configured with `panelTemplate` at the GridView level. +- Renamed `beforeTemplate` property to `panelBeforeTemplate`. +- Renamed `afterTemplate` property to `panelAfterTemplate`. +- Renamed `beforeContent` tag used in `panelBeforeTemplate` to `before`. +- Renamed `afterContent` tag to `panelAfterTemplate` to `after`. +- EditableColumn attribute naming convention has changed. Developers do not need to use `Model::loadMultiple` method anymore and have the ability to directly use the `$model->load` method. #### Additions -1. Templates have been simplified and consolidated to the following configurable properties: +- Templates have been simplified and consolidated to the following configurable properties: - `panelTemplate`: Template to render the complete grid panel. - `panelHeadingTemplate`: Template to render the heading block part of the panel. - `panelBeforeTemplate`: Template to render the before block part of the panel. - `panelAfterTemplate`: Template to render the after block part of the panel. - `panelFooterTemplate`: Template to render the footer block part of the panel. -2. The `heading`, `footer`, `before`, and `after` properties in the `panel` typically accepts a string to render in that particular block. All of these can be set to boolean `false` to hide them. -3. HTML attributes for each of the above containers are now configurable i.e via `headingOptions`, `footerOptions`, `beforeOptions`, and `afterOptions` properties in the `panel` array configuration. -4. Vast enhancements to CSS styling when using Float Table Header wrapper. This now ensures tables auto fits and expand rightly to fit inside the panel. +- The `heading`, `footer`, `before`, and `after` properties in the `panel` typically accepts a string to render in that particular block. All of these can be set to boolean `false` to hide them. +- HTML attributes for each of the above containers are now configurable i.e via `headingOptions`, `footerOptions`, `beforeOptions`, and `afterOptions` properties in the `panel` array configuration. +- Vast enhancements to CSS styling when using Float Table Header wrapper. This now ensures tables auto fits and expand rightly to fit inside the panel. ## Version 2.5.0 **Date:** 17-Nov-2014 -1. (bug #135): Upgrade to latest release of floatTHeader plugin. -2. (bug #136): Fix IE specific errors in floatHeader when columns are hidden. +- (bug #136): Fix IE specific errors in floatHeader when columns are hidden. +- (bug #135): Upgrade to latest release of floatTHeader plugin. ## Version 2.4.0 **Date:** 14-Nov-2014 -1. (bug #132): Correct page summary calculation. -2. (bug #133): Skip mPDF dependency when export is set to false. +- (bug #133): Skip mPDF dependency when export is set to false. +- (bug #132): Correct page summary calculation. ## Version 2.3.0 **Date:** 07-Nov-2014 -1. (bug #87): Fix key as object in mongodb. -2. (enh #116): Vietnamese translations added. -3. (enh #121): Portugese translations added. -4. (enh #122): Hungarian translations added. -5. (enh #127): Enhance dependency validation and ability to install optional packages. -6. (bug #131): Fix missing `options` in `toggleDataOptions` initialization. -7. First stable release +- (bug #131): Fix missing `options` in `toggleDataOptions` initialization. +- (enh #127): Enhance dependency validation and ability to install optional packages. +- (enh #122): Hungarian translations added. +- (enh #121): Portugese translations added. +- (enh #116): Vietnamese translations added. +- (bug #87): Fix key as object in mongodb. ## Version 2.2.0 **Date:** 04-Nov-2014 -1. (enh #110): Various export functionality enhancements): +- (enh #122): Add Hungarian translations. +- (enh #121): Add Portugese translations. +- (bug #118): Validate if `toggleGridData` is used in the extension. +- (enh #115): Add ability to plugin `yii2-export` extension for full grid data export. +- (enh #114): Add `hiddenFromExport` property for all grid columns. +- (enh #113): Enhance the PDF export generation method to allow generation of formatted reports. +- (enh #112): Toggle data button to allow toggling between **all data** and **paginated data**. +- (enh #110): Various export functionality enhancements): - Add a separate export popup progress window. - Setup a confirmation prompt to allow user to confirm if file is to be downloaded. - Separate `messages` configuration for all export related notifications. @@ -349,71 +354,60 @@ Change Log: `yii2-grid` - PDF export (using `yii2-mpdf` extension) - Add functionality for full data export - Enhance icons formatting for export file types (and beautify optionally using font awesome) -2. (enh #112): Toggle data button to allow toggling between **all data** and **paginated data**. -3. (enh #113): Enhance the PDF export generation method to allow generation of formatted reports. -4. (enh #114): Add `hiddenFromExport` property for all grid columns. -5. (enh #115): Add ability to plugin `yii2-export` extension for full grid data export. -6. (bug #118): Validate if `toggleGridData` is used in the extension. -7. (enh #121): Portugese translations. -8. (enh #122): Hungarian translations. ## Version 2.1.0 **Date:** 25-Oct-2014 -1. (enh #94): Enhance and revamp toolbar. -2. (enh #95): Enhance export button dropdown feature. -3. (enh #96): Grid Plugins): Add ability to replace tags in gridview rendered layout. -4. (enh #99): Grid Export Plugins): Add ability to extend export dropdown. -5. (enh #106): Set right class for GridView):):FILTER_DATE_RANGE. -6. (enh #107): Cleanup and refactor GridView class code for better extensibility. -7. (enh #111): Fix export button dropdown menu display for IE. +- (enh #111): Fix export button dropdown menu display for IE. +- (enh #107): Cleanup and refactor GridView class code for better extensibility. +- (enh #106): Set right class for GridView):):FILTER_DATE_RANGE. +- (enh #99): Grid Export Plugins): Add ability to extend export dropdown. +- (enh #96): Grid Plugins): Add ability to replace tags in gridview rendered layout. +- (enh #95): Enhance export button dropdown feature. +- (enh #94): Enhance and revamp toolbar. ## Version 2.0.0 **Date:** 14-Sep-2014 -1. (enh #80): Add hidden property for columns to be hidden from display but available on export. -2. (bug #81): CSS class `kv-grid-hide` configured for hidden columns. -3. (enh #82): Created a reusable `ColumnTrait` for all custom yii2-grid columns. -4. (enh #83): Upgraded jQuery floatTheader plugin to latest version. -5. (bug #85, #87, #88): Enhance EditableColumn to capture keys of various data types -6. PSR 4 alias change -7. (bug #92): Bug fix for generating multiple rows in header/footer. +- (bug #92): Bug fix for generating multiple rows in header/footer. +- PSR 4 alias change +- (bug #88, #87, #85): Enhance EditableColumn to capture keys of various data types +- (enh #83): Upgraded jQuery floatTheader plugin to latest version. +- (enh #82): Created a reusable `ColumnTrait` for all custom yii2-grid columns. +- (bug #81): CSS class `kv-grid-hide` configured for hidden columns. +- (enh #80): Add hidden property for columns to be hidden from display but available on export. ## Version 1.9.0 **Date:** 21-Aug-2014 -1. (enh #65): Various enhancements to the widget to work with Pjax -2. (enh #67): Fix Chrome bug for displaying loading indicator on tbody. -3. (enh #72): Enhancement for EditableColumn `beforeInput` and `afterInput`. -4. (enh #73): Enhancement for EditableColumn options to be configured as callback. -5. (enh #74,76): Enhance EditableColumn to allow grid refresh on successful update. - +- (enh #74,76): Enhance EditableColumn to allow grid refresh on successful update. +- (enh #73): Enhancement for EditableColumn options to be configured as callback. +- (enh #72): Enhancement for EditableColumn `beforeInput` and `afterInput`. +- (enh #67): Fix Chrome bug for displaying loading indicator on tbody. +- (enh #65): Various enhancements to the widget to work with Pjax ## Version 1.8.0 - **Date:** 01-Aug-2014 -1. (enh #58, #59): Russian language translation included -2. (enh #60): Added a new `EditableColumn` column to the grid that uses the enhanced `kartik\editable\Editable` widget to make the grid content editable. +- (enh #60): Added a new `EditableColumn` column to the grid that uses the enhanced `kartik\editable\Editable` widget to make the grid content editable. +- (enh #59, #58): Russian language translation included ## Version 1.7.0 - **Date:** 14-Jul-2014 -1. (enh #57): Added `containerOptions` to grid layout for allowing configuration of the grid table container. This can be set to +- (enh #57): Added `containerOptions` to grid layout for allowing configuration of the grid table container. This can be set to `false` to not display the container. ## Version 1.6.0 - **Date:** 10-Jul-2014 -1. (enh #54): Grid Export Enhancements +- (enh #54): Grid Export Enhancements - Ability to preprocess and convert column data to your desired value before exporting. For example convert the HTML formatted icons for BooleanColumn to user friendly text like `Active` or `Inactive` after export. - Hide any row or column in the grid by adding one or more of the following CSS classes): - `skip-export`): Will skip this element during export for all formats (`html`, `csv`, `txt`, `xls`). @@ -422,56 +416,52 @@ Change Log: `yii2-grid` - `skip-export-txt`): Will skip this element during export only for `txt` export format. - `skip-export-xls`): Will skip this element during export only for `xls` (excel) export format. These CSS can be set virtually anywhere. For example `headerOptions`, `contentOptions`, `beforeHeader` etc. +- (enh #52): Upgraded float header plugin -2. (enh #52): Upgraded float header plugin - -3. Enhanced panel footer to have a consistent height whether pagination is displayed or not. +- Enhanced panel footer to have a consistent height whether pagination is displayed or not. -4. `BooleanColumn` icons have been setup as `ICON_ACTIVE` and `ICON_INACTIVE` constants in GridView. +- `BooleanColumn` icons have been setup as `ICON_ACTIVE` and `ICON_INACTIVE` constants in GridView. -5. `ActionColumn` content by default has been disabled to appear in export output. The `skip-export` CSS class has been set as default in `headerOptions` and `contentOptions`. +- `ActionColumn` content by default has been disabled to appear in export output. The `skip-export` CSS class has been set as default in `headerOptions` and `contentOptions`. ## Version 1.5.0 - **Date:** 04-Jul-2014 -1. (enh #51): Enhanced GridView header and footer, to include additional headers/footers before or after default header/footer. +- (enh #51): Enhanced GridView header and footer, to include additional headers/footers before or after default header/footer. The properties below can be set as an array or string): - Added `beforeHeader` property to configure additional header rows before the default grid header. - Added `afterHeader` property to configure additional header rows after the default grid header. - Added `beforeFooter` property to configure additional footer rows before the default grid footer. - Added `afterFooter` property to configure additional footer rows after the default grid footer. -2. Fixes #26 to #50. +- Fixes #26 to #50. ## Version 1.4.0 **Date:** 29-Apr-2014 -1. (enh #25): Allow highlighting of selected row for a CheckboxColumn +- (enh #25): Allow highlighting of selected row for a CheckboxColumn - Added `rowHighlight` property to set if a row needs to be highlighted - Added `rowSelectedClass` property to configure the CSS class for the highlighted row. -2. Fixes #20 to #24. +- Fixes #20 to #24. ## Version 1.3.0 - **Date:** 18-Apr-2014 -1. (enh #19): Gridview enhancements (export, toolbar, iframe) +- (enh #19): Gridview enhancements (export, toolbar, iframe) - Enable rendering of export without panel by passing `{export}` variable to grid `layout` property. - Enable rendering of toolbar without panel by passing `{toolbar}` variable to grid `layout` property. - Revamp export form to be submitted in a new window (in a non-intrusive manner) -2. Fixes #1 to #19. +- Fixes #1 to #19. ## Version 1.2.0 - **Date:** 22-Mar-2014 -1. Converted the extension into a module. -2. Export features enhanced for use across all browsers): +- Converted the extension into a module. +- Export features enhanced for use across all browsers): - Save displayed grid as HTML - Save displayed grid as CSV - Save displayed grid as TEXT @@ -479,18 +469,16 @@ Change Log: `yii2-grid` ## Version 1.1.0 - **Date:** 15-Mar-2014 -1. Export features added through a brand new custom JQuery plugin): +- Export features added through a brand new custom JQuery plugin): - Save displayed grid as HTML - Save displayed grid as CSV -2. Templates to modify positioning of the export menu and the panel before and after contents -3. Ability to display toolbar in the header. +- Templates to modify positioning of the export menu and the panel before and after contents +- Ability to display toolbar in the header. ## Version 1.0.0 - **Date:** 10-Mar-2014 -Initial release +Initial release \ No newline at end of file diff --git a/assets/js/kv-grid-group.js b/assets/js/kv-grid-group.js index 5e459282..3671e19b 100755 --- a/assets/js/kv-grid-group.js +++ b/assets/js/kv-grid-group.js @@ -149,7 +149,7 @@ var kvGridGroup; data = getSummarySource($tr, $td, i, decPoint, thousandSep); return func(data); } - return ''; + return source; }; calculate = function (data, func) { var i, fn, out = 0, n = data && data.length || 0; diff --git a/assets/js/kv-grid-group.min.js b/assets/js/kv-grid-group.min.js index 898bfad9..2e57465a 100755 --- a/assets/js/kv-grid-group.min.js +++ b/assets/js/kv-grid-group.min.js @@ -10,4 +10,4 @@ * Copyright: 2015, Kartik Visweswaran, Krajee.com * For more JQuery plugins visit http://plugins.krajee.com * For more Yii related demos visit http://demos.krajee.com - */var kvGridGroup;!function(t){"use strict";kvGridGroup=function(a){var r,e,n,o,d,i,u,s,c,f,l,g,h,p,v,m,k,y,w,q,x,C;for(r=t("#"+a),e={},n=[],u=0,s=r.find("tr.kv-page-summary"),c=r.find("tr[data-key]:first"),f=r.find("tr[data-key]:last"),l=function(t){return void 0===t||null===t||0===t.length},g=function(){var a=0;s.length&&s.find("td").each(function(){t(this).attr("data-col-seq",a),a++})},h=function(t,a,r,e,n){var o="\\d(?=(\\d{"+(n||3)+"})+"+(t>0?"\\D":"$")+")",d=parseFloat(t),i=parseInt(a);return isNaN(d)?"":(d=d.toFixed(isNaN(i)||0>i?0:i),(r?d.replace(".",r):d).replace(new RegExp(o,"g"),"$&"+(e||",")))},p=function(t){var a,r,e,n,o=t.attr("data-sub-group-of");if(l(o))return null;if(n='td[data-col-seq="'+o+'"]',a=t.closest("tr"),r=a.find(n),e=r.length,e>0)return r;for(;0===e&&a.length;)a=a.prev(),r=a.find(n),e=r.length;return 0===e?null:r},v=function(t,a){var r=t.attr("data-group-key"),e=0,n=a;if(a.attr("data-last-row"))return a;for(;0===e&&n.length;)n=a,a=a.next(),e=a.find('td[data-group-key="'+r+'"]').length;return n.length?n:f},m=function(t,a,r){var e,n;return t&&t.length?(t.is("[data-raw-value]")?n=t.attr("data-raw-value"):(n=t.text(),e=new RegExp("[\\s"+r+"]","g"),n=n.replace(e,""),a&&"."!==a&&(n=n.replace(a,"."))),n?parseFloat(n):0):0},k=function(a,r,e,n,o){var d=1,i=[],u=a,s=u.hasClass("kv-grid-group-row"),c=r.attr("rowspan")||1;if(s)for(d=!1,u=u.next(":not(.kv-grid-group-row");!d&&u.length;)u.find('td[data-col-seq="'+e+'"]').each(function(){i.push(m(t(this),n,o))}),d=u.hasClass("kv-grid-group-row"),u=u.next();else for(;c>=d&&u.length;)u.find('td[data-col-seq="'+e+'"]').each(function(){i.push(m(t(this),n,o))}),u=u.next(),d++;return i},y=function(t,a,r,e,n){var o,d,i,u,s,c,f;return i=n.decimals||0,u=n.decPoint||".",s=n.thousandSep||",",d=n.format||"",f=n.func?window[n.func]:"","number"===d?(c=k(a,r,e,u,s),o=C(c,t),h(o,i,u,s)):"callback"===d&&"function"==typeof f?(c=k(a,r,e,u,s),f(c)):""},C=function(t,a){var r,e,n=0,o=t&&t.length||0;if(!o)return"";switch(a){case"f_count":return o;case"f_sum":case"f_avg":for(r=0;o>r;r++)n+=t[r];return"f_sum"===a?n:n/o;case"f_max":case"f_min":return e="f_max"===a?"max":"min",Math[e].apply(null,t);default:return""}},w=function(t,a){a=a||1;var r=t.attr("rowspan")||1;r=parseInt(r)+a,t.attr("rowspan",r)},q=function(){var a,r=[];if(f.nextAll("tr.kv-group-footer").each(function(){r.push(t(this))}),r.length)for(a=0;an&&a.before(e))})):(l=v(a,o),k&&l.hasClass("kv-grid-group-row")?l.before(s):l.after(s)),m.mergeColumns&&m.mergeColumns.length&&t.each(m.mergeColumns,function(a,r){var e=r[0],n=r[1],o=0,d="";e>-1&&n>-1&&(s.find("td").each(function(){var a=t(this);u=a.attr("data-summary-col-seq"),u>=e&&n>=u&&(d+=a.html(),o++)}),s.find("td").each(function(){var a=t(this);u=a.attr("data-summary-col-seq"),u>e&&n>=u?a.remove():u==e&&a.attr("colspan",o).html(d)}))}))},g(),r.find("td.kv-grid-group").each(function(){var a=t(this),r=t(this).attr("data-group-key");r&&(t.inArray(r,n)<0&&n.push(r),void 0===e[r]?e[r]=[a]:e[r].push(a))}),t.each(n,function(a,r){var n,o,d=e[r],i=1,u=0,s="",c="",f="",l="";t.each(d,function(t,r){s=r.text().trim(),n=d[u],a>0?(o=p(r),o&&o.length&&(c=o.attr("data-cell-key")),l=c?c+"-"+s:s):l=s,r.attr("data-cell-key",l),l==f?(i++,n.attr("rowspan",i),r.addClass("kv-temp-cells").hide()):(u=t,i=1),f=l})}),r.find("td.kv-grid-group.kv-temp-cells").remove(),t.each(n,function(a,e){var n=0;r.find('td[data-group-key="'+e+'"]').each(function(){var a,r=t(this),e=n%2>0?r.attr("data-odd-css"):r.attr("data-even-css");e&&r.removeClass(e).addClass(e),r.is("[data-grouped-row]")&&(a=t(document.createElement("tr")).addClass("kv-grid-group-row"),r.closest("tr").before(a),r.removeAttr("rowspan").appendTo(a).css("width","auto")),n++})}),o=r.find("tr.kv-grid-group-row"),o.length&&(u=r.find("tr[data-key]:first > td").length,u&&o.each(function(){t(this).find(">td").attr("colspan",u)}),o.find("td[data-group-key]").each(function(){var a=t(this).data("groupKey"),e=r.find(".kv-grid-group-header[data-group-key]"),n=r.find(".kv-grid-group-filter[data-group-key]");t(this).closest("tr").data("groupKey",a),e.length&&r.find('.kv-grid-group-header[data-group-key="'+a+'"]').remove(),n.length&&r.find('.kv-grid-group-filter[data-group-key="'+a+'"]').remove()})),f.attr("data-last-row",1),i=n.length-1,d=i;d>=0;d--)r.find('td[data-group-key="'+n[d]+'"]').each(function(){x(t(this),"groupFooter")});for(d=0;i>=d;d++)r.find('td[data-group-key="'+n[d]+'"]').each(function(){x(t(this),"groupHeader")});q()}}(window.jQuery); \ No newline at end of file + */var kvGridGroup;!function(t){"use strict";kvGridGroup=function(a){var r,e,n,o,d,i,u,s,c,f,l,g,h,p,v,m,k,y,w,q,x,C;for(r=t("#"+a),e={},n=[],u=0,s=r.find("tr.kv-page-summary"),c=r.find("tr[data-key]:first"),f=r.find("tr[data-key]:last"),l=function(t){return void 0===t||null===t||0===t.length},g=function(){var a=0;s.length&&s.find("td").each(function(){t(this).attr("data-col-seq",a),a++})},h=function(t,a,r,e,n){var o="\\d(?=(\\d{"+(n||3)+"})+"+(t>0?"\\D":"$")+")",d=parseFloat(t),i=parseInt(a);return isNaN(d)?"":(d=d.toFixed(isNaN(i)||0>i?0:i),(r?d.replace(".",r):d).replace(new RegExp(o,"g"),"$&"+(e||",")))},p=function(t){var a,r,e,n,o=t.attr("data-sub-group-of");if(l(o))return null;if(n='td[data-col-seq="'+o+'"]',a=t.closest("tr"),r=a.find(n),e=r.length,e>0)return r;for(;0===e&&a.length;)a=a.prev(),r=a.find(n),e=r.length;return 0===e?null:r},v=function(t,a){var r=t.attr("data-group-key"),e=0,n=a;if(a.attr("data-last-row"))return a;for(;0===e&&n.length;)n=a,a=a.next(),e=a.find('td[data-group-key="'+r+'"]').length;return n.length?n:f},m=function(t,a,r){var e,n;return t&&t.length?(t.is("[data-raw-value]")?n=t.attr("data-raw-value"):(n=t.text(),e=new RegExp("[\\s"+r+"]","g"),n=n.replace(e,""),a&&"."!==a&&(n=n.replace(a,"."))),n?parseFloat(n):0):0},k=function(a,r,e,n,o){var d=1,i=[],u=a,s=u.hasClass("kv-grid-group-row"),c=r.attr("rowspan")||1;if(s)for(d=!1,u=u.next(":not(.kv-grid-group-row");!d&&u.length;)u.find('td[data-col-seq="'+e+'"]').each(function(){i.push(m(t(this),n,o))}),d=u.hasClass("kv-grid-group-row"),u=u.next();else for(;c>=d&&u.length;)u.find('td[data-col-seq="'+e+'"]').each(function(){i.push(m(t(this),n,o))}),u=u.next(),d++;return i},y=function(t,a,r,e,n){var o,d,i,u,s,c,f;return i=n.decimals||0,u=n.decPoint||".",s=n.thousandSep||",",d=n.format||"",f=n.func?window[n.func]:"","number"===d?(c=k(a,r,e,u,s),o=C(c,t),h(o,i,u,s)):"callback"===d&&"function"==typeof f?(c=k(a,r,e,u,s),f(c)):t},C=function(t,a){var r,e,n=0,o=t&&t.length||0;if(!o)return"";switch(a){case"f_count":return o;case"f_sum":case"f_avg":for(r=0;o>r;r++)n+=t[r];return"f_sum"===a?n:n/o;case"f_max":case"f_min":return e="f_max"===a?"max":"min",Math[e].apply(null,t);default:return""}},w=function(t,a){a=a||1;var r=t.attr("rowspan")||1;r=parseInt(r)+a,t.attr("rowspan",r)},q=function(){var a,r=[];if(f.nextAll("tr.kv-group-footer").each(function(){r.push(t(this))}),r.length)for(a=0;an&&a.before(e))})):(l=v(a,o),k&&l.hasClass("kv-grid-group-row")?l.before(s):l.after(s)),m.mergeColumns&&m.mergeColumns.length&&t.each(m.mergeColumns,function(a,r){var e=r[0],n=r[1],o=0,d="";e>-1&&n>-1&&(s.find("td").each(function(){var a=t(this);u=a.attr("data-summary-col-seq"),u>=e&&n>=u&&(d+=a.html(),o++)}),s.find("td").each(function(){var a=t(this);u=a.attr("data-summary-col-seq"),u>e&&n>=u?a.remove():u==e&&a.attr("colspan",o).html(d)}))}))},g(),r.find("td.kv-grid-group").each(function(){var a=t(this),r=t(this).attr("data-group-key");r&&(t.inArray(r,n)<0&&n.push(r),void 0===e[r]?e[r]=[a]:e[r].push(a))}),t.each(n,function(a,r){var n,o,d=e[r],i=1,u=0,s="",c="",f="",l="";t.each(d,function(t,r){s=r.text().trim(),n=d[u],a>0?(o=p(r),o&&o.length&&(c=o.attr("data-cell-key")),l=c?c+"-"+s:s):l=s,r.attr("data-cell-key",l),l==f?(i++,n.attr("rowspan",i),r.addClass("kv-temp-cells").hide()):(u=t,i=1),f=l})}),r.find("td.kv-grid-group.kv-temp-cells").remove(),t.each(n,function(a,e){var n=0;r.find('td[data-group-key="'+e+'"]').each(function(){var a,r=t(this),e=n%2>0?r.attr("data-odd-css"):r.attr("data-even-css");e&&r.removeClass(e).addClass(e),r.is("[data-grouped-row]")&&(a=t(document.createElement("tr")).addClass("kv-grid-group-row"),r.closest("tr").before(a),r.removeAttr("rowspan").appendTo(a).css("width","auto")),n++})}),o=r.find("tr.kv-grid-group-row"),o.length&&(u=r.find("tr[data-key]:first > td").length,u&&o.each(function(){t(this).find(">td").attr("colspan",u)}),o.find("td[data-group-key]").each(function(){var a=t(this).data("groupKey"),e=r.find(".kv-grid-group-header[data-group-key]"),n=r.find(".kv-grid-group-filter[data-group-key]");t(this).closest("tr").data("groupKey",a),e.length&&r.find('.kv-grid-group-header[data-group-key="'+a+'"]').remove(),n.length&&r.find('.kv-grid-group-filter[data-group-key="'+a+'"]').remove()})),f.attr("data-last-row",1),i=n.length-1,d=i;d>=0;d--)r.find('td[data-group-key="'+n[d]+'"]').each(function(){x(t(this),"groupFooter")});for(d=0;i>=d;d++)r.find('td[data-group-key="'+n[d]+'"]').each(function(){x(t(this),"groupHeader")});q()}}(window.jQuery); \ No newline at end of file