{#
/**
 * Copyright (C) 2024 Xibo Signage Ltd
 *
 * Xibo - Digital Signage - https://xibosignage.com
 *
 * 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 "Edit Sync Group" %}
{% endblock %}

{% block formButtons %}
    {% trans "Cancel" %}, XiboDialogClose()
    {% trans "Save" %}, $("#syncGroupEditForm").submit()
{% endblock %}

{% block formHtml %}
    <div class="row">
        <div class="col-md-12">
            <form id="syncGroupEditForm" class="XiboForm form-horizontal" method="put" action="{{ url_for("syncgroup.edit", {id: syncGroup.syncGroupId}) }}">
                {% if currentUser.featureEnabled('folder.view') %}
                    <div class="form-group row">
                        <label class="col-sm-2 control-label">{% trans "Folder" %}</label>
                        <div class="col-sm-10">
                            <button type="button" class="btn btn-info" id="select-folder-button" data-toggle="modal" data-target="#folder-tree-form-modal">{% trans "Select Folder" %}</button>
                            <span id="selectedFormFolder"></span>
                        </div>
                    </div>
                    {{ forms.hidden('folderId', syncGroup.folderId) }}
                {% endif %}

                {% set title %}{% trans "Name" %}{% endset %}
                {% set helpText %}{% trans "A name for this Sync Group" %}{% endset %}
                {{ forms.input("name", title, syncGroup.name, helpText) }}

                {% set title %}{% trans "Publisher Port" %}{% endset %}
                {% set helpText %}{% trans "The port on which players will communicate" %}{% endset %}
                {{ forms.input("syncPublisherPort", title, syncGroup.syncPublisherPort, helpText) }}

                {% set title %}{% trans "Switch Delay" %}{% endset %}
                {% set helpText %}{% trans "The delay (in ms) when displaying the changes in content. If the network is unstable this value can be raised to compensate." %}{% endset %}
                {{ forms.number("syncSwitchDelay", title, syncGroup.syncSwitchDelay, helpText) }}

                {% set title %}{% trans "Video Pause Delay" %}{% endset %}
                {% set helpText %}{% trans "The delay (in ms) before unpausing the video on start. If some of the devices in the group do not support gapless, this value can be raised to compensate." %}{% endset %}
                {{ forms.number("syncVideoPauseDelay", title, syncGroup.syncVideoPauseDelay, helpText) }}

                {% set title %}{% trans "Lead Display" %}{% endset %}
                {% set helpText %}{% trans "Select Lead Display for this sync group" %}{% endset %}
                {% set attributes = [
                    { name: "data-width", value: "100%" },
                    { name: "data-allow-clear", value: "true" },
                    { name: "data-placeholder--id", value: null },
                    { name: "data-placeholder--value", value: "" },
                    { name: "data-search-url", value: url_for("display.search") ~ "?syncGroupId=" ~ syncGroup.syncGroupId},
                    { name: "data-search-term", value: "display" },
                    { name: "data-search-term-tags", value: "tags" },
                    { name: "data-id-property", value: "displayId" },
                    { name: "data-text-property", value: "display" }
                ] %}

                {{ forms.dropdown("leadDisplayId", "single", title, syncGroup.leadDisplayId, [leadDisplay], "displayId", "display", helpText, "pagedSelect", "", "d", "", attributes) }}
            </form>
        </div>
    </div>
{% endblock %}