@ui-grid/expandable
v4.12.7
Published
This module provides the ability to create subgrids inside ui-grid
Downloads
11
Readme
UI-Grid Expandable
The expandable plugin for UI-Grid provides the ability to have a subgrid in your grid.
Getting Started
You can install @ui-grid/expandable
via:
npm i --save @ui-grid/expandable
Once you install you need to load the respective JS and CSS files as seen bellow:
<link rel="stylesheet" href="/node_modules/@ui-grid/core/css/ui-grid.min.css" type="text/css">
<link rel="stylesheet" href="/node_modules/@ui-grid/expandable/css/ui-grid.expandable.min.css" type="text/css">
<script src="/node_modules/@ui-grid/core/js/ui-grid.core.min.js">
<script src="/node_modules/@ui-grid/expandable/js/ui-grid.expandable.min.js">
Alternatively, if you are using Webpack or RequireJS to load your dependencies, you can do the following at the top of the file that needs it:
require('@ui-grid/core');
require('@ui-grid/expandable');
Once you load the file, you need to include 'ui.grid.expandable' module in your angularJS app's dependencies, and add the ui-grid-expandable directive to your grid element.
angular.module('myApp', [
'ui.grid',
'ui.grid.expandable'
]);
<div ui-grid="$ctrl.gridOptions" ui-grid-expandable>
To show the subgrid you need to provide following grid options:
vm.gridOptions = {
// the template that will be used to render subgrid.
expandableRowTemplate: 'expandableRowTemplate.html',
// the height of the subgrid
expandableRowHeight: 140,
// the scope of the expanded subgrid
expandableRowScope: expandableScope
};
expandableRowTemplate will be the template for subgrid and expandableRowHeight will be the height of the subgrid. expandableRowScope can be used to add variables to the scope of expanded grid. These variables can then be accessed from expandableRowTemplate. The grid api provides the following events and methods for subGrids:
// rowExpandedStateChanged is fired for each row as its expanded:
gridApi.expandable.on.rowExpandedStateChanged($scope, function(row) {
// your logic here
});
// These can be used to expand/collapse all rows of the grid:
gridApi.expandable.expandAllRows();
gridApi.expandable.collapseAllRows();
Example
You can find an example of this plugin in action on our website
API Documentation
Documentation for this plugin is provided in the api documentation, but we recommend that you pay special attention to the following:
Issues
You can find issues that are specific to this UI-Grid plugin by looking for the label grid-expandable in the ui-grid github issues page.