private String eventValue;
/**
- * An old event value.
- */
- private String oldEventValue;
-
- /**
* JavaScript function index.
*/
private int index;
@Override
public void execute() {
if (canExecute()) {
- if (oldEventValue == null) {
- oldEventValue = part.getEventValue(eventName, index);
- }
part.setEventValue(eventName, eventValue, index);
}
}
*/
@Override
public void undo() {
- part.setEventValue(eventName, oldEventValue, index);
+ part.setEventValue(eventName, eventValue, index);
}
}
return null;
}
+
+ public Boolean hasEventValue(String eventName, String value) {
+ List<String> list = events.get(eventName);
+ if (list != null) {
+ if (!list.isEmpty()) {
+ for (String str : list) {
+ if (str.equals(value)) {
+ return true;
+ }
+ }
+ }
+ }
+ return false;
+
+ }
// public String getEventValue(String eventName) {
// return events.get(eventName);
oldValues = new ArrayList<String>();
}
- if ((value != null) && (value.isEmpty())) {
- oldValues.remove(index);
- // oldValues.add(index, null);
+ if ((value != null) && (hasEventValue(eventName, value))) {
+ oldValues.remove(value);
+ //TODO change order
} else if ((value != null) && (oldValueText != null)) {
oldValues.remove(index);
oldValues.add(index, value);