Support toggle+widget buttons in plugin-framework
Change-Id: Ibf2b80efc1eeda2f51dedf4a7f3cd5ac67325ef9
diff --git a/dev/js/src/buttongroup.js b/dev/js/src/buttongroup.js
index 40eb61f..922ca1c 100644
--- a/dev/js/src/buttongroup.js
+++ b/dev/js/src/buttongroup.js
@@ -83,6 +83,7 @@
const b = this._insert('span');
let desc = title;
+ let that = this;
if (data !== undefined) {
if (data['cls'] !== undefined) {
b.classList.add.apply(b.classList, data['cls']);
@@ -98,14 +99,21 @@
if (data['active'] !== undefined) {
let active = data['active'];
+ b['active'] = active;
- let check = _addCheck(b,active);
- check.addEventListener('click', function (e) {
- // Do not bubble
- e.halt();
+ let check = _addCheck(b,active);
+ check.addEventListener('click', function (e) {
+ // Do not bubble
+ e.halt();
// Toggle state
- active.roll();
- });
+ active.roll();
+
+ let obj = that._bind || this;
+ obj.button = b;
+ b._activeClick = true;
+ cb.apply(obj, e);
+ b._activeClick = false;
+ });
};
@@ -119,10 +127,9 @@
innerSpan.addT(title);
b["changeTitle"] = function (title) {
- innerSpan.textContent = title;
+ innerSpan.textContent = title;
};
- let that = this;
b.addEventListener('click', function (e) {
// Do not bubble