私はVSTSエクステンションを構築しており、マイクロソフトが提供するプラットフォームUIコントロールを利用したいと考えています。つまり、私はスプリッタコントロールを利用したいと思います。私はできるだけ早くdocumentationに従おうとしましたが、それはうまく書かれていません。私はまた、GithubのMicrsoftが提供しているサンプルを見ました。VSTS Extension Splitterでパネルを折りたたんだかどうかを覚えておくにはどうすればよいですか?
最後に、UIスプリッタをトグルボタンで正しく機能させることができましたが、コントロールがステートフルであることも欲しかったのです。これの良い例は、バックログハブに行き、バックログエクスプローラを畳んで見ることができます。私がそのページを離れて戻ってくると、側はまだ崩壊しています。ソースコードを調べて、生成されたソースコードがどのように見えるのか確認しましたが、私のコントロールはまだその状態を保持していません。
<!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>
UIスプリッタ(折りたたまれて展開された状態)を保存するには、自分でデータストレージを管理する必要がありますか?プラットフォームが提供するものではありませんか? –
@ m-yデータストレージはVSTS拡張の一部であり、自分でデータストレージを管理する必要はありません。データを設定して取得するためにAPIを呼び出すだけで済みます。 –
私はその部分を理解しています。私の質問は、UIスプリッタの状態を管理するためにデータストレージAPIを利用することが期待される場合でしたか? UI Splitterは自動的に独自の状態を管理する必要があります。私はcssクラスを 'ステートフル'クラスに追加することを考えましたが、そうではありません。 –