Commit b4174bbae9f28a186b844afb962bda1ee083977e
1 parent
2cf7bf21
in javascipt code change the double quote by single quote which more readable under anubis source
Showing
2 changed files
with
117 additions
and
54 deletions
Show diff stats
view/jqgrid.anubis
| @@ -7,6 +7,7 @@ | @@ -7,6 +7,7 @@ | ||
| 7 | */ | 7 | */ |
| 8 | 8 | ||
| 9 | read xlib/web/making_a_web_site.anubis | 9 | read xlib/web/making_a_web_site.anubis |
| 10 | +read xlib/web/js_tools.anubis | ||
| 10 | read hayamiki_lib/types/hayamiki.anubis | 11 | read hayamiki_lib/types/hayamiki.anubis |
| 11 | read hayamiki_lib/view/types/hk_form.anubis | 12 | read hayamiki_lib/view/types/hk_form.anubis |
| 12 | read hayamiki_lib/view/types/hk_view.anubis | 13 | read hayamiki_lib/view/types/hk_view.anubis |
| @@ -113,14 +114,14 @@ define String | @@ -113,14 +114,14 @@ define String | ||
| 113 | with empty_referer = hk_referer("","","",""), | 114 | with empty_referer = hk_referer("","","",""), |
| 114 | with result = if model is | 115 | with result = if model is |
| 115 | { | 116 | { |
| 116 | - primary_key then "{ name: \"id\", hidden:true }", | ||
| 117 | - information(label,column_name,width,help) then "{ name: \""+column_name+"\", label: \""+_T(label)+"\", autoResizable: true, "+search_options(column_name)+"}", | ||
| 118 | - text(label,column_name,help) then "{ name: \""+column_name+"\", label: \""+_T(label)+"\", editable:true, autoResizable: true, "+search_options(column_name)+" }", | ||
| 119 | - password(label,column_name,help) then "{ name: \""+column_name+"\", label: \""+_T(label)+"\", autoResizable: true }", | 117 | + primary_key then "{ name: 'id', hidden:true }", |
| 118 | + information(label,column_name,width,help) then "{ name: '"+column_name+"', label: "+to_JS_String(_T(label))+", autoResizable: true, "+search_options(column_name)+"}", | ||
| 119 | + text(label,column_name,help) then "{ name: '"+column_name+"', label: "+to_JS_String(_T(label))+", editable:true, autoResizable: true, "+search_options(column_name)+" }", | ||
| 120 | + password(label,column_name,help) then "{ name: '"+column_name+"', label: "+to_JS_String(_T(label))+", autoResizable: true }", | ||
| 120 | foreign_text(label,column_name,selector,help) then | 121 | foreign_text(label,column_name,selector,help) then |
| 121 | logDebug("to_jqGrid_ColModel 1: foreign_text column_name "+column_name); | 122 | logDebug("to_jqGrid_ColModel 1: foreign_text column_name "+column_name); |
| 122 | with jqgrid_selector = to_jqGrid_selector(selector.get(db,table_referer,"")), | 123 | with jqgrid_selector = to_jqGrid_selector(selector.get(db,table_referer,"")), |
| 123 | - "{ name: '"+column_name+"', label: '"+_T(label)+"', editable:true, autoResizable: true, edittype:'select', editoptions: {value: "+jqgrid_selector+", dataInit: function (elem) { | 124 | + "{ name: '"+column_name+"', label: "+to_JS_String(_T(label))+", editable:true, autoResizable: true, edittype:'select', editoptions: {value: "+jqgrid_selector+", dataInit: function (elem) { |
| 124 | $(elem).select2({ | 125 | $(elem).select2({ |
| 125 | dropdownCssClass: 'ui-widget ui-jqdialog', | 126 | dropdownCssClass: 'ui-widget ui-jqdialog', |
| 126 | width: '100%' | 127 | width: '100%' |
| @@ -132,7 +133,7 @@ define String | @@ -132,7 +133,7 @@ define String | ||
| 132 | choices_text(label,column_name,selector,help) then | 133 | choices_text(label,column_name,selector,help) then |
| 133 | logDebug("to_jqGrid_ColModel 1: choices_text column_name "+column_name); | 134 | logDebug("to_jqGrid_ColModel 1: choices_text column_name "+column_name); |
| 134 | with jqgrid_selector = to_jqGrid_selector(selector.get(db, empty_referer, "")), | 135 | with jqgrid_selector = to_jqGrid_selector(selector.get(db, empty_referer, "")), |
| 135 | - "{ name: '"+column_name+"', label: '"+_T(label)+"', editable:true, autoResizable: true, edittype:'select', editoptions:{value: "+jqgrid_selector+",dataInit: function (elem) { | 136 | + "{ name: '"+column_name+"', label: "+to_JS_String(_T(label))+", editable:true, autoResizable: true, edittype:'select', editoptions:{value: "+jqgrid_selector+",dataInit: function (elem) { |
| 136 | $(elem).select2({ | 137 | $(elem).select2({ |
| 137 | dropdownCssClass: 'ui-widget ui-jqdialog', | 138 | dropdownCssClass: 'ui-widget ui-jqdialog', |
| 138 | width: '100%' | 139 | width: '100%' |
| @@ -141,24 +142,24 @@ define String | @@ -141,24 +142,24 @@ define String | ||
| 141 | //" formatter: \"select\","+ | 142 | //" formatter: \"select\","+ |
| 142 | //" formatoptions:{value: "+jqgrid_selector+"},"+ | 143 | //" formatoptions:{value: "+jqgrid_selector+"},"+ |
| 143 | "}", | 144 | "}", |
| 144 | - text_area(label,column_name,help) then "{ name: \""+column_name+"\", label: \""+_T(label)+"\" }", | ||
| 145 | - boolean(label,column_name,help) then "{ name: \""+column_name+"\", label: \""+_T(label)+"\", editable:true, autoResizable: true, template: \"booleanCheckboxFa\" }", | ||
| 146 | - integer(label,column_name,help) then "{ name: \""+column_name+"\", label: \""+_T(label)+"\", editable:true, autoResizable: true, template: \"integer\" }", | ||
| 147 | - float(label,column_name,help) then "{ name: \""+column_name+"\", label: \""+_T(label)+"\", editable:true, autoResizable: true, template: \"number\" }", | 145 | + text_area(label,column_name,help) then "{ name: '"+column_name+"', label: "+to_JS_String(_T(label))+" }", |
| 146 | + boolean(label,column_name,help) then "{ name: '"+column_name+"', label: "+to_JS_String(_T(label))+", editable:true, autoResizable: true, template: 'booleanCheckboxFa' }", | ||
| 147 | + integer(label,column_name,help) then "{ name: '"+column_name+"', label: "+to_JS_String(_T(label))+", editable:true, autoResizable: true, template: 'integer' }", | ||
| 148 | + float(label,column_name,help) then "{ name: '"+column_name+"', label: "+to_JS_String(_T(label))+", editable:true, autoResizable: true, template: 'number' }", | ||
| 148 | choices_int(label,column_name,selector,help) then | 149 | choices_int(label,column_name,selector,help) then |
| 149 | logDebug("to_jqGrid_ColModel 1: choices_int column_name "+column_name); | 150 | logDebug("to_jqGrid_ColModel 1: choices_int column_name "+column_name); |
| 150 | with jqgrid_selector = to_jqGrid_selector(selector.get(db, empty_referer, "")), | 151 | with jqgrid_selector = to_jqGrid_selector(selector.get(db, empty_referer, "")), |
| 151 | - "{ name: \""+column_name+"\", label: \""+_T(label)+"\", editable:true, autoResizable: true, edittype:\"select\", editoptions:{value: "+jqgrid_selector+"},"+ | ||
| 152 | - " formatter: \"select\","+ | 152 | + "{ name: '"+column_name+"', label: "+to_JS_String(_T(label))+", editable:true, autoResizable: true, edittype:'select', editoptions:{value: "+jqgrid_selector+"},"+ |
| 153 | + " formatter: 'select',"+ | ||
| 153 | " formatoptions:{value: "+jqgrid_selector+"},"+ | 154 | " formatoptions:{value: "+jqgrid_selector+"},"+ |
| 154 | "}", | 155 | "}", |
| 155 | - date(label,column_name,help) then "{ name: \""+column_name+"\", label: \""+_T(label)+"\", editable:true, autoResizable: true, formatter: \"date\", formatoptions: { newformat: \"Y-M-d\" }}", | ||
| 156 | - time(label,column_name,help) then "{ name: \""+column_name+"\", label: \""+_T(label)+"\", editable:true, autoResizable: true }", | ||
| 157 | - datetime(label,column_name,help) then "{ name: \""+column_name+"\", label: \""+_T(label)+"\", editable:true, autoResizable: true }", | ||
| 158 | - 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+" }", | ||
| 159 | - 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+"}", | ||
| 160 | - 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+"}", | ||
| 161 | - url(label, column_name, help) then "{ name: \""+column_name+"\", label: \""+_T(label)+"\", editable:true, autoResizable: true, "+search_options(column_name)+" }", | 156 | + date(label,column_name,help) then "{ name: '"+column_name+"', label: "+to_JS_String(_T(label))+", editable:true, autoResizable: true, formatter: 'date', formatoptions: { newformat: 'Y-M-d' }}", |
| 157 | + time(label,column_name,help) then "{ name: '"+column_name+"', label: "+to_JS_String(_T(label))+", editable:true, autoResizable: true }", | ||
| 158 | + datetime(label,column_name,help) then "{ name: '"+column_name+"', label: "+to_JS_String(_T(label))+", editable:true, autoResizable: true }", | ||
| 159 | + color(label, column_name, help) then "{ name: '"+column_name+"', label: "+to_JS_String(_T(label))+", width: 40, editable:true, autoResizable: true, edittype: 'custom', formatter:formatColor, unformat:unformatColor, "+custom_edit_color+" }", | ||
| 160 | + phone(label,column_name, ph_type, help) then "{ name: '"+column_name+"', label: "+to_JS_String(_T(label))+", editable:true, autoResizable: true, edittype: 'custom', formatter:formatPhone, unformat:unformatPhone, "+custom_edit_phone+"}", | ||
| 161 | + email(label,column_name, help) then "{ name: '"+column_name+"', label: "+to_JS_String(_T(label))+", editable:true, autoResizable: true, edittype: 'custom', formatter:formatEmail, unformat:unformatEmail, "+custom_edit_email+"}", | ||
| 162 | + url(label, column_name, help) then "{ name: '"+column_name+"', label: "+to_JS_String(_T(label))+", editable:true, autoResizable: true, "+search_options(column_name)+" }", | ||
| 162 | }, | 163 | }, |
| 163 | logDebug(show_duration_string("to_jqGrid_ColModel 1: result", start_time)); | 164 | logDebug(show_duration_string("to_jqGrid_ColModel 1: result", start_time)); |
| 164 | result | 165 | result |
view/view_table_renderer.anubis
| @@ -6,6 +6,7 @@ | @@ -6,6 +6,7 @@ | ||
| 6 | * | 6 | * |
| 7 | */ | 7 | */ |
| 8 | 8 | ||
| 9 | +read hayamiki_lib/controller/hk_utils.anubis | ||
| 9 | read hayamiki_lib/view/types/hk_form_entry.anubis | 10 | read hayamiki_lib/view/types/hk_form_entry.anubis |
| 10 | read hayamiki_lib/view/types/hk_form.anubis | 11 | read hayamiki_lib/view/types/hk_form.anubis |
| 11 | read hayamiki_lib/view/types/hk_view.anubis | 12 | read hayamiki_lib/view/types/hk_view.anubis |
| @@ -380,7 +381,7 @@ define String | @@ -380,7 +381,7 @@ define String | ||
| 380 | logDebug("jqGrid_options: entry"); | 381 | logDebug("jqGrid_options: entry"); |
| 381 | with result = " | 382 | with result = " |
| 382 | editurl: '?aws_c=hk_c&aws_a=grid_action&table_name="+rows.table_name+"', | 383 | editurl: '?aws_c=hk_c&aws_a=grid_action&table_name="+rows.table_name+"', |
| 383 | - iconSet: \"fontAwesome\", | 384 | + iconSet: 'fontAwesome', |
| 384 | cmTemplate: { autoResizable: true}, | 385 | cmTemplate: { autoResizable: true}, |
| 385 | autoResizing: { compact: true, resetWidthOrg: true }, | 386 | autoResizing: { compact: true, resetWidthOrg: true }, |
| 386 | autoresizeOnLoad: true, | 387 | autoresizeOnLoad: true, |
| @@ -397,42 +398,42 @@ define String | @@ -397,42 +398,42 @@ define String | ||
| 397 | cellurl: '?aws_c=hk_c&aws_a=grid_action&table_name="+rows.table_name+"', | 398 | cellurl: '?aws_c=hk_c&aws_a=grid_action&table_name="+rows.table_name+"', |
| 398 | editurl: '?aws_c=hk_c&aws_a=grid_action&table_name="+rows.table_name+"', | 399 | editurl: '?aws_c=hk_c&aws_a=grid_action&table_name="+rows.table_name+"', |
| 399 | onSelectRow: function (rowid, status, e) { | 400 | onSelectRow: function (rowid, status, e) { |
| 400 | - var $self = $(this), savedRow = $self.jqGrid(\"getGridParam\", \"savedRow\"); | 401 | + var $self = $(this), savedRow = $self.jqGrid('getGridParam', 'savedRow'); |
| 401 | if (savedRow.length > 0 && savedRow[0].id !== rowid) { | 402 | if (savedRow.length > 0 && savedRow[0].id !== rowid) { |
| 402 | $self.jqGrid(\"restoreRow\", savedRow[0].id); | 403 | $self.jqGrid(\"restoreRow\", savedRow[0].id); |
| 403 | } | 404 | } |
| 404 | }, | 405 | }, |
| 405 | ondblClickRow: function (rowid, iRow, iCol, e) { | 406 | ondblClickRow: function (rowid, iRow, iCol, e) { |
| 406 | - var $self = $(this), savedRow = $self.jqGrid(\"getGridParam\", \"savedRow\"); | 407 | + var $self = $(this), savedRow = $self.jqGrid('getGridParam', 'savedRow'); |
| 407 | if (savedRow.length > 0 && savedRow[0].id !== rowid) { | 408 | if (savedRow.length > 0 && savedRow[0].id !== rowid) { |
| 408 | - $self.jqGrid(\"restoreRow\", savedRow[0].id); | 409 | + $self.jqGrid('restoreRow', savedRow[0].id); |
| 409 | } | 410 | } |
| 410 | - $self.jqGrid(\"editRow\", rowid, { focusField: e.target }); | 411 | + $self.jqGrid('editRow', rowid, { focusField: e.target }); |
| 411 | }, | 412 | }, |
| 412 | 413 | ||
| 413 | afterAddRow: function () { | 414 | afterAddRow: function () { |
| 414 | recreateFilterToolbar.call(this); | 415 | recreateFilterToolbar.call(this); |
| 415 | - //updateAutocompleteSource.call(this, \"name\"); | 416 | + //updateAutocompleteSource.call(this, 'name'); |
| 416 | }, | 417 | }, |
| 417 | afterSetRow: function () { | 418 | afterSetRow: function () { |
| 418 | recreateFilterToolbar.call(this); | 419 | recreateFilterToolbar.call(this); |
| 419 | - //updateAutocompleteSource.call(this, \"name\"); | 420 | + //updateAutocompleteSource.call(this, 'name'); |
| 420 | }, | 421 | }, |
| 421 | afterDelRow: function () { | 422 | afterDelRow: function () { |
| 422 | - //updateAutocompleteSource.call(this, \"name\"); | 423 | + //updateAutocompleteSource.call(this, 'name'); |
| 423 | recreateFilterToolbar.call(this); | 424 | recreateFilterToolbar.call(this); |
| 424 | }, | 425 | }, |
| 425 | caption:"+to_JSON_String(_T(to_upper(rows.table_name)))+", | 426 | caption:"+to_JSON_String(_T(to_upper(rows.table_name)))+", |
| 426 | actionsNavOptions: { | 427 | actionsNavOptions: { |
| 427 | - openicon: \"fa-folder-open-o\", | ||
| 428 | - opentitle: \"Open (Enter)\", | 428 | + openicon: 'fa-folder-open-o', |
| 429 | + opentitle: 'Open (Enter)', | ||
| 429 | isDisplayButtons: function (options, rowData) { | 430 | isDisplayButtons: function (options, rowData) { |
| 430 | if (options.rowData.closed) { // or rowData.closed | 431 | if (options.rowData.closed) { // or rowData.closed |
| 431 | return { post: { hidden: true }, del: { display: false } }; | 432 | return { post: { hidden: true }, del: { display: false } }; |
| 432 | } | 433 | } |
| 433 | }, | 434 | }, |
| 434 | custom: [ | 435 | custom: [ |
| 435 | - { action: \"open\", position: \"first\", | 436 | + { action: 'open', position: 'first', |
| 436 | onClick: function (options) {"+ | 437 | onClick: function (options) {"+ |
| 437 | jq_dialog_open(dialog_id(uid+"edit_table_dlg_ajax"), "'id='+options.rowid")+ | 438 | jq_dialog_open(dialog_id(uid+"edit_table_dlg_ajax"), "'id='+options.rowid")+ |
| 438 | " | 439 | " |
| @@ -466,7 +467,7 @@ public define HTML_Partial_Content | @@ -466,7 +467,7 @@ public define HTML_Partial_Content | ||
| 466 | "var lastSel; | 467 | "var lastSel; |
| 467 | initAutocomplete = function (elem, cmName) { | 468 | initAutocomplete = function (elem, cmName) { |
| 468 | $(elem).autocomplete({ | 469 | $(elem).autocomplete({ |
| 469 | - source: $(this).jqGrid(\"getUniqueValueFromColumnIndex\", cmName), | 470 | + source: $(this).jqGrid('getUniqueValueFromColumnIndex', cmName), |
| 470 | delay: 0, | 471 | delay: 0, |
| 471 | minLength: 0 | 472 | minLength: 0 |
| 472 | }); | 473 | }); |
| @@ -477,11 +478,11 @@ public define HTML_Partial_Content | @@ -477,11 +478,11 @@ public define HTML_Partial_Content | ||
| 477 | .jqGrid(\"filterToolbar\"); | 478 | .jqGrid(\"filterToolbar\"); |
| 478 | }, | 479 | }, |
| 479 | updateAutocompleteSource = function (cmName) { | 480 | updateAutocompleteSource = function (cmName) { |
| 480 | - var newUniqueValues = $(this).jqGrid(\"getUniqueValueFromColumnIndex\", cmName); | ||
| 481 | - $(\"#gs_\" + this.id + \"_\" + cmName) | ||
| 482 | - .autocomplete(\"option\", \"source\", newUniqueValues); | 481 | + var newUniqueValues = $(this).jqGrid('getUniqueValueFromColumnIndex', cmName); |
| 482 | + $('#gs_' + this.id + '_' + cmName) | ||
| 483 | + .autocomplete('option', 'source', newUniqueValues); | ||
| 483 | }; | 484 | }; |
| 484 | -$(\"#"+uid+"_grid\").jqGrid({ | 485 | +$('#"+uid+"_grid').jqGrid({ |
| 485 | url:'?aws_controller=hk_c&aws_action=grid_view&table_name="+rows.table_name+"&view_name="+rows.view_name+"&filter_name="+filter_name+filter_clause+referer_arg+"',"+ | 486 | url:'?aws_controller=hk_c&aws_action=grid_view&table_name="+rows.table_name+"&view_name="+rows.view_name+"&filter_name="+filter_name+filter_clause+referer_arg+"',"+ |
| 486 | "datatype: \"json\", | 487 | "datatype: \"json\", |
| 487 | "+ | 488 | "+ |
| @@ -491,7 +492,7 @@ url:'?aws_controller=hk_c&aws_action=grid_view&table_name="+rows.table_name+"&vi | @@ -491,7 +492,7 @@ url:'?aws_controller=hk_c&aws_action=grid_view&table_name="+rows.table_name+"&vi | ||
| 491 | ",loadComplete: function () { | 492 | ",loadComplete: function () { |
| 492 | 493 | ||
| 493 | } | 494 | } |
| 494 | - }).jqGrid(\"gridResize\"); | 495 | + }).jqGrid('gridResize'); |
| 495 | function formatColor(cellValue, options, rowObject) { | 496 | function formatColor(cellValue, options, rowObject) { |
| 496 | var color_container = \"<div class=\\\"hk_jscolor\\\" data-color=\\\"\"+ cellValue + \"\\\" style=\\\"background-color:#\"+ cellValue + \"\\\"></div>\"; | 497 | var color_container = \"<div class=\\\"hk_jscolor\\\" data-color=\\\"\"+ cellValue + \"\\\" style=\\\"background-color:#\"+ cellValue + \"\\\"></div>\"; |
| 497 | return color_container; | 498 | return color_container; |
| @@ -688,7 +689,36 @@ define CXM_Form_Field | @@ -688,7 +689,36 @@ define CXM_Form_Field | ||
| 688 | help_text_TAG(tag) then explain(_T(tag)), | 689 | help_text_TAG(tag) then explain(_T(tag)), |
| 689 | help_text(str) then explain(str) | 690 | help_text(str) then explain(str) |
| 690 | }. | 691 | }. |
| 691 | - | 692 | + |
| 693 | +define String | ||
| 694 | + select2_option | ||
| 695 | + ( | ||
| 696 | + String url, | ||
| 697 | + String initial_id, | ||
| 698 | + String initial_text | ||
| 699 | + ) | ||
| 700 | + = | ||
| 701 | +"{ | ||
| 702 | +// initSelection : function (element, callback) { | ||
| 703 | +// var data = [{id:"+initial_id+",text:'"+initial_text+"'}]; | ||
| 704 | +// callback(data) | ||
| 705 | +// }, | ||
| 706 | + ajax:{ | ||
| 707 | + url: '"+url+"&select2=true', | ||
| 708 | + type: 'post', | ||
| 709 | + dataType: 'json', | ||
| 710 | + delay: 250, | ||
| 711 | + data: function(params){ | ||
| 712 | + return { | ||
| 713 | + search: params.term | ||
| 714 | + }; | ||
| 715 | + }, | ||
| 716 | + }, | ||
| 717 | + width: '200px !important', | ||
| 718 | + dropdownCssClass: 'ui-widget ui-jqdialog', | ||
| 719 | +}" | ||
| 720 | +. | ||
| 721 | + | ||
| 692 | 722 | ||
| 693 | //Edit table part | 723 | //Edit table part |
| 694 | public define List(CXM_Form_Field) | 724 | public define List(CXM_Form_Field) |
| @@ -702,6 +732,7 @@ public define List(CXM_Form_Field) | @@ -702,6 +732,7 @@ public define List(CXM_Form_Field) | ||
| 702 | List(HK_Form_Entry) list, | 732 | List(HK_Form_Entry) list, |
| 703 | Bool new_entry, | 733 | Bool new_entry, |
| 704 | Bool no_add, | 734 | Bool no_add, |
| 735 | + VTM vtm, | ||
| 705 | List(CXM_Form_Field) so_far | 736 | List(CXM_Form_Field) so_far |
| 706 | )= | 737 | )= |
| 707 | if list is | 738 | if list is |
| @@ -741,6 +772,11 @@ public define List(CXM_Form_Field) | @@ -741,6 +772,11 @@ public define List(CXM_Form_Field) | ||
| 741 | ], | 772 | ], |
| 742 | 773 | ||
| 743 | foreign_text(s_name, c_name, _value, foreign_table_name, select, active_filters, help) then | 774 | foreign_text(s_name, c_name, _value, foreign_table_name, select, active_filters, help) then |
| 775 | + println("foreign_text -----"); | ||
| 776 | + println("s_name :"+s_name); | ||
| 777 | + println("c_name :"+c_name); | ||
| 778 | + println("_value :"+to_String(_value)); | ||
| 779 | + | ||
| 744 | with dummy = if length(active_filters) > 0 then | 780 | with dummy = if length(active_filters) > 0 then |
| 745 | println("ACTIVE FILTER for "+c_name); | 781 | println("ACTIVE FILTER for "+c_name); |
| 746 | println(join("", map((HK_Foreign_Key_Active_Filter a_filter) |-> | 782 | println(join("", map((HK_Foreign_Key_Active_Filter a_filter) |-> |
| @@ -753,21 +789,39 @@ public define List(CXM_Form_Field) | @@ -753,21 +789,39 @@ public define List(CXM_Form_Field) | ||
| 753 | unique, | 789 | unique, |
| 754 | with uid = "_"+generate_random_string(20)+"_", | 790 | with uid = "_"+generate_random_string(20)+"_", |
| 755 | with refresh_func = uid+foreign_table_name+"_"+c_name+"_selector_refresh", | 791 | with refresh_func = uid+foreign_table_name+"_"+c_name+"_selector_refresh", |
| 756 | - //Get the priority of the web argument content for the value, this means the value already set by the user or called with programmaticaly with it | 792 | + |
| 793 | + //Get the priority of the web argument content for the value, this means the value already set by the user or called with programmaticaly with it | ||
| 757 | with value = get_DB_id(lwa, c_name, _value), | 794 | with value = get_DB_id(lwa, c_name, _value), |
| 758 | - //create refresh function and call it first to construct the dropdown | ||
| 759 | - with load_script = script("text/javascript","function "+refresh_func+"() { Xlib.load_content('"+uid+foreign_table_name+"_"+c_name+"_selector', '?aws_c=hk_c&aws_a=selector&table_name="+foreign_table_name+"&fk_filter="+fk_clause+"&selected="+value+"&"+to_Web_arg(table_referer, "")+"'); $('#"+uid+foreign_table_name+"_"+c_name+"_selector').select2();} "+refresh_func+"(); "), | ||
| 760 | - [ | ||
| 761 | - partial(jq_dialog_create(dialog_id(uid+foreign_table_name+"_dlg_ajax"), ajax(controller_action("hk_c", "ajax_edit_table&dialog_id="+uid+foreign_table_name+"_dlg_ajax&sub_dialog=true&table_name="+foreign_table_name+"&after_close_cb="+refresh_func)))), | ||
| 762 | - one_line_fields([ | ||
| 763 | - partial(partial_content([js_inline(load_script)],empty)), | ||
| 764 | - selector_c([],label(_T(s_name), no_help), html_Id(uid+foreign_table_name+"_"+c_name+"_selector"), wan(c_name), 1, [],/*select.get(db, table_referer, fk_clause), */ success(init("")), mandatory), help_line(help, _T), | ||
| 765 | - if no_add then | ||
| 766 | - empty | ||
| 767 | - else | ||
| 768 | - partial(img_button(icn16_add, [event(onclick, jq_dialog_open(dialog_id(uid+foreign_table_name+"_dlg_ajax")))], "", [])), | ||
| 769 | - ]) | ||
| 770 | - ], | 795 | + println("value :"+to_String(value)); |
| 796 | + with view_only = get_Bool(lwa, "vo_"+c_name, false), | ||
| 797 | + with fk_show_string = row_show_string(db, vtm, foreign_table_name, value), | ||
| 798 | + if view_only then | ||
| 799 | + //[input_readonly(label(_T(s_name), no_help), wan(c_name), init(not_null_String(fk_show_string)), narrow), help_line(help, _T)] | ||
| 800 | + [ | ||
| 801 | + hidden(html_Id(""), wan(c_name), wav(to_String(value))), | ||
| 802 | + message(to_String(format_label(label(_T(s_name), no_help), html_Id("")))+not_null_String(fk_show_string))] | ||
| 803 | + else | ||
| 804 | + (with select2_option_str = select2_option("?aws_c=hk_c&aws_a=selector&table_name="+foreign_table_name+"&fk_filter="+fk_clause+"&selected="+value+"&"+to_Web_arg(table_referer, ""), | ||
| 805 | + to_String(value), | ||
| 806 | + fk_show_string), | ||
| 807 | + //create refresh function and call it first to construct the dropdown | ||
| 808 | + // with load_script = script("text/javascript","function "+refresh_func+"() { Xlib.load_content('"+uid+foreign_table_name+"_"+c_name+"_selector', '?aws_c=hk_c&aws_a=selector&table_name="+foreign_table_name+"&fk_filter="+fk_clause+"&selected="+value+"&"+to_Web_arg(table_referer, "")+"'); $('#"+uid+foreign_table_name+"_"+c_name+"_selector').select2();} "+refresh_func+"(); "), | ||
| 809 | + with refresh_script = script("text/javascript","function "+refresh_func+"() { $('#"+uid+foreign_table_name+"_"+c_name+"_selector').select2('destroy');$('#"+uid+foreign_table_name+"_"+c_name+"_selector').select2("+select2_option_str+");} "), | ||
| 810 | + with init_script = "var newOption"+uid+foreign_table_name+"_"+c_name+"_selector = new Option("+to_JS_String(fk_show_string)+", '"+to_String(value)+"', true, true); | ||
| 811 | + $('#"+uid+foreign_table_name+"_"+c_name+"_selector').select2("+select2_option_str+").append(newOption"+uid+foreign_table_name+"_"+c_name+"_selector).trigger('change');", | ||
| 812 | + [ | ||
| 813 | + partial(jq_dialog_create(dialog_id(uid+foreign_table_name+"_dlg_ajax"), ajax(controller_action("hk_c", "ajax_edit_table&dialog_id="+uid+foreign_table_name+"_dlg_ajax&sub_dialog=true&table_name="+foreign_table_name+"&after_close_cb="+refresh_func)))), | ||
| 814 | + one_line_fields([ | ||
| 815 | + partial(partial_content([js_inline(refresh_script), | ||
| 816 | + js_inline(jquery_ready(init_script)) | ||
| 817 | + ],empty)), | ||
| 818 | + selector_c([],label(_T(s_name), no_help), html_Id(uid+foreign_table_name+"_"+c_name+"_selector"), wan(c_name), 1, [],/*select.get(db, table_referer, fk_clause), */ success(init("")), mandatory), help_line(help, _T), | ||
| 819 | + if no_add then | ||
| 820 | + empty | ||
| 821 | + else | ||
| 822 | + partial(img_button(icn16_add, [event(onclick, jq_dialog_open(dialog_id(uid+foreign_table_name+"_dlg_ajax")))], "", [])), | ||
| 823 | + ]) | ||
| 824 | + ]), | ||
| 771 | 825 | ||
| 772 | 826 | ||
| 773 | foreign_text_search(s_name, c_name, _select, foreign_table_name, s_fields, active_filters, help) then | 827 | foreign_text_search(s_name, c_name, _select, foreign_table_name, s_fields, active_filters, help) then |
| @@ -783,7 +837,15 @@ public define List(CXM_Form_Field) | @@ -783,7 +837,15 @@ public define List(CXM_Form_Field) | ||
| 783 | unique, | 837 | unique, |
| 784 | with uid = "_"+generate_random_string(20)+"_", | 838 | with uid = "_"+generate_random_string(20)+"_", |
| 785 | //Get the priority of the web argument content for the select, this means the value already set by the user or called with programmaticaly with it | 839 | //Get the priority of the web argument content for the select, this means the value already set by the user or called with programmaticaly with it |
| 786 | - with select = get_DB_id(lwa, c_name, _select), | 840 | + with select = get_DB_id(lwa, c_name, _select), |
| 841 | + with view_only = get_Bool(lwa, "vo_"+c_name, false), | ||
| 842 | + with fk_show_string = row_show_string(db, vtm, foreign_table_name, select), | ||
| 843 | + if view_only then | ||
| 844 | + //[input_readonly(label(_T(s_name), no_help), wan(c_name), init(not_null_String(fk_show_string)), narrow), help_line(help, _T)] | ||
| 845 | + [ | ||
| 846 | + hidden(html_Id(""), wan(c_name), wav(to_String(select))), | ||
| 847 | + message(to_String(format_label(label(_T(s_name), no_help), html_Id("")))+not_null_String(fk_show_string))] | ||
| 848 | + else | ||
| 787 | with combo_init = ajax_combo_init_parameter(uid, foreign_table_name, c_name, to_mb_Int(select), s_fields, active_filters), | 849 | with combo_init = ajax_combo_init_parameter(uid, foreign_table_name, c_name, to_mb_Int(select), s_fields, active_filters), |
| 788 | [ | 850 | [ |
| 789 | 851 | ||
| @@ -853,7 +915,7 @@ public define List(CXM_Form_Field) | @@ -853,7 +915,7 @@ public define List(CXM_Form_Field) | ||
| 853 | url( s_name, c_name, value, help) then | 915 | url( s_name, c_name, value, help) then |
| 854 | [url_input([event(onclick, "hk_go_url(this)")], [class("hk_input_url")], label(_T(s_name), no_help), html_Id(c_name), wan(c_name), init(not_null_String(value)), narrow, mandatory), help_line(help, _T)], | 916 | [url_input([event(onclick, "hk_go_url(this)")], [class("hk_input_url")], label(_T(s_name), no_help), html_Id(c_name), wan(c_name), init(not_null_String(value)), narrow, mandatory), help_line(help, _T)], |
| 855 | }, | 917 | }, |
| 856 | - edit_form_lines(db, fk_clause, table_referer, lwa, _T, t, new_entry, no_add, reverse(line)+so_far) | 918 | + edit_form_lines(db, fk_clause, table_referer, lwa, _T, t, new_entry, no_add, vtm, reverse(line)+so_far) |
| 857 | }. | 919 | }. |
| 858 | 920 | ||
| 859 | 921 | ||
| @@ -921,7 +983,7 @@ public define HTML_Partial_Content | @@ -921,7 +983,7 @@ public define HTML_Partial_Content | ||
| 921 | [] | 983 | [] |
| 922 | ) | 984 | ) |
| 923 | + | 985 | + |
| 924 | - edit_form_lines(db, "", table_referer, lwa, _T, list_entries, create, no_add, []) | 986 | + edit_form_lines(db, "", table_referer, lwa, _T, list_entries, create, no_add, vtm, []) |
| 925 | + | 987 | + |
| 926 | (if id = "none" then | 988 | (if id = "none" then |
| 927 | [] | 989 | [] |