Mercurial > p > roundup > code
annotate roundup/cgi/KeywordsExpr.py @ 5132:0142b4fb5a2d
issue2550648 - partial fix for problem in this issue. Ezio Melotti
reported that the expression editor allowed the user to generate an
expression using retired values. To align the expression editor with
the simple dropdown search item, retired values are now removed from
the expression editor.
Do we really want this though? Supposed a keyword is retired and I
want to search for an issue with that retired keyword? Do we have a
best policy document that says to remove retired keywords from all
places it could possibly be used? It could be argued that the simple
search dropdown is wrong and should allow selecting retired values.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Fri, 08 Jul 2016 19:31:02 -0400 |
| parents | e46b15b0bc25 |
| children | 17b213eab274 |
| rev | line source |
|---|---|
|
4467
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
1 # This module is free software, you may redistribute it |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
2 # and/or modify under the same terms as Python. |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
3 |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
4 WINDOW_CONTENT = '''\ |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
5 <h3>Keyword Expression Editor:</h3> |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
6 <hr/> |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
7 <div id="content"></div> |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
8 <script type="text/javascript"> |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
9 <!-- |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
10 |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
11 var NOT_OP = "-2"; |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
12 var AND_OP = "-3"; |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
13 var OR_OP = "-4"; |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
14 |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
15 var original = "%(original)s"; |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
16 var current = original; |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
17 var undo = []; |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
18 |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
19 var KEYWORDS = [ |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
20 %(keywords)s |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
21 ]; |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
22 |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
23 function find_keyword(x) { |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
24 for (var i = 0; i < KEYWORDS.length; ++i) { |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
25 if (KEYWORDS[i][0] == x) { |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
26 return KEYWORDS[i][1]; |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
27 } |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
28 } |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
29 return "unknown"; |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
30 } |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
31 |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
32 function Equals(x) { |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
33 this.x = x; |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
34 this.brackets = false; |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
35 |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
36 this.infix = function() { |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
37 return find_keyword(this.x); |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
38 } |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
39 |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
40 this.postfix = function() { |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
41 return this.x; |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
42 } |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
43 } |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
44 |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
45 function Not(x) { |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
46 this.x = x; |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
47 this.brackets = false; |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
48 |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
49 this.infix = function() { |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
50 return this.x.brackets |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
51 ? "NOT(" + this.x.infix() + ")" |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
52 : "NOT " + this.x.infix(); |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
53 } |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
54 |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
55 this.postfix = function() { |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
56 return this.x.postfix() + "," + NOT_OP; |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
57 } |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
58 } |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
59 |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
60 function And(x, y) { |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
61 this.x = x; |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
62 this.y = y; |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
63 this.brackets = true; |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
64 |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
65 this.infix = function() { |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
66 var a = this.x.brackets ? "(" + this.x.infix() + ")" : this.x.infix(); |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
67 var b = this.y.brackets ? "(" + this.y.infix() + ")" : this.y.infix(); |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
68 return a + " AND " + b; |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
69 } |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
70 this.postfix = function() { |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
71 return this.x.postfix() + "," + this.y.postfix() + "," + AND_OP; |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
72 } |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
73 } |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
74 |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
75 function Or(x, y) { |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
76 this.x = x; |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
77 this.y = y; |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
78 this.brackets = true; |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
79 |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
80 this.infix = function() { |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
81 var a = this.x.brackets ? "(" + this.x.infix() + ")" : this.x.infix(); |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
82 var b = this.y.brackets ? "(" + this.y.infix() + ")" : this.y.infix(); |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
83 return a + " OR " + b; |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
84 } |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
85 |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
86 this.postfix = function() { |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
87 return this.x.postfix() + "," + this.y.postfix() + "," + OR_OP; |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
88 } |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
89 } |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
90 |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
91 function trim(s) { |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
92 return s.replace (/^\s+/, '').replace(/\s+$/, ''); |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
93 } |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
94 |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
95 function parse(s) { |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
96 var operators = s.split(","); |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
97 var stack = []; |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
98 for (var i = 0; i < operators.length; ++i) { |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
99 var operator = trim(operators[i]); |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
100 if (operator == "") continue; |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
101 if (operator == NOT_OP) { |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
102 stack.push(new Not(stack.pop())); |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
103 } |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
104 else if (operator == AND_OP) { |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
105 var a = stack.pop(); |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
106 var b = stack.pop(); |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
107 stack.push(new And(b, a)); |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
108 } |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
109 else if (operator == OR_OP) { |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
110 var a = stack.pop(); |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
111 var b = stack.pop(); |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
112 stack.push(new Or(b, a)); |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
113 } |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
114 else { |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
115 stack.push(new Equals(operator)); |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
116 } |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
117 } |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
118 return stack.length > 0 ? stack.pop() : null; |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
119 } |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
120 |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
121 function render_select(handler) { |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
122 var out = '<select name="keyword" id="keyword"'; |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
123 if (handler != null) { |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
124 out += ' onchange="' + handler + '"'; |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
125 } |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
126 out += '>'; |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
127 out += '<option value="-1"><\/option>'; |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
128 for (var i = 0; i < KEYWORDS.length; ++i) { |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
129 out += '<option value="' + KEYWORDS[i][0] + |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
130 '">' + KEYWORDS[i][1] + "<\/option>"; |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
131 } |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
132 out += '<\/select>'; |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
133 return out; |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
134 } |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
135 |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
136 function first_select() { |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
137 var value = document.getElementById("keyword").value; |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
138 current = value; |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
139 set_content(); |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
140 } |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
141 |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
142 function not_clicked() { |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
143 var expr = parse(current); |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
144 if (expr == null) return; |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
145 undo.push(current); |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
146 current = expr instanceof Not |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
147 ? expr.x.postfix() |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
148 : new Not(expr).postfix(); |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
149 set_content(); |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
150 } |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
151 |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
152 function not_b_wrap(expr) { |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
153 var value = document.getElementById("not_b").checked; |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
154 return value ? new Not(expr) : expr; |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
155 } |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
156 |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
157 function and_clicked() { |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
158 var expr = parse(current); |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
159 if (expr == null) return; |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
160 var value = document.getElementById("keyword").value; |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
161 if (value == "-1") return; |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
162 undo.push(current); |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
163 current = new And(expr, not_b_wrap(new Equals(value))).postfix(); |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
164 set_content(); |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
165 } |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
166 |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
167 function or_clicked() { |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
168 var expr = parse(current); |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
169 if (expr == null) return; |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
170 var value = document.getElementById("keyword").value; |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
171 if (value == "-1") return; |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
172 undo.push(current); |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
173 current = new Or(expr, not_b_wrap(new Equals(value))).postfix(); |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
174 set_content(); |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
175 } |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
176 |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
177 function undo_clicked() { |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
178 current = undo.length > 0 |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
179 ? undo.pop() |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
180 : original; |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
181 set_content(); |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
182 } |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
183 |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
184 function enable_and_or() { |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
185 var value = document.getElementById("keyword").value; |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
186 value = value == "-1"; |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
187 document.getElementById("and").disabled = value; |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
188 document.getElementById("or").disabled = value; |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
189 document.getElementById("not_b").disabled = value; |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
190 } |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
191 |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
192 function create() { |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
193 var expr = parse(current); |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
194 var out = ""; |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
195 if (expr == null) { |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
196 out += "Keyword: "; |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
197 out += render_select("first_select();"); |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
198 } |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
199 else { |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
200 out += '<table><tr>' |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
201 out += '<td><input type="button" name="not" onclick="not_clicked();" value="NOT"\/><\/td>'; |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
202 out += "<td><tt><strong>" + expr.infix() + "<\/strong><\/tt><\/td>"; |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
203 out += '<td><table>'; |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
204 out += '<tr><td><input type="button" id="and" name="and" onclick="and_clicked();"' |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
205 + ' value="AND" disabled="disabled"\/><\/td><\/tr>'; |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
206 out += '<tr><td><input type="button" id="or" name="or" onclick="or_clicked();"' |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
207 + ' value="OR" disabled="disabled"\/><\/td><\/tr>'; |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
208 out += '<\/table><\/td>'; |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
209 out += '<td><label for="not_b">NOT<\/label><br/>' |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
210 + '<input type="checkbox" name="not_b" id="not_b" disabled="disabled"\/><\/td>'; |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
211 out += '<td>' + render_select("enable_and_or();") + '<\/td>'; |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
212 out += '<\/tr><\/table>' |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
213 } |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
214 out += '<hr\/>'; |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
215 if (undo.length > 0 || (undo.length == 0 && current != original)) { |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
216 out += '<input type="button" onclick="undo_clicked();" value="Undo"\/>'; |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
217 } |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
218 out += '<input type="button" onclick="modify_main();" value="Apply"\/>' |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
219 + '<input type="button" onclick="window.close();" value="Close Window"\/>'; |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
220 return out; |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
221 } |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
222 |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
223 function main_content() { |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
224 var out = ''; |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
225 out += '<input type="hidden" name="%(prop)s" value="' + current + '"\/>'; |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
226 out += parse(current).infix(); |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
227 return out; |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
228 } |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
229 |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
230 function modify_main() { |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
231 main = window.opener.document.getElementById("keywords_%(prop)s"); |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
232 main.innerHTML = main_content(); |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
233 } |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
234 |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
235 function set_content() { |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
236 document.getElementById("content").innerHTML = create(); |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
237 } |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
238 |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
239 set_content(); |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
240 //--> |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
241 </script> |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
242 ''' |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
243 |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
244 def list_nodes(request): |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
245 prop = request.form.getfirst("property") |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
246 cls = request.client.db.getclass(prop) |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
247 items = [] |
|
5132
0142b4fb5a2d
issue2550648 - partial fix for problem in this issue. Ezio Melotti
John Rouillard <rouilj@ieee.org>
parents:
4467
diff
changeset
|
248 for nodeid in cls.getnodeids(retired=0): |
|
4467
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
249 l = cls.getnode(nodeid).items() |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
250 l = dict([x for x in l if len(x) == 2]) |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
251 try: |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
252 items.append((l['id'], l['name'])) |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
253 except KeyError: |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
254 pass |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
255 items.sort(key=lambda x: int(x[0])) |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
256 return items |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
257 |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
258 def items_to_keywords(items): |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
259 return ',\n '.join(['["%s", "%s"]' % x for x in items]) |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
260 |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
261 |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
262 def render_keywords_expression_editor(request): |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
263 prop = request.form.getfirst("property") |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
264 |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
265 window_content = WINDOW_CONTENT % { |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
266 'prop' : prop, |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
267 'keywords': items_to_keywords(list_nodes(request)), |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
268 'original': '' |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
269 } |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
270 |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
271 return window_content |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
272 |
|
e46b15b0bc25
Adding missing files from last commit (of 2010-11-08T11:21:02)...
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents:
diff
changeset
|
273 # vim: set et sts=4 sw=4 : |
