Mercurial > bottledash
changeset 14:3a9cb396905f
made a template how to use the web_view module
author | sean |
---|---|
date | Wed, 05 Aug 2015 13:24:25 +0200 |
parents | 63b9f41c3008 |
children | 82d66f4488cd |
files | dash.conf dash.py modules/roundup_cc/roundup_content_data/tech_intern.db modules/roundup_cc/roundup_content_data/test_reference.db modules/roundup_cc/webview_template.py views/hello_template.tpl |
diffstat | 6 files changed, 82 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/dash.conf Wed Aug 05 12:37:33 2015 +0200 +++ b/dash.conf Wed Aug 05 13:24:25 2015 +0200 @@ -19,7 +19,7 @@ # hint: the top-bar has got a height of 5%! [settings] -show_top_bar=True +show_top_bar=False # Tiles: # example: @@ -70,3 +70,8 @@ type=d3js div_name=techintern script=display_issues_techintern + +[tile5] +type=d3js +div_name=webview_test +script=webview_template
--- a/dash.py Wed Aug 05 12:37:33 2015 +0200 +++ b/dash.py Wed Aug 05 13:24:25 2015 +0200 @@ -78,7 +78,7 @@ # hint: the top-bar has got a height of 5%! [settings] -show_top_bar=True +show_top_bar=False # Tiles: # example: @@ -103,16 +103,22 @@ # status: (up / down) [required] # ONLY FOR DEBUGGING PURPOSE - WILL BE REMOVED LATER # simulates up and down events for mon-type-tiles +# +# div_name: (identifier) [required for d3js-types] +# +# script: (name of a script without extension) [required for d3js-types0] +# + [tile1] type=mon source=192.168.0.2 -status=up +status=down [tile2] type=mon source=192.168.2.3 -status=down +status=up [tile3] type=mon @@ -120,9 +126,9 @@ status=up [tile4] -type=mon -source=192.168.4.3 -status=down +type=d3js +div_name=techintern +script=display_issues_techintern """) file.close()
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/modules/roundup_cc/webview_template.py Wed Aug 05 13:24:25 2015 +0200 @@ -0,0 +1,62 @@ +#!/usr/bin/env python3 + +""" Simple Template to use the Web-View Module + +author: Sean Engelhardt <sean.engelhardt@intevation.de> + +(c) 2010,2015 by Intevation GmbH + +This is Free Software unter the terms of the +GNU GENERAL PUBLIC LICENSE Version 3 or later. +See http://www.gnu.org/licenses/gpl-3.0.txt for details + +--- +How to write a web-view module? +--- + +declare a specific tile in the dash.conf. for example: + +--- +[tile5] +type=d3js +div_name=webview_test +script=webview_template +--- +(this will work for this file, see dash.conf for details) + +bottledash will look for a "get_chart(target_div_name)"-methode wich shall +return valid HTML-code (as string!). + +the "target_div_name" is the "div_name" you delared in the dash.conf-file. +In our case, "tile5" would be in the css-class "webview_test". You can use +the "target_div_name" for dynamic DOM-Manipulations (like with d3js and jQuery) + +If you want to use a python import, please use "importlib" inside the +get_chart-function. + +see <https://docs.python.org/3/library/importlib.html> for details + +To not try to import your own modules using the regular +python import-keyword! You can however import every regular +python-standard-library using the "import" keyword + +""" + +import importlib + +def get_chart(target_div_name): + html_string = """ +<style type = text/css> + +.%s { + color: red; +} + +</style> + +<div id = "hello"> + Hello World! +</div> + """ % target_div_name + + return html_string
--- a/views/hello_template.tpl Wed Aug 05 12:37:33 2015 +0200 +++ b/views/hello_template.tpl Wed Aug 05 13:24:25 2015 +0200 @@ -29,7 +29,7 @@ "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember")[today.month-1] - number_of_rows = 2 + number_of_rows = 1 ################# # viewport size # @@ -194,7 +194,7 @@ end elif tile["type"] == "d3js" : type = "chart" - status = "techintern" + status = tile["div_name"] tile_content = roundup_cc.make_chart(tile["script"], tile["div_name"]) end %>