diff --git a/database/db_types.anubis b/database/db_types.anubis index 857ea4e..e421bbb 100644 --- a/database/db_types.anubis +++ b/database/db_types.anubis @@ -35,6 +35,17 @@ public define String none then "none", db_id(_idx) then abs_to_decimal(_idx) }. + +public define Int + to_Int + ( + DB_id idx + )= + if idx is + { + none then (Int)-1, + db_id(_idx) then _idx + }. public define String to_String diff --git a/database/vtm/view_table_renderer.anubis b/database/vtm/view_table_renderer.anubis index 1a88378..84bb77e 100644 --- a/database/vtm/view_table_renderer.anubis +++ b/database/vtm/view_table_renderer.anubis @@ -28,6 +28,7 @@ read calexium_lib/web/jQuery/CXM_jquery_datatable_types.anubis read calexium_lib/web/jQuery/ui-addon/datetimepicker.anubis read calexium_lib/web/CXM_form.anubis read calexium_lib/web/widgets/css_helper.anubis +read calexium_lib/web/widgets/button.anubis define CXM_Form_Field help_line @@ -93,7 +94,6 @@ public define HTML_Partial_Content List(Web_arg) lwa, VT_edit vt_elist ) = - //if tb is tool_box(lang, _T, _, _, db, _) then with table_name = vt_elist.table_name, with button_name = if get_String(lwa, "id","none") = "none" then _T("CREATE") else _T("UPDATE"), partial_content(jq_datetimepicker_init(lang), @@ -127,18 +127,14 @@ public define Maybe(HTML_Partial_Content) // View table part define HTML_Row(HTML_Off_Form) make_line ( - //ToolBox tb, String table_name, String action_name, //default is "edit_table", but can be surcharged for own use List(VT_view_entry) entries, List(HTML_Cell(HTML_Off_Form)) so_far - //Int odd_even )= if entries is { - [] then - //with line = if odd_even = 0 then "tr_even" else "tr_odd", - row( [], reverse(so_far)), + [] then row( [], reverse(so_far)), [h . t] then with cell = if h is { @@ -149,19 +145,28 @@ define HTML_Row(HTML_Off_Form) make_line make_line(table_name, action_name, t, [cell . so_far]) }. -define List(HTML_Row(HTML_Off_Form)) make_lines +define List(HTML_Row(HTML_Off_Form)) + make_lines ( -// ToolBox tb, + (String) -> String _T, //translator String table_name, String action_name, List(VT_view_row) entries, List(HTML_Row(HTML_Off_Form)) so_far -// Int odd_even )= if entries is { [] then reverse(so_far), - [h . t] then make_lines(table_name, action_name, t, [make_line(table_name, action_name, h.list, []). so_far] ) + [h . t] then + //compute each line + //prepare here the first cell for actioner + with actions_cell = (HTML_Cell(HTML_Off_Form)) + cell([], + sequence([ + partial(img_button_confirm(icn16_cross, _T("CONFIRMATION_REQUEST"), _T("CONFIRM_LINE_DELETION") , _T("OK"), _T("CANCEL"), jQuery_actioner(same, jqlink, "hk_del_row" + format_extra_operands([("table_name", table_name),("id",to_String(h.db_id))])))) + ]) + ), + make_lines(_T, table_name, action_name, t, [make_line(table_name, action_name, h.list, [actions_cell]). so_far] ) }. // View table part @@ -172,7 +177,6 @@ define HTML_Header_Row(HTML_Off_Form) List(VT_view_entry) entries, List(HTML_Header_Cell(HTML_Off_Form)) so_far )= - //if tb is tool_box(lang, _T, _, _, db, _) then if entries is { [] then header_row( [], reverse(so_far)), @@ -186,20 +190,22 @@ define HTML_Header_Row(HTML_Off_Form) make_header(_T, t, [cell . so_far]) }. + -public define HTML_Partial_Content view_table_form +public define HTML_Partial_Content + view_table_form ( (String) -> String _T, String action_name, VT_view rows )= - //if tb is tool_box(_, _T, _, _, db, _) then + with action_header_cell = header_cell((HTML_Off_Form)text(_T("ACTION"))), partial_content(div( [/*class("tableau")*/], sequence( [ actioner(same,same, link([class("my_button")],_T("NEW")),"edit_table",[("table_name", rows.table_name)]), table([core_attrs([id("table_view"), class("tableau display compact nowrap")])], - make_header(_T, rows.header.list, []), - make_lines(rows.table_name, action_name, rows.list, [])) + make_header(_T, rows.header.list, [action_header_cell]), + make_lines(_T, rows.table_name, action_name, rows.list, [])) ] ) )) diff --git a/database/vtm/view_table_types.anubis b/database/vtm/view_table_types.anubis index b6ac9f4..1474673 100644 --- a/database/vtm/view_table_types.anubis +++ b/database/vtm/view_table_types.anubis @@ -38,12 +38,15 @@ public type VT_view_entry: text(String text), link(String id, String text), icon(String icon_path). + +public type VT_view_row_header: + vt_view_row_header(List(VT_view_entry) list). public type VT_view_row: - vt_view_row(List(VT_view_entry) list). + vt_view_row(Int db_id, List(VT_view_entry) list). public type VT_view: - vt_view(String table_name, String view_name, VT_view_row header, List(VT_view_row) list). + vt_view(String table_name, String view_name, VT_view_row_header header, List(VT_view_row) list). public type VT_action: -- libgit2 0.21.4