JSFiddle - React, Tailwind, and code Playground
by psteele
HTML
<div>
<div><input type="checkbox" data-bind="checked: canChangeVisible">Can Change Visible</input></div>
<div><input type="checkbox" data-bind="checked: showMessage">Show Message</input></div>
</div>
<div data-bind="makeVisible: showMessage, basedOn: canChangeVisible">Message</div>
JavaScript
ko.bindingHandlers.makeVisible = {
update: function(element, valueAccessor, allBindings, viewModel, bindingContext) {
var bo = allBindings.get('basedOn');
var canChange = bo == null ? true : ko.unwrap(bo);
if( canChange )
ko.bindingHandlers.visible.update(element, valueAccessor, allBindings, viewModel, bindingContext);
}
};
var vm = function() {
var me = this;
me.canChangeVisible = ko.observable(true);
me.showMessage = ko.observable(true);
}
ko.applyBindings(new vm());