2 * angular-datatables - v0.5.4
3 * https://github.com/l-lin/angular-datatables
6 if (typeof module !== "undefined" && typeof exports !== "undefined" && module.exports === exports) {
7 module.exports = 'datatables.fixedcolumns';
9 (function(window, document, $, angular) {
13 // See https://datatables.net/extensions/fixedcolumns/
14 angular.module('datatables.fixedcolumns', ['datatables'])
15 .config(dtFixedColumnsConfig);
18 function dtFixedColumnsConfig($provide) {
19 $provide.decorator('DTOptionsBuilder', dtOptionsBuilderDecorator);
21 function dtOptionsBuilderDecorator($delegate) {
22 var newOptions = $delegate.newOptions;
23 var fromSource = $delegate.fromSource;
24 var fromFnPromise = $delegate.fromFnPromise;
26 $delegate.newOptions = function() {
27 return _decorateOptions(newOptions);
29 $delegate.fromSource = function(ajax) {
30 return _decorateOptions(fromSource, ajax);
32 $delegate.fromFnPromise = function(fnPromise) {
33 return _decorateOptions(fromFnPromise, fnPromise);
38 function _decorateOptions(fn, params) {
39 var options = fn(params);
40 options.withFixedColumns = withFixedColumns;
44 * Add fixed columns support
45 * @param fixedColumnsOptions the plugin options
46 * @returns {DTOptions} the options
48 function withFixedColumns(fixedColumnsOptions) {
49 options.fixedColumns = true;
50 if (fixedColumnsOptions) {
51 options.fixedColumns = fixedColumnsOptions;
57 dtOptionsBuilderDecorator.$inject = ['$delegate'];
59 dtFixedColumnsConfig.$inject = ['$provide'];
62 })(window, document, jQuery, angular);