Commit 17c955e7ba74732e62ef23bb38642a2023230967

Authored by totoro
1 parent ee7a1e4b

add autoresize in in jqgrid

view/jqgrid.anubis
... ... @@ -58,6 +58,21 @@ define String
58 58 .
59 59  
60 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 76 to_jqGrid_ColModel
62 77 (
63 78 SQLite3DataBase db,
... ... @@ -69,33 +84,33 @@ define String
69 84 if model is
70 85 {
71 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 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 92 " formatter: \"select\","+
78 93 " formatoptions:{value: "+to_jqGrid_selector(selector.get(db, table_referer, ""))+"},"+
79 94 "}",
80 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 97 " formatter: \"select\","+
83 98 " formatoptions:{value: "+to_jqGrid_selector(selector.get(db, empty_referer, ""))+"},"+
84 99 "}",
85 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 105 " formatter: \"select\","+
91 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 125 )=
111 126 "colModel: [\n"+
112 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 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 208 ])), //end of sequence in form
209 209 // )])
210 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 212 ]) //end of sequence
213 213 )
214 214 .
... ...
view/view_table_renderer.anubis
... ... @@ -175,8 +175,16 @@ define String
175 175 "
176 176 editurl: '?aws_controller=hk_c&aws_action=grid_action&table_name="+rows.table_name+"',
177 177 iconSet: \"fontAwesome\",
  178 + cmTemplate: { autoResizable: true},
  179 + autoResizing: { compact: true, resetWidthOrg: true },
  180 + autoresizeOnLoad: true,
178 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 188 rowNum:30,
181 189 rowList:[5,10,20,30,50],
182 190 cellEdit: false,
... ... @@ -197,7 +205,18 @@ define String
197 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 220 caption:"+to_JSON_String(_T(to_upper(rows.table_name)))+",
202 221 actionsNavOptions: {
203 222 openicon: \"fa-folder-open-o\",
... ... @@ -234,9 +253,29 @@ public define HTML_Partial_Content
234 253 )=
235 254 with filter_clause = if clause = "" then "" else "&clause="+url_quote(clause),
236 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 279 to_jqGrid_ColModel(db, table_referer, _T, rows.view_model.list)+","+
241 280 // rows.json_data_string+
242 281 jqGrid_options(uid, rows, _T)+
... ...