如果用户是否折叠了面板,我怎么能记住我的VSTS Extension Splitter?

时间:2017-10-04 13:44:31

标签: javascript html azure-devops azure-devops-extensions

我正在构建VSTS扩展,我想利用Microsoft提供的Platform UI控件。也就是说,我想利用分离器控制。我试图尽可能地遵循documentation,但事实并非如此。我还查看了Micrsoft在Github上提供的样本。

我终于能够通过切换按钮使UI Splitter正常工作,但我也希望控件是有状态的。通过转到Backlogs中心并折叠 Backlog资源管理器,可以看到一个很好的例子。如果我离开那个页面然后回来,那边仍然会崩溃。我检查了源代码,看看生成的源代码是什么样的,但我的控件仍然没有保留其状态。到目前为止,这是我的代码,我不确定我错过了什么:

var debugMessage: String = "Level 1"

2 个答案:

答案 0 :(得分:0)

您可以通过Data storage

存储用户范围的数据
// Get data service
    VSS.getService(VSS.ServiceIds.ExtensionData).then(function(dataService) {
        // Set value in user scope
        dataService.setValue("userScopedKey", 12345, {scopeType: "User"}).then(function(value) {
            console.log("User scoped key value is " + value);
        });
    });


// Get data service
    VSS.getService(VSS.ServiceIds.ExtensionData).then(function(dataService) {
        // Get value in user scope
        dataService.getValue("userScopedKey", {scopeType: "User"}).then(function(value) {
            console.log("User scoped key value is " + value);
        });
    });

用户语音:Persist toggle state of splitter control in VSTS extension

答案 1 :(得分:0)

我们还没有发布SDK以存储Splitter控件的状态,这会导致“settingPath”选项(不知道如何获得此选项,因为它不在我们的官方文档中),您的代码将无效。所以现在没有任何方法可以自动实现。对不起。请对Starain提交的功能请求进行投票,以便我们可以优先考虑此功能。