Tableau api UI命名空间Tableau扩展更改未保存在Tableau服务器中

Tableau api UI命名空间Tableau扩展更改未保存在Tableau服务器中,tableau-api,Tableau Api,我正在开发一个类似于Tableau提供的UI命名空间示例扩展的扩展 我已经将文件托管在启用https的应用服务器中,并将trex文件指向托管在那里的文件 我可以将扩展拖动到Tableau桌面,从对话框中选择输入,页面将根据提供的输入刷新 保存仪表板并将其发布到tableau服务器后,我无法看到发布前保存的更改。它返回初始状态Configure extension继续 我尝试直接在Tableau服务器中编辑它,但仍然导致相同的问题 发布工作簿时不会保存更改 如果我遗漏了什么,或者有人有相同的问题可

我正在开发一个类似于Tableau提供的UI命名空间示例扩展的扩展

我已经将文件托管在启用https的应用服务器中,并将trex文件指向托管在那里的文件

我可以将扩展拖动到Tableau桌面,从对话框中选择输入,页面将根据提供的输入刷新

保存仪表板并将其发布到tableau服务器后,我无法看到发布前保存的更改。它返回初始状态Configure extension继续

我尝试直接在Tableau服务器中编辑它,但仍然导致相同的问题

发布工作簿时不会保存更改


如果我遗漏了什么,或者有人有相同的问题可以解决,请告诉我好吗?

经过研究和代码更改,我找到了问题的解决方法

在UI名称空间示例中,我们需要包含一个函数来检查以前保存的设置并基于此填充UI。 您可以通过打开.twb文件查看保存的设置。

以前只有选定的数据源保存为设置。但是,除了数据源之外,我还包含了一个代码,用于将选定的间隔保存为设置。这将有助于在用户下次单击“配置”时保留间隔状态

用于检查uiNamespace.js中是否已存在设置的代码段:

$document.readyfunction{ //初始化扩展时,将传递一个可选对象,该对象映射一个特殊ID,该ID //必须是函数的“配置”。这与添加正确的上下文菜单相结合 //项,将向扩展区域添加一个新的配置…上下文菜单项 //当用户单击该上下文菜单项时,函数传递 //这里将被执行。 tableau.extensions.initializeAsync{'configure':configure}.thenfunction{ //首先,检查所有保存的设置并基于它们填充我们的UI。 checkForSettingstableau.extensions.settings.getAll; },函数错误{ //初始化时出错了 console.log“初始化时出错:”+err.toString; } .Then函数{ //此事件允许父扩展名和弹出扩展名保持 //设置处于同步状态。此事件将在任何时候启动设置时触发 //在父级或弹出窗口中,即调用settings.saveAsync时,对此扩展进行了更改。 tableau.extensions.settings.addEventListenertableau.TableauEventType.SettingsChanged,settingsEvent=>{ updateExtensionBasedOnSettingssettingsEvent.newSettings }; }; }; 设置的功能检查{ ifObject.keysettings.length>0 { 更新ExtensionBasedOnSettings设置; selectedInterval=JSON.parsesettings.intervalCount; $'interval'.textselectedInterval; 设置刷新间隔选择间隔; defaultIntervalInMin=selectedInterval; $'inactive'。隐藏; $‘活动’。显示; }
} 经过研究和代码更改,我找到了解决问题的方法

在UI名称空间示例中,我们需要包含一个函数来检查以前保存的设置并基于此填充UI。 您可以通过打开.twb文件查看保存的设置。

以前只有选定的数据源保存为设置。但是,除了数据源之外,我还包含了一个代码,用于将选定的间隔保存为设置。这将有助于在用户下次单击“配置”时保留间隔状态

用于检查uiNamespace.js中是否已存在设置的代码段:

$document.readyfunction{ //初始化扩展时,将传递一个可选对象,该对象映射一个特殊ID,该ID //必须是函数的“配置”。这与添加正确的上下文菜单相结合 //项,将向扩展区域添加一个新的配置…上下文菜单项 //当用户单击该上下文菜单项时,函数传递 //这里将被执行。 tableau.extensions.initializeAsync{'configure':configure}.thenfunction{ //首先,检查所有保存的设置并基于它们填充我们的UI。 checkForSettingstableau.extensions.settings.getAll; },函数错误{ //初始化时出错了 console.log“初始化时出错:”+err.toString; } .Then函数{ //此事件允许父扩展名和弹出扩展名保持 //设置处于同步状态。此事件将在任何时候启动设置时触发 //在父级或弹出窗口中,即调用settings.saveAsync时,对此扩展进行了更改。 tableau.extensions.settings.addEventListenertableau.TableauEventType.SettingsChanged,settingsEvent => { updateExtensionBasedOnSettingssettingsEvent.newSettings }; }; }; 设置的功能检查{ ifObject.keysettings.length>0 { 更新ExtensionBasedOnSettings设置; selectedInterval=JSON.parsesettings.intervalCount; $'interval'.textselectedInterval; 设置刷新间隔选择间隔; defaultIntervalInMin=selectedInterval; $'inactive'。隐藏; $‘活动’。显示; }
}此修复程序解决了示例中的web编辑和桌面编辑。谢谢分享!此修复程序解决了示例中的web编辑和桌面编辑。谢谢分享!