Добрый день, @alex2910sk!
Вам нужно выполнить несколько шагов, чтобы переопределить метод в виджете:
- Добавить
web-toolkit
модуль - Создать наследника
CubaDateFieldWidget
, в котором переопределить методbuildDate()
package com.company.sample.web.toolkit.ui.customdatefield;
import com.haulmont.cuba.web.widgets.client.datefield.CubaDateFieldWidget;
public class CustomCubaDateFieldWidget extends CubaDateFieldWidget {
@Override
public void buildDate() {
// Save previous value
String previousValue = getText();
super.buildDate();
// Restore previous value if the input could not be parsed
if (!parsable) {
setText(previousValue);
}
updateTextFieldEnabled();
bufferedDateString = text.getText();
updateBufferedResolutions();
// send the Time changes.
sendBufferedValues();
updateTextState();
}
}
- Заменить
CubaDateFieldWidget
наCustomCubaDateFieldWidget
в AppWidgetSet.gwt.xml
<?xml version="1.0" encoding="UTF-8"?>
<module>
<inherits name="com.haulmont.cuba.web.widgets.WidgetSet"/>
<replace-with class="com.company.sample.web.toolkit.ui.customdatefield.CustomCubaDateFieldWidget">
<when-type-is class="com.haulmont.cuba.web.widgets.client.datefield.CubaDateFieldWidget"/>
</replace-with>
</module>
С уважением,
Глеб