private void setSelectedModel(final IModel<Node> model) { selectedModel = model; onSelect(isValidSelection(model)); if (settings.isLastVisitedEnabled() && model != null) { lastModelVisited = model; } }
@Override protected void onClick(final IModel<Node> model, final AjaxRequestTarget target) { controller.setSelectedFolder(model); } });
@Override void onCloseInternal() { controller.onClose(); }
public AbstractBrowserDialog(IPluginContext context, IPluginConfig config, IModel<T> model) { super(model); this.context = context; this.config = config; controller = new NodePickerController(context, NodePickerControllerSettings.fromPluginConfig(config)) { @Override protected IModel<Node> getInitialModel() { return (IModel<Node>) getModelObject().getLinkTarget(); } @Override protected void onSelect(boolean isValid) { IModel<Node> selectedModel = getSelectedModel(); if(isValid && selectedModel != null) { getModelObject().setLinkTarget(selectedModel); onModelSelected(selectedModel); checkState(); } else { setOkEnabled(false); } } }; add(controller.create("content")); }
/** * Try to determine which model should be used as initial selection. First, retrieve the model that represents the * actual selected node and see if it is valid. If so, select it and return, if not, see if a last visited model * is set and if so select it and return. If not, see if a default model is set, if so, select it and return. If * not, fallback to the model currently in the selectionModelReference. * * TODO: We should try and see if the last-visited model is visible in the browser, if not, go on to default model **/ public void initSelection() { final IModel<Node> initialModel = getInitialModel(); if (isValidSelection(initialModel)) { selectionModelReference.setModel(initialModel); return; } if (settings.isLastVisitedEnabled() && lastModelVisited != null) { selectionModelReference.setModel(lastModelVisited); return; } final IModel<Node> defaultModel = getBaseModel(); if (defaultModel != null) { selectionModelReference.setModel(defaultModel); return; } setSelectedModel(selectionModelReference.getModel()); }
protected IModel<Node> getFolderModel() { return controller.getFolderModel(); }
@Override public void render(PluginRequestTarget target) { super.render(target); if(controller.getRenderer() != null) { controller.getRenderer().render(target); } }
public void setSelectedFolder(final IModel<Node> model) { selectionModelReference.setModel(model); setSelectedModel(model); onFolderSelected(model); }
@Override protected void onDetach() { controller.detach(); super.onDetach(); }
protected void initSelection() { controller.initSelection(); }
@Override protected void onFolderSelected(final IModel<Node> model) { if (breadcrumbs != null) { breadcrumbs.update(model); } super.onFolderSelected(model); } };
@Override public void onOk() { final IModel<Node> selectedModel = controller.getSelectedModel(); if (selectedModel != null) { saveNode(selectedModel.getObject()); } else { error("No node selected"); } }
@Override protected void onClick(final IModel<Node> nodeModel, final AjaxRequestTarget target) { controller.setSelectedFolder(nodeModel); }
@Override public final void onClose() { controller.onClose(); super.onClose(); }
protected IModel<Node> getFolderModel() { return controller.getFolderModel(); }
@Override public void render(final PluginRequestTarget target) { if (controller.getRenderer() != null) { controller.getRenderer().render(target); } super.render(target); }
@Override protected void onDetach() { controller.detach(); super.onDetach(); }
public void onEvent(final Iterator events) { setSelectedFolder(folderModelReference.getModel()); } }, IObserver.class.getName());
@Override public void onClose() { controller.onClose(); super.onClose(); }
protected IModel<Node> getFolderModel() { return controller.getFolderModel(); }