Search in sources :

Example 1 with EditableLocalDateColumn

use of org.activityinfo.ui.client.page.common.columns.EditableLocalDateColumn in project activityinfo by bedatadriven.

the class LockedPeriodGrid method createGrid.

private void createGrid() {
    List<ColumnConfig> configs = new ArrayList<>();
    columnEnabled = new EditCheckColumnConfig("enabled", I18N.CONSTANTS.enabledColumn(), 55);
    columnEnabled.setSortable(false);
    ColumnConfig columnPeriodType = new ColumnConfig();
    columnPeriodType.setHeaderText(I18N.CONSTANTS.type());
    columnPeriodType.setToolTip(I18N.CONSTANTS.type());
    columnPeriodType.setWidth(48);
    columnPeriodType.setRowHeader(true);
    columnPeriodType.setRenderer(new LockTypeIconCellRenderer());
    configs.add(columnEnabled);
    configs.add(columnPeriodType);
    configs.add(new ReadTextColumn("parentName", I18N.CONSTANTS.parentName(), 150));
    configs.add(new ReadTextColumn("name", I18N.CONSTANTS.name(), 100));
    configs.add(new EditableLocalDateColumn("fromDate", I18N.CONSTANTS.fromDate(), 100));
    configs.add(new EditableLocalDateColumn("toDate", I18N.CONSTANTS.toDate(), 100));
    lockedPeriodGrid = new EditorGrid<>(lockedPeriodStore, new ColumnModel(configs));
    lockedPeriodGrid.addListener(Events.ValidateEdit, new Listener<BaseEvent>() {

        @Override
        public void handleEvent(BaseEvent baseEvent) {
            GridEvent gridEvent = (GridEvent) baseEvent;
            LockedPeriodDTO model = (LockedPeriodDTO) gridEvent.getModel();
            LocalDate fromDate = model.getFromDate();
            LocalDate toDate = model.getToDate();
            if ("fromDate".equals(gridEvent.getProperty())) {
                fromDate = (LocalDate) gridEvent.getValue();
            }
            if ("toDate".equals(gridEvent.getProperty())) {
                toDate = (LocalDate) gridEvent.getValue();
            }
            if (!fromDate.before(toDate) && !fromDate.equals(toDate)) {
                MessageBox.alert(I18N.CONSTANTS.alert(), I18N.CONSTANTS.fromDateIsBeforeToDate(), null);
                lockedPeriodGrid.getActiveEditor().cancelEdit();
            }
        }
    });
    lockedPeriodGrid.addListener(Events.OnClick, new Listener<ComponentEvent>() {

        @Override
        public void handleEvent(ComponentEvent be) {
            updateState(be);
        }
    });
    add(lockedPeriodGrid);
}
Also used : ReadTextColumn(org.activityinfo.ui.client.page.common.columns.ReadTextColumn) ArrayList(java.util.ArrayList) EditableLocalDateColumn(org.activityinfo.ui.client.page.common.columns.EditableLocalDateColumn) LocalDate(com.bedatadriven.rebar.time.calendar.LocalDate) LockedPeriodDTO(org.activityinfo.legacy.shared.model.LockedPeriodDTO)

Aggregations

LocalDate (com.bedatadriven.rebar.time.calendar.LocalDate)1 ArrayList (java.util.ArrayList)1 LockedPeriodDTO (org.activityinfo.legacy.shared.model.LockedPeriodDTO)1 EditableLocalDateColumn (org.activityinfo.ui.client.page.common.columns.EditableLocalDateColumn)1 ReadTextColumn (org.activityinfo.ui.client.page.common.columns.ReadTextColumn)1