Uso de constantes de ui-grid para deshabilitar las barras de desplazamiento


Con la última versión de ui-grid (v3.0.0-rc.16) es posible desactivar la barra de desplazamiento horizontal y vertical por separado. Conseguí esto trabajando intercambiando

$scope.gridOptions.enableScrollbars = false;

Con

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

En las fuentes de ui-grid hay tres Constantes definidas para las barras de desplazamiento:

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

Frente al hecho de que ui-grid todavía es inestable y cambia muy a menudo, me sentiría más cómodo usando esas constantes en lugar de los valores específicos. Pero cómo puedo acceder a ellos ?

Émbolo: http://plnkr.co/edit/h0ewAZK616rKCH3T62te

Author: nabinca, 2014-11-14

3 answers

Tengo mi respuesta en github:

Todo lo que necesitaba hacer era pasar uiGridConstants a mi controlador de esta manera:

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

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

    ...
})
 47
Author: nabinca,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-03-31 13:26:41

Con el estilo de John Papa:

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

    vm.gridOptions = {
        enableHorizontalScrollbar : uiGridConstants.scrollbars.NEVER,
        enableVerticalScrollbar   : uiGridConstants.scrollbars.NEVER
    };
}
 15
Author: Laura Riera,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-11-12 17:12:32

Una solución alternativa para esto (ya que WHEN_NEEDED está deshabilitado actualmente) es establecer enableHorizontalScrollbar: 0 en sus opciones de cuadrícula y luego en su hoja de estilos tener lo siguiente:

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

Ahora la barra de desplazamiento horizontal solo se muestra cuando es necesario.

 10
Author: Gethin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-03-07 15:36:54