{#
    Required parameters:
    generator{
        id,
        label,
        [static],
        [config],
        [limit]
    }
    [element : \P1TM\Models\ContentElement]
#}
{% set elIndex = element ? element.GetOrderNr() : generator.id %}
{% set elementConfig = element ? element.GetConfiguration() : false %}
<div {% if generator.limit %}data-limit="{{ generator.limit }}"{% endif %}
     data-name="{{ generator.id }}"
     class="panel panel-default p1tm-panel{% if generator.static %} p1tm-noSort{% endif %}">
    <div class="panel-heading">
        <h5 class="panel-title">
            {% if generator.static %}
                <input type="hidden"
                       name="config[{{ elIndex }}][enabled]"
                       value="0"/>
                <input type="checkbox"
                       class="p1tm-checkbox"
                       name="config[{{ elIndex }}][enabled]"
                       value="1"
                       {% if element %}checked="checked"{% endif %}/>
            {% endif %}
            {{ generator.label }}
            <div class="p1tm-icons">
                {% if generator.config %}<a href="javascript:void(0);"><i class="glyphicon glyphicon-edit p1tm-openPanel"></i></a>{% endif %}
                {% if not generator.static %}<a href="javascript:void(0);"><i class="glyphicon glyphicon-trash p1tm-delete"></i></a>{% endif %}
            </div>
        </h5>
    </div>
    <div class="panel-collapse collapse">
        <div class="panel-body">
            <input type="hidden"
                   name="config[{{ elIndex }}][content_generator_id]"
                   value="{{ generator.id }}"/>
            {% for name, option in generator.config %}
                {% if option.type == 'input' %}
                    <div class="form-group">
                        <label for="o_{{ elIndex }}_{{ name }}" class="control-label col-sm-4">{{ option.label }}</label>
                        <div class="col-sm-8">
                            <input type="text"
                                   id="o_{{ elIndex }}_{{ name }}"
                                   name="config[{{ elIndex }}][config][{{ name }}]"
                                   class="form-control p1tm-validate"
                                   value="{{ elementConfig ? elementConfig[name] : option.default }}"
                                   data-content-generator-id="{{ generator.id }}"
                                   data-name="{{ name }}"/>
                        </div>
                        <div class="col-sm-12 p1tm-config-sources-validation"></div>
                    </div>
                {% elseif option.type == 'checkbox' %}
                    <div class="form-group">
                      <div class="col-sm-12">
                        <div class="checkbox">
                          <label for="o_{{ elIndex }}_{{ name }}">
                              <input type="hidden"
                                     name="config[{{ elIndex }}][config][{{ name }}]"
                                     value="0"/>
                              <input type="checkbox"
                                     id="o_{{ elIndex }}_{{ name }}"
                                     name="config[{{ elIndex }}][config][{{ name }}]"
                                     class="form-control p1tm-youtubeCheckbox"
                                     value="1"
                                     {% if (elementConfig and elementConfig[name]) or (not elementConfig and option.default) %}checked="checked"{% endif %}/>
                            {{ option.label }}</label>
                        </div>
                      </div>
                    </div>
                {% elseif option.type == 'select' %}
                    <div class="form-group">
                        <label for="o_{{ elIndex }}_{{ name }}" class="control-label col-sm-4">{{ option.label }}</label>
                        <div class="col-sm-8">
                            <select id="o_{{ elIndex }}_{{ name }}"
                                    name="config[{{ elIndex }}][config][{{ name }}]"
                                    class="form-control">
                                {% for opt in option.options %}
                                    <option value="{{ opt[0] }}"
                                            {% if (elementConfig and elementConfig[name] and elementConfig[name] == opt[0]) or (not elementConfig and opt[2]) %} selected="selected"{% endif %}>
                                        {{ opt[1] }}
                                    </option>
                                {% endfor %}
                            </select>
                        </div>
                        <div class="col-sm-12 p1tm-config-sources-validation"></div>
                    </div>
                {% endif %}
            {% endfor %}
            <button class="btn btn-primary p1tm-btn pull-right">Done Editing</button>
        </div>
    </div>
</div>