Skip to content

Commit f93e4e9

Browse files
committed
browser: treeview: handle checkbox/radio events
Change-Id: Ib4c5c2770cbbdb9f56d5219599142893ed0c05c9 Signed-off-by: Henry Castro <[email protected]>
1 parent c744545 commit f93e4e9

File tree

1 file changed

+36
-46
lines changed

1 file changed

+36
-46
lines changed

browser/src/control/jsdialog/Widget.TreeView.ts

+36-46
Original file line numberDiff line numberDiff line change
@@ -166,39 +166,6 @@ class TreeViewControl {
166166
return false;
167167
}
168168

169-
changeCheckboxStateOnClick(
170-
checkbox: any,
171-
treeViewData: TreeWidget,
172-
builder: any,
173-
entry: TreeEntryJSON,
174-
) {
175-
if (checkbox.checked) {
176-
if (typeof checkbox._state !== 'undefined') {
177-
checkbox.checked = checkbox._state = true;
178-
}
179-
180-
builder.callback(
181-
'treeview',
182-
'change',
183-
treeViewData,
184-
{ row: entry.row, value: true },
185-
builder,
186-
);
187-
} else {
188-
if (typeof checkbox._state !== 'undefined') {
189-
checkbox.checked = checkbox._state = false;
190-
}
191-
192-
builder.callback(
193-
'treeview',
194-
'change',
195-
treeViewData,
196-
{ row: entry.row, value: false },
197-
builder,
198-
);
199-
}
200-
}
201-
202169
createCheckbox(
203170
parent: HTMLElement,
204171
treeViewData: TreeWidgetJSON,
@@ -261,20 +228,10 @@ class TreeViewControl {
261228
);
262229
}
263230
selectionElement._state = entry.state;
231+
selectionElement._row = entry.row;
264232

265233
if (entry.enabled === false) selectionElement.disabled = true;
266234

267-
if (treeViewData.enabled !== false) {
268-
selectionElement.addEventListener('change', () => {
269-
this.changeCheckboxStateOnClick(
270-
selectionElement,
271-
treeViewData,
272-
builder,
273-
entry,
274-
);
275-
});
276-
}
277-
278235
return selectionElement;
279236
}
280237

@@ -805,8 +762,8 @@ class TreeViewControl {
805762
});
806763

807764
this.selectEntry(parentContainer, checkbox);
808-
if (checkbox)
809-
this.changeCheckboxStateOnClick(checkbox, treeViewData, builder, entry);
765+
/*if (checkbox)
766+
this.changeCheckboxStateOnClick(checkbox, treeViewData, builder, entry);*/
810767

811768
if (select)
812769
builder.callback(
@@ -1252,6 +1209,39 @@ class TreeViewControl {
12521209
return;
12531210
}
12541211

1212+
let target = e.target;
1213+
if (target.localName === 'input') {
1214+
TreeViewControl.onCheckBoxClick(treeview, target);
1215+
return;
1216+
}
1217+
}
1218+
1219+
static onCheckBoxClick(treeview: any, checkbox: any) {
1220+
if (checkbox.checked) {
1221+
if (typeof checkbox._state !== 'undefined') {
1222+
checkbox.checked = checkbox._state = true;
1223+
}
1224+
1225+
treeview._builder.callback(
1226+
'treeview',
1227+
'change',
1228+
treeview._data,
1229+
{ row: checkbox._row, value: true },
1230+
treeview._builder,
1231+
);
1232+
} else {
1233+
if (typeof checkbox._state !== 'undefined') {
1234+
checkbox.checked = checkbox._state = false;
1235+
}
1236+
1237+
treeview._builder.callback(
1238+
'treeview',
1239+
'change',
1240+
treeview._data,
1241+
{ row: checkbox._row, value: false },
1242+
treeview._builder,
1243+
);
1244+
}
12551245
}
12561246
}
12571247

0 commit comments

Comments
 (0)