Initial commit
This commit is contained in:
117
api-wiaas/client/js/components/utils.service.js
Normal file
117
api-wiaas/client/js/components/utils.service.js
Normal file
@@ -0,0 +1,117 @@
|
||||
(function () {
|
||||
global.dashModule.service('utilsService', ['$translate', '$exceptionHandler', 'Notification', 'ORDER_STATUSES_ICONS', utilsService]);
|
||||
|
||||
function utilsService($translate, $exceptionHandler, Notification, ORDER_STATUSES_ICONS) {
|
||||
let registeredFunction = {};
|
||||
|
||||
return {
|
||||
displayMessage,
|
||||
sortByAttributeName,
|
||||
verifyAmountAdded,
|
||||
sortByAtribute,
|
||||
onHttpError,
|
||||
registerFunction,
|
||||
executeRegisteredFunction,
|
||||
getStatusIcon,
|
||||
getTynimceOptions
|
||||
};
|
||||
|
||||
function displayMessage(status, message) {
|
||||
switch (status) {
|
||||
case 'success':
|
||||
return Notification.success(getMessageDisplayParams(message));
|
||||
case 'error':
|
||||
return Notification.error(getMessageDisplayParams(message));
|
||||
case 'warning':
|
||||
return Notification.warning(getMessageDisplayParams(message));
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function onHttpError(response) {
|
||||
const err = {
|
||||
message: response.data || 'no reponse from server',
|
||||
stack: response.config && response.config.url ? response.config.url : 'no url'
|
||||
};
|
||||
|
||||
$exceptionHandler(err, 'HTTP request failed');
|
||||
}
|
||||
|
||||
function getMessageDisplayParams(message) {
|
||||
return {
|
||||
message: message,
|
||||
delay: 10000,
|
||||
positionY: 'top',
|
||||
positionX: 'right',
|
||||
startTop: 20,
|
||||
startRight: 20
|
||||
};
|
||||
}
|
||||
|
||||
function sortByAttributeName(attribute) {
|
||||
return function (a, b) {
|
||||
const nameA = a[attribute].toLowerCase();
|
||||
const nameB = b[attribute].toLowerCase();
|
||||
|
||||
if (nameA < nameB) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (nameA > nameB) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
};
|
||||
}
|
||||
|
||||
function verifyAmountAdded(productQuantity) {
|
||||
if (productQuantity < 1 || productQuantity > 100 || typeof productQuantity === 'undefined') {
|
||||
const message = $translate.instant('packages.forms.messages.ONLY_NUMBERS');
|
||||
displayMessage('error', message);
|
||||
}
|
||||
}
|
||||
|
||||
function sortByAtribute(a, b, attribute) {
|
||||
if (a[attribute] < b[attribute]) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (a[attribute] > b[attribute]) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
function registerFunction(functionName, calbackFunction) {
|
||||
registeredFunction[functionName] = calbackFunction;
|
||||
}
|
||||
|
||||
function executeRegisteredFunction(functionName, aditionalParam = '') {
|
||||
if (registeredFunction[functionName]) {
|
||||
registeredFunction[functionName](aditionalParam);
|
||||
}
|
||||
}
|
||||
|
||||
function getStatusIcon(status) {
|
||||
return ORDER_STATUSES_ICONS[status];
|
||||
}
|
||||
|
||||
function getTynimceOptions(options) {
|
||||
let tinymceOptions = {
|
||||
height: '250px',
|
||||
plugins: 'link image textcolor lists colorpicker code',
|
||||
toolbar: 'undo redo | styleselect | bold italic underline forecolor fontsizeselect | link | alignleft aligncenter alignright | numlist bullist | outdent indent | code'
|
||||
};
|
||||
|
||||
if (typeof options === 'object') {
|
||||
Object.assign(tinymceOptions, options);
|
||||
}
|
||||
|
||||
return tinymceOptions;
|
||||
}
|
||||
}
|
||||
})();
|
||||
Reference in New Issue
Block a user