# 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.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, ] ],
- )
+ 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=[ \
+ # make sure the 2 things work together
Messages (
- page=page,
- title="Runtime messages",
- domid="msgs-pre",
- ),
- 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'
template_env [ 'topmenu_items' ] = topmenu_items('plugin', request)
template_env [ 'username' ] = the_user (request)
- # we don't have anythong asynchroneous, and manifold.js is not loaded
-# page.exec_queue_asynchroneously ()
+ # run queries when we have any
+ page.expose_queries ()
# the prelude object in page contains a summary of the requirements() for all plugins
# define {js,css}_{files,chunks}