2012-08-01 2 views
1

На этой странице находится верхняя левая сторона кнопки StackExchange с раскрывающимся списком. Если вы нажмете на него, он откроется, если вы нажмете на другое место, оно будет скрыто. Возможно ли создать подобную композицию в приложении vaadin с помощью кнопки и макета?Скрыть/развернуть макет в vaadin

Два условия:

  1. Знать состояние макета (скрытой или показан) из кода (именно поэтому Javascript не подходит).

  2. Кнопка должна раскрывать и скрывать макет, а зона отдыха на клике должна скрывать ее (то же, что и здесь, с кнопкой StackExchange).

Кто-нибудь знает решение? Большое спасибо.

ответ

1

Два: максимальные возможности

Родной Vaadin: PopupView. Вот example of using it в Vaadin Sampler. Никакой контроль над размещением всплывающего окна и показ всплывающего окна не могут контролироваться ничем, кроме самого представления.

Vaadin Addon: Overlays Позволяет накладывать любой компонент (например, макет) по отношению к любому другому компоненту, может можно управлять с помощью seaprate компоненты (например, кнопка)

+0

Оказались, что PopupView не очень хорошо это потому, что при двойном щелчке, когда содержимое не скрывает исходную кнопку, оно генерирует исключение, поэтому содержимое всегда должно скрывать кнопку. Наложения также не решают эту проблему. – Sergey

+0

PopView сам по себе не создает исключение при двойном щелчке снаружи. см. http://demo.vaadin.com/sampler#PopupViewClosing и выберите второй пример; double clickout side => исключение. –

+0

Там есть кнопка «По умолчанию всплывающее окно». Если всплывающее содержимое не скрывает эту кнопку, когда она появляется, и я нажимаю кнопку, генерируется исключение. В демонстрации всплывающее содержимое скрывает кнопку, поэтому я не могу ее снова щелкнуть. – Sergey

Смежные вопросы