Подтвердить что ты не робот

Использование констант ui-grid для отключения полос прокрутки

С последней версией ui-grid (v3.0.0-rc.16) можно развернуть горизонтальную и вертикальную полосу прокрутки. Я получил эту работу, обменяв

$scope.gridOptions.enableScrollbars = false;

с

$scope.gridOptions.enableHorizontalScrollbar = 0;
$scope.gridOptions.enableVerticalScrollbar = 0;

В источниках ui-сетки для полос прокрутки определены три константы:

scrollbars: {
  NEVER: 0,
  ALWAYS: 1,
  WHEN_NEEDED: 2
}

С учетом того факта, что ui-сетка по-прежнему нестабильна и очень часто менялась, я бы чувствовал себя более комфортно, используя эти константы, а не конкретные значения. Но как я могу получить к ним доступ?

Plunker: http://plnkr.co/edit/h0ewAZK616rKCH3T62te

4b9b3361

Ответ 1

Получил свой ответ на github:

Все, что мне нужно было сделать, это передать uiGridConstants на мой контроллер следующим образом:

angular.module('myApp').controller('myCtrl',function($scope,uiGridConstants) {
    ...

    $scope.gridOptions.enableHorizontalScrollbar = uiGridConstants.scrollbars.NEVER;

    ...
})

Ответ 2

С стилем Джона Папа:

ExampleController.$inject = ['$scope', 'uiGridConstants'];
function ExampleController($scope, uiGridConstants) {
    var vm = this;

    vm.gridOptions = {
        enableHorizontalScrollbar : uiGridConstants.scrollbars.NEVER,
        enableVerticalScrollbar   : uiGridConstants.scrollbars.NEVER
    };
}

Ответ 3

Обходной путь для этого (так как WHEN_NEEDED в настоящее время отключен) заключается в установке enableHorizontalScrollbar: 0 на ваши gridOptions, а затем в вашей таблице стилей есть следующее:

.ui-grid .ui-grid-render-container-body .ui-grid-viewport {
  overflow-x: auto !important;
}

Теперь горизонтальная полоса прокрутки отображается только при необходимости.