Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ValueChangeListener<String> mandatoryChangeListener = new ValueChangeListener<String>() {
- private static final long serialVersionUID = 1L;
- @Override
- public void valueChange(ValueChangeEvent<String> event) {
- log.debug("mandatoryChangeListener.addValueChangeListener");
- checkButtonState();
- }
- };
- protected void registerMandatoryInputs() {
- //registerMandatoryInput(kpiCategories.cbExtraInfo, mandatoryChangeListener);
- registerMandatoryInput(tKpiDescription, mandatoryChangeListener);
- registerMandatoryInput(tKpiName, mandatoryChangeListener);
- registerMandatoryInput(tFrequency, mandatoryChangeListener);
- registerMandatoryInput(cbFrequencyUnit, mandatoryChangeListener);
- registerMandatoryInput(cbBusinessProcess, mandatoryChangeListener);
- registerMandatoryInput(cbBusinessEvent, mandatoryChangeListener);
- kpiThresholds.registerMandatoryInputs(mandatoryChangeListener);
- }
- @SuppressWarnings("unchecked")
- protected void registerMandatoryInput(Component c, ValueChangeListener<String> listener) {
- if(c instanceof TextField) {
- ((TextField) c).addValueChangeListener(listener);
- } else if(c instanceof ComboBox) {
- ((ComboBox<String>) c).addValueChangeListener(listener);
- } else if(c instanceof TextArea) {
- ((TextArea) c).addValueChangeListener(listener);
- } else {
- log.info("Component could not be registered as mandatory: " + c.getClass().toString());
- }
- }
- private boolean inCheckButtonState = false;
- protected void checkButtonState() {
- log.debug("checkButtonState ..");
- if(!inCheckButtonState) {
- inCheckButtonState = true;
- boolean okEdit = checkMandatoryFields();
- boolean okThresholds = kpiThresholds.validateMandatoryFields() && !mustHaveClickedOnThresholdsButton;
- if( okEdit && okThresholds) {
- log.debug("checkButtonState enable ..");
- enableButton(bSaveKpi);
- enableButton(bUpdateKpi);
- enableButton(bSaveKpiThresholds);
- enableButton(bUpdateKpiThresholds);
- enableButton(bEnable);
- enableButton(bDisable);
- } else {
- log.debug("checkButtonState disable ..");
- disableButton(bSaveKpi);
- disableButton(bUpdateKpi);
- disableButton(bSaveKpiThresholds);
- disableButton(bUpdateKpiThresholds);
- disableButton(bEnable);
- disableButton(bDisable);
- }
- if(okEdit) {
- log.debug("checkButtonState enable Navigation..");
- enableButton(bToThresholds);
- } else {
- log.debug("checkButtonState disable Navigation..");
- disableButton(bToThresholds);
- }
- if(okThresholds) {
- log.debug("checkButtonState enable Navigation back..");
- enableButton(bBackToEdit);
- bToThresholds.setComponentError(null);
- } else {
- log.debug("checkButtonState disable Navigation back..");
- disableButton(bBackToEdit);
- if(mustHaveClickedOnThresholdsButton) {
- String clickMessage = messageByLocaleService.getMessage("message.checkthresholds");
- bToThresholds.setComponentError(new UserError(clickMessage));
- } else {
- bToThresholds.setComponentError(null);
- }
- }
- }
- inCheckButtonState = false;
- }
- protected static void disableButton(Button b) {
- b.addStyleName("test-data");
- b.setEnabled(false);
- }
- protected static void enableButton(Button b) {
- b.removeStyleName("test-data");
- b.setEnabled(true);
- }
Add Comment
Please, Sign In to add comment