/* * Created by PyramIDE. * User: フランスのトトロ aka (David RENÉ) * Date: 21/03/2017 * Time: 22:49 * © Calexium */ read calexium_lib/web/CXM_making_a_web_site.anubis read hayamiki_lib/types/hayamiki.anubis read hayamiki_lib/view/types/hk_form.anubis read hayamiki_lib/view/types/hk_view.anubis define String to_jqGrid_selector ( List((List(CoreAttrs), WebArgValue, String)) from_hk_selector )= "\""+ join(";",map(((List(CoreAttrs), WebArgValue, String) select) |-> since select is (_, wav, show), wav.value+":"+show, from_hk_selector))+ "\"" . define String custom_edit_phone = " editoptions: { custom_element: function(value, options) { var elemStr = ''; var elem = $(elemStr)[0]; // return DOM element from jQuery object return elem; }, custom_value: function(elem) { //var inputs = $(\"input\", $(elem)[0]); //var first = inputs[0].value; return $(elem).find('input')[0].value; } } " . define String custom_edit_email = " editoptions: { custom_element: function(value, options) { var elemStr = ''; var elem = $(elemStr)[0]; // return DOM element from jQuery object return elem; }, custom_value: function(elem) { //var inputs = $(\"input\", $(elem)[0]); //var first = inputs[0].value; return $(elem).find('input')[0].value; } } " . define String to_jqGrid_ColModel ( SQLite3DataBase db, HK_Referer table_referer, VT_view_model_entry model, (String) -> String _T )= with empty_referer = hk_referer("","","",""), if model is { primary_key then "{ name: \"id\", hidden:true }", information(label,column_name,width,help) then "{ name: \""+column_name+"\", label: \""+_T(label)+"\" }", text(label,column_name,help) then "{ name: \""+column_name+"\", label: \""+_T(label)+"\", editable:true }", password(label,column_name,help) then "{ name: \""+column_name+"\", label: \""+_T(label)+"\" }", foreign_text(label,column_name,selector,help) then "{ name: \""+column_name+"\", label: \""+_T(label)+"\", editable:true, edittype:\"select\", editoptions:{value: "+to_jqGrid_selector(selector.get(db,table_referer,""))+"},"+ " formatter: \"select\","+ " formatoptions:{value: "+to_jqGrid_selector(selector.get(db, table_referer, ""))+"},"+ "}", choices_text(label,column_name,selector,help) then "{ name: \""+column_name+"\", label: \""+_T(label)+"\", editable:true, edittype:\"select\", editoptions:{value: "+to_jqGrid_selector(selector.get(db, empty_referer, ""))+"},"+ " formatter: \"select\","+ " formatoptions:{value: "+to_jqGrid_selector(selector.get(db, empty_referer, ""))+"},"+ "}", text_area(label,column_name,help) then "{ name: \""+column_name+"\", label: \""+_T(label)+"\" }", boolean(label,column_name,help) then "{ name: \""+column_name+"\", label: \""+_T(label)+"\", editable:true, template: \"booleanCheckboxFa\" }", integer(label,column_name,help) then "{ name: \""+column_name+"\", label: \""+_T(label)+"\", editable:true, template: \"integer\" }", float(label,column_name,help) then "{ name: \""+column_name+"\", label: \""+_T(label)+"\", editable:true, template: \"number\" }", choices_int(label,column_name,selector,help) then "{ name: \""+column_name+"\", label: \""+_T(label)+"\", editable:true, edittype:\"select\", editoptions:{value: "+to_jqGrid_selector(selector.get(db, empty_referer, ""))+"},"+ " formatter: \"select\","+ " formatoptions:{value: "+to_jqGrid_selector(selector.get(db, empty_referer, ""))+"},"+ "}", date(label,column_name,help) then "{ name: \""+column_name+"\", label: \""+_T(label)+"\", editable:true, formatter: \"date\", formatoptions: { newformat: \"Y-M-d\" }}", time(label,column_name,help) then "{ name: \""+column_name+"\", label: \""+_T(label)+"\", editable:true }", datetime(label,column_name,help) then "{ name: \""+column_name+"\", label: \""+_T(label)+"\", editable:true }", color(label, column_name, help) then "{ name: \""+column_name+"\", label: \""+_T(label)+"\", width: 60, editable:false, formatter:formatColor}", phone(label,column_name,help) then "{ name: \""+column_name+"\", label: \""+_T(label)+"\", editable:true, edittype: 'custom', formatter:formatPhone, unformat:unformatPhone, "+custom_edit_phone+"}", email(label,column_name,help) then "{ name: \""+column_name+"\", label: \""+_T(label)+"\", editable:true, edittype: 'custom', formatter:formatEmail, unformat:unformatEmail, "+custom_edit_email+"}", } . public define String to_jqGrid_ColModel ( SQLite3DataBase db, HK_Referer table_referer, (String) -> String _T, List(VT_view_model_entry) models )= "colModel: [\n"+ join(",\n ", [ "{name: 'myac', label: 'Action', width:65, fixed:true, sortable:false, resize:false, formatter:'actions', formatoptions:{keys:true}}" . map((VT_view_model_entry col_model) |-> to_jqGrid_ColModel(db, table_referer, col_model, _T), models) ] )+ "]" .