Skip to content
This repository has been archived by the owner on Sep 8, 2020. It is now read-only.

Plugins

Marcelo Sauerbrunn Portugal edited this page Jun 11, 2018 · 1 revision

Creating Plugins


Example of a plugin as a function:

myFuncPlugin = function(){
    var self = this;

    self.someVar1 = "Hello";
    self.someVar2 = "World";
    //@new child scope of the Grid scope for you to create watches or whatever you want.
    //@gridInstance = instance of the grid object where the plugin is initialized.
    self.init = function(childScope, gridInstance){
        //initialize plugin vars and functions here.
    };
};
var pluginInstance = new myFuncPlugin();

Or you can use a json notation:

myJsonPlugin = {
    someVar1: "Foo",
    someVar2: "Bar",
    //@new child scope of the Grid scope for you to create watches or whatever you want.
    //@gridInstance = instance of the grid object where the plugin is initialized.
    init: function(childScope, gridInstance){
        //initialize plugin vars and functions here.
    }
};

An example of a column reordering plugin can be found here

Registering plugins


To register a plugin you need to pass it to the ng-grid directive as part of the options object:

function userController($scope) {
    var self = this;

    self.pluginOne = new myFuncPlugin();
    self.pluginTwo = myJsonPlugin;
    self.myData = [
        {name: "Moroni", age: 50},
        {name: "Tiancum", age: 43},
        {name: "Jacob", age: 27},
        {name: "Nephi", age: 29},
        {name: "Enos", age: 34}
    ];
    $scope.gridOptions = {
        data: self.myData,
        plugins: [ self.pluginOne, self.pluginTwo ]
    };
}
Clone this wiki locally