Example usage for com.google.gwt.user.cellview.client Column setSortable

List of usage examples for com.google.gwt.user.cellview.client Column setSortable

Introduction

In this page you can find the example usage for com.google.gwt.user.cellview.client Column setSortable.

Prototype

public void setSortable(boolean sortable) 

Source Link

Document

Set whether or not the column can be sorted.

Usage

From source file:org.jbpm.datamodeler.editor.client.editors.DataObjectBrowser.java

License:Apache License

public DataObjectBrowser() {
    initWidget(uiBinder.createAndBindUi(this));

    objectName.setText(Constants.INSTANCE.objectEditor_objectUnknown());
    dataObjectPropertiesProvider.setList(dataObjectProperties);

    //Init data objects table

    dataObjectPropertiesTable.setEmptyTableWidget(
            new com.github.gwtbootstrap.client.ui.Label(Constants.INSTANCE.objectEditor_emptyTable()));

    //Init delete column
    ClickableImageResourceCell clickableImageResourceCell = new ClickableImageResourceCell(true);
    final TooltipCellDecorator<ImageResource> decorator = new TooltipCellDecorator<ImageResource>(
            clickableImageResourceCell);
    decorator.setText(Constants.INSTANCE.objectEditor_action_deleteProperty());

    final Column<ObjectPropertyTO, ImageResource> deletePropertyColumnImg = new Column<ObjectPropertyTO, ImageResource>(
            decorator) {// w w w  .ja v a  2  s  . c  o  m
        @Override
        public ImageResource getValue(final ObjectPropertyTO global) {
            return ImagesResources.INSTANCE.Delete();
        }
    };

    deletePropertyColumnImg.setFieldUpdater(new FieldUpdater<ObjectPropertyTO, ImageResource>() {
        public void update(final int index, final ObjectPropertyTO property, final ImageResource value) {

            deleteDataObjectProperty(property, index);
        }
    });

    dataObjectPropertiesTable.addColumn(deletePropertyColumnImg);
    dataObjectPropertiesTable.setColumnWidth(deletePropertyColumnImg, 20, Style.Unit.PX);

    //Init property name column

    final TextColumn<ObjectPropertyTO> propertyNameColumn = new TextColumn<ObjectPropertyTO>() {

        @Override
        public void render(Cell.Context context, ObjectPropertyTO object, SafeHtmlBuilder sb) {
            SafeHtml startDiv = new SafeHtml() {
                @Override
                public String asString() {
                    return "<div style=\"cursor: pointer;\">";
                }
            };
            SafeHtml endDiv = new SafeHtml() {
                @Override
                public String asString() {
                    return "</div>";
                }
            };

            sb.append(startDiv);
            super.render(context, object, sb);
            sb.append(endDiv);
        }

        @Override
        public String getValue(final ObjectPropertyTO objectProperty) {
            return objectProperty.getName();
        }
    };

    propertyNameColumn.setSortable(true);
    dataObjectPropertiesTable.addColumn(propertyNameColumn, Constants.INSTANCE.objectEditor_columnName());
    //dataObjectPropertiesTable.setColumnWidth(propertyNameColumn, 100, Style.Unit.PX);

    ColumnSortEvent.ListHandler<ObjectPropertyTO> propertyNameColHandler = new ColumnSortEvent.ListHandler<ObjectPropertyTO>(
            dataObjectPropertiesProvider.getList());
    propertyNameColHandler.setComparator(propertyNameColumn, new ObjectPropertyComparator("name"));
    dataObjectPropertiesTable.addColumnSortHandler(propertyNameColHandler);

    //Init property type column
    final Column<ObjectPropertyTO, String> propertyTypeColumn = new Column<ObjectPropertyTO, String>(typeCell) {

        @Override
        public String getValue(final ObjectPropertyTO objectProperty) {
            return propertyTypeDisplay(objectProperty);
        }

    };
    propertyTypeColumn.setSortable(true);
    dataObjectPropertiesTable.addColumn(propertyTypeColumn, Constants.INSTANCE.objectEditor_columnType());
    //dataObjectPropertiesTable.setColumnWidth(propertyTypeColumn, 100, Style.Unit.PX);

    ColumnSortEvent.ListHandler<ObjectPropertyTO> propertyTypeColHandler = new ColumnSortEvent.ListHandler<ObjectPropertyTO>(
            dataObjectPropertiesProvider.getList());
    propertyTypeColHandler.setComparator(propertyTypeColumn, new ObjectPropertyComparator("className"));
    dataObjectPropertiesTable.addColumnSortHandler(propertyTypeColHandler);

    dataObjectPropertiesTable.getColumnSortList().push(propertyTypeColumn);
    dataObjectPropertiesTable.getColumnSortList().push(propertyNameColumn);

    //Init the selection model
    SingleSelectionModel<ObjectPropertyTO> selectionModel = new SingleSelectionModel<ObjectPropertyTO>();
    dataObjectPropertiesTable.setSelectionModel(selectionModel);
    selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {

        @Override
        public void onSelectionChange(SelectionChangeEvent event) {
            ObjectPropertyTO selectedPropertyTO = ((SingleSelectionModel<ObjectPropertyTO>) dataObjectPropertiesTable
                    .getSelectionModel()).getSelectedObject();
            notifyFieldSelected(selectedPropertyTO);
        }
    });

    dataObjectPropertiesTable
            .setKeyboardSelectionPolicy(HasKeyboardSelectionPolicy.KeyboardSelectionPolicy.BOUND_TO_SELECTION);

    dataObjectPropertiesProvider.addDataDisplay(dataObjectPropertiesTable);
    dataObjectPropertiesProvider.refresh();

    newPropertyIsMultiple.setVisible(false);
    newPropertyIsMultiple.setValue(false);
    newPropertyBasicType.setValue(true);
    newPropertyButton.setIcon(IconType.PLUS_SIGN);
}

From source file:org.jbpm.workbench.common.client.list.AbstractMultiGridView.java

License:Apache License

public Column<T, String> createTextColumn(final String columnId, final Function<T, String> valueFunction) {
    Column<T, String> column = new Column<T, String>(new TextCell()) {
        @Override/*  ww w. j a v  a  2s .  c o  m*/
        public String getValue(T domain) {
            return valueFunction.apply(domain);
        }
    };
    column.setSortable(true);
    column.setDataStoreName(columnId);
    return column;
}

From source file:org.jbpm.workbench.common.client.list.AbstractMultiGridView.java

License:Apache License

public Column<T, Number> createNumberColumn(final String columnId, final Function<T, Number> valueFunction) {
    Column<T, Number> column = new Column<T, Number>(new NumberCell()) {
        @Override//from   w  ww  .  jav a 2s. co  m
        public Number getValue(T domain) {
            return valueFunction.apply(domain);
        }
    };
    column.setSortable(true);
    column.setDataStoreName(columnId);
    return column;
}

From source file:org.jbpm.workbench.common.client.list.AbstractMultiGridView.java

License:Apache License

protected ColumnMeta<T> initChecksColumn(final ExtendedPagedTable<T> extendedPagedTable) {
    CheckboxCell checkboxCell = new CheckboxCell(true, false);
    Column<T, Boolean> checkColumn = new Column<T, Boolean>(checkboxCell) {
        @Override/*w w  w  . j  a v a2  s . c  o m*/
        public Boolean getValue(T pis) {
            // Get the value from the selection model.
            return pis.isSelected();
        }
    };

    Header<Boolean> selectPageHeader = new Header<Boolean>(checkboxCell) {
        @Override
        public Boolean getValue() {
            return extendedPagedTable.isAllItemsSelected();
        }
    };

    selectPageHeader.setUpdater(value -> {
        getListGrid().getVisibleItems().forEach(pis -> pis.setSelected(value));
        getListGrid().redraw();
    });

    checkColumn.setSortable(false);
    checkColumn.setDataStoreName(COL_ID_SELECT);
    ColumnMeta<T> checkColMeta = new ColumnMeta<T>(checkColumn, "");
    checkColMeta.setHeader(selectPageHeader);
    return checkColMeta;
}

From source file:org.jbpm.workbench.ht.client.editors.taskcomments.TaskCommentsViewImpl.java

License:Apache License

private void initTableColumns() {
    // addedBy/*from  w  ww . j  a  v a2s .co  m*/
    Column<CommentSummary, String> addedByColumn = new Column<CommentSummary, String>(new TextCell()) {
        @Override
        public String getValue(CommentSummary c) {
            return c.getAddedBy();
        }
    };
    addedByColumn.setSortable(false);
    addedByColumn.setDataStoreName(COL_ADDEDBY);
    commentsListGrid.addColumn(addedByColumn, constants.Added_By());

    // date
    Column<CommentSummary, String> addedAtColumn = new Column<CommentSummary, String>(new TextCell()) {
        @Override
        public String getValue(CommentSummary c) {
            return DateUtils.getDateTimeStr(c.getAddedAt());
        }
    };
    addedAtColumn.setSortable(true);
    addedAtColumn.setDataStoreName(COL_ADDEDAT);
    addedAtColumn.setDefaultSortAscending(true);
    commentsListGrid.addColumn(addedAtColumn, constants.At());
    sortHandler.setComparator(addedAtColumn, new Comparator<CommentSummary>() {
        @Override
        public int compare(CommentSummary o1, CommentSummary o2) {
            return o1.getAddedAt().compareTo(o2.getAddedAt());
        }
    });

    // comment text
    Column<CommentSummary, String> commentTextColumn = new Column<CommentSummary, String>(new TextCell()) {
        @Override
        public String getValue(CommentSummary object) {
            return object.getText();
        }
    };
    commentTextColumn.setSortable(false);
    commentTextColumn.setDataStoreName(COL_COMMENT);
    commentsListGrid.addColumn(commentTextColumn, constants.Comment());

    List<HasCell<CommentSummary, ?>> cells = new LinkedList<HasCell<CommentSummary, ?>>();

    cells.add(new DeleteCommentActionHasCell(constants.Delete(), new Delegate<CommentSummary>() {
        @Override
        public void execute(CommentSummary comment) {
            presenter.removeTaskComment(comment.getId());
        }
    }));

    CompositeCell<CommentSummary> cell = new CompositeCell<CommentSummary>(cells);
    Column<CommentSummary, CommentSummary> actionsColumn = new Column<CommentSummary, CommentSummary>(cell) {
        @Override
        public CommentSummary getValue(CommentSummary object) {
            return object;
        }
    };
    actionsColumn.setSortable(false);
    actionsColumn.setDataStoreName(COL_ID_ACTIONS);
    commentsListGrid.addColumn(actionsColumn, "");
}

From source file:org.jbpm.workbench.ht.client.editors.taskslist.AbstractTaskListView.java

License:Apache License

@Override
public void initColumns(ExtendedPagedTable<TaskSummary> extendedPagedTable) {
    initCellPreview(extendedPagedTable);

    Column actionsColumn = initActionsColumn();
    extendedPagedTable.addSelectionIgnoreColumn(actionsColumn);

    List<ColumnMeta<TaskSummary>> columnMetas = new ArrayList<ColumnMeta<TaskSummary>>();
    columnMetas.add(new ColumnMeta<>(createNumberColumn(COLUMN_TASK_ID, task -> task.getId()), constants.Id()));
    columnMetas.add(new ColumnMeta<>(createTextColumn(COLUMN_NAME, task -> task.getName()), constants.Task()));
    columnMetas.add(new ColumnMeta<>(createTextColumn(COLUMN_DESCRIPTION, task -> task.getDescription()),
            constants.Description()));/*www .ja v a 2s .co m*/
    columnMetas.add(new ColumnMeta<>(createTextColumn(COLUMN_PROCESS_ID, task -> task.getProcessId()),
            constants.Process_Name()));
    columnMetas.add(new ColumnMeta<>(
            createNumberColumn(COLUMN_PROCESS_INSTANCE_ID, task -> task.getProcessInstanceId()),
            constants.Process_Id()));
    columnMetas.add(new ColumnMeta<>(createNumberColumn(COLUMN_PRIORITY, task -> task.getPriority()),
            constants.Priority()));
    columnMetas.add(
            new ColumnMeta<>(createTextColumn(COLUMN_STATUS, task -> task.getStatus()), constants.Status()));
    columnMetas.add(new ColumnMeta<>(
            createTextColumn(COLUMN_CREATED_ON, task -> DateUtils.getDateTimeStr(task.getCreatedOn())),
            constants.Created_On()));
    columnMetas.add(new ColumnMeta<>(
            createTextColumn(COLUMN_DUE_DATE, task -> DateUtils.getDateTimeStr(task.getExpirationTime())),
            constants.Due_On()));
    columnMetas.add(new ColumnMeta<>(createTextColumn(COLUMN_ACTUAL_OWNER, task -> task.getActualOwner()),
            constants.Actual_Owner()));
    columnMetas.add(new ColumnMeta<>(
            createTextColumn(COLUMN_PROCESS_INSTANCE_CORRELATION_KEY,
                    task -> task.getProcessInstanceCorrelationKey()),
            constants.Process_Instance_Correlation_Key()));
    columnMetas.add(new ColumnMeta<>(
            createTextColumn(COLUMN_PROCESS_INSTANCE_DESCRIPTION, task -> task.getProcessInstanceDescription()),
            constants.Process_Instance_Description()));
    columnMetas.add(new ColumnMeta<>(
            createTextColumn(COLUMN_LAST_MODIFICATION_DATE,
                    task -> DateUtils.getDateTimeStr(task.getLastModificationDate())),
            constants.Last_Modification_Date()));
    columnMetas.add(
            new ColumnMeta<>(createNumberColumn(COLUMN_PROCESS_SESSION_ID, task -> task.getProcessSessionId()),
                    constants.ProcessSessionId()));
    columnMetas.add(new ColumnMeta<>(actionsColumn, constants.Actions()));

    List<GridColumnPreference> columPreferenceList = extendedPagedTable.getGridPreferencesStore()
            .getColumnPreferences();

    for (GridColumnPreference colPref : columPreferenceList) {
        if (!isColumnAdded(columnMetas, colPref.getName())) {
            Column<TaskSummary, ?> genericColumn = initGenericColumn(colPref.getName());
            genericColumn.setSortable(false);
            columnMetas.add(new ColumnMeta<TaskSummary>(genericColumn, colPref.getName(), true, true));
        }
    }

    extendedPagedTable.addColumns(columnMetas);
}

From source file:org.jbpm.workbench.ht.client.editors.taskslist.AbstractTaskListView.java

License:Apache License

public void addDomainSpecifColumns(ExtendedPagedTable<TaskSummary> extendedPagedTable, Set<String> columns) {

    extendedPagedTable.storeColumnToPreferences();

    HashMap<String, String> modifiedCaptions = new HashMap<String, String>();
    ArrayList<ColumnMeta<TaskSummary>> existingExtraColumns = new ArrayList<ColumnMeta<TaskSummary>>();
    for (ColumnMeta<TaskSummary> cm : extendedPagedTable.getColumnMetaList()) {
        if (cm.isExtraColumn()) {
            existingExtraColumns.add(cm);
        } else if (columns.contains(cm.getCaption())) { //exist a column with the same caption
            for (String c : columns) {
                if (c.equals(cm.getCaption())) {
                    modifiedCaptions.put(c, "Var_" + c);
                }/*from   w  w  w.  j  a  v a2  s . co m*/
            }
        }
    }
    for (ColumnMeta<TaskSummary> colMet : existingExtraColumns) {
        if (!columns.contains(colMet.getCaption())) {
            extendedPagedTable.removeColumnMeta(colMet);
        } else {
            columns.remove(colMet.getCaption());
        }
    }

    List<ColumnMeta<TaskSummary>> columnMetas = new ArrayList<ColumnMeta<TaskSummary>>();
    String caption = "";
    for (String c : columns) {
        caption = c;
        if (modifiedCaptions.get(c) != null) {
            caption = (String) modifiedCaptions.get(c);
        }
        Column<TaskSummary, ?> genericColumn = initGenericColumn(c);
        genericColumn.setSortable(false);

        columnMetas.add(new ColumnMeta<TaskSummary>(genericColumn, caption, true, true));
    }

    extendedPagedTable.addColumns(columnMetas);
}

From source file:org.jbpm.workbench.ht.client.editors.taskslist.grid.dash.DataSetTasksListGridViewImpl.java

License:Apache License

@Override
public void initColumns(ExtendedPagedTable extendedPagedTable) {
    initCellPreview(extendedPagedTable);
    Column taskIdColumn = initTaskIdColumn();
    Column taskNameColumn = initTaskNameColumn();
    Column descriptionColumn = initTaskDescriptionColumn();
    Column processIdColumn = initProcessIdColumn();
    Column processInstanceIdColumn = initProcessInstanceIdColumn();
    Column taskPriorityColumn = initTaskPriorityColumn();
    Column statusColumn = initTaskStatusColumn();
    Column createdOnDateColumn = initTaskCreatedOnColumn();
    Column dueDateColumn = initTaskDueColumn();

    actionsColumn = initActionsColumn();

    List<ColumnMeta<TaskSummary>> columnMetas = new ArrayList<ColumnMeta<TaskSummary>>();
    columnMetas.add(new ColumnMeta<TaskSummary>(taskIdColumn, constants.Id()));
    columnMetas.add(new ColumnMeta<TaskSummary>(taskNameColumn, constants.Task()));
    columnMetas.add(new ColumnMeta<TaskSummary>(descriptionColumn, constants.Description()));
    columnMetas.add(new ColumnMeta<TaskSummary>(processIdColumn, constants.Process_Name()));
    columnMetas.add(new ColumnMeta<TaskSummary>(processInstanceIdColumn, constants.Process_Id()));
    columnMetas.add(new ColumnMeta<TaskSummary>(taskPriorityColumn, constants.Priority()));
    columnMetas.add(new ColumnMeta<TaskSummary>(statusColumn, constants.Status()));
    columnMetas.add(new ColumnMeta<TaskSummary>(createdOnDateColumn, constants.Created_On()));
    columnMetas.add(new ColumnMeta<TaskSummary>(dueDateColumn, constants.Due_On()));

    columnMetas.add(new ColumnMeta<TaskSummary>(actionsColumn, constants.Actions()));
    List<GridColumnPreference> columPreferenceList = extendedPagedTable.getGridPreferencesStore()
            .getColumnPreferences();// ww  w  .jav  a  2  s.co  m

    for (GridColumnPreference colPref : columPreferenceList) {
        if (!isColumnAdded(columnMetas, colPref.getName())) {
            Column genericColumn = initGenericColumn(colPref.getName());
            genericColumn.setSortable(false);
            columnMetas.add(new ColumnMeta<TaskSummary>(genericColumn, colPref.getName(), true, true));
        }
    }

    extendedPagedTable.addColumns(columnMetas);
}

From source file:org.jbpm.workbench.ht.client.editors.taskslist.grid.dash.DataSetTasksListGridViewImpl.java

License:Apache License

private Column initTaskIdColumn() {
    Column<TaskSummary, Number> taskIdColumn = new Column<TaskSummary, Number>(new NumberCell()) {
        @Override/*from   ww w .jav a 2 s. c  o m*/
        public Number getValue(TaskSummary object) {
            return object.getTaskId();
        }
    };
    taskIdColumn.setSortable(true);
    taskIdColumn.setDataStoreName(COLUMN_TASK_ID);
    return taskIdColumn;
}

From source file:org.jbpm.workbench.ht.client.editors.taskslist.grid.dash.DataSetTasksListGridViewImpl.java

License:Apache License

private Column initTaskCreatedOnColumn() {
    Column<TaskSummary, String> createdOnDateColumn = new Column<TaskSummary, String>(new TextCell()) {
        @Override//from  w  w  w .j ava 2  s  .  c o m
        public String getValue(TaskSummary object) {
            return DateUtils.getDateTimeStr(object.getCreatedOn());
        }
    };
    createdOnDateColumn.setSortable(true);
    createdOnDateColumn.setDataStoreName(COLUMN_CREATED_ON);
    return createdOnDateColumn;
}