List of usage examples for org.apache.wicket.extensions.ajax.markup.html.modal ModalWindow setContent
public ModalWindow setContent(final Component component)
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// ww w . j a v a 2s.c o m * 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/* www . ja va 2 s . c o m*/ * 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 a v a 2 s . co 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);// w w w .j av a 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();/*from ww w. java 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();// w w w .j a v a 2 s .c o m 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// ww w .ja va 2 s . c o 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;/*w w w . j a v a 2s. c o 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);/* w w w . ja va 2s .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 w w. j ava 2s . com*/ 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; }