/** * Returns the filtered list of list items.<p> * * Equals to <code>{@link #getAllContent()}</code> if no filter is set.<p> * * @return the filtered list of list items */ public List<CmsListItem> getContent() { if (m_filteredItems == null) { return getAllContent(); } else { return Collections.unmodifiableList(m_filteredItems); } }
/** * @see org.opencms.workplace.list.A_CmsListDialog#getListItems() */ @Override protected List<CmsListItem> getListItems() { List<CmsListItem> result = new ArrayList<CmsListItem>(); // get content List<String> resources = resources(); Iterator<String> itResources = resources.iterator(); String path; while (itResources.hasNext()) { path = itResources.next(); CmsListItem item = getList().newItem(path); item.set(LIST_COLUMN_PATH, path); result.add(item); } return result; }
/** * Returns a new list item for this list.<p> * * @param id the id of the item has to be unique * @return a new list item */ public CmsListItem newItem(String id) { return new CmsListItem(getMetadata(), id); }
/** * Returns the number (from 1) of the last displayed item.<p> * * @return the number (from 1) of the last displayed item, or zero if the list is empty */ protected int displayedTo() { if (getSize() != 0) { if (!isPrintable()) { if (getCurrentPage() * getMaxItemsPerPage() < getSize()) { return getCurrentPage() * getMaxItemsPerPage(); } } } return getSize(); }
/** * Returns the filtered number of pages.<p> * * Equals to <code>{@link #getTotalNumberOfPages()}</code> if no filter is set.<p> * * @return the filtered of pages */ public int getNumberOfPages() { return (int)Math.ceil((double)getSize() / getMaxItemsPerPage()); }
/** * Returns the total number of pages.<p> * * @return the total number of pages */ public int getTotalNumberOfPages() { return (int)Math.ceil((double)getTotalSize() / getMaxItemsPerPage()); }
getMetadata().getSearchAction().getShowAllAction().setVisible(showAll); if (!m_metadata.isSelfManaged()) { if (CmsStringUtil.isEmptyOrWhitespaceOnly(searchFilter)) { m_filteredItems = getMetadata().getSearchAction().filter(getAllContent(), m_searchFilter); m_sortedColumn = ""; if (CmsStringUtil.isNotEmptyOrWhitespaceOnly(sCol)) { CmsListOrderEnum order = getCurrentSortOrder(); setSortedColumn(sCol); if (order == CmsListOrderEnum.ORDER_DESCENDING) { setSortedColumn(sCol); setCurrentPage(1);
if ((getMetadata().getColumnDefinition(sortedColumn) == null) || !getMetadata().getColumnDefinition(sortedColumn).isSorteable()) { return; setCurrentPage(1); m_filteredItems = new ArrayList(getAllContent()); if (!m_metadata.isSelfManaged()) { if (m_filteredItems == null) { m_filteredItems = new ArrayList(getAllContent()); I_CmsListItemComparator c = getMetadata().getColumnDefinition(sortedColumn).getListItemComparator(); Collections.sort(m_filteredItems, c.getComparator(sortedColumn, getWp().getLocale()));
/** * @see org.opencms.workplace.list.A_CmsListDialog#defaultActionHtmlStart() */ @Override public String defaultActionHtmlStart() { return getList().listJs() + dialogContentStart(getParamTitle()); }
/** * Calls the <code>{@link #getListItems}</code> method and catches any exception.<p> */ protected void fillList() { try { getList().setContent(getListItems()); // initialize detail columns Iterator<CmsListItemDetails> itDetails = getList().getMetadata().getItemDetailDefinitions().iterator(); while (itDetails.hasNext()) { initializeDetail(itDetails.next().getId()); } } catch (Exception e) { throw new CmsRuntimeException( Messages.get().container(Messages.ERR_LIST_FILL_1, getList().getName().key(getLocale()), null), e); } }
/** * Returns the list.<p> * * @return the list */ public CmsHtmlList getList() { if ((m_list != null) && (m_list.getMetadata() == null)) { m_list.setMetadata(getMetadata(getClass().getName(), m_list.getId())); } return m_list; }
/** * Sets the list state.<p> * * This may involve sorting, filtering and paging.<p> * * @param listState the state to be set */ public void setState(CmsListState listState) { if (!m_metadata.isSelfManaged()) { m_filteredItems = null; } synchronized (this) { if (m_visibleItems != null) { m_visibleItems.clear(); } } setSearchFilter(listState.getFilter()); setSortedColumn(listState.getColumn()); if (listState.getOrder() == CmsListOrderEnum.ORDER_DESCENDING) { setSortedColumn(listState.getColumn()); } if (listState.getPage() > 0) { if (listState.getPage() <= getNumberOfPages()) { setCurrentPage(listState.getPage()); } else { setCurrentPage(1); } } }
/** * @see org.opencms.workplace.list.A_CmsListDialog#defaultActionHtmlContent() */ @Override protected String defaultActionHtmlContent() { StringBuffer result = new StringBuffer(2048); result.append("<!-- start before list -->\n"); result.append(customHtmlBeforeList()); result.append("<!-- end before list -->\n"); result.append(dialogBlockStart(key(getList().getName().getKey()))); result.append(dialogWhiteBoxStart()); // start scrollbox // result.append("<div style=\"overflow: auto; height: 150px; \">"); getList().setWp(this); result.append(getList().listHtml()); // end scrollbox // result.append("</div>"); result.append(dialogWhiteBoxEnd()); result.append(dialogBlockEnd()); return result.toString(); }
/** * Select a page, given the action is set to <code>LIST_SELECT_PAGE</code> and * the page to go to is set in the <code>PARAM_PAGE</code> parameter.<p> */ protected void executeSelectPage() { int page = Integer.valueOf(getParamPage()).intValue(); getList().setCurrentPage(page); }
/** * Returns the search parameters for lazy list paging.<p> * * @return the search parameters for lazy list paging * * @throws CmsException if something goes wrong */ protected CmsUserSearchParameters getSearchParams() throws CmsException { CmsListState state = getListState(); CmsUserSearchParameters params = new CmsUserSearchParameters(); String searchFilter = state.getFilter(); params.setSearchFilter(searchFilter); params.setFilterCore(true); params.setPaging(getList().getMaxItemsPerPage(), state.getPage()); params.setSorting(getSortKey(state.getColumn()), state.getOrder().equals(CmsListOrderEnum.ORDER_ASCENDING)); return params; }
/** * @see org.opencms.workplace.list.A_CmsListIndependentJsAction#jsCode(CmsWorkplace) */ @Override public String jsCode(CmsWorkplace wp) { String url = OpenCms.getLinkManager().substituteLink( wp.getCms(), "/system/workplace/commons/list-csv.jsp?" + CmsListCsvExportDialog.PARAM_LISTCLASS + "=" + wp.getClass().getName()); String title = "CSV - " + ((A_CmsListDialog)wp).getList().getName().key(wp.getLocale()); String opts = "toolbar=no,location=no,directories=no,status=yes,menubar=0,scrollbars=yes,resizable=yes,top=150,left=660,width=450,height=450"; StringBuffer js = new StringBuffer(512); js.append("window.open('"); js.append(url); js.append("', '"); js.append(title); js.append("', '"); js.append(opts); js.append("');"); return js.toString(); } }
getMetadata().getSearchAction().getShowAllAction().setVisible(showAll); if (!m_metadata.isSelfManaged()) { if (CmsStringUtil.isEmptyOrWhitespaceOnly(searchFilter)) { m_filteredItems = getMetadata().getSearchAction().filter(getAllContent(), m_searchFilter); m_sortedColumn = ""; if (CmsStringUtil.isNotEmptyOrWhitespaceOnly(sCol)) { CmsListOrderEnum order = getCurrentSortOrder(); setSortedColumn(sCol); if (order == CmsListOrderEnum.ORDER_DESCENDING) { setSortedColumn(sCol); setCurrentPage(1);
if ((getMetadata().getColumnDefinition(sortedColumn) == null) || !getMetadata().getColumnDefinition(sortedColumn).isSorteable()) { return; setCurrentPage(1); m_filteredItems = new ArrayList<CmsListItem>(getAllContent()); if (!m_metadata.isSelfManaged()) { if (m_filteredItems == null) { m_filteredItems = new ArrayList<CmsListItem>(getAllContent()); I_CmsListItemComparator c = getMetadata().getColumnDefinition(sortedColumn).getListItemComparator(); Collections.sort(m_filteredItems, c.getComparator(sortedColumn, getWp().getLocale()));
/** * @see org.opencms.workplace.list.A_CmsListDialog#defaultActionHtmlStart() */ @Override protected String defaultActionHtmlStart() { return getList().listJs() + dialogContentStart(getParamTitle()); }