');
}
var comps = p.comps || [];
for (var i = 0; i < comps.length; i++) {
var c = comps[i];
html.push('');
html.push('' +
escapeHtml(c.name) + '');
html.push('
');
var fields = c.fields || [];
if (!fields.length) html.push('
无可编辑公开字段
');
for (var f = 0; f < fields.length; f++) {
var field = fields[f];
var fid = 'c' + c.index + '_' + field.key;
if (field.type === 'number') html.push(rowNum(field.key, fid, field.value));
else if (field.type === 'boolean') html.push(rowCheck(field.key, fid, field.value));
else html.push(rowText(field.key, fid, field.value));
}
html.push('
');
}
body.innerHTML = html.join('');
this._bindFields();
this._bindSections();
};
InspectorPanel.prototype._bindSections = function () {
var heads = this.body.querySelectorAll('.pw-insp-sec-head[data-toggle]');
for (var i = 0; i < heads.length; i++) {
heads[i].addEventListener('click', function (ev) {
var sec = ev.currentTarget.parentNode;
if (sec) sec.classList.toggle('open');
});
}
};
InspectorPanel.prototype._bindFields = function () {
var self = this;
var body = this.body;
if (!body || !this._bridge || !this._uuid) return;
var inputs = body.querySelectorAll('[data-fid]');
for (var i = 0; i < inputs.length; i++) {
(function (el) {
var run = function () {
var fid = el.getAttribute('data-fid');
var value;
if (el.type === 'checkbox') value = !!el.checked;
else if (el.type === 'number') value = parseFloat(el.value);
else value = el.value;
self._bridge.call('node.set', { uuid: self._uuid, fid: fid, value: value });
};
el.addEventListener('change', run);
el.addEventListener('input', run);
})(inputs[i]);
}
};
function rowText(label, id, value) {
return '';
}
function rowNum(label, id, value) {
return '';
}
function rowCheck(label, id, value) {
return '';
}
function rowVec3(label, ids, values) {
return '