@Override public void setChainedModel(IModel model) { detach(); super.setChainedModel(model); }
public void onAddItem(AjaxRequestTarget target) { provider.addNew(); }
public void start(AbstractProvider<P, C> provider) { Iterator<C> iter = provider.iterator(0, provider.size()); while (iter.hasNext()) { C model = iter.next(); addModel(model, provider.getFieldElement(model)); } }
public void start(AbstractProvider<P,C> oldProvider, AbstractProvider<P,C> newProvider) { final int oldSize = oldProvider.size(); final int newSize = newProvider.size(); Iterator<C> oldIter = oldProvider.iterator(0, oldSize); while (oldIter.hasNext()) { oldItems.add(new ItemValue<C>(comparer, oldIter.next())); Iterator<C> newIter = newProvider.iterator(0, newSize); while (newIter.hasNext()) { newItems.add(new ItemValue<C>(comparer, newIter.next()));
private AbstractProvider<P, C> getProvider(IModel<Node> model) { IFieldDescriptor field = helper.getField(); if (field != null) { ITemplateEngine engine = getTemplateEngine(); if (engine != null) { ITypeDescriptor subType = field.getTypeDescriptor(); AbstractProvider<P, C> provider = newProvider(field, subType, model); if (IEditor.Mode.EDIT == mode && provider.size() == 0 && (!field.isMultiple() || field.getValidators().contains("required")) && !field.getValidators().contains("optional") && isNotAbstractNodeType(subType.getType())) { provider.addNew(); } return provider; } else { log.warn("No engine found to display new model"); } } return null; }
public int getNumberOfItems() { return provider.size(); }
/** * Count the number of elements * * @return the number of elements provided */ public int size() { load(); return elements.size(); }
protected final void load() { loadElements(); attached = true; }
public void onRemoveItem(C childModel, AjaxRequestTarget target) { provider.remove(childModel); }
public void onMoveItemUp(C model, AjaxRequestTarget target) { provider.moveUp(model); }
protected boolean canRemoveItem() { IFieldDescriptor field = helper.getField(); if (IEditor.Mode.EDIT != mode || field == null) { return false; } if (!field.isMultiple() && !field.getValidators().contains("optional")) { return false; } if (field.getValidators().contains("required") && provider.size() == 1) { return false; } return true; }
/** * Iterate over the provided elements. * * @param first * @param count * * @return iterator over the elements */ public Iterator<M> iterator(int first, int count) { load(); return elements.subList(first, first + count).iterator(); }
@Override public void detach() { if (prototype != null) { prototype.detach(); } if (descriptor instanceof IDetachable) { ((IDetachable) descriptor).detach(); } super.detach(); }
downLink.setVisible(false); boolean isLast = (index == provider.size() - 1); downLink.setEnabled(!isLast);
@Override protected void onDetach() { if (provider != null) { provider.detach(); } if (oldProvider != null) { oldProvider.detach(); } if (newProvider != null) { newProvider.detach(); } helper.detach(); if (templateController != null) { templateController.detach(); } if (comparingController != null) { comparingController.detach(); } super.onDetach(); }
boolean isLast = (model.getIndex() == provider.size() - 1); if (!canReorderItems()) { downLink.setVisible(false);