Probleme bei der Unterbindung der mehrfachen Öffnung des Adminbereichs
|
Parzival | Geschrieben am 17.12.2024 - 18:42 |

Jung Mitglied

Beiträge: 16 Registriert am:
23.09.2023 - 20:22
|
Liebe Community,
Möglicherweise kann mir jemand bei folgendem Problem helfen.:
Und zwar möchte ich unterbinden, dass sich der Adminbereich mehrfach öffnen lässt.
Sprich.: Genauso wie bei Smiley & Farbfenster.
Ich habe hier an folgenden Code gedacht:
Code 
// Adminbereich
if (self.userPrivilegienGlobal=="admin"){
$("form_right").innerHTML+=" <img id="link_admin" class="img_button" src="images/admin.png" width="32" height="32" border="0" alt="Admin" title="Admin">";
$("link_admin").onclick = function(){
var hoehe = $('chatinhalt').getHeight();
var breite = $('chatinhalt').getWidth();
if (typeof win_admin !="object"){
var win_admin = new Window({url: "./?AdminIndex", className: self.win_style, title:"Adminbereich", width:breite, height:hoehe, top:20, left:10, resizable: true, showEffect:Effect.Appear, hideEffect: Effect.Fade, showEffectOptions: {duration:0.5}, hideEffectOptions: {duration:0.5}, draggable: true, minimizable: true, maximizable: true, destroyOnClose: true });
}
//win_prop.maximize();
//win_admin.show();
// Ist dass Fenster bereits sichtbar?
if($(win_admin.getId()).style.display=='none'){
win_admin.show();
win_admin.toFront();
}
else { win_admin.close();
}
}
}
Hier öffnet sich leider der Adminbereich immer noch mehrmals.
Hat jemand eine Idee warum das so sein könnte?
Vielen Dank für die Unterstützung vorab.
Grüße
Parzival
|
|
|
|
Tommy | Geschrieben am 18.12.2024 - 09:42 |

Mitglied

Beiträge: 116 Registriert am:
02.01.2022 - 12:27
|
hey ... probier mal
Code 
if (self.userPrivilegienGlobal == "admin") {
$("form_right").innerHTML += " <img id='link_admin' class='img_button' src='images/admin.png' width='32' height='32' border='0' alt='Admin' title='Admin'>";
let win_admin = null;
$("link_admin").onclick = function() {
var hoehe = $('chatinhalt').getHeight();
var breite = $('chatinhalt').getWidth();
if (!win_admin) {
win_admin = new Window({
url: "./?AdminIndex",
className: self.win_style,
title: "Adminbereich",
width: breite,
height: hoehe,
top: 20,
left: 10,
resizable: true,
showEffect: Effect.Appear,
hideEffect: Effect.Fade,
showEffectOptions: { duration: 0.5 },
hideEffectOptions: { duration: 0.5 },
draggable: true,
minimizable: true,
maximizable: true,
destroyOnClose: true
});
win_admin.addCloseCallback(() => {
win_admin = null;
});
}
if ($(win_admin.getId()).style.display == 'none') {
win_admin.show();
win_admin.toFront();
} else {
win_admin.close();
}
};
}
grüße tommy
|
|
|
|
Parzival | Geschrieben am 18.12.2024 - 12:48 |

Jung Mitglied

Beiträge: 16 Registriert am:
23.09.2023 - 20:22
|
Hallo Tommy,
Danke für die Hilfe.
Das Einzige was jetzt noch bemängelt wird ist:
Code  Uncaught TypeError: win_admin.addCloseCallback is not a function
Aber der von dir gepostete Code erfüllt die Funktion.
Vielen Dank nochmal.
Grüße
Parzival
|
|
|
|
Tommy | Geschrieben am 19.12.2024 - 11:25 |

Mitglied

Beiträge: 116 Registriert am:
02.01.2022 - 12:27
|
hey
dann probier mal
Code 
win_admin.observe("onClose", function() {
win_admin = null;
});
bzw
Code 
win_admin.onClose = () => {
win_admin = null;
};
sollte funktionieren ^^
grüße tommy
|
|
|
|
Parzival | Geschrieben am 24.12.2024 - 12:35 |

Jung Mitglied

Beiträge: 16 Registriert am:
23.09.2023 - 20:22
|
Hallo Tommy,
Nochmal vielen Dank für die Unterstützung.
Hier der vollständige Code.:
Code 
// Adminbereich
if (self.userPrivilegienGlobal == "admin") {
$("form_right").innerHTML += " <img id='link_admin' class='img_button' src='images/admin.png' width='32' height='32' border='0' alt='Admin' title='Admin'>";
let win_admin = null;
$("link_admin").onclick = function() {
var hoehe = $('chatinhalt').getHeight();
var breite = $('chatinhalt').getWidth();
if (!win_admin) {
win_admin = new Window({
url: "./?AdminIndex",
className: self.win_style,
title: "Adminbereich",
width: breite,
height: hoehe,
top: 20,
left: 10,
resizable: true,
showEffect: Effect.Appear,
hideEffect: Effect.Fade,
showEffectOptions: { duration: 0.5 },
hideEffectOptions: { duration: 0.5 },
draggable: true,
minimizable: true,
maximizable: true,
destroyOnClose: false
});
win_admin.onClose = () => {
win_admin = null;
};
}
if ($(win_admin.getId()).style.display == 'none') {
win_admin.show();
win_admin.toFront();
} else {
win_admin.close();
}
};
}
Fröhliche Weihnachten euch allen.
Grüße
Parzival
|
|
|