Внешняя кнопка меню сетки пользовательского интерфейса?

По следующему URL-адресу есть еще один вопрос о переполнении стека, однако ему уже год, а ответов нет:

Внешняя кнопка ui-grid-menu

В основном мне нужно найти способ отделить кнопку ui-grid-menu-button от верхней правой части таблицы и разместить ее в другом месте. Кажется, я не могу найти никакой документации по этому поводу, я ищу какие-либо обходные пути или хакерское решение.


person Bioto    schedule 19.08.2015    source источник


Ответы (1)


Вот как я решил эту проблему.

Css, чтобы скрыть оригинальную кнопку

Я написал цель каждой строки в комментариях. Мне нужно скрыть исходную кнопку, и, поскольку меню автоматически открывается прямо под этой кнопкой, и я хочу, чтобы меню было в правом верхнем углу, мне нужно сбросить высоту кнопки (см. мой окончательный результат). Положение открытого меню сетки может быть проблемой, если вы не хотите, чтобы оно находилось в верхнем левом или верхнем правом углу таблицы.

.ui-grid-menu-button {
    border: none;               // hide button
    background: transparent;    // hide button
}
.ui-grid-menu-button .ui-grid-icon-container {
    visibility: hidden;         // hide button
    height: 0;                  // menu in top-right corner
    margin-top: 0;              // menu in top-right corner
}

Html моей пользовательской кнопки

<div
    ng-if="myUiGridOptions.enableGridMenu"
    ng-click="gridApi.grid.gridMenuScope.toggleMenu()">
    <!-- menu icon -->
</div>

Объект gridApi — это API-интерфейс ui-grid, доступный таким образом.

myUiGridOptions.onRegisterApi = function (gridApi) => {
    $scope.gridApi = gridApi;
};


Мой окончательный результат

Экран с закрытым меню Экран с открытым меню

person McGiogen    schedule 28.06.2017