Скрыть или обновить элемент, когда все элементы скрыты сеткой - PullRequest
0 голосов
/ 29 ноября 2018

У меня есть сетка с меню и элементами.

Если я скрываю все элементы с помощью встроенного меню, я бы хотел обновить нумерацию страниц, чтобы отображалось 0-100 элементов.

Единственный способ, которым я обнаружил, это зациклить все столбцы, и если все они скрыты, тогда я просто скрываю нумерацию страниц, но это дерьмовое решение.

http://next.plnkr.co/edit/I3fdjfJDCfoZ8MCH

(скрыть весь элемент, используя меню сетки справа)

Прямо сейчас я делаю это:

let allHidden = true;
lodash.forEach(column.grid.columns, function (col) {
    if (col.visible) {
        allHidden = false;
        return;
    }
});
if(allHidden)
    $scope.gridOptions1.enablePaginationControls= false;
else
    $scope.gridOptions1.enablePaginationControls= true;

но все еще есть полоса прокрутки, и на самом деле мне не нравится это решение

1 Ответ

0 голосов
/ 30 ноября 2018

Вы можете отключить обе полосы прокрутки и немного изменить цикл.По-прежнему дерьмовая конструкция (по вашим словам :), потому что все будет грязно, когда вы решите показать любой столбец ... Вам бы явно пришлось снова включить обе полосы прокрутки.

   gridApi.core.on.columnVisibilityChanged($scope, column => {
          if(!column.grid.columns.some(function(col) {return col.visible}))
          {
            column.grid.options.enablePaginationControls = false;
            column.grid.options.enableHorizontalScrollbar = uiGridConstants.scrollbars.NEVER;
            column.grid.options.enableVerticalScrollbar = uiGridConstants.scrollbars.NEVER;
          }
        });

Кстати, вы бычтобы ввести uiGridConstants для использования uiGridConstants.scrollbars.NEVER.

Может быть, есть лучшее решение вашей проблемы, только мне не ясно, чего вы пытаетесь достичь здесь.

...