[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 > 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 <
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 < len; ) {
+
action += '&' + 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
+= "&confirm=yes&phpgw_return_as=json";
+
execute_ajax(action, function(result){
+
document.getElementById("message").innerHTML += '<br/>' + result;
+
oTable.fnDraw();
+ });
+ }
+ else if
(target == 'ajax')
+ {
+ action
+= "&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 > 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 < 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 < len; ) {
-
action += '&' +
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 +=
"&confirm=yes&phpgw_return_as=json";
-
execute_ajax(action, function(result){
-
document.getElementById("message").innerHTML += '<br/>' + result;
-
oTable.fnDraw();
-
})
-
}
-
else if (target == 'ajax')
-
{
-
action += "&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;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Fmsystem-commits] [13988] fixing forms toolbars,
Saul <=