diff --git a/application/ui.linksdirectwidget.class.inc.php b/application/ui.linksdirectwidget.class.inc.php index 619958abe..3cb885759 100644 --- a/application/ui.linksdirectwidget.class.inc.php +++ b/application/ui.linksdirectwidget.class.inc.php @@ -474,6 +474,33 @@ HTML } return $oPage->GetTableRow($aRow, $aAttribs); } + + /** + * @param WebPage $oPage + * @param $sRealClass + * @param $aValues + * @param int $iTempId + * + * @return array + */ + public function GetFormRow($oPage, $sRealClass, $aValues, $iTempId) + { + if ($sRealClass == '') + { + $sRealClass = $this->sLinkedClass; + } + $oLinkObj = new $sRealClass(); + $oLinkObj->UpdateObjectFromPostedForm($this->sInputid); + + $aAttribs = $this->GetTableConfig(); + $aRow = array(); + $aRow[] = ''; + foreach($this->aZlist as $sLinkedAttCode) + { + $aRow[] = $oLinkObj->GetAsHTML($sLinkedAttCode); + } + return $aRow; + } /** * Initializes the default search parameters based on 1) a 'current' object and 2) the silos defined by the context diff --git a/js/linksdirectwidget.js b/js/linksdirectwidget.js index 60f6b85b5..af3b637b2 100644 --- a/js/linksdirectwidget.js +++ b/js/linksdirectwidget.js @@ -484,9 +484,9 @@ $(function() this.indicator.html(''); $.post(this.options.submit_to, oParams, function(data){ - me.datatable.find('tbody').append(data); + // From data variable we get data entry and insert the first (and only) one + me.datatable.DataTable().row.add(data.data[0]).draw(); $('#datatable_'+me.id+' .dataTables_empty').hide(); - //$('#linkedset_'+me.id+' .listResults tbody').append(data); me._updateTable(); me.indicator.html(''); diff --git a/pages/ajax.render.php b/pages/ajax.render.php index 5585f0005..92a294296 100644 --- a/pages/ajax.render.php +++ b/pages/ajax.render.php @@ -224,7 +224,7 @@ try // ui.linksdirectwidget case 'getLinksetRow': - $oPage->SetContentType('text/html'); + $oPage = new JsonPage(); $sClass = utils::ReadParam('class', '', false, 'class'); $sRealClass = utils::ReadParam('real_class', '', false, 'class'); $sAttCode = utils::ReadParam('att_code', ''); @@ -233,7 +233,7 @@ try $aValues = utils::ReadParam('values', array(), false, 'raw_data'); $oPage->SetContentType('text/html'); $oWidget = new UILinksWidgetDirect($sClass, $sAttCode, $iInputId); - $oPage->add($oWidget->GetRow($oPage, $sRealClass, $aValues, -$iTempId)); + $oPage->AddData($oWidget->GetFormRow($oPage, $sRealClass, $aValues, -$iTempId)); break; // ui.linksdirectwidget