diff --git a/view/view_table_manager.anubis b/view/view_table_manager.anubis index 506263b..6735cb8 100644 --- a/view/view_table_manager.anubis +++ b/view/view_table_manager.anubis @@ -12,18 +12,17 @@ transmit hayamiki_lib/view/view_table_manager_types.anubis public define Maybe(VTM_view) _vtm_get_view ( - String table_name, + String _table_name, List(VTM_view) list ) = if list is { - [] then println("_vtm_get_view "+table_name+" not found"); failure, + [] then println("_vtm_get_view "+_table_name+" not found"); failure, [ h . t ] then - if h is vtm_view(tb_name, get_view) then - if tb_name = table_name then - success(h) - else - _vtm_get_view(table_name, t) + if h.table_name = _table_name then + success(h) + else + _vtm_get_view(_table_name, t) }. public define Maybe(VTM_view) diff --git a/view/view_table_manager_types.anubis b/view/view_table_manager_types.anubis index 2ab96e5..e6e46f9 100644 --- a/view/view_table_manager_types.anubis +++ b/view/view_table_manager_types.anubis @@ -33,7 +33,7 @@ public type TM_delete_list: tm_delete_list(List(TM_delete) list). public type VTM_view: - vtm_view(String table_name, (String view_name) -> VT_view get_view). + vtm_view(String table_name, (String view_name) -> VT_view get_view, (One) -> List(String) get_all_view_name). public type VTM_view_list: vtm_view_list(List(VTM_view) list). diff --git a/view/view_table_renderer.anubis b/view/view_table_renderer.anubis index ebf67ae..bbca9df 100644 --- a/view/view_table_renderer.anubis +++ b/view/view_table_renderer.anubis @@ -36,6 +36,28 @@ read calexium_lib/web/widgets/css_helper.anubis read calexium_lib/web/widgets/button.anubis read calexium_lib/web/CXM_urllib.anubis +define HTML_Off_Form + table_view_selector + ( + (String) -> String _T, //translator function + VTM_view vtm_v, //virtual table manager view + String current_view // + )= + if length(vtm_v.get_all_view_name(unique)) = 1 then + empty + else + form( "table_view_selector", [], "", [], + actioner(same, same, + immediate_selector([id("select_view")], + wan("view_name"), //web arg name of the selected entry + 1, + map((String view_name) |-> ([], wav(view_name), _T(view_name)), vtm_v.get_all_view_name(unique)), + success(init(_T(current_view))), + "" + ), + hkc_view_table, + [("table_name", vtm_v.table_name)], [])) +. // View table part @@ -212,20 +234,21 @@ public define HTML_Partial_Content String lang, String web_site_directory, String action_name, - VT_view rows, + VTM_view vtm_v, + String view_name, String clause ) = - -// if tb is tool_box(lang, _T, _, _, db, _) then -// println("view_table_page - lang : "+lang); -// println("view_table_page - web_site_directory : "+web_site_directory); + with current_view = vtm_v.get_view(view_name), with uid = generate_random_string(20)+"_", partial_content(jq_dialog_init + jq_datetimepicker_init(lang), - [html_wave_box_wide(_T(to_upper(rows.table_name)), + [html_wave_box_wide(_T(to_upper(current_view.table_name)), sequence([ - partial(jq_dialog_create(dialog_id(uid+action_name+"_dlg_ajax"), ajax(controller_action("hk_c", "ajax_edit_table&table_name="+rows.table_name)))), - partial(img_button(icn16_add, [event(onclick, jq_dialog_open(dialog_id(uid+action_name+"_dlg_ajax")))], "", [])), - partial(jqGrid_table(db, uid, rows, _T, lang, clause)) + 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)))), + div([class("inline")], sequence([ + partial(img_button(icn16_add, [event(onclick, jq_dialog_open(dialog_id(uid+action_name+"_dlg_ajax")))], "", [])), + table_view_selector(_T, vtm_v, view_name), + ])), + partial(jqGrid_table(db, uid, current_view, _T, lang, clause)) //partial(jquery_datatable(uid+"table_view", view_table_form(_T, uid, action_name, rows), true, false, jq_dt_pt_full_numbers, false, scrollY(500), true, true, true, lang, no_extra, web_site_directory)) ]))]). @@ -237,21 +260,20 @@ public define HTML_Partial_Content String lang, String web_site_directory, String action_name, - VT_view rows, + VTM_view vtm_v, + String view_name, String clause ) = - -// if tb is tool_box(lang, _T, _, _, db, _) then -// println("view_table_page - lang : "+lang); -// println("view_table_page - web_site_directory : "+web_site_directory); + with current_view = vtm_v.get_view(view_name), with uid = generate_random_string(20)+"_", partial_content( jq_dialog_init + jq_datetimepicker_init(lang), [ - partial(jq_dialog_create(dialog_id(uid+action_name+"_dlg_ajax"), ajax(controller_action("hk_c", "ajax_edit_table&table_name="+rows.table_name)))), - partial(img_button(icn16_add, [event(onclick, jq_dialog_open(dialog_id(uid+action_name+"_dlg_ajax")))], "", [])), - partial(jqGrid_table(db, uid, rows, _T, lang, clause)), + 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)))), + partial(img_button(icn16_add, [event(onclick, jq_dialog_open(dialog_id(uid+action_name+"_dlg_ajax")))], "", [])), + //table_view_selector(_T, vtm_v, view_name), + partial(jqGrid_table(db, uid, current_view, _T, lang, clause)), //partial(jquery_datatable(uid+"table_view", view_table_form(_T, uid, action_name, rows), true, false, jq_dt_pt_full_numbers, false, scrollY(200), true, true, true, lang, no_extra, web_site_directory)) ]). @@ -272,7 +294,7 @@ public define Maybe(HTML_Partial_Content) { failure then failure, success(vtm_v) then - success(view_table_page(db, _T, lang, web_site_directory, action_name, vtm_v.get_view(view_name), clause)) + success(view_table_page(db, _T, lang, web_site_directory, action_name, vtm_v, view_name, clause)) }. public define Maybe(HTML_Partial_Content) @@ -292,7 +314,7 @@ public define Maybe(HTML_Partial_Content) { failure then failure, success(vtm_v) then - success(view_table(db, _T, lang, web_site_directory, action_name, vtm_v.get_view(view_name), clause)) + success(view_table(db, _T, lang, web_site_directory, action_name, vtm_v, view_name, clause)) }. define CXM_Form_Field diff --git a/view/view_table_types.anubis b/view/view_table_types.anubis index 10e59af..b723205 100644 --- a/view/view_table_types.anubis +++ b/view/view_table_types.anubis @@ -88,7 +88,7 @@ public type VT_View_DB_Calls: . public type VT_view: - vt_view(String table_name, String view_name, VT_view_model view_model, VT_view_row_header header, VT_View_DB_Calls db_calls). , List(VT_view_row) list). + vt_view(String table_name, String view_name, VT_view_model view_model, VT_view_row_header header, VT_View_DB_Calls db_calls). public type VT_action: -- libgit2 0.21.4