import { gMainApp, gEventBus } from "./MainApp.js" ; import { IndexSearchResult } from "./SearchResult.js" ; // -------------------------------------------------------------------- gMainApp.component( "search-panel", { template: " ", } ) ; // -------------------------------------------------------------------- gMainApp.component( "search-box", { data: function() { return { queryString: "", } ; }, template: `
`, mounted: function() { // initialize $( this.$refs.queryString ).addClass( "ui-widget ui-state-default ui-corner-all" ) ; $( this.$refs.submit ).button() ; }, methods: { onKeyUp: function( evt ) { if ( evt.keyCode == 13 ) this.$refs["submit"].click() ; } }, } ) ; // -------------------------------------------------------------------- gMainApp.component( "search-results", { data() { return { searchResults: [], } ; }, template: `
???
`, mounted() { gEventBus.on( "search", this.onSearch ) ; }, methods: { onSearch( queryString ) { // generate some dummy search results let searchResults = [] ; for ( let i=0 ; i < queryString.length ; ++i ) { let buf = [ "Search result #" + (1+i) ] ; let nItems = Math.floor( Math.sqrt( 100 * Math.random() ) ) - 1 ; if ( nItems > 0 ) { buf.push( "" ) ; } searchResults.push( new IndexSearchResult( i, buf.join("") ) ) ; } this.searchResults = searchResults ; }, }, } ) ;