Commit 7c92546d6a8f860d18427d42da64d4f9fee34ea9

Authored by totoro
1 parent 627c1be7

change the VTM_view signature by adding list of all view string

add view selector on top of table if there is more than 1 view exists
some clean up
view/view_table_manager.anubis
... ... @@ -12,18 +12,17 @@ transmit hayamiki_lib/view/view_table_manager_types.anubis
12 12 public define Maybe(VTM_view)
13 13 _vtm_get_view
14 14 (
15   - String table_name,
  15 + String _table_name,
16 16 List(VTM_view) list
17 17 ) =
18 18 if list is
19 19 {
20   - [] then println("_vtm_get_view "+table_name+" not found"); failure,
  20 + [] then println("_vtm_get_view "+_table_name+" not found"); failure,
21 21 [ h . t ] then
22   - if h is vtm_view(tb_name, get_view) then
23   - if tb_name = table_name then
24   - success(h)
25   - else
26   - _vtm_get_view(table_name, t)
  22 + if h.table_name = _table_name then
  23 + success(h)
  24 + else
  25 + _vtm_get_view(_table_name, t)
27 26 }.
28 27  
29 28 public define Maybe(VTM_view)
... ...
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, (String view_name) -> VT_view get_view).
  36 + vtm_view(String table_name, (String view_name) -> VT_view get_view, (One) -> List(String) get_all_view_name).
37 37  
38 38 public type VTM_view_list:
39 39 vtm_view_list(List(VTM_view) list).
... ...
view/view_table_renderer.anubis
... ... @@ -36,6 +36,28 @@ read calexium_lib/web/widgets/css_helper.anubis
36 36 read calexium_lib/web/widgets/button.anubis
37 37 read calexium_lib/web/CXM_urllib.anubis
38 38  
  39 +define HTML_Off_Form
  40 + table_view_selector
  41 + (
  42 + (String) -> String _T, //translator function
  43 + VTM_view vtm_v, //virtual table manager view
  44 + String current_view //
  45 + )=
  46 + if length(vtm_v.get_all_view_name(unique)) = 1 then
  47 + empty
  48 + else
  49 + form( "table_view_selector", [], "", [],
  50 + actioner(same, same,
  51 + immediate_selector([id("select_view")],
  52 + wan("view_name"), //web arg name of the selected entry
  53 + 1,
  54 + map((String view_name) |-> ([], wav(view_name), _T(view_name)), vtm_v.get_all_view_name(unique)),
  55 + success(init(_T(current_view))),
  56 + ""
  57 + ),
  58 + hkc_view_table,
  59 + [("table_name", vtm_v.table_name)], []))
  60 +.
39 61  
40 62  
41 63 // View table part
... ... @@ -212,20 +234,21 @@ public define HTML_Partial_Content
212 234 String lang,
213 235 String web_site_directory,
214 236 String action_name,
215   - VT_view rows,
  237 + VTM_view vtm_v,
  238 + String view_name,
216 239 String clause
217 240 ) =
218   -
219   -// if tb is tool_box(lang, _T, _, _, db, _) then
220   -// println("view_table_page - lang : "+lang);
221   -// println("view_table_page - web_site_directory : "+web_site_directory);
  241 + with current_view = vtm_v.get_view(view_name),
222 242 with uid = generate_random_string(20)+"_",
223 243 partial_content(jq_dialog_init + jq_datetimepicker_init(lang),
224   - [html_wave_box_wide(_T(to_upper(rows.table_name)),
  244 + [html_wave_box_wide(_T(to_upper(current_view.table_name)),
225 245 sequence([
226   - partial(jq_dialog_create(dialog_id(uid+action_name+"_dlg_ajax"), ajax(controller_action("hk_c", "ajax_edit_table&table_name="+rows.table_name)))),
227   - partial(img_button(icn16_add, [event(onclick, jq_dialog_open(dialog_id(uid+action_name+"_dlg_ajax")))], "", [])),
228   - partial(jqGrid_table(db, uid, rows, _T, lang, clause))
  246 + 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)))),
  247 + div([class("inline")], sequence([
  248 + partial(img_button(icn16_add, [event(onclick, jq_dialog_open(dialog_id(uid+action_name+"_dlg_ajax")))], "", [])),
  249 + table_view_selector(_T, vtm_v, view_name),
  250 + ])),
  251 + partial(jqGrid_table(db, uid, current_view, _T, lang, clause))
229 252 //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))
230 253 ]))]).
231 254  
... ... @@ -237,21 +260,20 @@ public define HTML_Partial_Content
237 260 String lang,
238 261 String web_site_directory,
239 262 String action_name,
240   - VT_view rows,
  263 + VTM_view vtm_v,
  264 + String view_name,
241 265 String clause
242 266 ) =
243   -
244   -// if tb is tool_box(lang, _T, _, _, db, _) then
245   -// println("view_table_page - lang : "+lang);
246   -// println("view_table_page - web_site_directory : "+web_site_directory);
  267 + with current_view = vtm_v.get_view(view_name),
247 268 with uid = generate_random_string(20)+"_",
248 269 partial_content(
249 270 jq_dialog_init +
250 271 jq_datetimepicker_init(lang),
251 272 [
252   - partial(jq_dialog_create(dialog_id(uid+action_name+"_dlg_ajax"), ajax(controller_action("hk_c", "ajax_edit_table&table_name="+rows.table_name)))),
253   - partial(img_button(icn16_add, [event(onclick, jq_dialog_open(dialog_id(uid+action_name+"_dlg_ajax")))], "", [])),
254   - partial(jqGrid_table(db, uid, rows, _T, lang, clause)),
  273 + 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)))),
  274 + partial(img_button(icn16_add, [event(onclick, jq_dialog_open(dialog_id(uid+action_name+"_dlg_ajax")))], "", [])),
  275 + //table_view_selector(_T, vtm_v, view_name),
  276 + partial(jqGrid_table(db, uid, current_view, _T, lang, clause)),
255 277 //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))
256 278 ]).
257 279  
... ... @@ -272,7 +294,7 @@ public define Maybe(HTML_Partial_Content)
272 294 {
273 295 failure then failure,
274 296 success(vtm_v) then
275   - success(view_table_page(db, _T, lang, web_site_directory, action_name, vtm_v.get_view(view_name), clause))
  297 + success(view_table_page(db, _T, lang, web_site_directory, action_name, vtm_v, view_name, clause))
276 298 }.
277 299  
278 300 public define Maybe(HTML_Partial_Content)
... ... @@ -292,7 +314,7 @@ public define Maybe(HTML_Partial_Content)
292 314 {
293 315 failure then failure,
294 316 success(vtm_v) then
295   - success(view_table(db, _T, lang, web_site_directory, action_name, vtm_v.get_view(view_name), clause))
  317 + success(view_table(db, _T, lang, web_site_directory, action_name, vtm_v, view_name, clause))
296 318 }.
297 319  
298 320 define CXM_Form_Field
... ...
view/view_table_types.anubis
... ... @@ -88,7 +88,7 @@ public type VT_View_DB_Calls:
88 88 .
89 89  
90 90 public type VT_view:
91   - 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).
  91 + vt_view(String table_name, String view_name, VT_view_model view_model, VT_view_row_header header, VT_View_DB_Calls db_calls).
92 92  
93 93  
94 94 public type VT_action:
... ...