summaryrefslogtreecommitdiff
path: root/ishtar_common/static/js/ishtar.js
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar_common/static/js/ishtar.js')
-rw-r--r--ishtar_common/static/js/ishtar.js222
1 files changed, 195 insertions, 27 deletions
diff --git a/ishtar_common/static/js/ishtar.js b/ishtar_common/static/js/ishtar.js
index f05eb5a1b..9846b4f1a 100644
--- a/ishtar_common/static/js/ishtar.js
+++ b/ishtar_common/static/js/ishtar.js
@@ -53,14 +53,22 @@ var datatables_default = {
"scrollX": true,
"scrollY": true,
"searching": false,
- "scrollCollapse": true
+ "scrollCollapse": true,
+ "pageLength": 10,
+ "lengthMenu": [ 5, 10, 25, 50, 100 ]
};
var datatables_static_default = {
"searching": false,
- "scrollCollapse": true
+ "scrollCollapse": true,
+ "pageLength": 10,
+ "lengthMenu": [ 5, 10, 25, 50, 100 ]
};
+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.";
+var added_message = " items added.";
+
var advanced_menu = false;
var shortcut_menu_hide = false;
var activate_all_search_url = '/activate-all-search/';
@@ -128,6 +136,12 @@ function init_shortcut_fields(){
load_opened_shortcut_menu
);
});
+ $("#current_site").change(function(){
+ $.post('/' + url_path + 'update-current-item/',
+ {item:'site', value:$("#current_site").val()},
+ load_opened_shortcut_menu
+ );
+ });
$("#current_contextrecord").change(function(){
$.post('/' + url_path + 'update-current-item/',
{item:'contextrecord', value:$("#current_contextrecord").val()},
@@ -140,6 +154,12 @@ function init_shortcut_fields(){
load_opened_shortcut_menu
);
});
+ $("#current_warehouse").change(function(){
+ $.post('/' + url_path + 'update-current-item/',
+ {item:'warehouse', value:$("#current_warehouse").val()},
+ load_opened_shortcut_menu
+ );
+ });
$("#current_treatment").change(function(){
$.post('/' + url_path + 'update-current-item/',
{item:'treatment', value:$("#current_treatment").val()},
@@ -171,6 +191,14 @@ function init_advanced_shortcut_fields(){
load_opened_shortcut_menu
);
});
+ $('#id_site-shortcut').change(function(){
+ $("#id_select_site-shortcut").attr(
+ 'title', $('#id_select_site-shortcut').val());
+ $.post('/' + url_path + 'update-current-item/',
+ {item: "site", value:$("#id_site-shortcut").val()},
+ load_opened_shortcut_menu
+ );
+ });
$('#id_contextrecord-shortcut').change(function(){
$("#id_select_contextrecord-shortcut").attr(
'title', $('#id_select_contextrecord-shortcut').val());
@@ -187,6 +215,30 @@ function init_advanced_shortcut_fields(){
load_opened_shortcut_menu
);
});
+ $('#id_warehouse-shortcut').change(function(){
+ $("#id_select_warehouse-shortcut").attr(
+ 'title', $('#id_select_warehouse-shortcut').val());
+ $.post('/' + url_path + 'update-current-item/',
+ {item: "warehouse", value:$("#id_warehouse-shortcut").val()},
+ load_opened_shortcut_menu
+ );
+ });
+ $('#id_treatment-shortcut').change(function(){
+ $("#id_select_treatment-shortcut").attr(
+ 'title', $('#id_select_treatment-shortcut').val());
+ $.post('/' + url_path + 'update-current-item/',
+ {item: "treatment", value:$("#id_treatment-shortcut").val()},
+ load_opened_shortcut_menu
+ );
+ });
+ $('#id_treatmentfile-shortcut').change(function(){
+ $("#id_select_treatmentfile-shortcut").attr(
+ 'title', $('#id_select_treatmentfile-shortcut').val());
+ $.post('/' + url_path + 'update-current-item/',
+ {item: "treatmentfile", value:$("#id_treatmentfile-shortcut").val()},
+ load_opened_shortcut_menu
+ );
+ });
}
function display_info(msg){
@@ -330,6 +382,7 @@ $(document).on("click", '#to_top_arrow', function(){
});
var bookmark_url = "";
+var bookmark_delete_url = "/bookmark/delete/";
var load_bookmark_list = function(){
if (!bookmark_url) return;
@@ -337,9 +390,13 @@ var load_bookmark_list = function(){
var bookmark_list = "";
for (idx in data['bookmarks']){
var bookmark = data['bookmarks'][idx];
- bookmark_list += '<span class="dropdown-item input-link" ' +
- 'data-query="' + bookmark['query'].replace(/"/g, "''") +
- '" href="#">' + bookmark['label'] + '</span>';
+ bookmark_list += '<span class="dropdown-item d-flex">' +
+ '<a data-query="' + bookmark['query'].replace(/"/g, "''") +
+ '" href="#" class="flex-grow-1 input-link">' + bookmark['label'] +
+ '</a>' +
+ '<a class="close" href="#" data-id="' + bookmark['id'] + '">' +
+ '<i class="fa fa-times text-danger" aria-hidden="true"></i>' +
+ '</a></span>';
}
$('#bookmark-list').html(bookmark_list);
if (!bookmark_list){
@@ -347,11 +404,17 @@ var load_bookmark_list = function(){
} else {
$('#load-bookmark').removeClass('disabled');
}
- $("#bookmark-list span").click(function(){
+ $("#bookmark-list span a.input-link").click(function(){
$("#id_search_vector").val(
$(this).attr('data-query').replace(/''/g, '"'));
enable_save();
$(".search_button").click();
+ return false;
+ });
+ $("#bookmark-list span a.close").click(function(){
+ var id = $(this).attr('data-id');
+ dt_qa_open(bookmark_delete_url + id + '/');
+ return false;
});
}, 'json');
}
@@ -413,7 +476,23 @@ $(document).on("click", '#progress-content', function(){
$('.modal-progress').hide();
});
-function long_wait(){
+
+var closed_wait = true;
+
+function short_wait(check_wait){
+ if (check_wait && closed_wait){
+ return
+ }
+ closed_wait = false;
+ $('.modal-progress').modal('show');
+ $('.progress-1').show('slow');
+}
+
+function long_wait(check_wait){
+ if (check_wait && closed_wait){
+ return
+ }
+ closed_wait = false;
$('.modal-progress').modal('show');
$('.progress-1').show('slow');
setTimeout(function(){
@@ -430,11 +509,12 @@ function long_wait(){
}, 180000);
setTimeout(function(){
$('.progress-4').hide('slow');
- long_wait();
+ long_wait(true);
}, 240000);
}
function close_wait(){
+ closed_wait = true;
$('.modal-progress').modal('hide');
if (current_modal){
$('body').addClass('modal-open');
@@ -586,9 +666,6 @@ function show_hide_flex(id){
}
}
-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');
@@ -630,6 +707,23 @@ function clear_search_field(){
enable_save();
}
+function _clear_search_criteria_fields(query){
+ var datatables_length = $(".dataTables_length select").val();
+ document.getElementById('wizard-form').reset();
+ // hidden input are not cleared
+ $("#modal-advanced-search input[type='hidden']").each(
+ function(){
+ if($(this).attr("name") != 'csrfmiddlewaretoken'){
+ $(this).val("")
+ }
+ }
+ );
+ $(".dataTables_length select").val(datatables_length);
+ $('.dataTables_length select option[value="' + datatables_length + '"]'
+ ).prop('selected', true);
+ if(query) $("#id_search_vector").val(query);
+}
+
function update_search_field(){
var query = $("#id_search_vector").val();
if (!query){
@@ -677,14 +771,11 @@ function update_search_field(){
});
}
);
- document.getElementById('wizard-form').reset();
- // some input seems to be not cleared...
- $('#wizard-form input').each(function(){$(this).val("")});
- $("#id_search_vector").val(query);
+ _clear_search_criteria_fields(query);
if (query){
- add_message(query, 'info', "#advanced-search-info", true, false);
+ add_message(query, 'secondary', "#advanced-search-info", true, false);
} else {
- add_message("-", 'info', "#advanced-search-info", true, false);
+ add_message("-", 'secondary', "#advanced-search-info", true, false);
}
enable_save();
}
@@ -713,11 +804,18 @@ function toggle_window_menu(){
return false;
}
+var register_qa_on_sheet = function(){
+ $(".btn-qa").click(function(){
+ var target = $(this).attr('data-target');
+ dt_qa_open(target);
+ });
+};
+
function register_advanced_search(){
$(".advanced-search-reset").click(
function(){
- document.getElementById('wizard-form').reset();
+ _clear_search_criteria_fields();
}
);
$('#modal-advanced-search input').keypress(function(e) {
@@ -733,9 +831,7 @@ function register_advanced_search(){
$('#modal-advanced-search').on('hidden.bs.modal', function (e) {
var base_query = $("#id_search_vector").val();
// reset all criteria
- document.getElementById('wizard-form').reset();
- // restore main input
- $("#id_search_vector").val(base_query);
+ _clear_search_criteria_fields(base_query);
$(".search_button").click();
setTimeout(function(){
$("#id_search_vector").focus();
@@ -747,17 +843,89 @@ function register_advanced_search(){
}
+var _pinned_search_init = false;
+
function manage_pinned_search(name, data){
$('#pinned_search_content_' + name).html('');
for (idx in data){
if (idx == 'pinned-search' && data[idx] != ''){
- $('#pinned_search_content_' + name).html(data[idx]);
+ $("#id_search_vector").val(data[idx]);
+ if(!_pinned_search_init){
+ update_search_field();
+ _pinned_search_init = true;
+ }
}
}
- if ($('#pinned_search_content_' + name).html()){
- $('#pinned_search_' + name).show();
- } else {
- $('#pinned_search_' + name).hide();
- }
}
+var dt_generate_qa_url = function (table, url){
+ var data = table.rows( { selected: true } ).data();
+ var value = "";
+ for (k in data){
+ if (!data[k]['id']) continue;
+ if (k > 0) value += "-";
+ value += data[k]['id'];
+ }
+ url += value + "/";
+ return url;
+};
+
+var dt_qa_open = function (url){
+ short_wait();
+ $.ajax({
+ url: url,
+ cache: false,
+ success: function(data, textStatus, jqXHR) {
+ close_wait();
+ var text = jqXHR.responseText;
+ $('#modal-dynamic-form').html(text);
+ var response = $(text);
+ var responseScript = response.find("script");
+ $.each(responseScript, function(idx, val){
+ eval(val.text);
+ }
+ );
+ $('#modal-dynamic-form').modal("show");
+ },
+ error: function() {
+ close_wait();
+ }
+ });
+ return false;
+};
+
+var ajax_post = function(url, data, target, callback){
+ $.ajax({
+ url : url,
+ type : "POST",
+ data : data,
+ success : function(data) {
+ close_wait();
+ $(target).html(data);
+ if(callback) callback();
+ },
+ error : function(xhr,errmsg,err) {
+ close_wait();
+ $(target).html("<div class='alert-box alert'>Oops! We have encountered an error: "
+ + errmsg + "</div>");
+ console.log(xhr.status + ": " + xhr.responseText);
+ if(callback) callback();
+ }
+ });
+
+};
+
+var qa_action_register = function(url) {
+
+ $('#qa-action').on('submit', function(event){
+ event.preventDefault();
+ $('#modal-dynamic-form').modal("hide");
+ short_wait();
+ ajax_post(
+ url, $(this).serialize(), "#modal-dynamic-form",
+ function(){
+ $('#modal-dynamic-form').modal("show");
+ }
+ );
+ });
+};