File: /var/www/javago-portal-updates/public/assets/js/cafe/addEditStamp.js
$(function () {
function formatState(state) {
if (!state.id) {
return state.text;
}
var $state = $(
'<span><img src="' + $(state.element).attr('data-src') + '" class="img-flag my-auto" /> ' + state.text +
'</span>'
);
return $state;
};
$('#stamp_color').select2({
minimumResultsForSearch: false,
templateResult: formatState,
templateSelection: formatState,
});
$('#stamp_no').select2({
minimumResultsForSearch: Infinity,
});
$('#discount_type').select2({
minimumResultsForSearch: Infinity,
});
$('#exclude_item').select2({
minimumResultsForSearch: false,
placeholder: selectExcludedItem,
});
$("#stamp_applicable_to").select2({
minimumResultsForSearch: false,
placeholder: "select categories stamp applies to",
});
$('.select2').removeClass('mb-4');
$('#cafe_loyalty_stamp_form').validate({
ignore: [],
rules: {
stamp_color: {
required: true,
},
stamp_no: {
required: true,
},
discount_type: {
required: true,
},
discount: {
required: true,
maxlength: 6,
},
min_order_value: {
required: true,
maxlength: 6,
},
offer_text: {
required: true,
// minlength: 5,
maxlength: 80,
},
stamp_expires_in: {
required: false,
// minlength: 1,
maxlength: 2,
},
},
messages: {
stamp_color: {
required: validation.stamp_color_required,
},
stamp_no: {
required: validation.stamp_no_required,
},
discount_type: {
required: validation.discount_type_required,
},
discount: {
required: validation.discount_required,
maxlength: validation.discount_maxlength,
},
min_order_value: {
required: validation.min_order_value_required,
maxlength: validation.min_order_value_maxlength,
},
offer_text: {
required: validation.offer_text_required,
minlength: validation.offer_text_minlength,
maxlength: validation.offer_text_maxlength,
},
stamp_expires_in: {
required: validation.stamp_expires_in_required,
minlength: validation.stamp_expires_in_minlength,
maxlength: validation.stamp_expires_in_maxlength,
},
},
errorElement: 'span',
errorPlacement: function (error, element) {
error.addClass('invalid-feedback');
if (element.attr("name") == "profile_picture") {
error.appendTo("#profile_picture_error")
} else {
element.closest('.form-group').append(error);
}
},
highlight: function (element, errorClass, validClass) {
$(element).addClass('is-invalid');
},
unhighlight: function (element, errorClass, validClass) {
$(element).removeClass('is-invalid');
}
});
$('#discount_type').change(function(){
$('#discount_type').valid();
});
$('#stamp_no').change(function(){
$('#stamp_no').valid();
});
});