use of org.apache.wicket.markup.html.basic.Label in project webanno by webanno.
the class ProjectCasDoctorPanel method createMessagesView.
private ListView<LogMessage> createMessagesView(IModel<LogMessageSet> aModel) {
return new ListView<LogMessage>("messages", PropertyModel.of(aModel, "messages")) {
private static final long serialVersionUID = 8957632000765128508L;
@Override
protected void populateItem(ListItem<LogMessage> aItem) {
IModel<LogMessage> msg = aItem.getModel();
aItem.add(new Label("level", PropertyModel.of(msg, "level")));
aItem.add(new Label("source", PropertyModel.of(msg, "source.simpleName")));
aItem.add(new Label("message", PropertyModel.of(msg, "message")));
}
};
}
use of org.apache.wicket.markup.html.basic.Label in project webanno by webanno.
the class ApplicationPageBase method commonInit.
private void commonInit() {
Properties settings = SettingsUtil.getSettings();
// Override locale to be used by application
String locale = settings.getProperty(SettingsUtil.CFG_LOCALE, "en");
switch(locale) {
case "auto":
// Do nothing - locale is picked up from browser
break;
default:
// Override the locale in the session
getSession().setLocale(Locale.forLanguageTag(locale));
break;
}
// Add menubar
try {
Class<? extends Component> menubarClass = getApplication().getMetaData(MENUBAR_CLASS);
if (menubarClass == null) {
menubarClass = MenuBar.class;
}
add(ConstructorUtils.invokeConstructor(menubarClass, "menubar"));
} catch (NoSuchMethodException | IllegalAccessException | InvocationTargetException | InstantiationException e1) {
throw new RuntimeException(e1);
}
feedbackPanel = new BootstrapFeedbackPanel("feedbackPanel");
feedbackPanel.setOutputMarkupId(true);
feedbackPanel.setFilter((IFeedbackMessageFilter) aMessage -> {
Authentication auth = SecurityContextHolder.getContext().getAuthentication();
String username = auth != null ? auth.getName() : "SYSTEM";
if (aMessage.isFatal()) {
LOG.error("{}: {}", username, aMessage.getMessage());
} else if (aMessage.isError()) {
LOG.error("{}: {}", username, aMessage.getMessage());
} else if (aMessage.isWarning()) {
LOG.warn("{}: {}", username, aMessage.getMessage());
} else if (aMessage.isInfo()) {
LOG.info("{}: {}", username, aMessage.getMessage());
} else if (aMessage.isDebug()) {
LOG.debug("{}: {}", username, aMessage.getMessage());
}
return true;
});
add(feedbackPanel);
versionLabel = new Label("version", SettingsUtil.getVersionString());
add(versionLabel);
// set up warnings shown when using an embedded DB or some unsupported browser
boolean isBrowserWarningVisible = isBrowserWarningVisible(settings);
boolean isDatabaseWarningVisible = isDatabaseWarningVisible(settings);
embeddedDbWarning = new Label("embeddedDbWarning", new ResourceModel("warning.database"));
embeddedDbWarning.setVisible(isDatabaseWarningVisible);
add(embeddedDbWarning);
browserWarning = new Label("browserWarning", new ResourceModel("warning.browser"));
browserWarning.setVisible(isBrowserWarningVisible);
add(browserWarning);
WebMarkupContainer warningsContainer = new WebMarkupContainer("warnings");
warningsContainer.setVisible(isBrowserWarningVisible || isDatabaseWarningVisible);
add(warningsContainer);
}
use of org.apache.wicket.markup.html.basic.Label in project syncope by apache.
the class WizardMgtPanel method onEvent.
@Override
@SuppressWarnings("unchecked")
public void onEvent(final IEvent<?> event) {
if (event.getPayload() instanceof ExitEvent && modal != null) {
final AjaxRequestTarget target = ExitEvent.class.cast(event.getPayload()).getTarget();
// default behaviour: change it catching the event if needed
modal.close(target);
} else if (event.getPayload() instanceof AjaxWizard.NewItemEvent) {
final AjaxWizard.NewItemEvent<T> newItemEvent = AjaxWizard.NewItemEvent.class.cast(event.getPayload());
final AjaxRequestTarget target = newItemEvent.getTarget();
final T item = newItemEvent.getItem();
final boolean modalPanelAvailable = newItemEvent.getModalPanel() != null || newItemPanelBuilder != null;
if (event.getPayload() instanceof AjaxWizard.NewItemActionEvent && modalPanelAvailable) {
final WizardModalPanel<?> modalPanel;
if (newItemEvent.getModalPanel() == null) {
newItemPanelBuilder.setItem(item);
modalPanel = newItemPanelBuilder.build(actualId, ((AjaxWizard.NewItemActionEvent<T>) newItemEvent).getIndex(), item != null ? isReadOnly() ? AjaxWizard.Mode.READONLY : AjaxWizard.Mode.EDIT : AjaxWizard.Mode.CREATE);
} else {
modalPanel = newItemEvent.getModalPanel();
}
if (wizardInModal) {
final IModel<T> model = new CompoundPropertyModel<>(item);
modal.setFormModel(model);
target.add(modal.setContent(modalPanel));
modal.header(new StringResourceModel(String.format("any.%s", newItemEvent.getEventDescription()), this, new Model<>(modalPanel.getItem())));
modal.show(true);
} else {
final Fragment fragment = new Fragment("content", "wizard", WizardMgtPanel.this);
fragment.add(new Label("title", newItemEvent.getResourceModel() == null ? Model.of(StringUtils.EMPTY) : newItemEvent.getResourceModel()));
fragment.add(Component.class.cast(modalPanel));
container.addOrReplace(fragment);
}
customActionCallback(target);
} else if (event.getPayload() instanceof AjaxWizard.NewItemCancelEvent) {
if (wizardInModal) {
modal.close(target);
} else {
container.addOrReplace(initialFragment);
}
customActionOnCancelCallback(target);
} else if (event.getPayload() instanceof AjaxWizard.NewItemFinishEvent) {
SyncopeConsoleSession.get().info(getString(Constants.OPERATION_SUCCEEDED));
((BasePage) pageRef.getPage()).getNotificationPanel().refresh(target);
if (wizardInModal && showResultPage) {
modal.setContent(new ResultPage<T>(item, AjaxWizard.NewItemFinishEvent.class.cast(newItemEvent).getResult()) {
private static final long serialVersionUID = -2630573849050255233L;
@Override
protected void closeAction(final AjaxRequestTarget target) {
modal.close(target);
}
@Override
protected Panel customResultBody(final String id, final T item, final Serializable result) {
return WizardMgtPanel.this.customResultBody(id, item, result);
}
});
target.add(modal.getForm());
} else if (wizardInModal) {
modal.close(target);
} else {
container.addOrReplace(initialFragment);
}
customActionOnFinishCallback(target);
}
if (containerAutoRefresh) {
target.add(container);
}
}
super.onEvent(event);
}
use of org.apache.wicket.markup.html.basic.Label in project syncope by apache.
the class AjaxPalettePanel method initialize.
private void initialize(final IModel<List<T>> model, final Builder<T> builder) {
setOutputMarkupId(true);
this.palette = new NonI18nPalette<T>("paletteField", model, choicesModel, builder.renderer, 8, builder.allowOrder, builder.allowMoveAll) {
private static final long serialVersionUID = -3074655279011678437L;
@Override
protected Component newAvailableHeader(final String componentId) {
return new Label(componentId, new ResourceModel("palette.available", builder.availableLabel));
}
@Override
protected Component newSelectedHeader(final String componentId) {
return new Label(componentId, new ResourceModel("palette.selected", builder.selectedLabel));
}
@Override
protected Recorder<T> newRecorderComponent() {
return new Recorder<T>("recorder", this) {
private static final long serialVersionUID = -9169109967480083523L;
@Override
public List<T> getUnselectedList() {
final IChoiceRenderer<? super T> renderer = getPalette().getChoiceRenderer();
final Collection<? extends T> choices = getPalette().getChoices();
final List<T> unselected = new ArrayList<>(choices.size());
final List<String> ids = Arrays.asList(getValue().split(","));
choices.forEach(choice -> {
final String choiceId = renderer.getIdValue(choice, 0);
if (!ids.contains(choiceId)) {
unselected.add(choice);
}
});
return unselected;
}
@Override
public List<T> getSelectedList() {
final IChoiceRenderer<? super T> renderer = getPalette().getChoiceRenderer();
final Collection<? extends T> choices = getPalette().getChoices();
final List<T> selected = new ArrayList<>(choices.size());
// reduce number of method calls by building a lookup table
final Map<T, String> idForChoice = new HashMap<>(choices.size());
choices.forEach(choice -> {
idForChoice.put(choice, renderer.getIdValue(choice, 0));
});
final String value = getValue();
int start = value.indexOf(';') + 1;
for (final String id : Strings.split(value.substring(start), ',')) {
for (final T choice : choices) {
final String idValue = idForChoice.get(choice);
if (id.equals(idValue)) {
selected.add(choice);
break;
}
}
}
return selected;
}
};
}
};
add(palette.setOutputMarkupId(true));
final Form<?> form = new Form<>("form");
add(form.setEnabled(builder.filtered).setVisible(builder.filtered));
final AjaxTextFieldPanel filter = new AjaxTextFieldPanel("filter", "filter", queryFilter, false);
filter.hideLabel().setOutputMarkupId(true);
form.add(filter);
form.add(new AjaxSubmitLink("search") {
private static final long serialVersionUID = -1765773642975892072L;
@Override
protected void onAfterSubmit(final AjaxRequestTarget target, final Form<?> form) {
super.onAfterSubmit(target, form);
target.add(palette);
}
});
}
use of org.apache.wicket.markup.html.basic.Label in project syncope by apache.
the class AttrColumn method populateItem.
@Override
public void populateItem(final Item<ICellPopulator<T>> cellItem, final String componentId, final IModel<T> rowModel) {
List<String> values = null;
AttrTO attr = null;
switch(schemaType) {
case PLAIN:
attr = rowModel.getObject().getPlainAttr(name).get();
break;
case DERIVED:
attr = rowModel.getObject().getDerAttr(name).get();
break;
case VIRTUAL:
attr = rowModel.getObject().getVirAttr(name).get();
break;
default:
}
if (attr != null) {
values = attr.getValues();
}
if (values == null || values.isEmpty()) {
cellItem.add(new Label(componentId, ""));
} else if (values.size() == 1) {
cellItem.add(new Label(componentId, values.get(0)));
} else {
cellItem.add(new Label(componentId, values.toString()));
}
}
Aggregations