Ich erstelle eine VSTS-Erweiterung und möchte die von Microsoft angebotenen Platform UI-Steuerelemente nutzen. Ich möchte nämlich die Splittersteuerung ausnutzen. Ich habe versucht, die documentation so gut wie ich konnte zu folgen, aber es ist nicht so gut ausgeschrieben. Ich schaute mir auch die von Micrsoft auf Github angebotenen Samples an.Wie kann ich meinen VSTS Extension Splitter merken, wenn ein Benutzer das Panel ausgeblendet hat oder nicht?
Endlich konnte ich den UI-Splitter mit einem Toggle-Button richtig arbeiten lassen, aber ich wollte auch, dass das Control Stateful ist. Ein gutes Beispiel hierfür ist der Backlogs-Hub und der Backlog-Explorer. Wenn ich diese Seite verlasse und zurückkomme, ist die Seite immer noch kollabiert. Ich habe die Quelle untersucht, um zu sehen, wie der generierte Quellcode aussieht, aber mein Steuerelement behält seinen Status immer noch nicht bei. Hier ist mein Code so weit, ich bin nicht sicher, was ich bin fehlt:
<!DOCTYPE html>
<html>
<head>
<script src="dist/vss-web-extension-sdk/lib/VSS.SDK.min.js"></script>
</head>
<body>
<script type="text/javascript">
VSS.init({
explicitNotifyLoaded: true,
usePlatformScripts: true,
usePlatformStyles: true
});
VSS.ready(function() {
require(["VSS/Controls", "VSS/Controls/Splitter"]);
VSS.notifyLoadSucceeded();
});
</script>
<div class="hub-view explorer">
<div class="splitter horizontal stateful toggle-button-enabled">
<script class="options" defer="defer" type="application/json">
{
"collapsedLabel": "Custom Explorer",
"settingPath": "Web/UIState/Custom/Splitter",
"initialSize": 217
}
</script>
<div class="leftPane">
<div class="left-hub-content">
Left Pane Content
</div>
</div>
<div class="handleBar">
<div class="handlebar-label" title="Custom Explorer">
<span class="handlebar-label-text">Custom Explorer</span>
</div>
</div>
<div class="rightPane">
<div class="hub-title">Content Placeholder</div>
<div class="right-hub-content">
Right Pane Content
</div>
</div>
</div>
</div>
</body>
</html>
Um den Status des UI-Splitter (minimiert, erweitert) zu speichern, muss ich den Datenspeicher selbst verwalten? Es ist nicht etwas, was die Plattform bietet? –
@ m-y Der Datenspeicher ist Teil der VSTS-Erweiterung und Sie müssen den Datenspeicher nicht selbst verwalten. Sie müssen lediglich die API aufrufen, um die Daten festzulegen und abzurufen. –
Ich verstehe diesen Teil. Meine Frage war, ob ich die Datenspeicher-API verwenden soll, um den Status des UI-Splitters zu verwalten? Es scheint, dass der UI-Splitter seinen eigenen Status automatisch verwalten sollte. Ich dachte, dass das Hinzufügen der CSS-Klasse 'stateful' das tun würde, aber das tut es nicht. –