/** * App Invoice - Add */ 'use strict'; (function () { const invoiceItemPriceList = document.querySelectorAll('.invoice-item-price'), invoiceItemQtyList = document.querySelectorAll('.invoice-item-qty'), invoiceDateList = document.querySelectorAll('.date-picker'); // Price if (invoiceItemPriceList) { invoiceItemPriceList.forEach(function (invoiceItemPrice) { new Cleave(invoiceItemPrice, { delimiter: '', numeral: true }); }); } // Qty if (invoiceItemQtyList) { invoiceItemQtyList.forEach(function (invoiceItemQty) { new Cleave(invoiceItemQty, { delimiter: '', numeral: true }); }); } // Datepicker if (invoiceDateList) { invoiceDateList.forEach(function (invoiceDateEl) { invoiceDateEl.flatpickr({ monthSelectorType: 'static' }); }); } })(); // repeater (jquery) $(function () { var applyChangesBtn = $('.btn-apply-changes'), discount, tax1, tax2, discountInput, tax1Input, tax2Input, sourceItem = $('.source-item'), adminDetails = { 'App Design': 'Designed UI kit & app pages.', 'App Customization': 'Customization & Bug Fixes.', 'ABC Template': 'Bootstrap 4 admin template.', 'App Development': 'Native App Development.' }; // Prevent dropdown from closing on tax change $(document).on('click', '.tax-select', function (e) { e.stopPropagation(); }); // On tax change update it's value value function updateValue(listener, el) { listener.closest('.repeater-wrapper').find(el).text(listener.val()); } // Apply item changes btn if (applyChangesBtn.length) { $(document).on('click', '.btn-apply-changes', function (e) { var $this = $(this); tax1Input = $this.closest('.dropdown-menu').find('#taxInput1'); tax2Input = $this.closest('.dropdown-menu').find('#taxInput2'); discountInput = $this.closest('.dropdown-menu').find('#discountInput'); tax1 = $this.closest('.repeater-wrapper').find('.tax-1'); tax2 = $this.closest('.repeater-wrapper').find('.tax-2'); discount = $('.discount'); if (tax1Input.val() !== null) { updateValue(tax1Input, tax1); } if (tax2Input.val() !== null) { updateValue(tax2Input, tax2); } if (discountInput.val().length) { $this .closest('.repeater-wrapper') .find(discount) .text(discountInput.val() + '%'); } }); } // Repeater init if (sourceItem.length) { sourceItem.on('submit', function (e) { e.preventDefault(); }); sourceItem.repeater({ show: function () { $(this).slideDown(); // Initialize tooltip on load of each item const tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]')); tooltipTriggerList.map(function (tooltipTriggerEl) { return new bootstrap.Tooltip(tooltipTriggerEl); }); }, hide: function (e) { $(this).slideUp(); } }); } // Item details select onchange $(document).on('change', '.item-details', function () { var $this = $(this), value = adminDetails[$this.val()]; if ($this.next('textarea').length) { $this.next('textarea').val(value); } else { $this.after(''); } }); });