diff --git a/.github/ISSUE_TEMPLATE/bug-report.yml b/.github/ISSUE_TEMPLATE/bug-report.yml index c396ded..d53e4ad 100644 --- a/.github/ISSUE_TEMPLATE/bug-report.yml +++ b/.github/ISSUE_TEMPLATE/bug-report.yml @@ -1,5 +1,5 @@ name: Bug Report -description: Please report issues related to Cron Expression Editor Add-on here. +description: Please report issues related to Cron Expression Field Add-on here. body: - type: textarea id: problem-description diff --git a/.github/ISSUE_TEMPLATE/feature-request.yml b/.github/ISSUE_TEMPLATE/feature-request.yml index b2d8ae3..f3be758 100644 --- a/.github/ISSUE_TEMPLATE/feature-request.yml +++ b/.github/ISSUE_TEMPLATE/feature-request.yml @@ -1,5 +1,5 @@ name: Feature Request -description: Please add feature suggestions related to Cron Expression Editor Add-on here. +description: Please add feature suggestions related to Cron Expression Field Add-on here. body: - type: textarea id: feature-proposal diff --git a/README.md b/README.md index a9e6879..9cf4b5f 100644 --- a/README.md +++ b/README.md @@ -1,27 +1,27 @@ -[![Published on Vaadin Directory](https://img.shields.io/badge/Vaadin%20Directory-published-00b4f0.svg)](https://vaadin.com/directory/component/cron-expression-editor-add-on) -[![Stars on vaadin.com/directory](https://img.shields.io/vaadin-directory/star/cron-expression-editor-add-on.svg)](https://vaadin.com/directory/component/cron-expression-editor-add-on) -[![Build Status](https://jenkins.flowingcode.com/job/CronExpressionEditor-addon/badge/icon)](https://jenkins.flowingcode.com/job/CronExpressionEditor-addon) -[![Maven Central](https://img.shields.io/maven-central/v/com.flowingcode.vaadin.addons/cron-expression-editor-addon)](https://mvnrepository.com/artifact/com.flowingcode.vaadin.addons/cron-expression-editor-addon) -[![Javadoc](https://img.shields.io/badge/javadoc-00b4f0)](https://javadoc.flowingcode.com/artifact/com.flowingcode.vaadin.addons/cron-expression-editor-addon) +[![Published on Vaadin Directory](https://img.shields.io/badge/Vaadin%20Directory-published-00b4f0.svg)](https://vaadin.com/directory/component/cron-expression-field-add-on) +[![Stars on vaadin.com/directory](https://img.shields.io/vaadin-directory/star/cron-expression-field-add-on.svg)](https://vaadin.com/directory/component/cron-expression-field-add-on) +[![Build Status](https://jenkins.flowingcode.com/job/CronExpressionField-addon/badge/icon)](https://jenkins.flowingcode.com/job/CronExpressionField-addon) +[![Maven Central](https://img.shields.io/maven-central/v/com.flowingcode.vaadin.addons/cron-expression-field-addon)](https://mvnrepository.com/artifact/com.flowingcode.vaadin.addons/cron-expression-field-addon) +[![Javadoc](https://img.shields.io/badge/javadoc-00b4f0)](https://javadoc.flowingcode.com/artifact/com.flowingcode.vaadin.addons/cron-expression-field-addon) -# Cron Expression Editor Add-on +# Cron Expression Field Add-on -A component for Vaadin 24 that assists in the generation of cron expressions +A component for Vaadin 24 that assists in the generation of cron expressions. ## Features -* A mode to input daily, weekly and monthly expressions with the assistance of UI components -* An advanced mode to input cron expressions directly -* Calculation of the next dates scheduled by the generated cron expression -* Allows the configuration of a list of frequently used cron expressions +* A mode to input daily, weekly and monthly expressions with the assistance of UI components. +* An advanced mode to input cron expressions directly. +* Calculation of the next dates scheduled by the generated cron expression. +* Allows the configuration of a list of frequently used cron expressions. ## Online demo -[Online demo here](http://addonsv24.flowingcode.com/cron-expression-editor) +[Online demo here](http://addonsv24.flowingcode.com/cron-expression-field) ## Download release -[Available in Vaadin Directory](https://vaadin.com/directory/component/cron-expression-editor-add-on) +[Available in Vaadin Directory](https://vaadin.com/directory/component/cron-expression-field-add-on) ### Maven install @@ -30,7 +30,7 @@ Add the following dependencies in your pom.xml file: ```xml com.flowingcode.vaadin.addons - cron-expression-editor-addon + cron-expression-field-addon X.Y.Z ``` @@ -47,7 +47,7 @@ To see the demo, navigate to http://localhost:8080/ ## Release notes -See [here](https://github.com/FlowingCode/CronExpressionEditor/releases) +See [here](https://github.com/FlowingCode/CronExpressionField/releases) ## Issue tracking @@ -87,7 +87,7 @@ Then, follow these steps for creating a contribution: This add-on is distributed under Apache License 2.0. For license terms, see LICENSE.txt. -CronExpressionEditor Add-on is written by Flowing Code S.A. +Cron Expression Field Add-on is written by Flowing Code S.A. ## Third-Party Dependencies @@ -101,13 +101,13 @@ This project includes the following third-party dependency: ```java // Create a new instance -CronExpressionEditor editor = new CronExpressionEditor(); +CronExpressionField field = new CronExpressionField(); // Set default expression (optional) -editor.setDefaultExpression("0 0 12 * * ?"); +field.setDefaultExpression("0 0 12 * * ?"); // Add to your layout -add(editor); +add(field); ``` ## Special configuration when using Spring diff --git a/pom.xml b/pom.xml index acb3167..de5c528 100644 --- a/pom.xml +++ b/pom.xml @@ -5,9 +5,9 @@ 4.0.0 com.flowingcode.vaadin.addons - cron-expression-editor-addon + cron-expression-field-addon 1.0.0-SNAPSHOT - Cron Expression Editor Add-on + Cron Expression Field Add-on Component that assists in the generation of cron expressions https://www.flowingcode.com/en/open-source/ @@ -41,9 +41,9 @@ - https://github.com/FlowingCode/AddonStarter24 - scm:git:git://github.com/FlowingCode/AddonStarter24.git - scm:git:ssh://git@github.com:/FlowingCode/AddonStarter24.git + https://github.com/FlowingCode/CronExpressionField + scm:git:git://github.com/FlowingCode/CronExpressionField.git + scm:git:ssh://git@github.com:/FlowingCode/CronExpressionField.git master @@ -288,7 +288,7 @@ true vaadin.i18n.provider - com.flowingcode.vaadin.addons.cronexpressioneditor.TranslationProvider + com.flowingcode.vaadin.addons.cronexpressionfield.TranslationProvider diff --git a/src/main/java/com/flowingcode/vaadin/addons/cronexpressioneditor/CronExpressionEditor.java b/src/main/java/com/flowingcode/vaadin/addons/cronexpressionfield/CronExpressionField.java similarity index 95% rename from src/main/java/com/flowingcode/vaadin/addons/cronexpressioneditor/CronExpressionEditor.java rename to src/main/java/com/flowingcode/vaadin/addons/cronexpressionfield/CronExpressionField.java index 856479e..2d64e6a 100644 --- a/src/main/java/com/flowingcode/vaadin/addons/cronexpressioneditor/CronExpressionEditor.java +++ b/src/main/java/com/flowingcode/vaadin/addons/cronexpressionfield/CronExpressionField.java @@ -1,6 +1,6 @@ /*- * #%L - * Cron Expression Editor Add-on + * Cron Expression Field Add-on * %% * Copyright (C) 2025 Flowing Code * %% @@ -18,7 +18,7 @@ * #L% */ -package com.flowingcode.vaadin.addons.cronexpressioneditor; +package com.flowingcode.vaadin.addons.cronexpressionfield; import java.time.DayOfWeek; import java.time.Duration; @@ -58,7 +58,6 @@ import com.vaadin.flow.internal.JsonSerializer; import com.vaadin.flow.theme.lumo.LumoUtility; import elemental.json.JsonObject; -import org.springframework.format.annotation.DurationFormat.Unit; import org.springframework.scheduling.support.CronExpression; import it.burning.cron.CronExpressionDescriptor; import it.burning.cron.CronExpressionParser.CronExpressionParseException; @@ -71,8 +70,8 @@ * @author Sofia Nuñez / Flowing Code */ @SuppressWarnings("serial") -@CssImport(value = "./styles/cron-expression-editor-styles.css") -public class CronExpressionEditor extends CustomField { +@CssImport(value = "./styles/cron-expression-field-styles.css") +public class CronExpressionField extends CustomField { /** * Default value used only when {@code inputExpressionTf} and {@code defaultExpression} are empty. Represents every @@ -94,24 +93,24 @@ protected enum Units { SECONDS, MINUTES, HOURS; } - private CronExpressionEditorI18n i18n; + private CronExpressionFieldI18n i18n; private boolean helpEnabled; private boolean commonExpressionsVisible; private boolean cronInputEnabled; - /** Creates a new instance of {@code CronExpressionEditor} */ - public CronExpressionEditor() { - this.setClassName("fc-cron-expression-editor"); + /** Creates a new instance of {@code CronExpressionField} */ + public CronExpressionField() { + this.setClassName("fc-cron-expression-field"); setI18n(null); configureLayout(); } /** - * Creates a new instance of {@code CronExpressionEditor} with a default expression. + * Creates a new instance of {@code CronExpressionField} with a default expression. * * @param defaultExpression a {@code String} representing the default cron expression to be set */ - public CronExpressionEditor(String defaultExpression) { + public CronExpressionField(String defaultExpression) { this(); setDefaultExpression(defaultExpression); } @@ -567,15 +566,15 @@ public void setLocale(Locale locale) { } /** - * Sets the internationalization settings for the editor. + * Sets the internationalization settings for the field. *

* If {@code i18n} is {@code null}, default internationalization to english. *

* - * @param i18n the {@link CronExpressionEditorI18n} to use, or {@code null} for default + * @param i18n the {@link CronExpressionFieldI18n} to use, or {@code null} for default */ - public void setI18n(CronExpressionEditorI18n i18n) { - this.i18n = (i18n != null) ? i18n : CronExpressionEditorI18n.createDefault(); + public void setI18n(CronExpressionFieldI18n i18n) { + this.i18n = (i18n != null) ? i18n : CronExpressionFieldI18n.createDefault(); getUI().ifPresent(ui -> setI18nWithJS()); } diff --git a/src/main/java/com/flowingcode/vaadin/addons/cronexpressioneditor/CronExpressionEditorI18n.java b/src/main/java/com/flowingcode/vaadin/addons/cronexpressionfield/CronExpressionFieldI18n.java similarity index 80% rename from src/main/java/com/flowingcode/vaadin/addons/cronexpressioneditor/CronExpressionEditorI18n.java rename to src/main/java/com/flowingcode/vaadin/addons/cronexpressionfield/CronExpressionFieldI18n.java index 9b7ed5b..d80ea7e 100644 --- a/src/main/java/com/flowingcode/vaadin/addons/cronexpressioneditor/CronExpressionEditorI18n.java +++ b/src/main/java/com/flowingcode/vaadin/addons/cronexpressionfield/CronExpressionFieldI18n.java @@ -1,6 +1,6 @@ /*- * #%L - * Cron Expression Editor Add-on + * Cron Expression Field Add-on * %% * Copyright (C) 2025 Flowing Code * %% @@ -18,26 +18,24 @@ * #L% */ -package com.flowingcode.vaadin.addons.cronexpressioneditor; +package com.flowingcode.vaadin.addons.cronexpressionfield; import java.io.Serializable; -import java.util.ArrayList; import java.util.HashMap; -import java.util.List; import java.util.Map; /** * Internationalization object for customizing the component UI texts. An instance with the default messages can be - * obtained using {@link CronExpressionEditorI18n#createDefault()}. + * obtained using {@link CronExpressionFieldI18n#createDefault()}. * * @author Sofia Nuñez / Flowing Code */ -public class CronExpressionEditorI18n implements Serializable { +public class CronExpressionFieldI18n implements Serializable { private Map layoutOptions; private String cronExpressionLabel; private String clearBtn; private String startsAtLabel; - private Map units; + private Map units; private String descriptionLabel; private String descriptionPlaceholder; private String dayOfMonthLabel; @@ -55,14 +53,14 @@ public class CronExpressionEditorI18n implements Serializable { private String inputExpressionTooltip; /** Constructor for creating the default instance of the object. */ - private CronExpressionEditorI18n() { + private CronExpressionFieldI18n() { this.layoutOptions = Map.of(LayoutOptions.DAILY, "Daily", LayoutOptions.MONTHLY, "Monthly", LayoutOptions.ADVANCED, "Advanced"); this.cronExpressionLabel = "Cron expression"; this.clearBtn = "Clear"; this.startsAtLabel = "Starts at"; - this.units = Map.of(CronExpressionEditor.Units.SECONDS, "Seconds", CronExpressionEditor.Units.MINUTES, "Minutes", - CronExpressionEditor.Units.HOURS, "Hours"); + this.units = Map.of(CronExpressionField.Units.SECONDS, "Seconds", CronExpressionField.Units.MINUTES, "Minutes", + CronExpressionField.Units.HOURS, "Hours"); this.descriptionLabel = "Description"; this.descriptionPlaceholder = "Expression invalid or empty"; this.dayOfMonthLabel = "Day of month"; @@ -80,12 +78,12 @@ private CronExpressionEditorI18n() { } /** - * Creates a new instance of {@code CronExpressionEditorI18n} with default values. + * Creates a new instance of {@code CronExpressionFieldI18n} with default values. * - * @return a new {@code CronExpressionEditorI18n} instance + * @return a new {@code CronExpressionFieldI18n} instance */ - public static CronExpressionEditorI18n createDefault() { - return new CronExpressionEditorI18n(); + public static CronExpressionFieldI18n createDefault() { + return new CronExpressionFieldI18n(); } /** @@ -103,7 +101,7 @@ public String getCronExpressionLabel() { * @param cronExpressionLabel the label to set * @return this instance for method chaining */ - public CronExpressionEditorI18n setCronExpressionLabel(String cronExpressionLabel) { + public CronExpressionFieldI18n setCronExpressionLabel(String cronExpressionLabel) { this.cronExpressionLabel = cronExpressionLabel; return this; } @@ -123,7 +121,7 @@ public String getClearBtn() { * @param clearBtn the label to set * @return this instance for method chaining */ - public CronExpressionEditorI18n setClearBtn(String clearBtn) { + public CronExpressionFieldI18n setClearBtn(String clearBtn) { this.clearBtn = clearBtn; return this; } @@ -142,7 +140,7 @@ public Map getLayoutOptions() { * * @param layoutOptions a map of layout options and labels */ - public CronExpressionEditorI18n setLayoutOptions(Map layoutOptions) { + public CronExpressionFieldI18n setLayoutOptions(Map layoutOptions) { this.layoutOptions = new HashMap<>(layoutOptions); return this; } @@ -161,7 +159,7 @@ public String getStartsAtLabel() { * * @param startsAtLabel the label to set */ - public CronExpressionEditorI18n setStartsAtLabel(String startsAtLabel) { + public CronExpressionFieldI18n setStartsAtLabel(String startsAtLabel) { this.startsAtLabel = startsAtLabel; return this; } @@ -172,7 +170,7 @@ public CronExpressionEditorI18n setStartsAtLabel(String startsAtLabel) { * @param timePickerLabel the label to set * @return this instance for method chaining */ - public CronExpressionEditorI18n setTimePickerLabel(String timePickerLabel) { + public CronExpressionFieldI18n setTimePickerLabel(String timePickerLabel) { this.startsAtLabel = timePickerLabel; return this; } @@ -182,7 +180,7 @@ public CronExpressionEditorI18n setTimePickerLabel(String timePickerLabel) { * * @return the list of unit labels */ - public Map getUnits() { + public Map getUnits() { return new HashMap<>(units); } @@ -192,7 +190,7 @@ public Map getUnits() { * @param units the list of units * @return this instance for method chaining */ - public CronExpressionEditorI18n setUnits(Map units) { + public CronExpressionFieldI18n setUnits(Map units) { this.units = units; return this; } @@ -212,7 +210,7 @@ public String getDescriptionLabel() { * @param descriptionLabel the label to set * @return this instance for method chaining */ - public CronExpressionEditorI18n setDescriptionLabel(String descriptionLabel) { + public CronExpressionFieldI18n setDescriptionLabel(String descriptionLabel) { this.descriptionLabel = descriptionLabel; return this; } @@ -232,7 +230,7 @@ public String getDescriptionPlaceholder() { * @param descriptionPlaceholder the placeholder to set * @return this instance for method chaining */ - public CronExpressionEditorI18n setDescriptionPlaceholder(String descriptionPlaceholder) { + public CronExpressionFieldI18n setDescriptionPlaceholder(String descriptionPlaceholder) { this.descriptionPlaceholder = descriptionPlaceholder; return this; } @@ -252,7 +250,7 @@ public String getDayOfMonthLabel() { * @param dayOfMonthLabel the label to set * @return this instance for method chaining */ - public CronExpressionEditorI18n setDayOfMonthLabel(String dayOfMonthLabel) { + public CronExpressionFieldI18n setDayOfMonthLabel(String dayOfMonthLabel) { this.dayOfMonthLabel = dayOfMonthLabel; return this; } @@ -272,7 +270,7 @@ public String getRepeatEveryLabel() { * @param repeatEveryLabel the label to set * @return this instance for method chaining */ - public CronExpressionEditorI18n setRepeatEveryLabel(String repeatEveryLabel) { + public CronExpressionFieldI18n setRepeatEveryLabel(String repeatEveryLabel) { this.repeatEveryLabel = repeatEveryLabel; return this; } @@ -292,7 +290,7 @@ public String getMonth() { * @param month the label to set * @return this instance for method chaining */ - public CronExpressionEditorI18n setMonth(String month) { + public CronExpressionFieldI18n setMonth(String month) { this.month = month; return this; } @@ -312,7 +310,7 @@ public String getShowNextDatesBtn() { * @param showNextDatesBtn the label to set * @return this instance for method chaining */ - public CronExpressionEditorI18n setShowNextDatesBtn(String showNextDatesBtn) { + public CronExpressionFieldI18n setShowNextDatesBtn(String showNextDatesBtn) { this.showNextDatesBtn = showNextDatesBtn; return this; } @@ -332,7 +330,7 @@ public String getCommonExpressionsLabel() { * @param commonExpressionsLabel the label to set * @return this instance for method chaining */ - public CronExpressionEditorI18n setCommonExpressionsLabel(String commonExpressionsLabel) { + public CronExpressionFieldI18n setCommonExpressionsLabel(String commonExpressionsLabel) { this.commonExpressionsLabel = commonExpressionsLabel; return this; } @@ -352,7 +350,7 @@ public String getTimeAmountTooltip() { * @param timeAmountTooltip the tooltip text * @return this instance for method chaining */ - public CronExpressionEditorI18n setTimeAmountTooltip(String timeAmountTooltip) { + public CronExpressionFieldI18n setTimeAmountTooltip(String timeAmountTooltip) { this.timeAmountTooltip = timeAmountTooltip; return this; } @@ -372,7 +370,7 @@ public String getDaySelectorTooltip() { * @param daySelectorTooltip the tooltip text * @return this instance for method chaining */ - public CronExpressionEditorI18n setDaySelectorTooltip(String daySelectorTooltip) { + public CronExpressionFieldI18n setDaySelectorTooltip(String daySelectorTooltip) { this.daySelectorTooltip = daySelectorTooltip; return this; } @@ -392,7 +390,7 @@ public String getStartsAtTooltip() { * @param startsAtTooltip the tooltip text * @return this instance for method chaining */ - public CronExpressionEditorI18n setStartsAtTooltip(String startsAtTooltip) { + public CronExpressionFieldI18n setStartsAtTooltip(String startsAtTooltip) { this.startsAtTooltip = startsAtTooltip; return this; } @@ -412,7 +410,7 @@ public String getDayOfMonthTooltip() { * @param dayOfMonthTooltip the tooltip text * @return this instance for method chaining */ - public CronExpressionEditorI18n setDayOfMonthTooltip(String dayOfMonthTooltip) { + public CronExpressionFieldI18n setDayOfMonthTooltip(String dayOfMonthTooltip) { this.dayOfMonthTooltip = dayOfMonthTooltip; return this; } @@ -432,7 +430,7 @@ public String getMonthFieldTooltip() { * @param monthFieldTooltip the tooltip text * @return this instance for method chaining */ - public CronExpressionEditorI18n setMonthFieldTooltip(String monthFieldTooltip) { + public CronExpressionFieldI18n setMonthFieldTooltip(String monthFieldTooltip) { this.monthFieldTooltip = monthFieldTooltip; return this; } @@ -452,7 +450,7 @@ public String getInputExpressionTooltip() { * @param inputExpressionTooltip the tooltip text * @return this instance for method chaining */ - public CronExpressionEditorI18n setInputExpressionTooltip(String inputExpressionTooltip) { + public CronExpressionFieldI18n setInputExpressionTooltip(String inputExpressionTooltip) { this.inputExpressionTooltip = inputExpressionTooltip; return this; } diff --git a/src/main/java/com/flowingcode/vaadin/addons/cronexpressioneditor/LayoutOptions.java b/src/main/java/com/flowingcode/vaadin/addons/cronexpressionfield/LayoutOptions.java similarity index 87% rename from src/main/java/com/flowingcode/vaadin/addons/cronexpressioneditor/LayoutOptions.java rename to src/main/java/com/flowingcode/vaadin/addons/cronexpressionfield/LayoutOptions.java index d3b55d0..7519dee 100644 --- a/src/main/java/com/flowingcode/vaadin/addons/cronexpressioneditor/LayoutOptions.java +++ b/src/main/java/com/flowingcode/vaadin/addons/cronexpressionfield/LayoutOptions.java @@ -1,6 +1,6 @@ /*- * #%L - * Cron Expression Editor Add-on + * Cron Expression Field Add-on * %% * Copyright (C) 2025 Flowing Code * %% @@ -17,9 +17,9 @@ * limitations under the License. * #L% */ -package com.flowingcode.vaadin.addons.cronexpressioneditor; +package com.flowingcode.vaadin.addons.cronexpressionfield; -/** Defines the display modes available for the {@link CronExpressionEditor}. */ +/** Defines the display modes available for the {@link CronExpressionField}. */ public enum LayoutOptions { DAILY, MONTHLY, ADVANCED; } diff --git a/src/main/resources/META-INF/VAADIN/package.properties b/src/main/resources/META-INF/VAADIN/package.properties index 9ac6b5f..a16a3d0 100644 --- a/src/main/resources/META-INF/VAADIN/package.properties +++ b/src/main/resources/META-INF/VAADIN/package.properties @@ -1,6 +1,6 @@ ### # #%L -# Cron Expression Editor Add-on +# Cron Expression Field Add-on # %% # Copyright (C) 2025 Flowing Code # %% diff --git a/src/main/resources/META-INF/frontend/styles/cron-expression-editor-styles.css b/src/main/resources/META-INF/frontend/styles/cron-expression-field-styles.css similarity index 96% rename from src/main/resources/META-INF/frontend/styles/cron-expression-editor-styles.css rename to src/main/resources/META-INF/frontend/styles/cron-expression-field-styles.css index 8dc0a9f..25ad355 100644 --- a/src/main/resources/META-INF/frontend/styles/cron-expression-editor-styles.css +++ b/src/main/resources/META-INF/frontend/styles/cron-expression-field-styles.css @@ -1,6 +1,6 @@ /*- * #%L - * Cron Expression Editor Add-on + * Cron Expression Field Add-on * %% * Copyright (C) 2025 Flowing Code * %% diff --git a/src/test/java/com/flowingcode/vaadin/addons/DemoLayout.java b/src/test/java/com/flowingcode/vaadin/addons/DemoLayout.java index 55bacb9..41b0721 100644 --- a/src/test/java/com/flowingcode/vaadin/addons/DemoLayout.java +++ b/src/test/java/com/flowingcode/vaadin/addons/DemoLayout.java @@ -1,6 +1,6 @@ /*- * #%L - * Cron Expression Editor Add-on + * Cron Expression Field Add-on * %% * Copyright (C) 2025 Flowing Code * %% diff --git a/src/test/java/com/flowingcode/vaadin/addons/cronexpressioneditor/CommonExpressionDemo.java b/src/test/java/com/flowingcode/vaadin/addons/cronexpressionfield/CommonExpressionDemo.java similarity index 74% rename from src/test/java/com/flowingcode/vaadin/addons/cronexpressioneditor/CommonExpressionDemo.java rename to src/test/java/com/flowingcode/vaadin/addons/cronexpressionfield/CommonExpressionDemo.java index 7429b84..4f80afa 100644 --- a/src/test/java/com/flowingcode/vaadin/addons/cronexpressioneditor/CommonExpressionDemo.java +++ b/src/test/java/com/flowingcode/vaadin/addons/cronexpressionfield/CommonExpressionDemo.java @@ -1,6 +1,6 @@ /*- * #%L - * Cron Expression Editor Add-on + * Cron Expression Field Add-on * %% * Copyright (C) 2025 Flowing Code * %% @@ -17,7 +17,7 @@ * limitations under the License. * #L% */ -package com.flowingcode.vaadin.addons.cronexpressioneditor; +package com.flowingcode.vaadin.addons.cronexpressionfield; import com.flowingcode.vaadin.addons.demo.DemoSource; import com.vaadin.flow.component.button.Button; @@ -32,25 +32,25 @@ @DemoSource @PageTitle("Set common expressions Demo") @SuppressWarnings("serial") -@Route(value = "cron-exp-editor/common-exp", layout = CronExpressionEditorDemoView.class) +@Route(value = "cron-expression-field/common-exp", layout = CronExpressionFieldDemoView.class) public class CommonExpressionDemo extends VerticalLayout { public CommonExpressionDemo() { - CronExpressionEditor croneditor = new CronExpressionEditor(); - croneditor.addCommonExpressions("0 0 2 4 1/2 ?", "0 0 2 ? * 1,2,3"); + CronExpressionField croneField = new CronExpressionField(); + croneField.addCommonExpressions("0 0 2 4 1/2 ?", "0 0 2 ? * 1,2,3"); TextField expressionToAdd = new TextField("Add a new common cron"); Button save = new Button("Save"); save.addClickListener(e -> { - if (croneditor.addCommonExpressions(expressionToAdd.getValue())) { + if (croneField.addCommonExpressions(expressionToAdd.getValue())) { Notification.show("Successfully added"); } else { Notification.show("Invalid cron expression"); } }); - croneditor.setCommonExpressionsVisible(true); + croneField.setCommonExpressionsVisible(true); Span valueDisplay = new Span(); - croneditor.addValueChangeListener(v -> valueDisplay.setText("Current expression: " + v.getValue())); - add(new Div(expressionToAdd, save), croneditor, valueDisplay); + croneField.addValueChangeListener(v -> valueDisplay.setText("Current expression: " + v.getValue())); + add(new Div(expressionToAdd, save), croneField, valueDisplay); } } diff --git a/src/test/java/com/flowingcode/vaadin/addons/cronexpressioneditor/CronExpressionEditorDemo.java b/src/test/java/com/flowingcode/vaadin/addons/cronexpressionfield/CronExpressionFieldDemo.java similarity index 69% rename from src/test/java/com/flowingcode/vaadin/addons/cronexpressioneditor/CronExpressionEditorDemo.java rename to src/test/java/com/flowingcode/vaadin/addons/cronexpressionfield/CronExpressionFieldDemo.java index a995d82..af6f82c 100644 --- a/src/test/java/com/flowingcode/vaadin/addons/cronexpressioneditor/CronExpressionEditorDemo.java +++ b/src/test/java/com/flowingcode/vaadin/addons/cronexpressionfield/CronExpressionFieldDemo.java @@ -1,6 +1,6 @@ /*- * #%L - * Cron Expression Editor Add-on + * Cron Expression Field Add-on * %% * Copyright (C) 2025 Flowing Code * %% @@ -17,9 +17,8 @@ * limitations under the License. * #L% */ -package com.flowingcode.vaadin.addons.cronexpressioneditor; +package com.flowingcode.vaadin.addons.cronexpressionfield; -import java.util.Locale; import com.flowingcode.vaadin.addons.demo.DemoSource; import com.vaadin.flow.component.button.Button; import com.vaadin.flow.component.html.Span; @@ -33,19 +32,19 @@ @DemoSource @PageTitle("Default Setting Demo") @SuppressWarnings("serial") -@Route(value = "cron-exp-editor/default", layout = CronExpressionEditorDemoView.class) -public class CronExpressionEditorDemo extends VerticalLayout { +@Route(value = "cron-expression-field/default", layout = CronExpressionFieldDemoView.class) +public class CronExpressionFieldDemo extends VerticalLayout { - public CronExpressionEditorDemo() { + public CronExpressionFieldDemo() { TextField defaultCronTf = new TextField(); defaultCronTf.setPlaceholder("Input a default cron expression"); Button save = new Button("Save"); - CronExpressionEditor croneditor = new CronExpressionEditor(); - croneditor.setLabel("Custom default set"); + CronExpressionField cronField = new CronExpressionField(); + cronField.setLabel("Custom default set"); save.addClickListener(v -> { - if (croneditor.setDefaultExpression(defaultCronTf.getValue())) { + if (cronField.setDefaultExpression(defaultCronTf.getValue())) { Notification.show("Default set successfully"); } else { Notification.show("Invalid cron, default not set"); @@ -53,8 +52,8 @@ public CronExpressionEditorDemo() { }); Span valueDisplay = new Span(); - croneditor.addValueChangeListener(v -> valueDisplay.setText("Current expression: " + v.getValue())); - add(new HorizontalLayout(defaultCronTf, save), croneditor, valueDisplay); + cronField.addValueChangeListener(v -> valueDisplay.setText("Current expression: " + v.getValue())); + add(new HorizontalLayout(defaultCronTf, save), cronField, valueDisplay); } } diff --git a/src/test/java/com/flowingcode/vaadin/addons/cronexpressioneditor/CronExpressionEditorDemoView.java b/src/test/java/com/flowingcode/vaadin/addons/cronexpressionfield/CronExpressionFieldDemoView.java similarity index 76% rename from src/test/java/com/flowingcode/vaadin/addons/cronexpressioneditor/CronExpressionEditorDemoView.java rename to src/test/java/com/flowingcode/vaadin/addons/cronexpressionfield/CronExpressionFieldDemoView.java index a37f358..c5f6ed6 100644 --- a/src/test/java/com/flowingcode/vaadin/addons/cronexpressioneditor/CronExpressionEditorDemoView.java +++ b/src/test/java/com/flowingcode/vaadin/addons/cronexpressionfield/CronExpressionFieldDemoView.java @@ -1,6 +1,6 @@ /*- * #%L - * Cron Expression Editor Add-on + * Cron Expression Field Add-on * %% * Copyright (C) 2025 Flowing Code * %% @@ -17,7 +17,7 @@ * limitations under the License. * #L% */ -package com.flowingcode.vaadin.addons.cronexpressioneditor; +package com.flowingcode.vaadin.addons.cronexpressionfield; import com.flowingcode.vaadin.addons.DemoLayout; import com.flowingcode.vaadin.addons.GithubLink; @@ -27,12 +27,12 @@ @SuppressWarnings("serial") @ParentLayout(DemoLayout.class) -@Route("cron-exp-editor") -@GithubLink("https://github.com/FlowingCode/CronExpressionEditor") -public class CronExpressionEditorDemoView extends TabbedDemo { +@Route("cron-expression-field") +@GithubLink("https://github.com/FlowingCode/CronExpressionField") +public class CronExpressionFieldDemoView extends TabbedDemo { - public CronExpressionEditorDemoView() { - addDemo(CronExpressionEditorDemo.class); + public CronExpressionFieldDemoView() { + addDemo(CronExpressionFieldDemo.class); addDemo(NextDatesVisibleDemo.class); addDemo(CommonExpressionDemo.class); addDemo(HelpEnabledDemo.class); diff --git a/src/test/java/com/flowingcode/vaadin/addons/cronexpressioneditor/DemoView.java b/src/test/java/com/flowingcode/vaadin/addons/cronexpressionfield/DemoView.java similarity index 87% rename from src/test/java/com/flowingcode/vaadin/addons/cronexpressioneditor/DemoView.java rename to src/test/java/com/flowingcode/vaadin/addons/cronexpressionfield/DemoView.java index 6e7695c..93f943e 100644 --- a/src/test/java/com/flowingcode/vaadin/addons/cronexpressioneditor/DemoView.java +++ b/src/test/java/com/flowingcode/vaadin/addons/cronexpressionfield/DemoView.java @@ -1,6 +1,6 @@ /*- * #%L - * Cron Expression Editor Add-on + * Cron Expression Field Add-on * %% * Copyright (C) 2025 Flowing Code * %% @@ -18,7 +18,7 @@ * #L% */ -package com.flowingcode.vaadin.addons.cronexpressioneditor; +package com.flowingcode.vaadin.addons.cronexpressionfield; import com.vaadin.flow.component.orderedlayout.VerticalLayout; import com.vaadin.flow.router.BeforeEnterEvent; @@ -31,6 +31,6 @@ public class DemoView extends VerticalLayout implements BeforeEnterObserver { @Override public void beforeEnter(BeforeEnterEvent event) { - event.forwardTo(CronExpressionEditorDemoView.class); + event.forwardTo(CronExpressionFieldDemoView.class); } } diff --git a/src/test/java/com/flowingcode/vaadin/addons/cronexpressioneditor/HelpEnabledDemo.java b/src/test/java/com/flowingcode/vaadin/addons/cronexpressionfield/HelpEnabledDemo.java similarity index 70% rename from src/test/java/com/flowingcode/vaadin/addons/cronexpressioneditor/HelpEnabledDemo.java rename to src/test/java/com/flowingcode/vaadin/addons/cronexpressionfield/HelpEnabledDemo.java index 85d17d3..cadf6e3 100644 --- a/src/test/java/com/flowingcode/vaadin/addons/cronexpressioneditor/HelpEnabledDemo.java +++ b/src/test/java/com/flowingcode/vaadin/addons/cronexpressionfield/HelpEnabledDemo.java @@ -1,6 +1,6 @@ /*- * #%L - * Cron Expression Editor Add-on + * Cron Expression Field Add-on * %% * Copyright (C) 2025 Flowing Code * %% @@ -17,7 +17,7 @@ * limitations under the License. * #L% */ -package com.flowingcode.vaadin.addons.cronexpressioneditor; +package com.flowingcode.vaadin.addons.cronexpressionfield; import com.flowingcode.vaadin.addons.demo.DemoSource; import com.vaadin.flow.component.html.Div; @@ -28,13 +28,13 @@ @DemoSource @PageTitle("Help enabled Demo") @SuppressWarnings("serial") -@Route(value = "cron-exp-editor/help-enabled", layout = CronExpressionEditorDemoView.class) +@Route(value = "cron-expression-field/help-enabled", layout = CronExpressionFieldDemoView.class) public class HelpEnabledDemo extends Div { public HelpEnabledDemo() { - CronExpressionEditor croneditor = new CronExpressionEditor(); - croneditor.setHelpEnabled(true); + CronExpressionField cronField = new CronExpressionField(); + cronField.setHelpEnabled(true); Span valueDisplay = new Span(); - croneditor.addValueChangeListener(v -> valueDisplay.setText("Current expression: " + v.getValue())); - add(croneditor, valueDisplay); + cronField.addValueChangeListener(v -> valueDisplay.setText("Current expression: " + v.getValue())); + add(cronField, valueDisplay); } } diff --git a/src/test/java/com/flowingcode/vaadin/addons/cronexpressioneditor/NextDatesVisibleDemo.java b/src/test/java/com/flowingcode/vaadin/addons/cronexpressionfield/NextDatesVisibleDemo.java similarity index 74% rename from src/test/java/com/flowingcode/vaadin/addons/cronexpressioneditor/NextDatesVisibleDemo.java rename to src/test/java/com/flowingcode/vaadin/addons/cronexpressionfield/NextDatesVisibleDemo.java index c3f397a..d15aac7 100644 --- a/src/test/java/com/flowingcode/vaadin/addons/cronexpressioneditor/NextDatesVisibleDemo.java +++ b/src/test/java/com/flowingcode/vaadin/addons/cronexpressionfield/NextDatesVisibleDemo.java @@ -1,6 +1,6 @@ /*- * #%L - * Cron Expression Editor Add-on + * Cron Expression Field Add-on * %% * Copyright (C) 2025 Flowing Code * %% @@ -17,7 +17,7 @@ * limitations under the License. * #L% */ -package com.flowingcode.vaadin.addons.cronexpressioneditor; +package com.flowingcode.vaadin.addons.cronexpressionfield; import com.flowingcode.vaadin.addons.demo.DemoSource; import com.vaadin.flow.component.checkbox.Checkbox; @@ -28,17 +28,17 @@ @DemoSource @PageTitle("Next Dates Visible Demo") @SuppressWarnings("serial") -@Route(value = "cron-exp-editor/next-dates-visible", layout = CronExpressionEditorDemoView.class) +@Route(value = "cron-expression-field/next-dates-visible", layout = CronExpressionFieldDemoView.class) public class NextDatesVisibleDemo extends VerticalLayout { public NextDatesVisibleDemo() { - CronExpressionEditor croneditor = new CronExpressionEditor(); + CronExpressionField cronField = new CronExpressionField(); Checkbox checkbox = new Checkbox("Show next dates"); - croneditor.setNextDatesButtonVisible(false); + cronField.setNextDatesButtonVisible(false); checkbox.addValueChangeListener(v -> { - croneditor.setNextDatesButtonVisible(v.getValue()); + cronField.setNextDatesButtonVisible(v.getValue()); }); - add(checkbox, croneditor); + add(checkbox, cronField); } } diff --git a/src/test/java/com/flowingcode/vaadin/addons/cronexpressioneditor/TranslationProvider.java b/src/test/java/com/flowingcode/vaadin/addons/cronexpressionfield/TranslationProvider.java similarity index 93% rename from src/test/java/com/flowingcode/vaadin/addons/cronexpressioneditor/TranslationProvider.java rename to src/test/java/com/flowingcode/vaadin/addons/cronexpressionfield/TranslationProvider.java index 760e4bf..3d456ef 100644 --- a/src/test/java/com/flowingcode/vaadin/addons/cronexpressioneditor/TranslationProvider.java +++ b/src/test/java/com/flowingcode/vaadin/addons/cronexpressionfield/TranslationProvider.java @@ -1,6 +1,6 @@ /*- * #%L - * Cron Expression Editor Add-on + * Cron Expression Field Add-on * %% * Copyright (C) 2025 Flowing Code * %% @@ -17,7 +17,7 @@ * limitations under the License. * #L% */ -package com.flowingcode.vaadin.addons.cronexpressioneditor; +package com.flowingcode.vaadin.addons.cronexpressionfield; import java.util.Arrays; import java.util.Collections; diff --git a/src/test/java/com/flowingcode/vaadin/addons/cronexpressioneditor/it/AbstractViewTest.java b/src/test/java/com/flowingcode/vaadin/addons/cronexpressionfield/it/AbstractViewTest.java similarity index 97% rename from src/test/java/com/flowingcode/vaadin/addons/cronexpressioneditor/it/AbstractViewTest.java rename to src/test/java/com/flowingcode/vaadin/addons/cronexpressionfield/it/AbstractViewTest.java index 9291c7d..eb767b5 100644 --- a/src/test/java/com/flowingcode/vaadin/addons/cronexpressioneditor/it/AbstractViewTest.java +++ b/src/test/java/com/flowingcode/vaadin/addons/cronexpressionfield/it/AbstractViewTest.java @@ -1,6 +1,6 @@ /*- * #%L - * Cron Expression Editor Add-on + * Cron Expression Field Add-on * %% * Copyright (C) 2025 Flowing Code * %% @@ -18,7 +18,7 @@ * #L% */ -package com.flowingcode.vaadin.addons.cronexpressioneditor.it; +package com.flowingcode.vaadin.addons.cronexpressionfield.it; import com.vaadin.testbench.ScreenshotOnFailureRule; import com.vaadin.testbench.TestBench; diff --git a/src/test/java/com/flowingcode/vaadin/addons/cronexpressioneditor/test/SerializationTest.java b/src/test/java/com/flowingcode/vaadin/addons/cronexpressionfield/test/SerializationTest.java similarity index 86% rename from src/test/java/com/flowingcode/vaadin/addons/cronexpressioneditor/test/SerializationTest.java rename to src/test/java/com/flowingcode/vaadin/addons/cronexpressionfield/test/SerializationTest.java index 6418902..517d26f 100644 --- a/src/test/java/com/flowingcode/vaadin/addons/cronexpressioneditor/test/SerializationTest.java +++ b/src/test/java/com/flowingcode/vaadin/addons/cronexpressionfield/test/SerializationTest.java @@ -1,6 +1,6 @@ /*- * #%L - * Cron Expression Editor Add-on + * Cron Expression Field Add-on * %% * Copyright (C) 2025 Flowing Code * %% @@ -17,7 +17,7 @@ * limitations under the License. * #L% */ -package com.flowingcode.vaadin.addons.cronexpressioneditor.test; +package com.flowingcode.vaadin.addons.cronexpressionfield.test; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; @@ -26,7 +26,8 @@ import java.io.ObjectOutputStream; import org.junit.Assert; import org.junit.Test; -import com.flowingcode.vaadin.addons.cronexpressioneditor.CronExpressionEditor; + +import com.flowingcode.vaadin.addons.cronexpressionfield.CronExpressionField; public class SerializationTest { @@ -43,7 +44,7 @@ private void testSerializationOf(Object obj) throws IOException, ClassNotFoundEx @Test public void testSerialization() throws ClassNotFoundException, IOException { try { - testSerializationOf(new CronExpressionEditor()); + testSerializationOf(new CronExpressionField()); } catch (Exception e) { Assert.fail("Problem while testing serialization: " + e.getMessage()); } diff --git a/src/test/resources/META-INF/frontend/styles/shared-styles.css b/src/test/resources/META-INF/frontend/styles/shared-styles.css index 995f9f9..a604d87 100644 --- a/src/test/resources/META-INF/frontend/styles/shared-styles.css +++ b/src/test/resources/META-INF/frontend/styles/shared-styles.css @@ -1,6 +1,6 @@ /*- * #%L - * Cron Expression Editor Add-on + * Cron Expression Field Add-on * %% * Copyright (C) 2025 Flowing Code * %%