diff options
Diffstat (limited to 'ishtar_common/static/js')
| -rw-r--r-- | ishtar_common/static/js/ishtar.js | 144 | 
1 files changed, 41 insertions, 103 deletions
| diff --git a/ishtar_common/static/js/ishtar.js b/ishtar_common/static/js/ishtar.js index 393603b6c..9021dc4f5 100644 --- a/ishtar_common/static/js/ishtar.js +++ b/ishtar_common/static/js/ishtar.js @@ -37,62 +37,43 @@ function get_next_table_id(){}  function get_previous_table_id(){}  var shortcut_url = ''; -var get_file_url = '/get-file-shortcut/'; -var get_own_file_url = '/get-file-shortcut/own/'; -var get_operation_url = '/get-operation-shortcut/'; -var get_own_operation_url = '/get-operation-shortcut/own/'; -var get_contextrecord_url = '/get-contextrecord-shortcut/'; -var get_own_contextrecord_url = '/get-contextrecord-shortcut/own/'; -var get_find_url = '/get-find-shortcut/'; -var get_own_find_url = '/get-find-shortcut/own/'; -var shortcut_get_attr = '?submited=1&page=1&rows=10&cached_label='; +var activate_all_search_url = '/activate-all-search/'; +var activate_own_search_url = '/activate-own-search/'; -var current_file_change = function(){ -    $.post('/' + url_path + 'update-current-item/', -           {item:'file', value:$("#current_file").val()}, -           load_shortcut_menu -    ); -}; - -var current_operation_change = function(){ -    $.post('/' + url_path + 'update-current-item/', -           {item:'operation', value:$("#current_operation").val()}, -           load_shortcut_menu -    ); -}; - -var current_contextrecord_change = function(){ -    $.post('/' + url_path + 'update-current-item/', -           {item:'contextrecord', value:$("#current_contextrecord").val()}, -           load_shortcut_menu -    ); -}; - -var current_find_change = function(){ -    $.post('/' + url_path + 'update-current-item/', -           {item:'find', value:$("#current_find").val()}, -           load_shortcut_menu -    ); -};  function init_shortcut_fields(){ -    var is_own = $('.activate_all_search').hasClass('disabled'); -    var file_url = get_file_url; -    if (is_own) file_url = get_own_file_url; -    chosen_ajaxify("current_file", file_url + shortcut_get_attr, -                   current_file_change); -    var operation_url = get_operation_url; -    if (is_own) operation_url = get_own_operation_url; -    chosen_ajaxify("current_operation", operation_url + shortcut_get_attr, -                   current_operation_change); -    var contextrecord_url = get_contextrecord_url; -    if (is_own) contextrecord_url = get_own_contextrecord_url; -    chosen_ajaxify("current_contextrecord", contextrecord_url + shortcut_get_attr, -                   current_contextrecord_change); -    var find_url = get_find_url; -    if (is_own) find_url = get_own_find_url; -    chosen_ajaxify("current_find", find_url + shortcut_get_attr, -                   current_find_change); +    $('#id_file-shortcut').change(function(){ +        $("#id_select_file-shortcut").attr( +            'title', $('#id_select_file-shortcut').val()); +        $.post('/' + url_path + 'update-current-item/', +               {item: "file", value:$("#id_file-shortcut").val()}, +               load_shortcut_menu +        ); +    }); +    $('#id_operation-shortcut').change(function(){ +        $("#id_select_operation-shortcut").attr( +            'title', $('#id_select_operation-shortcut').val()); +        $.post('/' + url_path + 'update-current-item/', +               {item: "operation", value:$("#id_operation-shortcut").val()}, +               load_shortcut_menu +        ); +    }); +    $('#id_contextrecord-shortcut').change(function(){ +        $("#id_select_contextrecord-shortcut").attr( +            'title', $('#id_select_contextrecord-shortcut').val()); +        $.post('/' + url_path + 'update-current-item/', +               {item: "contextrecord", value:$("#id_contextrecord-shortcut").val()}, +               load_shortcut_menu +        ); +    }); +    $('#id_find-shortcut').change(function(){ +        $("#id_select_find-shortcut").attr( +            'title', $('#id_select_find-shortcut').val()); +        $.post('/' + url_path + 'update-current-item/', +               {item: "find", value:$("#id_find-shortcut").val()}, +               load_shortcut_menu +        ); +    });  }  function init_shortcut_menu(html){ @@ -225,7 +206,7 @@ function load_window(url, speed, on_success){  }  function load_current_window(url, model_name){ -    var id = $("#current_" + model_name).val(); +    var id = $("#id_" + model_name + "-shortcut").val();      if (!id) return;      url = url.split('/');      url[url.length - 1] = id; @@ -302,66 +283,23 @@ function show_hide_flex(id){      }  } -var delay = (function(){ -  var timer = 0; -  return function(callback, ms){ -    clearTimeout (timer); -    timer = setTimeout(callback, ms); -  }; -})(); - - -function chosen_ajaxify(id, ajax_url, current_change_callback){ -    $('div#' + id + '_chosen .chosen-search input').keyup(function(){ -        var keyword = $('div#' + id + '_chosen .chosen-search input').val(); -        var keyword_pattern = new RegExp(keyword, 'gi'); -        $('div#' + id + '_chosen ul.chosen-results').empty(); -        $("#"+id).empty(); -        delay(function(){ -            $.ajax({ -                url: ajax_url + keyword, -                dataType: "json", -                success: function(response){ -                    $('#'+id).append('<option value="">----------</option>'); -                    if ('rows' in response){ -                        $.map(response['rows'], function(item){ -                            $('#'+id).append('<option value="' + item['id'] + '">' + item['cached_label'] + '</option>'); -                        }); -                    } -                    $("#"+id).trigger("chosen:updated"); -                    $('div#' + id + '_chosen .chosen-search input').val(keyword); -                    $('div#' + id + '_chosen').removeClass('chosen-container-single-nosearch'); -                    $('div#' + id + '_chosen .chosen-search input').removeAttr('readonly'); -                    $('div#' + id + '_chosen .chosen-search input').focus(); -                    $('div#' + id + '_chosen .active-result').each(function(){ -                        var html = $('div#' + id + '_chosen ul.chosen-results').html(); -                        $('div#' + id + '_chosen ul.chosen-results').html(html.replace(keyword_pattern, function(matched){ -                            return '<em>' + matched + '</em>'; -                        })); -                    }); -                    $("#" + id).change(current_change_callback); -                } -            }); -        }, 1000); -    }); -} - -  var activate_all_search_msg = "Searches in the shortcut menu deals with all items.";  var activate_own_search_msg = "Searches in the shortcut menu deals with only your items.";  function activate_all_search(){      $('.activate_all_search').removeClass('disabled');      $('.activate_own_search').addClass('disabled'); -    init_shortcut_fields(); -    display_info(activate_all_search_msg); +    $.get(activate_all_search_url, function(data) { +        display_info(activate_all_search_msg); +    });      return false;  }  function activate_own_search(){      $('.activate_own_search').removeClass('disabled');      $('.activate_all_search').addClass('disabled'); -    init_shortcut_fields(); -    display_info(activate_own_search_msg); +    $.get(activate_own_search_url, function(data) { +        display_info(activate_own_search_msg); +    });      return false;  } | 
