@ui-grid/expandable

4.12.7 • Public • Published

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.

License

MIT

Package Sidebar

Install

npm i @ui-grid/expandable

Homepage

ui-grid.info

Weekly Downloads

66

Version

4.12.7

License

MIT

Unpacked Size

119 kB

Total Files

23

Last publish

Collaborators

  • moe.yang
  • mportuga