1
2
3
4
5
6
7
8
9
10
11
12
13 import zope.component
14 from zope.interface import Interface
15 from zope.viewlet.metaconfigure import viewletDirective
16 from zope.publisher.interfaces.browser import IBrowserView
17 from zope.publisher.interfaces.browser import IDefaultBrowserLayer
18 from zope.viewlet.viewlet import ViewletBase
19 try:
20 from Products.Five.browser.metaconfigure import page
21 except ImportError:
22 from zope.publisher.browser.viewmeta import page
23
24 from Products.ZenUtils.extdirect.router import DirectProviderDefinition
25
26 from interfaces import IExtDirectJavaScriptManager
27
33
40
41
42 -def directRouter(_context, name, class_, namespace=None, for_=Interface,
43 layer=IDefaultBrowserLayer, timeout="180000",
44 permission='zenoss.Common'):
45
46
47 page(_context, name, permission, for_, layer, class_=class_)
48
49
50 source = DirectProviderDefinition(class_, name, timeout, namespace).render()
51 viewletclass = JavaScriptSourceViewlet(source)
52
53 viewletDirective(_context, name, 'zope2.Public', for_, layer,
54 manager=IExtDirectJavaScriptManager, class_=viewletclass)
55