'Robert Henjes',
'email' => 'dokuwiki@rhenjes.de',
'date' => '2010-10-22',
'name' => 'Searchable javascript',
'desc' => 'Add and around your table.',
'url' => 'http://github.com/xdreamer/searchtablejs/',
);
}
function getType() { return 'container';}
function getPType(){ return 'normal';}
function getSort() { return 999; }
//Fix compatibility with edittable
function getAllowedTypes() {return array('container','formatting','substition');}
function connectTo($mode) {
$this->Lexer->addEntryPattern(']*>(?=.*?\x3C/searchtable\x3E)',$mode,'plugin_searchtablejs');
}
function postConnect() {
$this->Lexer->addExitPattern('','plugin_searchtablejs');
}
function handle($match, $state, $pos, Doku_Handler $handler){
switch ($state) {
case DOKU_LEXER_ENTER :
$match = substr($match,12,-1);
$match=trim($match);
$scl="";
if (strlen($match)>0) {
$scl=" search$match";
}
return array($state, $scl);
break;
case DOKU_LEXER_UNMATCHED :
return array($state, $match);
break;
case DOKU_LEXER_EXIT :
return array($state, "");
break;
}
return array();
}
function render($mode, Doku_Renderer $renderer, $data) {
list($state,$match) = $data;
if ($mode == 'xhtml'){
switch ($state) {
case DOKU_LEXER_ENTER :
$id = mt_rand();
$renderer->doc .= '
';
$renderer->doc .= 'Filter: ';
break;
case DOKU_LEXER_UNMATCHED :
$renderer->doc .= p_render('xhtml',p_get_instructions($match),$info);
break;
case DOKU_LEXER_EXIT :
$renderer->doc .= '
';
break;
}
return true;
}
return false;
}
}
?>