use of org.apache.wicket.model.ResourceModel in project midpoint by Evolveum.
the class RelationSearchItem method createSpecialSearchPanel.
@Override
public SearchSpecialItemPanel createSpecialSearchPanel(String id) {
return new SearchSpecialItemPanel(id, new PropertyModel<>(searchBoxConfiguration, SearchBoxConfigurationHelper.F_RELATION_ITEM)) {
@Override
protected WebMarkupContainer initSearchItemField(String id) {
ReadOnlyModel<List<QName>> availableRelations = new ReadOnlyModel<>(() -> {
List<QName> choices = new ArrayList();
IModel<RelationSearchItemConfigurationType> relationItem = getModelValue();
List<QName> relations = relationItem.getObject().getSupportedRelations();
if (relations != null && relations.size() > 1) {
choices.add(PrismConstants.Q_ANY);
}
choices.addAll(relations);
return choices;
});
DropDownChoicePanel inputPanel = new DropDownChoicePanel(id, new PropertyModel(getModelValue(), RelationSearchItemConfigurationType.F_DEFAULT_VALUE.getLocalPart()), availableRelations, new QNameIChoiceRenderer() {
private static final long serialVersionUID = 1L;
@Override
public Object getDisplayValue(QName relation) {
RelationDefinitionType relationDef = WebComponentUtil.getRelationDefinition(relation);
if (relationDef != null) {
DisplayType display = relationDef.getDisplay();
if (display != null) {
PolyStringType label = display.getLabel();
if (PolyStringUtils.isNotEmpty(label)) {
return WebComponentUtil.getTranslatedPolyString(label);
}
}
}
if (QNameUtil.match(PrismConstants.Q_ANY, relation)) {
return new ResourceModel("RelationTypes.ANY", relation.getLocalPart()).getObject();
}
return super.getDisplayValue(relation);
}
}, false);
inputPanel.getBaseFormComponent().add(WebComponentUtil.getSubmitOnEnterKeyDownBehavior("searchSimple"));
inputPanel.getBaseFormComponent().add(AttributeAppender.append("style", "width: 100px; max-width: 400px !important;"));
inputPanel.getBaseFormComponent().add(new EnableBehaviour(() -> availableRelations.getObject().size() > 1));
inputPanel.setOutputMarkupId(true);
return inputPanel;
}
@Override
protected IModel<String> createLabelModel() {
return Model.of(WebComponentUtil.getTranslatedPolyString(getReltaionConfig().getDisplay().getLabel()));
}
@Override
protected IModel<String> createHelpModel() {
return Model.of(WebComponentUtil.getTranslatedPolyString(getReltaionConfig().getDisplay().getHelp()));
}
};
}
use of org.apache.wicket.model.ResourceModel in project midpoint by Evolveum.
the class QNameIChoiceRenderer method getDisplayValue.
@Override
public Object getDisplayValue(QName qname) {
if (qname == null) {
return null;
}
String realPrefix = prefix != null && !prefix.isEmpty() ? (prefix + ".") : "";
String key = realPrefix + qname.getLocalPart();
return new ResourceModel(key, qname.getLocalPart()).getObject();
}
use of org.apache.wicket.model.ResourceModel in project wiquery by WiQuery.
the class OptionsTestCase method testOptionsWrappedModels.
@Test
public void testOptionsWrappedModels() {
// this method test the use of wrapped models in options
OptionsTestPanel panel = new OptionsTestPanel("panel");
Options options = panel.getOptions();
// put an IComponentAssignedModel
options.putString("test", new ResourceModel("key"));
options.putString("test1", new Model<String>("Test1"));
options.put("test2", false);
OptionsTestPage page = new OptionsTestPage(panel);
page = tester.startPage(page);
String expectedResult = "Test";
// result should has been read from resources.
String result = options.get("test");
log.info("result=" + result);
log.info("expectedResult=" + expectedResult);
assertEquals(expectedResult, result);
assertEquals("Test1", options.get("test1"));
assertEquals(false, options.getBoolean("test2").booleanValue());
tester.assertNoErrorMessage();
}
Aggregations