PATH: /home/hwyuvbry/dear.waroenkhoki123.web.id/staff/assets/js
FILE_BARU
CREATE
FOLDER_BARU
MKDIR
UPLOAD_FILE
GO
[ .. KEMBALI ]
📄 app-access-permission.js
↓
X
📄 app-access-roles.js
↓
X
📄 app-calendar-events.js
↓
X
📄 app-calendar.js
↓
X
📄 app-chat.js
↓
X
📄 app-email.js
↓
X
📄 app-invoice-add.js
↓
X
📄 app-invoice-edit.js
↓
X
📄 app-invoice-list.js
↓
X
📄 app-invoice-print.js
↓
X
📄 app-kanban.js
↓
X
📄 app-user-list.js
↓
X
📄 app-user-view-account.js
↓
X
📄 app-user-view-billing.js
↓
X
📄 app-user-view-security.js
↓
X
📄 app-user-view.js
↓
X
📄 cards-actions.js
↓
X
📄 cards-analytics.js
↓
X
📄 cards-statistics.js
↓
X
📄 charts-apex.js
↓
X
📄 charts-chartjs.js
↓
X
📄 config.js
↓
X
📄 dashboards-analytics.js
↓
X
📄 dashboards-crm.js
↓
X
📄 dashboards-ecommerce.js
↓
X
📄 extended-ui-blockui.js
↓
X
📄 extended-ui-drag-and-drop.js
↓
X
📄 extended-ui-media-player.js
↓
X
📄 extended-ui-misc-clipboardjs.js
↓
X
📄 extended-ui-misc-idle-timer.js
↓
X
📄 extended-ui-misc-numeraljs.js
↓
X
📄 extended-ui-perfect-scrollbar.js
↓
X
📄 extended-ui-star-ratings.js
↓
X
📄 extended-ui-sweetalert2.js
↓
X
📄 extended-ui-timeline.js
↓
X
📄 extended-ui-tour.js
↓
X
📄 extended-ui-treeview.js
↓
X
📄 form-basic-inputs.js
↓
X
📄 form-layouts.js
↓
X
📄 form-validation.js
↓
X
📄 form-wizard-icons.js
↓
X
📄 form-wizard-numbered.js
↓
X
📄 form-wizard-validation.js
↓
X
📄 forms-editors.js
↓
X
📄 forms-extras.js
↓
X
📄 forms-file-upload.js
↓
X
📄 forms-pickers.js
↓
X
📄 forms-selects.js
↓
X
📄 forms-sliders.js
↓
X
📄 forms-tagify.js
↓
X
📄 forms-typeahead.js
↓
X
📄 main.js
↓
X
📄 maps-leaflet.js
↓
X
📄 modal-add-new-address.js
↓
X
📄 modal-add-new-cc.js
↓
X
📄 modal-add-permission.js
↓
X
📄 modal-add-role.js
↓
X
📄 modal-create-app.js
↓
X
📄 modal-edit-cc.js
↓
X
📄 modal-edit-permission.js
↓
X
📄 modal-edit-user.js
↓
X
📄 modal-enable-otp.js
↓
X
📄 modal-share-project.js
↓
X
📄 modal-two-factor-auth.js
↓
X
📄 offcanvas-add-payment.js
↓
X
📄 offcanvas-send-invoice.js
↓
X
📄 pages-account-settings-account.js
↓
X
📄 pages-account-settings-billing.js
↓
X
📄 pages-account-settings-security.js
↓
X
📄 pages-auth-multisteps.js
↓
X
📄 pages-auth-two-steps.js
↓
X
📄 pages-auth.js
↓
X
📄 pages-pricing.js
↓
X
📄 pages-profile.js
↓
X
📄 tables-datatables-advanced.js
↓
X
📄 tables-datatables-basic.js
↓
X
📄 tables-datatables-extensions.js
↓
X
📄 ui-app-brand.js
↓
X
📄 ui-carousel.js
↓
X
📄 ui-menu.js
↓
X
📄 ui-modals.js
↓
X
📄 ui-navbar.js
↓
X
📄 ui-popover.js
↓
X
📄 ui-toasts.js
↓
X
📄 wizard-ex-checkout.js
↓
X
📄 wizard-ex-create-deal.js
↓
X
📄 wizard-ex-property-listing.js
↓
X
SAVING...
BERHASIL DIUBAH!
EDITING: wizard-ex-checkout.js
/** * Form Wizard */ 'use strict'; // rateyo (jquery) $(function () { var readOnlyRating = $('.read-only-ratings'); // Star rating if (readOnlyRating) { readOnlyRating.rateYo({ rtl: isRtl, rating: 4, starWidth: '20px' }); } }); (function () { // Init custom option check window.Helpers.initCustomOptionCheck(); // libs const creditCardMask = document.querySelector('.credit-card-mask'), expiryDateMask = document.querySelector('.expiry-date-mask'), cvvMask = document.querySelector('.cvv-code-mask'); // Credit Card if (creditCardMask) { new Cleave(creditCardMask, { creditCard: true, onCreditCardTypeChanged: function (type) { if (type != '' && type != 'unknown') { document.querySelector('.card-type').innerHTML = '<img src="' + assetsPath + 'img/icons/payments/' + type + '-cc.png" height="28"/>'; } else { document.querySelector('.card-type').innerHTML = ''; } } }); } // Expiry Date Mask if (expiryDateMask) { new Cleave(expiryDateMask, { date: true, delimiter: '/', datePattern: ['m', 'y'] }); } // CVV if (cvvMask) { new Cleave(cvvMask, { numeral: true, numeralPositiveOnly: true }); } // Wizard Checkout // -------------------------------------------------------------------- const wizardCheckout = document.querySelector('#wizard-checkout'); if (typeof wizardCheckout !== undefined && wizardCheckout !== null) { // Wizard form const wizardCheckoutForm = wizardCheckout.querySelector('#wizard-checkout-form'); // Wizard steps const wizardCheckoutFormStep1 = wizardCheckoutForm.querySelector('#checkout-cart'); const wizardCheckoutFormStep2 = wizardCheckoutForm.querySelector('#checkout-address'); const wizardCheckoutFormStep3 = wizardCheckoutForm.querySelector('#checkout-payment'); const wizardCheckoutFormStep4 = wizardCheckoutForm.querySelector('#checkout-confirmation'); // Wizard next prev button const wizardCheckoutNext = [].slice.call(wizardCheckoutForm.querySelectorAll('.btn-next')); const wizardCheckoutPrev = [].slice.call(wizardCheckoutForm.querySelectorAll('.btn-prev')); let validationStepper = new Stepper(wizardCheckout, { linear: false }); // Cart const FormValidation1 = FormValidation.formValidation(wizardCheckoutFormStep1, { fields: { // * Validate the fields here based on your requirements }, plugins: { trigger: new FormValidation.plugins.Trigger(), bootstrap5: new FormValidation.plugins.Bootstrap5({ // Use this for enabling/changing valid/invalid class // eleInvalidClass: '', eleValidClass: '' // rowSelector: '.col-lg-6' }), autoFocus: new FormValidation.plugins.AutoFocus(), submitButton: new FormValidation.plugins.SubmitButton() } }).on('core.form.valid', function () { // Jump to the next step when all fields in the current step are valid validationStepper.next(); }); // Address const FormValidation2 = FormValidation.formValidation(wizardCheckoutFormStep2, { fields: { // * Validate the fields here based on your requirements }, plugins: { trigger: new FormValidation.plugins.Trigger(), bootstrap5: new FormValidation.plugins.Bootstrap5({ // Use this for enabling/changing valid/invalid class // eleInvalidClass: '', eleValidClass: '' // rowSelector: '.col-lg-6' }), autoFocus: new FormValidation.plugins.AutoFocus(), submitButton: new FormValidation.plugins.SubmitButton() } }).on('core.form.valid', function () { // Jump to the next step when all fields in the current step are valid validationStepper.next(); }); // Payment const FormValidation3 = FormValidation.formValidation(wizardCheckoutFormStep3, { fields: { // * Validate the fields here based on your requirements }, plugins: { trigger: new FormValidation.plugins.Trigger(), bootstrap5: new FormValidation.plugins.Bootstrap5({ // Use this for enabling/changing valid/invalid class // eleInvalidClass: '', eleValidClass: '' // rowSelector: '.col-lg-6' }), autoFocus: new FormValidation.plugins.AutoFocus(), submitButton: new FormValidation.plugins.SubmitButton() } }).on('core.form.valid', function () { validationStepper.next(); }); // Confirmation const FormValidation4 = FormValidation.formValidation(wizardCheckoutFormStep4, { fields: { // * Validate the fields here based on your requirements }, plugins: { trigger: new FormValidation.plugins.Trigger(), bootstrap5: new FormValidation.plugins.Bootstrap5({ // Use this for enabling/changing valid/invalid class // eleInvalidClass: '', eleValidClass: '', rowSelector: '.col-md-12' }), autoFocus: new FormValidation.plugins.AutoFocus(), submitButton: new FormValidation.plugins.SubmitButton() } }).on('core.form.valid', function () { // You can submit the form // wizardCheckoutForm.submit() // or send the form data to server via an Ajax request // To make the demo simple, I just placed an alert alert('Submitted..!!'); }); wizardCheckoutNext.forEach(item => { item.addEventListener('click', event => { // When click the Next button, we will validate the current step switch (validationStepper._currentIndex) { case 0: FormValidation1.validate(); break; case 1: FormValidation2.validate(); break; case 2: FormValidation3.validate(); break; case 3: FormValidation4.validate(); break; default: break; } }); }); wizardCheckoutPrev.forEach(item => { item.addEventListener('click', event => { switch (validationStepper._currentIndex) { case 3: validationStepper.previous(); break; case 2: validationStepper.previous(); break; case 1: validationStepper.previous(); break; case 0: default: break; } }); }); } })();
SIMPAN PERUBAHAN