724 lines
26 KiB
JavaScript
Vendored
724 lines
26 KiB
JavaScript
Vendored
//This file contains all functions used products tab
|
|
|
|
$(document).ready(function() {
|
|
$(document).on('ifChecked', 'input#enable_stock', function() {
|
|
$('div#alert_quantity_div').show();
|
|
$('div#quick_product_opening_stock_div').show();
|
|
|
|
//Enable expiry selection
|
|
if ($('#expiry_period_type').length) {
|
|
$('#expiry_period_type').removeAttr('disabled');
|
|
}
|
|
|
|
if ($('#opening_stock_button').length) {
|
|
$('#opening_stock_button').removeAttr('disabled');
|
|
}
|
|
});
|
|
$(document).on('ifUnchecked', 'input#enable_stock', function() {
|
|
$('div#alert_quantity_div').hide();
|
|
$('div#quick_product_opening_stock_div').hide();
|
|
$('input#alert_quantity').val(0);
|
|
|
|
//Disable expiry selection
|
|
if ($('#expiry_period_type').length) {
|
|
$('#expiry_period_type')
|
|
.val('')
|
|
.change();
|
|
$('#expiry_period_type').attr('disabled', true);
|
|
}
|
|
if ($('#opening_stock_button').length) {
|
|
$('#opening_stock_button').attr('disabled', true);
|
|
}
|
|
});
|
|
|
|
//Start For product type single
|
|
|
|
//If purchase price exc tax is changed
|
|
$(document).on('change', 'input#single_dpp', function(e) {
|
|
var purchase_exc_tax = __read_number($('input#single_dpp'));
|
|
purchase_exc_tax = purchase_exc_tax == undefined ? 0 : purchase_exc_tax;
|
|
|
|
var tax_rate = $('select#tax')
|
|
.find(':selected')
|
|
.data('rate');
|
|
tax_rate = tax_rate == undefined ? 0 : tax_rate;
|
|
|
|
var purchase_inc_tax = __add_percent(purchase_exc_tax, tax_rate);
|
|
__write_number($('input#single_dpp_inc_tax'), purchase_inc_tax);
|
|
|
|
var profit_percent = __read_number($('#profit_percent'));
|
|
var selling_price = __add_percent(purchase_exc_tax, profit_percent);
|
|
__write_number($('input#single_dsp'), selling_price);
|
|
|
|
var selling_price_inc_tax = __add_percent(selling_price, tax_rate);
|
|
__write_number($('input#single_dsp_inc_tax'), selling_price_inc_tax);
|
|
});
|
|
|
|
//If tax rate is changed
|
|
$(document).on('change', 'select#tax', function() {
|
|
if ($('select#type').val() == 'single') {
|
|
var purchase_exc_tax = __read_number($('input#single_dpp'));
|
|
purchase_exc_tax = purchase_exc_tax == undefined ? 0 : purchase_exc_tax;
|
|
|
|
var tax_rate = $('select#tax')
|
|
.find(':selected')
|
|
.data('rate');
|
|
tax_rate = tax_rate == undefined ? 0 : tax_rate;
|
|
|
|
var purchase_inc_tax = __add_percent(purchase_exc_tax, tax_rate);
|
|
__write_number($('input#single_dpp_inc_tax'), purchase_inc_tax);
|
|
|
|
var selling_price = __read_number($('input#single_dsp'));
|
|
var selling_price_inc_tax = __add_percent(selling_price, tax_rate);
|
|
__write_number($('input#single_dsp_inc_tax'), selling_price_inc_tax);
|
|
}
|
|
});
|
|
|
|
//If purchase price inc tax is changed
|
|
$(document).on('change', 'input#single_dpp_inc_tax', function(e) {
|
|
var purchase_inc_tax = __read_number($('input#single_dpp_inc_tax'));
|
|
purchase_inc_tax = purchase_inc_tax == undefined ? 0 : purchase_inc_tax;
|
|
|
|
var tax_rate = $('select#tax')
|
|
.find(':selected')
|
|
.data('rate');
|
|
tax_rate = tax_rate == undefined ? 0 : tax_rate;
|
|
|
|
var purchase_exc_tax = __get_principle(purchase_inc_tax, tax_rate);
|
|
__write_number($('input#single_dpp'), purchase_exc_tax);
|
|
$('input#single_dpp').change();
|
|
|
|
var profit_percent = __read_number($('#profit_percent'));
|
|
profit_percent = profit_percent == undefined ? 0 : profit_percent;
|
|
var selling_price = __add_percent(purchase_exc_tax, profit_percent);
|
|
__write_number($('input#single_dsp'), selling_price);
|
|
|
|
var selling_price_inc_tax = __add_percent(selling_price, tax_rate);
|
|
__write_number($('input#single_dsp_inc_tax'), selling_price_inc_tax);
|
|
});
|
|
|
|
$(document).on('change', 'input#profit_percent', function(e) {
|
|
var tax_rate = $('select#tax')
|
|
.find(':selected')
|
|
.data('rate');
|
|
tax_rate = tax_rate == undefined ? 0 : tax_rate;
|
|
|
|
var purchase_inc_tax = __read_number($('input#single_dpp_inc_tax'));
|
|
purchase_inc_tax = purchase_inc_tax == undefined ? 0 : purchase_inc_tax;
|
|
|
|
var purchase_exc_tax = __read_number($('input#single_dpp'));
|
|
purchase_exc_tax = purchase_exc_tax == undefined ? 0 : purchase_exc_tax;
|
|
|
|
var profit_percent = __read_number($('input#profit_percent'));
|
|
var selling_price = __add_percent(purchase_exc_tax, profit_percent);
|
|
__write_number($('input#single_dsp'), selling_price);
|
|
|
|
var selling_price_inc_tax = __add_percent(selling_price, tax_rate);
|
|
__write_number($('input#single_dsp_inc_tax'), selling_price_inc_tax);
|
|
});
|
|
|
|
$(document).on('change', 'input#single_dsp', function(e) {
|
|
var tax_rate = $('select#tax')
|
|
.find(':selected')
|
|
.data('rate');
|
|
tax_rate = tax_rate == undefined ? 0 : tax_rate;
|
|
|
|
var selling_price = __read_number($('input#single_dsp'));
|
|
var purchase_exc_tax = __read_number($('input#single_dpp'));
|
|
var profit_percent = __read_number($('input#profit_percent'));
|
|
|
|
//if purchase price not set
|
|
if (purchase_exc_tax == 0) {
|
|
profit_percent = 0;
|
|
} else {
|
|
profit_percent = __get_rate(purchase_exc_tax, selling_price);
|
|
}
|
|
|
|
__write_number($('input#profit_percent'), profit_percent);
|
|
|
|
var selling_price_inc_tax = __add_percent(selling_price, tax_rate);
|
|
__write_number($('input#single_dsp_inc_tax'), selling_price_inc_tax);
|
|
});
|
|
|
|
$(document).on('change', 'input#single_dsp_inc_tax', function(e) {
|
|
var tax_rate = $('select#tax')
|
|
.find(':selected')
|
|
.data('rate');
|
|
tax_rate = tax_rate == undefined ? 0 : tax_rate;
|
|
var selling_price_inc_tax = __read_number($('input#single_dsp_inc_tax'));
|
|
|
|
var selling_price = __get_principle(selling_price_inc_tax, tax_rate);
|
|
__write_number($('input#single_dsp'), selling_price);
|
|
var purchase_exc_tax = __read_number($('input#single_dpp'));
|
|
var profit_percent = __read_number($('input#profit_percent'));
|
|
|
|
//if purchase price not set
|
|
if (purchase_exc_tax == 0) {
|
|
profit_percent = 0;
|
|
} else {
|
|
profit_percent = __get_rate(purchase_exc_tax, selling_price);
|
|
}
|
|
|
|
__write_number($('input#profit_percent'), profit_percent);
|
|
});
|
|
|
|
if ($('#product_add_form').length) {
|
|
$('form#product_add_form').validate({
|
|
rules: {
|
|
sku: {
|
|
remote: {
|
|
url: '/products/check_product_sku',
|
|
type: 'post',
|
|
data: {
|
|
sku: function() {
|
|
return $('#sku').val();
|
|
},
|
|
product_id: function() {
|
|
if ($('#product_id').length > 0) {
|
|
return $('#product_id').val();
|
|
} else {
|
|
return '';
|
|
}
|
|
},
|
|
},
|
|
},
|
|
},
|
|
name: {
|
|
remote: {
|
|
url: '/products/check_product_name',
|
|
type: 'post',
|
|
data: {
|
|
name: function() {
|
|
return $('#name').val();
|
|
},
|
|
product_id: function() {
|
|
if ($('#product_id').length > 0) {
|
|
return $('#product_id').val();
|
|
} else {
|
|
return '';
|
|
}
|
|
},
|
|
},
|
|
},
|
|
},
|
|
expiry_period: {
|
|
required: {
|
|
depends: function(element) {
|
|
return (
|
|
$('#expiry_period_type')
|
|
.val()
|
|
.trim() != ''
|
|
);
|
|
},
|
|
},
|
|
},
|
|
},
|
|
messages: {
|
|
sku: {
|
|
remote: LANG.sku_already_exists,
|
|
},
|
|
name: {
|
|
remote: LANG.name_already_exists,
|
|
},
|
|
},
|
|
});
|
|
}
|
|
|
|
$(document).on('click', '.submit_product_form', function(e) {
|
|
e.preventDefault();
|
|
|
|
var is_valid_product_form = true;
|
|
|
|
var variation_skus = [];
|
|
|
|
var submit_type = $(this).attr('value');
|
|
|
|
$('#product_form_part').find('.input_sub_sku').each( function(){
|
|
var element = $(this);
|
|
var row_variation_id = '';
|
|
if ($(this).closest('tr').find('.row_variation_id')) {
|
|
row_variation_id = $(this).closest('tr').find('.row_variation_id').val();
|
|
}
|
|
|
|
variation_skus.push({sku: element.val(), variation_id: row_variation_id});
|
|
|
|
});
|
|
|
|
if (variation_skus.length > 0) {
|
|
$.ajax({
|
|
method: 'post',
|
|
url: '/products/validate_variation_skus',
|
|
data: { skus: variation_skus},
|
|
success: function(result) {
|
|
if (result.success == true) {
|
|
$('#submit_type').val(submit_type);
|
|
if ($('form#product_add_form').valid()) {
|
|
$('form#product_add_form').submit();
|
|
}
|
|
} else {
|
|
toastr.error(__translate('skus_already_exists', {sku: result.sku}));
|
|
return false;
|
|
}
|
|
},
|
|
});
|
|
} else {
|
|
$('#submit_type').val(submit_type);
|
|
if ($('form#product_add_form').valid()) {
|
|
$('form#product_add_form').submit();
|
|
}
|
|
}
|
|
|
|
});
|
|
//End for product type single
|
|
|
|
//Start for product type Variable
|
|
//If purchase price exc tax is changed
|
|
$(document).on('change', 'input.variable_dpp', function(e) {
|
|
var tr_obj = $(this).closest('tr');
|
|
|
|
var purchase_exc_tax = __read_number($(this));
|
|
purchase_exc_tax = purchase_exc_tax == undefined ? 0 : purchase_exc_tax;
|
|
|
|
var tax_rate = $('select#tax')
|
|
.find(':selected')
|
|
.data('rate');
|
|
tax_rate = tax_rate == undefined ? 0 : tax_rate;
|
|
|
|
var purchase_inc_tax = __add_percent(purchase_exc_tax, tax_rate);
|
|
__write_number(tr_obj.find('input.variable_dpp_inc_tax'), purchase_inc_tax);
|
|
|
|
var profit_percent = __read_number(tr_obj.find('input.variable_profit_percent'));
|
|
var selling_price = __add_percent(purchase_exc_tax, profit_percent);
|
|
__write_number(tr_obj.find('input.variable_dsp'), selling_price);
|
|
|
|
var selling_price_inc_tax = __add_percent(selling_price, tax_rate);
|
|
__write_number(tr_obj.find('input.variable_dsp_inc_tax'), selling_price_inc_tax);
|
|
});
|
|
|
|
//If purchase price inc tax is changed
|
|
$(document).on('change', 'input.variable_dpp_inc_tax', function(e) {
|
|
var tr_obj = $(this).closest('tr');
|
|
|
|
var purchase_inc_tax = __read_number($(this));
|
|
purchase_inc_tax = purchase_inc_tax == undefined ? 0 : purchase_inc_tax;
|
|
|
|
var tax_rate = $('select#tax')
|
|
.find(':selected')
|
|
.data('rate');
|
|
tax_rate = tax_rate == undefined ? 0 : tax_rate;
|
|
|
|
var purchase_exc_tax = __get_principle(purchase_inc_tax, tax_rate);
|
|
__write_number(tr_obj.find('input.variable_dpp'), purchase_exc_tax);
|
|
|
|
var profit_percent = __read_number(tr_obj.find('input.variable_profit_percent'));
|
|
var selling_price = __add_percent(purchase_exc_tax, profit_percent);
|
|
__write_number(tr_obj.find('input.variable_dsp'), selling_price);
|
|
|
|
var selling_price_inc_tax = __add_percent(selling_price, tax_rate);
|
|
__write_number(tr_obj.find('input.variable_dsp_inc_tax'), selling_price_inc_tax);
|
|
});
|
|
|
|
$(document).on('change', 'input.variable_profit_percent', function(e) {
|
|
var tax_rate = $('select#tax')
|
|
.find(':selected')
|
|
.data('rate');
|
|
tax_rate = tax_rate == undefined ? 0 : tax_rate;
|
|
|
|
var tr_obj = $(this).closest('tr');
|
|
var profit_percent = __read_number($(this));
|
|
|
|
var purchase_exc_tax = __read_number(tr_obj.find('input.variable_dpp'));
|
|
purchase_exc_tax = purchase_exc_tax == undefined ? 0 : purchase_exc_tax;
|
|
|
|
var selling_price = __add_percent(purchase_exc_tax, profit_percent);
|
|
__write_number(tr_obj.find('input.variable_dsp'), selling_price);
|
|
|
|
var selling_price_inc_tax = __add_percent(selling_price, tax_rate);
|
|
__write_number(tr_obj.find('input.variable_dsp_inc_tax'), selling_price_inc_tax);
|
|
});
|
|
|
|
$(document).on('change', 'input.variable_dsp', function(e) {
|
|
var tax_rate = $('select#tax')
|
|
.find(':selected')
|
|
.data('rate');
|
|
tax_rate = tax_rate == undefined ? 0 : tax_rate;
|
|
|
|
var tr_obj = $(this).closest('tr');
|
|
var selling_price = __read_number($(this));
|
|
var purchase_exc_tax = __read_number(tr_obj.find('input.variable_dpp'));
|
|
|
|
var profit_percent = __read_number(tr_obj.find('input.variable_profit_percent'));
|
|
|
|
//if purchase price not set
|
|
if (purchase_exc_tax == 0) {
|
|
profit_percent = 0;
|
|
} else {
|
|
profit_percent = __get_rate(purchase_exc_tax, selling_price);
|
|
}
|
|
|
|
__write_number(tr_obj.find('input.variable_profit_percent'), profit_percent);
|
|
|
|
var selling_price_inc_tax = __add_percent(selling_price, tax_rate);
|
|
__write_number(tr_obj.find('input.variable_dsp_inc_tax'), selling_price_inc_tax);
|
|
});
|
|
$(document).on('change', 'input.variable_dsp_inc_tax', function(e) {
|
|
var tr_obj = $(this).closest('tr');
|
|
var selling_price_inc_tax = __read_number($(this));
|
|
|
|
var tax_rate = $('select#tax')
|
|
.find(':selected')
|
|
.data('rate');
|
|
tax_rate = tax_rate == undefined ? 0 : tax_rate;
|
|
|
|
var selling_price = __get_principle(selling_price_inc_tax, tax_rate);
|
|
__write_number(tr_obj.find('input.variable_dsp'), selling_price);
|
|
|
|
var purchase_exc_tax = __read_number(tr_obj.find('input.variable_dpp'));
|
|
var profit_percent = __read_number(tr_obj.find('input.variable_profit_percent'));
|
|
//if purchase price not set
|
|
if (purchase_exc_tax == 0) {
|
|
profit_percent = 0;
|
|
} else {
|
|
profit_percent = __get_rate(purchase_exc_tax, selling_price);
|
|
}
|
|
|
|
__write_number(tr_obj.find('input.variable_profit_percent'), profit_percent);
|
|
});
|
|
|
|
$(document).on('click', '.add_variation_value_row', function() {
|
|
var variation_row_index = $(this)
|
|
.closest('.variation_row')
|
|
.find('.row_index')
|
|
.val();
|
|
var variation_value_row_index = $(this)
|
|
.closest('table')
|
|
.find('tr:last .variation_row_index')
|
|
.val();
|
|
|
|
if (
|
|
$(this)
|
|
.closest('.variation_row')
|
|
.find('.row_edit').length >= 1
|
|
) {
|
|
var row_type = 'edit';
|
|
} else {
|
|
var row_type = 'add';
|
|
}
|
|
|
|
var table = $(this).closest('table');
|
|
|
|
$.ajax({
|
|
method: 'GET',
|
|
url: '/products/get_variation_value_row',
|
|
data: {
|
|
variation_row_index: variation_row_index,
|
|
value_index: variation_value_row_index,
|
|
row_type: row_type,
|
|
},
|
|
dataType: 'html',
|
|
success: function(result) {
|
|
if (result) {
|
|
table.append(result);
|
|
toggle_dsp_input();
|
|
}
|
|
},
|
|
});
|
|
});
|
|
$(document).on('change', '.variation_template_values', function() {
|
|
var tr_obj = $(this).closest('tr');
|
|
var val = $(this).val();
|
|
tr_obj.find('.variation_value_row').each(function(){
|
|
if(val.includes($(this).attr('data-variation_value_id'))) {
|
|
$(this).removeClass('hide');
|
|
$(this).find('.is_variation_value_hidden').val(0);
|
|
} else {
|
|
$(this).addClass('hide');
|
|
$(this).find('.is_variation_value_hidden').val(1);
|
|
}
|
|
})
|
|
});
|
|
$(document).on('change', '.variation_template', function() {
|
|
tr_obj = $(this).closest('tr');
|
|
|
|
if ($(this).val() !== '') {
|
|
tr_obj.find('input.variation_name').val(
|
|
$(this)
|
|
.find('option:selected')
|
|
.text()
|
|
);
|
|
|
|
var template_id = $(this).val();
|
|
var row_index = $(this)
|
|
.closest('tr')
|
|
.find('.row_index')
|
|
.val();
|
|
$.ajax({
|
|
method: 'POST',
|
|
url: '/products/get_variation_template',
|
|
dataType: 'json',
|
|
data: { template_id: template_id, row_index: row_index },
|
|
success: function(result) {
|
|
if (result) {
|
|
if(result.values.length > 0) {
|
|
tr_obj.find('.variation_template_values').select2();
|
|
tr_obj.find('.variation_template_values').empty();
|
|
tr_obj.find('.variation_template_values').select2({data: result.values, closeOnSelect: false});
|
|
tr_obj.find('.variation_template_values_div').removeClass('hide');
|
|
tr_obj.find('.variation_template_values').select2('open');
|
|
} else {
|
|
tr_obj.find('.variation_template_values_div').addClass('hide');
|
|
}
|
|
tr_obj
|
|
.find('table.variation_value_table')
|
|
.find('tbody')
|
|
.html(result.html);
|
|
|
|
toggle_dsp_input();
|
|
}
|
|
},
|
|
});
|
|
}
|
|
});
|
|
|
|
$(document).on('click','.delete_complete_row', function(){
|
|
swal({
|
|
title: LANG.sure,
|
|
icon: 'warning',
|
|
buttons: true,
|
|
dangerMode: true,
|
|
}).then(willDelete => {
|
|
if (willDelete) {
|
|
$(this)
|
|
.closest('.variation_row')
|
|
.remove();
|
|
}
|
|
});
|
|
});
|
|
|
|
$(document).on('click', '.remove_variation_value_row', function() {
|
|
swal({
|
|
title: LANG.sure,
|
|
icon: 'warning',
|
|
buttons: true,
|
|
dangerMode: true,
|
|
}).then(willDelete => {
|
|
if (willDelete) {
|
|
var count = $(this)
|
|
.closest('table')
|
|
.find('.remove_variation_value_row').length;
|
|
if (count === 1) {
|
|
$(this)
|
|
.closest('.variation_row')
|
|
.remove();
|
|
} else {
|
|
$(this)
|
|
.closest('tr')
|
|
.remove();
|
|
}
|
|
}
|
|
});
|
|
});
|
|
|
|
//If tax rate is changed
|
|
$(document).on('change', 'select#tax', function() {
|
|
if ($('select#type').val() == 'variable') {
|
|
var tax_rate = $('select#tax')
|
|
.find(':selected')
|
|
.data('rate');
|
|
tax_rate = tax_rate == undefined ? 0 : tax_rate;
|
|
|
|
$('table.variation_value_table > tbody').each(function() {
|
|
$(this)
|
|
.find('tr')
|
|
.each(function() {
|
|
var purchase_exc_tax = __read_number($(this).find('input.variable_dpp'));
|
|
purchase_exc_tax = purchase_exc_tax == undefined ? 0 : purchase_exc_tax;
|
|
|
|
var purchase_inc_tax = __add_percent(purchase_exc_tax, tax_rate);
|
|
__write_number(
|
|
$(this).find('input.variable_dpp_inc_tax'),
|
|
purchase_inc_tax
|
|
);
|
|
|
|
var selling_price = __read_number($(this).find('input.variable_dsp'));
|
|
var selling_price_inc_tax = __add_percent(selling_price, tax_rate);
|
|
__write_number(
|
|
$(this).find('input.variable_dsp_inc_tax'),
|
|
selling_price_inc_tax
|
|
);
|
|
});
|
|
});
|
|
}
|
|
});
|
|
//End for product type Variable
|
|
$(document).on('change', '#tax_type', function(e) {
|
|
toggle_dsp_input();
|
|
});
|
|
toggle_dsp_input();
|
|
|
|
$(document).on('change', '#expiry_period_type', function(e) {
|
|
if ($(this).val()) {
|
|
$('input#expiry_period').prop('disabled', false);
|
|
} else {
|
|
$('input#expiry_period').val('');
|
|
$('input#expiry_period').prop('disabled', true);
|
|
}
|
|
});
|
|
|
|
$(document).on('click', 'a.view-product', function(e) {
|
|
e.preventDefault();
|
|
$.ajax({
|
|
url: $(this).attr('href'),
|
|
dataType: 'html',
|
|
success: function(result) {
|
|
$('#view_product_modal')
|
|
.html(result)
|
|
.modal('show');
|
|
__currency_convert_recursively($('#view_product_modal'));
|
|
},
|
|
});
|
|
});
|
|
var img_fileinput_setting = {
|
|
showUpload: false,
|
|
showPreview: true,
|
|
browseLabel: LANG.file_browse_label,
|
|
removeLabel: LANG.remove,
|
|
previewSettings: {
|
|
image: { width: 'auto', height: 'auto', 'max-width': '100%', 'max-height': '100%' },
|
|
},
|
|
};
|
|
$('#upload_image').fileinput(img_fileinput_setting);
|
|
|
|
if ($('textarea#product_description').length > 0) {
|
|
tinymce.init({
|
|
selector: 'textarea#product_description',
|
|
height:250
|
|
});
|
|
}
|
|
});
|
|
|
|
function toggle_dsp_input() {
|
|
var tax_type = $('#tax_type').val();
|
|
if (tax_type == 'inclusive') {
|
|
$('.dsp_label').each(function() {
|
|
$(this).text(LANG.inc_tax);
|
|
});
|
|
$('#single_dsp').addClass('hide');
|
|
$('#single_dsp_inc_tax').removeClass('hide');
|
|
|
|
$('.add-product-price-table')
|
|
.find('.variable_dsp_inc_tax')
|
|
.each(function() {
|
|
$(this).removeClass('hide');
|
|
});
|
|
$('.add-product-price-table')
|
|
.find('.variable_dsp')
|
|
.each(function() {
|
|
$(this).addClass('hide');
|
|
});
|
|
} else if (tax_type == 'exclusive') {
|
|
$('.dsp_label').each(function() {
|
|
$(this).text(LANG.exc_tax);
|
|
});
|
|
$('#single_dsp').removeClass('hide');
|
|
$('#single_dsp_inc_tax').addClass('hide');
|
|
|
|
$('.add-product-price-table')
|
|
.find('.variable_dsp_inc_tax')
|
|
.each(function() {
|
|
$(this).addClass('hide');
|
|
});
|
|
$('.add-product-price-table')
|
|
.find('.variable_dsp')
|
|
.each(function() {
|
|
$(this).removeClass('hide');
|
|
});
|
|
}
|
|
}
|
|
|
|
function get_product_details(rowData) {
|
|
var div = $('<div/>')
|
|
.addClass('loading')
|
|
.text('Loading...');
|
|
|
|
$.ajax({
|
|
url: '/products/' + rowData.id,
|
|
dataType: 'html',
|
|
success: function(data) {
|
|
div.html(data).removeClass('loading');
|
|
},
|
|
});
|
|
|
|
return div;
|
|
}
|
|
|
|
//Quick add unit
|
|
$(document).on('submit', 'form#quick_add_unit_form', function(e) {
|
|
e.preventDefault();
|
|
var form = $(this);
|
|
var data = form.serialize();
|
|
|
|
$.ajax({
|
|
method: 'POST',
|
|
url: $(this).attr('action'),
|
|
dataType: 'json',
|
|
data: data,
|
|
beforeSend: function(xhr) {
|
|
__disable_submit_button(form.find('button[type="submit"]'));
|
|
},
|
|
success: function(result) {
|
|
if (result.success == true) {
|
|
var newOption = new Option(result.data.short_name, result.data.id, true, true);
|
|
// Append it to the select
|
|
$('#unit_id')
|
|
.append(newOption)
|
|
.trigger('change');
|
|
$('div.view_modal').modal('hide');
|
|
toastr.success(result.msg);
|
|
} else {
|
|
toastr.error(result.msg);
|
|
}
|
|
},
|
|
});
|
|
});
|
|
|
|
//Quick add brand
|
|
$(document).on('submit', 'form#quick_add_brand_form', function(e) {
|
|
e.preventDefault();
|
|
var form = $(this);
|
|
var data = form.serialize();
|
|
|
|
$.ajax({
|
|
method: 'POST',
|
|
url: $(this).attr('action'),
|
|
dataType: 'json',
|
|
data: data,
|
|
beforeSend: function(xhr) {
|
|
__disable_submit_button(form.find('button[type="submit"]'));
|
|
},
|
|
success: function(result) {
|
|
if (result.success == true) {
|
|
var newOption = new Option(result.data.name, result.data.id, true, true);
|
|
// Append it to the select
|
|
$('#brand_id')
|
|
.append(newOption)
|
|
.trigger('change');
|
|
$('div.view_modal').modal('hide');
|
|
toastr.success(result.msg);
|
|
} else {
|
|
toastr.error(result.msg);
|
|
}
|
|
},
|
|
});
|
|
});
|
|
|
|
$(document).on('click', 'button.apply-all', function(){
|
|
var val = $(this).closest('.input-group').find('input').val();
|
|
var target_class = $(this).data('target-class');
|
|
$(this).closest('tbody').find('tr').each( function(){
|
|
element = $(this).find(target_class);
|
|
element.val(val);
|
|
element.change();
|
|
});
|
|
});
|