Example usage for org.apache.wicket.extensions.ajax.markup.html.modal ModalWindow getContentId

List of usage examples for org.apache.wicket.extensions.ajax.markup.html.modal ModalWindow getContentId

Introduction

In this page you can find the example usage for org.apache.wicket.extensions.ajax.markup.html.modal ModalWindow getContentId.

Prototype

public String getContentId() 

Source Link

Document

Returns the id of content component.

Usage

From source file:com.cubeia.backoffice.web.user.UserList.java

License:Open Source License

/**
* Constructor that is invoked when page is invoked without a session.
* 
* @param parameters//from  w ww. j  a  v a2s.  c om
*            Page parameters
*/
public UserList(final PageParameters parameters) {
    final Form<?> searchForm = new Form<UserList>("searchForm", new CompoundPropertyModel<UserList>(this));
    final TextField<String> idField = new TextField<String>("userId");
    searchForm.add(idField);
    final TextField<String> userNameField = new TextField<String>("name");
    searchForm.add(userNameField);
    searchForm.add(new Button("clearForm") {
        private static final long serialVersionUID = 1L;

        @Override
        public void onSubmit() {
            super.onSubmit();
            idField.clearInput();
            userNameField.clearInput();
        }
    });
    add(searchForm);
    add(new FeedbackPanel("feedback"));

    final UsersDataProvider dataProvider = new UsersDataProvider();
    List<IColumn<User, String>> columns = new ArrayList<IColumn<User, String>>();

    columns.add(new AbstractColumn<User, String>(Model.of("User Id")) {
        private static final long serialVersionUID = 1L;

        @Override
        public void populateItem(Item<ICellPopulator<User>> item, String componentId, IModel<User> model) {
            Long userId = model.getObject().getUserId();
            LabelLinkPanel panel = new LabelLinkPanel(componentId, "" + userId, UserSummary.class,
                    params(UserSummary.PARAM_USER_ID, userId));
            item.add(panel);
        }

        @Override
        public boolean isSortable() {
            return true;
        }

        @Override
        public String getSortProperty() {
            return UserOrder.ID.name();
        }
    });
    columns.add(new PropertyColumn<User, String>(Model.of("XId"), "externalUserId"));
    columns.add(
            new PropertyColumn<User, String>(Model.of("User name"), UserOrder.USER_NAME.name(), "userName"));
    columns.add(new PropertyColumn<User, String>(Model.of("Status"), UserOrder.STATUS.name(), "status"));
    //        columns.add(new PropertyColumn<User,String>(Model.of("First name"), "userInformation.firstName"));
    //        columns.add(new PropertyColumn<User,String>(Model.of("Last name"), "userInformation.lastName"));
    //        columns.add(new PropertyColumn<User,String>(Model.of("Country"), UserOrder.COUNTRY.name(), "userInformation.country"));
    columns.add(new PropertyColumn<User, String>(Model.of("Ext. Username"), "attributes.externalUsername"));
    columns.add(new PropertyColumn<User, String>(Model.of("Screename"), "attributes.screenname"));

    AjaxFallbackDefaultDataTable<User, String> userTable = new AjaxFallbackDefaultDataTable<User, String>(
            "userTable", columns, dataProvider, 20);
    add(userTable);

    final ModalWindow modal = new ModalWindow("modal");
    modal.setContent(new UserReportPanel(modal.getContentId(), modal));
    modal.setTitle("Generate report");
    modal.setCookieName("modal");
    modal.setCssClassName(ModalWindow.CSS_CLASS_GRAY);
    modal.setInitialWidth(265);
    modal.setInitialHeight(200);

    add(modal);
    add(new AjaxLink<Void>("showReportPanel") {
        private static final long serialVersionUID = 1L;

        @Override
        public void onClick(AjaxRequestTarget target) {
            List<User> users = getUserList(getUserId(), getName(), 0, Integer.MAX_VALUE,
                    dataProvider.getSort().getProperty(), dataProvider.getSort().isAscending()).getUsers();
            HttpServletRequest request = (HttpServletRequest) getRequest().getContainerRequest();
            request.getSession().setAttribute(ReportServlet.REPORTS_COLLECTION_DATA_SOURCE, users);
            modal.show(target);
        }
    });
}

From source file:com.cubeia.games.poker.admin.wicket.pages.user.UserList.java

License:Open Source License

/**
* Constructor that is invoked when page is invoked without a session.
* 
* @param parameters/*  w  w  w  .  j  ava 2 s .com*/
*            Page parameters
*/
public UserList(final PageParameters parameters) {
    super(parameters);
    final Form<?> searchForm = new Form<UserList>("searchForm", new CompoundPropertyModel<UserList>(this));
    final TextField<String> idField = new TextField<String>("userId");
    searchForm.add(idField);
    final TextField<String> userNameField = new TextField<String>("name");
    searchForm.add(userNameField);
    searchForm.add(new Button("clearForm") {
        private static final long serialVersionUID = 1L;

        @Override
        public void onSubmit() {
            super.onSubmit();
            idField.clearInput();
            userNameField.clearInput();
        }
    });
    add(searchForm);
    add(new FeedbackPanel("feedback"));

    final UsersDataProvider dataProvider = new UsersDataProvider();
    List<IColumn<User, String>> columns = new ArrayList<IColumn<User, String>>();

    columns.add(new AbstractColumn<User, String>(Model.of("User Id")) {
        private static final long serialVersionUID = 1L;

        @Override
        public void populateItem(Item<ICellPopulator<User>> item, String componentId, IModel<User> model) {
            Long userId = model.getObject().getUserId();
            LabelLinkPanel panel = new LabelLinkPanel(componentId, "" + userId, UserSummary.class,
                    params(UserSummary.PARAM_USER_ID, userId));
            item.add(panel);
        }

        @Override
        public boolean isSortable() {
            return true;
        }

        @Override
        public String getSortProperty() {
            return UserOrder.ID.name();
        }
    });
    columns.add(new PropertyColumn<User, String>(Model.of("XId"), "externalUserId"));
    columns.add(
            new PropertyColumn<User, String>(Model.of("User name"), UserOrder.USER_NAME.name(), "userName"));
    columns.add(new PropertyColumn<User, String>(Model.of("Status"), UserOrder.STATUS.name(), "status"));
    //        columns.add(new PropertyColumn<User,String>(Model.of("First name"), "userInformation.firstName"));
    //        columns.add(new PropertyColumn<User,String>(Model.of("Last name"), "userInformation.lastName"));
    //        columns.add(new PropertyColumn<User,String>(Model.of("Country"), UserOrder.COUNTRY.name(), "userInformation.country"));
    columns.add(new PropertyColumn<User, String>(Model.of("Ext. Username"), "attributes.externalUsername"));
    columns.add(new PropertyColumn<User, String>(Model.of("Screename"), "attributes.screenname"));

    AjaxFallbackDefaultDataTable<User, String> userTable = new AjaxFallbackDefaultDataTable<User, String>(
            "userTable", columns, dataProvider, 20);
    add(userTable);

    final ModalWindow modal = new ModalWindow("modal");
    modal.setContent(new UserReportPanel(modal.getContentId(), modal));
    modal.setTitle("Generate report");
    modal.setCookieName("modal");
    modal.setCssClassName(ModalWindow.CSS_CLASS_GRAY);
    modal.setInitialWidth(265);
    modal.setInitialHeight(200);

    add(modal);
    add(new AjaxLink<Void>("showReportPanel") {
        private static final long serialVersionUID = 1L;

        @Override
        public void onClick(AjaxRequestTarget target) {
            List<User> users = getUserList(getUserId(), getName(), 0, Integer.MAX_VALUE,
                    dataProvider.getSort().getProperty(), dataProvider.getSort().isAscending()).getUsers();
            HttpServletRequest request = (HttpServletRequest) getRequest().getContainerRequest();
            request.getSession().setAttribute(ReportServlet.REPORTS_COLLECTION_DATA_SOURCE, users);
            modal.show(target);
        }
    });
}

From source file:com.doculibre.constellio.wicket.links.SignInLinkHolder.java

License:Open Source License

@Override
public WebMarkupContainer newLink(String id) {
    return new AjaxLink(id) {
        @Override//from   ww  w  .j  ava  2s  .  c  o  m
        public void onClick(AjaxRequestTarget target) {
            ModalWindow modalWindow = getModalWindow();
            modalWindow.setContent(new ConstellioSignInPanel(modalWindow.getContentId()));
            modalWindow.show(target);
        }
    };
}

From source file:com.doculibre.constellio.wicket.panels.admin.analyzer.AddEditAnalyzerFieldPanel.java

License:Open Source License

public AddEditAnalyzerFieldPanel(String id, IModel analyzerModel) {
    super(id, new CompoundPropertyModel(analyzerModel));

    Analyzer analyzer = (Analyzer) analyzerModel.getObject();
    filtersModel.getObject().addAll(analyzer.getFilters());

    final ModalWindow analyzerClassModal = new ModalWindow("analyzerClassModal");
    add(analyzerClassModal);//  www. j  a va 2  s. c  o m
    analyzerClassModal.setCssClassName(ModalWindow.CSS_CLASS_GRAY);

    IModel analyzerClassesModel = new LoadableDetachableModel() {
        @Override
        protected Object load() {
            AnalyzerClassServices analyzerClassServices = ConstellioSpringUtils.getAnalyzerClassServices();
            return analyzerClassServices.list();
        }
    };

    IChoiceRenderer analyzerClassRenderer = new ChoiceRenderer("className");

    final DropDownChoice analyzerClassField = new DropDownChoice("analyzerClass", analyzerClassesModel,
            analyzerClassRenderer);
    add(analyzerClassField);
    analyzerClassField.setOutputMarkupId(true);

    AjaxLink addAnalyzerClassLink = new AjaxLink("addAnalyzerClassLink") {
        @Override
        public void onClick(AjaxRequestTarget target) {
            AddEditAnalyzerClassPanel addEditAnalyzerClassPanel = new AddEditAnalyzerClassPanel(
                    analyzerClassModal.getContentId(), new AnalyzerClass(), analyzerClassField);
            analyzerClassModal.setContent(addEditAnalyzerClassPanel);
            analyzerClassModal.show(target);
        }
    };
    add(addAnalyzerClassLink);

    final ModalWindow tokenizerClassModal = new ModalWindow("tokenizerClassModal");
    add(tokenizerClassModal);
    tokenizerClassModal.setCssClassName(ModalWindow.CSS_CLASS_GRAY);

    IModel tokenizerClassesModel = new LoadableDetachableModel() {
        @Override
        protected Object load() {
            TokenizerClassServices tokenizerClassServices = ConstellioSpringUtils.getTokenizerClassServices();
            return tokenizerClassServices.list();
        }
    };

    IChoiceRenderer tokenizerClassRenderer = new ChoiceRenderer("className");

    final DropDownChoice tokenizerClassField = new DropDownChoice("tokenizerClass", tokenizerClassesModel,
            tokenizerClassRenderer);
    add(tokenizerClassField);
    tokenizerClassField.setOutputMarkupId(true);

    AjaxLink addTokenizerClassLink = new AjaxLink("addTokenizerClassLink") {
        @Override
        public void onClick(AjaxRequestTarget target) {
            AddEditTokenizerClassPanel addEditTokenizerClassPanel = new AddEditTokenizerClassPanel(
                    tokenizerClassModal.getContentId(), new TokenizerClass(), tokenizerClassField);
            tokenizerClassModal.setContent(addEditTokenizerClassPanel);
            tokenizerClassModal.show(target);
        }
    };
    add(addTokenizerClassLink);

    add(new FilterListPanel("filtersPanel"));
}

From source file:com.doculibre.constellio.wicket.panels.admin.analyzer.filter.AddEditFilterPanel.java

License:Open Source License

public AddEditFilterPanel(String id, AnalyzerFilter filter, int index) {
    super(id, true);
    this.entityModel = new ReloadableEntityModel<AnalyzerFilter>(filter);
    // Ne pas utiliser filter.getID() pour dterminer si c'est en cration.
    // Car cela empche de modifier un filtre tout juste cr
    this.index = index;

    Form form = getForm();/*  ww  w .  j  a v a 2 s. c om*/
    form.setModel(new CompoundPropertyModel(entityModel));

    final ModalWindow filterClassModal = new ModalWindow("filterClassModal");
    form.add(filterClassModal);
    filterClassModal.setCssClassName(ModalWindow.CSS_CLASS_GRAY);

    IModel filterClassesModel = new LoadableDetachableModel() {
        @Override
        protected Object load() {
            FilterClassServices filterClassServices = ConstellioSpringUtils.getFilterClassServices();
            return filterClassServices.list();
        }
    };

    IChoiceRenderer filterClassRenderer = new ChoiceRenderer("className");

    final DropDownChoice filterClassField = new DropDownChoice("filterClass", filterClassesModel,
            filterClassRenderer);
    form.add(filterClassField);
    filterClassField.setOutputMarkupId(true);

    AjaxLink addFilterClassLink = new AjaxLink("addFilterClassLink") {
        @Override
        public void onClick(AjaxRequestTarget target) {
            AddEditFilterClassPanel addEditAnalyzerClassPanel = new AddEditFilterClassPanel(
                    filterClassModal.getContentId(), new FilterClass(), filterClassField);
            filterClassModal.setContent(addEditAnalyzerClassPanel);
            filterClassModal.show(target);
        }
    };
    form.add(addFilterClassLink);

    form.add(new CheckBox("ignoreCase"));
    form.add(new CheckBox("expand"));
    form.add(new CheckBox("enablePositionIncrements"));
    form.add(new CheckBox("inject"));
    form.add(new TextField("language"));
    form.add(new TextArea("wordsText"));
    form.add(new TextArea("synonymsText"));
    form.add(new TextArea("protectedText"));
    form.add(new TextField("generateWordParts", Integer.class));
    form.add(new TextField("generateNumberParts", Integer.class));
    form.add(new TextField("catenateWords", Integer.class));
    form.add(new TextField("catenateNumbers", Integer.class));
    form.add(new TextField("catenateAll", Integer.class));
    form.add(new TextField("splitOnCaseChange", Integer.class));
    form.add(new TextField("delimiter"));
    form.add(new TextField("encoder"));
    form.add(new TextField("pattern"));
    form.add(new TextField("replacement"));
    form.add(new TextField("replace"));
}

From source file:com.doculibre.constellio.wicket.panels.admin.connectorTypeMeta.AddEditConnectorTypeMetaMappingPanel.java

License:Open Source License

public AddEditConnectorTypeMetaMappingPanel(String id, ConnectorTypeMetaMapping metaMapping) {
    super(id, true);
    this.metaMappingModel = new ReloadableEntityModel<ConnectorTypeMetaMapping>(metaMapping);

    Form form = getForm();//ww  w .  j  av a 2  s  . com
    form.setModel(new CompoundPropertyModel(metaMappingModel));

    TextField metaNameField = new RequiredTextField("metaName");
    metaNameField.add(new StringValidator.MaximumLengthValidator(255));
    form.add(metaNameField);

    TextField indexFieldNameField = new RequiredTextField("indexFieldName");
    indexFieldNameField.add(new StringValidator.MaximumLengthValidator(255));
    form.add(indexFieldNameField);

    final CheckBox indexedCheckbox = new CheckBox("indexed");
    form.add(indexedCheckbox);

    //        final CheckBox storedCheckbox = new CheckBox("stored");
    //        form.add(storedCheckbox);

    final CheckBox multiValuedCheckbox = new CheckBox("multiValued");
    form.add(multiValuedCheckbox);

    final ModalWindow fieldTypeModal = new ModalWindow("fieldTypeModal");
    form.add(fieldTypeModal);
    fieldTypeModal.setCssClassName(ModalWindow.CSS_CLASS_GRAY);

    IModel fieldTypesModel = new LoadableDetachableModel() {
        @Override
        protected Object load() {
            FieldTypeServices fieldTypeServices = ConstellioSpringUtils.getFieldTypeServices();
            return fieldTypeServices.list();
        }
    };

    IChoiceRenderer fieldTypeRenderer = new ChoiceRenderer("name");

    final DropDownChoice fieldTypeField = new DropDownChoice("fieldType", fieldTypesModel, fieldTypeRenderer);
    form.add(fieldTypeField);
    fieldTypeField.setOutputMarkupId(true);

    AjaxLink addFieldTypeLink = new AjaxLink("addFieldTypeLink") {
        @Override
        public void onClick(AjaxRequestTarget target) {
            AddEditFieldTypePanel addEditFieldTypePanel = new AddEditFieldTypePanel(
                    fieldTypeModal.getContentId(), new FieldType(), fieldTypeField);
            fieldTypeModal.setContent(addEditFieldTypePanel);
            fieldTypeModal.show(target);
        }
    };
    form.add(addFieldTypeLink);
}

From source file:com.doculibre.constellio.wicket.panels.admin.crud.CRUDPanel.java

License:Open Source License

protected IColumn getEditLinkColumn() {
    return new HeaderlessColumn() {
        @Override//from  w  w  w .  j av  a  2  s  .co m
        public void populateItem(Item cellItem, String componentId, final IModel rowItemModel) {
            Item rowItem = (Item) cellItem.findParent(Item.class);
            final int rowIndex = getFirstRowItemAbsoluteIndex() + rowItem.getIndex();
            cellItem.add(new ModalImgLinkHolder(componentId) {
                @Override
                public WebMarkupContainer newLink(String id) {
                    if (isUseModalsAddEdit()) {
                        return new AjaxLink(id) {
                            @Override
                            public void onClick(AjaxRequestTarget target) {
                                ModalWindow editModal = getModalWindow();
                                editModal.setInitialHeight(MODAL_HEIGHT);
                                editModal.setInitialWidth(MODAL_WIDTH);
                                String editMsg = getLocalizer().getString("edit", CRUDPanel.this);
                                editModal.setTitle(editMsg);

                                WebMarkupContainer editContent = createEditContent(editModal.getContentId(),
                                        rowItemModel, rowIndex);
                                editModal.setContent(editContent);
                                editModal.show(target);
                            }

                            @Override
                            public boolean isVisible() {
                                return super.isVisible() && isEditLink(rowItemModel, rowIndex);
                            }
                        };
                    } else {
                        return new Link(id) {
                            @Override
                            public void onClick() {
                                WebMarkupContainer editContent = createEditContent(CRUDPanel.this.getId(),
                                        rowItemModel, rowIndex);
                                CRUDPanel.this.replaceWith(editContent);
                            }

                            @Override
                            public boolean isVisible() {
                                return super.isVisible() && isEditLink(rowItemModel, rowIndex);
                            }
                        };
                    }
                }

                @Override
                protected Component newImg(String id) {
                    return new NonCachingImage(id,
                            new ResourceReference(BaseConstellioPage.class, "images/ico_crayon.png"));
                }
            });
        }

        @Override
        public String getCssClass() {
            return "aligncenter width50px";
        }
    };
}

From source file:com.doculibre.constellio.wicket.panels.admin.crud.SingleColumnCRUDPanel.java

License:Open Source License

protected void onClickDetailsLink(IModel entityModel, AjaxRequestTarget target, ModalWindow detailsModal,
        int index) {
    String detailsContentId;//from   w  ww  .  j  av a2  s  .  co m
    if (detailsModal != null) {
        detailsContentId = detailsModal.getContentId();
    } else {
        detailsContentId = getId();
    }

    WebMarkupContainer detailsContent = createDetailsContent(detailsContentId, entityModel);
    if (detailsContent != null) {
        if (detailsModal != null) {
            detailsModal.setContent(detailsContent);
            detailsModal.show(target);
        } else {
            this.replaceWith(detailsContent);
        }
    }
}

From source file:com.doculibre.constellio.wicket.panels.admin.elevate.ElevateQueryListPanel.java

License:Open Source License

public ElevateQueryListPanel(String id) {
    super(id);/*from  w w  w .j  a v a2 s  .c  om*/

    add(new DocIdsPanel("excludedDocIdsPanel", null, false));

    IModel elevateQueriesModel = new LoadableDetachableModel() {
        @Override
        protected Object load() {
            AdminCollectionPanel collectionAdminPanel = (AdminCollectionPanel) findParent(
                    AdminCollectionPanel.class);
            RecordCollection collection = collectionAdminPanel.getCollection();
            String solrCoreName = collection.getName();

            ElevateServices elevateServices = ConstellioSpringUtils.getElevateServices();
            return elevateServices.getQueries(solrCoreName);
        }
    };

    add(new ListView("queries", elevateQueriesModel) {
        @Override
        protected void populateItem(ListItem item) {
            final String queryText = (String) item.getModelObject();
            ElevateServices elevateServices = ConstellioSpringUtils.getElevateServices();
            final SimpleSearch querySimpleSearch = elevateServices.toSimpleSearch(queryText);

            int nbDocs = elevateServices.getElevatedDocIds(querySimpleSearch).size();
            item.add(new Label("nbDocs", "" + nbDocs));

            final ModalWindow detailsModal = new ModalWindow("detailsModal");
            item.add(detailsModal);
            detailsModal.setInitialHeight(SingleColumnCRUDPanel.MODAL_HEIGHT);
            detailsModal.setCssClassName(ModalWindow.CSS_CLASS_GRAY);

            WebMarkupContainer detailsLink = new AjaxLink("detailsLink") {
                @Override
                public void onClick(AjaxRequestTarget target) {
                    detailsModal
                            .setContent(new ElevateQueryDocIdsPanel(detailsModal.getContentId(), queryText));
                    //                  detailsModal.setTitle(queryText);
                    detailsModal.setWindowClosedCallback(new WindowClosedCallback() {
                        @Override
                        public void onClose(AjaxRequestTarget target) {
                            target.addComponent(ElevateQueryListPanel.this);
                        }
                    });
                    detailsModal.show(target);
                }
            };
            item.add(detailsLink);
            detailsLink.add(new SimpleSearchQueryPanel("queryText", querySimpleSearch));

            WebMarkupContainer deleteLink = new AjaxLink("deleteLink") {
                @Override
                public void onClick(AjaxRequestTarget target) {
                    ElevateServices elevateServices = ConstellioSpringUtils.getElevateServices();
                    elevateServices.deleteQuery(querySimpleSearch);
                    target.addComponent(ElevateQueryListPanel.this);
                }

                @Override
                protected IAjaxCallDecorator getAjaxCallDecorator() {
                    return new AjaxCallDecorator() {
                        @Override
                        public CharSequence decorateScript(CharSequence script) {
                            String confirmMsg = getLocalizer().getString("confirmDelete",
                                    ElevateQueryListPanel.this);
                            return "if (confirm('" + confirmMsg + "')) {" + script + "} else { return false; }";
                        }
                    };
                }
            };
            item.add(deleteLink);
        }
    });
}

From source file:com.doculibre.constellio.wicket.panels.admin.facets.FacetListPanel.java

License:Open Source License

@Override
protected List<IColumn> getDataColumns() {
    List<IColumn> dataColumns = super.getDataColumns();

    dataColumns.add(new HeaderlessColumn() {
        @Override/*from w  ww .j a va2 s.c o  m*/
        public void populateItem(Item cellItem, String componentId, final IModel rowModel) {
            cellItem.add(new ModalLinkHolder(componentId,
                    new StringResourceModel("labelledValues", FacetListPanel.this, null)) {
                @Override
                protected WebMarkupContainer newLink(String id) {
                    return new AjaxLink(id) {
                        @Override
                        public void onClick(AjaxRequestTarget target) {
                            ModalWindow labelledValuesModal = getModalWindow();
                            CollectionFacet facet = (CollectionFacet) rowModel.getObject();
                            EditFacetLabelledValuesPanel editLabelledValuesModal = new EditFacetLabelledValuesPanel(
                                    labelledValuesModal.getContentId(), facet);
                            labelledValuesModal.setContent(editLabelledValuesModal);
                            labelledValuesModal.show(target);
                        }

                        @Override
                        public boolean isVisible() {
                            CollectionFacet facet = (CollectionFacet) rowModel.getObject();
                            return facet.isFieldFacet();
                        }
                    };
                }
            });
        }
    });

    dataColumns.add(new HeaderlessColumn() {
        @Override
        public void populateItem(Item cellItem, String componentId, final IModel rowModel) {
            cellItem.add(new ModalLinkHolder(componentId,
                    new StringResourceModel("queries", FacetListPanel.this, null)) {
                @Override
                protected WebMarkupContainer newLink(String id) {
                    return new AjaxLink(id) {
                        @Override
                        public void onClick(AjaxRequestTarget target) {
                            ModalWindow queriesModal = getModalWindow();
                            CollectionFacet facet = (CollectionFacet) rowModel.getObject();
                            EditFacetLabelledValuesPanel editQueriesPanel = new EditFacetLabelledValuesPanel(
                                    queriesModal.getContentId(), facet);
                            queriesModal.setContent(editQueriesPanel);
                            queriesModal.show(target);
                        }

                        @Override
                        public boolean isVisible() {
                            CollectionFacet facet = (CollectionFacet) rowModel.getObject();
                            return facet.isQueryFacet();
                        }
                    };
                }
            });
        }
    });

    // Move up
    dataColumns.add(new HeaderlessColumn() {
        @Override
        public void populateItem(Item cellItem, String componentId, final IModel rowModel) {
            cellItem.add(new ImgLinkHolder(componentId) {
                @Override
                protected WebMarkupContainer newLink(String id) {
                    return new AjaxLink(id) {
                        @Override
                        public void onClick(AjaxRequestTarget target) {
                            FacetServices facetServices = ConstellioSpringUtils.getFacetServices();
                            CollectionFacet facet = (CollectionFacet) rowModel.getObject();
                            RecordCollection collection = facet.getRecordCollection();

                            List<CollectionFacet> collectionFacets = collection.getCollectionFacets();
                            int index = collectionFacets.indexOf(facet);
                            // Cannot move higher!
                            if (index > 0) {
                                CollectionFacet previousFacet = collectionFacets.set(index - 1, facet);
                                collectionFacets.set(index, previousFacet);
                                EntityManager entityManager = ConstellioPersistenceContext
                                        .getCurrentEntityManager();
                                if (!entityManager.getTransaction().isActive()) {
                                    entityManager.getTransaction().begin();
                                }
                                facetServices.makePersistent(facet);
                                facetServices.makePersistent(previousFacet);
                                entityManager.getTransaction().commit();
                                entityManager.clear();

                                target.addComponent(findParent(AdminCollectionPanel.class));
                            }
                        }
                    };
                }

                @Override
                protected Component newImg(String id) {
                    return new NonCachingImage(id,
                            new ResourceReference(BaseConstellioPage.class, "images/up.png"));
                }
            });
        }
    });

    // Move down
    dataColumns.add(new HeaderlessColumn() {
        @Override
        public void populateItem(Item cellItem, String componentId, final IModel rowModel) {
            cellItem.add(new ImgLinkHolder(componentId) {
                @Override
                protected WebMarkupContainer newLink(String id) {
                    return new AjaxLink(id) {
                        @Override
                        public void onClick(AjaxRequestTarget target) {
                            FacetServices facetServices = ConstellioSpringUtils.getFacetServices();
                            CollectionFacet facet = (CollectionFacet) rowModel.getObject();
                            RecordCollection collection = facet.getRecordCollection();

                            List<CollectionFacet> collectionFacets = collection.getCollectionFacets();
                            int index = collectionFacets.indexOf(facet);
                            // Cannot move lower!
                            if (index < collectionFacets.size() - 1) {
                                CollectionFacet previousFacet = collectionFacets.set(index + 1, facet);
                                collectionFacets.set(index, previousFacet);
                                EntityManager entityManager = ConstellioPersistenceContext
                                        .getCurrentEntityManager();
                                if (!entityManager.getTransaction().isActive()) {
                                    entityManager.getTransaction().begin();
                                }
                                facetServices.makePersistent(facet);
                                facetServices.makePersistent(previousFacet);
                                entityManager.getTransaction().commit();
                                entityManager.clear();

                                target.addComponent(findParent(AdminCollectionPanel.class));
                            }
                        }
                    };
                }

                @Override
                protected Component newImg(String id) {
                    return new NonCachingImage(id,
                            new ResourceReference(BaseConstellioPage.class, "images/down.png"));
                }
            });
        }
    });

    return dataColumns;
}