/* * Created by PyramIDE. * User: フランスのトトロ aka (David RENÉ) * Date: 21/03/2017 * Time: 22:49 * © David RENÉ */ 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 custom_edit_color = " editoptions: { custom_element: function(value, options) { var el = document.createElement('input'); el.type='text'; el.value = value; var myPicker = new jscolor(el); myPicker.fromString(value); return el; }, custom_value: function(elem, operation, value ) { if (operation === 'get') { return $(elem).val(); // change this to get value from color picker } else if (operation === 'set') { $('input',elem).val(value); // change this to set value of color picker } } } " . define String search_options ( String col_name )= " searchoptions: { dataInit: function (elem, options) { initAutocomplete.call(this, elem, \""+col_name+"\"); }, sopt: [ 'cn', 'eq', 'bw', 'ew', 'bn', 'nc', 'en' ], clearSearch: true }" . 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)+"\", autoResizable: true, "+search_options(column_name)+"}", text(label,column_name,help) then "{ name: \""+column_name+"\", label: \""+_T(label)+"\", editable:true, autoResizable: true, "+search_options(column_name)+" }", password(label,column_name,help) then "{ name: \""+column_name+"\", label: \""+_T(label)+"\", autoResizable: true }", foreign_text(label,column_name,selector,help) then "{ name: \""+column_name+"\", label: \""+_T(label)+"\", editable:true, autoResizable: 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, autoResizable: 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, autoResizable: true, template: \"booleanCheckboxFa\" }", integer(label,column_name,help) then "{ name: \""+column_name+"\", label: \""+_T(label)+"\", editable:true, autoResizable: true, template: \"integer\" }", float(label,column_name,help) then "{ name: \""+column_name+"\", label: \""+_T(label)+"\", editable:true, autoResizable: true, template: \"number\" }", choices_int(label,column_name,selector,help) then "{ name: \""+column_name+"\", label: \""+_T(label)+"\", editable:true, autoResizable: 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, autoResizable: true, formatter: \"date\", formatoptions: { newformat: \"Y-M-d\" }}", time(label,column_name,help) then "{ name: \""+column_name+"\", label: \""+_T(label)+"\", editable:true, autoResizable: true }", datetime(label,column_name,help) then "{ name: \""+column_name+"\", label: \""+_T(label)+"\", editable:true, autoResizable: true }", color(label, column_name, help) then "{ name: \""+column_name+"\", label: \""+_T(label)+"\", width: 40, editable:true, autoResizable: true, edittype: 'custom', formatter:formatColor, unformat:unformatColor, "+custom_edit_color+" }", phone(label,column_name, ph_type, help) then "{ name: \""+column_name+"\", label: \""+_T(label)+"\", editable:true, autoResizable: true, edittype: 'custom', formatter:formatPhone, unformat:unformatPhone, "+custom_edit_phone+"}", email(label,column_name, help) then "{ name: \""+column_name+"\", label: \""+_T(label)+"\", editable:true, autoResizable: true, edittype: 'custom', formatter:formatEmail, unformat:unformatEmail, "+custom_edit_email+"}", url(label, column_name, help) then "{ name: \""+column_name+"\", label: \""+_T(label)+"\", editable:true, autoResizable: true, "+search_options(column_name)+" }", } . 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: '', 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) ] )+ "]" .