{{ define "title" -}}
    {{ printf ( pgettext "Edit Quotation “%s”" "title" ) .Number }}
{{- end }}

{{ define "breadcrumbs" -}}
    {{- /*gotype: dev.tandem.ws/tandem/numerus/pkg.editQuotationPage*/ -}}
    <nav data-hx-target="main" data-hx-boost="true">
        <p>
            <a href="{{ companyURI "/" }}">{{( pgettext "Home" "title" )}}</a> /
            <a href="{{ companyURI "/quotes"}}">{{( pgettext "Quotations" "title" )}}</a> /
            <a>{{ .Number }}</a>
        </p>
    </nav>
{{- end }}

{{ define "content" }}
    {{- /*gotype: dev.tandem.ws/tandem/numerus/pkg.editQuotationPage*/ -}}
    <section id="quote-dialog-content" data-hx-target="main">
        <h2>{{ printf (pgettext "Edit Quotation “%s”" "title") .Number }}</h2>
        <form method="POST" action="{{ companyURI "/quotes/" }}{{ .Slug }}/edit" data-hx-boost="true">
            {{ csrfToken }}

            {{ with .Form -}}
                {{ if .RemovedProduct -}}
                    <div role="alert">
                        {{ with .RemovedProduct -}}
                            <p>{{printf (gettext "Product “%s” removed") .Name}}</p>
                            <button type="submit"
                                    formnovalidate
                                    name="action" value="restore-product"
                            >{{( pgettext "Undo" "action" )}}</button>
                            {{ template "hidden-field" .QuoteProductId }}
                            {{ template "hidden-field" .ProductId }}
                            {{ template "hidden-field" .Name }}
                            {{ template "hidden-field" .Price }}
                            {{ template "hidden-field" .Quantity }}
                            {{ template "hidden-field" .Discount }}
                            {{ template "hidden-field" .Description }}
                            {{ template "hidden-select-field" .Tax }}
                        {{- end }}
                    </div>
                {{- end }}

                <div class="quote-data">
                    {{ template "select-field" .Customer }}
                    {{ template "hidden-field" .Date }}
                    {{ template "tags-field" .Tags }}
                    {{ template "select-field" .PaymentMethod }}
                    {{ template "select-field" .QuoteStatus }}
                    {{ template "input-field" .TermsAndConditions }}
                    {{ template "input-field" .Notes }}
                </div>

                {{- range $product := .Products }}
                    {{ template "quote-product-form" . }}
                {{- end }}
            {{- end }}

            <table id="quote-summary">
                <tbody>
                <tr>
                    <th scope="row">{{(pgettext "Subtotal" "title")}}</th>
                    <td class="numeric">{{ .Subtotal | formatPrice }}</td>
                </tr>
                {{- range $tax := .Taxes }}
                    <tr>
                        <th scope="row">{{ index . 0 }}</th>
                        <td class="numeric">{{ index . 1 | formatPrice }}</td>
                    </tr>
                {{- end }}
                <tr>
                    <th scope="row">{{(pgettext "Total" "title")}}</th>
                    <td class="numeric">{{ .Total | formatPrice }}</td>
                </tr>
                </tbody>
            </table>

            <fieldset class="button-bar">
                <button formnovalidate
                        name="action" value="select-products"
                        data-hx-get="{{ companyURI "/quotes/product-form" }}"
                        data-hx-target="#quote-summary" data-hx-swap="beforebegin"
                        data-hx-select="unset"
                        data-hx-vals="js:{index: document.querySelectorAll('.new-quote-product').length}"
                        type="submit">{{( pgettext "Add products" "action" )}}</button>
                <button formnovalidate
                        id="recompute-button"
                        name="action" value="update"
                        type="submit">{{( pgettext "Update" "action" )}}</button>
                <button class="primary" name="_method" value="PUT"
                        formaction="{{ companyURI "/quotes" }}/{{ .Slug }}"
                        type="submit">{{( pgettext "Save" "action" )}}</button>
            </fieldset>

        </form>
    </section>

    <script>
        document.body.addEventListener('recompute', function () {
            document.getElementById('recompute-button').click();
        });
    </script>
{{- end }}
