fmsystem-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Fmsystem-commits] [17094] When selecting control area on control item l


From: erikhl
Subject: [Fmsystem-commits] [17094] When selecting control area on control item list, control groups are changed accordingly so that only control groups with the chosen control area are shown
Date: Tue, 19 Sep 2017 00:52:32 -0400 (EDT)

Revision: 17094
          http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=17094
Author:   erikhl
Date:     2017-09-19 00:52:32 -0400 (Tue, 19 Sep 2017)
Log Message:
-----------
When selecting control area on control item list, control groups are changed 
accordingly so that only control groups with the chosen control area are shown

Modified Paths:
--------------
    trunk/controller/inc/class.uicontrol_item.inc.php
    trunk/controller/js/controller/ajax.js

Modified: trunk/controller/inc/class.uicontrol_item.inc.php
===================================================================
--- trunk/controller/inc/class.uicontrol_item.inc.php   2017-09-18 13:57:07 UTC 
(rev 17093)
+++ trunk/controller/inc/class.uicontrol_item.inc.php   2017-09-19 04:52:32 UTC 
(rev 17094)
@@ -120,14 +120,14 @@
                                        'toolbar' => array(
                                                'item' => array(
                                                        array('type' => 
'filter',
+                                                               'name' => 
'control_areas',
+                                                               'text' => 
lang('Control_area'),
+                                                               'list' => 
$control_areas_array2,
+                                                       ),
+                                                       array('type' => 
'filter',
                                                                'name' => 
'control_groups',
                                                                'text' => 
lang('Control_group') . ':',
                                                                'list' => 
$this->so_control_group->get_control_group_select_array(),
-                                                       ),
-                                                       array('type' => 
'filter',
-                                                               'name' => 
'control_areas',
-                                                               'text' => 
lang('Control_area'),
-                                                               'list' => 
$control_areas_array2,
                                                        )
                                                )
                                        )
@@ -192,7 +192,8 @@
                                )),
                                'parameters' => json_encode($parameters)
                        );
-
+                       
+                       self::add_javascript('controller', 'controller', 
'ajax.js');
                        self::render_template_xsl(array('datatable_jquery'), 
$data);
                }
 

Modified: trunk/controller/js/controller/ajax.js
===================================================================
--- trunk/controller/js/controller/ajax.js      2017-09-18 13:57:07 UTC (rev 
17093)
+++ trunk/controller/js/controller/ajax.js      2017-09-19 04:52:32 UTC (rev 
17094)
@@ -130,8 +130,55 @@
                        }
                });
        });
+       
+       // FETCHES RELATED CONTROL ITEMS WHEN CONTROL AREA IS CHOSEN
+       $("#toolbar select#control_areas").change(function ()
+       {
+               var control_area_id = $(this).val();
+               var oArgs = {menuaction: 
'controller.uicontrol_group.get_control_groups_by_control_area'};
+               var requestUrl = phpGWLink('index.php', oArgs, true);
 
+               $("#hidden_control_area_id").val(control_area_id);
+               var control_group_id_init = $("#hidden_control_group_id").val();
+               if(control_area_id == '')
+                       control_area_id = 'all';
+               var htmlString = "";
 
+               $.ajax({
+                       type: 'POST',
+                       dataType: 'json',
+                       url: requestUrl + "&control_area_id=" + control_area_id,
+                       success: function (data)
+                       {
+                               if (data != null)
+                               {
+                                       htmlString = "<option>Velg 
kontrollgruppe</option>"
+                                       var obj = JSON.parse(data);
+
+                                       $.each(obj, function (i)
+                                       {
+
+                                               var selected = '';
+                                               if (obj[i].id == 
control_group_id_init)
+                                               {
+                                                       selected = ' selected';
+                                               }
+                                               htmlString += "<option value='" 
+ obj[i].id + "'" + selected + ">" + obj[i].group_name + "</option>";
+                                       });
+
+                                       $("#control_groups").html(htmlString);
+                               }
+                               else
+                               {
+                                       htmlString += "<option>Ingen 
kontrollgruppe</option>"
+                                       $("#control_groups").html(htmlString);
+                                       $("#hidden_control_group_id").val(-1); 
//reset
+                               }
+                       }
+               });
+       });
+
+
        /* ================================  COMPONENT 
================================== */
 
        // When control area is selected, controls are fetched from db and 
control select list is populated




reply via email to

[Prev in Thread] Current Thread [Next in Thread]