first commit
This commit is contained in:
232
modules/x13import/views/js/x13import.js
Normal file
232
modules/x13import/views/js/x13import.js
Normal file
@@ -0,0 +1,232 @@
|
||||
var x13Import = (function ($, module) {
|
||||
|
||||
$(function() {
|
||||
$(document).on('keyup x-cast', '.x-cast', function() {
|
||||
$(this).val(module.castNumber($(this).val()));
|
||||
});
|
||||
|
||||
$(document).on('focusout x-cast', '.x-cast', function() {
|
||||
var value = $(this).val();
|
||||
|
||||
if (!value.length) {
|
||||
value = 0;
|
||||
}
|
||||
|
||||
if ($(this).hasClass('x-cast-float')) {
|
||||
value = module.castFloat(value);
|
||||
} else {
|
||||
value = module.castInt(value);
|
||||
}
|
||||
|
||||
if ($(this).hasClass('x-cast-blank') && (value === 0 || value === '0.00')) {
|
||||
value = '';
|
||||
}
|
||||
|
||||
$(this).val(value);
|
||||
});
|
||||
|
||||
$('.x-cast').trigger('x-cast');
|
||||
});
|
||||
|
||||
module.getWholesalers = function (callback) {
|
||||
var ajaxData = {
|
||||
action: 'getWholesalers'
|
||||
};
|
||||
|
||||
x13Import.ajax(
|
||||
ajaxData,
|
||||
null,
|
||||
function(json) {
|
||||
json.wholesalers.forEach(function(value) {
|
||||
x13Import.progressBlock.wholesaler(value);
|
||||
});
|
||||
|
||||
callback(json.wholesalers);
|
||||
},
|
||||
function() {
|
||||
callback([]);
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
module.disableButton = function(button) {
|
||||
button.addClass('disabled').attr('disabled', 'disabled');
|
||||
button.find('i').attr('data-class', button.find('i').attr('class')).attr('class', 'process-icon-loading');
|
||||
}
|
||||
|
||||
module.enableButton = function(button) {
|
||||
button.removeClass('disabled').removeAttr('disabled');
|
||||
button.find('i').attr('class', button.find('i').attr('data-class')).removeAttr('data-class');
|
||||
}
|
||||
|
||||
module.castNumber = function(value) {
|
||||
return value.replace(/[^0-9,.\-]/g, '').replace(',', '.');
|
||||
}
|
||||
|
||||
module.castInt = function(value) {
|
||||
return parseInt(value);
|
||||
}
|
||||
|
||||
module.castFloat = function(value) {
|
||||
value = parseFloat(value).toFixed(10);
|
||||
|
||||
var pow = Math.pow(10, 2);
|
||||
value *= pow;
|
||||
|
||||
var nextDigit = Math.floor(value * 10) - 10 * Math.floor(value);
|
||||
value = (nextDigit >= 5 ? Math.ceil(value) : Math.floor(value));
|
||||
|
||||
return (value / pow).toFixed(2);
|
||||
}
|
||||
|
||||
module.redirect = function(controller, params) {
|
||||
var ajaxData = {
|
||||
action: 'getRedirectLink',
|
||||
linkController: controller,
|
||||
linkParams: params
|
||||
};
|
||||
|
||||
this.ajax(
|
||||
ajaxData,
|
||||
null,
|
||||
function(json) {
|
||||
if (json.redirectLink) {
|
||||
setTimeout(function() {
|
||||
location.replace(json.redirectLink);
|
||||
}, 1000);
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
module.ajax = function(data, beforeSend, success, error) {
|
||||
var defaultData = {
|
||||
token: x13importToken,
|
||||
ajax: true
|
||||
};
|
||||
|
||||
$.ajax({
|
||||
url: currentIndex,
|
||||
method: 'POST',
|
||||
async: true,
|
||||
dataType: 'json',
|
||||
data: $.extend(defaultData, data),
|
||||
beforeSend: beforeSend,
|
||||
success: function(json) {
|
||||
if (success) {
|
||||
success(json);
|
||||
}
|
||||
},
|
||||
error: error
|
||||
});
|
||||
}
|
||||
|
||||
return module;
|
||||
|
||||
}(jQuery, x13Import || {}));
|
||||
|
||||
x13Import.progressBlock = (function ($) {
|
||||
|
||||
var progressBlockElement,
|
||||
progressBlockPattern;
|
||||
|
||||
$(function() {
|
||||
progressBlockElement = $('#ximport_progress_block');
|
||||
progressBlockPattern = $('#_pattern_ximport_progress_block');
|
||||
|
||||
progressBlockElement.find('.x-close a').on('click', function (e) {
|
||||
e.preventDefault();
|
||||
progressBlockElement.slideUp('slow');
|
||||
});
|
||||
});
|
||||
|
||||
var progressBlock = {};
|
||||
progressBlock.wholesalerActionProcess = 'badge';
|
||||
progressBlock.wholesalerActionSuccess = 'badge badge-success';
|
||||
progressBlock.wholesalerActionError = 'badge badge-danger';
|
||||
|
||||
progressBlock.init = function (header, description)
|
||||
{
|
||||
progressBlockElement.find('.x-header').text(header);
|
||||
progressBlockElement.find('.x-description').text((description ? description : ''));
|
||||
progressBlockElement.find('.x-bar').hide();
|
||||
progressBlockElement.find('.x-bar-visual > div').css('width', 0);
|
||||
progressBlockElement.find('.x-form').empty();
|
||||
progressBlockElement.find('.x-content').html(progressBlockPattern.find('#_pattern_content').html());
|
||||
progressBlockElement.find('.x-close').hide();
|
||||
progressBlockElement.slideDown('slow');
|
||||
}
|
||||
|
||||
progressBlock.description = function (description) {
|
||||
if (description === undefined) {
|
||||
progressBlockElement.find('.x-description').hide();
|
||||
} else {
|
||||
progressBlockElement.find('.x-description').text(description).show();
|
||||
}
|
||||
}
|
||||
|
||||
progressBlock.bar = function (value) {
|
||||
if (value === undefined) {
|
||||
progressBlockElement.find('.x-bar').hide();
|
||||
} else {
|
||||
progressBlockElement.find('.x-bar').show();
|
||||
progressBlockElement.find('.x-bar-visual > div').css('width', value + '%');
|
||||
}
|
||||
}
|
||||
|
||||
progressBlock.messageBefore = function (message) {
|
||||
if (message === undefined) {
|
||||
progressBlockElement.find('.x-message-before').hide();
|
||||
} else {
|
||||
progressBlockElement.find('.x-message-before').text(message).show();
|
||||
}
|
||||
}
|
||||
|
||||
progressBlock.messageAfter = function (message) {
|
||||
if (message === undefined) {
|
||||
progressBlockElement.find('.x-message-after').hide();
|
||||
} else {
|
||||
progressBlockElement.find('.x-message-after').text(message).show();
|
||||
}
|
||||
}
|
||||
|
||||
progressBlock.form = function (html) {
|
||||
if (html === undefined) {
|
||||
progressBlockElement.find('.x-form').hide();
|
||||
} else {
|
||||
progressBlockElement.find('.x-form').html(html).show();
|
||||
}
|
||||
}
|
||||
|
||||
progressBlock.refreshButton = function (message) {
|
||||
if (message === undefined) {
|
||||
progressBlockElement.find('.x-refresh-button').hide();
|
||||
} else {
|
||||
progressBlockElement.find('.x-refresh-button').show().find('a').append(' ' + message);
|
||||
}
|
||||
}
|
||||
|
||||
progressBlock.wholesaler = function (wholesalerName) {
|
||||
var block = progressBlockPattern.find('#_pattern_list_wholesalers > li').clone();
|
||||
|
||||
$('.x-list-wholesaler', block).text(wholesalerName);
|
||||
block.attr('id', 'wholesaler' + wholesalerName);
|
||||
block.appendTo(progressBlockElement.find('.x-list'));
|
||||
}
|
||||
|
||||
progressBlock.wholesalerAction = function (wholesalerName, action, message) {
|
||||
var wholesalerElement = progressBlockElement.find('.x-list #wholesaler' + wholesalerName).find('.x-list-wholesaler-action');
|
||||
wholesalerElement.addClass(action);
|
||||
|
||||
if (message !== undefined) {
|
||||
wholesalerElement.text(message);
|
||||
}
|
||||
}
|
||||
|
||||
progressBlock.close = function () {
|
||||
progressBlockElement.find('.x-close').show();
|
||||
}
|
||||
|
||||
return progressBlock;
|
||||
|
||||
}(jQuery));
|
||||
Reference in New Issue
Block a user