UNPKG

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
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; }); };