X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=trash%2Fpluginview.py;h=491900af1239397db185b09da0442a003302642e;hb=c025814eadebf386f556f9af571d3f04e2124a80;hp=190533b0965d3c95b43aef2148488b95d43d7014;hpb=c8ac1863026e5736065065e931e20de310cb3b06;p=myslice.git diff --git a/trash/pluginview.py b/trash/pluginview.py index 190533b0..491900af 100644 --- a/trash/pluginview.py +++ b/trash/pluginview.py @@ -1,61 +1,89 @@ # 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=""" + +""", ), ]) + page.add_js_chunks ( """ +function issue_debug() {console.log("issue_debug");messages.debug("issue_debug");}; +$(function(){$("#bouton").click(issue_debug);}); +""") + # define 'unfold1_main' to the template engine template_env [ 'unfold1_main' ] = main_plugin.render(request) @@ -64,8 +92,8 @@ def test_plugin_view (request): 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}