{%  extends "layout.html" %}

{% block title %}An excellent title{% endblock title %}

{% block body %}

    <script>

        function swapToForm(elem, fields, formAction, inputName) {

            var form = document.createElement("form");
            form.setAttribute("action", formAction);

            for (var i in fields) {

                var hiddenInput = document.createElement("input");
                hiddenInput.setAttribute("type", "hidden");
                hiddenInput.setAttribute("value", fields[i].value);
                hiddenInput.setAttribute("name", fields[i].name);
                form.appendChild(hiddenInput);
            }

            var input = document.createElement("input");
            input.setAttribute("class", "form-control");
            input.setAttribute("type", "text");
            input.setAttribute("name", inputName);
            input.value = elem.innerHTML;
            form.appendChild(input);

            elem.parentNode.insertBefore(form, elem);
            elem.remove();

            input.focus();
            input.addEventListener("focusout", function () {
                form.submit();
            });

            return input;
        }

        function modifyKey(optId, value) {

            swapToForm(document.getElementById("key-" + optId), [
                {name: "id", value: optId},
                {name: "value", value: value},
                {name: "dir_id", value: {{ directory.id }}}
            ], "/directory/{{ directory.id }}/update_opt", "key");

        }

        function modifyVal(optId, key) {
            swapToForm(document.getElementById("val-" + optId), [
                {name: "id", value: optId},
                {name: "key", value: key},
                {name: "dir_id", value: {{ directory.id }}}
            ], "/directory/{{ directory.id }}/update_opt", "value");
        }

        function modifyDisplayName() {
            swapToForm(document.getElementById("display-name"), [],
                "/directory/{{ directory.id }}/update", "name");
        }

        function modifyPath() {
            swapToForm(document.getElementById("path"), [],
                "/directory/{{ directory.id }}/update", "path");
        }

    </script>

    <div class="container">

        <div class="card">

            <div class="card-header">Summary</div>
            <div class="card-body">

                <table class="info-table">
                    <tr onclick="modifyDisplayName()">
                        <th>Display name</th>
                        <td>
                            <span id="display-name" title="Click to update">{{ directory.name }}</span>
                        </td>
                    </tr>

                    <tr onclick="modifyPath()">
                        <th>Path</th>
                        <td>
                            <pre id="path" title="Click to update">{{ directory.path }}</pre>
                        </td>
                    </tr>

                    <tr>
                        <th>Enabled</th>
                        <td>
                            <i class="far {{ "fa-check-square" if directory.enabled else "fa-square" }}"></i>
                            <form action="/directory/{{ directory.id }}/update"  style="display: inline;">
                                <input type="hidden" name="enabled" value="{{ "0" if directory.enabled else "1" }}">
                                <input type="submit" class="btn {{ "btn-danger" if directory.enabled else "btn-success" }}"
                                       value="{{ "Disable" if directory.enabled else "Enable" }}">
                            </form>
                        </td>
                    </tr>
                </table>
            </div>

        </div>

        <div class="card">
            <div class="card-header">An excellent option list</div>
            <div class="card-body">
                <table class="info-table table-striped table-hover">
                    <thead>
                    <tr>
                        <th>Key</th>
                        <th>Value</th>
                        <th>Action</th>
                    </tr>
                    </thead>
                    <tbody>
                    {% for option in directory.options %}

                        <tr>
                            <td style="width: 40%" onclick="modifyKey({{ option.id }}, '{{ option.value }}')" title="Click to update"><span id="key-{{ option.id }}">{{ option.key }}</span></td>
                            <td style="width: 40%" onclick="modifyVal({{ option.id }}, '{{ option.key }}')" title="Click to update"><span id="val-{{ option.id }}">{{ option.value }}</span></td>
                            <td><a id="opt-{{ option.id }}-btn" class="btn btn-danger" href="/directory/{{ directory.id }}/del_opt/{{ option.id }}" >Remove</a></td>
                        </tr>

                    {% endfor %}

                    </tbody>
                </table>

                <hr>

                <form method="GET" action="/directory/{{ directory.id }}/add_opt">

                    <div class="form-row">
                        <div class="col">
                            <input type="text" class="form-control" placeholder="Key" name="key">
                        </div>

                        <div class="col">
                            <input type="text" class="form-control" placeholder="Value" name="value">
                        </div>
                        <button type="submit" class="btn btn-success">Add option</button>
                    </div>

                </form>

            </div>
        </div>

        <div class="card">
            <div class="card-header">An excellent control panel</div>
            <div class="card-body">

                <div class="dropdown">
                    <button class="btn dropdown-toggle btn-primary" data-toggle="dropdown">Create a task</button>
                    <div class="dropdown-menu">
                        <a class="dropdown-item" href="#">Indexing task</a>
                        <a class="dropdown-item" href="#">Thumbnail generation task</a>
                    </div>
                </div>

                <div class="dropdown">
                    <button class="btn dropdown-toggle btn-danger" data-toggle="dropdown" aria-haspopup="true">Action</button>

                    <div class="dropdown-menu">
                        <a class="dropdown-item" href="/directory/{{ directory.id }}/del">Delete directory</a>
                        <a class="dropdown-item" href="#">Reset to default settings</a>
                    </div>
                </div>

            </div>

        </div>
    </div>


{% endblock body %}