0byt3m1n1
Path:
/
home
/
mgatv524
/
mctv.mgaplay.com.br
/
modules
/
[
Home
]
File: forecastio-form-edit.twig
{# /** * Copyright (C) 2020 Xibo Signage Ltd * * Xibo - Digital Signage - http://www.xibo.org.uk * * This file is part of Xibo. * * Xibo is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * any later version. * * Xibo is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with Xibo. If not, see <http://www.gnu.org/licenses/>. */ #} {% extends "form-base.twig" %} {% import "forms.twig" as forms %} {% block formTitle %} {% trans "Weather" %} {% endblock %} {% block formButtons %} {% if currentUser.isSuperAdmin() and settings.SERVER_MODE == "Test" %} {% trans "Export Template" %}, formHelpers.requestTab("forecast"| "{{ url_for("module.widget.tab.form", {tab: "exporttemplate", id: module.widget.widgetId}) }}") {% endif %} {% trans "Get Forecast" %}, formHelpers.requestTab("forecast"| "{{ url_for("module.widget.tab.form", {tab: "forecast", id: module.widget.widgetId}) }}") {% endblock %} {% block extra %}{{ module.templatesAvailable()|json_encode|raw }}{% endblock %} {% block formHtml %} <div class="row"> <ul class="nav nav-tabs" role="tablist"> <li class="nav-item"><a class="nav-link active" href="#general" role="tab" data-toggle="tab"><span>{% trans "General" %}</span></a></li> <li class="nav-item"><a class="nav-link" href="#configurationTab" role="tab" data-toggle="tab"><span>{% trans "Configuration" %}</span></a></li> <li class="nav-item dropdown"> <a class="nav-link dropdown-toggle" data-toggle="dropdown" href="#" role="button" aria-haspopup="true" aria-expanded="false"> {% trans "Templates" %}<span class="caret"></span> </a> <div class="dropdown-menu"> <a class="dropdown-item" href="#templatePreset" role="tab" data-toggle="tab"><span>{% trans "Preset" %}</span></a> <a class="dropdown-item template-override-controls" href="#currentForecastTab" role="tab" data-toggle="tab"><span>{% trans "Current Forecast" %}</span></a> <a class="dropdown-item template-override-controls" href="#dailyForecastTab" role="tab" data-toggle="tab"><span>{% trans "Daily Forecast" %}</span></a> <a class="dropdown-item template-override-controls" href="#optionalStylesheetTab" role="tab" data-toggle="tab"><span>{% trans "Style Sheet" %}</span></a> <a class="dropdown-item" href="#optionalJavascript" role="tab" data-toggle="tab"><span>{% trans "Optional JavaScript" %}</span></a> </div> </li> <li class="nav-item"><a class="nav-link" href="#cacheTab" role="tab" data-toggle="tab"><span>{% trans "Caching" %}</span></a></li> <li class="nav-item"><a class="nav-link" href="#forecast" role="tab" data-toggle="tab"><span>{% trans "Forecast" %}</span></a></li> </ul> <div class="col-md-12"> <form id="forecastEditForm" class="XiboForm form-horizontal" method="put" action="{{ url_for("module.widget.edit", {id: module.widget.widgetId}) }}"> <div class="tab-content"> <div class="tab-pane active" id="general"> {% set title %}{% trans "Name" %}{% endset %} {% set helpText %}{% trans "An optional name for this widget" %}{% endset %} {{ forms.input("name", title, module.getOption("name"), helpText) }} {% set title %}{% trans "Set a duration?" %}{% endset %} {% set helpText %}{% trans "Select to provide a specific duration for this Widget" %}{% endset %} {{ forms.checkbox("useDuration", title, module.getUseDuration(), helpText) }} {% set title %}{% trans "Duration" %}{% endset %} {% set helpText %}{% trans "The duration in seconds this item should be displayed." %}{% endset %} {{ forms.number("duration", title, module.getDuration(), helpText, "duration-fields", "required") }} {% set title %}{% trans "Enable Stats Collection?" %}{% endset %} {% set helpText %}{% trans "Enable the collection of Proof of Play statistics for this Widget. Ensure that ‘Enable Stats Collection’ is set to ‘On’ in the Display Settings." %}{% endset %} {% set offOption %}{% trans "Off" %}{% endset %} {% set onOption %}{% trans "On" %}{% endset %} {% set inheritOption %}{% trans "Inherit" %}{% endset %} {% set options = [ { id: "Off", value: offOption }, { id: "On", value: onOption }, { id: "Inherit", value: inheritOption } ] %} {{ forms.dropdown("enableStat", "single", title, module.getOption("enableStat", theme.getSetting("WIDGET_STATS_ENABLED_DEFAULT")), options, "id", "value", helpText) }} </div> <div class="tab-pane" id="configurationTab"> {% set title %}{% trans "Use the Display Location" %}{% endset %} {% set helpText %}{% trans "Use the location configured on the display" %}{% endset %} {{ forms.checkbox("useDisplayLocation", title, module.getOption("useDisplayLocation", 1), helpText) }} {% set title %}{% trans "Latitude" %}{% endset %} {% set helpText %}{% trans "The Latitude for this widget" %}{% endset %} {{ forms.number("latitude", title, module.getOption("latitude"), helpText, "locationControls") }} {% set title %}{% trans "Longitude" %}{% endset %} {% set helpText %}{% trans "The Longitude for this widget" %}{% endset %} {{ forms.number("longitude", title, module.getOption("longitude"), helpText, "locationControls") }} {% set title %}{% trans "Units" %}{% endset %} {% set helpText %}{% trans "Select the units you would like to use." %}{% endset %} {{ forms.dropdown("units", "single", title, module.getOption("units"), module.unitsAvailable(), "id", "value", helpText) }} {% set title %}{% trans "Language" %}{% endset %} {% set helpText %}{% trans "Select the language you would like to use." %}{% endset %} {{ forms.dropdown("lang", "single", title, module.getOption("lang", "en"), module.supportedLanguages(), "id", "value", helpText) }} {% set title %}{% trans "Only show Daytime weather conditions" %}{% endset %} {% set helpText %}{% trans "Tick if you would like to only show the Daytime weather conditions." %}{% endset %} {{ forms.checkbox("dayConditionsOnly", title, module.getOption("dayConditionsOnly"), helpText) }} {% set title %}{% trans "Horizontal Align" %}{% endset %} {% set helpText %}{% trans "How should this widget be aligned?" %}{% endset %} {% set left %}{% trans "Left" %}{% endset %} {% set center %}{% trans "Centre" %}{% endset %} {% set right %}{% trans "Right" %}{% endset %} {% set options = [ { alignH: "left", align: left }, { alignH: "center", align: center }, { alignH: "right", align: right } ] %} {{ forms.dropdown("alignH", "single", title, module.getOption("alignH","center"), options, "alignH", "align", helpText, "align-fields") }} {% set title %}{% trans "Vertical Align" %}{% endset %} {% set helpText %}{% trans "How should this widget be vertically aligned?" %}{% endset %} {% set top %}{% trans "Top" %}{% endset %} {% set middle %}{% trans "Middle" %}{% endset %} {% set bottom %}{% trans "Bottom" %}{% endset %} {% set options = [ { alignV: "top", valign: top }, { alignV: "middle", valign: middle }, { alignV: "bottom", valign: bottom } ] %} {{ forms.dropdown("alignV", "single", title, module.getoption("alignV", "middle"), options, "alignV", "valign", helpText, "align-fields") }} </div> <div class="tab-pane" id="templatePreset"> {% set title %}{% trans "Type" %}{% endset %} {% set helpText %}{% trans "Choose the type of template" %}{% endset %} {% set allText %}{% trans "All" %}{% endset %} {% set currentText %}{% trans "Current" %}{% endset %} {% set forecastText %}{% trans "Forecast" %}{% endset %} {% set options = [ { id: "", value: allText }, { id: "current", value: currentText }, { id: "forecast", value: forecastText } ] %} {{ forms.dropdown("templateType", "single", title, module.getOption("templateType", "all"), options, "id", "value", helpText, "template-selector-control") }} {% set title %}{% trans "Orientation" %}{% endset %} {% set helpText %}{% trans "Choose the orientation of template" %}{% endset %} {% set allText %}{% trans "All" %}{% endset %} {% set squareText %}{% trans "Square" %}{% endset %} {% set landscapeText %}{% trans "Landscape" %}{% endset %} {% set portraitText %}{% trans "Portrait" %}{% endset %} {% set scaleText %}{% trans "Scale" %}{% endset %} {% set options = [ { id: "", value: allText }, { id: "square", value: squareText }, { id: "landscape", value: landscapeText }, { id: "portrait", value: portraitText }, { id: "scale", value: scaleText } ] %} {{ forms.dropdown("templateOrientation", "single", title, module.getOption("templateOrientation", "all"), options, "id", "value", helpText, "template-selector-control") }} {% set title %}{% trans "Template" %}{% endset %} {% set helpText %}{% trans "Select the template you would like to apply. This can be overridden using the check box below." %}{% endset %} {{ forms.dropdown("templateId", "single", title, module.getOption("templateId"), templatesAvailable, "id", "value", helpText, "template-selector-control localSelect selectPickerWithImage", null, null, null, [{ name: "data-minimum-results-for-search", value: "Infinity" },{ name: "data-width", value: "100%" }], null, "image", ["type", "orientation"]) }} {% set title %}{% trans "Override the template?" %}{% endset %} {% set helpText %}{% trans "Tick if you would like to override the template." %}{% endset %} {{ forms.checkbox("overrideTemplate", title, module.getOption("overrideTemplate"), helpText) }} {% set useTemplatesMessage %} {% trans "With Override the Template selected enter your own text, html and css by using the Templates drop down menu in the tab header above." %} {% endset %} {{ forms.message(useTemplatesMessage, 'template-override-controls') }} {% set title %}{% trans "Original Width" %}{% endset %} {% set helpText %}{% trans "This is the intended width of the template and is used to scale the Widget within its region when the template is applied." %}{% endset %} {{ forms.number("widgetOriginalWidth", title, module.getOption("widgetOriginalWidth", undefined), helpText, "template-override-controls", "", "number") }} {% set title %}{% trans "Original Height" %}{% endset %} {% set helpText %}{% trans "This is the intended height of the template and is used to scale the Widget within its region when the template is applied." %}{% endset %} {{ forms.number("widgetOriginalHeight", title, module.getOption("widgetOriginalHeight", undefined), helpText, "template-override-controls", "", "number") }} <div class="template-options template-selector-control"> {% set useTemplatesOptionsMessage %} {% trans "You can change the appearance of this template using the options below." %} {% endset %} {{ forms.message(useTemplatesOptionsMessage, '') }} {% set name %}{% trans "Text" %}{% endset %} {{ forms.colorPicker("text-color", name, module.getOption("text-color"), "", "template-option template-option-text-color d-none") }} {% set name %}{% trans "Icons" %}{% endset %} {{ forms.colorPicker("icons-color", name, module.getOption("icons-color"), "", "template-option template-option-icons-color d-none") }} {% set name %}{% trans "Background" %}{% endset %} {{ forms.colorPicker("background-color", name, module.getOption("background-color"), "", "template-option template-option-background-color d-none") }} {% set name %}{% trans "Shadow" %}{% endset %} {{ forms.colorPicker("shadow-color", name, module.getOption("shadow-color"), "", "template-option template-option-shadow-color d-none") }} {% set name %}{% trans "Footer Background" %}{% endset %} {{ forms.colorPicker("footer-color", name, module.getOption("footer-color"), "", "template-option template-option-footer-color d-none") }} {% set name %}{% trans "Footer Text" %}{% endset %} {{ forms.colorPicker("footer-text-color", name, module.getOption("footer-text-color"), "", "template-option template-option-footer-text-color d-none") }} {% set name %}{% trans "Footer Icons" %}{% endset %} {{ forms.colorPicker("footer-icons-color", name, module.getOption("footer-icons-color"), "", "template-option template-option-footer-icons-color d-none") }} </div> {% set title %}{% trans "Background Image" %}{% endset %} {% set noneText %}{% trans "None" %}{% endset %} {% set centerText %}{% trans "Center" %}{% endset %} {% set stretchText %}{% trans "Stretch" %}{% endset %} {% set fitText %}{% trans "Fit" %}{% endset %} {% set options = [ { id: "none", value: noneText }, { id: "fit", value: fitText }, { id: "stretch", value: stretchText }, { id: "center", value: centerText } ] %} {{ forms.dropdown("background-image", "single", title, module.getOption("background-image", "fit"), options, "id", "value", "", "") }} <div class="background-select-list"> {% set attributes = [ { name: "data-allow-clear", value: "true" }, { name: "data-placeholder--id", value: null }, { name: "data-placeholder--value", value: "" }, { name: "data-search-url", value: url_for("library.search") }, { name: "data-search-term", value: "media" }, { name: "data-search-term-tags", value: "tags" }, { name: "data-width", value: "100%" }, { name: "data-id-property", value: "mediaId" }, { name: "data-text-property", value: "name" }, { name: "data-filter-options", value: '{"type":"image"}' } ] %} {% set backgroundTranslations = { "cloudy-image": "Cloudy"|trans, "day-cloudy-image": "Cloudy day"|trans, "day-sunny-image": "Clear"|trans, "fog-image": "Fog"|trans, "hail-image": "Hail"|trans, "night-clear-image": "Clear night"|trans, "night-partly-cloudy-image": "Cloudy night"|trans, "rain-image": "Raining"|trans, "snow-image": "Snowing"|trans, "windy-image": "Windy"|trans } %} {% set backgroundOptions = [{"mediaId": "", "name": ""}]|merge(module.getBackgroundOptions()) %} {% set getBackgroundList = module.getBackgroundList() %} {% set backgroundListMessage %}{% trans "Select images from the media library to replace the default weather backgrounds." %}{% endset %} {{ forms.message(backgroundListMessage, "") }} {% for backgroundEl in getBackgroundList %} {% if module.getOption(backgroundEl) != backgroundEl %} {% set elOption = module.getOption(backgroundEl) %} {% else %} {% set elOption = "" %} {% endif %} {% set title = attribute(backgroundTranslations, backgroundEl) %} {{ forms.dropdown(backgroundEl, "single", title, elOption, backgroundOptions, "mediaId", "name", "", "pagedSelect", "", "", "", attributes) }} {% endfor %} </div> </div> <div class="tab-pane" id="currentForecastTab"> <div class="form-content-title row"> <h4 class="col-12 text-left">{% trans "Current Forecast Template" %}</h4> </div> <div class="ckeditor_controls inline-editor-hide container-fluid" data-linked-to="currentTemplate"> <div class="form-group row localSelect"> <label class="col-sm-2 control-label" for="ckeditor_snippets_select">{% trans "Snippets" %}</label> <div class="col-sm-10 ckeditor_select_container weather-type-targets"> {% set weatherSnippets = module.getWeatherSnippets() %} <select id="ckeditor_snippets_select" class="ckeditor_snippets_select form-control" data-linked-to="currentTemplate" data-filter-class=""> <option value=""></option> {% for snippet in weatherSnippets.current %} <option value="{{ snippet }}" data-filter-class="current">{{ snippet }}</option> {% endfor %} </select> </div> </div> </div> <div class="editor-messages"> {% set simpleTextEditorMessage %} {% trans "Enter text or HTML in the box below." %}<br> {% endset %} {{ forms.message(simpleTextEditorMessage) }} </div> {% set helpText %}{% trans "Enter the template for the current forecast. For a list of substitutions click Get Forecast below." %}{% endset %} {{ forms.textarea("currentTemplate", "", module.getOption("currentTemplate"), helpText, "template-override-controls", "required", 10) }} </div> <div class="tab-pane" id="dailyForecastTab"> <div class="form-content-title row"> <h4 class="col-12 text-left">{% trans "Daily Forecast Template" %}</h4> </div> <div class="ckeditor_controls inline-editor-hide container-fluid" data-linked-to="currentTemplate"> <div class="form-group row localSelect"> <label class="col-sm-2 control-label" for="ckeditor_snippets_select">{% trans "Snippets" %}</label> <div class="col-sm-10 ckeditor_select_container weather-type-targets"> {% set weatherSnippets = module.getWeatherSnippets() %} <select id="ckeditor_snippets_select" class="ckeditor_snippets_select form-control" data-linked-to="currentTemplate" data-filter-class=""> <option value=""></option> {% for snippet in weatherSnippets.forecast %} <option value="{{ snippet }}" data-filter-class="forecast">{{ snippet }}</option> {% endfor %} </select> </div> </div> </div> <div class="editor-messages"> {% set simpleTextEditorMessage %} {% trans "Enter text or HTML in the box below." %}<br> {% endset %} {{ forms.message(simpleTextEditorMessage) }} </div> {% set helpText %}{% trans "Enter the template for the daily forecast. Replaces [dailyForecast] in main template." %}{% endset %} {{ forms.textarea("dailyTemplate", "", module.getOption("dailyTemplate"), helpText, "template-override-controls", "", 10) }} </div> <div class="tab-pane" id="optionalStylesheetTab"> <div class="form-content-title"> <h4>{% trans "CSS Style Sheet" %}</h4> </div> {% set helpText %}{% trans "Enter a CSS style sheet to style the weather widget" %}{% endset %} {{ forms.textarea("styleSheet", "", module.getOption("styleSheet"), helpText, "template-override-controls", "required", 10) }} </div> <div class="tab-pane" id="optionalJavascript"> <div class="form-content-title"> <h4>{% trans "Optional JavaScript" %}</h4> </div> {{ forms.textarea("javaScript", "", module.getRawNode("javaScript"), "", "", "", 10) }} </div> <div class="tab-pane" id="cacheTab"> {% set title %}{% trans "Update Interval (mins)" %}{% endset %} {% set helpText %}{% trans "Please enter the update interval in minutes. This should be kept as high as possible. For example, if the data will only change once per hour this could be set to 60." %}{% endset %} {{ forms.number("updateInterval", title, module.getOption("updateInterval", 60), helpText, "", "required") }} </div> <div class="tab-pane" id="forecast"> {% set message %}{% trans "Please press Get Forecast" %}{% endset %} {{ forms.message(message) }} </div> </div> {% if module.getSetting("apiKey") == "" and module.getSetting("owmApiKey") == "" %} {% set message %}{% trans "The Weather Widget has not been configured yet, please ask your CMS Administrator to look at it for you." %}{% endset %} {{ forms.message(message, "alert alert-danger") }} {% endif %} </form> </div> </div> {% endblock %}