Fix Menu: Use t instead of tag to get events

- Also move constructor up

Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
This commit is contained in:
RMidhunSuresh 2021-06-03 21:03:45 +05:30
parent 8d254c91e3
commit a3271fb916

View file

@ -15,9 +15,14 @@ limitations under the License.
*/
import {TemplateView} from "./TemplateView.js";
import { tag } from "./html.js";
export class Menu extends TemplateView {
constructor(options) {
super();
this._options = options;
}
static optionWithButton(label, callback) {
const option = new MenuOption(label);
option.setCallback(callback);
@ -30,17 +35,12 @@ export class Menu extends TemplateView {
return option;
}
constructor(options) {
super();
this._options = options;
}
_convertToDOM(option) {
_convertToDOM(t, option) {
if (option.callback) {
return tag.button({ className: "menu-item", onClick: option.callback }, option.label);
return t.button({ className: "menu-item", onClick: option.callback }, option.label);
}
else if (option.link) {
return tag.a({ className: "menu-item", href: option.link }, option.label);
return t.a({ className: "menu-item", href: option.link }, option.label);
}
}
@ -55,7 +55,7 @@ export class Menu extends TemplateView {
}
return t.li({
className,
}, this._convertToDOM(o));
}, this._convertToDOM(t, o));
}));
}
}