При нажатии на общедоступную или личную закладку Spotfire переводит пользователя на страницу, на которой он находился ПРЯМО, ДО ТОГО, КАК он или она создали закладку.Если пользователь снова выберет закладку, он переместится на нужную страницу с загруженными правильными мерами.
Это происходит, если щелкнуть закладку GUI или щелкнуть ссылку закладки.На самом деле, если щелкнуть ссылку, почти невозможно попасть на нужную страницу закладок (пользователь должен быстро нажать * ).
После множества проб и ошибок я ограничил его некоторыми функциями HTML / Javascript.На этой панели пользователя пользователи перемещаются с помощью настраиваемой панели навигации.Если пользователь создает закладку, меняет страницы с помощью настраиваемой панели навигации, а затем нажимает на закладку, она не будет работать правильно.Если пользователь создает закладку, нажимает на вкладку страницы, затем нажимает на закладку, она будет работать правильно.Я использовал код здесь для создания сценария Python, который изменяет страницы (запускается изменением свойства документа).Мне удалось воспроизвести эту ошибку в примерах отчетов о пламени.Приведенный ниже HTML-код предназначен для панели навигации:
<style>
.topnav {
overflow: hidden;
background-color: #313814A;
}
.topnav a {
float: left;
color: #f2f2f2;
text-align: center;
padding: 5px 16px;
text-decoration: none;
font-size: 16px;
font-family:Calibri;
}
.topnav a:hover {
background-color: #ddd;
color: black;
cursor: pointer;
}
.topnav a.active {
background-color: #ddd;
color: black;
}
</style>
<div class="topnav">
<a onclick="SBAReporting()">Reports</a>
</div>
<!-- input field that changes the Doc Prop that fires off the python script-->
<div id="navigateToPage" style="display:none"><SpotfireControl id="f9cc2258568d415383d842064287993a" /></div>
<script>
function SBAReporting() {
randInt = Math.floor(Math.random() * (100+1))
myJSObject = "Reporting";
document.getElementById('navigateToPage').firstChild.value = myJSObject + randInt;
$("#navigateToPage input").focus();
$("#navigateToPage input").blur();
}
</script>
Моя теория о том, что происходит, заключается в следующем:
- Пользователь нажимает на пользовательскую навигацию HTML / Python, чтобы вернутьсяна страницу.Spotfire имеет некоторую внутреннюю переменную, которая не установлена правильно.
- Пользователь выбирает закладку.Spotfire считает, что они уже на правильной странице, поэтому он не перемещается туда.Часть процесса закладки правильно устанавливает эту загадочную переменную.
- Во второй раз, когда эта переменная установлена правильно, spotfire знает, на какой странице вы находитесь, и работает правильно.
Я попытался обновить всю страницу (и, надеюсь, эту переменную), добавив location.reload();
, но это не сработало.Есть ли способ позволить Spotfire обновить страницу?Любое понимание того, что может обновляться некорректно?
tl; dr Кажется, что питонный способ изменения страниц в Spotfire не изменяет некоторые скрытые переменные, чтобы Spotfire знал, какая страницапользователь действительно включен.Это происходит с примерами отчетов, предоставляемых Spotfire, и сценариев Python, предоставляемых Spotfire.Мне нужен лучший способ сообщить Spotfire, на какой странице находится пользователь.
ОБНОВЛЕНИЕ Дефект был зарегистрирован в TIBCO.Все еще открыт для обходных путей.