Todos los componentes del NIVEL 2 ya están implementados correctamente: - ✅ Notification Bar (#49) - ✅ Navbar (#50) - ✅ Hero Section (#51) - ✅ Sidebar (#52) - ✅ Footer (#53) Solo se actualizó notification-bar.css para usar variables CSS. Próximo paso: NIVEL 3 (Refinamientos visuales) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
5 lines
1.8 KiB
Plaintext
5 lines
1.8 KiB
Plaintext
define(['ko','../template/renderer'],function(ko,renderer){'use strict';ko.bindingHandlers.staticChecked={'after':['value','attr'],init:function(element,valueAccessor,allBindings){var isCheckbox=element.type==='checkbox',isRadio=element.type==='radio',isValueArray,oldElemValue,useCheckedValue,checkedValue,updateModel,updateView;if(!isCheckbox&&!isRadio){return;}
|
|
checkedValue=ko.pureComputed(function(){if(allBindings.has('checkedValue')){return ko.utils.unwrapObservable(allBindings.get('checkedValue'));}else if(allBindings.has('value')){return ko.utils.unwrapObservable(allBindings.get('value'));}
|
|
return element.value;});isValueArray=isCheckbox&&ko.utils.unwrapObservable(valueAccessor())instanceof Array;oldElemValue=isValueArray?checkedValue():undefined;useCheckedValue=isRadio||isValueArray;updateModel=function(){var isChecked=element.checked,elemValue=useCheckedValue?checkedValue():isChecked,modelValue;if(ko.computedContext.isInitial()){return;}
|
|
if(isRadio&&!isChecked){return;}
|
|
modelValue=ko.dependencyDetection.ignore(valueAccessor);if(isValueArray){if(oldElemValue!==elemValue){oldElemValue=elemValue;}else{ko.utils.addOrRemoveItem(modelValue,elemValue,isChecked);}}else{ko.expressionRewriting.writeValueToProperty(modelValue,allBindings,'checked',elemValue,true);}};updateView=function(){var modelValue=ko.utils.unwrapObservable(valueAccessor());if(isValueArray){element.checked=ko.utils.arrayIndexOf(modelValue,checkedValue())>=0;}else if(isCheckbox){element.checked=modelValue;}else{element.checked=checkedValue()===modelValue;}};ko.computed(updateModel,null,{disposeWhenNodeIsRemoved:element});ko.utils.registerEventHandler(element,'click',updateModel);ko.computed(updateView,null,{disposeWhenNodeIsRemoved:element});}};ko.expressionRewriting._twoWayBindings.staticChecked=true;renderer.addAttribute('staticChecked');}); |