Dev: Plugin initialization

This commit is contained in:
surunzi
2017-01-02 12:09:37 +08:00
parent b224c116fb
commit 6a8894e6fe
4 changed files with 32 additions and 4 deletions

View File

@@ -45,9 +45,13 @@ export default class DevTools extends util.Emitter
}
add(tool)
{
util.defaults(tool, new Tool());
let {init, show, hide} = new Tool();
util.defaults(tool, {init, show, hide});
var name = tool.name;
let name = tool.name;
if (!name) throw new Error('You must specify a name for a tool');
name = name.toLowerCase();
if (this._tools[name]) throw new Error('Tool ' + name + ' already exists' );
this._$tools.prepend(`<div class="eruda-${name} eruda-tool"></div>`);
tool.init(this._$tools.find(`.eruda-${name}`), this);

View File

@@ -19,8 +19,11 @@ export default class NavBar extends util.Emitter
}
add(name)
{
let $bottomBar = this._$bottomBar;
this._len++;
this._$ul.prepend(`<li class="${name}" ontouchstart>${name}</li>`);
$bottomBar.css('left', util.pxToNum($bottomBar.css('left')) + ITEM_WIDTH);
this._resetStyle();
}
setHeight(height)
@@ -39,7 +42,7 @@ export default class NavBar extends util.Emitter
if ($this.text() === name)
{
$this.addClass('eruda-active');
self._$bottomBar.css({left: ITEM_WIDTH * idx});
self._$bottomBar.css('left', ITEM_WIDTH * idx);
} else
{
$this.rmClass('eruda-active');
@@ -68,4 +71,4 @@ export default class NavBar extends util.Emitter
}
}
const ITEM_WIDTH = 69;
const ITEM_WIDTH = 69;