Добрый день!
Подскажите, пожалуйста, как сделать у linkButton такие же поля , как и у обычного Button?
Добрый день!
LinkButton
отличается от обычного Button
только своим видом и имеет тот же набор методов и свойств, поэтому смело можно использовать обычный Button. Тем не менее вернуть внешний вид можно так:
linkButton.removeStyleName(ValoTheme.BUTTON_LINK);
Спасибо. В таком случае не совсем то, что требовалось. А как возможно реализовать условный textField или что-то визуально идентичное, содержащий в себе текст в виде ссылки на другой экран(также как на скриншоте в ячейках dataGrid, при клике на текст осуществляется переход на экран просмотра этой сущности при помощи ClickableTextRenderer)?
А как должна выглядить итоговая ссылка? Можно использовать тот же LinkButton и просто изменить его CSS (не удаляя LINK стиль). Для этого нужно будет расширить тему приложения: 3.5.9.2. Расширение существующей темы.
Навигироваться на экран можно двумя способами:
- Через
ScreenBuilders#editor()
, если есть рядом необходимый компонент:@Subscribe("navigate") public void onNavigateClick(Button.ClickEvent event) { OrderEdit orderEdit = screenBuilders.editor(ordersTable) .editEntity(ordersTable.getSingleSelected()) .withOpenMode(OpenMode.NEW_TAB) .withScreenClass(OrderEdit.class) .build(); orderEdit.setReadOnly(true); orderEdit.show(); }
- Через URL навигацию: 3.5.13.3. Использование механизма навигации и истории просмотров URL
Идеально было бы видеть textField, содержащий наименование-ссылку на сущность, при клике на которую выполняется переход к браузеру сущности (точно также как в ячейке датагрида, только textField)
Как вариант, можно использовать PickerField, добавив к нему свой action для навигации.
Другой способ это застилизовать LinkButton под TextField:
<linkButton id="linkButton"
stylename="link-textfield"
caption="link to entity"/>
.link-textfield {
@include valo-textfield-style;
}
Результат