リファレンス見ればわかるんだけど、一応出力。
tabの削除をしてみた。
使用するのはこれ。
gadgets.TabSet.prototype.removeTab = function(tabIndex) {
で、以下ガジェットXML。
<?xml version="1.0" encoding="UTF-8" ?>
<Module>
<ModulePrefs title="tabsフィーチャー">
<Require feature="opensocial-0.8" />
<Require feature="tabs" />
<Require feature="setprefs" />
<Require feature="jquery" />
</ModulePrefs>
<Content type="html" view="home,profile,canvas">
<![CDATA[
<script type="text/javascript">
var tabdayon = function() {
this.tabs = null;
this.tabDivId = {};
};
tabdayon.prototype.init = function() {
this.tabs = new gadgets.TabSet(__MODULE_ID__, "タブセットだよーん");
var oneId = this.tabs.addTab("One");
this.tabDivId = {};
this.tabDivId[oneId] = oneId;
var twoId = this.tabs.addTab("Two");
this.tabDivId[twoId] = twoId;
document.getElementById(oneId).innerHTML = "最初のタブのコンテンツだよ";
document.getElementById(twoId).innerHTML = "2番目のタブのコンテンツだよ";
};
/**
* タブの追加
*/
tabdayon.prototype.addTab = function(ev) {
var tabName = $('.tabName').val();
$('.tabName').val('');
var divId = this.tabs.addTab(tabName);
this.tabDivId[divId] = divId;
document.getElementById(divId).innerHTML = tabName + 'を追加したよ';
};
tabdayon.prototype.removeTab = function() {
var tab = this.tabs.getSelectedTab();
var cont = tab.getContentContainer();
this.tabs.removeTab(tab.getIndex());
this.tabDivId[cont.id] = null;
};
var tabInstance = null;
function init() {
tabInstance = new tabdayon();
tabInstance.init();
$('.addTab').click(function(ev) {tabInstance.addTab(ev);});
$('.removeTab').click(function(ev) {tabInstance.removeTab();});
}
gadgets.util.registerOnLoadHandler(init);
</script>
<form>
<input type="text" class="tabName" value="">
</form>
<a href="#" class='addTab'>タブ追加だよ</a>
<a href="#" class='removeTab'>タブ削除だよ</a>
<div id="result"></div>
]]>
</Content>
</Module>
な感じ。
これでタブも削除できるようになった。
.
0 コメント:
コメントを投稿