Description
Including a databrowser widget will break the autofilter javascript because of the ID qualification done in the html formatter (id = self.qualify_id(id)).
Steps to reproduce
- put a databrowser widget with autofilter on a page
- include it on another page
Example
http://wireless.kernel.org/en/users/Drivers/ar9170#availabledevices
(fixed by the patch below though)
Component selection
- databrowser widget
Details
MoinMoin Version |
1.8rc1 |
OS and Version |
|
Python Version |
|
Server Setup |
|
Server Details |
|
Language you are using the wiki in (set in the browser/UserPreferences) |
|
Workaround
N/A
Discussion
Toggle line numbers
1 ---
2 MoinMoin/widget/browser.py | 8 +++++---
3 wiki/htdocs/common/js/common.js | 2 +-
4 2 files changed, 6 insertions(+), 4 deletions(-)
5
6 --- moin.orig/MoinMoin/widget/browser.py 2009-01-16 13:27:31.000000000 +0100
7 +++ moin/MoinMoin/widget/browser.py 2009-01-16 13:29:29.000000000 +0100
8 @@ -15,7 +15,8 @@ class DataBrowserWidget(base.Widget):
9 _ = request.getText
10 base.Widget.__init__(self, request, **kw)
11 self.data = None
12 - self.data_id = 'dbw.'
13 + self.unqual_data_id = 'dbw.'
14 + self.data_id = request.formatter.qualify_id(self.unqual_data_id)
15 # prefixed with __ are untranslated and to be used in the JS
16 self._all = _('[all]')
17 self.__all = '[all]'
18 @@ -37,7 +38,8 @@ class DataBrowserWidget(base.Widget):
19 """
20 self.data = dataset
21 if dataset.data_id:
22 - self.data_id = 'dbw.%s.' % dataset.data_id
23 + self.unqual_data_id = 'dbw.%s.' % dataset.data_id
24 + self.data_id = self.request.formatter.qualify_id(self.unqual_data_id)
25
26 def _name(self, elem):
27 """ return name tag for a HTML element
28 @@ -115,7 +117,7 @@ class DataBrowserWidget(base.Widget):
29 if havefilters:
30 result.append(fmt.rawHTML('<input type="submit" value="%s" %s>' % (self._filter, self._name('submit'))))
31
32 - result.append(fmt.table(1, id='%stable' % self.data_id))
33 + result.append(fmt.table(1, id='%stable' % self.unqual_data_id))
34
35 # add header line
36 if self._show_header:
37 --- moin.orig/wiki/htdocs/common/js/common.js 2009-01-16 13:27:31.000000000 +0100
38 +++ moin/wiki/htdocs/common/js/common.js 2009-01-16 13:29:29.000000000 +0100
39 @@ -302,7 +302,7 @@ function dbw_hide_buttons() {
40 elem = form.elements[eidx];
41 name = elem.name;
42 if (name) {
43 - if (name.substr(0,4) == 'dbw.' && name.substr(-7) == '.submit')
44 + if (name.indexOf('dbw.') >= 0 && name.substr(-7) == '.submit')
45 elem.style.display = 'none';
46 }
47 }
Plan
- Priority:
- Assigned to:
- Status: Fixed in 8f8ba97409da on the 1.8 main branch