Files
server/opt/psa/admin/application/default/views/scripts/partials/database-user-name-element.phtml
2026-01-07 20:52:11 +01:00

41 lines
1.6 KiB
PHTML

<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<script type="text/javascript">
//<![CDATA[
Jsw.onReady(function () {
var getServerId = function () {
return parseInt(serverElement.value);
};
var serverElement = document.getElementById('<?= $this->serverControl->getId() ?>');
var serverId = getServerId();
var updateControlsState = function () {
var newServerId = getServerId();
if (newServerId === serverId) {
return false;
}
Jsw.api.get(Jsw.prepareUrl('/database/get-user-prefix/dbServerId/' + newServerId))
.then(function (result) {
if (result.redirect) {
Jsw.redirect(result.redirect);
return;
}
serverId = newServerId;
if (result.loginPrefix) {
var prefixElement = document.getElementById('<?= $this->element->getId() ?>').parentNode.querySelector('.field-prefix');
if (prefixElement) {
prefixElement.innerHTML = result.loginPrefix;
}
}
});
};
Jsw.Observer.appendAndCall(updateControlsState, 'dbServer');
// Temporary workaround for custom prototype's event '<?= $this->element->getId() ?>:update'
document.getElementById('<?= $this->element->getId() ?>').addEventListener('dataavailable', updateControlsState);
});
//]]>
</script>