Example usage for org.apache.wicket.ajax AjaxEventBehavior AjaxEventBehavior

List of usage examples for org.apache.wicket.ajax AjaxEventBehavior AjaxEventBehavior

Introduction

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

Prototype

public AjaxEventBehavior(String event) 

Source Link

Document

Construct.

Usage

From source file:org.apache.openmeetings.web.user.profile.InvitationsPanel.java

License:Apache License

public InvitationsPanel(String id) {
    super(id);//  w  ww  .  ja  v a  2  s. c  o  m
    setOutputMarkupId(true);

    SearchableDataView<Invitation> dataView = new SearchableDataView<Invitation>("invitations",
            new InvitationProvider()) {
        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(Item<Invitation> item) {
            final Invitation i = item.getModelObject();
            item.add(new Label("id"));
            item.add(new Label("valid"/*, getString("admin.email.status." + m.getStatus().name())*/));
            item.add(new Label("invitee", formatUser(i.getInvitee())));
            item.add(new AjaxEventBehavior(EVT_CLICK) {
                private static final long serialVersionUID = 1L;

                @Override
                protected void onEvent(AjaxRequestTarget target) {
                    if (i.getId().equals(selected)) {
                        selected = null;
                    } else {
                        selected = i.getId();
                    }
                    form.setModelObject(i);
                    target.add(form, list);
                }
            });
            item.add(AttributeModifier.replace(ATTR_CLASS, getRowClass(i)));
        }
    };
    add(list.add(dataView).setOutputMarkupId(true));
    final PagedEntityListPanel navigator = new PagedEntityListPanel("navigator", dataView) {
        private static final long serialVersionUID = 1L;

        @Override
        protected void onEvent(AjaxRequestTarget target) {
            target.add(list);
        }
    };
    DataViewContainer<Invitation> container = new DataViewContainer<>(list, dataView, navigator);
    container.addLink(new OmOrderByBorder<>("orderById", "id", container))
            .addLink(new OmOrderByBorder<>("orderByValid", "valid", container))
            .addLink(new OmOrderByBorder<>("orderByInvitee", "invitee", container));
    add(container.getLinks());
    add(navigator);

    form = new InvitationDetails("form", list, new Invitation());
    add(form);
}

From source file:org.apache.openmeetings.web.user.profile.MessageDialog.java

License:Apache License

public MessageDialog(String id, CompoundPropertyModel<PrivateMessage> model) {
    super(id, WebSession.getString(1209), model);
    form = new Form<PrivateMessage>("form", getModel());

    form.add(feedback.setOutputMarkupId(true));
    form.add(new UserMultiChoice("to", modelTo).setRequired(true));
    form.add(new TextField<String>("subject"));
    DefaultWysiwygToolbar toolbar = new DefaultWysiwygToolbar("toolbarContainer");
    form.add(toolbar);//from  ww w  .ja  v a  2 s.  c  o m
    form.add(new WysiwygEditor("message", toolbar));
    form.add(roomParamsBlock.setOutputMarkupId(true));
    final CheckBox bookedRoom = new CheckBox("bookedRoom");
    form.add(bookedRoom.setOutputMarkupId(true).add(new AjaxEventBehavior("click") {
        private static final long serialVersionUID = 1L;

        @Override
        protected void onEvent(AjaxRequestTarget target) {
            PrivateMessage p = MessageDialog.this.getModelObject();
            p.setBookedRoom(!p.isBookedRoom());
            roomParams.setVisible(p.isBookedRoom());
            target.add(bookedRoom, roomParamsBlock);
        }
    }));
    roomParamsBlock.add(roomParams);
    roomParams.add(new RoomTypeDropDown("room.roomtype"));
    roomParams.add(new DateTimeField("start", modelStart));
    roomParams.add(new DateTimeField("end", modelEnd));
    add(form.setOutputMarkupId(true));
}

From source file:org.apache.openmeetings.web.user.profile.MessagesContactsPanel.java

License:Apache License

public MessagesContactsPanel(String id) {
    super(id);//  ww  w  . j a  va  2  s.  com
    NOT_MOVE_FOLDER.setId(MOVE_CHOOSE);
    NOT_MOVE_FOLDER.setFolderName(Application.getString(1243));
    foldersModel.setObject(getBean(PrivateMessageFolderDao.class).get(0, Integer.MAX_VALUE));
    updateMoveModel();

    final AddFolderDialog addFolder = new AddFolderDialog("addFolder") {
        private static final long serialVersionUID = 1L;

        @Override
        protected void onSubmit(AjaxRequestTarget target) {
            super.onSubmit(target);
            PrivateMessageFolderDao fDao = getBean(PrivateMessageFolderDao.class);
            fDao.addPrivateMessageFolder(getModelObject(), getUserId());
            foldersModel.setObject(fDao.get(0, Integer.MAX_VALUE));
            updateMoveModel();
            target.add(folders, moveDropDown);
        }
    };
    add(addFolder);
    add(new JQueryBehavior(".email.new", "button"));
    folders.add(inbox.add(new AjaxEventBehavior("click") {
        private static final long serialVersionUID = 1L;

        @Override
        protected void onEvent(AjaxRequestTarget target) {
            selectFolder(inbox, INBOX_FOLDER_ID, target);
        }
    }));
    folders.add(sent.add(new AjaxEventBehavior("click") {
        private static final long serialVersionUID = 1L;

        @Override
        protected void onEvent(AjaxRequestTarget target) {
            selectFolder(sent, SENT_FOLDER_ID, target);
        }
    }));
    folders.add(trash.add(new AjaxEventBehavior("click") {
        private static final long serialVersionUID = 1L;

        @Override
        protected void onEvent(AjaxRequestTarget target) {
            selectFolder(trash, TRASH_FOLDER_ID, target);
        }
    }));
    folders.add(new WebMarkupContainer("newdir").add(new AjaxEventBehavior("click") {
        private static final long serialVersionUID = 1L;

        @Override
        protected void onEvent(AjaxRequestTarget target) {
            addFolder.open(target);
        }
    }).add(new JQueryBehavior(".email.newdir", "button")));
    add(folders.add(new ListView<PrivateMessageFolder>("folder", foldersModel) {
        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(final ListItem<PrivateMessageFolder> item) {
            item.add(new Label("name", item.getModelObject().getFolderName()));
            item.add(new ConfirmableAjaxBorder("delete", getString("80"), getString("833")) {
                private static final long serialVersionUID = 1L;

                @Override
                protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
                    attributes.setEventPropagation(EventPropagation.STOP_IMMEDIATE);
                }

                @Override
                protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
                    PrivateMessageFolderDao fDao = getBean(PrivateMessageFolderDao.class);
                    fDao.delete(item.getModelObject(), getUserId());
                    foldersModel.setObject(fDao.get(0, Integer.MAX_VALUE));
                    updateMoveModel();
                    target.add(folders, moveDropDown);
                }
            });
            item.add(new AjaxEventBehavior("click") {
                private static final long serialVersionUID = 1L;

                @Override
                protected void onEvent(AjaxRequestTarget target) {
                    selectFolder(item, item.getModelObject().getId(), target);
                }
            });
            setFolderClass(item);
        }
    }).setOutputMarkupId(true));

    SearchableDataProvider<PrivateMessage> sdp = new SearchableDataProvider<PrivateMessage>(
            PrivateMessageDao.class) {
        private static final long serialVersionUID = 1L;

        @Override
        protected PrivateMessageDao getDao() {
            return (PrivateMessageDao) super.getDao();
        }

        @Override
        public Iterator<? extends PrivateMessage> iterator(long first, long count) {
            allMessages.clear();
            readMessages.clear();
            unreadMessages.clear();
            String sort = getSort() == null ? "" : "m." + getSort().getProperty();
            boolean isAsc = getSort() == null ? true : getSort().isAscending();
            return getDao().get(getUserId(), selectedFolderModel.getObject(), search, sort, isAsc, (int) first,
                    (int) count).iterator();
        }

        @Override
        public long size() {
            return getDao().count(getUserId(), selectedFolderModel.getObject(), search);
        }
    };
    final SearchableDataView<PrivateMessage> dv = new SearchableDataView<PrivateMessage>("messages", sdp) {
        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(Item<PrivateMessage> item) {
            PrivateMessage m = item.getModelObject();
            final Long id = m.getId();
            allMessages.add(id);
            if (m.getIsRead()) {
                readMessages.add(id);
            } else {
                unreadMessages.add(id);
            }
            item.add(new Label("id", id));
            item.add(new Label("from", getDisplayName(m.getFrom())));
            item.add(new Label("subject", m.getSubject()));
            item.add(new Label("send", getDateFormat().format(m.getInserted())));
            item.add(new AjaxEventBehavior("click") {
                private static final long serialVersionUID = 1L;

                @Override
                protected void onEvent(AjaxRequestTarget target) {
                    long selected = id;
                    if (selectedMessages.contains(id)) {
                        selectedMessages.remove(id);
                        selected = selectedMessages.isEmpty() ? -1 : selectedMessages.iterator().next();
                    } else {
                        selectedMessages.add(id);
                    }
                    selectMessage(selected, target);
                    target.add(container);
                }
            });
            StringBuilder cssClass = new StringBuilder(m.getIsRead() ? "" : "unread");
            if (selectedMessages.contains(id)) {
                if (cssClass.length() > 0) {
                    cssClass.append(" ");
                }
                cssClass.append("ui-state-active");
            }
            item.add(AttributeModifier.replace("class", cssClass.toString()));
        }
    };
    PagedEntityListPanel navigator = new PagedEntityListPanel("navigator", dv) {
        private static final long serialVersionUID = 1L;

        @Override
        protected void onEvent(AjaxRequestTarget target) {
            emptySelection(target);
            target.add(container);
        }
    };
    dataContainer = new DataViewContainer<PrivateMessage>(container, dv, navigator);
    dataContainer.addLink(new OmOrderByBorder<PrivateMessage>("orderById", "id", dataContainer))
            .addLink(new OmOrderByBorder<PrivateMessage>("orderByFrom", "from.lastname", dataContainer))
            .addLink(new OmOrderByBorder<PrivateMessage>("orderBySubject", "subject", dataContainer))
            .addLink(new OmOrderByBorder<PrivateMessage>("orderBySend", "inserted", dataContainer));
    add(dataContainer.getLinks());
    add(navigator);

    add(unread.setOutputMarkupId(true));

    add(buttons.setOutputMarkupId(true));
    buttons.add(toInboxBtn.add(new AjaxEventBehavior("click") {
        private static final long serialVersionUID = 1L;

        @Override
        protected void onEvent(AjaxRequestTarget target) {
            getBean(PrivateMessageDao.class).moveMailsToFolder(selectedMessages, INBOX_FOLDER_ID);
            selectFolder(selectedFolder, selectedFolderModel.getObject(), target);
        }
    }));
    buttons.add(deleteBtn.add(new AjaxEventBehavior("click") {
        private static final long serialVersionUID = 1L;

        @Override
        protected void onEvent(AjaxRequestTarget target) {
            if (TRASH_FOLDER_ID.equals(selectedFolderModel.getObject())) {
                getBean(PrivateMessageDao.class).delete(selectedMessages);
            } else {
                getBean(PrivateMessageDao.class).moveMailsToFolder(selectedMessages, TRASH_FOLDER_ID);
            }
            emptySelection(target);
            target.add(container);
        }
    }));
    buttons.add(readBtn.add(new AjaxEventBehavior("click") {
        private static final long serialVersionUID = 1L;

        @Override
        protected void onEvent(AjaxRequestTarget target) {
            getBean(PrivateMessageDao.class).updateReadStatus(selectedMessages, true);
            emptySelection(target);
            target.add(container, unread);
        }
    }));
    buttons.add(unreadBtn.add(new AjaxEventBehavior("click") {
        private static final long serialVersionUID = 1L;

        @Override
        protected void onEvent(AjaxRequestTarget target) {
            getBean(PrivateMessageDao.class).updateReadStatus(selectedMessages, false);
            emptySelection(target);
            target.add(container);
        }
    }));
    buttons.add(selectDropDown.setOutputMarkupId(true).add(new OnChangeAjaxBehavior() {
        private static final long serialVersionUID = 1L;

        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            switch (selectDropDown.getModelObject()) {
            case SELECT_CHOOSE:
                break;
            case SELECT_ALL:
                selectedMessages.clear();
                selectedMessages.addAll(allMessages);
                break;
            case SELECT_NONE:
                selectedMessages.clear();
                break;
            case SELECT_UNREAD:
                selectedMessages.clear();
                selectedMessages.addAll(unreadMessages);
                break;
            case SELECT_READ:
                selectedMessages.clear();
                selectedMessages.addAll(readMessages);
                break;
            }
            target.add(container);
        }
    }));
    buttons.add(moveDropDown.setOutputMarkupId(true).add(new OnChangeAjaxBehavior() {
        private static final long serialVersionUID = 1L;

        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            Long folderId = moveDropDown.getModelObject().getId();
            if (!MOVE_CHOOSE.equals(folderId)) {
                getBean(PrivateMessageDao.class).moveMailsToFolder(selectedMessages, folderId);
            }
            selectFolder(selectedFolder, selectedFolderModel.getObject(), target);
        }
    }));

    selectMessage(-1, null);
    add(container.add(dv).setOutputMarkupId(true));
    //TODO add valid autoupdate add(new AjaxSelfUpdatingTimerBehavior(seconds(15)));
    add(selectedMessage.add(roomContainer.setVisible(false)).setOutputMarkupId(true));

    IDataProvider<UserContact> dp = new IDataProvider<UserContact>() {
        private static final long serialVersionUID = 1L;

        @Override
        public void detach() {
        }

        @Override
        public Iterator<? extends UserContact> iterator(long first, long count) {
            return getBean(UserContactDao.class).get(getUserId(), (int) first, (int) count).iterator();
        }

        @Override
        public long size() {
            return getBean(UserContactDao.class).count(getUserId());
        }

        @Override
        public IModel<UserContact> model(UserContact object) {
            return Model.of(object);
        }
    };
    final DataView<UserContact> dw = new DataView<UserContact>("users", dp) {
        private static final long serialVersionUID = 1L;

        private String getName(UserContact uc) {
            return uc.getOwner().getFirstname() + " " + uc.getOwner().getLastname(); //FIXME salutation
        }

        @Override
        protected void populateItem(Item<UserContact> item) {
            UserContact uc = item.getModelObject();
            final Long contactId = uc.getId();
            final Long userId = uc.getOwner().getId();
            if (uc.isPending()) {
                item.add(AttributeModifier.append("class", "unread"));
            }
            item.add(new Label("name", getName(uc)));
            item.add(new WebMarkupContainer("accept").add(new AjaxEventBehavior("click") {
                private static final long serialVersionUID = 1L;

                @Override
                protected void onEvent(AjaxRequestTarget target) {
                    ContactsHelper.acceptUserContact(contactId);
                    updateContacts(target);
                }
            }).setVisible(uc.isPending()));
            item.add(new WebMarkupContainer("decline").add(new AjaxEventBehavior("click") {
                private static final long serialVersionUID = 1L;

                @Override
                protected void onEvent(AjaxRequestTarget target) {
                    getBean(UserContactDao.class).delete(contactId);
                    updateContacts(target);
                }
            }).setVisible(uc.isPending()));
            item.add(new WebMarkupContainer("view")
                    .add(AttributeAppender.append("onclick", String.format("showUserInfo(%s);", userId))));
            item.add(new WebMarkupContainer("message")
                    .add(AttributeAppender.append("onclick", String.format("privateMessage(%s);", userId)))
                    .setVisible(!uc.isPending()));
            item.add(new ConfirmableAjaxBorder("delete", getString("80"), getString("833")) {
                private static final long serialVersionUID = 1L;

                @Override
                protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
                    attributes.setEventPropagation(EventPropagation.STOP_IMMEDIATE);
                }

                @Override
                protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
                    getBean(UserContactDao.class).delete(contactId);
                    updateContacts(target);
                }
            }.setVisible(!uc.isPending()));
        }
    };
    updateContacts(null);
    add(contacts.add(dw, pendingContacts, allContacts).setOutputMarkupId(true));//TODO update

    //hack to add FixedHeaderTable after Tabs.
    add(new AbstractDefaultAjaxBehavior() {
        private static final long serialVersionUID = 1L;

        @Override
        protected void respond(AjaxRequestTarget target) {
            selectFolder(inbox, INBOX_FOLDER_ID, target);
            selectMessage(-1, target);
        }

        @Override
        public void renderHead(Component component, IHeaderResponse response) {
            super.renderHead(component, response);
            response.render(OnDomReadyHeaderItem.forScript(getCallbackScript()));
        }
    });
}

From source file:org.apache.openmeetings.web.user.record.RecordingItemPanel.java

License:Apache License

public RecordingItemPanel(String id, final IModel<FlvRecording> model,
        final RecordingErrorsDialog errorsDialog) {
    super(id, model);
    long errorCount = getBean(FlvRecordingLogDao.class).countErrors(model.getObject().getFlvRecordingId());
    boolean visible = errorCount != 0 || !isRecordingExists(model.getObject().getFileHash() + MP4_EXTENSION);
    item.add(new WebMarkupContainer("errors").add(new AjaxEventBehavior("click") {
        private static final long serialVersionUID = 1L;

        @Override//from   ww  w  .j  a v a  2  s  .  c  om
        protected void onEvent(AjaxRequestTarget target) {
            errorsDialog.setDefaultModel(model);
            errorsDialog.open(target);
        }
    }).setVisible(visible));
}

From source file:org.apache.openmeetings.web.user.rooms.RoomListPanel.java

License:Apache License

public RoomListPanel(String id, List<Room> rooms, final String label) {
    super(id);//from  w  w w. ja  v a2  s. co m
    setOutputMarkupId(true);
    add(list = new ListView<Room>("list", rooms) {
        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(ListItem<Room> item) {
            final Room r = item.getModelObject();
            WebMarkupContainer roomContainer;
            item.add((roomContainer = new WebMarkupContainer("roomContainer"))
                    .add(new AjaxEventBehavior("click") {
                        private static final long serialVersionUID = 1L;

                        @Override
                        protected void onEvent(AjaxRequestTarget target) {
                            onContainerClick(target, r);
                        }
                    }));
            roomContainer.add(new Label("roomName", r.getName()));
            final Label curUsers = new Label("curUsers", new Model<Integer>(
                    Application.getBean(ISessionManager.class).getClientListByRoom(r.getId()).size()));
            roomContainer.add(curUsers.setOutputMarkupId(true));
            roomContainer.add(new Label("totalUsers", r.getNumberOfPartizipants()));
            item.add(new Button("btn").add(new Label("label", label)).add(new RoomEnterBehavior(r.getId()) {
                private static final long serialVersionUID = 1L;

                @Override
                protected void onEvent(AjaxRequestTarget target) {
                    onRoomEnter(target, roomId);
                }
            }));
            roomContainer.add(new AjaxLink<Void>("refresh") {
                private static final long serialVersionUID = 1L;

                @Override
                public void onClick(AjaxRequestTarget target) {
                    target.add(curUsers.setDefaultModelObject(
                            Application.getBean(ISessionManager.class).getClientListByRoom(r.getId()).size()));
                    onRefreshClick(target, r);
                }
            });
        }
    });
}

From source file:org.apache.syncope.client.console.pages.BaseModalPage.java

License:Apache License

public BaseModalPage() {
    super();/*from ww w .j a v  a  2  s  .c  o  m*/

    add(new AjaxEventBehavior("keyup") {

        private static final long serialVersionUID = -7133385027739964990L;

        @Override
        protected void onEvent(final AjaxRequestTarget target) {
            ModalWindow.closeCurrent(target);
        }

        @Override
        protected void updateAjaxAttributes(final AjaxRequestAttributes attributes) {
            super.updateAjaxAttributes(attributes);

            attributes.getAjaxCallListeners().add(new AjaxCallListener() {

                private static final long serialVersionUID = 7160235486520935153L;

                @Override
                public CharSequence getPrecondition(final Component aComponent) {
                    return " if(Wicket.Event.keyCode(attrs.event) != 27){return false;}";
                }
            });
        }
    });
}

From source file:org.apache.syncope.client.console.panels.ImplementationModalPanel.java

License:Apache License

public ImplementationModalPanel(final BaseModal<ImplementationTO> modal, final ImplementationTO implementation,
        final PageReference pageRef) {

    super(modal, pageRef);
    this.implementation = implementation;
    this.viewMode = implementation.getEngine() == ImplementationEngine.GROOVY ? ViewMode.GROOVY_BODY
            : implementation.getType() == ImplementationType.REPORTLET
                    || implementation.getType() == ImplementationType.ACCOUNT_RULE
                    || implementation.getType() == ImplementationType.PASSWORD_RULE
                    || implementation.getType() == ImplementationType.PULL_CORRELATION_RULE ? ViewMode.JSON_BODY
                            : ViewMode.JAVA_CLASS;
    this.create = implementation.getKey() == null;

    add(new AjaxTextFieldPanel("key", "key", new PropertyModel<>(implementation, "key"), false)
            .addRequiredLabel().setEnabled(create));

    List<String> classes = Collections.emptyList();
    if (viewMode == ViewMode.JAVA_CLASS) {
        Optional<JavaImplInfo> javaClasses = SyncopeConsoleSession.get().getPlatformInfo()
                .getJavaImplInfo(implementation.getType());
        classes = javaClasses.isPresent() ? new ArrayList<>(javaClasses.get().getClasses()) : new ArrayList<>();
    } else if (viewMode == ViewMode.JSON_BODY) {
        ClassPathScanImplementationLookup implementationLookup = (ClassPathScanImplementationLookup) SyncopeConsoleApplication
                .get().getServletContext().getAttribute(ConsoleInitializer.CLASSPATH_LOOKUP);

        switch (implementation.getType()) {
        case REPORTLET:
            classes = implementationLookup.getReportletConfs().keySet().stream().collect(Collectors.toList());
            break;

        case ACCOUNT_RULE:
            classes = implementationLookup.getAccountRuleConfs().keySet().stream().collect(Collectors.toList());
            break;

        case PASSWORD_RULE:
            classes = implementationLookup.getPasswordRuleConfs().keySet().stream()
                    .collect(Collectors.toList());
            break;

        case PULL_CORRELATION_RULE:
            classes = implementationLookup.getPullCorrelationRuleConfs().keySet().stream()
                    .collect(Collectors.toList());
            break;

        default:/*from   w w w. j a va 2s.co  m*/
        }
    }
    Collections.sort(classes);

    AjaxDropDownChoicePanel<String> javaClass = new AjaxDropDownChoicePanel<>("javaClass", "Class",
            new PropertyModel<>(implementation, "body"));
    javaClass.setNullValid(false);
    javaClass.setChoices(classes);
    javaClass.addRequiredLabel();
    javaClass.setOutputMarkupId(true).setOutputMarkupPlaceholderTag(true);
    javaClass.setVisible(viewMode == ViewMode.JAVA_CLASS);
    add(javaClass);

    AjaxDropDownChoicePanel<String> jsonClass = new AjaxDropDownChoicePanel<>("jsonClass", "Class",
            new Model<>());
    jsonClass.setNullValid(false);
    jsonClass.setChoices(classes);
    jsonClass.addRequiredLabel();
    jsonClass.setOutputMarkupId(true).setOutputMarkupPlaceholderTag(true);
    jsonClass.setVisible(viewMode == ViewMode.JSON_BODY);
    if (viewMode == ViewMode.JSON_BODY && StringUtils.isNotBlank(implementation.getBody())) {
        try {
            JsonNode node = MAPPER.readTree(implementation.getBody());
            if (node.has("@class")) {
                jsonClass.setModelObject(node.get("@class").asText());
            }
        } catch (IOException e) {
            LOG.error("Could not parse as JSON payload: {}", implementation.getBody(), e);
        }
    }
    jsonClass.setReadOnly(jsonClass.getModelObject() != null);
    add(jsonClass);

    WebMarkupContainer groovyClassContainer = new WebMarkupContainer("groovyClassContainer");
    groovyClassContainer.setOutputMarkupId(true).setOutputMarkupPlaceholderTag(true);
    groovyClassContainer.setVisible(viewMode != ViewMode.JAVA_CLASS);
    add(groovyClassContainer);

    if (StringUtils.isBlank(implementation.getBody())
            && implementation.getEngine() == ImplementationEngine.GROOVY) {

        String templateClassName = null;

        switch (implementation.getType()) {
        case REPORTLET:
            templateClassName = "MyReportlet";
            break;

        case ACCOUNT_RULE:
            templateClassName = "MyAccountRule";
            break;

        case PASSWORD_RULE:
            templateClassName = "MyPasswordRule";
            break;

        case ITEM_TRANSFORMER:
            templateClassName = "MyItemTransformer";
            break;

        case TASKJOB_DELEGATE:
            templateClassName = "MySchedTaskJobDelegate";
            break;

        case RECON_FILTER_BUILDER:
            templateClassName = "MyReconFilterBuilder";
            break;

        case LOGIC_ACTIONS:
            templateClassName = "MyLogicActions";
            break;

        case PROPAGATION_ACTIONS:
            templateClassName = "MyPropagationActions";
            break;

        case PULL_ACTIONS:
            templateClassName = "MyPullActions";
            break;

        case PUSH_ACTIONS:
            templateClassName = "MyPushActions";
            break;

        case PULL_CORRELATION_RULE:
            templateClassName = "MyPullCorrelationRule";
            break;

        case VALIDATOR:
            templateClassName = "MyValidator";
            break;

        case RECIPIENTS_PROVIDER:
            templateClassName = "MyRecipientsProvider";
            break;

        default:
        }

        if (templateClassName != null) {
            try {
                implementation.setBody(StringUtils.substringAfter(IOUtils.toString(
                        getClass().getResourceAsStream("/org/apache/syncope/client/console/implementations/"
                                + templateClassName + ".groovy")),
                        "*/\n"));
            } catch (IOException e) {
                LOG.error("Could not load the expected Groovy template {} for {}", templateClassName,
                        implementation.getType(), e);
            }
        }
    }

    TextArea<String> groovyClass = new TextArea<>("groovyClass", new PropertyModel<>(implementation, "body"));
    groovyClass.setMarkupId("groovyClass").setOutputMarkupPlaceholderTag(true);
    groovyClass.setVisible(viewMode != ViewMode.JAVA_CLASS);
    groovyClass.setRequired(true);
    groovyClassContainer.add(groovyClass);

    jsonClass.add(new AjaxEventBehavior(Constants.ON_CHANGE) {

        private static final long serialVersionUID = 5538299138211283825L;

        @Override
        protected void onEvent(final AjaxRequestTarget target) {
            ClassPathScanImplementationLookup implementationLookup = (ClassPathScanImplementationLookup) SyncopeConsoleApplication
                    .get().getServletContext().getAttribute(ConsoleInitializer.CLASSPATH_LOOKUP);

            Class<?> clazz = null;
            switch (implementation.getType()) {
            case REPORTLET:
                clazz = implementationLookup.getReportletConfs().get(jsonClass.getModelObject());
                break;

            case ACCOUNT_RULE:
                clazz = implementationLookup.getAccountRuleConfs().get(jsonClass.getModelObject());
                break;

            case PASSWORD_RULE:
                clazz = implementationLookup.getPasswordRuleConfs().get(jsonClass.getModelObject());
                break;

            case PULL_CORRELATION_RULE:
                clazz = implementationLookup.getPullCorrelationRuleConfs().get(jsonClass.getModelObject());
                break;

            default:
            }

            if (clazz != null) {
                try {
                    target.appendJavaScript("editor.getDoc().setValue('"
                            + MAPPER.writeValueAsString(clazz.newInstance()) + "');");
                } catch (Exception e) {
                    LOG.error("Could not generate a value for {}", jsonClass.getModelObject(), e);
                }
            }
        }
    });
}

From source file:org.apache.syncope.client.console.panels.search.SearchClausePanel.java

License:Apache License

public void enableSearch(final IEventSink resultContainer) {
    this.resultContainer = resultContainer;
    this.searchButton.setEnabled(true);

    field.add(AttributeModifier.replace("onkeydown",
            Model.of("if(event.keyCode == 13) {event.preventDefault();}")));

    field.add(new AjaxEventBehavior("onkeydown") {

        private static final long serialVersionUID = -7133385027739964990L;

        @Override//from  ww  w. j  a v a  2 s .  com
        protected void onEvent(final AjaxRequestTarget target) {
            if (resultContainer == null) {
                send(SearchClausePanel.this, Broadcast.BUBBLE, new SearchEvent(target));
            } else {
                send(resultContainer, Broadcast.EXACT, new SearchEvent(target));
            }
        }

        @Override
        protected void updateAjaxAttributes(final AjaxRequestAttributes attributes) {
            super.updateAjaxAttributes(attributes);

            attributes.getAjaxCallListeners().add(new AjaxCallListener() {

                private static final long serialVersionUID = 7160235486520935153L;

                @Override
                public CharSequence getPrecondition(final Component component) {
                    return "if (Wicket.Event.keyCode(attrs.event)  == 13) { return true; } else { return false; }";
                }
            });
        }
    });
}

From source file:org.apache.syncope.client.console.panels.TogglePanel.java

License:Apache License

public TogglePanel(final String id, final String markupId, final PageReference pageRef) {
    super(id, true);
    this.activeId = markupId;
    setRenderBodyOnly(true);//from   ww  w. j ava  2s  .  c  o  m
    setOutputMarkupId(true);
    disableContainerAutoRefresh();
    setPageRef(pageRef);

    container = new WebMarkupContainer("togglePanelContainer");
    super.addInnerObject(container.setMarkupId(markupId == null ? id : markupId));

    header = new Label("label", StringUtils.EMPTY);
    header.setOutputMarkupId(true);
    container.add(header);

    container.add(new AjaxLink<Void>("close") {

        private static final long serialVersionUID = 5538299138211283825L;

        @Override
        public void onClick(final AjaxRequestTarget target) {
            toggle(target, false);
        }

    }.add(new AjaxEventBehavior(Constants.ON_CLICK) {

        private static final long serialVersionUID = -9027652037484739586L;

        @Override
        protected String findIndicatorId() {
            return StringUtils.EMPTY;
        }

        @Override
        protected void onEvent(final AjaxRequestTarget target) {
            // do nothing
        }
    }));
}

From source file:org.apache.syncope.client.console.topology.Topology.java

License:Apache License

private TopologyNodePanel topologyNodePanel(final String id, final TopologyNode node) {

    final TopologyNodePanel panel = new TopologyNodePanel(id, node);
    panel.setMarkupId(String.valueOf(node.getKey()));
    panel.setOutputMarkupId(true);/*from  www. j  av a2s . co m*/

    final List<Behavior> behaviors = new ArrayList<>();

    behaviors.add(new Behavior() {

        private static final long serialVersionUID = 1L;

        @Override
        public void renderHead(final Component component, final IHeaderResponse response) {
            response.render(OnDomReadyHeaderItem.forScript(
                    String.format("setPosition('%s', %d, %d)", node.getKey(), node.getX(), node.getY())));
        }
    });

    behaviors.add(new AjaxEventBehavior(Constants.ON_CLICK) {

        private static final long serialVersionUID = -9027652037484739586L;

        @Override
        protected String findIndicatorId() {
            return StringUtils.EMPTY;
        }

        @Override
        protected void onEvent(final AjaxRequestTarget target) {
            togglePanel.toggleWithContent(target, node);
            target.appendJavaScript(
                    String.format(
                            "$('.window').removeClass(\"active-window\").addClass(\"inactive-window\"); "
                                    + "$(document.getElementById('%s'))."
                                    + "removeClass(\"inactive-window\").addClass(\"active-window\");",
                            node.getKey()));
        }
    });

    panel.add(behaviors.toArray(new Behavior[] {}));

    return panel;
}