Files
2025-11-11 14:55:29 +07:00

105 lines
3.6 KiB
JavaScript

"use strict";
// Class definition
var KTProjectSettings = function () {
// Private functions
var handleForm = function () {
// Init Datepicker --- For more info, please check Flatpickr's official documentation: https://flatpickr.js.org/
$("#kt_datepicker_1").flatpickr();
// Form validation
var validation;
var _form = document.getElementById('kt_project_settings_form');
var submitButton = _form.querySelector('#kt_project_settings_submit');
// Init form validation rules. For more info check the FormValidation plugin's official documentation:https://formvalidation.io/
validation = FormValidation.formValidation(
_form,
{
fields: {
name: {
validators: {
notEmpty: {
message: 'Project name is required'
}
}
},
type: {
validators: {
notEmpty: {
message: 'Project type is required'
}
}
},
description: {
validators: {
notEmpty: {
message: 'Project Description is required'
}
}
},
date: {
validators: {
notEmpty: {
message: 'Due Date is required'
}
}
},
},
plugins: {
trigger: new FormValidation.plugins.Trigger(),
submitButton: new FormValidation.plugins.SubmitButton(),
//defaultSubmit: new FormValidation.plugins.DefaultSubmit(), // Uncomment this line to enable normal button submit after form validation
bootstrap: new FormValidation.plugins.Bootstrap5({
rowSelector: '.fv-row'
})
}
}
);
submitButton.addEventListener('click', function (e) {
e.preventDefault();
validation.validate().then(function (status) {
if (status == 'Valid') {
swal.fire({
text: "Thank you! You've updated your project settings",
icon: "success",
buttonsStyling: false,
confirmButtonText: "Ok, got it!",
customClass: {
confirmButton: "btn fw-bold btn-light-primary"
}
});
} else {
swal.fire({
text: "Sorry, looks like there are some errors detected, please try again.",
icon: "error",
buttonsStyling: false,
confirmButtonText: "Ok, got it!",
customClass: {
confirmButton: "btn fw-bold btn-light-primary"
}
});
}
});
});
}
// Public methods
return {
init: function () {
handleForm();
}
}
}();
// On document ready
KTUtil.onDOMContentLoaded(function() {
KTProjectSettings.init();
});