[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Fmsystem-commits] [10036] common
From: |
Sigurd Nes |
Subject: |
[Fmsystem-commits] [10036] common |
Date: |
Thu, 27 Sep 2012 07:40:42 +0000 |
Revision: 10036
http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=10036
Author: sigurdne
Date: 2012-09-27 07:40:41 +0000 (Thu, 27 Sep 2012)
Log Message:
-----------
common
Modified Paths:
--------------
trunk/phpgwapi/js/yahoo/datatable.js
trunk/phpgwapi/templates/base/datatable_common.xsl
Modified: trunk/phpgwapi/js/yahoo/datatable.js
===================================================================
--- trunk/phpgwapi/js/yahoo/datatable.js 2012-09-27 07:37:25 UTC (rev
10035)
+++ trunk/phpgwapi/js/yahoo/datatable.js 2012-09-27 07:40:41 UTC (rev
10036)
@@ -98,6 +98,118 @@
};
myDataTable.sortColumn = handleSorting;
+ /* Inline editor from 'rental'*/
+
+
+ myDataTable.editor_action = YAHOO.portico.editor_action;
+
+ // Handle mouseover and click events for inline editing
+ myDataTable.subscribe("cellMouseoverEvent",
highlightEditableCell);
+ myDataTable.subscribe("cellMouseoutEvent",
myDataTable.onEventUnhighlightCell);
+ myDataTable.subscribe("cellClickEvent",
myDataTable.onEventShowCellEditor);
+
+ myDataTable.subscribe("editorSaveEvent", function(oArgs) {
+ var field = oArgs.editor.getColumn().field;
+ var value = oArgs.newData;
+ var id = oArgs.editor.getRecord().getData().id;
+console.log(oArgs.editor.getRecord());
+ var action = oArgs.editor.getDataTable().editor_action;
+
+ // Translate to unix time if the editor is a calendar.
+ if (oArgs.editor._sType == 'date') {
+ var selectedDate =
oArgs.editor.calendar.getSelectedDates()[0];
+ //alert("selDate1: " + selectedDate);
+ // Make sure we're at midnight GMT
+ selectedDate = selectedDate.toString().split("
");
+ //for(var e=0;e<selectedDate.length;e++){
+ // alert("element " + e + ": " +
selectedDate[e]);
+ //}
+ if(selectedDate[3] == "00:00:00"){
+ // alert("seldate skal byttes!");
+ selectedDate =
selectedDate.slice(0,3).join(" ") + " " + selectedDate[5] + " 00:00:00 GMT";
+ }
+ else{
+ selectedDate =
selectedDate.slice(0,4).join(" ") + " 00:00:00 GMT";
+ }
+ //selectedDate =
selectedDate.toString().split(" ").slice(0, 4).join(" ") + " 00:00:00 GMT";
+ //alert("selDate2: " + selectedDate);
+ var value = Math.round(Date.parse(selectedDate)
/ 1000);
+ //alert("selDate3 value: " + value);
+ }
+
+ var oArgs_edit =
{menuaction:action,field:field,value:value,id:id};
+ var edit_Url = phpGWLink('index.php', oArgs_edit,true);
+
+alert(edit_Url);
+
+ var request = YAHOO.util.Connect.asyncRequest(
+ 'GET',
+ 'index.php?menuaction=' + action +
"&field=" + field + "&value=" + value + "&id=" + id,
+ {
+ success: ajaxResponseSuccess,
+ failure: ajaxResponseFailure,
+ args:oArgs.editor.getDataTable()
+ }
+ );
+ });
+
+/*
+ // Don't set the row to be left-clickable if the table is
editable by inline editors.
+ // In that case we use cellClickEvents instead
+ var table_should_be_clickable = true;
+ for (i in YAHOO.portico.columnDefs) {
+ if (YAHOO.portico.columnDefs[i].editor) {
+ //table_should_be_clickable = false;
+ }
+ }
+
+ if (table_should_be_clickable &&
!YAHOO.portico.disable_left_click) {
+ //... create a handler for regular clicks on a table row
+ myDataTable.subscribe("rowClickEvent", function(e,obj) {
+ YAHOO.util.Event.stopEvent(e);
+
+ var target = e.target;
+ var record = this.getRecord(target);
+ var row = this.getRow(target);
+ //once you get here you can access values like
..
+ //record.getData("ColumnName") or row.rowIndex
+
+ //... trigger first action on row click
+ // var row = obj.table.getTrEl(e.target);
+ if(row)
+ {
+ // var record = obj.table.getRecord(row);
+ //... check whether this action should
be an AJAX call
+ if(record.getData().ajax[0]) {
+ var request =
YAHOO.util.Connect.asyncRequest(
+ 'GET',
+ //... execute first
action
+
record.getData().actions[0],
+ {
+ success:
ajaxResponseSuccess,
+ failure:
ajaxResponseFailure,
+ args:obj.table
+ }
+ );
+ } else {
+ //... execute first action
+ window.location =
record.getData().actions[0];
+ }
+ }
+ },this);
+
+ //... highlight rows on mouseover. This too only
happens if the table is
+ // not editable.
+ myDataTable.subscribe("rowMouseoverEvent",
myDataTable.onEventHighlightRow);
+ myDataTable.subscribe("rowMouseoutEvent",
myDataTable.onEventUnhighlightRow);
+ }
+
+*/
+
+
+ /* Inline editor from 'rental'*/
+
+
/* Start from Property*/
/********************************************************************************
@@ -252,6 +364,32 @@
}
+ //... calback methods for handling ajax calls
+ var ajaxResponseSuccess = function(o){
+ message_delete =
o.responseText.toString().replace("\"","").replace("\"","");
+ delete_content_div("message",1);
+ if(message_delete != "")
+ {
+ oDiv=document.createElement("DIV");
+ txtNode =
document.createTextNode(message_delete);
+ oDiv.appendChild(txtNode);
+ oDiv.style.color = '#009900';
+ oDiv.style.fontWeight = 'bold';
+ div_message.appendChild(oDiv);
+ alert(message_delete);
+ message_delete = "";
+ }
+
+ var state = YAHOO.util.History.getCurrentState('state');
+ handleHistoryNavigation(state);
+ };
+
+ var ajaxResponseFailure = function(o)
+ {
+ alert('feil');
+ };
+
+
var delete_record = function(sUrl)
{
var callback = { success: function(o){
@@ -399,7 +537,15 @@
};
+ var highlightEditableCell = function(oArgs) {
+ var elCell = oArgs.target;
+ if(YAHOO.util.Dom.hasClass(elCell, "yui-dt-editable")) {
+ myDataTable.highlightCell(elCell);
+ }
+ };
+
+
onDownloadClick = function()
{
var state = YAHOO.util.History.getCurrentState('state');
Modified: trunk/phpgwapi/templates/base/datatable_common.xsl
===================================================================
--- trunk/phpgwapi/templates/base/datatable_common.xsl 2012-09-27 07:37:25 UTC
(rev 10035)
+++ trunk/phpgwapi/templates/base/datatable_common.xsl 2012-09-27 07:40:41 UTC
(rev 10036)
@@ -232,13 +232,27 @@
<xsl:choose>
<xsl:when test="//datatable/actions">
- YAHOO.portico.actions = <xsl:value-of
select="//datatable/actions"/>;
+ YAHOO.portico.actions = [
+ <xsl:for-each
select="//datatable/actions">
+ {
+ my_name:
"<xsl:value-of select="my_name"/>",
+ text:
"<xsl:value-of select="text"/>",
+ <xsl:if
test="parameters">
+
parameters: <xsl:value-of select="parameters"/>,
+ </xsl:if>
+ action:
"<xsl:value-of select="action"/>"
+ }<xsl:value-of
select="phpgw:conditional(not(position() = last()), ',', '')"/>
+ </xsl:for-each>
+ ];
</xsl:when>
<xsl:otherwise>
YAHOO.portico.actions = [];
</xsl:otherwise>
</xsl:choose>
+ YAHOO.portico.editor_action = "<xsl:value-of
select="//datatable/editor_action"/>";
+ YAHOO.portico.disable_left_click = "<xsl:value-of
select="//datatable/disable_left_click"/>";
+
YAHOO.portico.columnDefs = [
<xsl:for-each select="//datatable/field">
{
@@ -254,6 +268,9 @@
<xsl:if test="formatter">
formatter: <xsl:value-of
select="formatter"/>,
</xsl:if>
+ <xsl:if test="editor">
+ editor: <xsl:value-of
select="editor"/>,
+ </xsl:if>
className: "<xsl:value-of
select="className"/>"
}<xsl:value-of
select="phpgw:conditional(not(position() = last()), ',', '')"/>
</xsl:for-each>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Fmsystem-commits] [10036] common,
Sigurd Nes <=