homeview and platformsview now use layout-unfold1 or layout-unfold2 depending on...
[myslice.git] / trash / pluginview.py
index f9c9663..f200312 100644 (file)
@@ -1,69 +1,91 @@
 # Create your views here.
 
-from django.core.context_processors import csrf
-from django.template import RequestContext
-from django.template.loader import render_to_string
-from django.shortcuts import render_to_response
+from django.core.context_processors     import csrf
+from django.template                    import RequestContext
+from django.template.loader             import render_to_string
+from django.shortcuts                   import render_to_response
 
-from django.contrib.auth.decorators import login_required
+from django.contrib.auth.decorators     import login_required
 
-from unfold.page import Page
-from manifold.manifoldquery import ManifoldQuery
+from unfold.page                        import Page
+from manifold.core.query                import Query
 
-from plugins.stack.stack import Stack
-from plugins.tabs.tabs import Tabs
-from plugins.lists.staticlist import StaticList
-from plugins.quickfilter.quickfilter import QuickFilter
-from plugins.raw.raw import Raw
-from plugins.messages.messages import Messages
-from plugins.hazelnut.hazelnut import Hazelnut
-from plugins.updater.updater import Updater
+from plugins.stack                      import Stack
+from plugins.tabs                       import Tabs
+from plugins.lists.staticlist           import StaticList
+from plugins.quickfilter                import QuickFilter
+from plugins.querycode                  import QueryCode
+from plugins.raw                        import Raw
+from plugins.messages                   import Messages
+from plugins.querytable                 import QueryTable
 
-from myslice.viewutils import topmenu_items, the_user
-from myslice.viewutils import hard_wired_slice_names, hard_wired_list, lorem_p, lorem, quickfilter_criterias
+from ui.topmenu                         import topmenu_items, the_user
+from trash.trashutils                   import hard_wired_slice_names, hard_wired_list, lorem_p, lorem, quickfilter_criterias
 
-@login_required
+#might be useful or not depending on the context
+#@login_required
 def test_plugin_view (request):
 
     page = Page(request)
     
+    page.expose_js_metadata()
+
     # variables that will get passed to this template
     template_env = {}
     
-    slicename='ple.inria.omftest'
-    main_query = ManifoldQuery (action='get',
-                                subject='resource',
-                                timestamp='latest',
-                                fields=['network','type','hrn','hostname'],
-                                filters= [ [ 'slice_hrn', '=', slicename, ] ],
-                                )
-    page.enqueue_query (main_query, run_it=False)
+    slicename='ple.inria.heartbeat'
+    main_query = Query.get('resource').filter_by('slice_hrn', '=', slicename).select(['network','type','hrn','hostname','sliver'])
+    # without an querytable, this would use use : run_it=False as nothing would listen to the results
+    page.enqueue_query (main_query, # run_it=False
+                        )
 
     main_plugin = \
         Stack (
         page=page,
         title='thestack',
-        togglable=False,
+        togglable=True,
+        domid='stack',
         sons=[ \
-#            Hazelnut (page=page, 
-#                      query=main_query,
-#                      ),
+        # make sure the 2 things work together
             Messages (
-                page=page,
-                title="Runtime messages",
-                domid="msgs-pre",
-                levels='ALL',
-                ),
-            Updater (
                     page=page,
-                    title="Update me",
+                    title="Transient Runtime messages",
+                    domid="messages-transient",
+                    levels='ALL',
+                    ),
+            QueryTable (
+                    page=page,
+                    title="Slice %s - checkboxes"%slicename,
                     query=main_query,
-                    label="Update me",
+                    domid="querytable",
+                    checkboxes=True,
+                    togglable=True,
+                    ),
+            Messages (
+                    page=page,
+                    title="Inline Runtime messages",
+                    domid="messages",
+                    levels='ALL',
+                    togglable=True,
+                    transient=False,
+                    ),
+            Raw (
+                    page=page,
+                    title="issue messages",
+                    togglable=True,
+                    html="""
+<input type="button" id="bouton" value="Click me" />
+""",
                     ),
             ])
 
-    # define 'unfold1_main' to the template engine
-    template_env [ 'unfold1_main' ] = main_plugin.render(request)
+    page.add_js_chunks ( """
+function issue_debug() {console.log("issue_debug");messages.debug("issue_debug");};
+$(function(){$("#bouton").click(issue_debug);});
+""")
+
+    # define 'unfold_main' to the template engine
+    template_env [ 'unfold_main' ] = main_plugin.render(request)
 
     # more general variables expected in the template
     template_env [ 'title' ] = 'Single Plugin View'