From 3cd724a9ed89f29776a011fd8f4bf734f0959e20 Mon Sep 17 00:00:00 2001 From: Victor Saisa Lopez Date: Wed, 27 Mar 2013 09:57:22 -0400 Subject: [PATCH] BUG 10920 "Add subtitles inside a drop-down" SOLVED - New feature, add subtitles inside a drop-down - Solved problem, added grouping elements in DropDowns - If a DropDown has enabled optgroup, an example with SQL would be the following: (SELECT 'optgroup1' AS UID, 'Users' AS NAME) UNION (SELECT USR.USR_UID AS UID, USR.USR_USERNAME AS NAME FROM USERS AS USR WHERE USR.USR_USERNAME <> '' AND USR.USR_USERNAME LIKE 'u%' ) UNION (SELECT 'optgroup2' AS UID, 'Countries' AS NAME) UNION (SELECT COUNTRY.IC_UID AS UID, COUNTRY.IC_NAME AS NAME FROM ISO_COUNTRY AS COUNTRY WHERE COUNTRY.IC_NAME LIKE 'b%' ) * Available from version ProcessMaker-2.0.47 (2.5.1) --- gulliver/js/form/core/form.js | 94 +++++-- gulliver/js/grid/core/grid.js | 206 ++++++++------- gulliver/js/maborak/core/maborak.js | 41 +-- gulliver/system/class.xmlform.php | 139 ++++++---- .../engine/methods/dynaforms/fields_Edit.php | 12 +- .../engine/methods/dynaforms/fields_Save.php | 5 + .../xmlform/dynaforms/fields/_options.xml | 14 +- .../xmlform/dynaforms/fields/dropdown.html | 238 +++++++++--------- .../xmlform/dynaforms/fields/dropdown.xml | 91 ++++++- 9 files changed, 531 insertions(+), 309 deletions(-) diff --git a/gulliver/js/form/core/form.js b/gulliver/js/form/core/form.js index 6c3115d6a..9959ec687 100755 --- a/gulliver/js/form/core/form.js +++ b/gulliver/js/form/core/form.js @@ -315,32 +315,12 @@ function G_DropDown( form, element, name ) var me=this; this.parent = G_Field; this.parent( form, element, name ); - this.setContent=function(content) { - var dd=me.element; - var browser = getBrowserClient(); - if ((browser.name=='msie') || ((browser.name == 'firefox') && (browser.version < 12))){ - while(dd.options.length>1) dd.remove(0); - } else { - for (var key in dd.options){ - dd.options[key] = null; - } - } - dd.options.length = 0; //Delete options - - // the remove function is no longer reliable - // while(dd.options.length>1) dd.remove(0); - for(var o=0;o