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