Commit 7c694bdb28d105b490596e5a7c186da619654bbb
1 parent
ea1efe8b
add SQL clause in vtm_view. This clause can be apply on data table for filtering the viewed data
Add the management of viewing the fk_view option of edit_view. fk_view option allow to watch the One to Many foreign key
Showing
3 changed files
with
205 additions
and
143 deletions
Show diff stats
view/view_table_manager_types.anubis
| ... | ... | @@ -33,7 +33,7 @@ public type TM_delete_list: |
| 33 | 33 | tm_delete_list(List(TM_delete) list). |
| 34 | 34 | |
| 35 | 35 | public type VTM_view: |
| 36 | - vtm_view(String table_name, (SQLite3DataBase db, String view_name) -> VT_view get_view). | |
| 36 | + vtm_view(String table_name, (SQLite3DataBase db, String view_name, String clause) -> VT_view get_view). | |
| 37 | 37 | |
| 38 | 38 | public type VTM_view_list: |
| 39 | 39 | vtm_view_list(List(VTM_view) list). | ... | ... |
view/view_table_renderer.anubis
| ... | ... | @@ -35,7 +35,183 @@ read calexium_lib/web/widgets/button.anubis |
| 35 | 35 | |
| 36 | 36 | |
| 37 | 37 | |
| 38 | + // View table part | |
| 39 | +define HTML_Row(HTML_Off_Form) make_line | |
| 40 | + ( | |
| 41 | + String uid, | |
| 42 | + String table_name, | |
| 43 | + String _action_name, //default is "edit_table", but can be surcharged for own use | |
| 44 | + List(VT_view_entry) entries, | |
| 45 | + List(HTML_Cell(HTML_Off_Form)) so_far | |
| 46 | + )= | |
| 47 | + if entries is | |
| 48 | + { | |
| 49 | + [] then row( [], reverse(so_far)), | |
| 50 | + [h . t] then | |
| 51 | + with cell = if h is | |
| 52 | + { | |
| 53 | + text(string) then cell((HTML_Off_Form)text(not_null_String(string))), | |
| 54 | +// link(id, string) then cell((HTML_Off_Form)actioner(same,same, link(string), action_name, [("table_name", table_name),("id",id)])), | |
| 55 | + link(id, string) then cell((HTML_Off_Form)literal(jq_dialog_open(string, dialog_id(uid+_action_name+"_dlg_ajax"), "'id="+id+"'"))), | |
| 56 | + link_id_action(id, name, action) then cell((HTML_Off_Form)actioner(same,same, link(name), action, [("id",id)])), | |
| 57 | + icon(icon_path) then cell((HTML_Off_Form)image([], icon_path, "")) | |
| 58 | + }, | |
| 59 | + make_line(uid, table_name, _action_name, t, [cell . so_far]) | |
| 60 | + }. | |
| 61 | + | |
| 62 | +define List(HTML_Row(HTML_Off_Form)) | |
| 63 | + make_lines | |
| 64 | + ( | |
| 65 | + (String) -> String _T, //translator | |
| 66 | + String uid, | |
| 67 | + String table_name, | |
| 68 | + String action_name, | |
| 69 | + List(VT_view_row) entries, | |
| 70 | + List(HTML_Row(HTML_Off_Form)) so_far | |
| 71 | + )= | |
| 72 | + if entries is | |
| 73 | + { | |
| 74 | + [] then reverse(so_far), | |
| 75 | + [h . t] then | |
| 76 | + //compute each line | |
| 77 | + //prepare here the first cell for actioner | |
| 78 | + with actions_cell = (HTML_Cell(HTML_Off_Form)) | |
| 79 | + cell([], | |
| 80 | + sequence([ | |
| 81 | + partial(img_button_confirm(icn16_cross, _T("CONFIRMATION_REQUEST"), _T("CONFIRM_LINE_DELETION") , _T("OK"), _T("CANCEL"), jQuery_actioner(same, jqlink(controller_action("hk_c", "delete_row" + format_extra_operands([("table_name", table_name),("id",to_String(h.db_id))])))))), | |
| 82 | + partial(img_button(icn16_edit, [event(onclick, jq_dialog_open(dialog_id(uid+action_name+"_dlg_ajax"), "'id="+to_String(h.db_id)+"'"))], "", [])), | |
| 83 | + ]) | |
| 84 | + ), | |
| 85 | + make_lines(_T, uid, table_name, action_name, t, [make_line(uid, table_name, action_name, h.list, [actions_cell]). so_far] ) | |
| 86 | + }. | |
| 87 | + | |
| 88 | + // View table part | |
| 89 | +define HTML_Header_Row(HTML_Off_Form) | |
| 90 | + make_header | |
| 91 | + ( | |
| 92 | + (String) -> String _T, //translator | |
| 93 | + List(VT_view_entry) entries, | |
| 94 | + List(HTML_Header_Cell(HTML_Off_Form)) so_far | |
| 95 | + )= | |
| 96 | + if entries is | |
| 97 | + { | |
| 98 | + [] then header_row( [], reverse(so_far)), | |
| 99 | + [h . t] then | |
| 100 | + with cell = if h is | |
| 101 | + { | |
| 102 | + text(string) then header_cell((HTML_Off_Form)text(_T(string))), | |
| 103 | + link(id, string) then header_cell((HTML_Off_Form)actioner(same, same, link(string), edit_table,[])), //TODO | |
| 104 | + link_id_action(id, text, action) then header_cell((HTML_Off_Form)actioner(same,same, link(text), action,[("id",id)])), //TODO | |
| 105 | + icon(icon_path) then header_cell((HTML_Off_Form)image([], icon_path, "")) | |
| 106 | + }, | |
| 107 | + make_header(_T, t, [cell . so_far]) | |
| 108 | + }. | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | +public define HTML_Partial_Content | |
| 113 | + view_table_form | |
| 114 | + ( | |
| 115 | + (String) -> String _T, | |
| 116 | + String uid, | |
| 117 | + String action_name, | |
| 118 | + VT_view rows | |
| 119 | + )= | |
| 120 | + with action_header_cell = header_cell((HTML_Off_Form)text(_T("ACTION"))), | |
| 121 | + partial_content( | |
| 122 | + div( [/*class("tableau")*/], | |
| 123 | + sequence( | |
| 124 | + [ | |
| 125 | + | |
| 126 | + partial(jq_dialog_create(dialog_id(uid+action_name+"_dlg_ajax"), ajax(controller_action("hk_c", "ajax_edit_table&table_name="+rows.table_name)))), | |
| 127 | + table([core_attrs([id(uid+"table_view"), class("tableau display compact nowrap")])], | |
| 128 | + make_header(_T, rows.header.list, [action_header_cell]), | |
| 129 | + make_lines(_T, uid, rows.table_name, action_name, rows.list, [])) | |
| 130 | + ] | |
| 131 | + ) | |
| 132 | + )) | |
| 133 | + . | |
| 134 | + | |
| 135 | +public define HTML_Partial_Content | |
| 136 | + view_table_page | |
| 137 | + ( | |
| 138 | + (String) -> String _T, | |
| 139 | + String lang, | |
| 140 | + String web_site_directory, | |
| 141 | + String action_name, | |
| 142 | + VT_view rows | |
| 143 | + ) = | |
| 144 | + | |
| 145 | +// if tb is tool_box(lang, _T, _, _, db, _) then | |
| 146 | +// println("view_table_page - lang : "+lang); | |
| 147 | +// println("view_table_page - web_site_directory : "+web_site_directory); | |
| 148 | + with uid = generate_random_string(20)+"_", | |
| 149 | + partial_content(jq_dialog_init + jq_datetimepicker_init(lang), | |
| 150 | + [html_wave_box_wide(_T(to_upper(rows.table_name)), | |
| 151 | + sequence([ | |
| 152 | + partial(img_button(icn16_add, [event(onclick, jq_dialog_open(dialog_id(uid+action_name+"_dlg_ajax")))], "", [])), | |
| 153 | + 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)) | |
| 154 | + ]))]). | |
| 155 | + | |
| 156 | +public define HTML_Partial_Content | |
| 157 | + view_table | |
| 158 | + ( | |
| 159 | + (String) -> String _T, | |
| 160 | + String lang, | |
| 161 | + String web_site_directory, | |
| 162 | + String action_name, | |
| 163 | + VT_view rows | |
| 164 | + ) = | |
| 165 | + | |
| 166 | +// if tb is tool_box(lang, _T, _, _, db, _) then | |
| 167 | +// println("view_table_page - lang : "+lang); | |
| 168 | +// println("view_table_page - web_site_directory : "+web_site_directory); | |
| 169 | + with uid = generate_random_string(20)+"_", | |
| 170 | + partial_content(jq_dialog_init + jq_datetimepicker_init(lang), | |
| 171 | + [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))]). | |
| 172 | + | |
| 173 | +public define Maybe(HTML_Partial_Content) | |
| 174 | + view_table_content | |
| 175 | + ( | |
| 176 | + SQLite3DataBase db, | |
| 177 | + (String) -> String _T, | |
| 178 | + String lang, | |
| 179 | + String web_site_directory, | |
| 180 | + String table, | |
| 181 | + String view_name, | |
| 182 | + String action_name, | |
| 183 | + String clause, | |
| 184 | + VTM vtm | |
| 185 | + ) = | |
| 186 | + if vtm_get_view(table, vtm.view_list) is | |
| 187 | + { | |
| 188 | + failure then failure, | |
| 189 | + success(vtm_v) then | |
| 190 | + since vtm_v is vtm_view(_, get_view), | |
| 191 | + success(view_table_page(_T, lang, web_site_directory, action_name, get_view(db, view_name, clause))) | |
| 192 | + }. | |
| 38 | 193 | |
| 194 | +public define Maybe(HTML_Partial_Content) | |
| 195 | + view_table_only | |
| 196 | + ( | |
| 197 | + SQLite3DataBase db, | |
| 198 | + (String) -> String _T, | |
| 199 | + String lang, | |
| 200 | + String web_site_directory, | |
| 201 | + String table, | |
| 202 | + String view_name, | |
| 203 | + String action_name, | |
| 204 | + String clause, | |
| 205 | + VTM vtm | |
| 206 | + ) = | |
| 207 | + if vtm_get_view(table, vtm.view_list) is | |
| 208 | + { | |
| 209 | + failure then failure, | |
| 210 | + success(vtm_v) then | |
| 211 | + since vtm_v is vtm_view(_, get_view), | |
| 212 | + success(view_table(_T, lang, web_site_directory, action_name, get_view(db, view_name, clause))) | |
| 213 | + }. | |
| 214 | + | |
| 39 | 215 | define CXM_Form_Field |
| 40 | 216 | help_line |
| 41 | 217 | ( |
| ... | ... | @@ -94,9 +270,9 @@ public define List(CXM_Form_Field) |
| 94 | 270 | ], |
| 95 | 271 | |
| 96 | 272 | foreign_text(s_name, c_name, value, select, help) then |
| 97 | - [selector_c([],label(_T(s_name), no_help), html_Id(""), wan(c_name), 1, select.get(db), success(init(to_String(value))), mandatory), help_line(help, _T)], | |
| 273 | + [selector_c([],label(_T(s_name), no_help), html_Id(""), wan(c_name), 1, select.get(db, ""), success(init(to_String(value))), mandatory), help_line(help, _T)], | |
| 98 | 274 | choices_text(s_name, c_name, value, select, help) then |
| 99 | - [selector_c([],label(_T(s_name), no_help), html_Id(""), wan(c_name), 1, select.get(db), success(init(value)), mandatory), help_line(help, _T)], | |
| 275 | + [selector_c([],label(_T(s_name), no_help), html_Id(""), wan(c_name), 1, select.get(db, ""), success(init(value)), mandatory), help_line(help, _T)], | |
| 100 | 276 | text_area(s_name, c_name, value, txt_editor, help) then |
| 101 | 277 | with id = if txt_editor is { none then "", rich_editor then c_name+"_editor"}, |
| 102 | 278 | [text_area([],label(_T(s_name), no_help), html_Id(id), wan(c_name), init(not_null_String(value)), narrow, (Int)5, mandatory), help_line(help, _T)], |
| ... | ... | @@ -107,7 +283,7 @@ public define List(CXM_Form_Field) |
| 107 | 283 | float(s_name, c_name, value, help) then |
| 108 | 284 | [input(label(_T(s_name), no_help), wan(c_name), init(float_to_string(value, 5)), small, mandatory), help_line(help, _T)], |
| 109 | 285 | choices_int(s_name, c_name, value, select, help) then |
| 110 | - [selector_c([],label(_T(s_name), no_help), html_Id(""), wan(c_name), 1, select.get(db), success(init(to_String(value))), mandatory), help_line(help, _T)], | |
| 286 | + [selector_c([],label(_T(s_name), no_help), html_Id(""), wan(c_name), 1, select.get(db, ""), success(init(to_String(value))), mandatory), help_line(help, _T)], | |
| 111 | 287 | date(s_name, c_name, value, help) then |
| 112 | 288 | [input([class("datepicker")], label(_T(s_name), no_help), html_Id(c_name), wan(c_name), init(value), small, non_mandatory), help_line(help, _T)], |
| 113 | 289 | time(s_name, c_name, value, help) then |
| ... | ... | @@ -150,18 +326,22 @@ public define HTML_Partial_Content |
| 150 | 326 | SQLite3DataBase db, |
| 151 | 327 | (String) -> String _T, |
| 152 | 328 | String lang, |
| 329 | + String web_site_directory, | |
| 153 | 330 | List(Web_arg) lwa, |
| 154 | - VT_edit vt_elist | |
| 331 | + VT_edit vt_elist, | |
| 332 | + VTM vtm | |
| 155 | 333 | ) = |
| 156 | 334 | with table_name = vt_elist.table_name, |
| 157 | 335 | //true if need to create row or false for updating |
| 158 | 336 | with create = if get_String(lwa, "id","none") = "none" then true else false, |
| 337 | + with id = get_String(lwa, "id","none"), | |
| 159 | 338 | with button_name = if create then _T("CREATE") else _T("UPDATE"), |
| 160 | 339 | with button_name_and_new = if create then _T("CREATE_AND_EDIT_NEW") else _T("UPDATE_AND_EDIT_NEW"), |
| 161 | 340 | |
| 162 | 341 | partial_content( |
| 163 | 342 | jq_datetimepicker_init(lang) + |
| 164 | 343 | get_editor_header(vt_elist.list), //add editor header if need. Like init ck_editor |
| 344 | + sequence([ | |
| 165 | 345 | cxm_form( table_name, lwa, |
| 166 | 346 | edit_form_lines(db, _T, vt_elist.list, create, [])+ |
| 167 | 347 | [ one_line_fields([ |
| ... | ... | @@ -170,6 +350,20 @@ public define HTML_Partial_Content |
| 170 | 350 | submit(hk_cancel, failure, _T("CANCEL")) |
| 171 | 351 | ]) |
| 172 | 352 | ] |
| 353 | + )]+ | |
| 354 | + if id = "none" then | |
| 355 | + [] | |
| 356 | + else | |
| 357 | + map( (HK_V_Edit_Tab tab) | |
| 358 | + |-> | |
| 359 | + since tab is hk_v_edit_tab(fk_table_name, fk_col_name, list_view_name), | |
| 360 | + if view_table_only(db, _T, lang, web_site_directory, fk_table_name, list_view_name, "edit", fk_col_name+" = "+id, vtm) is | |
| 361 | + { | |
| 362 | + failure then empty, | |
| 363 | + success(p_content) then partial(p_content) | |
| 364 | + } | |
| 365 | + //text("Foreign Key from table ["+fk_table_name+"] columns ["+fk_col_name+"] view to use ["+list_view_name+"]") | |
| 366 | + ,vt_elist.tabs) | |
| 173 | 367 | )). |
| 174 | 368 | |
| 175 | 369 | public define Maybe(HTML_Partial_Content) |
| ... | ... | @@ -178,10 +372,11 @@ public define Maybe(HTML_Partial_Content) |
| 178 | 372 | SQLite3DataBase db, |
| 179 | 373 | (String) -> String _T, |
| 180 | 374 | String lang, |
| 375 | + String web_site_directory, | |
| 181 | 376 | List(Web_arg) lwa, |
| 182 | - String table, | |
| 183 | - String view_name, | |
| 184 | - VT_action action, | |
| 377 | + String table, //table name | |
| 378 | + String view_name, //view name to use | |
| 379 | + VT_action action, //new_entry or edit an existing record | |
| 185 | 380 | VTM vtm |
| 186 | 381 | ) = |
| 187 | 382 | if vtm_get_edit(table, vtm.edit_list) is |
| ... | ... | @@ -189,140 +384,7 @@ public define Maybe(HTML_Partial_Content) |
| 189 | 384 | failure then failure, |
| 190 | 385 | success(vtm_e) then |
| 191 | 386 | since vtm_e is vtm_edit(_, get_edit), |
| 192 | - success(edit_table_page(db, _T, lang, lwa, get_edit(db, action, view_name))) | |
| 193 | - }. | |
| 194 | - | |
| 195 | - | |
| 196 | - // View table part | |
| 197 | -define HTML_Row(HTML_Off_Form) make_line | |
| 198 | - ( | |
| 199 | - String table_name, | |
| 200 | - String _action_name, //default is "edit_table", but can be surcharged for own use | |
| 201 | - List(VT_view_entry) entries, | |
| 202 | - List(HTML_Cell(HTML_Off_Form)) so_far | |
| 203 | - )= | |
| 204 | - if entries is | |
| 205 | - { | |
| 206 | - [] then row( [], reverse(so_far)), | |
| 207 | - [h . t] then | |
| 208 | - with cell = if h is | |
| 209 | - { | |
| 210 | - text(string) then cell((HTML_Off_Form)text(not_null_String(string))), | |
| 211 | -// link(id, string) then cell((HTML_Off_Form)actioner(same,same, link(string), action_name, [("table_name", table_name),("id",id)])), | |
| 212 | - link(id, string) then cell((HTML_Off_Form)literal(jq_dialog_open(string, dialog_id(_action_name+"_dlg_ajax"), "'id="+id+"'"))), | |
| 213 | - link_id_action(id, name, action) then cell((HTML_Off_Form)actioner(same,same, link(name), action, [("id",id)])), | |
| 214 | - icon(icon_path) then cell((HTML_Off_Form)image([], icon_path, "")) | |
| 215 | - }, | |
| 216 | - make_line(table_name, _action_name, t, [cell . so_far]) | |
| 387 | + success(edit_table_page(db, _T, lang, web_site_directory, lwa, get_edit(db, action, view_name), vtm)) | |
| 217 | 388 | }. |
| 218 | 389 | |
| 219 | -define List(HTML_Row(HTML_Off_Form)) | |
| 220 | - make_lines | |
| 221 | - ( | |
| 222 | - (String) -> String _T, //translator | |
| 223 | - String table_name, | |
| 224 | - String action_name, | |
| 225 | - List(VT_view_row) entries, | |
| 226 | - List(HTML_Row(HTML_Off_Form)) so_far | |
| 227 | - )= | |
| 228 | - if entries is | |
| 229 | - { | |
| 230 | - [] then reverse(so_far), | |
| 231 | - [h . t] then | |
| 232 | - //compute each line | |
| 233 | - //prepare here the first cell for actioner | |
| 234 | - with actions_cell = (HTML_Cell(HTML_Off_Form)) | |
| 235 | - cell([], | |
| 236 | - sequence([ | |
| 237 | - partial(img_button_confirm(icn16_cross, _T("CONFIRMATION_REQUEST"), _T("CONFIRM_LINE_DELETION") , _T("OK"), _T("CANCEL"), jQuery_actioner(same, jqlink(controller_action("hk_c", "delete_row" + format_extra_operands([("table_name", table_name),("id",to_String(h.db_id))])))))), | |
| 238 | - partial(img_button(icn16_edit, [event(onclick, jq_dialog_open(dialog_id(action_name+"_dlg_ajax"), "'id="+to_String(h.db_id)+"'"))], "", [])), | |
| 239 | - ]) | |
| 240 | - ), | |
| 241 | - make_lines(_T, table_name, action_name, t, [make_line(table_name, action_name, h.list, [actions_cell]). so_far] ) | |
| 242 | - }. | |
| 243 | 390 | |
| 244 | - // View table part | |
| 245 | -define HTML_Header_Row(HTML_Off_Form) | |
| 246 | - make_header | |
| 247 | - ( | |
| 248 | - (String) -> String _T, //translator | |
| 249 | - List(VT_view_entry) entries, | |
| 250 | - List(HTML_Header_Cell(HTML_Off_Form)) so_far | |
| 251 | - )= | |
| 252 | - if entries is | |
| 253 | - { | |
| 254 | - [] then header_row( [], reverse(so_far)), | |
| 255 | - [h . t] then | |
| 256 | - with cell = if h is | |
| 257 | - { | |
| 258 | - text(string) then header_cell((HTML_Off_Form)text(_T(string))), | |
| 259 | - link(id, string) then header_cell((HTML_Off_Form)actioner(same, same, link(string), edit_table,[])), //TODO | |
| 260 | - link_id_action(id, text, action) then header_cell((HTML_Off_Form)actioner(same,same, link(text), action,[("id",id)])), //TODO | |
| 261 | - icon(icon_path) then header_cell((HTML_Off_Form)image([], icon_path, "")) | |
| 262 | - }, | |
| 263 | - make_header(_T, t, [cell . so_far]) | |
| 264 | - }. | |
| 265 | - | |
| 266 | - | |
| 267 | - | |
| 268 | -public define HTML_Partial_Content | |
| 269 | - view_table_form | |
| 270 | - ( | |
| 271 | - (String) -> String _T, | |
| 272 | - String action_name, | |
| 273 | - VT_view rows | |
| 274 | - )= | |
| 275 | - with action_header_cell = header_cell((HTML_Off_Form)text(_T("ACTION"))), | |
| 276 | - partial_content( | |
| 277 | - div( [/*class("tableau")*/], | |
| 278 | - sequence( | |
| 279 | - [ | |
| 280 | - partial(img_button(icn16_add, [event(onclick, jq_dialog_open(dialog_id(action_name+"_dlg_ajax")))], "", [])), | |
| 281 | - //partial(jquery_button(jQuery_button(button, "edit_table_"+rows.table_name, "", _T("NEW"), jQuery_actioner(same, jqlink(controller_action("hk_c", "edit_table&table_name="+rows.table_name)))))), | |
| 282 | - //dialog used by datatable entries | |
| 283 | - partial(jq_dialog_create(dialog_id(action_name+"_dlg_ajax"), ajax(controller_action("hk_c", "ajax_edit_table&table_name="+rows.table_name)))), | |
| 284 | - | |
| 285 | - table([core_attrs([id("table_view"), class("tableau display compact nowrap")])], | |
| 286 | - make_header(_T, rows.header.list, [action_header_cell]), | |
| 287 | - make_lines(_T, rows.table_name, action_name, rows.list, [])) | |
| 288 | - ] | |
| 289 | - ) | |
| 290 | - )) | |
| 291 | - . | |
| 292 | - | |
| 293 | -public define HTML_Partial_Content | |
| 294 | - view_table_page | |
| 295 | - ( | |
| 296 | - (String) -> String _T, | |
| 297 | - String lang, | |
| 298 | - String web_site_directory, | |
| 299 | - String action_name, | |
| 300 | - VT_view rows | |
| 301 | - ) = | |
| 302 | - | |
| 303 | -// if tb is tool_box(lang, _T, _, _, db, _) then | |
| 304 | -// println("view_table_page - lang : "+lang); | |
| 305 | -// println("view_table_page - web_site_directory : "+web_site_directory); | |
| 306 | - partial_content(jq_dialog_init + jq_datetimepicker_init(lang), | |
| 307 | - [partial(html_wave_box_wide(_T(to_upper(rows.table_name)), | |
| 308 | - jquery_datatable("table_view", view_table_form(_T, action_name, rows), true, false, jq_dt_pt_full_numbers, false, scrollY(500), true, true, true, lang, no_extra, web_site_directory)))]). | |
| 309 | - | |
| 310 | -public define Maybe(HTML_Partial_Content) | |
| 311 | - view_table_content | |
| 312 | - ( | |
| 313 | - SQLite3DataBase db, | |
| 314 | - (String) -> String _T, | |
| 315 | - String lang, | |
| 316 | - String web_site_directory, | |
| 317 | - String table, | |
| 318 | - String view_name, | |
| 319 | - String action_name, | |
| 320 | - VTM vtm | |
| 321 | - ) = | |
| 322 | - if vtm_get_view(table, vtm.view_list) is | |
| 323 | - { | |
| 324 | - failure then failure, | |
| 325 | - success(vtm_v) then | |
| 326 | - since vtm_v is vtm_view(_, get_view), | |
| 327 | - success(view_table_page(_T, lang, web_site_directory, action_name, get_view(db, view_name))) | |
| 328 | - }. | ... | ... |
view/view_table_types.anubis
| ... | ... | @@ -10,7 +10,7 @@ transmit calexium_lib/web/CXM_common.anubis |
| 10 | 10 | read hayamiki_lib/types/hayamiki.anubis |
| 11 | 11 | |
| 12 | 12 | public type VT_edit_selector: |
| 13 | - vt_edit_selector((SQLite3DataBase db) -> List((List(CoreAttrs), WebArgValue, String)) get). | |
| 13 | + vt_edit_selector((SQLite3DataBase db, String clause) -> List((List(CoreAttrs), WebArgValue, String)) get). | |
| 14 | 14 | |
| 15 | 15 | |
| 16 | 16 | public type VT_edit_entry: | ... | ... |