platypush/platypush/backend/http/templates/index.html

78 lines
2.5 KiB
HTML

<!doctype html>
<head>
<title>Platypush Web Panel</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
{% include 'css-common.html' %}
<link rel="stylesheet" href="{{ url_for('static', filename='css/dist/webpanel.css') }}">
<script type="text/javascript">
if (!window.config) {
window.config = {};
}
window.config = { ...window.config,
websocket_port: {{ websocket_port }},
has_ssl: {{ 'true' if has_ssl else 'false' }},
templates: JSON.parse('{{ utils.to_json(templates)|safe }}'),
scripts: JSON.parse('{{ utils.to_json(scripts)|safe }}'),
procedures: JSON.parse('{{ procedures.replace("\'", "\\\'")|safe }}'),
};
var __plugins__ = JSON.parse('{{ utils.to_json(plugins)|safe }}');
var __backends__ = JSON.parse('{{ utils.to_json(backends)|safe }}');
{% if token %}
window.config.token = '{{ token }}';
{% else %}
window.config.token = undefined;
{% endif %}
</script>
{% include 'js-common.html' %}
<script type="text/javascript" src="{{ url_for('static', filename='js/autocomplete.js') }}"></script>
{% for style in styles.values() %}
<link rel="stylesheet" href="{{ url_for('static', filename=style['_style_file']) }}">
{% endfor %}
{% include 'elements.html' %}
{% for plugin, conf in templates.items() %}
{% with configuration=templates[plugin] %}
{% include conf['_template_file'] %}
{% endwith %}
{% endfor %}
{% for script in scripts.values() %}
<script type="text/javascript" src="{{ url_for('static', filename=script['_script_file']) }}"></script>
{% endfor %}
</head>
<body>
<div id="app">
{% with plugins=templates.keys() %}
{% include 'nav.html' %}
{% endwith %}
<main>
<div class="plugins-container">
<plugin v-for="(conf, plugin) in {{ utils.to_json(templates) }}"
:tag="plugin.replace(/\./g, '-')"
:key="plugin"
:config="conf"
:class="{hidden: plugin != selectedPlugin}">
</plugin>
</div>
</main>
{% include 'notifications.html' %}
</div>
{% include 'plugins/template.html' %}
<script type="text/javascript" src="{{ url_for('static', filename='js/application.js') }}"></script>
</body>