CSSelector .Query( [ "[dbg-class='template'] := frame .basket-container [dbg-class=buttons] a" ] ) .select( function( m, evt ) { m.frame.domNode.setAttribute( "data-frame-open", "false" ); } ) .publish( "events/click" ) /* document.addEventListener( "k_filter/add", function( evt ) { var field = evt.detail.object , object = field.object ; field.object.onselect( evt ); evt.detail.origEvt.stopImmediatePropagation(); //evt.detail } ); document.addEventListener( "k_filter/remove", function( evt ) { var field = evt.detail.object ; field.object.ondeselect( evt ); evt.detail.origEvt.stopImmediatePropagation(); //evt.detail } ); CSSelector .Query( [ " * := filter > .filter-button" ] ) .select( function( m, evt ) { var value = m.filter.domNode.getAttribute( "data-open" ) ; if ( value === "true" ) { m.filter.domNode.setAttribute( "data-open", "false" ); } else { m.filter.domNode.setAttribute( "data-open", "true" ); } evt.stopPropagation(); } ) .publish( "events/click" ) CSSelector .Query( [ ".filter-item:not([data-open=true]) := filter" ] ) .select( function( m ) { m.filter.domNode.setAttribute( "data-open", "true" ); } ) .publish( "events/click" ) CSSelector .Query( [ ".filter-item[data-open='true'] := filter .title" ] ) .select( function( m, evt ) { evt.stopPropagation(); m.filter.domNode.setAttribute( "data-open", "false" ); } ) .publish( "events/click" ) CSSelector .Query( [ ".filter-item[data-open='true'] := filter ul.not-selected := ul > li := li" ] ) .select( function( m, evt ) { var item = m.li.domNode.Kimme.template , list = item.parent ; Kimme.update( list.object, function( sync, list ) { list.splice( sync, list.value.indexOf( item.data.self ), 1, [] ); } ); evt.stopPropagation(); } ) .publish( "events/click" ) */ CSSelector .Query( [ "div.menu := menu li.menu-section := li > a" ] ) .select( function( m, evt ) { var open = m.li.domNode.getAttribute( "data-open" ) , items = m.li.domNode.querySelectorAll( "ul > li" ) ; if ( items.length ) { if ( open === "true" ) { m.li.domNode.setAttribute( "data-open", "false" ); } else { m.li.domNode.setAttribute( "data-open", "true" ); } evt.preventDefault(); evt.stopImmediatePropagation(); } else { m.menu.domNode.setAttribute( "data-open", "false" ); } } ) .publish( "events/click" ) CSSelector .Query( [ "div.menu := menu li.menu-section := li li a := a" ] ) .select( function( m, evt ) { m.menu.domNode.setAttribute( "data-open", "false" ); } ) .publish( "events/click" ) ;