/** * Adds behaviors to the embedded link, e.g. to add hot keys. */ @Override public Component add(Behavior... aBehaviors) { link.add(aBehaviors); return this; }
private LambdaAjaxLink createJumpToSuggestionLink() { LambdaAjaxLink link = new LambdaAjaxLink(CID_RECOMMENDATION_COVERED_TEXT_LINK, this::actionJumpToSuggestion); link.add(new Label("leftContext", LoadableDetachableModel.of(() -> alStateModel.getObject().getLeftContext()))); link.add(new Label("text", LoadableDetachableModel.of(() -> alStateModel.getObject() .getSuggestion().map(AnnotationSuggestion::getCoveredText).orElse("")))); link.add(new Label("rightContext", LoadableDetachableModel.of(() -> alStateModel.getObject().getRightContext()))); return link; }
private LambdaAjaxLink createJumpToSuggestionLink() { LambdaAjaxLink link = new LambdaAjaxLink(CID_RECOMMENDATION_COVERED_TEXT_LINK, this::actionJumpToSuggestion); link.add(new Label("leftContext", LoadableDetachableModel.of(() -> alStateModel.getObject().getLeftContext()))); link.add(new Label("text", LoadableDetachableModel.of(() -> alStateModel.getObject() .getSuggestion().map(AnnotationSuggestion::getCoveredText).orElse("")))); link.add(new Label("rightContext", LoadableDetachableModel.of(() -> alStateModel.getObject().getRightContext()))); return link; }
@Override protected void populateItem(ListItem<PermissionLevel> aItem) { PermissionLevel level = aItem.getModelObject(); LambdaAjaxLink link = new LambdaAjaxLink("roleFilterLink", _target -> actionApplyRoleFilter(_target, aItem.getModelObject())); link.add(new Label(MID_LABEL, getString( Classes.simpleName(level.getDeclaringClass()) + '.' + level.toString()))); link.add(new AttributeAppender("class", () -> activeRoleFilters.getObject().contains(aItem.getModelObject()) ? "active" : "", " ")); aItem.add(link); } };
@Override protected void populateItem(ListItem<PermissionLevel> aItem) { PermissionLevel level = aItem.getModelObject(); LambdaAjaxLink link = new LambdaAjaxLink("roleFilterLink", _target -> actionApplyRoleFilter(_target, aItem.getModelObject())); link.add(new Label(MID_LABEL, getString( Classes.simpleName(level.getDeclaringClass()) + '.' + level.toString()))); link.add(new AttributeAppender("class", () -> activeRoleFilters.getObject().contains(aItem.getModelObject()) ? "active" : "", " ")); aItem.add(link); } };
private LambdaAjaxLink createSelectedTextLabel() { LambdaAjaxLink link = new LambdaAjaxLink("jumpToAnnotation", this::actionJumpToAnnotation); link.add(new Label("selectedText", PropertyModel.of(getModelObject(), "selection.text")).setOutputMarkupId(true)); link.setOutputMarkupId(true); return link; }
public ActionBarLink(String aId, IModel<String> aLabel, ResourceReference aImageRes, AjaxCallback aAction) { super(aId); setOutputMarkupId(true); setOutputMarkupPlaceholderTag(true); imageRes = aImageRes; action = aAction; IModel<String> label = aLabel; if (label == null) { label = new StringResourceModel("label", this); } link = new LambdaAjaxLink("link", action); link.add(new Label("label", label)); add(link); }
public ButtonsForm(String id, final ModalWindow modalWindow) { super(id); add(new LambdaAjaxLink("openButton", OpenDocumentDialogPanel.this::actionOpenDocument) .add(enabledWhen(() -> selectedDocument != null))); add(new LambdaAjaxLink("cancelButton", OpenDocumentDialogPanel.this::actionCancel)); } }
@Override protected void populateItem(ListItem<AnnotationListItem> aItem) { aItem.setModel(CompoundPropertyModel.of(aItem.getModel())); aItem.add(new Label("type", aItem.getModelObject().layer.getUiName())); LambdaAjaxLink link = new LambdaAjaxLink("annotationLink", _target -> actionSelect(_target, aItem.getModelObject())); link.add(new Label("label")); aItem.add(link); } };
public SidebarTabbedPanel(String aId, List<T> aTabs) { super(aId, aTabs); setOutputMarkupPlaceholderTag(true); setOutputMarkupId(true); setVisible(!aTabs.isEmpty()); LambdaAjaxLink showHideLink = new LambdaAjaxLink("showHideLink", this::showHideAction); showHideLink.add(icon = new Image("showHideIcon", ICON_EXPANDED)); ((WebMarkupContainer) get("tabs-container")).add(showHideLink); }
@Override protected void populateItem(ListItem<AnnotationListItem> aItem) { aItem.setModel(CompoundPropertyModel.of(aItem.getModel())); aItem.add(new Label("type", aItem.getModelObject().layer.getUiName())); LambdaAjaxLink link = new LambdaAjaxLink("annotationLink", _target -> actionSelect(_target, aItem.getModelObject())); link.add(new Label("label")); aItem.add(link); } };
private void setUpLocalSpecificSettings(WebMarkupContainer wmc) { wmc.add(uploadForm("uploadForm", "uploadField")); // add link for clearing the knowledge base contents, enabled only, if there is // something to clear AjaxLink<Void> clearLink = clearLink("clear"); wmc.add(clearLink); wmc.add(fileExtensionsExportList("exportButtons")); List<KnowledgeBaseProfile> localKBs = knowledgeBaseProfiles.values().stream() .filter(kb -> RepositoryType.LOCAL.equals(kb.getType())) .collect(Collectors.toList()); listViewContainer = new WebMarkupContainer("listViewContainer"); ListView<KnowledgeBaseProfile> suggestions = localSuggestionsList("localKBs", localKBs); listViewContainer.add(suggestions); listViewContainer.setOutputMarkupPlaceholderTag(true); LambdaAjaxLink addKbButton = new LambdaAjaxLink("addKbButton", this::actionDownloadKbAndSetIRIs); addKbButton.add(new Label("addKbLabel", new ResourceModel("kb.wizard.steps.local.addKb"))); listViewContainer.add(addKbButton); wmc.add(listViewContainer); }
private LambdaAjaxLink createDeleteButton() { LambdaAjaxLink link = new LambdaAjaxLink("delete", this::actionDelete); link.setOutputMarkupPlaceholderTag(true); link.add(visibleWhen(() -> getModelObject().getSelection().getAnnotation().isSet())); // Avoid deleting in read-only layers link.add(enabledWhen(() -> getModelObject().getSelectedAnnotationLayer() != null && !getModelObject().getSelectedAnnotationLayer().isReadonly())); return link; }
private LambdaAjaxLink createClearButton() { LambdaAjaxLink link = new LambdaAjaxLink("clear", editorPanel::actionClear); link.setOutputMarkupPlaceholderTag(true); link.add(visibleWhen(() -> getModelObject().getSelection().getAnnotation().isSet())); return link; }
public IRIValuePresenter(String id, IModel<KBStatement> aModel, IModel<KnowledgeBase> aKBModel) { super(id, aModel); kbModel = aKBModel; kbObject = CompoundPropertyModel.of(LoadableDetachableModel.of(this::getKBObject)); add(new IriInfoBadge("iriInfoBadge", LoadableDetachableModel .of(() -> ((IRI) getModelObject().getValue()).stringValue()))); LambdaAjaxLink link = new LambdaAjaxLink("link", t -> actionIRILinkClicked(t, kbObject.getObject())); link.add(new Label("label", LoadableDetachableModel.of(() -> getLabel(kbObject.getObject())))); add(link); }
public IRIValuePresenter(String id, IModel<KBStatement> aModel, IModel<KnowledgeBase> aKBModel) { super(id, aModel); kbModel = aKBModel; kbObject = CompoundPropertyModel.of(LoadableDetachableModel.of(this::getKBObject)); add(new IriInfoBadge("iriInfoBadge", LoadableDetachableModel .of(() -> ((IRI) getModelObject().getValue()).stringValue()))); LambdaAjaxLink link = new LambdaAjaxLink("link", t -> actionIRILinkClicked(t, kbObject.getObject())); link.add(new Label("label", LoadableDetachableModel.of(() -> getLabel(kbObject.getObject())))); add(link); }
private Component createReverseButton() { LambdaAjaxLink link = new LambdaAjaxLink("reverse", editorPanel::actionReverse); link.setOutputMarkupPlaceholderTag(true); link.add(LambdaBehavior.onConfigure(_this -> { AnnotatorState state = AnnotationFeatureForm.this.getModelObject(); _this.setVisible(state.getSelection().getAnnotation().isSet() && state.getSelection().isArc() && state.getSelectedAnnotationLayer() .getType().equals(WebAnnoConst.RELATION_TYPE)); // Avoid reversing in read-only layers _this.setEnabled(state.getSelectedAnnotationLayer() != null && !state.getSelectedAnnotationLayer().isReadonly()); })); return link; }
@Override protected void populateItem(ListItem<KnowledgeBaseProfile> item) { // add a link for one knowledge base with proper label LambdaAjaxLink link = new LambdaAjaxLink("suggestionLink", t -> { // set all the fields according to the chosen profile kbModel.getObject().setUrl(item.getModelObject().getAccess().getAccessUrl()); // sets root concepts list - if null then an empty list otherwise change the // values to IRI and populate the list kbModel.getObject().getKb().applyRootConcepts(item.getModelObject()); kbModel.getObject().getKb().applyMapping(item.getModelObject().getMapping()); kbModel.getObject().getKb().setFullTextSearchIri( item.getModelObject().getAccess().getFullTextSearchIri()); t.add(aUrlField); }); link.add(new Label("suggestionLabel", item.getModelObject().getName())); item.add(link); } };
private Form<Void> createSessionControlForm() { Form<Void> form = new Form<>(CID_SESSION_CONTROL_FORM); DropDownChoice<AnnotationLayer> layersDropdown = new BootstrapSelect<>(CID_SELECT_LAYER); layersDropdown.setModel(alStateModel.bind("layer")); layersDropdown.setChoices(LoadableDetachableModel.of(this::listLayersWithRecommenders)); layersDropdown.setChoiceRenderer(new LambdaChoiceRenderer<>(AnnotationLayer::getUiName)); layersDropdown.add(LambdaBehavior.onConfigure(it -> it.setEnabled(!alStateModel .getObject().isSessionActive()))); layersDropdown.setOutputMarkupId(true); layersDropdown.setRequired(true); form.add(layersDropdown); form.add(new LambdaAjaxSubmitLink(CID_START_SESSION_BUTTON, this::actionStartSession) .add(visibleWhen(() -> !alStateModel.getObject().isSessionActive()))); form.add(new LambdaAjaxLink(CID_STOP_SESSION_BUTTON, this::actionStopSession) .add(visibleWhen(() -> alStateModel.getObject().isSessionActive()))); form.add(visibleWhen(() -> alStateModel.getObject().isDoExistRecommenders())); return form; }
private Form<Void> createSessionControlForm() { Form<Void> form = new Form<>(CID_SESSION_CONTROL_FORM); DropDownChoice<AnnotationLayer> layersDropdown = new BootstrapSelect<>(CID_SELECT_LAYER); layersDropdown.setModel(alStateModel.bind("layer")); layersDropdown.setChoices(LoadableDetachableModel.of(this::listLayersWithRecommenders)); layersDropdown.setChoiceRenderer(new LambdaChoiceRenderer<>(AnnotationLayer::getUiName)); layersDropdown.add(LambdaBehavior.onConfigure(it -> it.setEnabled(!alStateModel .getObject().isSessionActive()))); layersDropdown.setOutputMarkupId(true); layersDropdown.setRequired(true); form.add(layersDropdown); form.add(new LambdaAjaxSubmitLink(CID_START_SESSION_BUTTON, this::actionStartSession) .add(visibleWhen(() -> !alStateModel.getObject().isSessionActive()))); form.add(new LambdaAjaxLink(CID_STOP_SESSION_BUTTON, this::actionStopSession) .add(visibleWhen(() -> alStateModel.getObject().isSessionActive()))); form.add(visibleWhen(() -> alStateModel.getObject().isDoExistRecommenders())); return form; }