'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; } } ?>