Handling dashboards widget configuration as a list instead of a hash to preserve the order of the widgets
This commit is contained in:
parent
339d1eb132
commit
7a80cd08ce
2 changed files with 15 additions and 10 deletions
|
@ -103,17 +103,22 @@ class HttpBackend(Backend):
|
|||
dashboard:
|
||||
background_image: https://site/image.png
|
||||
widgets: # Each row of the dashboard will have 6 columns
|
||||
calendar: # Calendar widget
|
||||
-
|
||||
widget: calendar # Calendar widget
|
||||
columns: 6
|
||||
music: # Music widget
|
||||
-
|
||||
widget: music # Music widget
|
||||
columns: 3
|
||||
date-time-weather: # Date, time and weather widget
|
||||
-
|
||||
widget: date-time-weather # Date, time and weather widget
|
||||
columns: 3
|
||||
image-carousel: # Image carousel
|
||||
-
|
||||
widget: image-carousel # Image carousel
|
||||
columns: 6
|
||||
images_path: ~/Dropbox/Photos/carousel # Absolute path (valid as long as it's a subdirectory of one of the available `resource_dirs`)
|
||||
refresh_seconds: 15
|
||||
rss-news: # RSS feeds widget
|
||||
-
|
||||
widget: rss-news # RSS feeds widget
|
||||
# Requires backend.http.poll to be enabled with some RSS sources and write them to sqlite db
|
||||
columns: 6
|
||||
limit: 25
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
{% endif %}
|
||||
|
||||
window.config = {{ config | safe }};
|
||||
window.widgets = {{ config['widgets'] | safe }};
|
||||
window.widgets = {{ config['widgets'] | safe }}.reduce(function(map, w) { map[w.widget] = w; return map }, {})
|
||||
</script>
|
||||
</head>
|
||||
|
||||
|
@ -44,16 +44,16 @@
|
|||
|
||||
<div id="widgets-container">
|
||||
{% set used_columns = [0] %}
|
||||
{% for widget_name, widget in config['widgets'].items() %}
|
||||
{% for widget in config['widgets'] %}
|
||||
{% if used_columns[0] % 12 == 0 %}
|
||||
<div class="row">
|
||||
{% endif %}
|
||||
|
||||
<div class="widget {% print(utils.widget_columns_to_html_class(widget['columns'])) %}
|
||||
{% print(widget_name) %}"
|
||||
id="{% print(widget['id'] if 'id' in widget else widget_name) %}">
|
||||
{% print(widget['widget']) %}"
|
||||
id="{% print(widget['id'] if 'id' in widget else widget['widget']) %}">
|
||||
{% with properties=widget %}
|
||||
{% include 'widgets/' + widget_name + '.html' %}
|
||||
{% include 'widgets/' + widget['widget'] + '.html' %}
|
||||
{% endwith %}
|
||||
</div>
|
||||
|
||||
|
|
Loading…
Reference in a new issue