fmsystem-commits
[Top][All Lists]
Advanced

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

[Fmsystem-commits] [15215] adjust autocompletehelper


From: sigurdne
Subject: [Fmsystem-commits] [15215] adjust autocompletehelper
Date: Sun, 29 May 2016 17:20:13 +0000 (UTC)

Revision: 15215
          http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=15215
Author:   sigurdne
Date:     2016-05-29 17:20:13 +0000 (Sun, 29 May 2016)
Log Message:
-----------
adjust autocompletehelper

Modified Paths:
--------------
    trunk/phpgwapi/js/jquery/common.js
    trunk/phpgwapi/templates/base/datatable_jquery.xsl

Modified: trunk/phpgwapi/js/jquery/common.js
===================================================================
--- trunk/phpgwapi/js/jquery/common.js  2016-05-29 17:18:53 UTC (rev 15214)
+++ trunk/phpgwapi/js/jquery/common.js  2016-05-29 17:20:13 UTC (rev 15215)
@@ -599,11 +599,25 @@
 };
 
 
-JqueryPortico.autocompleteHelper = function (baseUrl, field, hidden, 
container, label_attr)
+JqueryPortico.autocompleteHelper = function (baseUrl, field, hidden, 
container, label_attr, show_id, requestGenerator)
 {
+       show_id = show_id ? true : false;
+       requestGenerator = requestGenerator || false;
        label_attr = (label_attr) ? label_attr : 'name';
        $(document).ready(function ()
        {
+               if(requestGenerator)
+               {
+                       try
+                       {
+                               baseUrl = window[requestGenerator](baseUrl);
+                       }
+                       catch(err)
+                       {
+
+                       }
+               }
+
                $("#" + field).autocomplete({
                        source: function (request, response)
                        {
@@ -629,8 +643,17 @@
                                                }
                                                response($.map(data_t, function 
(item)
                                                {
+                                                       if(show_id)
+                                                       {
+                                                               label = item.id 
+ ' ' + item[label_attr];                                       
+                                                       }
+                                                       else
+                                                       {
+                                                               label = 
item[label_attr];
+                                                       }
+
                                                        return {
-                                                               label: 
item[label_attr],
+                                                               label: label,
                                                                value: item.id
                                                        };
                                                }));

Modified: trunk/phpgwapi/templates/base/datatable_jquery.xsl
===================================================================
--- trunk/phpgwapi/templates/base/datatable_jquery.xsl  2016-05-29 17:18:53 UTC 
(rev 15214)
+++ trunk/phpgwapi/templates/base/datatable_jquery.xsl  2016-05-29 17:20:13 UTC 
(rev 15215)
@@ -154,8 +154,20 @@
                                                                                
<script type="text/javascript">
                                                                                
        $(document).ready(function() {
                                                                                
        var app = "<xsl:value-of select="app"/>";
+                                                                               
        app = app || 'booking';
+                                                                               
        var label_attr = "<xsl:value-of select="label_attr"/>";
+                                                                               
        label_attr = label_attr || 'name';
+                                                                               
        var show_id =  false;
+                                                                               
        <xsl:if test="show_id = 1">
+                                                                               
                show_id = true;
+                                                                               
        </xsl:if>
+
                                                                                
        var name = "<xsl:value-of select="name"/>";
                                                                                
        var ui = "<xsl:value-of select="ui"/>";
+                                                                               
        var requestGenerator = false;
+                                                                               
        <xsl:if test="requestGenerator">
+                                                                               
                requestGenerator = '<xsl:value-of select="requestGenerator"/>';
+                                                                               
        </xsl:if>
                                                                                
        var depends = false;
                                                                                
        var filter_depends = "";
                                                                                
        var filter_selected = "";
@@ -168,8 +180,8 @@
                                                                                
                if (filter_select != filter_selected){
                                                                                
                if (filter_depends) {
                                                                                
                        <![CDATA[
-                                                                               
                                        
JqueryPortico.autocompleteHelper('index.php?menuaction=booking.ui'+ui+'.index&phpgw_return_as=json&filter_'+depends+'_id='+filter_depends+'&',
-                                                                               
                                                                                
                                        'filter_'+name+'_name', 
'filter_'+name+'_id', 'filter_'+name+'_container');
+                                                                               
                                        
JqueryPortico.autocompleteHelper('index.php?menuaction=' + app + 
'.ui'+ui+'.index&filter_'+depends+'_id='+filter_depends+'&',
+                                                                               
                                                                                
                                        'filter_'+name+'_name', 
'filter_'+name+'_id', 'filter_'+name+'_container', label_attr, show_id, 
requestGenerator);
                                                                                
                        ]]>
                                                                                
                }
                                                                                
                
oTable.dataTableSettings[0]['ajax']['data']['filter_'+name+'_id'] = "";
@@ -183,8 +195,8 @@
                                                                                
                filter_depends = false;
                                                                                
                if (!filter_depends) {
                                                                                
                                        <![CDATA[
-                                                                               
                                                
JqueryPortico.autocompleteHelper('index.php?menuaction=booking.ui'+ui+'.index&phpgw_return_as=json&',
-                                                                               
                                                                                
                                        'filter_'+name+'_name', 
'filter_'+name+'_id', 'filter_'+name+'_container');
+                                                                               
                                                
JqueryPortico.autocompleteHelper('index.php?menuaction=' + app + 
'.ui'+ui+'.index&',
+                                                                               
                                                                                
                                        'filter_'+name+'_name', 
'filter_'+name+'_id', 'filter_'+name+'_container', label_attr, show_id, 
requestGenerator);
                                                                                
                                        ]]>
                                                                                
                }
                                                                                
                filter_selected = "";
@@ -196,13 +208,13 @@
                                                                                
        </xsl:if>
                                                                                
        if (filter_depends) {
                                                                                
                        <![CDATA[
-                                                                               
                                
JqueryPortico.autocompleteHelper('index.php?menuaction=booking.ui'+ui+'.index&phpgw_return_as=json&filter_'+depends+'_id='+filter_depends+'&',
-                                                                               
                                                                                
                        'filter_'+name+'_name', 'filter_'+name+'_id', 
'filter_'+name+'_container');
+                                                                               
                                
JqueryPortico.autocompleteHelper('index.php?menuaction=' + app + 
'.ui'+ui+'.index&filter_'+depends+'_id='+filter_depends+'&',
+                                                                               
                                                                                
                        'filter_'+name+'_name', 'filter_'+name+'_id', 
'filter_'+name+'_container', label_attr, show_id, requestGenerator);
                                                                                
                        ]]>
                                                                                
        }else{
                                                                                
                        <![CDATA[
-                                                                               
                                
JqueryPortico.autocompleteHelper('index.php?menuaction=booking.ui'+ui+'.index&phpgw_return_as=json&',
-                                                                               
                                                                                
                        'filter_'+name+'_name', 'filter_'+name+'_id', 
'filter_'+name+'_container');
+                                                                               
                                
JqueryPortico.autocompleteHelper('index.php?menuaction=' + app + 
'.ui'+ui+'.index&',
+                                                                               
                                                                                
                        'filter_'+name+'_name', 'filter_'+name+'_id', 
'filter_'+name+'_container', label_attr, show_id, requestGenerator);
                                                                                
                        ]]>
                                                                                
        }
                                                                                
        });




reply via email to

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