--- a/runtime/NevowServer.py Mon Aug 13 15:00:51 2018 +0200
+++ b/runtime/NevowServer.py Tue Aug 14 12:43:43 2018 +0200
@@ -30,6 +30,7 @@
from zope.interface import implements
from nevow import appserver, inevow, tags, loaders, athena, url, rend
from nevow.page import renderer
+from nevow.static import File
from formless import annotate
from formless import webform
from formless import configurable
@@ -77,10 +78,12 @@
class MainPage(athena.LiveElement):
jsClass = u"WebInterface.PLC"
docFactory = loaders.stan(
- tags.div(render=tags.directive('liveElement'))[
- tags.div(id='content')[
- tags.div(render=tags.directive('PLCElement'))]
- ])
+ tags.invisible[
+ tags.div(render=tags.directive('liveElement'))[
+ tags.div(id='content')[
+ tags.div(render=tags.directive('PLCElement'))]
+ ],
+ tags.a(href='settings')['Settings']])
def __init__(self, *a, **kw):
athena.LiveElement.__init__(self, *a, **kw)
@@ -141,7 +144,7 @@
return self.bindingsNames
def addInfoString(self, label, value, name=None):
- if type(value) is str:
+ if isinstance(value, str):
def default(*k):
return value
else:
@@ -215,25 +218,27 @@
# This makes webform_css url answer some default CSS
child_webform_css = webform.defaultCSS
+ child_webinterface_css = File(paths.AbsNeighbourFile(__file__, 'webinterface.css'), 'text/css')
implements(ISettings)
- docFactory = loaders.stan([
- tags.html[
- tags.head[
- tags.title[_("Beremiz Runtime Settings")],
- tags.link(rel='stylesheet',
- type='text/css',
- href=url.here.child("webform_css"))
- ],
- tags.body[
- tags.h1["Runtime settings:"],
- webform.renderForms('staticSettings'),
- tags.h2["Extensions settings:"],
- webform.renderForms('dynamicSettings'),
- ]
- ]
- ])
+ docFactory = loaders.stan([tags.html[
+ tags.head[
+ tags.title[_("Beremiz Runtime Settings")],
+ tags.link(rel='stylesheet',
+ type='text/css',
+ href=url.here.child("webform_css")),
+ tags.link(rel='stylesheet',
+ type='text/css',
+ href=url.here.child("webinterface_css"))
+ ],
+ tags.body[
+ tags.a(href='/')['Back'],
+ tags.h1["Runtime settings:"],
+ webform.renderForms('staticSettings'),
+ tags.h1["Extensions settings:"],
+ webform.renderForms('dynamicSettings'),
+ ]]])
def configurable_staticSettings(self, ctx):
return configurable.TypedInterfaceConfigurable(self)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/runtime/webinterface.css Tue Aug 14 12:43:43 2018 +0200
@@ -0,0 +1,6 @@
+
+.freeform-label {
+ float: left;
+ width: 30%;
+}
+
--- a/runtime_files.list Mon Aug 13 15:00:51 2018 +0200
+++ b/runtime_files.list Tue Aug 14 12:43:43 2018 +0200
@@ -10,6 +10,7 @@
runtime/PLCObject.py
runtime/NevowServer.py
runtime/webinterface.js
+runtime/webinterface.css
runtime/__init__.py
runtime/ServicePublisher.py
runtime/typemapping.py