schemas.html 4.08 KB
{% load staticfiles %}
{% load hash %}
{% load jsonify %}

<script src="{% static 'sloval/jquery-1.11.1.min.js' %}"></script>
<script src="https://raw.githubusercontent.com/trentrichardson/jQuery-Impromptu/master/dist/jquery-impromptu.min.js"></script>
<script>

    var schemas = new Object;
    var default_order = new Object;

	{% for characteristic in characteristics %}
	    default_order[{{ characteristic }}] = []
		{% for i, status, colspan, id, categories, rowspan, arguments in schemas_display|hash:characteristic %}
		    schemas["{{ id }}"] = '<table class="InactiveFrameTable">'
		                      + '<tr><td class="ColumnHeader">Ocena schematu:</td><td class=u"schema_{{ id }}_" colspan="{{ colspan }}">'
		                      + '<span class="Opinion">{{ status }}[{{ id }}]</span>'
		                      + '<span class="CheckComp"></span></td><tr>'
		                      + '<tr>'
		                      + '<td class="ColumnHeader">Kategoria:</td>'
		    {% for id, class, category in categories %}
		                      + '<td id="{{ id }}" class="{{ class }}"  onclick="schemaClick(\'{{ class }}\')">'
		                      + '{{ category }}'
		                      + '</td>'
		    {% endfor %}
		                      + '</tr>'
		                      + '<tr>'
		                      + '<td class="ColumnHeader" rowspan="{{ rowspan }}">Argumenty:</td>'
		    {% for row in arguments %}
		        {% for id, class, argument in row %}
		                      + '<td id="{{ id }}" class="{{ class }}"  onclick="schemaClick(\'{{ class }}\')">'
		                      + '{{ argument }}'
		                      + '</td>'
		        {% endfor %}
		                      + '</tr><tr>'
		    {% endfor %}
		                      + '</tr>'
		                      + '</table>';
		                      
		    default_order[{{ characteristic }}][{{ i }} - 1] = {{ id }}	    
		{% endfor %}
	{% endfor %}
    
    var ranks = new Object;
    
    {% for schema_id in schema_unit_rank %}
        ranks["{{ schema_id }}"] = new Object;
        {% for unit_id in schema_unit_rank|hash:schema_id %}
            ranks["{{ schema_id }}"]["{{ unit_id }}"] = {{ schema_unit_rank|hash:schema_id|hash:unit_id }};
        {% endfor %}
    {% endfor %}
    
    function reorder(frame_id) {
    
        if (frame_id >= 0) {
    
            lus = lexical_units[frame_id]
            
            rank_values = new Object;
            for (var schema_id in ranks) { 
                rank_values[schema_id] = 0.0
                for (i = 0; i < lus.length; i++) {
                    rank_values[schema_id] += ranks[schema_id][lus[i]]
                }
            }
            
            ranks_to_sort = []
            for (var schema_id in rank_values) { 
                ranks_to_sort.push({ id: schema_id, value: rank_values[schema_id] })
            }
            
            ranks_to_sort.sort(value_compare);
            
            for (i = 0; i < ranks_to_sort.length; i++) {
                $("#"+(i+1)).html(schemas[ranks_to_sort[i].id])
            }
        
        } else {
        
            for (i = 0; i < default_order.length; i++) {
                $("#"+(i+1)).html(schemas[default_order[i]])
            }
        
        }
    
    }
    
    function value_compare(a, b) {
        return b.value - a.value;
    }
    
    $(document).ready(function(){
        for (var char in default_order) {
            for (i = 0; i < default_order[char].length; i++) {
                $("#"+char+"-"+(i+1)).html(schemas[default_order[char][i]])
            }
        }
    })
    
</script>

{% for characteristic in characteristics %}
	{% for c in characteristics_info|hash:characteristic %}
    	<div><strong>{{ lemma.entry_obj.name }} {{ c.reflexiveness.reflexiveness }}({{ c.negativeness.negativeness }}, {{ c.predicativeness.predicativeness }}, {{ c.aspect.aspect }}):</strong></div>
    {% endfor %}
    {% for i, status, colspan, id, categories, rowspan, arguments in schemas_display|hash:characteristic %}
        <table><tr id="{{ i }}"><td id="{{ characteristic }}-{{ i }}">
        </td></tr></table>
    {% endfor %}
{% endfor %}