ScriptRunAtDispatcher.java
2.56 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
/*
* Decompiled with CFR 0_118.
*/
package com.adobe.xfa.form;
import com.adobe.xfa.AppModel;
import com.adobe.xfa.Arg;
import com.adobe.xfa.Element;
import com.adobe.xfa.EventManager;
import com.adobe.xfa.Model;
import com.adobe.xfa.Node;
import com.adobe.xfa.ScriptDispatcher;
import com.adobe.xfa.ScriptHandler;
import com.adobe.xfa.form.FormExclGroup;
import com.adobe.xfa.form.FormField;
import com.adobe.xfa.form.FormModel;
import com.adobe.xfa.form.FormSubform;
import com.adobe.xfa.template.TemplateModel;
import com.adobe.xfa.template.containers.Container;
class ScriptRunAtDispatcher
extends ScriptDispatcher {
private final int meRunAt;
ScriptRunAtDispatcher(Element scriptContextNode, String sEventContext, int nEventID, EventManager eventManager, String sScript, String sContentType, int eRunAt, String sTarget) {
super(scriptContextNode, sEventContext, nEventID, eventManager, sScript, sContentType);
this.meRunAt = eRunAt;
}
@Override
public void dispatch() {
int ePresence;
Container container;
TemplateModel templateModel;
Element node = this.getActionContextNode();
if (node == null) {
return;
}
String sContentType = this.getContentType();
int eRunAt = this.getRunAt();
int nEventID = this.getEventID();
assert (node instanceof FormField || node instanceof FormSubform || node instanceof FormExclGroup);
FormModel formModel = (FormModel)node.getModel();
if (formModel == null) {
return;
}
AppModel appModel = node.getAppModel();
if (appModel != null && (templateModel = TemplateModel.getTemplateModel(appModel, false)) != null && templateModel.getOriginalXFAVersion() >= 30 && node instanceof Container && 1076494339 == (ePresence = (container = (Container)node).getRuntimePresence(0))) {
return;
}
String sActivity = this.getEventManager().getEventIDByIndex((int)nEventID).msEventName;
int eModelRunAtSetting = formModel.getRunScripts();
if (eModelRunAtSetting == 1080754179) {
return;
}
if (eModelRunAtSetting == 1080754177 && eRunAt == 1079836672) {
return;
}
if (eModelRunAtSetting == 1080754176 && eRunAt == 1079836673) {
formModel.serverExchange(node, sActivity);
return;
}
String sScript = this.getScript();
node.evaluate(sScript, sContentType, ScriptHandler.stringToExecuteReason(sActivity), true);
}
int getRunAt() {
return this.meRunAt;
}
}