summaryrefslogtreecommitdiff
path: root/ishtar_common/static/js
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2020-06-10 18:47:17 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2021-02-28 12:15:21 +0100
commit8b7c617c7ac7f752646bd48f39da97dcfbaaaab2 (patch)
treec0a931af3e3be561d3779811e70eeaf2c995f332 /ishtar_common/static/js
parent6d030c2e804b5c8f73a6e6aa9510ea23afaeeaa3 (diff)
downloadIshtar-8b7c617c7ac7f752646bd48f39da97dcfbaaaab2.tar.bz2
Ishtar-8b7c617c7ac7f752646bd48f39da97dcfbaaaab2.zip
Documents: better form - improve select2 widget to manage new
Diffstat (limited to 'ishtar_common/static/js')
-rw-r--r--ishtar_common/static/js/ishtar.js31
1 files changed, 24 insertions, 7 deletions
diff --git a/ishtar_common/static/js/ishtar.js b/ishtar_common/static/js/ishtar.js
index da1a47de6..655a91eb4 100644
--- a/ishtar_common/static/js/ishtar.js
+++ b/ishtar_common/static/js/ishtar.js
@@ -707,6 +707,7 @@ function save_and_close_window_data(main_page, name_label,
var cur_item;
var cur_item_pk;
var id_item;
+
if (main_page){
cur_item = $(main_page).find("#" + name_label);
cur_item_pk = $(main_page).find("#" + name_pk);
@@ -716,11 +717,27 @@ function save_and_close_window_data(main_page, name_label,
cur_item_pk = $("#" + name_pk);
id_item = $("#id_" + name_label);
}
- cur_item.val(item_name);
- cur_item.change();
- cur_item_pk.val(item_pk);
- cur_item_pk.change();
- id_item.change();
+ if (name_label != name_pk){ // custom
+ cur_item.val(item_name);
+ cur_item.change();
+ cur_item_pk.val(item_pk);
+ cur_item_pk.change();
+ id_item.change();
+ } else { // select2
+ var data = [{
+ "id": item_pk, "value": item_name
+ }];
+
+ var new_option = new Option(item_name, item_pk, true, true);
+ $('#' + name_pk).append(new_option).trigger('change');
+
+ $('#' + name_pk).trigger({
+ type: 'select2:select',
+ params: {
+ data: data
+ }
+ });
+ }
}
function save_and_close_window_many(name_label, name_pk, item_name, item_pk){
@@ -739,8 +756,8 @@ function save_and_close_window_many_data(main_page, name_label,
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 = $("#" + name_label);
+ cur_item_pk = $("#" + name_pk);
}
var lbl_ = cur_item;
var val_ = cur_item_pk;