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.Decoupler; import de.srsoftware.web4rail.tiles.Tile; public class EngageDecoupler extends Action { private static final String DECOUPLER = Decoupler.class.getSimpleName(); public EngageDecoupler(BaseClass parent) { super(parent); } private Decoupler decoupler = null; @Override public boolean fire(Context context) { if (isNull(decoupler)) return false; decoupler.engage(); return true; } @Override public JSONObject json() { JSONObject json = super.json(); if (isSet(decoupler)) { json.put(Decoupler.class.getSimpleName(), decoupler.id()); } return json; } @Override public Action load(JSONObject json) { if (json.has(DECOUPLER)) new LoadCallback() { @Override public void afterLoad() { decoupler = BaseClass.get(Id.from(json, DECOUPLER)); } }; return super.load(json); } @Override protected Window properties(List