use of com.vaadin.v7.event.ItemClickEvent in project opencms-core by alkacon.
the class CmsOUTable method init.
/**
* initializes table.<p>
*
* @param parentOu ou name
*/
private void init(String parentOu) {
m_parentOu = parentOu;
m_menu = new CmsContextMenu();
m_menu.setAsTableContextMenu(this);
m_container = new IndexedContainer();
setContainerDataSource(m_container);
for (TableProperty prop : TableProperty.values()) {
m_container.addContainerProperty(prop, prop.getType(), prop.getDefault());
setColumnHeader(prop, prop.getName());
}
setContainerDataSource(m_container);
setItemIconPropertyId(TableProperty.Icon);
setRowHeaderMode(RowHeaderMode.ICON_ONLY);
setColumnWidth(null, 40);
setSelectable(true);
addGeneratedColumn(TableProperty.Ressources, new ColumnGenerator() {
private static final long serialVersionUID = 4624734503799549261L;
public Object generateCell(Table source, Object itemId, Object columnId) {
String out = "";
try {
boolean isOu = true;
for (I_CmsOuTreeType type : m_app.getTreeTypeProvider().getTreeTypes()) {
if (type.getId().equals(itemId)) {
isOu = false;
}
}
if (isOu) {
List<CmsResource> resources = OpenCms.getOrgUnitManager().getResourcesForOrganizationalUnit(m_cms, (String) itemId);
if (!resources.isEmpty()) {
out = resources.get(0).getRootPath();
int i = 1;
while ((resources.size() > i) & (out.length() < 50)) {
out += ", " + resources.get(i).getRootPath();
}
if (resources.size() > i) {
out += " ...";
}
}
}
} catch (CmsException e) {
LOG.error("unable to read resources.", e);
}
return out;
}
});
setVisibleColumns(TableProperty.Name, TableProperty.Description, TableProperty.Ressources);
try {
m_cms = OpenCms.initCmsObject(A_CmsUI.getCmsObject());
m_cms.getRequestContext().setSiteRoot("");
} catch (CmsException e) {
m_cms = A_CmsUI.getCmsObject();
}
try {
if (m_app.isOUManagable(m_parentOu)) {
for (I_CmsOuTreeType treeType : m_app.getTreeTypeProvider().getTreeTypes()) {
if (treeType.showInOuTable() && treeType.isValidForOu(m_cms, m_parentOu)) {
Item item = m_container.addItem(treeType.getId());
item.getItemProperty(TableProperty.Name).setValue(treeType.getName());
item.getItemProperty(TableProperty.Icon).setValue(treeType.getIcon());
item.getItemProperty(TableProperty.Type).setValue(treeType);
}
}
}
List<CmsOrganizationalUnit> webOus = new ArrayList<CmsOrganizationalUnit>();
for (CmsOrganizationalUnit ou : OpenCms.getOrgUnitManager().getOrganizationalUnits(m_cms, parentOu, false)) {
if (ou.hasFlagWebuser()) {
webOus.add(ou);
} else {
addOuToTable(ou);
}
}
for (CmsOrganizationalUnit ou : webOus) {
addOuToTable(ou);
}
} catch (CmsException e) {
LOG.error("Unable to read ous", e);
}
addItemClickListener(new ItemClickListener() {
private static final long serialVersionUID = 4807195510202231174L;
public void itemClick(ItemClickEvent event) {
setValue(null);
select(event.getItemId());
if (event.getButton().equals(MouseButton.RIGHT) || (event.getPropertyId() == null)) {
m_menu.setEntries(getMenuEntries(), Collections.singleton((String) getValue()));
m_menu.openForTable(event, event.getItemId(), event.getPropertyId(), CmsOUTable.this);
return;
}
if (event.getButton().equals(MouseButton.LEFT) && event.getPropertyId().equals(TableProperty.Name)) {
updateApp((String) getValue());
}
}
});
setCellStyleGenerator(new CellStyleGenerator() {
private static final long serialVersionUID = 1L;
public String getStyle(Table source, Object itemId, Object propertyId) {
if (TableProperty.Name.equals(propertyId)) {
return " " + OpenCmsTheme.HOVER_COLUMN;
}
return "";
}
});
}
use of com.vaadin.v7.event.ItemClickEvent in project opencms-core by alkacon.
the class CmsUserTable method init.
/**
* initializes table.
* @param showAll boolean
*/
protected void init(boolean showAll) {
m_menu = new CmsContextMenu();
m_menu.setAsTableContextMenu(this);
m_container = new IndexedContainer();
for (TableProperty prop : TableProperty.values()) {
m_container.addContainerProperty(prop, prop.getType(), prop.getDefault());
setColumnHeader(prop, prop.getName());
}
m_app.addUserContainerProperties(m_container);
setContainerDataSource(m_container);
setItemIconPropertyId(TableProperty.Icon);
setRowHeaderMode(RowHeaderMode.ICON_ONLY);
setColumnWidth(null, 40);
setColumnWidth(TableProperty.STATUS, 100);
setSelectable(true);
setMultiSelect(true);
setVisibleColumns(TableProperty.Name, TableProperty.OU);
fillContainer(showAll);
addItemClickListener(new ItemClickListener() {
private static final long serialVersionUID = 4807195510202231174L;
@SuppressWarnings("unchecked")
public void itemClick(ItemClickEvent event) {
changeValueIfNotMultiSelect(event.getItemId());
if (event.getButton().equals(MouseButton.RIGHT) || (event.getPropertyId() == null)) {
Set<String> userIds = new HashSet<String>();
for (CmsUser user : (Set<CmsUser>) getValue()) {
userIds.add(user.getId().getStringValue());
}
m_menu.setEntries(getMenuEntries(), userIds);
m_menu.openForTable(event, event.getItemId(), event.getPropertyId(), CmsUserTable.this);
} else if (event.getButton().equals(MouseButton.LEFT) && TableProperty.Name.equals(event.getPropertyId())) {
CmsUser user = ((Set<CmsUser>) getValue()).iterator().next();
try {
openInfoDialog(user.getId());
} catch (CmsException e) {
LOG.error("Error on opening user info dialog", e);
}
}
}
});
setCellStyleGenerator(new CellStyleGenerator() {
private static final long serialVersionUID = 4685652851810828147L;
public String getStyle(Table source, Object itemId, Object propertyId) {
if (TableProperty.STATUS.equals(propertyId)) {
return getStatusStyleForItem(source.getItem(itemId), (CmsUser) itemId);
}
String css = " ";
if (((Boolean) (source.getItem(itemId).getItemProperty(TableProperty.FROMOTHEROU).getValue())).booleanValue()) {
css += OpenCmsTheme.EXPIRED;
}
if (TableProperty.Name.equals(propertyId)) {
css += " " + OpenCmsTheme.HOVER_COLUMN;
}
if (((Boolean) source.getItem(itemId).getItemProperty(TableProperty.INDIRECT).getValue()).booleanValue()) {
return css + " " + OpenCmsTheme.TABLE_CELL_DISABLED;
}
return css.length() == 1 ? null : css;
}
private String getStatusStyleForItem(Item item, CmsUser user) {
if (((Boolean) item.getItemProperty(TableProperty.DISABLED).getValue()).booleanValue()) {
return OpenCmsTheme.TABLE_COLUMN_BOX_GRAY;
}
if (OpenCms.getLoginManager().isUserTempDisabled(user.getName())) {
return OpenCmsTheme.TABLE_COLUMN_BOX_RED;
}
if (((Boolean) item.getItemProperty(TableProperty.NEWUSER).getValue()).booleanValue()) {
return OpenCmsTheme.TABLE_COLUMN_BOX_BLUE;
}
if (isUserPasswordReset(user)) {
return OpenCmsTheme.TABLE_COLUMN_BOX_ORANGE;
}
return OpenCmsTheme.TABLE_COLUMN_BOX_GREEN;
}
});
addGeneratedColumn(TableProperty.STATUS, new ColumnGenerator() {
private static final long serialVersionUID = -2144476865774782965L;
public Object generateCell(Table source, Object itemId, Object columnId) {
return getStatus((CmsUser) itemId, ((Boolean) source.getItem(itemId).getItemProperty(TableProperty.DISABLED).getValue()).booleanValue(), ((Boolean) source.getItem(itemId).getItemProperty(TableProperty.NEWUSER).getValue()).booleanValue());
}
});
addGeneratedColumn(TableProperty.LastLogin, new ColumnGenerator() {
private static final long serialVersionUID = -6781906011584975559L;
public Object generateCell(Table source, Object itemId, Object columnId) {
long lastLogin = ((Long) source.getItem(itemId).getItemProperty(TableProperty.LastLogin).getValue()).longValue();
return lastLogin == 0L ? CmsVaadinUtils.getMessageText(Messages.GUI_USERMANAGEMENT_USER_NEVER_LOGGED_IN_0) : CmsDateUtil.getDateTime(new Date(lastLogin), DateFormat.SHORT, A_CmsUI.get().getLocale());
}
});
addGeneratedColumn(TableProperty.Created, new ColumnGenerator() {
private static final long serialVersionUID = -6781906011584975559L;
public Object generateCell(Table source, Object itemId, Object columnId) {
long created = ((Long) source.getItem(itemId).getItemProperty(TableProperty.Created).getValue()).longValue();
return created == 0L ? "" : CmsDateUtil.getDateTime(new Date(created), DateFormat.SHORT, A_CmsUI.get().getLocale());
}
});
setItemDescriptionGenerator(new ItemDescriptionGenerator() {
private static final long serialVersionUID = 7367011213487089661L;
public String generateDescription(Component source, Object itemId, Object propertyId) {
if (TableProperty.STATUS.equals(propertyId)) {
return getStatusHelp((CmsUser) itemId, ((Boolean) ((Table) source).getItem(itemId).getItemProperty(TableProperty.DISABLED).getValue()).booleanValue(), ((Boolean) ((Table) source).getItem(itemId).getItemProperty(TableProperty.NEWUSER).getValue()).booleanValue());
}
return null;
}
});
setVisibleColumns(TableProperty.STATUS, TableProperty.Name, TableProperty.FullName, TableProperty.OU, TableProperty.LastLogin, TableProperty.Created);
}
Aggregations