Example usage for org.apache.wicket.ajax AjaxRequestTarget appendJavaScript

List of usage examples for org.apache.wicket.ajax AjaxRequestTarget appendJavaScript

Introduction

In this page you can find the example usage for org.apache.wicket.ajax AjaxRequestTarget appendJavaScript.

Prototype

void appendJavaScript(CharSequence javascript);

Source Link

Document

Adds javascript that will be evaluated on the client side after components are replaced

If the javascript needs to do something asynchronously (i.e.

Usage

From source file:org.artifactory.webapp.wicket.actionable.tree.ActionableItemsTree.java

License:Open Source License

public void selectNode(TreeNode selectedNode, TreeNode newSelection, AjaxRequestTarget target) {
    ITreeState state = getTreeState();//from   w w  w .  j a  va 2  s .  com
    if (selectedNode != null && newSelection != null) {
        state.selectNode(selectedNode, false);
        state.selectNode(newSelection, true);
        target.add(this);
        selectNode(newSelection);
        target.add(itemsProvider.getItemDisplayPanel());
        target.appendJavaScript("Browser.scrollToSelectedNode();");
    }
}

From source file:org.artifactory.webapp.wicket.actionable.tree.TreeKeyEventHandler.java

License:Open Source License

public TreeKeyEventHandler(String id, final ActionableItemsTree tree) {
    super(id);/*ww w .  ja v  a 2s.c om*/

    addKeyListener(new KeyListener() {
        @Override
        public void keyReleased(KeyReleasedEvent e) {
            TreeNode selectedNode = tree.getSelectedNode();
            if (selectedNode == null) {
                return;
            }

            ITreeState state = tree.getTreeState();
            boolean expanded = state.isNodeExpanded(selectedNode);
            AjaxRequestTarget target = e.getTarget();
            if (!expanded && !selectedNode.isLeaf() && selectedNode.getAllowsChildren()) {
                state.expandNode(selectedNode);
                tree.onJunctionLinkClicked(target, selectedNode);
                target.add(tree);
                target.appendJavaScript("Browser.scrollToSelectedNode();");
            } else {
                tree.selectNode(selectedNode, tree.getNextTreeNode(selectedNode), target);
            }
        }
    }, VK_RIGHT, VK_ADD);

    addKeyListener(new KeyListener() {
        @Override
        public void keyReleased(KeyReleasedEvent e) {
            TreeNode selectedNode = tree.getSelectedNode();
            if (selectedNode == null) {
                return;
            }

            ITreeState state = tree.getTreeState();
            boolean expanded = state.isNodeExpanded(selectedNode);
            AjaxRequestTarget target = e.getTarget();
            if (expanded) {
                state.collapseNode(selectedNode);
                tree.onJunctionLinkClicked(target, selectedNode);
                target.add(tree);
                target.appendJavaScript("Browser.scrollToSelectedNode();");
            } else {
                tree.selectNode(selectedNode, tree.getPrevTreeNode(selectedNode), target);
            }
        }
    }, VK_LEFT, VK_SUBTRACT);

    addKeyListener(new KeyListener() {
        @Override
        public void keyReleased(KeyReleasedEvent e) {
            TreeNode selectedNode = tree.getSelectedNode();
            if (selectedNode != null) {
                tree.selectNode(selectedNode, tree.getPrevTreeNode(selectedNode), e.getTarget());
            }

        }
    }, VK_UP);

    addKeyListener(new KeyListener() {
        @Override
        public void keyReleased(KeyReleasedEvent e) {
            TreeNode selectedNode = tree.getSelectedNode();
            if (selectedNode != null) {
                tree.selectNode(selectedNode, tree.getNextTreeNode(selectedNode), e.getTarget());
            }
        }
    }, VK_DOWN);
}

From source file:org.artifactory.webapp.wicket.page.browse.treebrowser.tabs.general.panels.OnlineStatusPanel.java

License:Open Source License

private void addOnlineInfo() {

    onlineStatusLabel.add(behavior);/*from w ww  .  j  a va2 s. c  om*/
    add(onlineStatusLabel);
    WebMarkupContainer resetButton = new TitledAjaxLink("resetButton", "Set Online") {

        @Override
        public void onClick(AjaxRequestTarget target) {
            repositoryService.resetAssumedOffline(remoteRepository.getKey());
            onlineStatusLabel.setValue(getStatusText(remoteRepository, isOffline));
            /* //stops java script refreshing of counter
            behavior.stop();
            target.appendJavaScript("clearTimeout(refreshLabel)");*/
            target.add(OnlineStatusPanel.this);
            target.appendJavaScript("clearTimeout(refreshLabel)");
        }

        @Override
        public boolean isVisible() {

            return (authorizationService.isAdmin()
                    && repositoryService.isRemoteAssumedOffline(remoteRepository.getKey()));
        }
    };
    add(resetButton);
}

From source file:org.artifactory.webapp.wicket.page.home.settings.modal.download.AjaxSettingsDownloadBehavior.java

License:Open Source License

public void initiate(AjaxRequestTarget target) {
    CharSequence url = getCallbackUrl();

    target.appendJavaScript("window.location.href='" + url + "'");
}

From source file:org.artifactory.webapp.wicket.page.logs.SystemLogsViewPanel.java

License:Open Source License

/**
 * Update the different display components
 *
 * @param target     The AjaxRequestTarget from our action
 * @param cleanPanel True if the text container should be cleaned of content. false if not
 *///  ww w.  j av  a  2s .  com
private void updateComponents(AjaxRequestTarget target, boolean cleanPanel) {
    //Make sure the bottom of the text area will be displayed after every update
    target.appendJavaScript(jsFunctionCall("ArtifactoryLog.log", contentLabel.getMarkupId(),
            readLogAndUpdateSize(cleanPanel), cleanPanel));
    target.add(downloadLink);
    target.add(sizeLabel);
    target.add(linkLabel);
    target.add(lastUpdateLabel);
}

From source file:org.artifactory.webapp.wicket.page.security.acl.PermissionTargetCreateUpdatePanel.java

License:Open Source License

@Override
public void onShow(AjaxRequestTarget target) {
    super.onShow(target);
    target.appendJavaScript("PermissionTabPanel.onShow()");
}

From source file:org.artifactory.webapp.wicket.page.security.acl.tabs.RepositoriesTabPanel.java

License:Open Source License

private void addRepoKeysCheckboxes() {
    final StyledCheckbox anyLocalRepositoryCheckbox = new StyledCheckbox("anyLocalRepository",
            new PropertyModel<Boolean>(parent.getRepoKeysData(), "anyLocalRepository"));
    anyLocalRepositoryCheckbox.setEnabled(isSystemAdmin());
    add(anyLocalRepositoryCheckbox);/*from   w  w  w  . j av  a  2s  .  co m*/

    anyLocalRepositoryCheckbox.add(new AjaxFormSubmitBehavior("onclick") {
        @Override
        protected void onError(AjaxRequestTarget target) {
            AjaxUtils.refreshFeedback(target);
        }

        @Override
        protected void onSubmit(AjaxRequestTarget target) {
            PermissionTargetCreateUpdatePanel.RepoKeysData repoKeysData = parent.getRepoKeysData();
            if (repoKeysData.isAnyLocalRepository()) {
                repoKeysData.addRepoDescriptors(parent.getLocalRepositoryDescriptors());
            } else {
                repoKeysData.removeRepoDescriptors(parent.getLocalRepositoryDescriptors());
            }
            target.add(RepositoriesTabPanel.this.get("repoKeys"));
            target.appendJavaScript("PermissionTabPanel.resize();");
            AjaxUtils.refreshFeedback(target);
        }
    });

    final StyledCheckbox anyRemoteRepositoryCheckbox = new StyledCheckbox("anyRemoteRepository",
            new PropertyModel<Boolean>(parent.getRepoKeysData(), "anyRemoteRepository"));
    anyRemoteRepositoryCheckbox.setEnabled(isSystemAdmin());
    add(anyRemoteRepositoryCheckbox);

    anyRemoteRepositoryCheckbox.add(new AjaxFormSubmitBehavior("onclick") {
        @Override
        protected void onError(AjaxRequestTarget target) {
            AjaxUtils.refreshFeedback(target);
        }

        @Override
        protected void onSubmit(AjaxRequestTarget target) {
            PermissionTargetCreateUpdatePanel.RepoKeysData repoKeysData = parent.getRepoKeysData();
            if (repoKeysData.isAnyRemoteRepository()) {
                repoKeysData.addRepoDescriptors(parent.getRemoteRepositoryDescriptors());
            } else {
                repoKeysData.removeRepoDescriptors(parent.getRemoteRepositoryDescriptors());
            }
            target.add(RepositoriesTabPanel.this.get("repoKeys"));
            target.appendJavaScript("PermissionTabPanel.resize();");
            AjaxUtils.refreshFeedback(target);
        }
    });
}

From source file:org.bosik.diacomp.web.frontend.wicket.dialogs.common.CommonEditor.java

License:Open Source License

@Override
public void show(final AjaxRequestTarget target) {
    if (!isShown()) {
        final AppendingStringBuffer buffer = new AppendingStringBuffer(500);
        buffer.append("function mwClose(ev) {\n" + "var code = ev.keyCode || ev.which;\n" + "if (code == 27) { "
                + getCloseJavacript() + "};" + "}");

        buffer.append("jQuery(document).keyup(mwClose);\n");
        target.appendJavaScript(buffer.toString());
    }/*  w  w  w. j  av  a 2  s  . co m*/

    super.show(target);
}

From source file:org.brixcms.plugin.site.picker.reference.IndexedParametersTab.java

License:Apache License

public IndexedParametersTab(String id) {
    super(id);/*from  w w w . j a va  2  s  . c  om*/

    setOutputMarkupId(true);

    final FeedbackPanel feedback = new FeedbackPanel("feedback");
    feedback.setOutputMarkupId(true);
    add(feedback);

    Form<Entry> newForm = new Form<Entry>("newForm",
            new CompoundPropertyModel<Entry>(new PropertyModel<Entry>(this, "newEntry")));
    add(newForm);

    newForm.add(new TextField<String>("value").setRequired(true));
    newForm.add(new AjaxButton("add") {
        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            dataSource.addEntry(newEntry);
            dataSource.storeToPageParameters();
            target.addComponent(IndexedParametersTab.this);
            newEntry = new Entry();
        }

        @Override
        protected void onError(AjaxRequestTarget target, Form form) {
            target.addComponent(feedback);
        }
    });

    List<IGridColumn> columns = new ArrayList<IGridColumn>();
    columns.add(new CheckBoxColumn("checkbox"));

    columns.add(new EditablePropertyColumn(new ResourceModel("value"), "value") {
        @Override
        protected void addValidators(FormComponent component) {
            component.setRequired(true);
        }
    });

    columns.add(new SubmitCancelColumn("submitCancel", new ResourceModel("edit")) {
        @Override
        protected void onSubmitted(AjaxRequestTarget target, IModel rowModel, WebMarkupContainer rowComponent) {
            dataSource.storeToPageParameters();
            super.onSubmitted(target, rowModel, rowComponent);
            target.addComponent(feedback);
        }

        @Override
        protected void onError(AjaxRequestTarget target, IModel rowModel, WebMarkupContainer rowComponent) {
            target.addComponent(feedback);
        }
    });

    columns.add(new AbstractColumn("move", new ResourceModel("move")) {
        @Override
        public Component newCell(WebMarkupContainer parent, String componentId, IModel rowModel) {
            final AbstractColumn column = this;
            return new MovePanel(componentId, rowModel) {
                @Override
                protected DataGrid getGrid() {
                    return (DataGrid) column.getGrid();
                }
            };
        }
    }.setInitialSize(5).setSizeUnit(SizeUnit.EM).setResizable(false));

    final DataGrid grid = new DataGrid("grid", dataSource, columns) {
        @Override
        public void onItemSelectionChanged(IModel item, boolean newValue) {
            AjaxRequestTarget target = AjaxRequestTarget.get();
            if (target != null) {
                target.addComponent(removeSelected);
            }
            super.onItemSelectionChanged(item, newValue);
        }
    };

    grid.setRowsPerPage(Integer.MAX_VALUE);
    grid.setAllowSelectMultiple(true);
    grid.setContentHeight(14, SizeUnit.EM);
    grid.setSelectToEdit(false);
    add(grid);

    add(removeSelected = new AjaxLink<Void>("removeSelected") {
        @Override
        public void onClick(AjaxRequestTarget target) {
            Collection<IModel> items = grid.getSelectedItems();
            if (items.size() > 0) {
                for (IModel model : items) {
                    Entry entry = (Entry) model.getObject();
                    dataSource.removeEntry(entry);
                }
                grid.resetSelectedItems();
                dataSource.storeToPageParameters();
                grid.markAllItemsDirty();
                grid.update();
            } else {
                target.appendJavaScript("alert('" + getString("noItemsSelected") + "');");
            }
        }

        @Override
        public boolean isEnabled() {
            return !grid.getSelectedItems().isEmpty();
        }
    });
}

From source file:org.brixcms.plugin.site.picker.reference.QueryParametersTab.java

License:Apache License

public QueryParametersTab(String id) {
    super(id);/*w ww  .j av a 2  s.  c  o m*/
    setOutputMarkupId(true);

    final FeedbackPanel feedback = new FeedbackPanel("feedback");
    feedback.setOutputMarkupId(true);
    add(feedback);

    Form<Entry> newForm = new Form<Entry>("newForm",
            new CompoundPropertyModel<Entry>(new PropertyModel<Entry>(this, "newEntry")));
    add(newForm);

    newForm.add(new TextField<String>("key").setRequired(true));
    newForm.add(new TextField<String>("value").setRequired(true));
    newForm.add(new AjaxButton("add") {
        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            dataSource.addEntry(newEntry);
            dataSource.storeToPageParameters();
            target.addComponent(QueryParametersTab.this);
            newEntry = new Entry();
        }

        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form) {
            target.addComponent(feedback);
        }
    });

    List<IGridColumn> columns = new ArrayList<IGridColumn>();
    columns.add(new CheckBoxColumn("checkbox"));
    columns.add(new EditablePropertyColumn(new ResourceModel("key"), "key") {
        @Override
        protected void addValidators(FormComponent component) {
            component.setRequired(true);
        }
    });
    columns.add(new EditablePropertyColumn(new ResourceModel("value"), "value") {
        @Override
        protected void addValidators(FormComponent component) {
            component.setRequired(true);
        }
    });
    columns.add(new SubmitCancelColumn("submitCancel", new ResourceModel("edit")) {
        @Override
        protected void onSubmitted(AjaxRequestTarget target, IModel rowModel, WebMarkupContainer rowComponent) {
            dataSource.storeToPageParameters();
            super.onSubmitted(target, rowModel, rowComponent);
            target.addComponent(feedback);
        }

        @Override
        protected void onError(AjaxRequestTarget target, IModel rowModel, WebMarkupContainer rowComponent) {
            target.addComponent(feedback);
        }
    });

    final DataGrid grid = new DataGrid("grid", dataSource, columns) {
        @Override
        public void onItemSelectionChanged(IModel item, boolean newValue) {
            AjaxRequestTarget target = AjaxRequestTarget.get();
            if (target != null) {
                target.addComponent(removeSelected);
            }
            super.onItemSelectionChanged(item, newValue);
        }
    };
    grid.setRowsPerPage(Integer.MAX_VALUE);
    grid.setAllowSelectMultiple(true);
    grid.setContentHeight(14, SizeUnit.EM);
    grid.setSelectToEdit(false);
    add(grid);

    add(removeSelected = new AjaxLink<Void>("removeSelected") {
        @Override
        public void onClick(AjaxRequestTarget target) {
            Collection<IModel> items = grid.getSelectedItems();
            if (items.size() > 0) {
                for (IModel model : items) {
                    Entry entry = (Entry) model.getObject();
                    dataSource.removeEntry(entry);
                }
                grid.resetSelectedItems();
                dataSource.storeToPageParameters();
                grid.markAllItemsDirty();
                grid.update();
            } else {
                target.appendJavaScript("alert('" + getString("noItemsSelected") + "');");
            }
        }

        @Override
        public boolean isEnabled() {
            return !grid.getSelectedItems().isEmpty();
        }
    });
}