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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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 :

Roundup Issue Tracker: http://roundup-tracker.org/