{"id":29429555,"url":"https://github.com/tehapo/wizardsforvaadin","last_synced_at":"2025-07-12T16:11:34.815Z","repository":{"id":5127555,"uuid":"6293174","full_name":"tehapo/WizardsForVaadin","owner":"tehapo","description":"Wizards for Vaadin add-on","archived":false,"fork":false,"pushed_at":"2018-10-29T09:27:47.000Z","size":5878,"stargazers_count":35,"open_issues_count":19,"forks_count":31,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-04-16T12:21:05.210Z","etag":null,"topics":["java","vaadin"],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"PHPMailer/PHPMailer","license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tehapo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-10-19T10:20:28.000Z","updated_at":"2024-02-29T01:47:01.000Z","dependencies_parsed_at":"2022-07-05T07:01:42.646Z","dependency_job_id":null,"html_url":"https://github.com/tehapo/WizardsForVaadin","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/tehapo/WizardsForVaadin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tehapo%2FWizardsForVaadin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tehapo%2FWizardsForVaadin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tehapo%2FWizardsForVaadin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tehapo%2FWizardsForVaadin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tehapo","download_url":"https://codeload.github.com/tehapo/WizardsForVaadin/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tehapo%2FWizardsForVaadin/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265018250,"owners_count":23698645,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["java","vaadin"],"created_at":"2025-07-12T16:11:28.413Z","updated_at":"2025-07-12T16:11:34.751Z","avatar_url":"https://github.com/tehapo.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Published on Vaadin  Directory](https://img.shields.io/badge/Vaadin%20Directory-published-00b4f0.svg)](https://vaadin.com/directory/component/wizards-for-vaadin)\n[![Stars on Vaadin Directory](https://img.shields.io/vaadin-directory/star/wizards-for-vaadin.svg)](https://vaadin.com/directory/component/wizards-for-vaadin)\n\n## Getting Started\n\nNotice that this page is written for the Wizards for Vaadin version 1.0.0. If you are using some other version, the API might differ and all features might not be available.\n\nStarting from version 2.0.0 Wizards for Vaadin supports only Vaadin 8.\nThere are separate branches\n([vaadin7](https://github.com/tehapo/WizardsForVaadin/tree/vaadin7),\n[vaadin6](https://github.com/tehapo/WizardsForVaadin/tree/vaadin6))\nfor older Vaadin versions.\n\n\n## Installation\n\nInstall the add-on to your Vaadin project by simply copying the JAR file from [Vaadin Directory](https://vaadin.com/addon/wizards-for-vaadin) or add the add-on to your project using Maven or Ivy (see the Maven/Ivy configuration snippet required from [Vaadin Directory](https://vaadin.com/addon/wizards-for-vaadin)).\n\nIf you want to build it yourself:\n\n```\nmvn clean install\ncd wizards-for-vaadin-demo\nmvn jetty:run\n```\n\n## Basic Usage\n\nEach step of your wizard must implement the ```WizardStep``` interface and provide the actual content as the return value of the ```getContent()``` method. You should add these steps to the wizard by calling the ```addStep(WizardStep)``` method of an ```Wizard``` instance.\n\n```java\n// instantiate the Wizard\nWizard wizard = new Wizard();\n\n// add some steps that implement the WizardStep interface\nwizard.addStep(new FirstStep());\nwizard.addStep(new SecondStep());\nwizard.addStep(new ThirdStep());\nwizard.addStep(new FourthStep());\n\n// add the wizard to a layout\nmainLayout.addComponent(wizard);\n```\n\n## Lifecycle Events of the Wizard\n\nTo listen for the completion, cancellation or progress of the wizard, you should add a listener that implements the ```WizardProgressListener``` interface.\n\n```java\n// add WizardProgressListener (assuming MyWizardListener implements the interface)\nwizard.addListener(new MyWizardListener());\n```\n\nBy default every ```Wizard``` instance have one ```WizardProgressListener``` assigned. This is the default progress bar displayed as the header of the ```Wizard```. If you would like to remove it, you can remove the header by calling ```setHeader(null)```. A good practice is also to remove it from listening to the events. You can do it with the following code.\n\n```java\nComponent defaultHeader = wizard.getHeader();\nif (defaultHeader instanceof WizardProgressListener) {\n    wizard.removeListener((WizardProgressListener) defaultHeader);\n}\nwizard.setHeader(null);\n```\nOf course you can also leave the default header as a listener and attach it into your own layout.\n\n## Localization of the Button Captions\n\nThe wizard doesn't provide any specific support for localizing the button captions (\"Next\", \"Back\", \"Finish\", \"Cancel\"). Instead you need to assign the captions yourself. See the example below on how to provide Finnish translations.\n```java\nwizard.getNextButton().setCaption(\"Seuraava\");\nwizard.getBackButton().setCaption(\"Edellinen\");\nwizard.getFinishButton().setCaption(\"Valmis\");\nwizard.getCancelButton().setCaption(\"Peruuta\");\n```\n\n## Navigation with URL Fragments\n\nEach ```WizardStep``` gets an identifier that can be used as the URI fragment for the step. This enables you to navigate between the steps with the back/forward buttons in your browser (see the [demo application](http://teemu.virtuallypreinstalled.com/wizards-for-vaadin) for an example of this). To enable the URI fragment navigation, call ```setUriFragmentEnabled(true)``` on the ```Wizard```. To provide your own identifiers instead of using the automatically generated, you should add the ```WizardStep```s with the overloaded ```addStep(WizardStep, String)``` method.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftehapo%2Fwizardsforvaadin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftehapo%2Fwizardsforvaadin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftehapo%2Fwizardsforvaadin/lists"}