1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.myfaces.tobago.renderkit.html;
21
22 import org.apache.myfaces.tobago.component.Attributes;
23 import org.apache.myfaces.tobago.internal.component.AbstractUICommandBase;
24 import org.apache.myfaces.tobago.util.ComponentUtils;
25
26 public class Popup {
27
28
29
30
31 private String command;
32
33
34
35
36 private Boolean immediate;
37
38 private Popup(String command, Boolean immediate) {
39 this.command = command;
40 this.immediate = immediate;
41 }
42
43 public static Popup createPopup(AbstractUICommandBase component) {
44 String command = null;
45 Boolean immediate = null;
46
47 final String popupClose = (String) component.getAttributes().get(Attributes.POPUP_CLOSE);
48 if (popupClose != null) {
49 command = "close";
50 immediate = popupClose.equals("immediate");
51 } else {
52 boolean popupAction = ComponentUtils.containsPopupActionListener(component);
53 if (popupAction) {
54 command = "open";
55 }
56 }
57 if (command != null) {
58 return new Popup(command, immediate);
59 } else {
60 return null;
61 }
62 }
63
64 public String getCommand() {
65 return command;
66 }
67
68 public Boolean isImmediate() {
69 return immediate;
70 }
71 }