From 5f15d104f09623bf35bb10a5d73bd6d19d2637d4 Mon Sep 17 00:00:00 2001 From: totoro Date: Sun, 2 Apr 2017 04:32:23 +0200 Subject: [PATCH] make color_field editable --- view/jqgrid.anubis | 3 ++- view/view_table_renderer.anubis | 29 +++++++++++++++++++++++------ view/view_table_types.anubis | 18 +++++++++++------- 3 files changed, 36 insertions(+), 14 deletions(-) diff --git a/view/jqgrid.anubis b/view/jqgrid.anubis index 28dfa92..5b663e6 100644 --- a/view/jqgrid.anubis +++ b/view/jqgrid.anubis @@ -53,7 +53,8 @@ define String "}", 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 }", + 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}", } . diff --git a/view/view_table_renderer.anubis b/view/view_table_renderer.anubis index bbca9df..e5cb2b6 100644 --- a/view/view_table_renderer.anubis +++ b/view/view_table_renderer.anubis @@ -52,7 +52,7 @@ define HTML_Off_Form wan("view_name"), //web arg name of the selected entry 1, map((String view_name) |-> ([], wav(view_name), _T(view_name)), vtm_v.get_all_view_name(unique)), - success(init(_T(current_view))), + success(init(current_view)), "" ), hkc_view_table, @@ -192,7 +192,8 @@ define String } } ] - }" + } + " // ondblClickRow: function( rowid) {"+ // jq_dialog_open(dialog_id(uid+"edit_table_dlg_ajax"), "'id='+rowid")+ . @@ -214,8 +215,18 @@ public define HTML_Partial_Content to_jqGrid_ColModel(db, _T, rows.view_model.list)+","+ // rows.json_data_string+ jqGrid_options(uid, rows, _T)+ - "}).jqGrid(\"gridResize\");")), - + ",loadComplete: function () { + jscolor.installByClassName(\"jscolor\"); + } + }).jqGrid(\"gridResize\"); + function formatColor(cellValue, options, rowObject) { + var colorInput = \"\"; + return colorInput; + } + function unformatColor(cellValue, options, cellObject) { + return $(cellObject.html()).css(\"backgroundColor\").substring(1); + }")), + partial_content(jqgrid_init(lang) + [js], div([], sequence([ @@ -240,7 +251,8 @@ public define HTML_Partial_Content ) = with current_view = vtm_v.get_view(view_name), with uid = generate_random_string(20)+"_", - partial_content(jq_dialog_init + jq_datetimepicker_init(lang), + partial_content([ js(js_file("js/jscolor.min.js")) + ]+jq_dialog_init + jq_datetimepicker_init(lang), [html_wave_box_wide(_T(to_upper(current_view.table_name)), sequence([ 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)))), @@ -266,7 +278,8 @@ public define HTML_Partial_Content ) = with current_view = vtm_v.get_view(view_name), with uid = generate_random_string(20)+"_", - partial_content( + partial_content([ js(js_file("js/jscolor.min.js")) + ]+ jq_dialog_init + jq_datetimepicker_init(lang), [ @@ -395,6 +408,8 @@ public define List(CXM_Form_Field) [input([class("timepicker")], label(_T(s_name), no_help), html_Id(c_name), wan(c_name), init(value), small, non_mandatory), help_line(help, _T)], datetime(s_name, c_name, value, help) then [input([class("datetimepicker")], label(_T(s_name), no_help), html_Id(c_name), wan(c_name), init(value), custom(18), mandatory), help_line(help, _T)], + color( s_name, c_name, value, help) then + [input([class("jscolor")], label(_T(s_name), no_help), wan(c_name), init(not_null_String(value)), narrow, mandatory), help_line(help, _T)], }, edit_form_lines(db, _T, t, new_entry, reverse(line)+so_far) }. @@ -444,6 +459,8 @@ public define HTML_Partial_Content with button_name_and_new = if create then _T("CREATE_AND_EDIT_NEW") else _T("UPDATE_AND_EDIT_NEW"), partial_content( + [ js(js_file("js/jscolor.min.js")) + ]+ jq_datetimepicker_init(lang) + get_editor_header(vt_elist.list), //add editor header if need. Like init ck_editor sequence([ diff --git a/view/view_table_types.anubis b/view/view_table_types.anubis index b723205..926a99c 100644 --- a/view/view_table_types.anubis +++ b/view/view_table_types.anubis @@ -16,9 +16,9 @@ public type VT_edit_selector: public type VT_edit_entry: hidden (String name, String value), primary_key (String idx), - information (String s_name, String c_name, String v_name, Int width, HK_Help_Text help), //s_name = show_name for translation, v_name = string to show - text (String s_name, String c_name, String value, HK_Help_Text help), //s_name = show_name for translation, c_name = table column name - password (String s_name, String c_name, HK_Help_Text help), //s_name = show_name for translation, c_name = table column name + information (String s_name, String c_name, String v_name, Int width, HK_Help_Text help), //s_name = show_name for translation, v_name = string to show + text (String s_name, String c_name, String value, HK_Help_Text help), //s_name = show_name for translation, c_name = table column name + password (String s_name, String c_name, HK_Help_Text help), //s_name = show_name for translation, c_name = table column name foreign_text(String s_name, String c_name, DB_id selected, VT_edit_selector selector, HK_Help_Text help), choices_text(String s_name, String c_name, String selected, VT_edit_selector selector, HK_Help_Text help), text_area (String s_name, String c_name, String value, HK_Text_Field_Attr area_att, HK_Help_Text help), //s_name = show_name for translate, c_name = table column name @@ -26,9 +26,11 @@ public type VT_edit_entry: integer (String s_name, String c_name, Int value, HK_Help_Text help), float (String s_name, String c_name, Float value, HK_Help_Text help), choices_int (String s_name, String c_name, Int selected, VT_edit_selector selector, HK_Help_Text help), - date (String s_name, String c_name, String value, HK_Help_Text help), - time (String s_name, String c_name, String value, HK_Help_Text help), - datetime (String s_name, String c_name, String value, HK_Help_Text help). + date (String s_name, String c_name, String value, HK_Help_Text help), + time (String s_name, String c_name, String value, HK_Help_Text help), + datetime (String s_name, String c_name, String value, HK_Help_Text help), + color (String s_name, String c_name, String value, HK_Help_Text help) +. public define VT_edit_entry text (String s_name, String c_name, String value) = text(s_name, c_name, value, no_help_text). public define VT_edit_entry foreign_text(String s_name, String c_name, DB_id selected, VT_edit_selector selector) = foreign_text(s_name, c_name, selected, selector, no_help_text). @@ -62,7 +64,9 @@ public type VT_view_model_entry: choices_int (String label, String column_name, VT_edit_selector selector, HK_Help_Text help), date (String label, String column_name, HK_Help_Text help), time (String label, String column_name, HK_Help_Text help), - datetime (String label, String column_name, HK_Help_Text help). + datetime (String label, String column_name, HK_Help_Text help), + color (String label, String column_name, HK_Help_Text help). + public type VT_view_model: vt_view_model(List(VT_view_model_entry) list). -- libgit2 0.21.4