raw/angular-datatables/angular-datatables.js
function (options) {
        return {
          options: options,
          render: function ($scope, $elem) {
            var _this = this, expression = $elem.find('tbody').html(),
              // Find the resources from the comment <!-- ngRepeat: item in items --> displayed by angular in the DOM
              // This regexp is inspired by the one used in the "ngRepeat" directive
              match = expression.match(/^\s*.+\s+in\s+(\w*)\s*/), ngRepeatAttr = match[1];
            if (!match) {
              throw new Error('Expected expression in form of "_item_ in _collection_[ track by _id_]" but got "{0}".', expression);
            }
            var oTable, firstCall = true, alreadyRendered = false, parentScope = $scope.$parent;
            parentScope.$watch(ngRepeatAttr, function () {
              if (oTable && alreadyRendered && !_isDTOldVersion(oTable)) {
                oTable.ngDestroy();
              }
              // This condition handles the case the array is empty
              if (firstCall) {
                firstCall = false;
                $timeout(function () {
                  if (!alreadyRendered) {
                    oTable = _doRenderDataTable($elem, _this.options, $scope);
                    alreadyRendered = true;
                  }
                }, 1000, false);  // Hack I'm not proud of... Don't know how to do it otherwise...
              } else {
                $timeout(function () {
                  oTable = _doRenderDataTable($elem, _this.options, $scope);
                  alreadyRendered = true;
                }, 0, false);
              }
            }, true);
          }
        };
      }
function (options) {
        return {
          options: options,
          render: function ($scope, $elem) {
            var _this = this, expression = $elem.find('tbody').html(),
              // Find the resources from the comment <!-- ngRepeat: item in items --> displayed by angular in the DOM
              // This regexp is inspired by the one used in the "ngRepeat" directive
              match = expression.match(/^\s*.+\s+in\s+(\w*)\s*/), ngRepeatAttr = match[1];
            if (!match) {
              throw new Error('Expected expression in form of "_item_ in _collection_[ track by _id_]" but got "{0}".', expression);
            }
            var oTable, firstCall = true, alreadyRendered = false, parentScope = $scope.$parent;
            parentScope.$watch(ngRepeatAttr, function () {
              if (oTable && alreadyRendered && !_isDTOldVersion(oTable)) {
                oTable.ngDestroy();
              }
              // This condition handles the case the array is empty
              if (firstCall) {
                firstCall = false;
                $timeout(function () {
                  if (!alreadyRendered) {
                    oTable = _doRenderDataTable($elem, _this.options, $scope);
                    alreadyRendered = true;
                  }
                }, 1000, false);  // Hack I'm not proud of... Don't know how to do it otherwise...
              } else {
                $timeout(function () {
                  oTable = _doRenderDataTable($elem, _this.options, $scope);
                  alreadyRendered = true;
                }, 0, false);
              }
            }, true);
          }
        };
      }
function ( options ) { return { options : options , render : function ( $scope , $elem ) { var _this = this , expression = $elem . find ( 'tbody' ) . html ( ) , // Find the resources from the comment <!-- ngRepeat: item in items --> displayed by angular in the DOM // This regexp is inspired by the one used in the "ngRepeat" directive match = expression . match ( / ^\s*.+\s+in\s+(\w*)\s* / ) , ngRepeatAttr = match [ 1 ] ; if ( ! match ) { throw new Error ( 'Expected expression in form of "_item_ in _collection_[ track by _id_]" but got "{0}".' , expression ) ; } var oTable , firstCall = true , alreadyRendered = false , parentScope = $scope . $parent ; parentScope . $watch ( ngRepeatAttr , function ( ) { if ( oTable && alreadyRendered && ! _isDTOldVersion ( oTable ) ) { oTable . ngDestroy ( ) ; } // This condition handles the case the array is empty if ( firstCall ) { firstCall = false ; $timeout ( function ( ) { if ( ! alreadyRendered ) { oTable = _doRenderDataTable ( $elem , _this . options , $scope ) ; alreadyRendered = true ; } } , 1000 , false ) ; // Hack I'm not proud of... Don't know how to do it otherwise... } else { $timeout ( function ( ) { oTable = _doRenderDataTable ( $elem , _this . options , $scope ) ; alreadyRendered = true ; } , 0 , false ) ; } } , true ) ; } } ; }
Renderer for displaying the Angular way
@param options
@returns {{options: *}} the renderer
@constructor
Renderer for displaying the Angular way