##// END OF EJS Templates
jars edit...
Fiorella Quino -
r294:e0240bbcf96b
parent child
Show More
@@ -1,164 +1,168
1
1
2 import ast
2 import ast
3 import json
3 import json
4 from itertools import chain
4 from itertools import chain
5
5
6 from django import forms
6 from django import forms
7 from django.utils.safestring import mark_safe
7 from django.utils.safestring import mark_safe
8 from django.utils.html import conditional_escape
8 from django.utils.html import conditional_escape
9
9
10
10
11 class SpectralWidget(forms.widgets.TextInput):
11 class SpectralWidget(forms.widgets.TextInput):
12
12
13 def render(self, label, value, attrs=None):
13 def render(self, label, value, attrs=None):
14
14
15 disabled = 'disabled' if attrs.get('disabled', False) else ''
15 readonly = 'readonly' if attrs.get('readonly', False) else ''
16 name = attrs.get('name', label)
16 name = attrs.get('name', label)
17 #print value
17 print 'ESTO!'
18 print value
19 if value == None:
20 value = '[0, 0],'
21 print readonly
18 if '[' in value:
22 if '[' in value:
19 if value[len(value)-1] == ",":
23 if value[len(value)-1] == ",":
20 value = ast.literal_eval(value)
24 value = ast.literal_eval(value)
21 else:
25 else:
22 value = value + ","
26 value = value + ","
23 value = ast.literal_eval(value)
27 value = ast.literal_eval(value)
24
28
25 codes = value
29 codes = value
26 if not isinstance(value, list):
30 if not isinstance(value, list):
27 text=''
31 text=''
28 #lista = []
32 #lista = []
29 #if len(value) > 1:
33 #if len(value) > 1:
30 for val in value:
34 for val in value:
31 text = text+str(val)+','
35 text = text+str(val)+','
32 #lista.append(val)
36 #lista.append(val)
33 codes=text
37 codes=text
34 else:
38 else:
35 codes=''
39 codes=''
36
40
37 html = '''<textarea rows="5" {0} class="form-control" id="id_{1}" name="{2}" disabled style="white-space:nowrap; overflow:scroll;">{3}</textarea>
41 html = '''<textarea rows="5" {0} class="form-control" id="id_{1}" name="{2}" style="white-space:nowrap; overflow:scroll;">{3}</textarea>
38 <input type="text" class="col-md-1 col-no-padding" id="num1" value=0>
42 <input type="text" class="col-md-1 col-no-padding" id="num1" value=0>
39 <input type="text" class="col-md-1 col-no-padding" id="num2" value=0>
43 <input type="text" class="col-md-1 col-no-padding" id="num2" value=0>
40 <button type="button" class="button" id="add_spectral_button"> Add </button>
44 <button type="button" class="button" id="add_spectral_button"> Add </button>
41 <button type="button" class="button" id="delete_spectral_button"> Delete </button>
45 <button type="button" class="button" id="delete_spectral_button"> Delete </button>
42 <button type="button" class="button pull-right" id="cross_spectral_button"> Cross </button>
46 <button type="button" class="button pull-right" id="cross_spectral_button"> Cross </button>
43 <button type="button" class="button pull-right" id="self_spectral_button"> Self </button>
47 <button type="button" class="button pull-right" id="self_spectral_button"> Self </button>
44 <button type="button" class="button pull-right" id="all_spectral_button"> All </button>
48 <button type="button" class="button pull-right" id="all_spectral_button"> All </button>
45 '''.format(disabled, label, name, codes)
49 '''.format(readonly, label, name, codes)
46
50
47 script = '''
51 script = '''
48 <script type="text/javascript">
52 <script type="text/javascript">
49 $(document).ready(function () {{
53 $(document).ready(function () {{
50
54
51 var spectral_number1 = $("#num1").val();
55 var spectral_number1 = $("#num1").val();
52 var spectral_number2 = $("#num2").val();
56 var spectral_number2 = $("#num2").val();
53
57
54
58
55 $("#all_spectral_button").click(function(){{
59 $("#all_spectral_button").click(function(){{
56 var sequence1 = selfSpectral()
60 var sequence1 = selfSpectral()
57 var sequence2 = crossSpectral()
61 var sequence2 = crossSpectral()
58 $("#id_spectral").val(sequence1+sequence2)
62 $("#id_spectral").val(sequence1+sequence2)
59 updateSpectralNumber()
63 updateSpectralNumber()
60 }});
64 }});
61
65
62
66
63 $("#add_spectral_button").click(function(){{
67 $("#add_spectral_button").click(function(){{
64 var spectral_comb = $("#id_spectral").val();
68 var spectral_comb = $("#id_spectral").val();
65 var spectral_number1 = $("#num1").val();
69 var spectral_number1 = $("#num1").val();
66 var spectral_number2 = $("#num2").val();
70 var spectral_number2 = $("#num2").val();
67 var str = spectral_number1+", "+spectral_number2;
71 var str = spectral_number1+", "+spectral_number2;
68 //not to duplicate
72 //not to duplicate
69 var n = spectral_comb.search(str);
73 var n = spectral_comb.search(str);
70 if (n==-1){
74 if (n==-1){
71 $("#id_spectral").val(spectral_comb+"["+$("#num1").val()+", "+$("#num2").val()+"],")
75 $("#id_spectral").val(spectral_comb+"["+$("#num1").val()+", "+$("#num2").val()+"],")
72 }
76 }
73 updateSpectralNumber()
77 updateSpectralNumber()
74 }});
78 }});
75
79
76
80
77 $("#self_spectral_button").click(function(){{
81 $("#self_spectral_button").click(function(){{
78 var sequence = selfSpectral()
82 var sequence = selfSpectral()
79 $("#id_spectral").val(sequence)
83 $("#id_spectral").val(sequence)
80
84
81 updateSpectralNumber()
85 updateSpectralNumber()
82 }});
86 }});
83
87
84 $("#cross_spectral_button").click(function(){{
88 $("#cross_spectral_button").click(function(){{
85 var sequence = crossSpectral()
89 var sequence = crossSpectral()
86 $("#id_spectral").val(sequence)
90 $("#id_spectral").val(sequence)
87
91
88 updateSpectralNumber()
92 updateSpectralNumber()
89 }});
93 }});
90
94
91
95
92 function selfSpectral() {
96 function selfSpectral() {
93 var channels = $("#id_channels").val();
97 var channels = $("#id_channels").val();
94 var n = (channels.length)-1;
98 var n = (channels.length)-1;
95 var num = parseInt(channels[n]);
99 var num = parseInt(channels[n]);
96 sequence = ""
100 sequence = ""
97 for (i = 0; i < num; i++) {
101 for (i = 0; i < num; i++) {
98 sequence = sequence + "[" + i.toString() + ", " + i.toString() + "],"
102 sequence = sequence + "[" + i.toString() + ", " + i.toString() + "],"
99 }
103 }
100 return sequence
104 return sequence
101 }
105 }
102
106
103
107
104 function crossSpectral() {
108 function crossSpectral() {
105 var channels = $("#id_channels").val();
109 var channels = $("#id_channels").val();
106 var n = (channels.length)-1;
110 var n = (channels.length)-1;
107 var num = parseInt(channels[n]);
111 var num = parseInt(channels[n]);
108 sequence = ""
112 sequence = ""
109 for (i = 0; i < num; i++) {
113 for (i = 0; i < num; i++) {
110 for (j = i+1; j < num; j++) {
114 for (j = i+1; j < num; j++) {
111 sequence = sequence + "[" + i.toString() + ", " + j.toString() + "],"
115 sequence = sequence + "[" + i.toString() + ", " + j.toString() + "],"
112 }
116 }
113 }
117 }
114 return sequence
118 return sequence
115 }
119 }
116
120
117
121
118 function updateSpectralNumber(){
122 function updateSpectralNumber(){
119 var spectral_comb = $("#id_spectral").val();
123 var spectral_comb = $("#id_spectral").val();
120 var num = spectral_comb.length;
124 var num = spectral_comb.length;
121 var cont = 0
125 var cont = 0
122 for (i = 0; i < num; i++) {
126 for (i = 0; i < num; i++) {
123 if (spectral_comb[i] == "]"){
127 if (spectral_comb[i] == "]"){
124 cont = cont + 1
128 cont = cont + 1
125 }
129 }
126 }
130 }
127 $("#id_spectral_number").val(cont)
131 $("#id_spectral_number").val(cont)
128 }
132 }
129
133
130
134
131 $("#delete_spectral_button").click(function(){{
135 $("#delete_spectral_button").click(function(){{
132 var spectral_comb = $("#id_spectral").val();
136 var spectral_comb = $("#id_spectral").val();
133 var spectral_number1 = $("#num1").val();
137 var spectral_number1 = $("#num1").val();
134 var spectral_number2 = $("#num2").val();
138 var spectral_number2 = $("#num2").val();
135 var str = spectral_number1+", "+spectral_number2;
139 var str = spectral_number1+", "+spectral_number2;
136 var n = spectral_comb.search(str);
140 var n = spectral_comb.search(str);
137 if (n==-1){
141 if (n==-1){
138
142
139 }
143 }
140 else {
144 else {
141 n= spectral_comb.length;
145 n= spectral_comb.length;
142 if (n<8){
146 if (n<8){
143 var tuple = "["+$("#num1").val()+", "+$("#num2").val()+"],"
147 var tuple = "["+$("#num1").val()+", "+$("#num2").val()+"],"
144 var txt = spectral_comb.replace(tuple,'');
148 var txt = spectral_comb.replace(tuple,'');
145 }
149 }
146 else {
150 else {
147 var tuple = ",["+$("#num1").val()+", "+$("#num2").val()+"]"
151 var tuple = ",["+$("#num1").val()+", "+$("#num2").val()+"]"
148 var txt = spectral_comb.replace(tuple,'');
152 var txt = spectral_comb.replace(tuple,'');
149 }
153 }
150 $("#id_spectral").val(txt)
154 $("#id_spectral").val(txt)
151
155
152 var tuple = "["+$("#num1").val()+", "+$("#num2").val()+"],"
156 var tuple = "["+$("#num1").val()+", "+$("#num2").val()+"],"
153 var txt = spectral_comb.replace(tuple,'');
157 var txt = spectral_comb.replace(tuple,'');
154 $("#id_spectral").val(txt)
158 $("#id_spectral").val(txt)
155 }
159 }
156 updateSpectralNumber()
160 updateSpectralNumber()
157 }});
161 }});
158
162
159
163
160 }});
164 }});
161 </script>
165 </script>
162 '''
166 '''
163
167
164 return mark_safe(html+script)
168 return mark_safe(html+script)
General Comments 0
You need to be logged in to leave comments. Login now