Commit 17c955e7ba74732e62ef23bb38642a2023230967
1 parent
ee7a1e4b
add autoresize in in jqgrid
Showing
3 changed files
with
76 additions
and
22 deletions
Show diff stats
view/jqgrid.anubis
| @@ -58,6 +58,21 @@ define String | @@ -58,6 +58,21 @@ define String | ||
| 58 | . | 58 | . |
| 59 | 59 | ||
| 60 | define String | 60 | define String |
| 61 | + search_options | ||
| 62 | + ( | ||
| 63 | + String col_name | ||
| 64 | + )= | ||
| 65 | +" searchoptions: { | ||
| 66 | + dataInit: function (elem, options) { | ||
| 67 | + initAutocomplete.call(this, elem, \""+col_name+"\"); | ||
| 68 | + }, | ||
| 69 | + sopt: [ 'cn', 'eq', 'bw', 'ew', 'bn', 'nc', 'en' ], | ||
| 70 | + clearSearch: true | ||
| 71 | + }" | ||
| 72 | +. | ||
| 73 | + | ||
| 74 | + | ||
| 75 | +define String | ||
| 61 | to_jqGrid_ColModel | 76 | to_jqGrid_ColModel |
| 62 | ( | 77 | ( |
| 63 | SQLite3DataBase db, | 78 | SQLite3DataBase db, |
| @@ -69,33 +84,33 @@ define String | @@ -69,33 +84,33 @@ define String | ||
| 69 | if model is | 84 | if model is |
| 70 | { | 85 | { |
| 71 | primary_key then "{ name: \"id\", hidden:true }", | 86 | primary_key then "{ name: \"id\", hidden:true }", |
| 72 | - information(label,column_name,width,help) then "{ name: \""+column_name+"\", label: \""+_T(label)+"\" }", | ||
| 73 | - text(label,column_name,help) then "{ name: \""+column_name+"\", label: \""+_T(label)+"\", editable:true }", | ||
| 74 | - password(label,column_name,help) then "{ name: \""+column_name+"\", label: \""+_T(label)+"\" }", | 87 | + information(label,column_name,width,help) then "{ name: \""+column_name+"\", label: \""+_T(label)+"\", autoResizable: true, "+search_options(column_name)+"}", |
| 88 | + text(label,column_name,help) then "{ name: \""+column_name+"\", label: \""+_T(label)+"\", editable:true, autoResizable: true, "+search_options(column_name)+" }", | ||
| 89 | + password(label,column_name,help) then "{ name: \""+column_name+"\", label: \""+_T(label)+"\", autoResizable: true }", | ||
| 75 | foreign_text(label,column_name,selector,help) then | 90 | foreign_text(label,column_name,selector,help) then |
| 76 | - "{ name: \""+column_name+"\", label: \""+_T(label)+"\", editable:true, edittype:\"select\", editoptions:{value: "+to_jqGrid_selector(selector.get(db,table_referer,""))+"},"+ | 91 | + "{ name: \""+column_name+"\", label: \""+_T(label)+"\", editable:true, autoResizable: true, edittype:\"select\", editoptions:{value: "+to_jqGrid_selector(selector.get(db,table_referer,""))+"},"+ |
| 77 | " formatter: \"select\","+ | 92 | " formatter: \"select\","+ |
| 78 | " formatoptions:{value: "+to_jqGrid_selector(selector.get(db, table_referer, ""))+"},"+ | 93 | " formatoptions:{value: "+to_jqGrid_selector(selector.get(db, table_referer, ""))+"},"+ |
| 79 | "}", | 94 | "}", |
| 80 | choices_text(label,column_name,selector,help) then | 95 | choices_text(label,column_name,selector,help) then |
| 81 | - "{ name: \""+column_name+"\", label: \""+_T(label)+"\", editable:true, edittype:\"select\", editoptions:{value: "+to_jqGrid_selector(selector.get(db, empty_referer, ""))+"},"+ | 96 | + "{ name: \""+column_name+"\", label: \""+_T(label)+"\", editable:true, autoResizable: true, edittype:\"select\", editoptions:{value: "+to_jqGrid_selector(selector.get(db, empty_referer, ""))+"},"+ |
| 82 | " formatter: \"select\","+ | 97 | " formatter: \"select\","+ |
| 83 | " formatoptions:{value: "+to_jqGrid_selector(selector.get(db, empty_referer, ""))+"},"+ | 98 | " formatoptions:{value: "+to_jqGrid_selector(selector.get(db, empty_referer, ""))+"},"+ |
| 84 | "}", | 99 | "}", |
| 85 | text_area(label,column_name,help) then "{ name: \""+column_name+"\", label: \""+_T(label)+"\" }", | 100 | text_area(label,column_name,help) then "{ name: \""+column_name+"\", label: \""+_T(label)+"\" }", |
| 86 | - boolean(label,column_name,help) then "{ name: \""+column_name+"\", label: \""+_T(label)+"\", editable:true, template: \"booleanCheckboxFa\" }", | ||
| 87 | - integer(label,column_name,help) then "{ name: \""+column_name+"\", label: \""+_T(label)+"\", editable:true, template: \"integer\" }", | ||
| 88 | - float(label,column_name,help) then "{ name: \""+column_name+"\", label: \""+_T(label)+"\", editable:true, template: \"number\" }", | ||
| 89 | - 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, ""))+"},"+ | 101 | + boolean(label,column_name,help) then "{ name: \""+column_name+"\", label: \""+_T(label)+"\", editable:true, autoResizable: true, template: \"booleanCheckboxFa\" }", |
| 102 | + integer(label,column_name,help) then "{ name: \""+column_name+"\", label: \""+_T(label)+"\", editable:true, autoResizable: true, template: \"integer\" }", | ||
| 103 | + float(label,column_name,help) then "{ name: \""+column_name+"\", label: \""+_T(label)+"\", editable:true, autoResizable: true, template: \"number\" }", | ||
| 104 | + 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, ""))+"},"+ | ||
| 90 | " formatter: \"select\","+ | 105 | " formatter: \"select\","+ |
| 91 | " formatoptions:{value: "+to_jqGrid_selector(selector.get(db, empty_referer, ""))+"},"+ | 106 | " formatoptions:{value: "+to_jqGrid_selector(selector.get(db, empty_referer, ""))+"},"+ |
| 92 | "}", | 107 | "}", |
| 93 | - date(label,column_name,help) then "{ name: \""+column_name+"\", label: \""+_T(label)+"\", editable:true, formatter: \"date\", formatoptions: { newformat: \"Y-M-d\" }}", | ||
| 94 | - time(label,column_name,help) then "{ name: \""+column_name+"\", label: \""+_T(label)+"\", editable:true }", | ||
| 95 | - datetime(label,column_name,help) then "{ name: \""+column_name+"\", label: \""+_T(label)+"\", editable:true }", | ||
| 96 | - color(label, column_name, help) then "{ name: \""+column_name+"\", label: \""+_T(label)+"\", width: 60, editable:false, formatter:formatColor}", | ||
| 97 | - phone(label,column_name,help) then "{ name: \""+column_name+"\", label: \""+_T(label)+"\", editable:true, edittype: 'custom', formatter:formatPhone, unformat:unformatPhone, "+custom_edit_phone+"}", | ||
| 98 | - email(label,column_name,help) then "{ name: \""+column_name+"\", label: \""+_T(label)+"\", editable:true, edittype: 'custom', formatter:formatEmail, unformat:unformatEmail, "+custom_edit_email+"}", | 108 | + date(label,column_name,help) then "{ name: \""+column_name+"\", label: \""+_T(label)+"\", editable:true, autoResizable: true, formatter: \"date\", formatoptions: { newformat: \"Y-M-d\" }}", |
| 109 | + time(label,column_name,help) then "{ name: \""+column_name+"\", label: \""+_T(label)+"\", editable:true, autoResizable: true }", | ||
| 110 | + datetime(label,column_name,help) then "{ name: \""+column_name+"\", label: \""+_T(label)+"\", editable:true, autoResizable: true }", | ||
| 111 | + color(label, column_name, help) then "{ name: \""+column_name+"\", label: \""+_T(label)+"\", width: 60, editable:false, autoResizable: true, formatter:formatColor}", | ||
| 112 | + phone(label,column_name,help) then "{ name: \""+column_name+"\", label: \""+_T(label)+"\", editable:true, autoResizable: true, edittype: 'custom', formatter:formatPhone, unformat:unformatPhone, "+custom_edit_phone+"}", | ||
| 113 | + 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+"}", | ||
| 99 | 114 | ||
| 100 | } | 115 | } |
| 101 | . | 116 | . |
| @@ -110,7 +125,7 @@ public define String | @@ -110,7 +125,7 @@ public define String | ||
| 110 | )= | 125 | )= |
| 111 | "colModel: [\n"+ | 126 | "colModel: [\n"+ |
| 112 | join(",\n ", | 127 | join(",\n ", |
| 113 | - [ "{name: 'myac', label: 'Action', width:65, fixed:true, sortable:false, resize:false, formatter:'actions', formatoptions:{keys:true}}" . | 128 | + [ "{name: 'myac', label: '', width:65, fixed:true, sortable:false, resize:false, formatter:'actions', formatoptions:{keys:true}}" . |
| 114 | map((VT_view_model_entry col_model) |-> to_jqGrid_ColModel(db, table_referer, col_model, _T), models) | 129 | map((VT_view_model_entry col_model) |-> to_jqGrid_ColModel(db, table_referer, col_model, _T), models) |
| 115 | ] | 130 | ] |
| 116 | )+ | 131 | )+ |
view/view_rows_import.anubis
| @@ -208,7 +208,7 @@ public define HTML_Partial_Content | @@ -208,7 +208,7 @@ public define HTML_Partial_Content | ||
| 208 | ])), //end of sequence in form | 208 | ])), //end of sequence in form |
| 209 | // )]) | 209 | // )]) |
| 210 | partial(jquery_button(jquery_img_button(icn16_cross, _T("CANCEL"), "", jQuery_actioner(same, jqlink(cancel_action)), left))), | 210 | partial(jquery_button(jquery_img_button(icn16_cross, _T("CANCEL"), "", jQuery_actioner(same, jqlink(cancel_action)), left))), |
| 211 | - partial(jquery_button(jquery_img_button(icn16_check, _T("IMPORT"), "", jQuery_actioner(same, jqform("import_csv_form")), left))) | 211 | + partial(img_submit_button(_T("IMPORT"), "import_csv_form")) |
| 212 | ]) //end of sequence | 212 | ]) //end of sequence |
| 213 | ) | 213 | ) |
| 214 | . | 214 | . |
view/view_table_renderer.anubis
| @@ -175,8 +175,16 @@ define String | @@ -175,8 +175,16 @@ define String | ||
| 175 | " | 175 | " |
| 176 | editurl: '?aws_controller=hk_c&aws_action=grid_action&table_name="+rows.table_name+"', | 176 | editurl: '?aws_controller=hk_c&aws_action=grid_action&table_name="+rows.table_name+"', |
| 177 | iconSet: \"fontAwesome\", | 177 | iconSet: \"fontAwesome\", |
| 178 | + cmTemplate: { autoResizable: true}, | ||
| 179 | + autoResizing: { compact: true, resetWidthOrg: true }, | ||
| 180 | + autoresizeOnLoad: true, | ||
| 178 | autowidth:true, | 181 | autowidth:true, |
| 179 | - shrinkToFit:false, | 182 | + /*idPrefix: '_g_"+uid+"_',*/ |
| 183 | + /*pager: '#"+uid+"_pager',*/ | ||
| 184 | + pager: true, | ||
| 185 | + toppager: true, | ||
| 186 | + | ||
| 187 | + /*shrinkToFit:false,*/ | ||
| 180 | rowNum:30, | 188 | rowNum:30, |
| 181 | rowList:[5,10,20,30,50], | 189 | rowList:[5,10,20,30,50], |
| 182 | cellEdit: false, | 190 | cellEdit: false, |
| @@ -197,7 +205,18 @@ define String | @@ -197,7 +205,18 @@ define String | ||
| 197 | $self.jqGrid(\"editRow\", rowid, { focusField: e.target }); | 205 | $self.jqGrid(\"editRow\", rowid, { focusField: e.target }); |
| 198 | }, | 206 | }, |
| 199 | 207 | ||
| 200 | - pager: '#"+uid+"_pager', | 208 | + afterAddRow: function () { |
| 209 | + recreateFilterToolbar.call(this); | ||
| 210 | + //updateAutocompleteSource.call(this, \"name\"); | ||
| 211 | + }, | ||
| 212 | + afterSetRow: function () { | ||
| 213 | + recreateFilterToolbar.call(this); | ||
| 214 | + //updateAutocompleteSource.call(this, \"name\"); | ||
| 215 | + }, | ||
| 216 | + afterDelRow: function () { | ||
| 217 | + //updateAutocompleteSource.call(this, \"name\"); | ||
| 218 | + recreateFilterToolbar.call(this); | ||
| 219 | + }, | ||
| 201 | caption:"+to_JSON_String(_T(to_upper(rows.table_name)))+", | 220 | caption:"+to_JSON_String(_T(to_upper(rows.table_name)))+", |
| 202 | actionsNavOptions: { | 221 | actionsNavOptions: { |
| 203 | openicon: \"fa-folder-open-o\", | 222 | openicon: \"fa-folder-open-o\", |
| @@ -234,9 +253,29 @@ public define HTML_Partial_Content | @@ -234,9 +253,29 @@ public define HTML_Partial_Content | ||
| 234 | )= | 253 | )= |
| 235 | with filter_clause = if clause = "" then "" else "&clause="+url_quote(clause), | 254 | with filter_clause = if clause = "" then "" else "&clause="+url_quote(clause), |
| 236 | with referer_arg = "&"+to_Web_arg(table_referer, ""), | 255 | with referer_arg = "&"+to_Web_arg(table_referer, ""), |
| 237 | - with js = js_inline(jquery_ready("var lastSel;$(\"#"+uid+"_grid\").jqGrid({\n"+ | ||
| 238 | - "url:'?aws_controller=hk_c&aws_action=grid_view&table_name="+rows.table_name+"&view_name="+rows.view_name+filter_clause+referer_arg+"',"+ | ||
| 239 | - "datatype: \"json\","+ | 256 | + with js = js_inline(jquery_ready( |
| 257 | +"var lastSel; | ||
| 258 | + initAutocomplete = function (elem, cmName) { | ||
| 259 | + $(elem).autocomplete({ | ||
| 260 | + source: $(this).jqGrid(\"getUniqueValueFromColumnIndex\", cmName), | ||
| 261 | + delay: 0, | ||
| 262 | + minLength: 0 | ||
| 263 | + }); | ||
| 264 | + }, | ||
| 265 | + recreateFilterToolbar = function () { | ||
| 266 | + $(this) | ||
| 267 | + .jqGrid(\"destroyFilterToolbar\") | ||
| 268 | + .jqGrid(\"filterToolbar\"); | ||
| 269 | + }, | ||
| 270 | + updateAutocompleteSource = function (cmName) { | ||
| 271 | + var newUniqueValues = $(this).jqGrid(\"getUniqueValueFromColumnIndex\", cmName); | ||
| 272 | + $(\"#gs_\" + this.id + \"_\" + cmName) | ||
| 273 | + .autocomplete(\"option\", \"source\", newUniqueValues); | ||
| 274 | + }; | ||
| 275 | +$(\"#"+uid+"_grid\").jqGrid({ | ||
| 276 | +url:'?aws_controller=hk_c&aws_action=grid_view&table_name="+rows.table_name+"&view_name="+rows.view_name+filter_clause+referer_arg+"',"+ | ||
| 277 | + "datatype: \"json\", | ||
| 278 | + "+ | ||
| 240 | to_jqGrid_ColModel(db, table_referer, _T, rows.view_model.list)+","+ | 279 | to_jqGrid_ColModel(db, table_referer, _T, rows.view_model.list)+","+ |
| 241 | // rows.json_data_string+ | 280 | // rows.json_data_string+ |
| 242 | jqGrid_options(uid, rows, _T)+ | 281 | jqGrid_options(uid, rows, _T)+ |