123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- package at.acdp.opcur;
- import com.ur.urcap.api.contribution.InstallationNodeContribution;
- import com.ur.urcap.api.domain.data.DataModel;
- import com.ur.urcap.api.domain.script.ScriptWriter;
- import com.ur.urcap.api.ui.annotation.Input;
- import com.ur.urcap.api.ui.component.InputEvent;
- import com.ur.urcap.api.ui.component.InputTextField;
- public class HelloWorldInstallationNodeContribution implements InstallationNodeContribution {
- private static final String POPUPTITLE_KEY = "popuptitle";
- private static final String DEFAULT_VALUE = "Hello World";
- private DataModel model;
- public HelloWorldInstallationNodeContribution(DataModel model) {
- this.model = model;
- }
- @Input(id = POPUPTITLE_KEY)
- private InputTextField popupTitleField;
- @Input(id = POPUPTITLE_KEY)
- public void onMessageChange(InputEvent event) {
- if (event.getEventType() == InputEvent.EventType.ON_CHANGE) {
- setPopupTitle(popupTitleField.getText());
- }
- }
- @Override
- public void openView() {
- popupTitleField.setText(getPopupTitle());
- }
- @Override
- public void closeView() { }
- public boolean isDefined() {
- return !getPopupTitle().isEmpty();
- }
- @Override
- public void generateScript(ScriptWriter writer) {
- // Store the popup title in a global variable so it is globally available to all HelloWorld program nodes.
- writer.assign("hello_world_popup_title", "\"" + getPopupTitle() + "\"");
- }
- public String getPopupTitle() {
- return model.get(POPUPTITLE_KEY, DEFAULT_VALUE);
- }
- private void setPopupTitle(String message) {
- if ("".equals(message)) {
- resetToDefaultValue();
- } else {
- model.set(POPUPTITLE_KEY, message);
- }
- }
- private void resetToDefaultValue() {
- popupTitleField.setText(DEFAULT_VALUE);
- model.set(POPUPTITLE_KEY, DEFAULT_VALUE);
- }
- }
|