summaryrefslogtreecommitdiff
path: root/ishtar_common/static
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2019-09-12 21:19:19 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2019-09-12 21:19:58 +0200
commit79ecf7ad94273476e4f0bc4c0351e6a6dbde090e (patch)
tree9501168bcf42a290b63a6008faa75651e9fd61eb /ishtar_common/static
parent2fe12d70c4a11e2aabcda5fc9ec81578be90250d (diff)
downloadIshtar-79ecf7ad94273476e4f0bc4c0351e6a6dbde090e.tar.bz2
Ishtar-79ecf7ad94273476e4f0bc4c0351e6a6dbde090e.zip
New management of popup for new items - manage author and persons
Diffstat (limited to 'ishtar_common/static')
-rw-r--r--ishtar_common/static/js/ishtar.js74
1 files changed, 57 insertions, 17 deletions
diff --git a/ishtar_common/static/js/ishtar.js b/ishtar_common/static/js/ishtar.js
index 66087b1ff..2ec398e99 100644
--- a/ishtar_common/static/js/ishtar.js
+++ b/ishtar_common/static/js/ishtar.js
@@ -688,16 +688,48 @@ function open_window(url){
function save_and_close_window(name_label, name_pk, item_name, item_pk){
var main_page = opener.document;
- jQuery(main_page).find("#"+name_label).val(item_name);
- jQuery(main_page).find("#"+name_pk).val(item_pk);
+ save_and_close_window_data(main_page, name_label,
+ name_pk, item_name, item_pk);
opener.focus();
self.close();
}
+function save_and_close_window_data(main_page, name_label,
+ name_pk, item_name, item_pk){
+ var cur_item;
+ var cur_item_pk;
+ if (main_page){
+ cur_item = $(main_page).find("#"+name_label);
+ cur_item_pk = $(main_page).find("#"+name_pk);
+ } else {
+ cur_item = $("#"+name_label);
+ cur_item_pk = $("#"+name_pk);
+ }
+ cur_item.val(item_name);
+ cur_item_pk.val(item_pk);
+}
+
function save_and_close_window_many(name_label, name_pk, item_name, item_pk){
var main_page = opener.document;
- var lbl_ = jQuery(main_page).find("#" + name_label);
- var val_ = jQuery(main_page).find("#" + name_pk);
+ save_and_close_window_many_data(main_page, name_label,
+ name_pk, item_name, item_pk);
+ opener.focus();
+ self.close();
+}
+
+function save_and_close_window_many_data(main_page, name_label,
+ name_pk, item_name, item_pk){
+ var cur_item;
+ var cur_item_pk;
+ if (main_page){
+ cur_item = $(main_page).find("#"+name_label);
+ cur_item_pk = $(main_page).find("#"+name_pk);
+ } else {
+ cur_item = $("#"+name_label);
+ cur_item_pk = $("#"+name_pk);
+ }
+ var lbl_ = cur_item;
+ var val_ = cur_item_pk;
if (val_.val()){
var v = lbl_.val();
v = v.slice(0, v.lastIndexOf(","));
@@ -705,11 +737,9 @@ function save_and_close_window_many(name_label, name_pk, item_name, item_pk){
val_.val(val_.val() + ", " + item_pk);
lbl_.change();
} else {
- jQuery(main_page).find("#" + name_label).val(item_name);
- jQuery(main_page).find("#" + name_pk).val(item_pk);
+ cur_item.val(item_name);
+ cur_item_pk.val(item_pk);
}
- opener.focus();
- self.close();
}
function multiRemoveItem(selItems, name, idx){
@@ -986,7 +1016,8 @@ var dt_generate_qa_url = function (table, url){
return url;
};
-var dt_qa_open = function (url){
+var dt_qa_open = function (url, modal_id){
+ if (!modal_id) modal_id = "modal-dynamic-form";
short_wait();
$.ajax({
url: url,
@@ -994,14 +1025,14 @@ var dt_qa_open = function (url){
success: function(data, textStatus, jqXHR) {
close_wait();
var text = jqXHR.responseText;
- $('#modal-dynamic-form').html(text);
+ $('#' + modal_id).html(text);
var response = $(text);
var responseScript = response.find("script");
$.each(responseScript, function(idx, val){
eval(val.text);
}
);
- $('#modal-dynamic-form').modal("show");
+ $('#' + modal_id).modal("show");
},
error: function() {
close_wait();
@@ -1032,16 +1063,25 @@ var ajax_post = function(url, data, target, callback, error_callback){
});
};
-var qa_action_register = function(url) {
- $('#qa-action').on('submit', function(event){
+var qa_action_register = function(url, slug) {
+ var qa_id;
+ var modal_id;
+ if (!slug){
+ qa_id = "qa-action";
+ modal_id = "modal-dynamic-form";
+ } else {
+ qa_id = "qa-new-" + slug;
+ modal_id = "modal-dynamic-form-" + slug;
+ }
+ $("#" + qa_id).on('submit', function(event){
event.preventDefault();
var fn = function(){
- $('#modal-dynamic-form').modal("show");
- } ;
- $('#modal-dynamic-form').modal("hide");
+ $('#' + modal_id).modal("show");
+ } ;
+ $('#' + modal_id).modal("hide");
short_wait();
ajax_post(
- url, $(this).serialize(), "#modal-dynamic-form", fn, fn
+ url, $(this).serialize(), "#" + modal_id, fn, fn
);
});
};