fmsystem-commits
[Top][All Lists]
Advanced

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

[Fmsystem-commits] [13988] fixing forms toolbars


From: Saul
Subject: [Fmsystem-commits] [13988] fixing forms toolbars
Date: Tue, 22 Sep 2015 00:27:54 +0000

Revision: 13988
          http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=13988
Author:   psaul
Date:     2015-09-22 00:27:54 +0000 (Tue, 22 Sep 2015)
Log Message:
-----------
fixing forms toolbars

Modified Paths:
--------------
    branches/dev-syncromind/phpgwapi/inc/class.jqcal.inc.php
    branches/dev-syncromind/phpgwapi/inc/class.jquery.inc.php
    branches/dev-syncromind/phpgwapi/js/jquery/common.js
    
branches/dev-syncromind/phpgwapi/js/jquery/css/ui-lightness/jquery-ui-1.10.4.custom.css
    
branches/dev-syncromind/phpgwapi/js/jquery/css/ui-lightness/jquery-ui-1.8.19.custom.css
    branches/dev-syncromind/phpgwapi/templates/base/datatable_jquery.xsl
    branches/dev-syncromind/phpgwapi/templates/pure/css/global.css

Added Paths:
-----------
    
branches/dev-syncromind/phpgwapi/js/jquery/css/ui-lightness/images/ui-anim_basic_16x16.gif

Modified: branches/dev-syncromind/phpgwapi/inc/class.jqcal.inc.php
===================================================================
--- branches/dev-syncromind/phpgwapi/inc/class.jqcal.inc.php    2015-09-22 
00:26:22 UTC (rev 13987)
+++ branches/dev-syncromind/phpgwapi/inc/class.jqcal.inc.php    2015-09-22 
00:27:54 UTC (rev 13988)
@@ -34,7 +34,7 @@
                        phpgwapi_jquery::load_widget('datepicker');
 
                        $theme = 'ui-lightness';
-                       
$GLOBALS['phpgw']->css->add_external_file("phpgwapi/js/jquery/css/{$theme}/jquery-ui-1.8.19.custom.css");
+                       
$GLOBALS['phpgw']->css->add_external_file("phpgwapi/js/jquery/css/{$theme}/jquery-ui-1.10.4.custom.css");
                        $this->img_cal = 
$GLOBALS['phpgw']->common->image('phpgwapi','cal');
                        $this->dateformat = str_ireplace(array('d', 'm', 'y'), 
array('dd', 'mm', 
'yy'),$GLOBALS['phpgw_info']['user']['preferences']['common']['dateformat']);
                        $this->lang_select_date      = lang('select date');

Modified: branches/dev-syncromind/phpgwapi/inc/class.jquery.inc.php
===================================================================
--- branches/dev-syncromind/phpgwapi/inc/class.jquery.inc.php   2015-09-22 
00:26:22 UTC (rev 13987)
+++ branches/dev-syncromind/phpgwapi/inc/class.jquery.inc.php   2015-09-22 
00:27:54 UTC (rev 13988)
@@ -90,7 +90,7 @@
 //                                             "js/jquery-migrate-1.2.1"
                                );
 
-                               
$GLOBALS['phpgw']->css->add_external_file("phpgwapi/js/jquery/css/ui-lightness/jquery-ui-1.10.4.custom{$_type}.css");
+                               
$GLOBALS['phpgw']->css->add_external_file("phpgwapi/js/jquery/css/ui-lightness/jquery-ui-1.10.4.custom.css");
 
                                break;
 

Modified: branches/dev-syncromind/phpgwapi/js/jquery/common.js
===================================================================
--- branches/dev-syncromind/phpgwapi/js/jquery/common.js        2015-09-22 
00:26:22 UTC (rev 13987)
+++ branches/dev-syncromind/phpgwapi/js/jquery/common.js        2015-09-22 
00:27:54 UTC (rev 13988)
@@ -406,6 +406,7 @@
                
                
 JqueryPortico.autocompleteHelper = function(baseUrl, field, hidden, container, 
label_attr) {
+    label_attr = (label_attr) ? label_attr : 'name';
        $(document).ready(function () 
        {
                $("#" + field).autocomplete({
@@ -428,7 +429,7 @@
                                             }
                                                response( $.map( data_t, 
function( item ) {
                                                        return {
-                                                               label: 
item.name,
+                                                               label: 
item[label_attr],
                                                                value: item.id
                                                        };
                                                }));
@@ -591,7 +592,7 @@
                                                 array_attr.push({name: 
'checked',value: 'checked'});
                                             }
                                         }else{
-                                            if ((jQuery.inArray(v['value'], 
vcc) == 0) || (jQuery.inArray(v['value'].toString(), vcc) == 0) || 
(jQuery.inArray(parseInt(v['value']), vcc) == 0)){
+                                            if ((jQuery.inArray(v['value'], 
vcc) != -1) || (jQuery.inArray(v['value'].toString(), vcc) != -1) || 
(jQuery.inArray(parseInt(v['value']), vcc) != -1)){
                                                 array_attr.push({name: 
'checked',value: 'checked'});
                                             }
                                         }
@@ -704,6 +705,28 @@
     }
     return obj;
 }
+
+function populateSelect (url, selection, container) {
+    container.html("");
+    var select = document.createElement('select');
+    var option = document.createElement('option');
+    container.append(select);
+    option.setAttribute('value', '');
+    option.text = '-----';
+    select.appendChild(option);
+    $.get(url, function(r){
+        $.each(r.data, function(index, value){
+            var option = document.createElement('option');
+            option.text = value.name;
+            option.setAttribute('value', value.id);
+            if(value.id == selection) {
+                    option.selected = true;
+            }
+            select.appendChild(option);
+        });
+    });
+}
+
 function genericLink() {
     var data = [];
     data['arguments'] = arguments;

Added: 
branches/dev-syncromind/phpgwapi/js/jquery/css/ui-lightness/images/ui-anim_basic_16x16.gif
===================================================================
(Binary files differ)


Property changes on: 
branches/dev-syncromind/phpgwapi/js/jquery/css/ui-lightness/images/ui-anim_basic_16x16.gif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Modified: 
branches/dev-syncromind/phpgwapi/js/jquery/css/ui-lightness/jquery-ui-1.10.4.custom.css
===================================================================
--- 
branches/dev-syncromind/phpgwapi/js/jquery/css/ui-lightness/jquery-ui-1.10.4.custom.css
     2015-09-22 00:26:22 UTC (rev 13987)
+++ 
branches/dev-syncromind/phpgwapi/js/jquery/css/ui-lightness/jquery-ui-1.10.4.custom.css
     2015-09-22 00:27:54 UTC (rev 13988)
@@ -120,6 +120,9 @@
        left: 0;
        cursor: default;
 }
+.ui-autocomplete-loading {
+    background: white url("images/ui-anim_basic_16x16.gif") no-repeat scroll 
right center;
+}
 .ui-button {
        display: inline-block;
        position: relative;
@@ -801,6 +804,9 @@
        background: #eeeeee 
url("images/ui-bg_highlight-soft_100_eeeeee_1x100.png") 50% top repeat-x;
        color: #333333;
 }
+.ui-widget-content {
+    background-size: cover;
+}
 .ui-widget-content a {
        color: #333333;
 }

Modified: 
branches/dev-syncromind/phpgwapi/js/jquery/css/ui-lightness/jquery-ui-1.8.19.custom.css
===================================================================
--- 
branches/dev-syncromind/phpgwapi/js/jquery/css/ui-lightness/jquery-ui-1.8.19.custom.css
     2015-09-22 00:26:22 UTC (rev 13987)
+++ 
branches/dev-syncromind/phpgwapi/js/jquery/css/ui-lightness/jquery-ui-1.8.19.custom.css
     2015-09-22 00:27:54 UTC (rev 13988)
@@ -57,6 +57,7 @@
 .ui-widget .ui-widget { font-size: 1em; }
 .ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { 
font-family: Trebuchet MS, Tahoma, Verdana, Arial, sans-serif; font-size: 1em; }
 .ui-widget-content { border: 1px solid #dddddd; background: #eeeeee 
url(images/ui-bg_highlight-soft_100_eeeeee_1x100.png) 50% top repeat-x; color: 
#333333; }
+.ui-widget-content { background-size: cover; }
 .ui-widget-content a { color: #333333; }
 .ui-widget-header { border: 1px solid #e78f08; background: #f6a828 
url(images/ui-bg_gloss-wave_35_f6a828_500x100.png) 50% 50% repeat-x; color: 
#ffffff; font-weight: bold; }
 .ui-widget-header a { color: #ffffff; }
@@ -342,6 +343,9 @@
  * http://docs.jquery.com/UI/Autocomplete#theming
  */
 .ui-autocomplete { position: absolute; cursor: default; }      
+.ui-autocomplete-loading {
+    background: white url("images/ui-anim_basic_16x16.gif") no-repeat scroll 
right center;
+}
 
 /* workarounds */
 * html .ui-autocomplete { width:1px; } /* without this, the menu expands to 
100% in IE6 */

Modified: branches/dev-syncromind/phpgwapi/templates/base/datatable_jquery.xsl
===================================================================
--- branches/dev-syncromind/phpgwapi/templates/base/datatable_jquery.xsl        
2015-09-22 00:26:22 UTC (rev 13987)
+++ branches/dev-syncromind/phpgwapi/templates/base/datatable_jquery.xsl        
2015-09-22 00:27:54 UTC (rev 13988)
@@ -1,951 +1,948 @@
 <func:function name="phpgw:conditional">
-       <xsl:param name="test"/>
-       <xsl:param name="true"/>
-       <xsl:param name="false"/>
+    <xsl:param name="test"/>
+    <xsl:param name="true"/>
+    <xsl:param name="false"/>
 
-       <func:result>
-               <xsl:choose>
-                       <xsl:when test="$test">
-                       <xsl:value-of select="$true"/>
-                       </xsl:when>
-                       <xsl:otherwise>
-                               <xsl:value-of select="$false"/>
-                       </xsl:otherwise>
-               </xsl:choose>
-       </func:result>
+    <func:result>
+        <xsl:choose>
+            <xsl:when test="$test">
+            <xsl:value-of select="$true"/>
+            </xsl:when>
+            <xsl:otherwise>
+                <xsl:value-of select="$false"/>
+            </xsl:otherwise>
+        </xsl:choose>
+    </func:result>
 </func:function>
 
 <xsl:template match="data">
-
-       <xsl:choose>
-               <xsl:when test="datatable_name">
-                       <h3>
-                               <xsl:value-of select="datatable_name"/>
-                       </h3>
-               </xsl:when>
-       </xsl:choose>
-         <xsl:call-template name="datatable" />
+    <xsl:choose>
+        <xsl:when test="datatable_name">
+            <h3>
+                <xsl:value-of select="datatable_name"/>
+            </h3>
+        </xsl:when>
+    </xsl:choose>
+    <xsl:call-template name="datatable" />
 </xsl:template>
 
 
 <xsl:template name="datatable">
-       <xsl:call-template name="jquery_phpgw_i18n"/>
-       <xsl:apply-templates select="form" />
-       <div id="list_flash">
-               <xsl:call-template name="msgbox"/>
-       </div>
-       <div id="message" class='message'/>
-       <xsl:apply-templates select="datatable"/> 
-       <xsl:apply-templates select="form/list_actions"/>
+    <xsl:call-template name="jquery_phpgw_i18n"/>
+    <xsl:apply-templates select="form" />
+    <div id="list_flash">
+        <xsl:call-template name="msgbox"/>
+    </div>
+    <div id="message" class='message'/>
+    <xsl:apply-templates select="datatable"/> 
+    <xsl:apply-templates select="form/list_actions"/>
 </xsl:template>
 
 
 <xsl:template match="toolbar" xmlns:php="http://php.net/xsl";>
-       <style id='toggle-box-css' type='text/css' scoped='scoped'>
-.toggle-box {
-  display: none;
-}
+    <style id='toggle-box-css' type='text/css' scoped='scoped'>
+        .toggle-box {
+          display: none;
+        }
 
-.toggle-box + label {
-  cursor: pointer;
-  display: block;
-  font-weight: bold;
-  line-height: 21px;
-  margin-bottom: 5px;
-}
+        .toggle-box + label {
+          cursor: pointer;
+          display: block;
+          font-weight: bold;
+          line-height: 21px;
+          margin-bottom: 5px;
+        }
 
-.toggle-box + label + div {
-  display: none;
-  margin-bottom: 10px;
-}
+        .toggle-box + label + div {
+          display: none;
+          margin-bottom: 10px;
+        }
 
-.toggle-box:checked + label + div {
-  display: block;
-}
+        .toggle-box:checked + label + div {
+          display: block;
+        }
 
-.toggle-box + label:before {
-  background-color: #4F5150;
-  -webkit-border-radius: 10px;
-  -moz-border-radius: 10px;
-  border-radius: 10px;
-  color: #FFFFFF;
-  content: "+";
-  display: block;
-  float: left;
-  font-weight: bold;
-  height: 20px;
-  line-height: 20px;
-  margin-right: 5px;
-  text-align: center;
-  width: 20px;
-}
+        .toggle-box + label:before {
+          background-color: #4F5150;
+          -webkit-border-radius: 10px;
+          -moz-border-radius: 10px;
+          border-radius: 10px;
+          color: #FFFFFF;
+          content: "+";
+          display: block;
+          float: left;
+          font-weight: bold;
+          height: 20px;
+          line-height: 20px;
+          margin-right: 5px;
+          text-align: center;
+          width: 20px;
+        }
 
-.toggle-box:checked + label:before {
-  content: "\2212";
-} 
-               
-       </style>
+        .toggle-box:checked + label:before {
+          content: "\2212";
+        }
+    </style>
 
-       <input class="toggle-box" id="header1" type="checkbox" />
-       <label for="header1">
-               <xsl:value-of select="php:function('lang', 'toolbar')"/>
-       </label>
+    <input class="toggle-box" id="header1" type="checkbox" />
+    <label for="header1">
+        <xsl:value-of select="php:function('lang', 'toolbar')"/>
+    </label>
 
-       <div id="toolbar">
-        <!--xsl:if test="item/text and normalize-space(item/text)"-->
-       <xsl:if test="item">
-         <table id="toolbar_table" class="pure-table">
-                               <thead>
-                                       <tr>
-                                               <th>
-                                                       <xsl:value-of 
select="php:function('lang', 'name')"/>
-                                               </th>
-                                               <th>
-                                                       <xsl:value-of 
select="php:function('lang', 'item')"/>
-                                               </th>
-                                       </tr>
-                               </thead>
-                       <tbody>
+    <div id="toolbar">
+        <!--xsl:if test="item/text and normalize-space(item/text)"-->
+        <xsl:if test="item">
+            <table id="toolbar_table" class="pure-table">
+                <thead>
+                    <tr>
+                        <th>
+                            <xsl:value-of select="php:function('lang', 
'name')"/>
+                        </th>
+                        <th>
+                            <xsl:value-of select="php:function('lang', 
'item')"/>
+                        </th>
+                    </tr>
+                </thead>
+                <tbody>
+                    <xsl:for-each select="item">
+                        <tr>
+                            <xsl:variable name="filter_key" 
select="concat('filter_', name)"/>
+                            <xsl:variable name="filter_key_name" 
select="concat(concat('filter_', name), '_name')"/>
+                            <xsl:variable name="filter_key_id" 
select="concat(concat('filter_', name), '_id')"/>
+                            <td>
+                                <xsl:if test="name">
+                                    <label>
+                                        <xsl:attribute 
name="for"><xsl:value-of select="phpgw:conditional(not(name), '', 
name)"/></xsl:attribute>
+                                        <xsl:value-of 
select="phpgw:conditional(not(text), '', text)"/>
+                                    </label>
+                                </xsl:if>
+                            </td>
+                            <xsl:choose>
+                                <xsl:when test="type = 'date-picker'">
+                                    <td valign="top">
+                                        <div>
+                                            <input id="filter_{name}" 
name="filter_{name}" value="{value}" type="text"></input>
+                                        </div>
+                                    </td>
+                                </xsl:when>
+                                <xsl:when test="type = 'autocomplete'">
+                                    <td class="auto">
+                                        <div class="auto">
+                                            <input id="filter_{name}_name" 
name="filter_{name}_name" type="text">
+                                                <xsl:attribute 
name="value"><xsl:value-of select="../../../filters/*[local-name() = 
$filter_key_name]"/></xsl:attribute>
+                                            </input>
+                                            <input id="filter_{name}_id" 
name="filter_{name}_id" type="hidden">
+                                                <xsl:attribute 
name="value"><xsl:value-of select="../../../filters/*[local-name() = 
$filter_key_id]"/></xsl:attribute>
+                                            </input>
+                                            <div id="filter_{name}_container"/>
+                                        </div>
+                                        <script type="text/javascript">
+                                            <![CDATA[
+                                                //var oAC = 
JqueryPortico.autocompleteHelper('index.php?menuaction=booking.ui'+ui+'.index&phpgw_return_as=json&',
 'filter_'+name+'_name', 'filter_'+name+'_id', 'filter_'+name+'_container');
 
-                       <xsl:for-each select="item">
-                       <tr>
-                       <xsl:variable name="filter_key" 
select="concat('filter_', name)"/>
-                       <xsl:variable name="filter_key_name" 
select="concat(concat('filter_', name), '_name')"/>
-                       <xsl:variable name="filter_key_id" 
select="concat(concat('filter_', name), '_id')"/>
-                       <td>
-                               <xsl:if test="name">
-                                       <label>
-                                               <xsl:attribute 
name="for"><xsl:value-of select="phpgw:conditional(not(name), '', 
name)"/></xsl:attribute>
-                                               <xsl:value-of 
select="phpgw:conditional(not(text), '', text)"/>
-                                       </label>
-                               </xsl:if>
-                       </td>
-               
-                       <xsl:choose>
-                               <xsl:when test="type = 'date-picker'">
-                                       <td valign="top">
-                                       <div>
-                                               <input id="filter_{name}" 
name="filter_{name}" value="{value}" type="text"></input>
-                                       </div>
-                                       </td>
-                               </xsl:when>
-                               <xsl:when test="type = 'autocomplete'">
-                                       <td class="auto">
-                                               <div class="auto">
-                                                       <input 
id="filter_{name}_name" name="filter_{name}_name" type="text">
-                                                               <xsl:attribute 
name="value"><xsl:value-of select="../../../filters/*[local-name() = 
$filter_key_name]"/></xsl:attribute>
-                                                       </input>
-                                                       <input 
id="filter_{name}_id" name="filter_{name}_id" type="hidden">
-                                                               <xsl:attribute 
name="value"><xsl:value-of select="../../../filters/*[local-name() = 
$filter_key_id]"/></xsl:attribute>
-                                                       </input>
-                                                       <div 
id="filter_{name}_container"/>
-                                               </div>
-                                               <script type="text/javascript"> 
-                                               
YAHOO.util.Event.onDOMReady(function() {
-                                                  var app = "<xsl:value-of 
select="app"/>";
-                                                  var name = "<xsl:value-of 
select="name"/>";
-                                                       var ui = "<xsl:value-of 
select="ui"/>";
+                                                //var autocompleteURL = 
'index.php?menuaction=booking.ui'+ui+'.index&phpgw_return_as=json&filter_'+name+'_name';
+                                                //var elem = 
$('input#filter_'+name+'_name');
+                                                //var ele2 = 
$('#toolbar_table');
+                                            ]]>
+                                            
+                                            $(document).ready(function() {
+                                            var app = "<xsl:value-of 
select="app"/>";
+                                            var name = "<xsl:value-of 
select="name"/>";
+                                            var ui = "<xsl:value-of 
select="ui"/>";
+                                            <![CDATA[
+                                                
JqueryPortico.autocompleteHelper('index.php?menuaction=booking.ui'+ui+'.index&phpgw_return_as=json&',
 
+                                                                               
     'filter_'+name+'_name', 'filter_'+name+'_id', 'filter_'+name+'_container');
+                                            ]]>
+                                            });
 
-                                                       var itemSelectCallback 
= false;
-                                                       <xsl:if 
test="onItemSelect">
-                                                               
itemSelectCallback = <xsl:value-of select="onItemSelect"/>;
-                                                       </xsl:if>
+                                            
YAHOO.util.Event.onDOMReady(function() {
+                                                var app = "<xsl:value-of 
select="app"/>";
+                                                var name = "<xsl:value-of 
select="name"/>";
+                                                var ui = "<xsl:value-of 
select="ui"/>";
 
-                                                       var 
onClearSelectionCallback = false;
-                                                       <xsl:if 
test="onClearSelection">
-                                                               
onClearSelectionCallback = <xsl:value-of select="onClearSelection"/>;
-                                                       </xsl:if>
+                                                var itemSelectCallback = false;
+                                                <xsl:if test="onItemSelect">
+                                                    itemSelectCallback = 
<xsl:value-of select="onItemSelect"/>;
+                                                </xsl:if>
 
-                                                       var requestGenerator = 
false;
-                                                       <xsl:if 
test="requestGenerator">
-                                                               
requestGenerator = <xsl:value-of select="requestGenerator"/>;
-                                                       </xsl:if>
+                                                var onClearSelectionCallback = 
false;
+                                                <xsl:if 
test="onClearSelection">
+                                                    onClearSelectionCallback = 
<xsl:value-of select="onClearSelection"/>;
+                                                </xsl:if>
 
-                                                       <![CDATA[
-//                                                     var oAC = 
YAHOO.portico.autocompleteHelper('index.php?menuaction=booking.ui'+ui+'.index&phpgw_return_as=json&',
 
-//                                                                             
                                         'filter_'+name+'_name', 
'filter_'+name+'_id', 'filter_'+name+'_container');
+                                                var requestGenerator = false;
+                                                <xsl:if 
test="requestGenerator">
+                                                    requestGenerator = 
<xsl:value-of select="requestGenerator"/>;
+                                                </xsl:if>
 
-                                                       var oArgs = 
{menuaction: app + '.ui'+ui+'.index'};
-                                                       var requestUrl = 
phpGWLink('index.php', oArgs, true);
-                                                       requestUrl += 
'filter_'+name+'_name', 'filter_'+name+'_id', 'filter_'+name+'_container';
-                                               //      alert('FIXME: 
autocompleteHelper::requestUrl ' + requestUrl );
+                                                <![CDATA[
+    //                                              var oAC = 
YAHOO.portico.autocompleteHelper('index.php?menuaction=booking.ui'+ui+'.index&phpgw_return_as=json&',
 
+    //                                                                         
                     'filter_'+name+'_name', 'filter_'+name+'_id', 
'filter_'+name+'_container');
+                                                    
 
+                                                    var oArgs = {menuaction: 
app + '.ui'+ui+'.index'};
+                                                    var requestUrl = 
phpGWLink('index.php', oArgs, true);
+                                                    requestUrl += 
'filter_'+name+'_name', 'filter_'+name+'_id', 'filter_'+name+'_container';
+    //                                              alert('FIXME: 
autocompleteHelper::requestUrl ' + requestUrl );
 
-                                                       if (requestGenerator) {
-                                                               
oAC.generateRequest = requestGenerator;
-                                                       }
+                                                    if (requestGenerator) {
+                                                        oAC.generateRequest = 
requestGenerator;
+                                                    }
 
-                                                       if (itemSelectCallback) 
{
-                                                               
oAC.itemSelectEvent.subscribe(itemSelectCallback);
-                                                       }
+                                                    if (itemSelectCallback) {
+                                                        
oAC.itemSelectEvent.subscribe(itemSelectCallback);
+                                                    }
 
-                                                       
YAHOO.util.Event.addBlurListener('filter_'+name+'_name', function()
-                                                       {
-                                                               if 
(YAHOO.util.Dom.get('filter_'+name+'_name').value == "")
-                                                               {
-                                                                       
YAHOO.util.Dom.get('filter_'+name+'_id').value = "";
-                                                                       if 
(onClearSelectionCallback) {
-                                                                               
onClearSelectionCallback();
-                                                                       }
-                                                               }
-                                                       });
+                                                    
YAHOO.util.Event.addBlurListener('filter_'+name+'_name', function()
+                                                    {
+                                                        if 
(YAHOO.util.Dom.get('filter_'+name+'_name').value == "")
+                                                        {
+                                                            
YAHOO.util.Dom.get('filter_'+name+'_id').value = "";
+                                                            if 
(onClearSelectionCallback) {
+                                                                
onClearSelectionCallback();
+                                                            }
+                                                        }
+                                                    });
 
-                                                       
YAHOO.portico.addPreSerializeQueryFormListener(function(form)
-                                                       {
-                                                               if 
(YAHOO.util.Dom.get('filter_'+name+'_name').value == "")
-                                                               {
-                                                                       
YAHOO.util.Dom.get('filter_'+name+'_id').value = "";
-                                                               } 
-                                                       });
-                                                       ]]>
-                                               });
-                                               </script>
-                                       </td>
-                               </xsl:when>
-                               <xsl:when test="type = 'filter'">
-                                       <td valign="top">
-                                       <xsl:variable name="name"><xsl:value-of 
select="name"/></xsl:variable>
+                                                    
YAHOO.portico.addPreSerializeQueryFormListener(function(form)
+                                                    {
+                                                        if 
(YAHOO.util.Dom.get('filter_'+name+'_name').value == "")
+                                                        {
+                                                            
YAHOO.util.Dom.get('filter_'+name+'_id').value = "";
+                                                        } 
+                                                    });
+                                                ]]>
+                                            });
 
-                                       <select id="{$name}" name="{$name}">
-                                               <xsl:for-each select="list">
-                                                       <xsl:variable 
name="id"><xsl:value-of select="id"/></xsl:variable>
-                                                       <xsl:choose>
-                                                               <xsl:when 
test="id = 'NEW'">
-                                                                       <option 
value="{$id}" selected="selected">
-                                                                               
<xsl:value-of select="name"/>
-                                                                       
</option>
-                                                               </xsl:when>
-                                                               <xsl:otherwise>
-                                                                       
<xsl:choose>
-                                                                               
<xsl:when test="selected = 'selected'">
-                                                                               
        <option value="{$id}" selected="selected">
-                                                                               
                <xsl:value-of select="name"/>
-                                                                               
        </option>
-                                                                               
</xsl:when>
-                                                                               
<xsl:otherwise>
-                                                                               
        <option value="{$id}">
-                                                                               
                <xsl:value-of select="name"/>
-                                                                               
        </option>                                                               
                
-                                                                               
</xsl:otherwise>
-                                                                       
</xsl:choose>
-                                                               </xsl:otherwise>
-                                                       </xsl:choose>
-                                               </xsl:for-each>
-                                       </select>
-                                       </td>
-                               </xsl:when>
-                               <xsl:when test="type = 'link'">
-                                       <td valign="top">
-                                               <input type="button" 
class="pure-button pure-button-primary">
-                                                       <xsl:choose>
-                                                               <xsl:when 
test="onclick">
-                                                                       
<xsl:attribute name="onclick"><xsl:value-of select="onclick"/></xsl:attribute>
-                                                               </xsl:when>
-                                                               <xsl:otherwise>
-                                                                       
<xsl:attribute name="onclick">javascript:window.open('<xsl:value-of 
select="href"/>', "_self");</xsl:attribute>
-                                                               </xsl:otherwise>
-                                                       </xsl:choose>
-                                                       <xsl:attribute 
name="value"><xsl:value-of select="value"/></xsl:attribute>
-                                               </input>
-                                               <!--a href="{href}">
-                                                       <xsl:if test="onclick">
-                                                               <xsl:attribute 
name="onclick">
-                                                                       
<xsl:value-of select="onclick"/>
-                                                               
</xsl:attribute> 
-                                                       </xsl:if>
-                                                       <xsl:value-of 
select="value"/>
-                                               </a-->
-                                       </td>
-                               </xsl:when>
-                               <xsl:when test="type = 'hidden'">
-                                       <td valign="top">
-                                               <input>
-                                                       <xsl:attribute 
name="type"><xsl:value-of select="phpgw:conditional(not(type), '', 
type)"/></xsl:attribute>
-                                                       <xsl:attribute 
name="id"><xsl:value-of select="phpgw:conditional(not(id), '', 
id)"/></xsl:attribute>
-                                                       <xsl:attribute 
name="name"><xsl:value-of select="phpgw:conditional(not(name), '', 
name)"/></xsl:attribute>
-                                                       <xsl:attribute 
name="value"><xsl:value-of select="phpgw:conditional(not(value), '', 
value)"/></xsl:attribute>
-                                               </input>
-                                       </td>
-                               </xsl:when>
-                               <xsl:when test="type = 'label'">
-                                       <td valign="top">
-                                               <label><xsl:attribute 
name="id"><xsl:value-of select="phpgw:conditional(not(id), '', 
id)"/></xsl:attribute></label>
-                                       </td>
-                               </xsl:when>
-                               <xsl:otherwise>
-                                       <td valign="top">
-                                       <input id="innertoolbar">
-                                               <xsl:attribute 
name="type"><xsl:value-of select="phpgw:conditional(not(type), '', 
type)"/></xsl:attribute>
-                                               <xsl:attribute 
name="name"><xsl:value-of select="phpgw:conditional(not(name), '', 
name)"/></xsl:attribute>
-                                               <xsl:attribute 
name="onclick"><xsl:value-of select="phpgw:conditional(not(onClick), '', 
onClick)"/></xsl:attribute>
-                                               <xsl:attribute 
name="value"><xsl:value-of select="phpgw:conditional(not(value), '', 
value)"/></xsl:attribute>
-                                               <xsl:attribute 
name="href"><xsl:value-of select="phpgw:conditional(not(href), '', 
href)"/></xsl:attribute>
-                                               <xsl:attribute 
name="class"><xsl:value-of select="phpgw:conditional(not(class), '', 
class)"/></xsl:attribute>
-                                       </input>
-                                       </td>
-                               </xsl:otherwise>
-                       </xsl:choose>
-                 </tr>
-                       </xsl:for-each>
-                 </tbody>
-               </table>
-               </xsl:if>
-       </div>
+                                        </script>
+                                    </td>
+                                </xsl:when>
+                                <xsl:when test="type = 'filter'">
+                                    <td valign="top">
+                                        <xsl:variable 
name="name"><xsl:value-of select="name"/></xsl:variable>
+                                        <select id="{$name}" name="{$name}">
+                                            <xsl:for-each select="list">
+                                                <xsl:variable 
name="id"><xsl:value-of select="id"/></xsl:variable>
+                                                <xsl:choose>
+                                                    <xsl:when test="id = 
'NEW'">
+                                                        <option value="{$id}" 
selected="selected">
+                                                            <xsl:value-of 
select="name"/>
+                                                        </option>
+                                                    </xsl:when>
+                                                    <xsl:otherwise>
+                                                        <xsl:choose>
+                                                            <xsl:when 
test="selected = 'selected'">
+                                                                <option 
value="{$id}" selected="selected">
+                                                                    
<xsl:value-of select="name"/>
+                                                                </option>
+                                                            </xsl:when>
+                                                            <xsl:otherwise>
+                                                                <option 
value="{$id}">
+                                                                    
<xsl:value-of select="name"/>
+                                                                </option>
+                                                            </xsl:otherwise>
+                                                        </xsl:choose>
+                                                    </xsl:otherwise>
+                                                </xsl:choose>
+                                            </xsl:for-each>
+                                        </select>
+                                    </td>
+                                </xsl:when>
+                                <xsl:when test="type = 'link'">
+                                    <td valign="top">
+                                        <input type="button" 
class="pure-button pure-button-primary">
+                                            <xsl:choose>
+                                                <xsl:when test="onclick">
+                                                    <xsl:attribute 
name="onclick"><xsl:value-of select="onclick"/></xsl:attribute>
+                                                </xsl:when>
+                                                <xsl:otherwise>
+                                                    <xsl:attribute 
name="onclick">javascript:window.open('<xsl:value-of select="href"/>', 
"_self");</xsl:attribute>
+                                                </xsl:otherwise>
+                                            </xsl:choose>
+                                            <xsl:attribute 
name="value"><xsl:value-of select="value"/></xsl:attribute>
+                                        </input>
+                                        <!--a href="{href}">
+                                            <xsl:if test="onclick">
+                                                <xsl:attribute name="onclick">
+                                                    <xsl:value-of 
select="onclick"/>
+                                                </xsl:attribute> 
+                                            </xsl:if>
+                                            <xsl:value-of select="value"/>
+                                        </a-->
+                                    </td>
+                                </xsl:when>
+                                <xsl:when test="type = 'hidden'">
+                                    <td valign="top">
+                                        <input>
+                                            <xsl:attribute 
name="type"><xsl:value-of select="phpgw:conditional(not(type), '', 
type)"/></xsl:attribute>
+                                            <xsl:attribute 
name="id"><xsl:value-of select="phpgw:conditional(not(id), '', 
id)"/></xsl:attribute>
+                                            <xsl:attribute 
name="name"><xsl:value-of select="phpgw:conditional(not(name), '', 
name)"/></xsl:attribute>
+                                            <xsl:attribute 
name="value"><xsl:value-of select="phpgw:conditional(not(value), '', 
value)"/></xsl:attribute>
+                                        </input>
+                                    </td>
+                                </xsl:when>
+                                <xsl:when test="type = 'label'">
+                                    <td valign="top">
+                                        <label><xsl:attribute 
name="id"><xsl:value-of select="phpgw:conditional(not(id), '', 
id)"/></xsl:attribute></label>
+                                    </td>
+                                </xsl:when>
+                                <xsl:otherwise>
+                                    <td valign="top">
+                                        <input id="innertoolbar">
+                                            <xsl:attribute 
name="type"><xsl:value-of select="phpgw:conditional(not(type), '', 
type)"/></xsl:attribute>
+                                            <xsl:attribute 
name="name"><xsl:value-of select="phpgw:conditional(not(name), '', 
name)"/></xsl:attribute>
+                                            <xsl:attribute 
name="onclick"><xsl:value-of select="phpgw:conditional(not(onClick), '', 
onClick)"/></xsl:attribute>
+                                            <xsl:attribute 
name="value"><xsl:value-of select="phpgw:conditional(not(value), '', 
value)"/></xsl:attribute>
+                                            <xsl:attribute 
name="href"><xsl:value-of select="phpgw:conditional(not(href), '', 
href)"/></xsl:attribute>
+                                            <xsl:attribute 
name="class"><xsl:value-of select="phpgw:conditional(not(class), '', 
class)"/></xsl:attribute>
+                                        </input>
+                                    </td>
+                                </xsl:otherwise>
+                            </xsl:choose>
+                        </tr>
+                    </xsl:for-each>
+                </tbody>
+            </table>
+        </xsl:if>
+    </div>
 </xsl:template>
 
 <xsl:template match="form/list_actions">
-       <form id="list_actions_form" method="POST">
-               <!-- Form action is set by javascript listener -->
-               <div id="list_actions" class='yui-skin-sam'>
-                       <table cellpadding="0" cellspacing="0">
-                               <tr>
-                                       <xsl:for-each select="item">
-                                               <td valign="top">
-                                                       <input 
id="innertoolbar">
-                                                               <xsl:attribute 
name="type"><xsl:value-of select="phpgw:conditional(not(type), '', 
type)"/></xsl:attribute>
-                                                               <xsl:attribute 
name="name"><xsl:value-of select="phpgw:conditional(not(name), '', 
name)"/></xsl:attribute>
-                                                               <xsl:attribute 
name="onclick"><xsl:value-of select="phpgw:conditional(not(onClick), '', 
onClick)"/></xsl:attribute>
-                                                               <xsl:attribute 
name="value"><xsl:value-of select="phpgw:conditional(not(value), '', 
value)"/></xsl:attribute>
-                                                               <xsl:attribute 
name="href"><xsl:value-of select="phpgw:conditional(not(href), '', 
href)"/></xsl:attribute>
-                                                       </input>
-                                               </td>
-                                       </xsl:for-each>
-                               </tr>
-                       </table>
-               </div>
-       </form>
+    <form id="list_actions_form" method="POST">
+        <!-- Form action is set by javascript listener -->
+        <div id="list_actions" class='yui-skin-sam'>
+            <table cellpadding="0" cellspacing="0">
+                <tr>
+                    <xsl:for-each select="item">
+                        <td valign="top">
+                            <input id="innertoolbar">
+                                <xsl:attribute name="type"><xsl:value-of 
select="phpgw:conditional(not(type), '', type)"/></xsl:attribute>
+                                <xsl:attribute name="name"><xsl:value-of 
select="phpgw:conditional(not(name), '', name)"/></xsl:attribute>
+                                <xsl:attribute name="onclick"><xsl:value-of 
select="phpgw:conditional(not(onClick), '', onClick)"/></xsl:attribute>
+                                <xsl:attribute name="value"><xsl:value-of 
select="phpgw:conditional(not(value), '', value)"/></xsl:attribute>
+                                <xsl:attribute name="href"><xsl:value-of 
select="phpgw:conditional(not(href), '', href)"/></xsl:attribute>
+                            </input>
+                        </td>
+                    </xsl:for-each>
+                </tr>
+            </table>
+        </div>
+    </form>
 </xsl:template>
-<xsl:template match="form">
-       <div id="queryForm">
-               <!--xsl:attribute name="method">
-                       <xsl:value-of select="phpgw:conditional(not(method), 
'GET', method)"/>
-               </xsl:attribute>
 
-               <xsl:attribute name="action">
-                       <xsl:value-of select="phpgw:conditional(not(action), 
'', action)"/>
-               </xsl:attribute-->
-               <xsl:apply-templates select="toolbar"/>
-       </div>
-
-       <!--form id="update_table_dummy" method='POST' action='' >
-       </form-->
-
+<xsl:template match="form">
+    <div id="queryForm">
+        <!--xsl:attribute name="method">
+            <xsl:value-of select="phpgw:conditional(not(method), 'GET', 
method)"/>
+        </xsl:attribute>
+        <xsl:attribute name="action">
+            <xsl:value-of select="phpgw:conditional(not(action), '', action)"/>
+        </xsl:attribute-->
+        <xsl:apply-templates select="toolbar"/>
+    </div>
+    <!--form id="update_table_dummy" method='POST' action='' >
+    </form-->
 </xsl:template>
 
 <xsl:template match="datatable">
-       <xsl:call-template name="datasource-definition" />
-
+    <xsl:call-template name="datasource-definition" />
 </xsl:template>
 
 <xsl:template name="datasource-definition">
+    <table id="datatable-container" class="display cell-border compact 
responsive no-wrap" width="100%">
+        <thead>
+            <xsl:for-each select="//datatable/field">
+                <xsl:choose>
+                    <xsl:when test="hidden">
+                        <xsl:if test="hidden =0">
+                            <th>
+                                <xsl:value-of select="label"/>
+                            </th>
+                        </xsl:if>
+                    </xsl:when>
+                    <xsl:otherwise>
+                        <th>
+                            <xsl:value-of select="label"/>
+                        </th>
+                    </xsl:otherwise>
+                </xsl:choose>
+            </xsl:for-each>
+        </thead>
+        <tfoot>
+            <tr>
+                <xsl:for-each select="//datatable/field">
+                    <xsl:choose>
+                        <xsl:when test="hidden">
+                            <xsl:if test="hidden =0">
+                                <th>
+                                    <xsl:value-of select="value_footer"/>
+                                </th>
+                            </xsl:if>
+                        </xsl:when>
+                        <xsl:otherwise>
+                            <th>
+                                <xsl:value-of select="value_footer"/>
+                            </th>
+                        </xsl:otherwise>
+                    </xsl:choose>
+                </xsl:for-each>
+            </tr>
+        </tfoot>
+    </table>
+    <form id="custom_values_form" name="custom_values_form"></form>
+    <script>
+        var columns = [
+            <xsl:for-each select="//datatable/field">
+                {
+                    data: "<xsl:value-of select="key"/>",
+                    <xsl:if test="className">
+                        <xsl:choose>
+                            <xsl:when test="className='right' or 
className='center'">
+                                <xsl:if test="className ='right'">
+                                    class: 'dt-right',
+                                </xsl:if>
+                                <xsl:if test="className ='center'">
+                                    class: 'dt-center',
+                                </xsl:if>
+                            </xsl:when>
+                            <xsl:otherwise>
+                                class: "<xsl:value-of select="className"/>",
+                            </xsl:otherwise>
+                        </xsl:choose>
+                    </xsl:if>
+                    orderable: <xsl:value-of 
select="phpgw:conditional(not(sortable = 0), 'true', 'false')"/>,
+                    <xsl:choose>
+                        <xsl:when test="hidden">
+                            <xsl:if test="hidden =0">
+                                visible: true,
+                            </xsl:if>
+                            <xsl:if test="hidden =1">
+                                class: 'none', //FIXME - virker 
ikke...'responsive' plukker den fram igjen
+                                visible: false,
+                            </xsl:if>
+                        </xsl:when>
+                        <xsl:otherwise>
+                            visible: true,
+                        </xsl:otherwise>
+                    </xsl:choose>
+                    <xsl:if test="formatter">
+                        render: function (dummy1, dummy2, oData) {
+                            try {
+                                var ret = <xsl:value-of 
select="formatter"/>("<xsl:value-of select="key"/>", oData);
+                            }
+                            catch(err) {
+                                return err.message;
+                            }
+                            return ret;
+                        },
+                    </xsl:if>
+                    <xsl:choose>
+                        <xsl:when test="editor">
+                            <xsl:if test="editor =0">
+                                editor: false,
+                            </xsl:if>
+                            <xsl:if test="editor =1">
+                                editor: true,
+                            </xsl:if>
+                        </xsl:when>
+                        <xsl:otherwise>
+                            editor: false,
+                        </xsl:otherwise>
+                    </xsl:choose>
+                    defaultContent: "<xsl:value-of select="defaultContent"/>"
+                }<xsl:value-of select="phpgw:conditional(not(position() = 
last()), ',', '')"/>
+            </xsl:for-each>
+        ];
+        <![CDATA[
+            JqueryPortico.columns = [];
+            for(i=0;i < columns.length;i++)
+            {
+                if ( columns[i]['visible'] == true )
+                {
+                    JqueryPortico.columns.push(columns[i]);
+                }
+            }
+            // console.log(JqueryPortico.columns);
+        ]]>
+    </script>
 
+    <script type="text/javascript" class="init">
+        var oTable = null;
+        $(document).ready(function() {
+            var ajax_url = '<xsl:value-of select="source"/>';
+            var download_url = '<xsl:value-of select="download"/>';
+            var exclude_colvis = [];
+            var editor_cols = [];
+            var editor_action = '<xsl:value-of select="editor_action"/>';
+            var disablePagination = '<xsl:value-of 
select="disablePagination"/>';
 
-       <table id="datatable-container" class="display cell-border compact 
responsive no-wrap" width="100%">
-               <thead>
-                               <xsl:for-each select="//datatable/field">
-                                       <xsl:choose>
-                                               <xsl:when test="hidden">
-                                                       <xsl:if test="hidden 
=0">
-                                                               <th>
-                                                                       
<xsl:value-of select="label"/>
-                                                               </th>
-                                                               </xsl:if>
-                                               </xsl:when>
-                                               <xsl:otherwise>
-                                                       <th>
-                                                               <xsl:value-of 
select="label"/>
-                                                       </th>
-                                               </xsl:otherwise>
-                                       </xsl:choose>
-                               </xsl:for-each>
-               </thead>
-               <tfoot>
-                       <tr>
-                               <xsl:for-each select="//datatable/field">
-                                       <xsl:choose>
-                                               <xsl:when test="hidden">
-                                                       <xsl:if test="hidden 
=0">
-                                                               <th>
-                                                                       
<xsl:value-of select="value_footer"/>
-                                                               </th>
-                                                       </xsl:if>
-                                               </xsl:when>
-                                               <xsl:otherwise>
-                                                       <th>
-                                                               <xsl:value-of 
select="value_footer"/>
-                                                       </th>
-                                               </xsl:otherwise>
-                                       </xsl:choose>
-                               </xsl:for-each>
-                       </tr>
-               </tfoot>
-       </table>
-       <form id="custom_values_form" name="custom_values_form"></form>
-       <script>
+            <![CDATA[
+                TableTools.BUTTONS.download = {
+                    "sAction": "text",
+                    "sTag": "default",
+                    "sFieldBoundary": "",
+                    "sFieldSeperator": "\t",
+                    "sNewLine": "<br>",
+                    "sToolTip": "",
+                    "sButtonClass": "DTTT_button_text",
+                    "sButtonClassHover": "DTTT_button_text_hover",
+                    "sButtonText": "Download",
+                    "mColumns": "all",
+                    "bHeader": true,
+                    "bFooter": true,
+                    "sDiv": "",
+                    "fnMouseover": null,
+                    "fnMouseout": null,
+                    "fnClick": function( nButton, oConfig ) {
+                        var oParams = this.s.dt.oApi._fnAjaxParameters( 
this.s.dt );
+                        oParams.length = -1;
+                        oParams.columns = null;
+                        oParams.start = null;
+                        oParams.draw = null;
+                        var addtional_filterdata = 
oTable.dataTableSettings[0]['ajax']['data'];
+                        for (var attrname in addtional_filterdata)
+                        {
+                            oParams[attrname] = addtional_filterdata[attrname];
+                        }
+                        var iframe = document.createElement('iframe');
+                        iframe.style.height = "0px";
+                        iframe.style.width = "0px";
+                        iframe.src = oConfig.sUrl+"?"+$.param(oParams) + 
"&export=1";
+                        if(confirm("This will take some time..."))
+                        {
+                            document.body.appendChild( iframe );
+                        }
+                    },
+                    "fnSelect": null,
+                    "fnComplete": null,
+                    "fnInit": null
+                };
+            ]]>
+            <xsl:choose>
+                <xsl:when test="//datatable/actions">
+                    JqueryPortico.TableTools = {
+                        "sSwfPath": 
"phpgwapi/js/DataTables/extensions/TableTools/swf/copy_csv_xls_pdf.swf",
+                        "sRowSelect": "multi",
+                        "aButtons": [
+                            {
+                                "sExtends": "collection",
+                                "sButtonText": "Operation",
+                                "aButtons": [
+                                    'copy',
+                                    {
+                                        sExtends: 'select_all',
+                                        //sButtonText: 'Select All',
+                                        fnClick: function (nButton, oConfig, 
oFlash) {
+                                            
TableTools.fnGetInstance('datatable-container').fnSelectAll();
+                                            //In case there are checkboxes
+                                            $(".mychecks").each(function()
+                                            {
+                                                $(this).prop("checked", true);
+                                            });
+                                        }
+                                    },
+                                    {
+                                        sExtends: 'select_none',
+                                        //sButtonText: 'Select None',
+                                        fnClick: function (nButton, oConfig, 
oFlash) {
+                                            
TableTools.fnGetInstance('datatable-container').fnSelectNone();
+                                            //In case there are checkboxes
+                                            $(".mychecks").each(function()
+                                            {
+                                                $(this).prop("checked", false);
+                                            });
+                                        }
+                                    }
+                                    <xsl:choose>
+                                        <xsl:when test="download">
+                                        ,{
+                                            "sExtends": "download",
+                                            "sButtonText": "Download",
+                                            "sUrl": '<xsl:value-of 
select="download"/>'
+                                        }
+                                        </xsl:when>
+                                    </xsl:choose>
+                                    <xsl:choose>
+                                        <xsl:when test="//datatable/actions != 
''">
+                                            ,
+                                            {
+                                                sExtends: "div",
+                                                sButtonText: "Knapper nedenfor 
gjelder pr valgt element "
+                                            },
+                                            <xsl:for-each 
select="//datatable/actions">
+                                                <xsl:choose>
+                                                    <xsl:when test="type = 
'custom'">
+                                                        {
+                                                            sExtends: "select",
+                                                            sButtonText: 
"<xsl:value-of select="text"/>",
+                                                            fnClick: function 
(nButton, oConfig, oFlash) {
+                                                                <xsl:if 
test="confirm_msg">
+                                                                    var 
confirm_msg = "<xsl:value-of select="confirm_msg"/>";
+                                                                    var r = 
confirm(confirm_msg);
+                                                                    if (r != 
true) {
+                                                                        return 
false;
+                                                                    }
+                                                                </xsl:if>
+                                                                <xsl:value-of 
select="custom_code"/>
+                                                            }
 
-               var columns = [
-                       <xsl:for-each select="//datatable/field">
-                               {
-                                       data:                   "<xsl:value-of 
select="key"/>",
-                                       <xsl:if test="className">
-                                               <xsl:choose>
-                                                       <xsl:when 
test="className='right' or className='center'">
-                                                               <xsl:if 
test="className ='right'">
-                                                                       class:  
'dt-right',
-                                                               </xsl:if>
-                                                               <xsl:if 
test="className ='center'">
-                                                                       class:  
'dt-center',
-                                                               </xsl:if>
-                                                       </xsl:when>
-                                                       <xsl:otherwise>
-                                                                       class:  
"<xsl:value-of select="className"/>",
-                                                       </xsl:otherwise>
-                                               </xsl:choose>
-                                       </xsl:if>
-                                       orderable:              <xsl:value-of 
select="phpgw:conditional(not(sortable = 0), 'true', 'false')"/>,
-                                       <xsl:choose>
-                                               <xsl:when test="hidden">
-                                                       <xsl:if test="hidden 
=0">
-                                                               visible         
        :true,
-                                                       </xsl:if>
-                                                       <xsl:if test="hidden 
=1">
-                                                               class:          
        'none', //FIXME - virker ikke...'responsive' plukker den fram igjen
-                                                               visible         
        :false,
-                                                       </xsl:if>
-                                               </xsl:when>
-                                               <xsl:otherwise>
-                                                               visible         
        :true,
-                                               </xsl:otherwise>
-                                       </xsl:choose>
-                                       <xsl:if test="formatter">
-                                        render: function (dummy1, dummy2, 
oData) {
-                                                       try {
-                                                               var ret = 
<xsl:value-of select="formatter"/>("<xsl:value-of select="key"/>", oData);
-                                                       }
-                                                       catch(err) {
-                                                               return 
err.message;
-                                                       }
-                                                       return ret;
-                         },
+                                                        }
+                                                        <xsl:value-of 
select="phpgw:conditional(not(position() = last()), ',', '')"/>
+                                                    </xsl:when>
+                                                    <xsl:otherwise>
+                                                        {
+                                                            sExtends: "select",
+                                                            sButtonText: 
"<xsl:value-of select="text"/>",
+                                                            fnClick: function 
(nButton, oConfig, oFlash) {
+                                                                var receiptmsg 
= [];
+                                                                var selected = 
fnGetSelected();
+                                                                var 
numSelected = selected.length;
 
-                                       </xsl:if>
-                                       <xsl:choose>
-                                               <xsl:when test="editor">
-                                                       <xsl:if test="editor 
=0">
-                                                               editor: false,
-                                                       </xsl:if>
-                                                       <xsl:if test="editor 
=1">
-                                                               editor: true,
-                                                       </xsl:if>
-                                               </xsl:when>
-                                               <xsl:otherwise>
-                                                               editor: false,
-                                               </xsl:otherwise>
-                                       </xsl:choose>
-                                       defaultContent: "<xsl:value-of 
select="defaultContent"/>"
-                               }<xsl:value-of 
select="phpgw:conditional(not(position() = last()), ',', '')"/>
-                       </xsl:for-each>
-               ];
-<![CDATA[
-               JqueryPortico.columns = [];
+                                                                if 
(numSelected ==0){
+                                                                    
alert('None selected');
+                                                                    return 
false;
+                                                                }
 
-               for(i=0;i < columns.length;i++)
-               {
-                       if ( columns[i]['visible'] == true )
-                       {
-                               JqueryPortico.columns.push(columns[i]);
-                       }
-               }
-//             console.log(JqueryPortico.columns);
-]]>
-       </script>
+                                                                <xsl:if 
test="confirm_msg">
+                                                                    var 
confirm_msg = "<xsl:value-of select="confirm_msg"/>";
+                                                                    var r = 
confirm(confirm_msg);
+                                                                    if (r != 
true) {
+                                                                        return 
false;
+                                                                    }
+                                                                </xsl:if>
 
-       <script type="text/javascript" class="init">
-               
-               var oTable = null;
-               $(document).ready(function() {
+                                                                var target = 
"<xsl:value-of select="target"/>";
+                                                                if(!target)
+                                                                {
+                                                                    target = 
'_self';
+                                                                }
 
-                       var ajax_url = '<xsl:value-of select="source"/>';
-                       var download_url = '<xsl:value-of select="download"/>';
-                       var exclude_colvis = [];
-                       var editor_cols = [];
-                       var editor_action = '<xsl:value-of 
select="editor_action"/>';
-                       var disablePagination = '<xsl:value-of 
select="disablePagination"/>';
-                       
-<![CDATA[
-                       TableTools.BUTTONS.download = {
-                               "sAction": "text",
-                               "sTag": "default",
-                               "sFieldBoundary": "",
-                               "sFieldSeperator": "\t",
-                               "sNewLine": "<br>",
-                               "sToolTip": "",
-                               "sButtonClass": "DTTT_button_text",
-                               "sButtonClassHover": "DTTT_button_text_hover",
-                               "sButtonText": "Download",
-                               "mColumns": "all",
-                               "bHeader": true,
-                               "bFooter": true,
-                               "sDiv": "",
-                               "fnMouseover": null,
-                               "fnMouseout": null,
-                               "fnClick": function( nButton, oConfig ) {
-                                       var oParams = 
this.s.dt.oApi._fnAjaxParameters( this.s.dt );
-                                       oParams.length = -1;
-                                       oParams.columns = null;
-                                       oParams.start = null;
-                                       oParams.draw = null;
-                                       var addtional_filterdata = 
oTable.dataTableSettings[0]['ajax']['data'];
-                                       for (var attrname in 
addtional_filterdata)
-                                       {
-                                                oParams[attrname] = 
addtional_filterdata[attrname];
-                                       }
-                                       var iframe = 
document.createElement('iframe');
-                                       iframe.style.height = "0px";
-                                       iframe.style.width = "0px";
-                                       iframe.src = 
oConfig.sUrl+"?"+$.param(oParams) + "&export=1";
-                                       if(confirm("This will take some 
time..."))
-                                       {
-                                               document.body.appendChild( 
iframe );
-                                       }
-                               },
-                               "fnSelect": null,
-                               "fnComplete": null,
-                               "fnInit": null
-                       };
-       ]]>
-               <xsl:choose>
-                               <xsl:when test="//datatable/actions">
-                                               JqueryPortico.TableTools =      
{
-                                                               "sSwfPath": 
"phpgwapi/js/DataTables/extensions/TableTools/swf/copy_csv_xls_pdf.swf",
-                                                               "sRowSelect": 
"multi",
-                                                               "aButtons":
-                                                                       [
-                                                                               
        {
-                                                                           
"sExtends":    "collection",
-                                                                               
                "sButtonText": "Operation",
-                                                                               
                "aButtons": [
-                                                                               
                        'copy',
-                                                                               
                                {
-                                                                               
                                        sExtends: 'select_all',
-                                                                               
                                        //sButtonText: 'Select All',
-                                                                               
                                        fnClick: function (nButton, oConfig, 
oFlash) {
-                                                                               
                                                
TableTools.fnGetInstance('datatable-container').fnSelectAll();
-                                                                               
                                                //In case there are checkboxes
-                                                                               
                                                $(".mychecks").each(function()
-                                                                               
                                                {
-                                                                               
                                                         
$(this).prop("checked", true);
-                                                                               
                                                });
+                                                                if 
(numSelected &gt; 1){
+                                                                    target = 
'_blank';
+                                                                }
 
-                                                                               
                                        }
-                                                                               
                                },
-                                                                               
                            {
-                                                                               
                                        sExtends: 'select_none',
-                                                                               
                                        //sButtonText: 'Select None',
-                                                                               
                                        fnClick: function (nButton, oConfig, 
oFlash) {
-                                                                               
                                                
TableTools.fnGetInstance('datatable-container').fnSelectNone();
-                                                                               
                                                //In case there are checkboxes
-                                                                               
                                                $(".mychecks").each(function()
-                                                                               
                                                {
-                                                                               
                                                         
$(this).prop("checked", false);
-                                                                               
                                                });
+                                                                var n = 0;
+                                                                for (; n &lt; 
numSelected; ) {
+                                                                    // 
console.log(selected[n]);
+                                                                    var aData 
= oTable.fnGetData( selected[n] ); //complete dataset from json returned from 
server
+                                                                    // 
console.log(aData);
 
-                                                                               
                                        }
-                                                                               
                                }
-                                                                               
                <xsl:choose>
-                                                                               
                        <xsl:when test="download">
-                                                                               
                        ,{
-                                                                               
                                "sExtends": "download",
-                                                                               
                                "sButtonText": "Download",
-                                                                               
                                "sUrl": '<xsl:value-of select="download"/>'
-                                                                               
                        }
-                                                                               
                        </xsl:when>
-                                                                               
                </xsl:choose>
-                                                                               
                <xsl:choose>
-                                                                               
                        <xsl:when test="//datatable/actions != ''">
-                                                                               
                        ,
-                                                                               
                        {
-                                                                               
                                sExtends: "div",
-                                                                               
                                sButtonText: "Knapper nedenfor gjelder pr valgt 
element "
-                                                                               
                        },
-                                                                               
                        <xsl:for-each select="//datatable/actions">
-                                                                               
                                <xsl:choose>
-                                                                               
                                        <xsl:when test="type = 'custom'">
-                                                                               
                                                {
-                                                                               
                                                        sExtends:               
"select",
-                                                                               
                                                        sButtonText:    
"<xsl:value-of select="text"/>",
-                                                                               
                                                        fnClick:                
function (nButton, oConfig, oFlash) {
+                                                                    //delete 
stuff comes here
+                                                                    var action 
= "<xsl:value-of select="action"/>";
 
-                                                                               
                                                                                
                <xsl:if test="confirm_msg">
-                                                                               
                                                                                
                        var confirm_msg = "<xsl:value-of 
select="confirm_msg"/>";
-                                                                               
                                                                                
                        var r = confirm(confirm_msg);
-                                                                               
                                                                                
                        if (r != true) {
-                                                                               
                                                                                
                                return false;
-                                                                               
                                                                                
                        }
-                                                                               
                                                                                
                </xsl:if>
+                                                                    <xsl:if 
test="parameters">
+                                                                        var 
parameters = <xsl:value-of select="parameters"/>;
+                                                                        // 
console.log(parameters.parameter);
+                                                                        var i 
= 0;
+                                                                        len = 
parameters.parameter.length;
+                                                                        for (; 
i &lt; len; ) {
+                                                                            
action += '&amp;' + parameters.parameter[i]['name'] + '=' + 
aData[parameters.parameter[i]['source']];
+                                                                            
i++;
+                                                                        }
+                                                                    </xsl:if>
 
-                                                                               
                                                                                
                <xsl:value-of select="custom_code"/>    
-                                                                               
                                                                        }
+                                                                    // look 
for the word "DELETE" in URL
+                                                                    
if(substr_count(action,'delete')>0)
+                                                                    {          
     
+                                                                        action 
+= "&amp;confirm=yes&amp;phpgw_return_as=json";
+                                                                        
execute_ajax(action, function(result){
+                                                                            
document.getElementById("message").innerHTML += '<br/>' + result;
+                                                                            
oTable.fnDraw();
+                                                                        });
+                                                                    }
+                                                                    else if 
(target == 'ajax')
+                                                                    {
+                                                                        action 
+= "&amp;phpgw_return_as=json";
+                                                                        
execute_ajax(action, function(result){
+                                                                            
document.getElementById("message").innerHTML += '<br/>' + result;
+                                                                            
oTable.fnDraw();
+                                                                        });
+                                                                    }
+                                                                    else
+                                                                    {
+                                                                        
window.open(action,target);
+                                                                    }
+                                                                    n++;
+                                                                }
+                                                            }
+                                                        }
+                                                        <xsl:value-of 
select="phpgw:conditional(not(position() = last()), ',', '')"/>
+                                                    </xsl:otherwise>
+                                                </xsl:choose>
+                                            </xsl:for-each>
+                                        </xsl:when>
+                                    </xsl:choose>
+                                ]
+                            }
+                        ]
+                    };  
+                </xsl:when>
+                <xsl:otherwise>
+                    JqueryPortico.TableTools = false;
+                </xsl:otherwise>
+            </xsl:choose>
+            <![CDATA[
+                for(i=0;i < JqueryPortico.columns.length;i++)
+                {
+                    if (JqueryPortico.columns[i]['visible'] != 'undefined' && 
JqueryPortico.columns[i]['visible'] == false)
+                    {
+                        exclude_colvis.push(i);
+                    }
+                }
 
-                                                                               
                                                }<xsl:value-of 
select="phpgw:conditional(not(position() = last()), ',', '')"/>
-                                                                               
                                        </xsl:when>
-                                                                               
                                        <xsl:otherwise>
-                                                                               
                                                {
-                                                                               
                                                        sExtends:               
"select",
-                                                                               
                                                        sButtonText:    
"<xsl:value-of select="text"/>",
-                                                                               
                                                        fnClick:                
function (nButton, oConfig, oFlash) {
-                                                                               
                                                                                
        var receiptmsg = [];
-                                                                               
                                                                                
        var selected = fnGetSelected();
-                                                                               
                                                                                
        var numSelected =       selected.length;
+                for(i=0;i < JqueryPortico.columns.length;i++)
+                {
+                    if (JqueryPortico.columns[i]['editor'] === true)
+                    {
+                        editor_cols.push({sUpdateURL:editor_action + 
'&field_name=' + JqueryPortico.columns[i]['data']});
+                    } else {
+                        editor_cols.push(null);
+                    }
+                }
 
-                                                                               
                                                                                
        if (numSelected ==0){
-                                                                               
                                                                                
                alert('None selected');
-                                                                               
                                                                                
                return false;
-                                                                               
                                                                                
        }
+                if(JqueryPortico.TableTools)
+                {
+                    var sDom_def = 
'lCT<"clear">f<"top"ip>rt<"bottom"><"clear">';
+                }
+                else
+                {
+                    var sDom_def = '<"clear">lfrtip';
+                }
 
-                                                                               
                                                                                
        <xsl:if test="confirm_msg">
-                                                                               
                                                                                
                var confirm_msg = "<xsl:value-of select="confirm_msg"/>";
-                                                                               
                                                                                
                var r = confirm(confirm_msg);
-                                                                               
                                                                                
                if (r != true) {
-                                                                               
                                                                                
                        return false;
-                                                                               
                                                                                
                }
-                                                                               
                                                                                
        </xsl:if>
+                $(document).ready(function() {
+                    oTable = $('#datatable-container').dataTable({
+                        paginate: disablePagination ? false : true,
+                        processing: true,
+                        serverSide: true,
+                        responsive: true,
+                        deferRender: true,
+                        ajax: {
+                            url: ajax_url,
+                            data: {},
+                            type: 'GET'
+                        },
+                        fnServerParams: function ( aoData ) {
+                            if(typeof(aoData.order) != 'undefined')
+                            {
+                                var column = aoData.order[0].column;
+                                var dir = aoData.order[0].dir;
+                                var column_to_keep = aoData.columns[column];
+                                delete aoData.columns;
+                                aoData.columns = {};
+                                aoData.columns[column] = column_to_keep;
+                            }
+                        },
+                        fnRowCallback: function(nRow, aData, iDisplayIndex, 
iDisplayIndexFull) {
+                            if(typeof(aData['priority'])!= undefined && 
aData['priority'] > 0)
+                            {
+                                // nRow.addClass(''),
+                                // console.log(nRow),
+                                $('td', nRow).addClass('priority' + 
aData['priority']);
+                            }
+                        },
+                        fnDrawCallback: function () {
+                            oTable.makeEditable({
+                                sUpdateURL: editor_action,
+                                fnOnEditing: function(input){  
+                                    cell = input.parents("td");
+                                    id = 
input.parents("tr").children("td:first").text();
+                                    return true;
+                                },
+                                fnOnEdited: function(status, sOldValue, 
sNewCellDisplayValue, aPos0, aPos1, aPos2)
+                                {
+                                    
document.getElementById("message").innerHTML += '<br/>' + status;
+                                },
+                                oUpdateParameters: { 
+                                    "id": function(){ return id; }
+                                },
+                                aoColumns: editor_cols,
+                                sSuccessResponse: "IGNORE",
+                                fnShowError: function(){ return; }
+                            });
+                            if(typeof(addFooterDatatable) == 'function')
+                            {
+                                addFooterDatatable(oTable);
+                            }
+                        },
+                        fnFooterCallback: function ( nRow, aaData, iStart, 
iEnd, aiDisplay ) {
+                            if(typeof(addFooterDatatable2) == 'function')
+                            {
+                                addFooterDatatable2(nRow, aaData, iStart, 
iEnd, aiDisplay,oTable);
+                            }
+                        },//alternative
+                        fnInitComplete: function (oSettings, json)
+                        {
+                            if(typeof(initCompleteDatatable) == 'function')
+                            {
+                                initCompleteDatatable(oSettings, json, oTable);
+                            }
+                        },
+                        lengthMenu: JqueryPortico.i18n.lengthmenu(),
+                        language: JqueryPortico.i18n.datatable(),
+                        columns: JqueryPortico.columns,
+                        colVis: {
+                            exclude: exclude_colvis
+                        },
+                        dom: sDom_def,
+                        stateSave: true,
+                        stateDuration: -1, //sessionstorage
+                        tabIndex: 1,
+                        oTableTools: JqueryPortico.TableTools
+                    });
+                });
+            ]]>
 
-                                                                               
                                                                                
        var target = "<xsl:value-of select="target"/>";
-                                                                               
                                                                                
        if(!target)
-                                                                               
                                                                                
        {
-                                                                               
                                                                                
                target = '_self';
-                                                                               
                                                                                
        }
+            /**
+            * Add left click action..
+            */
+            <xsl:if test="//left_click_action != ''">
+                $("#datatable-container").on("click", "tbody tr", function() {
+                    var iPos = oTable.fnGetPosition( this );
+                    var aData = oTable.fnGetData( iPos ); //complete dataset 
from json returned from server
+                    try {
+                        <xsl:value-of select="//left_click_action"/>
+                    }
+                    catch(err) {
+                        document.getElementById("message").innerHTML = 
err.message;
+                    }
+                });
+            </xsl:if>
 
-                                                                               
                                                                                
        if (numSelected &gt; 1){
-                                                                               
                                                                                
                target = '_blank';
-                                                                               
                                                                                
        }
+            /**
+            * Add dbl click action..
+            */
+            <xsl:if test="dbl_click_action != ''">
+                $("#datatable-container").on("dblclick", "tr", function() {
+                    var iPos = oTable.fnGetPosition( this );
+                    var aData = oTable.fnGetData( iPos ); //complete dataset 
from json returned from server
+                    try {
+                        <xsl:value-of select="dbl_click_action"/>(aData);
+                    }
+                    catch(err) {
+                        document.getElementById("message").innerHTML = 
err.message;
+                    }
+                });
+            </xsl:if>
 
-                                                                               
                                                                                
        var n = 0;
-                                                                               
                                                                                
        for (; n &lt; numSelected; ) {
+            <xsl:for-each select="//form/toolbar/item">
+                <xsl:if test="type = 'filter'">
+                    $('select#<xsl:value-of select="name"/>').change( 
function() 
+                    {
+                        <xsl:value-of select="extra"/>
+                        filterData('<xsl:value-of select="name"/>', 
$(this).val());
+                    });
+                </xsl:if>
+                <xsl:if test="type = 'date-picker'">
+                    var previous_<xsl:value-of select="id"/>;
+                    $("#filter_<xsl:value-of select="id"/>").on('keyup 
change', function ()
+                    {
+                        if ( $.trim($(this).val()) != 
$.trim(previous_<xsl:value-of select="id"/>) ) 
+                        {
+                            filterData('<xsl:value-of select="id"/>', 
$(this).val());
+                            previous_<xsl:value-of select="id"/> = 
$(this).val();
+                        }
+                    });
+                </xsl:if>
+                <xsl:if test="type = 'autocomplete'">
+                    $(document).ready(function() {
+                        $('input.ui-autocomplete-input#filter_<xsl:value-of 
select="name"/>_name').on('autocompleteselect', function(event, ui){
+                            filterData('filter_<xsl:value-of 
select="name"/>_id', ui.item.value);
+                        });
+                        $('input.ui-autocomplete-input#filter_<xsl:value-of 
select="name"/>_name').on('keyup', function(){
+                            if ($(this).val() == ''){
+                                filterData('filter_<xsl:value-of 
select="name"/>_id', $(this).val());
+                            }
+                        });
+                    });
+                </xsl:if>
+            </xsl:for-each>
+    <![CDATA[
+            function fnGetSelected( )
+            {
+                var aReturn = new Array();
+                var aTrs = oTable.fnGetNodes();
+                for ( var i=0 ; i < aTrs.length ; i++ )
+                {
+                    if ( $(aTrs[i]).hasClass('selected') )
+                    {
+                        aReturn.push( i );
+                    }
+                }
+                return aReturn;
+            }
 
-                                                                               
                                                                //              
                console.log(selected[n]);
-                                                                               
                                                                                
                var aData = oTable.fnGetData( selected[n] ); //complete dataset 
from json returned from server
-                                                                               
                                                                //              
                console.log(aData);
+            function execute_ajax(requestUrl, callback, data,type, dataType)
+            {
+                type = typeof type !== 'undefined' ? type : 'POST';
+                dataType = typeof dataType !== 'undefined' ? dataType : 'html';
+                data = typeof data !== 'undefined' ? data : {};
 
-                                                                               
                                                                                
                //delete stuff comes here
-                                                                               
                                                                                
                var action = "<xsl:value-of select="action"/>";
+                $.ajax({
+                    type: type,
+                    dataType: dataType,
+                    data: data,
+                    url: requestUrl,
+                    success: function(result) {
+                        callback(result);
+                    }
+                });
+            }
 
-                                                                               
                                                                                
                <xsl:if test="parameters">
-                                                                               
                                                                                
                        var parameters = <xsl:value-of select="parameters"/>;
-                                                                               
                                                                //              
                                console.log(parameters.parameter);
-                                                                               
                                                                                
                        var i = 0;
-                                                                               
                                                                                
                        len = parameters.parameter.length;
-                                                                               
                                                                                
                        for (; i &lt; len; ) {
-                                                                               
                                                                                
                                action += '&amp;' + 
parameters.parameter[i]['name'] + '=' + 
aData[parameters.parameter[i]['source']];
-                                                                               
                                                                                
                                i++;
-                                                                               
                                                                                
                        }
-                                                                               
                                                                                
                </xsl:if>
+            function substr_count( haystack, needle, offset, length )
+            {
+                var pos = 0, cnt = 0;
 
-                                                                               
                                                                                
                // look for the word "DELETE" in URL
-                                                                               
                                                                                
                if(substr_count(action,'delete')>0)
-                                                                               
                                                                                
                {               
-                                                                               
                                                                                
                                action += 
"&amp;confirm=yes&amp;phpgw_return_as=json";
-                                                                               
                                                                                
                                execute_ajax(action, function(result){
-                                                                               
                                                                                
                                        
document.getElementById("message").innerHTML += '<br/>' + result;
-                                                                               
                                                                                
                                        oTable.fnDraw();
-                                                                               
                                                                                
                                })                                              
                                                                                
                                                
-                                                                               
                                                                                
                }
-                                                                               
                                                                                
                else if (target == 'ajax')
-                                                                               
                                                                                
                {
-                                                                               
                                                                                
                                action += "&amp;phpgw_return_as=json";
-                                                                               
                                                                                
                                execute_ajax(action, function(result){
-                                                                               
                                                                                
                                        
document.getElementById("message").innerHTML += '<br/>' + result;
-                                                                               
                                                                                
                                        oTable.fnDraw();
-                                                                               
                                                                                
                                });                                             
                                                                                
                                                                
-                                                                               
                                                                                
                }
-                                                                               
                                                                                
                else
-                                                                               
                                                                                
                {
-                                                                               
                                                                                
                        window.open(action,target);
-                                                                               
                                                                                
                }
+                haystack += '';
+                needle += '';
+                if(isNaN(offset)) offset = 0;
+                if(isNaN(length)) length = 0;
+                offset--;
 
-                                                                               
                                                                                
                n++;
-                                                                               
                                                                                
        }
-                                                                               
                                                                        }
+                while( (offset = haystack.indexOf(needle, offset+1)) != -1 )
+                {
+                    if(length > 0 && (offset+needle.length) > length)
+                    {
+                        return false;
+                    }
+                    else
+                    {
+                        cnt++;
+                    }
+                }
+                return cnt;
+            }
+        });
 
-                                                                               
                                                }<xsl:value-of 
select="phpgw:conditional(not(position() = last()), ',', '')"/>
-                                                                               
                                        </xsl:otherwise>
-                                                                               
                                </xsl:choose>
-                                                                               
                        </xsl:for-each>
-                                                                               
                        </xsl:when>
-                                                                               
                </xsl:choose>
-                                                                               
                ]
-                                                                               
        }
-                                        ]
-                                                               };
+        function searchData(query)
+        {
+            var api = oTable.api();
+            api.search( query ).draw();
+        }
 
+        function filterData(param, value)
+        {
+            oTable.dataTableSettings[0]['ajax']['data'][param] = value;
+            oTable.fnDraw();
+        }
 
+        function clearFilterParam(param)
+        {
+            oTable.dataTableSettings[0]['ajax']['data'][param] = '';
+        }
 
-                               </xsl:when>
-                               <xsl:otherwise>
-                                       JqueryPortico.TableTools = false;
-                               </xsl:otherwise>
-                       </xsl:choose>
-<![CDATA[
+        function reloadData()
+        {
+            var api = oTable.api();
+            api.ajax.reload();
+        }
+    ]]>
+    </script>
 
-                       for(i=0;i < JqueryPortico.columns.length;i++)
-                       {
-                               if (JqueryPortico.columns[i]['visible'] != 
'undefined' && JqueryPortico.columns[i]['visible'] == false)
-                               {
-                                       exclude_colvis.push(i);
-                               }
-                       }
-
-                       for(i=0;i < JqueryPortico.columns.length;i++)
-                       {
-                               if (JqueryPortico.columns[i]['editor'] === true)
-                               {
-                                       
editor_cols.push({sUpdateURL:editor_action + '&field_name=' + 
JqueryPortico.columns[i]['data']});
-                               } else {
-                                       editor_cols.push(null);
-                               }
-                       }
-
-                       if(JqueryPortico.TableTools)
-                       {
-                               var sDom_def = 
'lCT<"clear">f<"top"ip>rt<"bottom"><"clear">';
-                       }
-                       else
-                       {
-                               var sDom_def = '<"clear">lfrtip';
-                       }
-       
-               $(document).ready(function() {
-                       
-                       oTable = $('#datatable-container').dataTable( {
-                               paginate:               disablePagination ? 
false : true,
-                               processing:             true,
-                               serverSide:             true,
-                               responsive:             true,
-                               deferRender:    true,
-                               ajax:                   {
-                                       url: ajax_url,
-                                       data: {},
-                                       type: 'GET'
-                               },
-                               fnServerParams: function ( aoData ) {
-                                       if(typeof(aoData.order) != 'undefined')
-                                       {
-                                               var column = 
aoData.order[0].column;
-                                               var dir = aoData.order[0].dir;
-                                               var column_to_keep = 
aoData.columns[column];
-                                               delete aoData.columns;
-                                               aoData.columns = {};
-                                               aoData.columns[column] = 
column_to_keep;
-                                       }
-                                },
-                               fnRowCallback: function(nRow, aData, 
iDisplayIndex, iDisplayIndexFull) {
-                                                               
if(typeof(aData['priority'])!= undefined && aData['priority'] > 0)
-                                                               {
-                                                                       
//nRow.addClass(''),
-                                                               //      
console.log(nRow),
-                                                                       $('td', 
nRow).addClass('priority' + aData['priority']);
-                                                               }
-                },
-                               fnDrawCallback: function () {
-                                       oTable.makeEditable({
-                                                       sUpdateURL: 
editor_action,
-                                                       fnOnEditing: 
function(input){  
-                                                               cell = 
input.parents("td");
-                                                               id = 
input.parents("tr")
-                                                                               
   .children("td:first")
-                                                                               
   .text();
-                                                               return true;
-                                                       },
-                                                       fnOnEdited: 
function(status, sOldValue, sNewCellDisplayValue, aPos0, aPos1, aPos2)
-                                                       {       
-                                                               
document.getElementById("message").innerHTML += '<br/>' + status;
-                                                       },
-                                                       oUpdateParameters: { 
-                                                               "id": 
function(){ return id; }
-                                                       },
-                                                       aoColumns: editor_cols, 
        
-                                                   sSuccessResponse: "IGNORE",
-                                                       fnShowError: 
function(){ return; }              
-                                       });
-                                       if(typeof(addFooterDatatable) == 
'function')
-                                       {
-                                               addFooterDatatable(oTable);
-                                       }
-                               },
-                               fnFooterCallback: function ( nRow, aaData, 
iStart, iEnd, aiDisplay ) {
-                                       if(typeof(addFooterDatatable2) == 
'function')
-                                       {
-                                               addFooterDatatable2(nRow, 
aaData, iStart, iEnd, aiDisplay,oTable);
-                                       }
-                               },//alternative
-                               fnInitComplete: function (oSettings, json)
-                               {
-                                       if(typeof(initCompleteDatatable) == 
'function')
-                                       {
-                                               
initCompleteDatatable(oSettings, json, oTable);
-                                       }
-                               },
-                               lengthMenu:             
JqueryPortico.i18n.lengthmenu(),
-                               language:               
JqueryPortico.i18n.datatable(),
-                               columns:                JqueryPortico.columns,
-                               colVis: {
-                                                               exclude: 
exclude_colvis
-                               },
-                               dom:                    sDom_def,
-                               stateSave:              true,
-                               stateDuration: -1, //sessionstorage
-                               tabIndex:               1,
-                               oTableTools: JqueryPortico.TableTools
-                       } );
-
-});
-
-       ]]>
-
-                       /**
-                       * Add left click action..
-                       */
-                       <xsl:if test="//left_click_action != ''">
-                               $("#datatable-container").on("click", "tbody 
tr", function() {
-                                       var iPos = oTable.fnGetPosition( this );
-                                       var aData = oTable.fnGetData( iPos ); 
//complete dataset from json returned from server
-                                       try {
-                                               <xsl:value-of 
select="//left_click_action"/>
-                                       }
-                                       catch(err) {
-                                           
document.getElementById("message").innerHTML = err.message;
-                                       }
-                               });
-                       </xsl:if>
-
-                       /**
-                       * Add dbl click action..
-                       */
-                       <xsl:if test="dbl_click_action != ''">
-                               $("#datatable-container").on("dblclick", "tr", 
function() {
-                                       var iPos = oTable.fnGetPosition( this );
-                                       var aData = oTable.fnGetData( iPos ); 
//complete dataset from json returned from server
-                                       try {
-                                               <xsl:value-of 
select="dbl_click_action"/>(aData);
-                                       }
-                                       catch(err) {
-                                           
document.getElementById("message").innerHTML = err.message;
-                                       }
-                               });
-                       </xsl:if>
-
-                       <xsl:for-each select="//form/toolbar/item">
-                               <xsl:if test="type = 'filter'">
-                                       $('select#<xsl:value-of 
select="name"/>').change( function() 
-                                       {
-                                               <xsl:value-of select="extra"/>
-                                               filterData('<xsl:value-of 
select="name"/>', $(this).val());
-                                       });
-                               </xsl:if>
-                               <xsl:if test="type = 'date-picker'">
-                                       var previous_<xsl:value-of 
select="id"/>;
-                                       $("#filter_<xsl:value-of 
select="id"/>").on('keyup change', function ()
-                                       {
-                                               if ( $.trim($(this).val()) != 
$.trim(previous_<xsl:value-of select="id"/>) ) 
-                                               {
-                                                       
filterData('<xsl:value-of select="id"/>', $(this).val());
-                                                       previous_<xsl:value-of 
select="id"/> = $(this).val();
-                                               }
-                                       });
-                               </xsl:if>
-                       </xsl:for-each>
-
-<![CDATA[
-
-                       function fnGetSelected( )
-                       {
-                               var aReturn = new Array();
-                                var aTrs = oTable.fnGetNodes();
-                                for ( var i=0 ; i < aTrs.length ; i++ )
-                                {
-                                        if ( $(aTrs[i]).hasClass('selected') )
-                                        {
-                                                aReturn.push( i );
-                                        }
-                                }
-                                return aReturn;
-                       }
-
-                       function execute_ajax(requestUrl, callback, data,type, 
dataType)
-                       {                                       
-                               type = typeof type !== 'undefined' ? type : 
'POST';
-                               dataType = typeof dataType !== 'undefined' ? 
dataType : 'html';
-                               data = typeof data !== 'undefined' ? data : {};
-                                
-                               $.ajax({
-                                       type: type,
-                                       dataType: dataType,
-                                       data: data,
-                                       url: requestUrl,
-                                       success: function(result) {
-                                               callback(result);
-                                       }
-                               });
-                       }
-
-                       function substr_count( haystack, needle, offset, length 
)
-                       {
-                               var pos = 0, cnt = 0;
-
-                               haystack += '';
-                               needle += '';
-                               if(isNaN(offset)) offset = 0;
-                               if(isNaN(length)) length = 0;
-                               offset--;
-
-                               while( (offset = haystack.indexOf(needle, 
offset+1)) != -1 )
-                               {
-                                       if(length > 0 && (offset+needle.length) 
> length)
-                                       {
-                                               return false;
-                                       } else
-                                       {
-                                               cnt++;
-                                       }
-                               }
-                               return cnt;
-                       }
-
-
-               } );
-
-               function searchData(query)
-               {
-                       var api = oTable.api();
-                       api.search( query ).draw();
-               }
-
-               function filterData(param, value)
-               {
-                       oTable.dataTableSettings[0]['ajax']['data'][param] = 
value;
-                       oTable.fnDraw();
-               }
-               
-               function clearFilterParam(param)
-               {
-                       oTable.dataTableSettings[0]['ajax']['data'][param] = '';
-               }
-               
-               function reloadData()
-               {
-                       var api = oTable.api();
-                       api.ajax.reload();
-               }
-]]>
-       </script>
-
-       <script>
-               <xsl:choose>
-                       <xsl:when test="//js_lang != ''">
-                               var lang = <xsl:value-of select="//js_lang"/>;
-                       </xsl:when>
-               </xsl:choose>
-       </script>
-
-</xsl:template>
+    <script>
+        <xsl:choose>
+            <xsl:when test="//js_lang != ''">
+                var lang = <xsl:value-of select="//js_lang"/>;
+            </xsl:when>
+        </xsl:choose>
+    </script>
+</xsl:template>
\ No newline at end of file

Modified: branches/dev-syncromind/phpgwapi/templates/pure/css/global.css
===================================================================
--- branches/dev-syncromind/phpgwapi/templates/pure/css/global.css      
2015-09-22 00:26:22 UTC (rev 13987)
+++ branches/dev-syncromind/phpgwapi/templates/pure/css/global.css      
2015-09-22 00:27:54 UTC (rev 13988)
@@ -62,7 +62,45 @@
 .pure-table thead th{text-align: center;}
 .pure-table tbody th{border-top: 1px solid #cbcbcb;text-align: 
right;font-weight: bold;color: #000;}
 
+.date-container {position: relative;}
+        
+#dates-container .date-container .pure-control-group input.datetime,
+#dates-container .date-container .pure-control-group input.time {
+    display: inline-block;
+}
 
+.date-container .close-btn {
+    background: transparent 
url("../../../../phpgwapi/js/yahoo/assets/skins/sam/sprite.png") no-repeat 
scroll 0 -300px;
+    border: medium none;
+    color: white;
+    cursor: pointer;
+    height: 15px;
+    position: absolute;
+    right: 0;
+    text-decoration: none;
+    top: 0;
+    width: 25px;
+}
+
+/*ul.ui-autocomplete {
+    background-color: #fff;
+    border: 1px solid;
+    list-style: outside none none;
+    padding: 0;
+    position: absolute;
+    top: 0;
+    left: 0;
+    cursor: default;
+}
+.ui-autocomplete li.ui-menu-item:hover {
+    background: #426fd9 none repeat scroll 0 0;
+    color: #fff;
+}
+.ui-autocomplete li.ui-menu-item {
+    padding: 2px 10px;
+}*/
+
+
 ul.pathway {
     font-size: 110%;
     font-weight: bolder;




reply via email to

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