mirror of
https://github.com/Combodo/iTop.git
synced 2026-02-13 07:24:13 +01:00
N°7615 - Edition of a n-n link in edit mode not working
- Register input listeners on page ready
This commit is contained in:
@@ -37,6 +37,7 @@ class BlockIndirectLinkSetEditTable extends UIContentBlock
|
|||||||
// Overloaded constants
|
// Overloaded constants
|
||||||
public const BLOCK_CODE = 'ibo-block-indirect-linkset-edit-table';
|
public const BLOCK_CODE = 'ibo-block-indirect-linkset-edit-table';
|
||||||
public const DEFAULT_JS_TEMPLATE_REL_PATH = 'application/links/indirect/block-indirect-linkset-edit-table/layout';
|
public const DEFAULT_JS_TEMPLATE_REL_PATH = 'application/links/indirect/block-indirect-linkset-edit-table/layout';
|
||||||
|
public const DEFAULT_JS_ON_READY_TEMPLATE_REL_PATH = 'application/links/indirect/block-indirect-linkset-edit-table/layout';
|
||||||
public const DEFAULT_JS_FILES_REL_PATH = [
|
public const DEFAULT_JS_FILES_REL_PATH = [
|
||||||
'js/links/links_widget.js',
|
'js/links/links_widget.js',
|
||||||
];
|
];
|
||||||
@@ -327,20 +328,20 @@ EOF
|
|||||||
if ($iUniqueId > 0) {
|
if ($iUniqueId > 0) {
|
||||||
// Rows created with ajax call need OnLinkAdded call.
|
// Rows created with ajax call need OnLinkAdded call.
|
||||||
//
|
//
|
||||||
$oP->add_ready_script(
|
$oP->add_ready_script(
|
||||||
<<<EOF
|
<<<EOF
|
||||||
PrepareWidgets();
|
PrepareWidgets();
|
||||||
oWidget{$this->oUILinksWidget->GetInputId()}.OnLinkAdded($iUniqueId, $iRemoteObjKey);
|
oWidget{$this->oUILinksWidget->GetInputId()}.OnLinkAdded($iUniqueId, $iRemoteObjKey);
|
||||||
EOF
|
EOF
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
// Rows added before loading the form don't have to call OnLinkAdded.
|
// Rows added before loading the form don't have to call OnLinkAdded.
|
||||||
// Listeners are already present and DOM is not recreated
|
// Listeners are already present and DOM is not recreated
|
||||||
$iPositiveUniqueId = -$iUniqueId;
|
$iPositiveUniqueId = -$iUniqueId;
|
||||||
$oP->add_ready_script(<<<EOF
|
$oP->add_ready_script(<<<EOF
|
||||||
oWidget{$this->oUILinksWidget->GetInputId()}.AddLink($iPositiveUniqueId, $iRemoteObjKey);
|
oWidget{$this->oUILinksWidget->GetInputId()}.AddLink($iPositiveUniqueId, $iRemoteObjKey);
|
||||||
EOF
|
EOF
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach ($this->oUILinksWidget->GetEditableFields() as $sFieldCode) {
|
foreach ($this->oUILinksWidget->GetEditableFields() as $sFieldCode) {
|
||||||
@@ -352,11 +353,11 @@ EOF
|
|||||||
$aFieldsMap[$sFieldCode] = $sSafeFieldId;
|
$aFieldsMap[$sFieldCode] = $sSafeFieldId;
|
||||||
|
|
||||||
$sValue = $oNewLinkObj->Get($sFieldCode);
|
$sValue = $oNewLinkObj->Get($sFieldCode);
|
||||||
$oP->add_ready_script(
|
$oP->add_ready_script(
|
||||||
<<<JS
|
<<<JS
|
||||||
oWidget{$this->oUILinksWidget->GetInputId()}.OnValueChange($iKey, $iUniqueId, '$sFieldCode', '$sValue');
|
oWidget{$this->oUILinksWidget->GetInputId()}.OnValueChange($iKey, $iUniqueId, '$sFieldCode', '$sValue');
|
||||||
JS
|
JS
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
$sState = '';
|
$sState = '';
|
||||||
|
|||||||
@@ -0,0 +1,5 @@
|
|||||||
|
{# @copyright Copyright (C) 2010-2024 Combodo SAS #}
|
||||||
|
{# @license http://opensource.org/licenses/AGPL-3.0 #}
|
||||||
|
{% apply spaceless %}
|
||||||
|
oWidget{{ oUIBlock.oUILinksWidget.GetInputId() }}.RegisterChange();
|
||||||
|
{% endapply %}
|
||||||
Reference in New Issue
Block a user