// --
// Copyright (C) 2001-2018 OTRS AG, https://otrs.com/
// --
// This software comes with ABSOLUTELY NO WARRANTY. For details, see
// the enclosed file COPYING for license information (GPL). If you
// did not receive this file, see https://www.gnu.org/licenses/gpl-3.0.txt.
// --
"use strict";
var Core = Core || {};
Core.Agent = Core.Agent || {};
/**
* @namespace Core.Agent.LinkObject
* @memberof Core.Agent
* @author OTRS AG
* @description
* This namespace contains the special module functions for LinkObject.
*/
Core.Agent.LinkObject = (function (TargetNS) {
/**
* @name RegisterUpdatePreferences
* @memberof Core.Agent.LinkObject
* @function
* @param {jQueryObject} $ClickedElement - The jQuery object of the element(s) that get the event listener.
* @param {string} ElementID - The ID of the element whose content should be updated with the server answer.
* @param {jQueryObject} $Form - The jQuery object of the form with the data for the server request.
* @description
* This function binds a click event on an html element to update the preferences of the given linked object widget
*/
TargetNS.RegisterUpdatePreferences = function ($ClickedElement, ElementID, $Form) {
if (isJQueryObject($ClickedElement) && $ClickedElement.length) {
$ClickedElement.click(function () {
var URL = Core.Config.Get('Baselink') + Core.AJAX.SerializeForm($Form);
Core.AJAX.ContentUpdate($('#' + ElementID), URL, function () {
Core.UI.ToggleTwoContainer($('#linkobject' + ElementID + '-setting'), $('#' + ElementID));
Core.UI.InitWidgetActionToggle();
Core.Agent.TableFilters.SetAllocationList(ElementID);
});
});
}
Core.UI.InitWidgetActionToggle();
};
return TargetNS;
}(Core.Agent.LinkObject || {}));