[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Fmsystem-commits] [12419] add option for disable pagination and search
From: |
Sigurd Nes |
Subject: |
[Fmsystem-commits] [12419] add option for disable pagination and search - as well as enable client-side data for inline tables |
Date: |
Thu, 04 Dec 2014 19:36:08 +0000 |
Revision: 12419
http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=12419
Author: sigurdne
Date: 2014-12-04 19:36:07 +0000 (Thu, 04 Dec 2014)
Log Message:
-----------
add option for disable pagination and search - as well as enable client-side
data for inline tables
Modified Paths:
--------------
branches/dev-syncromind/phpgwapi/inc/sso/include_login.inc.php
branches/dev-syncromind/phpgwapi/js/jquery/common.js
branches/dev-syncromind/property/inc/class.uitts.inc.php
branches/dev-syncromind/property/templates/base/tts.xsl
Added Paths:
-----------
branches/dev-syncromind/property/js/portico/tts.add.js
branches/dev-syncromind/property/js/portico/tts.view.js
Modified: branches/dev-syncromind/phpgwapi/inc/sso/include_login.inc.php
===================================================================
--- branches/dev-syncromind/phpgwapi/inc/sso/include_login.inc.php
2014-12-03 23:26:41 UTC (rev 12418)
+++ branches/dev-syncromind/phpgwapi/inc/sso/include_login.inc.php
2014-12-04 19:36:07 UTC (rev 12419)
@@ -442,7 +442,14 @@
{
$onload = <<<JS
<script language="javascript"
type="text/javascript">
- parent.lightbox_login.hide();
+
if(typeof(parent.lightbox_login) != 'undefined')
+ {
+
parent.lightbox_login.hide();
+ }
+ else
+ {
+ parent.TINY.box.hide();
+ }
</script>
JS;
}
Modified: branches/dev-syncromind/phpgwapi/js/jquery/common.js
===================================================================
--- branches/dev-syncromind/phpgwapi/js/jquery/common.js 2014-12-03
23:26:41 UTC (rev 12418)
+++ branches/dev-syncromind/phpgwapi/js/jquery/common.js 2014-12-04
19:36:07 UTC (rev 12419)
@@ -87,7 +87,7 @@
return '<a id="' + link + '" onclick="searchData(this.id);">' + name +
'</a>';
};
-JqueryPortico.formatCheck = function(key, oData) {
+JqueryPortico.formatCheck = function(key, oDakta) {
var checked = '';
var hidden = '';
if(oData['responsible_item'])
@@ -126,19 +126,37 @@
return "<div class='nowrap' align=\"right\">"+amount+"</div>";
};
-JqueryPortico.inlineTableHelper = function(container, ajax_url, columns,
options, disablePagination) {
+JqueryPortico.inlineTableHelper = function(container, ajax_url, columns,
options, data) {
+ options = options || {};
+ var disablePagination = options['disablePagination'] || false;
+ var disableFilter = options['disableFilter'] || false;
+
+ data = data || {};
+
+ if (Object.keys(data).length == 0)
+ {
+ var ajax_def = {url: ajax_url,type: 'GET'};
+ var serverSide_def = true;
+ }
+ else
+ {
+ var ajax_def = false;
+ var serverSide_def = false;
+ }
+
$(document).ready(function ()
{
oTable = $("#" + container).DataTable({
+ paginate: disablePagination ? false :
true,
+ filter: disableFilter ? false : true,
+ info: disableFilter ? false : true,
processing: true,
- serverSide: true,
+ serverSide: serverSide_def,
responsive: true,
deferRender: true,
- ajax: {
- url: ajax_url,
- type: 'GET'
- },
+ data: data,
+ ajax: ajax_def,
fnInitComplete: function (oSettings, json)
{
JqueryPortico.inlineTablesRendered += 1;
@@ -238,3 +256,10 @@
TINY.box.hide();
}
}
+
+ JqueryPortico.lightboxlogin = function()
+ {
+ var oArgs = {lightbox:1};
+ var strURL = phpGWLink('login.php', oArgs);
+ TINY.box.show({iframe:strURL,
boxid:'frameless',width:$(window).width(),height:400,fixed:false,maskid:'darkmask',maskopacity:40,
mask:true, animate:true, close: false,closejs:false});
+ }
Modified: branches/dev-syncromind/property/inc/class.uitts.inc.php
===================================================================
--- branches/dev-syncromind/property/inc/class.uitts.inc.php 2014-12-03
23:26:41 UTC (rev 12418)
+++ branches/dev-syncromind/property/inc/class.uitts.inc.php 2014-12-04
19:36:07 UTC (rev 12419)
@@ -2325,7 +2325,9 @@
$appname =
lang('helpdesk');
$function_msg =
lang('add ticket');
- $GLOBALS['phpgw']->js->validate_file( 'yahoo',
'tts.add', 'property' );
+// $GLOBALS['phpgw']->js->validate_file( 'yahoo',
'tts.add', 'property' );
+ self::add_javascript('property', 'portico',
'tts.add.js');
+
$this->_insert_custom_js();
$GLOBALS['phpgw_info']['flags']['app_header'] =
lang('property') . ' - ' . $appname . ': ' . $function_msg;
$GLOBALS['phpgw']->xslttpl->add_file(array('tts','files','attributes_form'));
@@ -3177,7 +3179,7 @@
if($access_order)
{
- $note_def[] = array('key' =>
'order_text','label'=>lang('order
text'),'sortable'=>false,'resizeable'=>true,'formatter'=>'FormatterCenter');
+ $note_def[] = array('key' =>
'order_text','label'=>lang('order text'),'sortable'=>false,'resizeable'=>true,
'formatter'=>'FormatterCenter');
foreach($additional_notes as &$note)
{
$note['order_text'] = '<input
type="checkbox" name="values[order_text][]" value="'.$note['value_note'].'"
title="'.lang('Check to add text to order').'">';
@@ -3186,7 +3188,7 @@
if($GLOBALS['phpgw_info']['apps']['frontend']['enabled'])
{
- $note_def[] = array('key' =>
'publish_note','label'=>lang('publish
text'),'sortable'=>false,'resizeable'=>true,'formatter'=>'FormatterCenter');
+ $note_def[] = array('key' =>
'publish_note','label'=>lang('publish
text'),'sortable'=>false,'resizeable'=>true, 'formatter'=>'FormatterCenter');
foreach($additional_notes as &$note)
{
$_checked = $note['value_publish'] ?
'checked' : '';
@@ -3199,7 +3201,16 @@
$note['value_note'] =
nl2br($note['value_note']);
}
+ $datatable_def = array();
+ $datatable_def[] = array
+ (
+ 'container' =>
'datatable-container_0',
+ 'requestUrl' =>
json_encode(self::link(array('menuaction' => 'property.uitts.get_note', 'id' =>
$id,'phpgw_return_as'=>'json'))),
+ 'ColumnDefs' => $note_def,
+ 'data' =>
json_encode($additional_notes)
+ );
+
//_debug_Array($additional_notes);die();
//---datatable
settings---------------------------------------------------
$datavalues[0] = array
@@ -3411,6 +3422,7 @@
$data = array
(
+ 'datatable_def'
=> $datatable_def,
'custom_attributes'
=> array('attributes' => $ticket['attributes']),
'lookup_functions'
=> isset($ticket['lookup_functions'])?$ticket['lookup_functions']:'',
'send_response'
=> isset($this->bo->config->config_data['tts_send_response']) ?
$this->bo->config->config_data['tts_send_response'] : '',
@@ -3545,7 +3557,9 @@
$GLOBALS['phpgw']->css->add_external_file('phpgwapi/js/yahoo/datatable/assets/skins/sam/datatable.css');
$GLOBALS['phpgw']->css->add_external_file('phpgwapi/js/yahoo/paginator/assets/skins/sam/paginator.css');
$GLOBALS['phpgw']->css->add_external_file('phpgwapi/js/yahoo/container/assets/skins/sam/container.css');
- $GLOBALS['phpgw']->js->validate_file( 'yahoo',
'tts.view', 'property' );
+// $GLOBALS['phpgw']->js->validate_file( 'yahoo',
'tts.view', 'property' );
+ self::add_javascript('property', 'portico',
'tts.view.js');
+
$this->_insert_custom_js();
//-----------------------datatable settings---
Added: branches/dev-syncromind/property/js/portico/tts.add.js
===================================================================
--- branches/dev-syncromind/property/js/portico/tts.add.js
(rev 0)
+++ branches/dev-syncromind/property/js/portico/tts.add.js 2014-12-04
19:36:07 UTC (rev 12419)
@@ -0,0 +1,38 @@
+ this.confirm_session = function(action)
+ {
+ var oArgs = {menuaction:'property.bocommon.confirm_session'};
+ var strURL = phpGWLink('index.php', oArgs, true);
+
+ $.ajax({
+ type: 'POST',
+ dataType: 'json',
+ url: strURL,
+ success: function(data) {
+ if( data != null)
+ {
+ if(data['sessionExpired'] == true)
+ {
+ window.alert('sessionExpired -
please log in');
+
JqueryPortico.lightboxlogin();//defined in common.js
+ }
+ else
+ {
+
document.getElementById(action).value = 1;
+ try
+ {
+ validate_submit();
+ }
+ catch (e)
+ {
+ document.form.submit();
+ }
+ }
+ }
+ },
+ failure: function(o)
+ {
+ window.alert('failure - try again - once')
+ },
+ timeout: 5000
+ });
+ }
Copied: branches/dev-syncromind/property/js/portico/tts.view.js (from rev
12418, branches/dev-syncromind/property/js/yahoo/tts.view.js)
===================================================================
--- branches/dev-syncromind/property/js/portico/tts.view.js
(rev 0)
+++ branches/dev-syncromind/property/js/portico/tts.view.js 2014-12-04
19:36:07 UTC (rev 12419)
@@ -0,0 +1,229 @@
+var myPaginator_0, myDataTable_0
+var myPaginator_1, myDataTable_1;
+var myPaginator_2, myDataTable_2;
+var myPaginator_3, myDataTable_3;
+var myPaginator_4, myDataTable_4;
+var myPaginator_5, myDataTable_5;
+var d;
+var vendor_id = 0;
+
+/********************************************************************************/
+this.myParticularRenderEvent = function()
+{
+ this.addFooterDatatable(myPaginator_4,myDataTable_4);
+}
+
+this.addFooterDatatable = function(paginator,datatable)
+{
+ //call getSumPerPage(name of column) in property.js
+ tmp_sum1 = getTotalSum('amount',2,paginator,datatable);
+
+ if(typeof(tableYUI)=='undefined')
+ {
+ tableYUI =
YAHOO.util.Dom.getElementsByClassName("yui-dt-data","tbody")[2].parentNode;
+ tableYUI.setAttribute("id","tableYUI");
+ }
+ else
+ {
+ tableYUI.deleteTFoot();
+ }
+
+ //Create ROW
+ newTR = document.createElement('tr');
+
+ td_sum('Sum');
+ td_sum(tmp_sum1);
+ td_empty(1);
+
+ myfoot = tableYUI.createTFoot();
+ myfoot.setAttribute("id","myfoot");
+ myfoot.appendChild(newTR);
+}
+
+/********************************************************************************/
+var FormatterCenter = function(key, oData)
+{
+
+ return "<center>"+oData[key]+"</center>";
+}
+
+var FormatterAmount2 = function(elCell, oRecord, oColumn, oData)
+{
+ var amount = YAHOO.util.Number.format(oData, {decimalPlaces:2,
decimalSeparator:",", thousandsSeparator:" "});
+ elCell.innerHTML = "<div align=\"right\">"+amount+"</div>";
+}
+
+
/********************************************************************************/
+
+ this.confirm_session = function(action)
+ {
+ var oArgs = {menuaction:'property.bocommon.confirm_session'};
+ var strURL = phpGWLink('index.php', oArgs, true);
+
+ $.ajax({
+ type: 'POST',
+ dataType: 'json',
+ url: strURL,
+ success: function(data) {
+ if( data != null)
+ {
+ if(data['sessionExpired'] == true)
+ {
+ window.alert('sessionExpired -
please log in');
+
JqueryPortico.lightboxlogin();//defined in common.js
+ }
+ else
+ {
+
document.getElementById(action).value = 1;
+ try
+ {
+ validate_submit();
+ }
+ catch (e)
+ {
+ document.form.submit();
+ }
+ }
+ }
+ },
+ failure: function(o)
+ {
+ window.alert('failure - try again - once')
+ },
+ timeout: 5000
+ });
+ }
+
+
+ function SmsCountKeyUp(maxChar)
+ {
+ var msg =
document.getElementsByName("values[response_text]")[0];
+ var left = document.forms.form.charNumberLeftOutput;
+ var smsLenLeft = maxChar - msg.value.length;
+ if (smsLenLeft >= 0)
+ {
+ left.value = smsLenLeft;
+ }
+ else
+ {
+ var msgMaxLen = maxChar;
+ left.value = 0;
+ msg.value = msg.value.substring(0, msgMaxLen);
+ }
+ }
+
+ function SmsCountKeyDown(maxChar)
+ {
+ var msg =
document.getElementsByName("values[response_text]")[0];
+ var left = document.forms.form.charNumberLeftOutput;
+ var smsLenLeft = maxChar - msg.value.length;
+ if (smsLenLeft >= 0)
+ {
+ left.value = smsLenLeft;
+ }
+ else
+ {
+ var msgMaxLen = maxChar;
+ left.value = 0;
+ msg.value = msg.value.substring(0, msgMaxLen);
+ }
+ }
+
+
+
+ this.fetch_vendor_email=function()
+ {
+// formObject = document.body.getElementsByTagName('form');
+// YAHOO.util.Connect.setForm(formObject[0]);//First form
+ if(document.getElementById('vendor_id').value)
+ {
+ base_java_url['vendor_id'] =
document.getElementById('vendor_id').value;
+ }
+
+ if(document.getElementById('vendor_id').value != vendor_id)
+ {
+ base_java_url['action'] = 'get_vendor';
+ execute_async(myDataTable_3);
+ vendor_id = document.getElementById('vendor_id').value;
+ }
+ }
+
+
+ this.onDOMAttrModified = function(e)
+ {
+ var attr = e.attrName || e.propertyName
+ var target = e.target || e.srcElement;
+ if (attr.toLowerCase() == 'vendor_id')
+ {
+ fetch_vendor_email();
+ }
+ }
+
+ this.fileuploader = function()
+ {
+ var sUrl = phpGWLink('index.php', fileuploader_action);
+ var onDialogShow = function(e, args, o)
+ {
+ var frame = document.createElement('iframe');
+ frame.src = sUrl;
+ frame.width = "100%";
+ frame.height = "400";
+ o.setBody(frame);
+ };
+ lightbox.showEvent.subscribe(onDialogShow, lightbox);
+ lightbox.show();
+ }
+
+ this.refresh_files = function()
+ {
+ base_java_url['action'] = 'get_files';
+ execute_async(myDataTable_2);
+ }
+
+YAHOO.util.Event.addListener(window, "load", function()
+{
+ lightbox = new YAHOO.widget.Dialog("lightbox-placeholder",
+ {
+ width : "600px",
+ fixedcenter : true,
+ visible : false,
+ modal : false
+ //draggable: true,
+ //constraintoviewport : true
+ });
+
+ lightbox.render();
+
+ YAHOO.util.Dom.setStyle('lightbox-placeholder', 'display',
'block');
+});
+
+
+YAHOO.util.Event.addListener(window, "load", function()
+{
+ loader = new YAHOO.util.YUILoader();
+ loader.addModule({
+ name: "anyone",
+ type: "js",
+ fullpath: property_js
+ });
+
+ loader.require("anyone");
+ loader.insert();
+});
+
+YAHOO.util.Event.addListener(window, "load", function()
+{
+ d = document.getElementById('vendor_id');
+ if(d)
+ {
+ if (d.attachEvent)
+ {
+ d.attachEvent('onpropertychange', onDOMAttrModified,
false);
+ }
+ else
+ {
+ d.addEventListener('DOMAttrModified',
onDOMAttrModified, false);
+ }
+ }
+});
+
Modified: branches/dev-syncromind/property/templates/base/tts.xsl
===================================================================
--- branches/dev-syncromind/property/templates/base/tts.xsl 2014-12-03
23:26:41 UTC (rev 12418)
+++ branches/dev-syncromind/property/templates/base/tts.xsl 2014-12-04
19:36:07 UTC (rev 12419)
@@ -387,8 +387,18 @@
<!--
DATATABLE 0-->
<td>
<div id="paging_0"/>
-
<div class="pure-table" id="datatable-container_0"/>
+
<!--div class="pure-table" id="datatable-container_0"/-->
</td>
+
<xsl:for-each select="datatable_def">
+
<xsl:if test="container = 'datatable-container_0'">
+
<xsl:call-template name="table_setup">
+
<xsl:with-param name="container" select ='container'/>
+
<xsl:with-param name="requestUrl" select
='requestUrl' />
+
<xsl:with-param name="ColumnDefs" select
='ColumnDefs' />
+
<xsl:with-param name="data" select ='data' />
+
</xsl:call-template>
+
</xsl:if>
+
</xsl:for-each>
</div>
</xsl:otherwise>
</xsl:choose>
@@ -1180,3 +1190,87 @@
</td>
</tr>
</xsl:template>
+
+ <xsl:template name="table_setup">
+ <xsl:param name="container" />
+ <xsl:param name="requestUrl" />
+ <xsl:param name="ColumnDefs" />
+ <xsl:param name="data" />
+ <table id="{$container}" class="display cell-border compact
responsive no-wrap" width="100%">
+ <thead>
+ <tr>
+ <xsl:for-each select="$ColumnDefs">
+ <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>
+ </tr>
+ </thead>
+ </table>
+ <script>
+ JqueryPortico.inlineTablesDefined += 1;
+ var PreColumns = [
+ <xsl:for-each select="$ColumnDefs">
+ {
+ data:
"<xsl:value-of select="key"/>",
+ class:
"<xsl:value-of select="className"/>",
+ 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',
+ 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>
+ defaultContent: "<xsl:value-of
select="defaultContent"/>"
+ }<xsl:value-of
select="phpgw:conditional(not(position() = last()), ',', '')"/>
+ </xsl:for-each>
+ ];
+ <![CDATA[
+ columns = [];
+
+ for(i=0;i < PreColumns.length;i++)
+ {
+ if ( PreColumns[i]['visible'] == true )
+ {
+ columns.push(PreColumns[i]);
+ }
+ }
+ ]]>
+ var options = {disablePagination:true,
disableFilter:true};
+
+ JqueryPortico.inlineTableHelper("<xsl:value-of
select="$container"/>", <xsl:value-of select="$requestUrl"/>, columns, options,
<xsl:value-of select="$data"/>);
+
+ </script>
+
+ </xsl:template>
\ No newline at end of file
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Fmsystem-commits] [12419] add option for disable pagination and search - as well as enable client-side data for inline tables,
Sigurd Nes <=