<vn-icon-button
    icon="more_vert"
    vn-popover="menu">
</vn-icon-button>

<vn-menu vn-id="menu">
    <vn-list>
        <vn-item
            ng-click="addTurn.show()"
            vn-acl="buyer"
            vn-acl-action="remove"
            name="addTurn"
            translate>
            Add turn
        </vn-item>
        <vn-item class="dropdown"
            vn-click-stop="showDeliveryNoteMenu.show($event, 'left')"
            translate>
            Show Delivery Note...
            <vn-menu vn-id="showDeliveryNoteMenu">
                <vn-list>
                    <vn-item
                        ng-click="$ctrl.showPdfDeliveryNote()"
                        translate>
                        Show as PDF
                    </vn-item>
                    <vn-item
                        ng-click="$ctrl.showCsvDeliveryNote()"
                        translate>
                        Show as CSV
                    </vn-item>
                </vn-list>
            </vn-menu>
        </vn-item>
        <vn-item class="dropdown"
            vn-click-stop="sendDeliveryNoteMenu.show($event, 'left')"
            translate>
            Send Delivery Note...

            <vn-menu vn-id="sendDeliveryNoteMenu">
                <vn-list>
                    <vn-item
                        ng-click="sendPdfConfirmation.show({email: $ctrl.ticket.client.email})"
                        translate>
                        Send PDF
                    </vn-item>
                    <vn-item
                        ng-click="sendCsvConfirmation.show({email: $ctrl.ticket.client.email})"
                        translate>
                        Send CSV
                    </vn-item>
                </vn-list>
            </vn-menu>
        </vn-item>
        <vn-item
            ng-click="deleteConfirmation.show()"
            ng-show="$ctrl.isEditable"
            name="deleteTicket"
            translate>
            Delete ticket
        </vn-item>
        <vn-item
            ng-click="restoreConfirmation.show()"
            ng-show="$ctrl.canRestoreTicket"
            name="restoreTicket"
            translate>
            Restore ticket
        </vn-item>
        <vn-item
            ng-click="$ctrl.showChangeShipped()"
            ng-show="$ctrl.isEditable"
            name="changeShipped"
            translate>
            Change shipped hour
        </vn-item>
        <vn-item
            ng-click="$ctrl.sendPaymentSms()"
            name="sendPaymentSms"
            translate>
            SMS Pending payment
        </vn-item>
        <vn-item
            ng-click="$ctrl.sendImportSms()"
            name="sendImportSms"
            translate>
            SMS Minimum import
        </vn-item>
        <vn-item
            ng-click="addStowaway.show()"
            ng-show="$ctrl.canShowStowaway"
            name="addStowaway"
            translate>
            Add stowaway
        </vn-item>
        <vn-item
            ng-click="deleteStowaway.show()"
            ng-show="$ctrl.canDeleteStowaway"
            name="deleteStowaway"
            translate>
            Delete stowaway
        </vn-item>
        <vn-item
            ng-click="makeInvoiceConfirmation.show()"
            ng-show="$ctrl.isEditable"
            vn-acl="invoicing"
            vn-acl-action="remove"
            name="makeInvoice"
            translate>
            Make invoice
        </vn-item>
        <vn-item
            ng-click="createPdfConfirmation.show()"
            ng-show="$ctrl.isInvoiced && ($ctrl.hasInvoicing || !$ctrl.ticket.invoiceOut.hasPdf)"
            name="regenerateInvoice"
            translate>
            {{!$ctrl.ticket.invoiceOut.hasPdf ? 'Generate PDF invoice': 'Regenerate PDF invoice'}}
        </vn-item>
        <vn-item
            ng-click="recalculateComponentsConfirmation.show()"
            ng-show="$ctrl.isEditable"
            translate>
            Recalculate components
        </vn-item>
    </vn-list>
</vn-menu>

<!-- Add turn popup -->
<vn-popup vn-id="addTurn">
    <div class="vn-pa-md">
        <h5 style="text-align: center" translate>
            What is the day of receipt of the ticket?
        </h5>
        <vn-tool-bar class="vn-mt-md">
            <vn-button
                label="Monday" 
                ng-click="$ctrl.addTurn(0)">
            </vn-button>
            <vn-button
                label="Tuesday" 
                ng-click="$ctrl.addTurn(1)">
            </vn-button>
            <vn-button
                label="Wednesday" 
                ng-click="$ctrl.addTurn(2)">
            </vn-button>
            <vn-button
                label="Thursday" 
                ng-click="$ctrl.addTurn(3)">
            </vn-button>
            <vn-button
                label="Friday" 
                ng-click="$ctrl.addTurn(4)">
            </vn-button>
            <vn-button
                label="Saturday" 
                ng-click="$ctrl.addTurn(5)">
            </vn-button>
            <vn-button
                label="Sunday" 
                ng-click="$ctrl.addTurn(6)">
            </vn-button>
        </vn-tool-bar>
    </div>
</vn-popup>

<!-- Send PDF delivery note confirmation popup -->
<vn-dialog
    vn-id="sendPdfConfirmation"
    on-accept="$ctrl.sendPdfDeliveryNote($data)"
    message="Send PDF Delivery Note">
    <tpl-body>
        <span translate>Are you sure you want to send it?</span>
        <vn-textfield vn-one
            ng-model="sendPdfConfirmation.data.email">
        </vn-textfield>
    </tpl-body>
    <tpl-buttons>
        <input type="button" response="cancel" translate-attr="{value: 'Cancel'}"/>
        <button response="accept" translate>Confirm</button>
    </tpl-buttons>
</vn-dialog>

<!-- Send CSV delivery note confirmation popup -->
<vn-dialog
    vn-id="sendCsvConfirmation"
    on-accept="$ctrl.sendCsvDeliveryNote($data)"
    message="Send CSV Delivery Note">
    <tpl-body>
        <span translate>Are you sure you want to send it?</span>
        <vn-textfield vn-one
            ng-model="sendCsvConfirmation.data.email">
        </vn-textfield>
    </tpl-body>
    <tpl-buttons>
        <input type="button" response="cancel" translate-attr="{value: 'Cancel'}"/>
        <button response="accept" translate>Confirm</button>
    </tpl-buttons>
</vn-dialog>

<!-- Delete ticket confirmation popup -->
<vn-confirm
    vn-id="deleteConfirmation"
    on-accept="$ctrl.deleteTicket()"
    question="You are going to delete this ticket"
    message="This ticket will be removed from current route! Continue anyway?">
</vn-confirm>

<!-- Restore ticket confirmation popup -->
<vn-confirm
    vn-id="restoreConfirmation"
    on-accept="$ctrl.restoreTicket()"
    question="You are going to restore this ticket"
    message="Are you sure you want to restore this ticket?">
</vn-confirm>

<!-- Change shipped dialog -->
<vn-dialog
    vn-id="changeShippedDialog"
    on-accept="$ctrl.changeShipped()"
    message="Change shipped hour">
    <tpl-body>
        <vn-input-time
            ng-model="$ctrl.newShipped"
            label="Shipped hour"
            vn-focus>
        </vn-input-time>
    </tpl-body>
    <tpl-buttons>
        <input type="button" response="cancel" translate-attr="{value: 'Cancel'}"/>
        <button response="accept" translate>Save</button>
    </tpl-buttons>
</vn-dialog>

<!-- Send SMS popup -->
<vn-ticket-sms
    vn-id="sms"
    sms="$ctrl.newSMS">
</vn-ticket-sms>

<!-- Add stowaway dialog -->
<vn-add-stowaway
    vn-id="addStowaway" 
    card-reload="$ctrl.reload()" 
    ticket="$ctrl.ticket">
</vn-add-stowaway>

<!-- Delete stowaway confirmation dialog -->
<vn-confirm
    vn-id="deleteStowaway"
    on-accept="$ctrl.deleteStowaway()"
    question="Delete stowaway"
    message="Are you sure you want to delete this stowaway?">
</vn-confirm>

<!-- Make invoice confirmation dialog -->
<vn-confirm
    vn-id="makeInvoiceConfirmation"
    on-accept="$ctrl.makeInvoice()"
    question="You are going to invoice this ticket"
    message="Are you sure you want to invoice this ticket?">
</vn-confirm>

<!-- Create invoice PDF confirmation dialog -->
<vn-confirm
    vn-id="createPdfConfirmation"
    on-accept="$ctrl.createPdfInvoice()"
    question="Are you sure you want to generate/regenerate the PDF invoice?"
    message="Generate PDF invoice document">
</vn-confirm>

<!-- Recalculate components confirmation dialog -->
<vn-confirm
    vn-id="recalculateComponentsConfirmation"
    on-accept="$ctrl.recalculateComponents()"
    question="Are you sure you want to recalculate the components?"
    message="Recalculate components">
</vn-confirm>