marko-widgets
Version:
Module to support binding of behavior to rendered UI components rendered on the server or client
39 lines (31 loc) • 832 B
JavaScript
exports.extend = function(widget) {
var $el = widget.$();
var checked = $el.hasClass('checked');
function isChecked() {
return checked;
}
function setChecked(newChecked) {
if (checked === newChecked) {
return;
}
checked = newChecked;
if (checked) {
$el.addClass('checked');
} else {
$el.removeClass('checked');
}
widget.emit('toggle', {
checked: checked,
data: widget.data
});
}
widget.on('click', function() {
setChecked(!checked);
});
widget.isChecked = isChecked;
widget.setChecked = setChecked;
widget.on('afterInit', function(eventArgs) {
var widgetConfig = eventArgs.config;
widget.data = widgetConfig.data;
});
};