diff options
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 |
commit | 8b7c617c7ac7f752646bd48f39da97dcfbaaaab2 (patch) | |
tree | c0a931af3e3be561d3779811e70eeaf2c995f332 /ishtar_common/static/js | |
parent | 6d030c2e804b5c8f73a6e6aa9510ea23afaeeaa3 (diff) | |
download | Ishtar-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.js | 31 |
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; |