remove disable_with if not needed
This commit is contained in:
+6
-3
@@ -1482,8 +1482,11 @@ class A(DIV):
|
||||
def xml(self):
|
||||
if not self.components and self['_href']:
|
||||
self.append(self['_href'])
|
||||
if not self['_disable_with']:
|
||||
self['_data-w2p_disable_with'] = 'default'
|
||||
disable_needed = ['callback', 'cid', 'delete', 'component', 'target']
|
||||
disable_needed = any((self[attr] for attr in disable_needed))
|
||||
if disable_needed:
|
||||
self['_data-w2p_disable_with'] = self['_disable_with'] or 'default'
|
||||
self['_disable_with'] = None
|
||||
if self['callback'] and not self['_id']:
|
||||
self['_id'] = web2py_uuid()
|
||||
if self['delete']:
|
||||
@@ -2518,7 +2521,7 @@ def test():
|
||||
|
||||
>>> from validators import *
|
||||
>>> print DIV(A('click me', _href=URL(a='a', c='b', f='c')), BR(), HR(), DIV(SPAN("World"), _class='unknown')).xml()
|
||||
<div><a data-w2p_disable_with="default" href="/a/b/c">click me</a><br /><hr /><div class=\"unknown\"><span>World</span></div></div>
|
||||
<div><a href="/a/b/c">click me</a><br /><hr /><div class=\"unknown\"><span>World</span></div></div>
|
||||
>>> print DIV(UL("doc","cat","mouse")).xml()
|
||||
<div><ul><li>doc</li><li>cat</li><li>mouse</li></ul></div>
|
||||
>>> print DIV(UL("doc", LI("cat", _class='feline'), 18)).xml()
|
||||
|
||||
@@ -69,8 +69,50 @@ class TestBareHelpers(unittest.TestCase):
|
||||
'<meta a="1" b="2" />')
|
||||
|
||||
def testA(self):
|
||||
self.assertEqual(A('<>', _a='1', _b='2').xml(),
|
||||
'<a a="1" b="2" data-w2p_disable_with="default"><></a>')
|
||||
self.assertEqual(
|
||||
A('<>', _a='1', _b='2').xml(),
|
||||
'<a a="1" b="2"><></a>'
|
||||
)
|
||||
self.assertEqual(
|
||||
A('a', cid='b').xml(),
|
||||
'<a data-w2p_disable_with="default" data-w2p_method="GET" data-w2p_target="b">a</a>'
|
||||
)
|
||||
self.assertEqual(
|
||||
A('a', callback='b', _id='c').xml(),
|
||||
'<a data-w2p_disable_with="default" data-w2p_method="POST" href="b" id="c">a</a>'
|
||||
)
|
||||
self.assertEqual(
|
||||
A('a', delete='tr').xml(),
|
||||
'<a data-w2p_disable_with="default" data-w2p_remove="tr">a</a>'
|
||||
)
|
||||
self.assertEqual(
|
||||
A('a', _id='b', target='<self>').xml(),
|
||||
'<a data-w2p_disable_with="default" data-w2p_target="b" id="b">a</a>'
|
||||
)
|
||||
self.assertEqual(
|
||||
A('a', component='b').xml(),
|
||||
'<a data-w2p_disable_with="default" data-w2p_method="GET" href="b">a</a>'
|
||||
)
|
||||
self.assertEqual(
|
||||
A('a', _id='b', callback='c', noconfirm=True).xml(),
|
||||
'<a data-w2p_disable_with="default" data-w2p_method="POST" href="c" id="b">a</a>'
|
||||
)
|
||||
self.assertEqual(
|
||||
A('a', cid='b').xml(),
|
||||
'<a data-w2p_disable_with="default" data-w2p_method="GET" data-w2p_target="b">a</a>'
|
||||
)
|
||||
self.assertEqual(
|
||||
A('a', cid='b', _disable_with='processing...').xml(),
|
||||
'<a data-w2p_disable_with="processing..." data-w2p_method="GET" data-w2p_target="b">a</a>'
|
||||
)
|
||||
self.assertEqual(
|
||||
A('a', callback='b', delete='tr', noconfirm=True, _id='c').xml(),
|
||||
'<a data-w2p_disable_with="default" data-w2p_method="POST" data-w2p_remove="tr" href="b" id="c">a</a>'
|
||||
)
|
||||
self.assertEqual(
|
||||
A('a', callback='b', delete='tr', confirm='Are you sure?', _id='c').xml(),
|
||||
'<a data-w2p_confirm="Are you sure?" data-w2p_disable_with="default" data-w2p_method="POST" data-w2p_remove="tr" href="b" id="c">a</a>'
|
||||
)
|
||||
|
||||
def testB(self):
|
||||
self.assertEqual(B('<>', _a='1', _b='2').xml(),
|
||||
@@ -237,7 +279,7 @@ class TestBareHelpers(unittest.TestCase):
|
||||
class TestData(unittest.TestCase):
|
||||
|
||||
def testAdata(self):
|
||||
self.assertEqual(A('<>', data=dict(abc='<def?asd>', cde='standard'), _a='1', _b='2').xml(),'<a a="1" b="2" data-abc="<def?asd>" data-cde="standard" data-w2p_disable_with="default"><></a>')
|
||||
self.assertEqual(A('<>', data=dict(abc='<def?asd>', cde='standard'), _a='1', _b='2').xml(),'<a a="1" b="2" data-abc="<def?asd>" data-cde="standard"><></a>')
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
||||
Reference in New Issue
Block a user