package de.srsoftware.web4rail.actions; import java.util.List; import java.util.Map; import org.json.JSONObject; import de.srsoftware.web4rail.BaseClass; import de.srsoftware.web4rail.LoadCallback; import de.srsoftware.web4rail.Params; import de.srsoftware.web4rail.tags.Fieldset; import de.srsoftware.web4rail.tags.Window; import de.srsoftware.web4rail.tiles.Contact; public class TriggerContact extends Action { public TriggerContact(BaseClass parent) { super(parent); } private Contact contact = null; @Override public boolean fire(Context context) { if (isSet(contact)) return contact.trigger(200); return false; } @Override protected String highlightId() { return isSet(contact) ? contact.id().toString() : null; } @Override public JSONObject json() { JSONObject json = super.json(); if (isSet(contact)) json.put(CONTACT, contact.id()); return json; } @Override public Action load(JSONObject json) { super.load(json); Id contactId = Id.from(json,CONTACT); if (isSet(contactId)) new LoadCallback() { @Override public void afterLoad() { contact = Contact.get(contactId); } }; return this; } @Override protected Window properties(List