Я сузил его до настройки параметров, затем отменил или все в порядке (пока нет событий настройки кода), а затем попытался нажать на кнопку закрепления, что предсказуемо уничтожило элементы управления гаджетом. До сих пор я пробовал все предложения в комментариях, включая настройку класса, который, как я чувствовал, полностью сломал эту вещь.
Что меня действительно беспокоит, так это то, что он ведет себя одинаково, независимо от аргументов, передаваемых в метод endTransition или от того, существуют ли методы end и beginTrans. Это определенно не займет 5 полных секунд для перехода. Это было установлено в 1 раньше. Все еще никакой разницы. Ничего в документах об этих типах transition, которые я могу найти.
HTML-файл:
<!doctype html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Unicode" />
<title>Time Tracker Gadget</title>
<link type="text/css" rel="stylesheet" media="screen" href="css/main.css" />
</head>
<body id="gadget">
<!-- pure HTML here, no linked scripts, inline JS, or styles -->
<script type="text/jscript" src="js/main.js"></script>
</body>
</html>
JS файл:
System.Gadget.settingsUI = "settings.html";
var docked = {width:"161px", height:"110px"},
undocked = {width:"295px", height:"390px"},
gadgetEl = document.getElementById('gadget'),
addStyles = function(el,newStyles){
var elStyle = el.style;
for(var x in newStyles){ elStyle[x] = newStyles[x]; }
},
swapDockStates = function(){
System.Gadget.beginTransition();
if(System.Gadget.docked){
addStyles(gadgetEl,undocked);
}
else {
addStyles(gadgetEl,docked);
}
System.Gadget.endTransition(System.Gadget.TransitionType.morph, 5);
};
System.Gadget.onDock = swapDockStates;
System.Gadget.onUndock = swapDockStates;
XML-файл:
<?xml version="1.0" encoding="utf-8" ?>
<gadget>
<name>BigTime Gadget</name>
<version>1.0.0.0</version>
<author name="BigTime Software">
<info url="www.bigtime.net" />
</author>
<copyright>© BigTime Software Inc.</copyright>
<description>Time tracking gadget</description>
<hosts>
<host name="sidebar">
<base type="HTML" apiVersion="1.0.0" src="bigtime.html" />
<permissions>Full</permissions>
<platform minPlatformVersion="1.0" />
</host>
</hosts>
</gadget>