Commit 30bcc5df0059c30590abb340fa7fb69b563a6e63
1 parent
8116ce4b
add "+" icon near the selector to be able to create a new entry if needs
Showing
1 changed file
with
52 additions
and
34 deletions
Show diff stats
view/view_table_renderer.anubis
| ... | ... | @@ -33,6 +33,7 @@ read calexium_lib/web/jQuery/CXM_jquery_datatable.anubis |
| 33 | 33 | read calexium_lib/web/jQuery/CXM_jquery_datatable_types.anubis |
| 34 | 34 | read calexium_lib/web/jQuery/CXM_jquery_dialog.anubis |
| 35 | 35 | read calexium_lib/web/jQuery/CXM_jquery_button.anubis |
| 36 | +read calexium_lib/web/jQuery/CXM_jq_form.anubis | |
| 36 | 37 | read calexium_lib/web/jQuery/ui-addon/datetimepicker.anubis |
| 37 | 38 | read calexium_lib/web/jQuery/jqgrid.anubis |
| 38 | 39 | read calexium_lib/web/CXM_form.anubis |
| ... | ... | @@ -462,7 +463,7 @@ public define HTML_Partial_Content |
| 462 | 463 | [html_wave_box_wide(_T(to_upper(current_view.table_name)), |
| 463 | 464 | sequence([ |
| 464 | 465 | //create the dialog |
| 465 | - partial(jq_dialog_create(dialog_id(uid+action_name+"_dlg_ajax"), ajax(controller_action("hk_c", "ajax_edit_table&table_name="+current_view.table_name+filter_clause+referer_arg)))), | |
| 466 | + partial(jq_dialog_create(dialog_id(uid+action_name+"_dlg_ajax"), ajax(controller_action("hk_c", "ajax_edit_table&dialog_id="+uid+action_name+"_dlg_ajax&table_name="+current_view.table_name+filter_clause+referer_arg)))), | |
| 466 | 467 | div([class("inline")], sequence([ |
| 467 | 468 | // (+) icon for adding new entry |
| 468 | 469 | partial(img_button(icn16_add, [event(onclick, jq_dialog_open(dialog_id(uid+action_name+"_dlg_ajax")))], "", [])), |
| ... | ... | @@ -499,7 +500,7 @@ public define HTML_Partial_Content |
| 499 | 500 | jq_dialog_init + |
| 500 | 501 | jq_datetimepicker_init(lang), |
| 501 | 502 | [ |
| 502 | - partial(jq_dialog_create(dialog_id(uid+action_name+"_dlg_ajax"), ajax(controller_action("hk_c", "ajax_edit_table&table_name="+current_view.table_name+filter_clause+referer_arg)))), | |
| 503 | + partial(jq_dialog_create(dialog_id(uid+action_name+"_dlg_ajax"), ajax(controller_action("hk_c", "ajax_edit_table&dialog_id="+uid+action_name+"_dlg_ajax&table_name="+current_view.table_name+filter_clause+referer_arg)))), | |
| 503 | 504 | partial(img_button(icn16_add, [event(onclick, jq_dialog_open(dialog_id(uid+action_name+"_dlg_ajax")))], "", [])), |
| 504 | 505 | //table_view_selector(_T, vtm_v, view_name), |
| 505 | 506 | partial(jqGrid_table(db, uid, current_view, filter_name, _T, lang, fk_clause, table_referer)), |
| ... | ... | @@ -629,24 +630,26 @@ public define List(CXM_Form_Field) |
| 629 | 630 | ], |
| 630 | 631 | |
| 631 | 632 | foreign_text(s_name, c_name, value, foreign_table_name, select, help) then |
| 632 | - with uid = generate_random_string(20)+"_", | |
| 633 | - | |
| 634 | - [selector_c([],label(_T(s_name), no_help), html_Id(""), wan(c_name), 1, select.get(db, table_referer, fk_clause), success(init(to_String(value))), mandatory), help_line(help, _T), | |
| 633 | + with uid = generate_random_string(20)+"_", | |
| 634 | + [ | |
| 635 | + partial(jq_dialog_create(dialog_id(uid+foreign_table_name+"_dlg_ajax"), ajax(controller_action("hk_c", "ajax_edit_table&dialog_id="+uid+foreign_table_name+"_dlg_ajax&sub_dialog=true&table_name="+foreign_table_name)))), | |
| 636 | + one_line_fields([ | |
| 637 | + selector_c([],label(_T(s_name), no_help), html_Id(""), wan(c_name), 1, select.get(db, table_referer, fk_clause), success(init(to_String(value))), mandatory), help_line(help, _T), | |
| 638 | + partial(img_button(icn16_add, [event(onclick, jq_dialog_open(dialog_id(uid+foreign_table_name+"_dlg_ajax")))], "", [])), | |
| 639 | + ]) | |
| 640 | + ], | |
| 635 | 641 | |
| 636 | - partial(jq_dialog_create(dialog_id(uid+foreign_table_name+"_dlg_ajax"), ajax(controller_action("hk_c", "ajax_edit_table&sub_dialog=true&table_name="+foreign_table_name)))), | |
| 637 | - partial(img_button(icn16_add, [event(onclick, jq_dialog_open(dialog_id(uid+foreign_table_name+"_dlg_ajax")))], "", [])), | |
| 638 | - ], | |
| 639 | 642 | foreign_text_search(s_name, c_name, select, foreign_table_name, fields, help) then |
| 640 | - with uid = generate_random_string(20)+"_", | |
| 641 | - [ | |
| 642 | - raw_in_form(sequence([ | |
| 643 | - literal(to_String(format_label(label(_T(s_name), no_help), html_Id("")))+ | |
| 643 | + with uid = generate_random_string(20)+"_", | |
| 644 | + [ | |
| 645 | + partial(jq_dialog_create(dialog_id(uid+foreign_table_name+"_dlg_ajax"), ajax(controller_action("hk_c", "ajax_edit_table&dialog_id="+uid+foreign_table_name+"_dlg_ajax&sub_dialog=true&table_name="+foreign_table_name)))), | |
| 646 | + one_line_fields([ | |
| 647 | + message(to_String(format_label(label(_T(s_name), no_help), html_Id("")))+ | |
| 644 | 648 | "<input class=\"in\" id=\"acb_"+c_name+"\" data-init_record=\""+select+"\" size=\"50\" type=\"text\">"), |
| 645 | - partial(jq_dialog_create(dialog_id(uid+foreign_table_name+"_dlg_ajax"), ajax(controller_action("hk_c", "ajax_edit_table&sub_dialog=true&table_name="+foreign_table_name)))), | |
| 646 | 649 | partial(img_button(icn16_add, [event(onclick, jq_dialog_open(dialog_id(uid+foreign_table_name+"_dlg_ajax")))], "", [])), |
| 647 | - ]) | |
| 648 | - ), | |
| 649 | - help_line(help, _T)] | |
| 650 | + ]), | |
| 651 | + help_line(help, _T) | |
| 652 | + ] | |
| 650 | 653 | |
| 651 | 654 | choices_text(s_name, c_name, value, select, help) then |
| 652 | 655 | [selector_c([],label(_T(s_name), no_help), html_Id(""), wan(c_name), 1, select.get(db, no_referer, ""), success(init(value)), mandatory), help_line(help, _T)], |
| ... | ... | @@ -850,6 +853,7 @@ public define HTML_Partial_Content |
| 850 | 853 | List(HK_Form_Entry) list_entries, |
| 851 | 854 | List(HK_Form_Tab) list_tabs, |
| 852 | 855 | List(Web_arg) lwa, |
| 856 | + //String dialog_id, | |
| 853 | 857 | //HK_Form edit_form, |
| 854 | 858 | VTM vtm, |
| 855 | 859 | String clause, |
| ... | ... | @@ -861,10 +865,12 @@ public define HTML_Partial_Content |
| 861 | 865 | with create = if get_String(lwa, "id","none") = "none" then true else false, |
| 862 | 866 | with id = get_String(lwa, "id","none"), |
| 863 | 867 | with sub_dialog = get_String(lwa, "sub_dialog", "false"), |
| 864 | - | |
| 865 | - with button_name = if create then _T("CREATE") else _T("UPDATE"), | |
| 868 | + with dialog_id = get_String(lwa, "dialog_id", ""), | |
| 869 | + with button_label = if create then _T("CREATE") else _T("UPDATE"), | |
| 870 | + with button_name = if create then "create" else "update", | |
| 866 | 871 | with button_name_and_new = if create then _T("CREATE_AND_EDIT_NEW") else _T("UPDATE_AND_EDIT_NEW"), |
| 867 | 872 | |
| 873 | + println("renderer_edit_list_form dialog_id ["+dialog_id+"]"); | |
| 868 | 874 | partial_content( |
| 869 | 875 | [ js(js_file("js/jscolor.min.js")), |
| 870 | 876 | js(js_file("js/dropzone.js")), |
| ... | ... | @@ -879,14 +885,20 @@ public define HTML_Partial_Content |
| 879 | 885 | get_editor_header(list_entries)+ //add editor header if need. Like init ck_editor |
| 880 | 886 | get_combo_header(table_name, list_entries), |
| 881 | 887 | sequence([ |
| 882 | - cxm_form( table_name, lwa, | |
| 883 | - [ one_line_fields([ | |
| 884 | - submit(if create then hkc_save_row else hkc_update_row, failure, button_name, [("table_name", table_name), ("sub_dialog", sub_dialog)]), | |
| 885 | - submit(if create then hkc_save_row_and_new else hkc_update_row_and_new, failure, button_name_and_new, [("table_name", table_name), ("sub_dialog", sub_dialog)]), | |
| 886 | - submit(hkc_cancel, failure, _T("CANCEL"), [("sub_dialog", sub_dialog)]) | |
| 887 | - ]), | |
| 888 | - hr | |
| 889 | - ]+edit_form_lines(db, "", table_referer, _T, list_entries, create, []) | |
| 888 | + cxm_form( table_name, lwa, | |
| 889 | + (if length(list_entries) > 19 then | |
| 890 | + [ | |
| 891 | + one_line_fields([ | |
| 892 | + partial(jquery_button(jQuery_button(button, dialog_id+button_name, button_name, button_label, jQuery_actioner(same, jqscript(jq_form_submit_and_close(dialog_id, table_name, hkc_update_row, [("table_name", table_name), ("sub_dialog", sub_dialog)])))))), | |
| 893 | + partial(jquery_button(jQuery_button(button, dialog_id+"cancel", "cancel", _T("CANCEL"), jQuery_actioner(same, jqscript("$('#"+dialog_id+"').dialog('close')"))))), | |
| 894 | + ]), | |
| 895 | + hr | |
| 896 | + ] | |
| 897 | + else | |
| 898 | + [] | |
| 899 | + ) | |
| 900 | + + | |
| 901 | + edit_form_lines(db, "", table_referer, _T, list_entries, create, []) | |
| 890 | 902 | + |
| 891 | 903 | (if id = "none" then |
| 892 | 904 | [] |
| ... | ... | @@ -902,16 +914,20 @@ public define HTML_Partial_Content |
| 902 | 914 | } |
| 903 | 915 | //text("Foreign Key from table ["+fk_table_name+"] columns ["+fk_col_name+"] view to use ["+list_view_name+"]") |
| 904 | 916 | ,list_tabs))+ |
| 917 | + | |
| 905 | 918 | [ hr, |
| 906 | 919 | one_line_fields([ |
| 907 | - submit(if create then hkc_save_row else hkc_update_row, failure, button_name, [("table_name", table_name), ("sub_dialog", sub_dialog)]), | |
| 908 | - submit(if create then hkc_save_row_and_new else hkc_update_row_and_new, failure, button_name_and_new, [("table_name", table_name), ("sub_dialog", sub_dialog)]), | |
| 909 | - submit(hkc_cancel, failure, _T("CANCEL"), [("sub_dialog", sub_dialog)]) | |
| 910 | - ]) | |
| 920 | + partial(jquery_button(jQuery_button(button, dialog_id+button_name, button_name, button_label, jQuery_actioner(same, jqscript(jq_form_submit_and_close(dialog_id, table_name, hkc_update_row, [("table_name", table_name), ("sub_dialog", sub_dialog)])))))), | |
| 921 | + partial(jquery_button(jQuery_button(button, dialog_id+"cancel", "cancel", _T("CANCEL"), jQuery_actioner(same, jqscript("$('#"+dialog_id+"').dialog('close')"))))), | |
| 922 | + ]) | |
| 911 | 923 | ] |
| 912 | - ), | |
| 913 | - ] | |
| 914 | - )). | |
| 924 | +// submit(if create then hkc_save_row else hkc_update_row, failure, button_name, [("table_name", table_name), ("sub_dialog", sub_dialog)]), | |
| 925 | +// submit(if create then hkc_save_row_and_new else hkc_update_row_and_new, failure, button_name_and_new, [("table_name", table_name), ("sub_dialog", sub_dialog)]), | |
| 926 | +// submit(hkc_cancel, failure, _T("CANCEL"), [("sub_dialog", sub_dialog)]) | |
| 927 | + | |
| 928 | + | |
| 929 | + ) //end of the form | |
| 930 | + ])). | |
| 915 | 931 | |
| 916 | 932 | //Edit table part |
| 917 | 933 | public define List(CXM_Form_Field) |
| ... | ... | @@ -1117,6 +1133,7 @@ public define Maybe(HTML_Partial_Content) |
| 1117 | 1133 | String lang, |
| 1118 | 1134 | String web_site_directory, |
| 1119 | 1135 | List(Web_arg) lwa, |
| 1136 | + String dialog_id, | |
| 1120 | 1137 | String table, //table name |
| 1121 | 1138 | String view_name, //view name to use |
| 1122 | 1139 | HK_Form_action action, //new_entry or edit an existing record |
| ... | ... | @@ -1147,11 +1164,12 @@ public define Maybe(HTML_Partial_Content) |
| 1147 | 1164 | String lang, |
| 1148 | 1165 | String web_site_directory, |
| 1149 | 1166 | List(Web_arg) lwa, |
| 1167 | + String dialog_id, | |
| 1150 | 1168 | String table, //table name |
| 1151 | 1169 | String view_name, //view name to use |
| 1152 | 1170 | HK_Form_action action, //new_entry or edit an existing record |
| 1153 | 1171 | VTM vtm |
| 1154 | 1172 | ) = |
| 1155 | - edit_table_content(db, _T, lang, web_site_directory, lwa, table, view_name, action, vtm, "", "", no_referer) | |
| 1173 | + edit_table_content(db, _T, lang, web_site_directory, lwa, dialog_id, table, view_name, action, vtm, "", "", no_referer) | |
| 1156 | 1174 | . |
| 1157 | 1175 | ... | ... |