Fix LookupEditor AJAX new entry rendering for bootstrap based templates #345
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When using a bootstrap based Dokuwiki template, new rows added in the lookup editor get displayed incorrectly after adding them to the DOM, they appear shifted to the right by one column. After a page reload, the rows display correctly.
I don't know what exactly happens on the CSS level, however the problem is, that the HTML table row returned by the AJAX lookup_save function has the CSS class "row" applied (
<tr class="row">), which is a class defined by bootstrap having CSS rules that somehow lead to the incorrect display.During normal table rendering using the dokuwiki XHTML renderer, the row classes have an incrementing number appended (
row1,row2etc.). The row counter normally is initialized when callingrenderer->table_row(). However this isn't called, neither directly nor indirectly, byLookupTable->getFirstRow(), which leads to the counter not being initialized before rendering the table row (PHP also complains about an undefined index "row_counter" if you have warnings enabled). This patch fixes that by callingtable_open()first, discarding its result.