Example usage for org.apache.wicket.markup.html.form SubmitLink SubmitLink

List of usage examples for org.apache.wicket.markup.html.form SubmitLink SubmitLink

Introduction

In this page you can find the example usage for org.apache.wicket.markup.html.form SubmitLink SubmitLink.

Prototype

public SubmitLink(String id) 

Source Link

Document

With this constructor the SubmitLink must be inside a Form.

Usage

From source file:org.brixcms.plugin.hierarchical.admin.CreateTitledNodePanel.java

License:Apache License

public CreateTitledNodePanel(String id, IModel<BrixNode> containerNodeModel, final String type,
        final SimpleCallback goBack, HierarchicalPluginLocator pluginLocator) {
    super(id, containerNodeModel);
    this.pluginLocator = pluginLocator;

    final String typeName = pluginLocator.getPlugin().getNodeEditorPluginForType(type).getName();
    add(new Label("typeName", typeName));

    Form<?> form = new Form<CreateTitledNodePanel>("form",
            new CompoundPropertyModel<CreateTitledNodePanel>(this));
    add(form);/* w  w  w .j  a  v  a  2  s  .c o  m*/

    form.add(new ContainerFeedbackPanel("feedback", this));

    form.add(new SubmitLink("create") {
        private static final long serialVersionUID = 1L;

        @Override
        public void onSubmit() {
            createNode(type, typeName);
        }
    });

    form.add(new Link<Void>("cancel") {
        private static final long serialVersionUID = 1L;

        @Override
        public void onClick() {
            goBack.execute();
        }
    });

    final TextField<String> tf;
    form.add(tf = new TextField<String>("name"));
    tf.setRequired(true);
    tf.add(NodeNameValidator.getInstance());

}

From source file:org.brixcms.plugin.site.admin.RenamePanel.java

License:Apache License

public RenamePanel(String id, IModel<BrixNode> model) {
    super(id, model);

    Form<?> form = new Form<Void>("form");

    newName = model.getObject().getName();

    TextField<String> newName = new TextField<String>("newName", new PropertyModel<String>(this, "newName"));
    newName.setRequired(true);/* w  ww  .j  av  a 2 s  . c  o m*/
    newName.add(new NewNameValidator());
    form.add(newName);

    form.add(new SubmitLink("rename") {
        @Override
        public void onSubmit() {
            JcrNode node = RenamePanel.this.getModelObject();

            if (RenamePanel.this.newName.equals(node.getName()) == false) {
                node.getSession().move(node.getPath(),
                        node.getParent().getPath() + "/" + RenamePanel.this.newName);
                node.getSession().save();
            }
            onLeave();
        }
    });

    form.add(new Link<Void>("cancel") {
        @Override
        public void onClick() {
            onLeave();
        }
    });

    form.add(new FeedbackPanel("feedback"));

    add(form);
}

From source file:org.brixcms.plugin.site.folder.CreateFolderPanel.java

License:Apache License

public CreateFolderPanel(String id, IModel<BrixNode> model, final SimpleCallback goBack) {
    super(id, model);

    Form<?> form = new Form<CreateFolderPanel>("form", new CompoundPropertyModel<CreateFolderPanel>(this));
    add(form);/*from w  ww.j av a2s.  c  om*/

    form.add(new ContainerFeedbackPanel("feedback", this));

    form.add(new SubmitLink("create") {
        @Override
        public void onSubmit() {
            createFolder();
        }
    });

    form.add(new Link<Void>("cancel") {
        @Override
        public void onClick() {
            goBack.execute();
        }
    });

    final TextField<String> tf;
    form.add(tf = new TextField<String>("name"));
    tf.setRequired(true);
    tf.add(NodeNameValidator.getInstance());
}

From source file:org.brixcms.plugin.site.folder.PropertiesTab.java

License:Apache License

public PropertiesTab(String id, final IModel<BrixNode> folderNodeModel) {
    super(id, folderNodeModel);

    final ModelBuffer buffer = new ModelBuffer(folderNodeModel);

    Form<Void> form = new Form<Void>("form");

    form.add(new SubmitLink("submit") {
        @Override/*from   w  w  w .  j  a v a  2s  .com*/
        public void onSubmit() {
            buffer.apply();
            folderNodeModel.getObject().save();
            getSession().info(PropertiesTab.this.getString("propertiesSaved"));
        }
    });
    add(form);

    add(new ContainerFeedbackPanel("feedback", this));

    ReferenceEditorConfiguration conf = new ReferenceEditorConfiguration();

    conf.setDisplayFiles(true);
    conf.setWorkspaceName(folderNodeModel);

    IModel<Reference> model = buffer.forProperty("redirectReference");
    form.add(new ReferenceEditorPanel("redirectReference", model).setConfiguration(conf));
}

From source file:org.brixcms.plugin.site.page.admin.CreatePageOrTemplatePanel.java

License:Apache License

public CreatePageOrTemplatePanel(String id, IModel<BrixNode> containerNodeModel, final String type,
        final SimpleCallback goBack) {
    super(id, containerNodeModel);

    String typeName = SitePlugin.get().getNodePluginForType(type).getName();
    add(new Label("typeName", typeName));

    Form<?> form = new Form<CreatePageOrTemplatePanel>("form",
            new CompoundPropertyModel<CreatePageOrTemplatePanel>(this));
    add(form);/*from ww  w.  j  av  a2 s .c  o m*/

    form.add(new ContainerFeedbackPanel("feedback", this));

    form.add(new SubmitLink("create") {
        @Override
        public void onSubmit() {
            createPage(type);
        }
    });

    form.add(new Link<Void>("cancel") {
        @Override
        public void onClick() {
            goBack.execute();
        }
    });

    final TextField<String> tf;
    form.add(tf = new TextField<String>("name"));
    tf.setRequired(true);
    tf.add(NodeNameValidator.getInstance());
}

From source file:org.brixcms.plugin.site.page.tile.admin.NewTileFragment.java

License:Apache License

public NewTileFragment(String id, String fragmentId, MarkupContainer markupContainer,
        final IModel<BrixNode> nodeModel) {
    super(id, fragmentId, markupContainer, nodeModel);
    final Form<Void> form = new Form<Void>("form");
    add(form);/*www  . j  a v a 2  s  . com*/

    form.add(new ContainerFeedbackPanel("feedback", form));

    final FormComponent<String> tileId;

    form.add(tileId = new TextField<String>("tileId", new PropertyModel<String>(this, "newTileId")));
    tileId.setRequired(true).add(new NewTileIdValidator()).add(NodeNameValidator.getInstance())
            .setOutputMarkupId(true);

    IModel<List<? extends String>> idSuggestionModel = new LoadableDetachableModel<List<? extends String>>() {
        @Override
        protected List<? extends String> load() {
            List<String> res = new ArrayList<String>();
            Collection<String> ids = ((AbstractContainer) NewTileFragment.this.getModelObject()).getTileIDs();
            res.addAll(ids);
            return res;
        }
    };

    final DropDownChoice<String> idSuggestion;
    form.add(idSuggestion = new DropDownChoice<String>("idSuggestion", new Model<String>(), idSuggestionModel) {
        @Override
        public boolean isVisible() {
            return NewTileFragment.this.getModelObject() instanceof GlobalContainerNode == false;
        }
    });

    idSuggestion.add(new AjaxFormComponentUpdatingBehavior("onchange") {
        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            tileId.setModelObject(idSuggestion.getModelObject());
            idSuggestion.setModelObject(null);
            target.addComponent(tileId);
            target.addComponent(idSuggestion);
            target.focusComponent(tileId);
        }
    });
    idSuggestion.setNullValid(true);

    form.add(new DropDownChoice<String>("tileType", new PropertyModel<String>(this, "newTileTypeName"),
            new TileTypeNamesModel(), new TileTypeNameRenderer()) {
        private static final long serialVersionUID = 1L;

        @Override
        protected boolean wantOnSelectionChangedNotifications() {
            return true;
        }

        @Override
        protected void onSelectionChanged(String tileTypeName) {
            ;
            if (tileTypeName == null) {
                EmptyPanel ep = new EmptyPanel(newTileEditor.getId());
                newTileEditor.replaceWith(ep);
                newTileEditor = ep;
            } else {
                final Brix brix = NewTileFragment.this.getModelObject().getBrix();
                final Tile tile = Tile.Helper.getTileOfType(tileTypeName, brix);
                TileEditorPanel ed = tile.newEditor(newTileEditor.getId(), nodeModel);
                newTileEditor.replaceWith(ed);
                newTileEditor = ed;
            }
        }

    }.setRequired(true));

    newTileEditor = new EmptyPanel("tile-editor");
    form.add(newTileEditor);

    form.add(new SubmitLink("add") {
        @Override
        public void onSubmit() {
            onAddTile(newTileId, newTileTypeName);
        }
    });
}

From source file:org.brixcms.plugin.site.page.tile.admin.TileEditorFragment.java

License:Apache License

public TileEditorFragment(String id, String markupId, MarkupContainer markupProvider,
        final IModel<BrixNode> nodeModel, final String tileId, boolean filterFeedback) {
    super(id, markupId, markupProvider, nodeModel);

    final Form<Void> form = new Form<Void>("form");
    add(form);//from   w ww.j  a  va2 s . c o  m

    form.add(new FeedbackPanel("feedback", filterFeedback ? new ContainerFeedbackMessageFilter(form) : null));

    Brix brix = nodeModel.getObject().getBrix();
    final String tileClassName = getTileContainerNode().tiles().getTileClassName(tileId);
    final Tile tile = Tile.Helper.getTileOfType(tileClassName, brix);

    final TileEditorPanel editor;

    form.add(editor = tile.newEditor("editor", nodeModel));

    editor.load(getTileContainerNode().tiles().getTile(tileId));

    form.add(new SubmitLink("submit") {
        @Override
        public void onSubmit() {
            BrixNode node = TileEditorFragment.this.getModelObject();
            BrixNode tile = getTileContainerNode().tiles().getTile(tileId);
            node.checkout();
            editor.save(tile);
            node.save();
            node.checkin();
            getSession().info(getString("tileSuccessfullySaved"));
        }
    });

    form.add(new Link<Void>("delete") {
        @Override
        public void onClick() {
            onDelete(tileId);
        }

        @Override
        protected void onComponentTag(ComponentTag tag) {
            super.onComponentTag(tag);
            String confirm = TileEditorFragment.this.getString("deleteConfirmation");
            tag.put("onclick",
                    "if (!confirm('" + confirm + "')) return false; " + tag.getAttributes().get("onclick"));
        }
    });
}

From source file:org.brixcms.plugin.site.resource.admin.EditPropertiesPanel.java

License:Apache License

public EditPropertiesPanel(String id, final IModel<BrixNode> nodeModel) {
    super(id, nodeModel);

    List<Protocol> protocols = Arrays.asList(Protocol.values());

    final ModelBuffer model = new ModelBuffer(nodeModel);
    Form<?> form = new Form<Void>("form");

    IChoiceRenderer<Protocol> renderer = new IChoiceRenderer<Protocol>() {
        public Object getDisplayValue(Protocol object) {
            return getString(object.toString());
        }//from  w w  w  . j a v a 2  s.  co m

        public String getIdValue(Protocol object, int index) {
            return object.toString();
        }
    };
    IModel<Protocol> protocolModel = model.forProperty("requiredProtocol");
    form.add(new DropDownChoice<Protocol>("requiredProtocol", protocolModel, protocols, renderer)
            .setNullValid(false));

    IModel<String> mimeTypeModel = model.forProperty("mimeType");
    form.add(new TextField<String>("mimeType", mimeTypeModel));

    form.add(new SubmitLink("save") {
        @Override
        public void onSubmit() {
            BrixNode node = nodeModel.getObject();
            model.apply();
            node.save();
            getSession().info(getString("propertiesSaved"));
            goBack();
        }
    });

    form.add(new Link<Void>("cancel") {
        @Override
        public void onClick() {
            getSession().info(getString("editingCanceled"));
            goBack();
        }
    });

    add(form);
}

From source file:org.brixcms.plugin.site.resource.admin.UploadResourcesPanel.java

License:Apache License

public UploadResourcesPanel(String id, IModel<BrixNode> model, final SimpleCallback goBack) {
    super(id, model);

    Form<?> form = new Form<UploadResourcesPanel>("form",
            new CompoundPropertyModel<UploadResourcesPanel>(this));
    add(form);/*from   w ww  . jav a2  s .co m*/

    form.add(new ContainerFeedbackPanel("feedback", this));

    form.add(new SubmitLink("upload") {
        @Override
        public void onSubmit() {
            processUploads();
        }
    });

    form.add(new Link<Void>("cancel") {
        @Override
        public void onClick() {
            goBack.execute();
        }
    });

    form.add(new MultiFileUploadField("uploads"));
    form.add(new CheckBox("overwrite"));
}

From source file:org.brixcms.plugin.site.resource.managers.text.CreateTextResourcePanel.java

License:Apache License

public CreateTextResourcePanel(String id, IModel<BrixNode> container, final SimpleCallback back) {
    super(id, container);

    add(new FeedbackPanel("feedback"));

    Form<?> form = new Form<Void>("form");
    add(form);/*from ww w  .  j av a 2  s . com*/

    form.add(new TextField<String>("fileName", new PropertyModel<String>(this, "fileName")).setRequired(true)
            .add(NodeNameValidator.getInstance()).setLabel(new ResourceModel("fileName")));

    final ModelBuffer model = new ModelBuffer();

    form.add(new TextResourceEditor("editor", model));

    form.add(new SubmitLink("save") {
        @Override
        public void onSubmit() {
            if (getContainer().hasNode(fileName)) {
                error(getString("fileExists", Model.ofMap(new MicroMap<String, String>("fileName", fileName))));
                return;
            }

            // create initial node skeleton
            BrixNode node = (BrixNode) getContainer().addNode(fileName, "nt:file");
            BrixFileNode file = BrixFileNode.initialize(node, "text"); // temp-mime

            // save the node so brix assigns the correct jcr type to it
            getContainer().save();

            // populate node
            ResourceNode resource = (ResourceNode) getContainer().getSession().getItem(node.getPath());
            model.setObject(new BrixNodeModel(resource));
            model.apply();

            getContainer().save();

            // done
            getSession().info(getString("saved"));
            SitePlugin.get().selectNode(this, resource, true);
        }
    });

    form.add(new Link<Void>("cancel") {
        @Override
        public void onClick() {
            getSession().info(getString("cancelled"));
            back.execute();
        }
    });
}