summaryrefslogtreecommitdiff
path: root/ishtar_common/templates/blocks/JQueryAutocomplete.js
blob: aaf493db9648fdf8a979fe92511ca1008a5a2d53 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
{% load replace_underscore %}
var base_source_{{field_id|replace_underscore}} = {{source}};
var source_{{field_id|replace_underscore}} = base_source_{{field_id|replace_underscore}};

$(function() {
    $("#id_select_{{field_id}}").autocomplete({
        source: source_{{field_id|replace_underscore}},
        select: function( event, ui ) {
            if(ui.item){
                $('#id_{{field_id}}').val(ui.item.id);
                $('#id_{{field_id}}').change();
            } else {
                $('#id_{{field_id}}').val(null);
                $('#id_{{field_id}}').change();
            }
        },
        minLength: 2{% if options %},
        {{options}}
        {% endif %}
    });

    $(document).on("click", '#id_select_{{field_id}}', function(){
        $('#id_{{field_id}}').val(null);
        $('#id_select_{{field_id}}').val(null);
        $('#id_{{field_id}}-modify').addClass("disabled");
		$('#id_{{field_id}}').change();
    });

    $(document).on("click", '#id_{{field_id}}_previous_button', function(){
        $('#id_{{field_id}}').val($('#id_{{field_id}}_previous').val());
        $('#id_select_{{field_id}}').val(
            $('#id_{{field_id}}_previous_label').val()
            );
        $('#id_{{field_id}}').change();
    });

    {% if dynamic_limit %}{% for item_id in dynamic_limit %}
    $('#{{item_id}}').change(function(){
        $("#id_select_{{field_id}}").autocomplete( "option", "source",
            base_source_{{field_id|replace_underscore}} + $('#{{item_id}}').val()
            + '/');
        if ($('#{{item_id}}').val()){
            $("#id_select_{{field_id}}").prop("disabled", false);
        } else {
            $("#id_select_{{field_id}}").prop("disabled", true);
        }
    });
    $('#{{item_id}}').change();
    {% endfor %}{% endif %}

	{% if modify %}
	{{safe_field_id}}_modify = function(){
        var current_val = $('#id_{{field_id}}').val();
        if (current_val){
			dt_qa_open('/modify-{{model_name}}/{{field_id}}/' + current_val + "/",
					   'modal-dynamic-form-{{model_name}}');
	    }
	}
	{% endif %}
    $('#id_{{field_id}}').change(function(){
        $("#id_select_{{field_id}}").attr('title', $('#id_select_{{field_id}}').val());
        var current_val = $('#id_{{field_id}}').val();
		{% if modify %}
        if (current_val){
        	$('#id_{{field_id}}-modify').removeClass("disabled");
        }
        {% endif %}
        {% if detail %}
        if (current_val){
        	var detail_url = "{{detail}}" + current_val + "/";
	        $.get(detail_url, function(data) {
				$("#id_{{field_id}}-detail").html(data);
			});
        } else {
			$("#id_{{field_id}}-detail").html("...");
        }
        {% endif %}

    });

    $('#id_{{field_id}}').change();
});