Skip to content
Snippets Groups Projects
Commit 7f9ae871 authored by Robert Goldmann's avatar Robert Goldmann
Browse files

#96 - implemented max length warning for tag input field

parent ea1491a2
No related branches found
No related tags found
1 merge request!213merge v1_6_0 into master
......@@ -160,6 +160,7 @@ public class Strings
public static final String WARNING_NAME_CHARACTER_LIMIT_REACHED_45 = "warning.name.character.limit.reached.45";
public static final String WARNING_NAME_CHARACTER_LIMIT_REACHED_150 = "warning.name.character.limit.reached.150";
public static final String WARNING_DESCRIPTION_CHARACTER_LIMIT_REACHED_150 = "warning.description.character.limit.reached.150";
public static final String WARNING_TAG_CHARACTER_LIMIT_REACHED_45 = "warning.tag.character.limit.reached.45";
public static final String WARNING_PAYMENT_AMOUNT = "warning.payment.amount";
public static final String WARNING_EMPTY_PAYMENT_DATE = "warning.empty.payment.date";
public static final String WARNING_PAYMENT_REPEATING = "warning.payment.repeating";
......
......@@ -157,6 +157,7 @@ warning.empty.payment.name=Das Feld f
warning.name.character.limit.reached.45=Der Name darf maximal 45 Zeichen lang sein.
warning.name.character.limit.reached.150=Der Name darf maximal 150 Zeichen lang sein.
warning.description.character.limit.reached.150=Die Notiz darf maximal 150 Zeichen lang sein.
warning.tag.character.limit.reached.45=Der Name eines Tags darf maximal 45 Zeichen lang sein.
warning.payment.amount=Gib eine gültige Zahl für den Betrag ein.
warning.empty.payment.date=Bitte wähle ein Datum aus.
warning.payment.repeating=Wenn Wiederholung aktiviert ist dürfen nicht beide Eingabefelder 0 sein.\n(Zur Deaktivierung der Wiederholung einfach die Checkbox abwählen)
......
......@@ -157,6 +157,7 @@ warning.empty.payment.name=The field for the name can not be empty.
warning.name.character.limit.reached.45=The name must not exceed 45 characters in length.
warning.name.character.limit.reached.150=The name must not exceed 150 characters in length.
warning.description.character.limit.reached.150=The description must not exceed 150 characters in length.
warning.tag.character.limit.reached.45=A tag name must not exceed 45 characters in length.
warning.payment.amount=Please enter a valid number in the amount field.
warning.empty.payment.date=Please select a date.
warning.payment.repeating=If repeating is activated, both input fields may not be 0.\n(To deactivate the repeat, simply deselect the checkbox).
......
......@@ -121,7 +121,7 @@ public class NewPaymentController extends BaseController implements Styleable
applyStyle();
tagField = new TagField(new ArrayList<Tag>(), new ArrayList<Tag>());
tagField = new TagField(new ArrayList<Tag>(), new ArrayList<Tag>(), this);
hboxTags.getChildren().add(tagField);
tagField.maxWidthProperty().bind(hboxTags.widthProperty());
HBox.setHgrow(tagField, Priority.ALWAYS);
......@@ -169,6 +169,11 @@ public class NewPaymentController extends BaseController implements Styleable
datePicker.setEditable(false);
}
public Controller getController()
{
return controller;
}
private void initComboBoxCategory()
{
buttonCategoryCell = new ButtonCategoryCell(Color.WHITE);
......
......@@ -10,9 +10,11 @@ import de.deadlocker8.budgetmaster.logic.tag.Tag;
import de.deadlocker8.budgetmaster.logic.utils.Colors;
import de.deadlocker8.budgetmaster.logic.utils.Helpers;
import de.deadlocker8.budgetmaster.logic.utils.Strings;
import de.deadlocker8.budgetmaster.ui.controller.NewPaymentController;
import fontAwesome.FontIconType;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.control.Alert.AlertType;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
......@@ -21,6 +23,7 @@ import javafx.scene.layout.FlowPane;
import javafx.scene.layout.HBox;
import javafx.scene.layout.VBox;
import javafx.util.Callback;
import tools.AlertGenerator;
import tools.ConvertTo;
import tools.Localization;
......@@ -30,11 +33,13 @@ public class TagField extends VBox
private ArrayList<Tag> allTags;
private FlowPane flowPane;
private TextField textField;
private NewPaymentController parentController;
public TagField(ArrayList<Tag> tags, ArrayList<Tag> allAvailableTags)
public TagField(ArrayList<Tag> tags, ArrayList<Tag> allAvailableTags, NewPaymentController parentController)
{
this.tags = tags;
this.allTags = allAvailableTags;
this.parentController = parentController;
this.flowPane = initFlowPane();
this.getChildren().add(flowPane);
......@@ -129,7 +134,6 @@ public class TagField extends VBox
public void addTag(String tagName)
{
//TODO max length = 45 chars
if(tagName.equals(""))
{
return;
......@@ -143,6 +147,19 @@ public class TagField extends VBox
}
}
if(tagName.length() > 45)
{
AlertGenerator.showAlert(AlertType.WARNING,
Localization.getString(Strings.TITLE_WARNING),
"",
Localization.getString(Strings.WARNING_TAG_CHARACTER_LIMIT_REACHED_45),
parentController.getController().getIcon(),
parentController.getStage(),
null,
false);
return;
}
tags.add(new Tag(-1, tagName));
refresh(true);
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment