1
0
mirror of https://github.com/misterunknown/ifm.git synced 2025-08-12 19:13:57 +02:00

fixed some bugs in the search function

This commit is contained in:
Marco Dickert
2017-09-04 16:45:32 +02:00
parent aa63d32ce0
commit 5b14f5ae65
3 changed files with 15 additions and 12 deletions

View File

@@ -2173,20 +2173,19 @@ function IFM( params ) {
var updateResults = function( data ) { var updateResults = function( data ) {
self.log( 'updated search results' ); self.log( 'updated search results' );
self.search.data = data;
var searchresults = document.getElementById( 'searchResults' ); var searchresults = document.getElementById( 'searchResults' );
if( searchresults.tBodies[0] ) searchresults.tBodies[0].remove(); if( searchresults.tBodies[0] ) searchresults.tBodies[0].remove();
searchresults.appendChild( document.createElement( 'tbody' ) ); searchresults.appendChild( document.createElement( 'tbody' ) );
searchresults.tBodies[0].innerHTML = Mustache.render( self.templates.searchresults, { items: self.search.data } ); searchresults.tBodies[0].innerHTML = Mustache.render( self.templates.searchresults, { items: self.search.data } );
searchresults.tBodies[0].addEventListener( 'click', function( e ) { searchresults.tBodies[0].addEventListener( 'click', function( e ) {
if( e.target.classList.contains( 'searchitem' ) ) { if( e.target.classList.contains( 'searchitem' ) || e.target.parentElement.classList.contains( 'searchitem' ) ) {
e.preventDefault(); e.preventDefault();
self.changeDirectory( e.target.dataset.folder || e.target.parentNode.dataset.folder, { absolute: true } ); self.changeDirectory( self.pathCombine( self.search.data.currentDir, e.target.dataset.folder || e.target.parentElement.dataset.foldera ), { absolute: true } );
self.hideModal(); self.hideModal();
} }
}); });
searchresults.tBodies[0].addEventListener( 'keypress', function( e ) { searchresults.tBodies[0].addEventListener( 'keypress', function( e ) {
if( e.target.classList.contains( 'searchitem' ) ) { if( e.target.classList.contains( 'searchitem' ) || e.target.parentElement.classList.contains( 'searchitem' ) ) {
e.preventDefault(); e.preventDefault();
e.target.click(); e.target.click();
} }
@@ -2219,6 +2218,8 @@ function IFM( params ) {
e.folder = e.name.substr( 0, e.name.lastIndexOf( '/' ) ); e.folder = e.name.substr( 0, e.name.lastIndexOf( '/' ) );
e.linkname = e.name.substr( e.name.lastIndexOf( '/' ) + 1 ); e.linkname = e.name.substr( e.name.lastIndexOf( '/' ) + 1 );
}); });
self.search.data = data;
if( self.search.data ) self.search.data.currentDir = self.currentDir;
updateResults( data ); updateResults( data );
} }
} }

View File

@@ -2173,20 +2173,19 @@ function IFM( params ) {
var updateResults = function( data ) { var updateResults = function( data ) {
self.log( 'updated search results' ); self.log( 'updated search results' );
self.search.data = data;
var searchresults = document.getElementById( 'searchResults' ); var searchresults = document.getElementById( 'searchResults' );
if( searchresults.tBodies[0] ) searchresults.tBodies[0].remove(); if( searchresults.tBodies[0] ) searchresults.tBodies[0].remove();
searchresults.appendChild( document.createElement( 'tbody' ) ); searchresults.appendChild( document.createElement( 'tbody' ) );
searchresults.tBodies[0].innerHTML = Mustache.render( self.templates.searchresults, { items: self.search.data } ); searchresults.tBodies[0].innerHTML = Mustache.render( self.templates.searchresults, { items: self.search.data } );
searchresults.tBodies[0].addEventListener( 'click', function( e ) { searchresults.tBodies[0].addEventListener( 'click', function( e ) {
if( e.target.classList.contains( 'searchitem' ) ) { if( e.target.classList.contains( 'searchitem' ) || e.target.parentElement.classList.contains( 'searchitem' ) ) {
e.preventDefault(); e.preventDefault();
self.changeDirectory( e.target.dataset.folder || e.target.parentNode.dataset.folder, { absolute: true } ); self.changeDirectory( self.pathCombine( self.search.data.currentDir, e.target.dataset.folder || e.target.parentElement.dataset.foldera ), { absolute: true } );
self.hideModal(); self.hideModal();
} }
}); });
searchresults.tBodies[0].addEventListener( 'keypress', function( e ) { searchresults.tBodies[0].addEventListener( 'keypress', function( e ) {
if( e.target.classList.contains( 'searchitem' ) ) { if( e.target.classList.contains( 'searchitem' ) || e.target.parentElement.classList.contains( 'searchitem' ) ) {
e.preventDefault(); e.preventDefault();
e.target.click(); e.target.click();
} }
@@ -2219,6 +2218,8 @@ function IFM( params ) {
e.folder = e.name.substr( 0, e.name.lastIndexOf( '/' ) ); e.folder = e.name.substr( 0, e.name.lastIndexOf( '/' ) );
e.linkname = e.name.substr( e.name.lastIndexOf( '/' ) + 1 ); e.linkname = e.name.substr( e.name.lastIndexOf( '/' ) + 1 );
}); });
self.search.data = data;
if( self.search.data ) self.search.data.currentDir = self.currentDir;
updateResults( data ); updateResults( data );
} }
} }

View File

@@ -1006,20 +1006,19 @@ function IFM( params ) {
var updateResults = function( data ) { var updateResults = function( data ) {
self.log( 'updated search results' ); self.log( 'updated search results' );
self.search.data = data;
var searchresults = document.getElementById( 'searchResults' ); var searchresults = document.getElementById( 'searchResults' );
if( searchresults.tBodies[0] ) searchresults.tBodies[0].remove(); if( searchresults.tBodies[0] ) searchresults.tBodies[0].remove();
searchresults.appendChild( document.createElement( 'tbody' ) ); searchresults.appendChild( document.createElement( 'tbody' ) );
searchresults.tBodies[0].innerHTML = Mustache.render( self.templates.searchresults, { items: self.search.data } ); searchresults.tBodies[0].innerHTML = Mustache.render( self.templates.searchresults, { items: self.search.data } );
searchresults.tBodies[0].addEventListener( 'click', function( e ) { searchresults.tBodies[0].addEventListener( 'click', function( e ) {
if( e.target.classList.contains( 'searchitem' ) ) { if( e.target.classList.contains( 'searchitem' ) || e.target.parentElement.classList.contains( 'searchitem' ) ) {
e.preventDefault(); e.preventDefault();
self.changeDirectory( e.target.dataset.folder || e.target.parentNode.dataset.folder, { absolute: true } ); self.changeDirectory( self.pathCombine( self.search.data.currentDir, e.target.dataset.folder || e.target.parentElement.dataset.foldera ), { absolute: true } );
self.hideModal(); self.hideModal();
} }
}); });
searchresults.tBodies[0].addEventListener( 'keypress', function( e ) { searchresults.tBodies[0].addEventListener( 'keypress', function( e ) {
if( e.target.classList.contains( 'searchitem' ) ) { if( e.target.classList.contains( 'searchitem' ) || e.target.parentElement.classList.contains( 'searchitem' ) ) {
e.preventDefault(); e.preventDefault();
e.target.click(); e.target.click();
} }
@@ -1052,6 +1051,8 @@ function IFM( params ) {
e.folder = e.name.substr( 0, e.name.lastIndexOf( '/' ) ); e.folder = e.name.substr( 0, e.name.lastIndexOf( '/' ) );
e.linkname = e.name.substr( e.name.lastIndexOf( '/' ) + 1 ); e.linkname = e.name.substr( e.name.lastIndexOf( '/' ) + 1 );
}); });
self.search.data = data;
if( self.search.data ) self.search.data.currentDir = self.currentDir;
updateResults( data ); updateResults( data );
} }
} }