Skip to content
timothyswt edited this page Nov 4, 2012 · 8 revisions

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 myPlugin();

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