function updateInkBarStyles () {
    var elements = getElements();

    if (!elements.tabs[ ctrl.selectedIndex ]) {
      angular.element(elements.inkBar).css({ left: 'auto', right: 'auto' });
      return;
    }

    if (!ctrl.tabs.length) return queue.push(ctrl.updateInkBarStyles);
    // if the element is not visible, we will not be able to calculate sizes until it is
    // we should treat that as a resize event rather than just updating the ink bar
    if (!$element.prop('offsetParent')) return handleResizeWhenVisible();

    var index      = ctrl.selectedIndex,
        totalWidth = elements.paging.offsetWidth,
        tab        = elements.tabs[ index ],
        left       = tab.offsetLeft,
        right      = totalWidth - left - tab.offsetWidth;

    if (ctrl.shouldCenterTabs) {
      // We need to use the same calculate process as in the pagination wrapper, to avoid rounding deviations.
      var tabWidth = calcTabsWidth(elements.tabs);

      if (totalWidth > tabWidth) {
        $mdUtil.nextTick(updateInkBarStyles, false);
      }
    }
    updateInkBarClassName();
    angular.element(elements.inkBar).css({ left: left + 'px', right: right + 'px' });
  }
function updateInkBarStyles () {
    var elements = getElements();

    if (!elements.tabs[ ctrl.selectedIndex ]) {
      angular.element(elements.inkBar).css({ left: 'auto', right: 'auto' });
      return;
    }

    if (!ctrl.tabs.length) return queue.push(ctrl.updateInkBarStyles);
    
    
    if (!$element.prop('offsetParent')) return handleResizeWhenVisible();

    var index      = ctrl.selectedIndex,
        totalWidth = elements.paging.offsetWidth,
        tab        = elements.tabs[ index ],
        left       = tab.offsetLeft,
        right      = totalWidth - left - tab.offsetWidth;

    if (ctrl.shouldCenterTabs) {
      
      var tabWidth = calcTabsWidth(elements.tabs);

      if (totalWidth > tabWidth) {
        $mdUtil.nextTick(updateInkBarStyles, false);
      }
    }
    updateInkBarClassName();
    angular.element(elements.inkBar).css({ left: left + 'px', right: right + 'px' });
  }
function updateInkBarStyles ( ) { var elements = getElements ( ) ; if ( ! elements . tabs [ ctrl . selectedIndex ] ) { angular . element ( elements . inkBar ) . css ( { left : 'auto' , right : 'auto' } ) ; return ; } if ( ! ctrl . tabs . length ) return queue . push ( ctrl . updateInkBarStyles ) ; // if the element is not visible, we will not be able to calculate sizes until it is // we should treat that as a resize event rather than just updating the ink bar if ( ! $element . prop ( 'offsetParent' ) ) return handleResizeWhenVisible ( ) ; var index = ctrl . selectedIndex , totalWidth = elements . paging . offsetWidth , tab = elements . tabs [ index ] , left = tab . offsetLeft , right = totalWidth - left - tab . offsetWidth ; if ( ctrl . shouldCenterTabs ) { // We need to use the same calculate process as in the pagination wrapper, to avoid rounding deviations. var tabWidth = calcTabsWidth ( elements . tabs ) ; if ( totalWidth > tabWidth ) { $mdUtil . nextTick ( updateInkBarStyles , false ) ; } } updateInkBarClassName ( ) ; angular . element ( elements . inkBar ) . css ( { left : left + 'px' , right : right + 'px' } ) ; }
Repositions the ink bar to the selected tab.
@returns {*}
Repositions the ink bar to the selected tab .